[英]Processing commands with inaccurate natural language strings
我們正在設計一個可以接受這種格式的命令的系統
command context
上下文是從大約200個元組的單詞列表中定義的,例如:
physical therapy
cardiac
physician visit
hospital inpatient
hospital outpatient
etc.
我們希望系統不僅能夠糾正用戶錯誤,例如拼寫錯誤,而且希望了解“物理療法”與“物理療法師”相同,並且還接受同義詞
最后,如果不是完全匹配,則應要求用戶區分最佳匹配
這就是我正在考慮的方式:
這似乎不是一個整潔的解決方案,尤其是步驟3和5。
有什么更好/更容易的方法? 任何使用C#編寫的庫,加分。
Lucene可以這樣做嗎? 任何指導表示贊賞。
謝謝!
對於您的目的來說,它可能太不精確了,但是Soundex是一種常見的算法,用於判斷兩個單詞是否“聽起來相似”。
我認為Lucene最好只在第4步和第5步應用,因為Lucene當前僅支持“全局”意義上的近似匹配(通配符-“?”用於匹配單個字符,“ *”用於匹配多個字符)。
關於近似匹配,有一整套文獻-我將從agrep工作開始,然后從那里開始(但是部分原因是因為我熟悉agrep)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.