我试图计算两个词之间的语义相似性。我使用基于Wordnet的相似性度量,即Resnik测度(RES)、Lin测度(LIN)、蒋和Conrath测度(JNC)和Banerjee和Pederson测度(BNP)。
为此,我使用了nltk和Wordnet3.0。接下来,我要结合从不同的度量中得到的相似值。要做到这一点,我需要将相似值规范化,因为某些度量给出0到1之间的值,而另一些度量则给出大于1的值。
因此,我的问题是如何规范从不同度量中得到的相似值。
关于我真正想要做的事情的额外细节:我有一组单词。我计算出这两个词之间成对的相似性。并删除与集合中的其他单词没有强烈关联的单词。
发布于 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进行独立规范化,然后定义:
alpha_1, alpha_2, ..., alpha_k使得alpha_i表示第一度量的权重.
所有阿尔法的总和必须达到1,即:
alpha_1 + alpha_2 + ... + alpha_k = 1然后,要为w, u计算自己的度量,请执行以下操作:
F(w, u) = alpha_1 * m_1(w, u) + alpha_2 * m_2(w, u) + ... + alpha_k * m_k(w, u)很明显,F在0,1中取值
https://stackoverflow.com/questions/17969532
复制相似问题