我在计算两个词之间的语义相似度。我使用的是基于Wordnet的相似性度量,即Resnik度量(Resnik measure,Resnik measure,Lin measure,Lin),Jiang和Conrath度量(JNC)以及Banerjee和Pederson度量(BNP)。
为此,我使用nltk和wordnet3.0。下一步,我想合并从不同度量得到的相似值。为此,我需要规范化相似度值,因为有些度量值的值介于0和1之间,而其他度量值的值大于1。
所以,我的问题是如何规范化从不同度量得到的相似值。
关于我真正想做什么的额外细节:我有一组词。我计算单词之间的成对相似度。并删除与集合中其他单词没有强相关性的单词。
如何规范单个度量
让我们考虑一个单一的任意相似性度量}。在
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_i
表示第i个度量的权重。在所有字母的总和必须为1,即:
^{pr2}$然后为
w, u
计算自己的度量值:很明显,
F
接受[0,1]中的值相关问题 更多 >
编程相关推荐