Java中是否存在基于字典的字符串匹配算法?
根据字典给出两个字符串之间相似性百分比的东西?
像
public double getSimilarity(String str1, String str2);
的实现类似:
getSimilarity("Professor", "Teacher")
会给出很高的百分比吗?
提前致谢:)
答案 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
中时。
现在,给定这些向量 - 找出两个术语t1
,t2
是否相似 - 所有你需要做的就是采用两个向量的向量相似性代表t1
和t2
。
注意:二进制向量是一种简化,实际上本文使用t
得分,d
一词在文档{{1}}中有。