4

我遇到了几种使用 WordNet 的结构和层次结构来测量语义相似度的方法,例如,Jiang and Conrath measure (JNC)、Resnik measure (RES)、Lin measure (LIN) 等。

使用 NLTK 测量它们的方式是:

sim2=wn.jcn_similarity(entry1,entry2,brown_ic)
sim3=entry1.res_similarity(entry2, brown_ic)
sim4=entry1.lin_similarity(entry2,brown_ic)

如果 WordNet 是计算语义相似度的基础,那么 Brown Corpus 在这里有什么用呢?

4

2 回答 2

10

查看NLTK howto for wordnet 的解释。

具体来说, *_ic 符号是信息内容

synset1.res_similarity(synset2, ic):Resnik Similarity:返回一个分数,表示两个词义的相似程度,基于 Least Common Subsumer(最具体的祖先节点)的信息内容 (IC)。请注意,对于使用信息内容的任何相似性度量,结果取决于用于生成信息内容的语料库以及信息内容创建方式的细节。

这里获得更多关于信息内容的信息:

测量词义 IC 的传统方法是将来自 WordNet 等本体的层次结构知识与来自大型语料库的它们在文本中的实际使用统计数据相结合

于 2013-09-09T20:43:02.203 回答
4

您代码中的 brown_ic 指的是信息内容文件 ~/nltk_data/corpora/wordnet_ic/ic-brown.dat。有关 ic-brown.dat 格式的更多详细信息,请查看NLTK-user 组中的此线程

总体而言,ic-brown.dat文件列出了 Brown 语料库中存在的每个单词及其信息内容值(与单词频率相关联)。

JC、Resnik 和 Lin 的语义测量都需要使用除 WordNet 之外的语料库。这些措施将 WordNet 与语料库统计相结合,与单独使用 WordNet 相比,它们与人类判断的相关性更好(Li 2006Pedersen 2010)。

于 2013-09-16T15:27:06.843 回答