12

我想使用 Wu 和 Palmer 方法在 wordnet 中计算相似度,

wp = (2 X depth(lcs)) / (depth(synset1) + depth(synset2))

lcs的“最不常见的子消费者”在哪里synset1synset2

我的问题是:

  1. 什么是“最不常见的子消费者”?
  2. 如何计算它?
4

1 回答 1

21

根据这篇论文,两个概念 A 和 B 的 Least Common Subsumer 是“最具体的概念,它是 A 和 B 的祖先”,其中概念树是由is-a关系定义的。一个概念被定义为另一个概念的祖先,就像您在人类家谱中定义祖先的方式一样,它是另一个概念的父母,祖父母等等。例如:

  1. 汽车是汽车,汽车是交通工具
  2. 船是交通工具。
  3. 车辆是一个对象。

和图表:

    目的
      |
    车辆
      |
  ---------
  | |
 船用汽车
          |
         车

在这种情况下,“automobile”是“car”的父(也是祖先),而“vehicle”是“car”的祖先。“车”也是“船”的始祖。在这种情况下,“boat”和“car”的 LCS 是“vehicle”,因为它是最具体的概念,是“boat”和“car”的祖先。请注意,虽然“object”是“boat”和“car”的共同子类,但并非最不重要,因为“object”还有一个孩子(在本例中是“vehicle”),这也是一个常见的“汽车”和“船”的统称。“汽车”不是最不常见的子类,因为它不是“船”的祖先。

要计算相似度,我建议您使用可用的库,否则您将需要自己构建概念图,这很麻烦。

在 Perl 中,您可以使用WordNet::Similarity 包

在 Python 中,您可以使用 nltk 包,具体来说,wup_similarity

在 Java 中,您可以使用ws4j 包

于 2013-09-05T08:50:18.670 回答