基于字典的字符串匹配算法 - Java

时间:2013-01-13 14:59:28

标签: java algorithm similarity

Java中是否存在基于字典的字符串匹配算法?

根据字典给出两个字符串之间相似性百分比的东西?

 public double getSimilarity(String str1, String str2);

的实现类似:

 getSimilarity("Professor", "Teacher")

会给出很高的百分比吗?

提前致谢:)

1 个答案:

答案 0 :(得分:1)

Shaul Markovitch和Evgeniy Gabrilovich做了很多伟大的工作,在他们的文章中描述:Wikipedia-based Semantic Interpretation for Natural Language Processing

这个想法如下:索引维基百科(或其他上下文源)。
为每个术语(单词)创建映射:term -> articles in which the term appears in

每个术语基本上由向量表示 - 为简单起见,假设它是二进制向量 - 因此对于术语t,条目d将为'1 '当且仅当术语t出现在文档d中时。

现在,给定这些向量 - 找出两个术语t1t2是否相似 - 所有你需要做的就是采用两个向量的向量相似性代表t1t2


注意:二进制向量是一种简化,实际上本文使用t得分,d一词在文档{{1}}中有。