我们有一个约15万个单词的列表,当用户输入一个免费的文本时,系统应该提供字典中的单词列表,这些单词与自由文本中的单词非常接近.
例如,用户输入:“我想在沃尔玛购买legoe玩具”.如果字典包含“乐高”,“汽车”和“沃尔玛”,系统应在列表中出现“乐高”和“沃尔玛”. “沃尔玛”是显而易见的,因为它与句子中的单词是一样的,但是“乐高”与“乐高”也是一样的.然而,没有什么是类似于“汽车”,所以这个词没有显示.
显示列表应该是实时的,这意味着当用户输入句子时,单词列表必须存在于屏幕上.有人知道一个很好的算法吗?
字典实际上包含可能包含空格的概念.例如,“乐高太空飞船”.完美的解决方案也能识别这些多字概念.
任何建议是赞赏.
解决方法
看一下
http://norvig.com/spell-correct.html的简单算法.本文使用Python,但最终有其他语言的实现链接.