nis*_*ish 6 python nlp similarity nltk wordnet
我试图计算两个单词之间的语义相似性.我正在使用基于Wordnet的相似性度量,即Resnik度量(RES),Lin度量(LIN),Jiang和Conrath度量(JNC)以及Banerjee和Pederson度量(BNP).
为此,我使用的是nltk和Wordnet 3.0.接下来,我想结合从不同度量获得的相似度值.为此,我需要对相似度值进行标准化,因为某些度量值会给出介于0和1之间的值,而其他值则会给出大于1的值.
所以,我的问题是如何规范化从不同测量中获得的相似性值.
关于我实际上要做的事情的更多细节:我有一套单词.我计算单词之间的成对相似性.并删除与集合中其他单词不强相关的单词.
pka*_*zak 10
让我们考虑单个任意相似性度量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
Run Code Online (Sandbox Code Playgroud)
这alpha_i表示第i个度量的权重.
所有alphas必须总计为1,即:
alpha_1 + alpha_2 + ... + alpha_k = 1
Run Code Online (Sandbox Code Playgroud)
然后为您计算自己的度量w, u:
F(w, u) = alpha_1 * m_1(w, u) + alpha_2 * m_2(w, u) + ... + alpha_k * m_k(w, u)
Run Code Online (Sandbox Code Playgroud)
很明显,F在[0,1]中取值
| 归档时间: |
|
| 查看次数: |
1602 次 |
| 最近记录: |