我们正在设计一个可以接受这种格式命令的系统
command context
上下文是从大约 200 个单词元组的列表中定义的,例如:
physical therapy
cardiac
physician visit
hospital inpatient
hospital outpatient
etc.
我们希望系统能够纠正用户错误,例如拼写错误,同时也能理解“物理治疗”与“物理治疗师”相同,并且接受同义词
最后,如果不是完全匹配,它应该要求用户消除最佳匹配之间的歧义
这就是我的想法:
- 词干上下文词和传入查询
- 从查询中删除/隔离命令字符串
- 检查并更正任何字谜(但是:这仅涵盖一类拼写错误)
- 寻找完全匹配的单词
- 寻找“近距离匹配”
这感觉不是一个巧妙的解决方案,尤其是第 3 步和第 5 步。
有什么更好/更简单的方法来做到这一点?任何在 C# 中执行此操作的库,奖金。
Lucene 可以做到这一点吗?任何指导表示赞赏。
谢谢!