如何从Wordn规范化相似度量

2024-05-29 07:36:33 发布

您现在位置:Python中文网/ 问答频道 /正文

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

为此,我使用nltk和wordnet3.0。下一步,我想合并从不同度量得到的相似值。为此,我需要规范化相似度值,因为有些度量值的值介于0和1之间,而其他度量值的值大于1。

所以,我的问题是如何规范化从不同度量得到的相似值。

关于我真正想做什么的额外细节:我有一组词。我计算单词之间的成对相似度。并删除与集合中其他单词没有强相关性的单词。


Tags: 度量语义规范化相似性单词wordnetmeasurelin
1条回答
网友
1楼 · 发布于 2024-05-29 07:36:33

如何规范单个度量

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

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

让我们将MN定义为标准化度量M。在

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

很容易看出,如果M取非负值,那么MN取{}中的值。在

如何规范由多个度量组合而成的度量

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

alpha_1, alpha_2, ..., alpha_k

使alpha_i表示第i个度量的权重。在

所有字母的总和必须为1,即:

^{pr2}$

然后为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]中的值

相关问题 更多 >

    热门问题