我想用asp.net/c#实现谷歌“你的意思是”这种功能。 用户输入“Red Sheos”,然后点击搜索, 出场演出,“你的意思是'红鞋'”。
我该怎么做?
答案 0 :(得分:3)
你需要一个拼写检查和字典。我建议你从NHunspell开始。
答案 1 :(得分:3)
My answer here(虽然在一个不同的主题上)应该给你关于非完全匹配的想法。有几个很好的选择来处理单词“声音”的方式。我从Levenshtein开始。
采用不同的方法,SQL Server全文索引还可以使用最少的代码提供非精确匹配。它不一定用于纠正本身,但确定用户的意图并不总是仅仅是语音相似性。
要实现实时性能(例如在键入时搜索),请考虑我描述here(trie或其混合)的数据结构。
答案 2 :(得分:3)
答案 3 :(得分:1)
尝试从自动更正功能中获取灵感。基本上你要做的是在输入的文本上调用自动更正,如果找到“解决方案”,则显示为did you mean
建议。
这些可能会有所帮助: