命令我们正在设计一个可以在这个格式处理不准确的自然语言字符串
command context
上下文是从约200元组的话,如列表中定义的接受命令的系统:
physical therapy
cardiac
physician visit
hospital inpatient
hospital outpatient
etc.
我们希望系统能够纠正用户错误,如拼写错误,但也要理解“物理治疗”与“物理治疗师”相同,并且还要接受同义词
最后,如果它不完全匹配,应该要求用户的最佳匹配
这是我在想这样做的之间的歧义:
- 干上下文的单词和传入查询都
- 删除/从查询
- 检查隔离命令串并纠正任何字谜(不过:这只占地面积拼写错误一类)
- 寻找一个确切的词匹配
- 查找
这并不觉得自己是一个巧妙的解决办法“接近的比赛”,特别是步骤3和5
什么是更好/更简单的方法来做到这一点?任何图书馆都可以在C#中做到这一点,奖金。
Lucene可以这样做吗?任何指导赞赏。
谢谢!
是的。 Soundex或Metaphone。 http://en.wikipedia.org/wiki/Metaphone – 2012-04-17 04:38:46