2012-11-25 42 views
2

NLTK中是否有一種方法能夠找到描述該詞的某些形容詞屬性?例如,如果我輸入「摩天大樓」一詞,就會出現諸如「高」,「結構化」等屬性。反過來,我更感興趣,如果我輸入單詞'tall',那麼它會列出與其他單詞的語義關係。Python:NLTK中的形容詞Synsets

我相信在NLTK的屬性的方法是爲這個,但它不工作,我特別上述的方式,這是我使用它的代碼:

from nltk.corpus import wordnet as wn 
synsets = wn.synsets('skyscraper') 
print[str(syns.attributes()) for syns in synsets] 

我我嘗試過使用part_meronyms和attributes方法,但是這並不總是導致一個單詞的形容詞屬性。我知道其他Python工具可以讓我做到這一點,但我寧願只使用NLTK。

回答

1

使用純粹的NLTK,你可以通過兩個步驟來實現這個功能,包括你自己的功能。

基本思路

  • 第1步:查找你的目標詞(「摩天樓」或「高」)
  • 步驟2.對於那些搭配標識的形容詞一切有意義的搭配那是你感興趣的,解析POS來獲得語義關係。

對於第1步。此SO question on Scoring bigrams已確定是非常相關的。您必須調整BigramAssocMeasures以解決您的問題。 (它使用棕色主體,但可以使用其他許多人。)

對於第2步,你可以使用像pos_tag()甚至Tree.parse()有所收穫,你正在尋找你的目標形容詞的關聯。

對於(更簡單)和替代方法,this linktext.similar()這應該是相關的示例。

希望有所幫助。

+0

謝謝。我希望NLTK通過WordNet具有某種形式的語義關係,就像上位詞/下位詞的工作方式一樣,但我可以肯定地看到這將如何適用於我的問題 – TTT

相關問題