6

我有两个要比较的文本文件。我所做的是:

  1. 我把它们都分成了句子。
  2. 我已经测量了一个文件中的每个句子与第二个文件中的每个句子之间的 levenshtein 距离。

我想计算这两个文本文件之间的平均相似度,但是我很难提供任何有意义的值 - 显然算术平均值(所有距离的总和 [标准化] 除以比较次数)是一个坏主意。

如何解释这样的结果?

编辑:距离值已标准化。

4

1 回答 1

16

levenshtein 距离有一个最大值,即最大值。两个输入字符串的长度。不能比这更糟了。因此,两个字符串 a 和 b 的归一化相似性指数(0=bad, 1=match)可以计算为 1-distance(a,b)/max(a.length, b.length)。

从文件 A 中取一个句子。你说你会将它与文件 B 的每个句子进行比较。我猜你正在寻找 B 中距离最小的句子(即最高相似度指数)。

只需计算所有这些“最小相似性指数”的平均值。这应该可以让您粗略估计两个文本的相似性。

但是,是什么让您认为两个相似的文本可能会打乱它们的句子?我个人的意见是,你还应该引入停用词列表、同义词等等。

尽管如此:还请检查三元组匹配,这可能是您正在寻找的另一种好方法。

于 2013-03-25T13:45:54.920 回答