我在数据库中有很多文章(标题,文字),我正在寻找一种算法来找到X最相似的文章,比如Stack Overflow的"相关问题",当你提出问题时.
我尝试谷歌搜索,但只找到关于其他"类似文本"问题的页面,比如将每篇文章与所有其他文章进行比较并在某处存储相似性.因此,我只是在我刚输入的文本上"实时"执行此操作.
怎么样?
我正在寻找一种算法,或者至少是关于如何在两个或多个不同的字符串中找到类似文本的操作理论......
就像这里提出的问题一样:查找具有相似文本的文章的算法,区别在于我的文本字符串只会是少数单词.
就像说我有一个字符串:"进入清澈的蓝天",我正在与以下两个字符串进行比较:"颜色是天蓝色"和"在蓝色的晴空中"
我正在寻找一种可用于匹配两者中文本的算法,并决定它们的匹配程度.在我的情况下,拼写和标点符号将是重要的.我不希望它们影响发现真实文本的能力.在上面的例子中,如果颜色参考被存储为"'天蓝色'",我希望它仍然能够匹配.但是,列出的第3个字符串应该比第二个字符串更好,等等.
我敢肯定谷歌这样的地方可能会使用类似于"你是不是的意思:"的功能......
*编辑*
在与朋友交谈时,他与一位撰写有关此主题的论文的人合作.我想我可能会与阅读此内容的所有人分享,因为其中描述了一些非常好的方法和流程......
我正在尝试构建一个有效的字符串匹配算法.这将在高容量环境中执行,因此性能至关重要.
这是我的要求:
语言/环境:C#(.Net Framework 3.5)
我已经考虑将条目(和域查找)拆分成数组,颠倒顺序,然后迭代数组.虽然准确,但感觉很慢.
我考虑过正则表达式,但我担心将条目列表准确地表示为正则表达式.
我的问题:根据上面列出的描述,找到一个字符串形式的字符串是否匹配字符串列表中的任何一个字符串的有效方法是什么?