algorithm - 我怎样才能对相似词进行搜索匹配

标签 algorithm search

我正在尝试自动对短文章进行分类,并且我正在尝试找出如何匹配相似的词 - 例如,shelf shelfs 或 painting and repaint

我使用的是 Porter 词干提取算法,但它仅在某些情况下有帮助,并且仅在词尾有帮助(上面的两个示例都不适用于它)。

是否有算法或相关单词列表可以帮助解决此类问题(除了自己制作之外?)

(我在 php 工作,所以使用该语言的任何解决方案都会更有帮助。)

最佳答案

Levenshtein Distance正是您要找的。

对于任意两个字符串,它计算将一个字符串更改为另一个字符串所需发生的最少插入、修改和删除次数。

如果距离很低,那么这两个词是相似的。

您还可以使用 Soundex确定两个词听起来是否相似的算法。

另见:
PHP levenshtein function
PHP soundex function

关于algorithm - 我怎样才能对相似词进行搜索匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4064042/

相关文章:

algorithm - 在不同级别实现递归和循环

c - 将项目移动到数组的前面

java - 根据2d距离从java hashmap获取

c - 堆二叉树

regex - Notepad++ RegEx 搜索/替换 : How to append and prepend a character at start and end of each file line?

python - 在没有循环的情况下更改列表中的值

c++ - 交换数组的两个元素后计数反转

algorithm - 带有多个袋子和只有重量的元素的背包

Python 搜索代数函数

php - 如何在我的 HTML 网站中实现搜索框流程?