6

我正在尝试计算两个单词之间的语义相似度。我正在使用基于 Wordnet 的相似性度量,即 Resnik 度量 (RES)、Lin 度量 (LIN)、Jiang 和 Conrath 度量 (JNC) 以及 Banerjee 和 Pederson 度量 (BNP)。

为此,我使用的是 nltk 和 Wordnet 3.0。接下来,我想组合从不同度量中获得的相似度值。为此,我需要对相似度值进行归一化,因为某些度量给出的值介于 0 和 1 之间,而另一些给出的值大于 1。

所以,我的问题是如何标准化从不同测量中获得的相似度值。

关于我实际尝试做的额外细节:我有一组单词。我计算单词之间的成对相似度。并删除与集合中其他单词不强相关的单词。

4

1 回答 1

11

如何标准化单个度量

让我们考虑一个任意的相似性度量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表示第 i 个度量的权重。

所有 alpha 的总和必须为 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]

于 2013-07-31T12:14:31.363 回答