首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从Wordnet规范相似度度量

如何从Wordnet规范相似度度量
EN

Stack Overflow用户
提问于 2013-07-31 11:48:16
回答 1查看 2.4K关注 0票数 6

我试图计算两个词之间的语义相似性。我使用基于Wordnet的相似性度量,即Resnik测度(RES)、Lin测度(LIN)、蒋和Conrath测度(JNC)和Banerjee和Pederson测度(BNP)。

为此,我使用了nltk和Wordnet3.0。接下来,我要结合从不同的度量中得到的相似值。要做到这一点,我需要将相似值规范化,因为某些度量给出0到1之间的值,而另一些度量则给出大于1的值。

因此,我的问题是如何规范从不同度量中得到的相似值。

关于我真正想要做的事情的额外细节:我有一组单词。我计算出这两个词之间成对的相似性。并删除与集合中的其他单词没有强烈关联的单词。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-31 12:14:31

如何对单个度量进行规范化

让我们考虑一个任意的相似性度量M,并取一个任意的单词w

定义m = M(w,w)。然后m取M的最大可能值。

让我们将MN定义为规范化度量M

对于任何两个单词w, u,您都可以计算MN(w, u) = M(w, u) / m

很容易看出,如果M采用非负值,那么MN采用[0, 1]中的值。

如何从多项措施中规范化一项措施

为了计算您自己定义的度量F,结合k个不同的度量,m_1, m_2, ..., m_k首先使用上述方法对每个m_i进行独立规范化,然后定义:

代码语言:javascript
复制
alpha_1, alpha_2, ..., alpha_k

使得alpha_i表示第一度量的权重.

所有阿尔法的总和必须达到1,即:

代码语言:javascript
复制
alpha_1 + alpha_2 + ... + alpha_k = 1

然后,要为w, u计算自己的度量,请执行以下操作:

代码语言:javascript
复制
F(w, u) = alpha_1 * m_1(w, u) + alpha_2 * m_2(w, u) + ... + alpha_k * m_k(w, u)

很明显,F在0,1中取值

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17969532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档