我正在处理多义词消歧项目,并试图从输入查询中找到多义词。我这样做的方式是:如何从输入查询中找到多义词?
#! /usr/bin/python
from nltk.corpus import stopwords
from nltk.corpus import wordnet as wn
stop = stopwords.words('english')
print "enter input query"
string = raw_input()
str1 = [i for i in string.split() if i not in stop]
a = list()
for w in str1:
if(len(wn.synsets(w)) > 1):
a.append(w)
这里列出一个将包含多义词的词。 但使用这种方法几乎所有的单词都将被视为多义词。 例如,如果我的输入查询是“牛奶是白色的”,那么它将存储('牛奶','白色','颜色')为多义词
这是因为所有这些单词都有不止一种可能的含义。你的脚本似乎工作正常。 [看看WordNet](http://wordnetweb.princeton.edu/perl/webwn)。你会看到“牛奶”,“白色”和“颜色”都是多义性的。 – tsroten
我们不能说白色是多义词,因为wordnet中的所有感官都只与颜色有关......在银行的情况下,某些感官与金融部门有关,有些与河岸有关,这就是为什么它被认为是多义性。 – Madhusudan
*(adj)白色(仁慈的;没有恶意的意图)“这是你的白色”* - 与颜色无关。对我来说,看起来你正在为你的代码获得正确的值。 – tsroten