2016-08-19 28 views
0

我是nltk的新手,我發現wordnet功能非常有用。它給出了synsets,hypernyms,​​等等。但是,它顯然沒有給出諸如'德里' - '海得拉巴'之類的位置之間的相似性,因爲這些詞不在詞網語料庫中。因此,我想知道,如果以某種方式,我可以更新字網絡語料庫,或者在不同的語料庫上創建字詞,例如,從維基百科中提取的與旅行相關的一組頁面?如果我們可以根據不同的語料庫創建wordnet,那麼格式是什麼,要採取相同的步驟,還有什麼限制?wordnet在不同的文本?

請你指點我描述上述問題的鏈接。我搜索了互聯網,Google搜索,閱讀了nltk書的部分內容,但是我沒有提及上述問題。

對不起,如果這個問題聽起來完全荒謬。

+1

Check about - DBpedia – RAVI

回答

2

對於測量像新德里海德拉巴或者非常具體的條款,你想要什麼的語義相似的靈活性是不是手工製作共發現一樣,但是從非常大的數據庫自動學習的相似性度量。這些是statistical similarity的方法。當然,你想避免在數據上自己訓練這樣一個模型...

因此,有一點可能有用的是Google距離(wikipediaoriginal paper)。在R(code)這樣的語言中實施這樣的措施似乎相當簡單,原始報告與WordNet報告87%的一致。

+0

關於「Google距離」的有趣論文! – alvas

1

Wordnet中的相似性度量按預期進行,因爲Wordnet會測量語義相似度。從這個意義上說,兩者都是城市,所以它們非常相似。您正在尋找的可能是geographic similarity

delhi = wn.synsets('Delhi', 'n')[0] 
print delhi.definition() 

# a city in north central India 

hyderabad = wn.synsets('Hyderabad', 'n')[0] 
print hyderabad.definition() 

# a city in southern Pakistan on the Indus River 


delhi.wup_similarity(hyderabad) 
# 0.9 

melon = wn.synsets('melon', 'n')[0] 

delhi.wup_similarity(melon) 
# 0.3 

有一個Wordnet擴展名爲Geowordnet。我曾經有過和你一樣的問題,並試圖用一些擴展名來統一Wordnet:wnext。希望有所幫助。

+0

很酷。非常感謝您的回答。學到了新東西。但是,地理輸入是我正在尋找的類別之一,還有其他幾種我喜歡的動物,食品等。因此,我正在尋找通過wikipeida構建wordnet(如果可能的話)。在這方面的任何投入? – mtk

+0

食品之間的距離測量是什麼?成分列表? – bogs

+0

我想我沒有明確說明要求。讓我試着澄清。給出兩個詞我需要知道它們是否相似。例如如果我給巴黎和甜甜圈,那麼一個是食品,另一個是位置,所以我需要一個流程/程序來告訴他們是不相似的。對於食品項目是的,我不清楚什麼是距離測量,但我想找到一種獲得通用輸出的方法。我認爲nltk會在這裏幫助。 – mtk