【发布时间】:2014-02-25 06:24:54
【问题描述】:
我正在从事多义消歧项目,为此我试图从输入查询中找到多义词。我这样做的方式是:
#! /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)
这里的列表 a 将包含多义词。 但是使用这种方法几乎所有的词都会被认为是多义词。 例如,如果我的输入查询是“milk is white in colour”,那么它将 ('milk','white','color') 存储为多义词
【问题讨论】:
-
那是因为所有这些词都有不止一种可能的含义。您的脚本似乎工作正常。 Take a look on WordNet。您会看到“牛奶”、“白色”和“颜色”都是多义词。
-
我们不能说白色是多义词,因为 wordnet 中的所有感官都只与颜色有关......在银行的情况下,有些感官与金融部门有关,有些与河岸有关,就是这样为什么它被认为是多义词。
-
(adj) white(仁慈的;没有恶意的)“that's white of you”——与颜色无关。对我来说,您的代码似乎得到了正确的值。
-
您好..感谢您的回复。根据下面的答案,所有感官都没有不同,有些是相关的。考虑不是多义词的“英国”词,因为来自 wordnet 的所有英国人的意义都与英国人有关,但仍将其显示为多义词