我有两个文本文件,我想比较一下。我做的是:
我想计算这两个文本文件之间的平均相似度,但是我无法提供任何有意义的值 - 显然算术平均值(所有距离之和[标准化]除以比较次数)是一个坏主意。
如何解释这样的结果?
编辑: 距离值已标准化。
答案 0 :(得分:13)
levenshtein距离具有最大值,即最大值。两个输入字符串的长度。它不会变得更糟。因此,两个字符串a和b的归一化相似性指数(0 =差,1 =匹配)可以计算为1-距离(a,b)/ max(a.length,b.length)。
从文件A中取一个句子。你说你要将它与文件B的每个句子进行比较。我猜你正在寻找B中具有最小距离(即最高相似度指数)的句子。
只需计算所有“最小相似度指数”的平均值。这应该可以粗略估计两个文本的相似性。
但是,是什么让你认为两个相似的文本可能会将他们的句子改组?我个人的意见是你还应该引入停用词列表,同义词等等。
尽管如此:还请检查三元组匹配,这可能是您正在寻找的另一种好方法。