如何计算两个文本/字符串之间的相似度或差异百分比?
进一步解释
假设我有两个如下所示的字符串
我是一个会飞的超级男孩!真的。
我是能打破墙壁的超级男孩! 真的。
所以有些角色是相似的 我是超级男孩
和 真的。
。
是否有任何东西可以用来查找这两个字符串之间的百分比相似性/差异。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您应该研究一下 Levenshtein Distance。
http://en.wikipedia.org/wiki/Levenshtein_distance
You should look into Levenshtein Distance.
http://en.wikipedia.org/wiki/Levenshtein_distance
这个对类似问题的回答给出了 Levenshtein、Jaro Winkler 和 Smith Waterman Gotoh 算法的 PHP 代码。
我发现 Levenshtein 和 Jaro Winkler 对于较小字符串之间的拼写错误通常会给出良好的结果。虽然 Smith Waterman Gotoh 擅长比较句子,就像您问题中的示例一样。
This SO answer to a similar question gives the PHP code for the Levenshtein, Jaro Winkler and Smith Waterman Gotoh algorithms.
I've found that Levenshtein and Jaro Winkler generally give good results for spelling mistakes between smaller strings. While the Smith Waterman Gotoh is good at comparing sentences like the example in your question.