Java有没有基于字典的字符串匹配算法?
根据字典给出两个字符串之间的相似度百分比的东西?
喜欢
public double getSimilarity(String str1, String str2);
其实现方式如下:
getSimilarity("Professor", "Teacher")
会给出很高的百分比吗?
提前致谢:)
最佳答案
Shaul Markovitch 和 Evgeniy Gabrilovich 完成了一项伟大的工作,在他们的文章中有所描述:Wikipedia-based Semantic Interpretation for Natural Language Processing .
想法如下:Index wikipedia (or other context source)。
为每个术语(单词)创建一个映射:term -> articles in which the term appears in
.
每个项基本上都由一个 vector 表示 - 为简单起见,假设它是一个二元 vector - 因此对于项 t
条目 d
当且仅当术语 t
为“1”时出现在文档中 d
.
现在,给定这些 vector - 找出是否有两项 t1
, t2
相似 - 您所要做的就是取代表 t1
的两个 vector 的 vector 相似度和 t2
.
注意:二进制 vector 是一种简化,实际上文章使用了tf-idf得分,即术语t
在文档中有 d
.
关于java - 基于字典的字符串匹配算法 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14304684/