以下词汇相似度计算方法的实现是基于WordSimilarity-353进行,即根据相关方法计算得到给定词汇的相似度后,再使用斯皮尔曼等级相关判定来计算所得的词汇相似度与已人工标注好的相似度之间的相关性。
一、基于语义词典的方法
常用的语义词典是WordNet,一般直接在Python里面使用,即通过pip install nltk来安装NLTK之后,再下载nltk-data放在相应文件夹即可(官方推荐的方法下载特别慢),以下实现是根据Wu-Palmer 提出的最短路径计算两者的path_similarity(具体可以查看:http://nltk.googlecode.com/svn/trunk/doc/howto/wordnet.html。),并且取其中最大的词汇相似度最为结果。
# -*- coding: utf-8 -*-
from nltk.corpus import wordnet as wn
import pandas as pd
import numpy as np
from scipy import stats
def WordSimibywup_