2014-02-25 41 views
0

我正在處理多義詞消歧項目,並試圖從輸入查詢中找到多義詞。我這樣做的方式是:如何從輸入查詢中找到多義詞?

#! /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) 

這裏列出一個將包含多義詞的詞。 但使用這種方法幾乎所有的單詞都將被視爲多義詞。 例如,如果我的輸入查詢是「牛奶是白色的」,那麼它將存儲('牛奶','白色','顏色')爲多義詞

+1

這是因爲所有這些單詞都有不止一種可能的含義。你的腳本似乎工作正常。 [看看WordNet](http://wordnetweb.princeton.edu/perl/webwn)。你會看到「牛奶」,「白色」和「顏色」都是多義性的。 – tsroten

+0

我們不能說白色是多義詞,因爲wordnet中的所有感官都只與顏色有關......在銀行的情況下,某些感官與金融部門有關,有些與河岸有關,這就是爲什麼它被認爲是多義性。 – Madhusudan

+0

*(adj)白色(仁慈的;沒有惡意的意圖)「這是你的白色」* - 與顏色無關。對我來說,看起來你正在爲你的代碼獲得正確的值。 – tsroten

回答

3

WordNet被稱爲細粒度,你和我可能會認爲非常微妙的不同感官之間的區別是相同的。已經有人試圖讓WordNet更粗糙,谷歌「粗粒度WordNet的自動化」。我不確定該論文的結果是否可以下載,但您可以隨時聯繫作者。

或者,更改您的多義詞的工作定義。如果一個詞的最常見意義佔其在大型語料庫中的80%以上的使用,那麼這個詞是而不是多義詞。您將不得不爲儘可能多的單詞獲得不同感官的頻率計數。開始您的研究herehere

+0

我沒有從這些參考文獻中得到任何想法。如果可以,請提供一些建議。謝謝。 – Madhusudan