C#搜索“你的意思是”功能

时间:2013-02-28 08:15:54

标签: c# asp.net search

我想用asp.net/c#实现谷歌“你的意思是”这种功能。 用户输入“Red Sheos”,然后点击搜索, 出场演出,“你的意思是'红鞋'”。

我该怎么做?

4 个答案:

答案 0 :(得分:3)

你需要一个拼写检查和字典。我建议你从NHunspell开始。

答案 1 :(得分:3)

My answer here(虽然在一个不同的主题上)应该给你关于非完全匹配的想法。有几个很好的选择来处理单词“声音”的方式。我从Levenshtein开始。

采用不同的方法,SQL Server全文索引还可以使用最少的代码提供非精确匹配。它不一定用于纠正本身,但确定用户的意图并不总是仅仅是语音相似性。

要实现实时性能(例如在键入时搜索),请考虑我描述here(trie或其混合)的数据结构。

答案 2 :(得分:3)

检查Trie数据结构,请参阅此处Trie

如果您需要实现自动完成功能,那么大多数拼写检查器也会实现某种Trie,那么您也可以想到Trie

见下面的代码审查stackexchange问​​题

Code Review trie

答案 3 :(得分:1)

尝试从自动更正功能中获取灵感。基本上你要做的是在输入的文本上调用自动更正,如果找到“解决方案”,则显示为did you mean建议。

这些可能会有所帮助:

How do autocorrect algorithms work in PHP and/or C#?

AutoCorrect Text C# Word