【语言处理与Python】2.5WordNet
生活随笔
收集整理的這篇文章主要介紹了
【语言处理与Python】2.5WordNet
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
WordNet是面向語義的英語詞典,類似于傳統詞典,但具有更豐富的結構。NLTK中包括英語WordNet,有很多詞和同義詞的集合。
意義與同義詞
具有相同含義的詞是同義詞。
#在wordnet中怎樣探索這些同義詞from nltk.corpus import wordnet as wnWn.synsets(‘motorcar’)[Synset(‘car.n.01’)]通過對這段程度的分析可以知道:
Motorcar只有一個可能的含義;
這個含義被定義為car.n.01,car的第一個名詞的意義。
Car.n.01被稱為synset或者同義詞集
#意思相同的詞或者詞條的集合 wn.synset(‘car.n.01’).lemma_names['car','auto', 'automobile', 'machine', 'motorcar']wn.synset(‘car.n.01’).definitionamotorvehiclewithfourwheels;usuallypropelledbyaninternal combustionengine' wn.synset(‘car.n.01’).examples()['heneedsacartogettowork']#得到指定同義詞集的所有詞條 wn.synset(‘car.n.01’).lemmas#查找特定的詞條 wn.lemma(‘car.n.01.automobile’)#得到一個詞條對應的同義詞集 wn.lemma(‘car.n.01.automobile’).synset#得到一個詞條的名字 wn.lemma(‘car.n.01.automobile’).name#訪問所有包含詞car的詞條 wn.lemmas(’car’)WordNet的層次結構
WordNet概念層次片段,每個節點對應一個同義詞集。邊表示上位詞/下位詞關系。
下位詞:
例如:一個如摩托車這樣的概念,我們可以看到他的更加具體的概念,下位詞
motocar=wn.synset(‘car.n.01’)types_of_motocar=motorcar.hyponyms()上位詞:
motocar.hypernyms()paths=motorcar.hypernym_paths()得到最一般的上位詞(指的是根上位)
motorcar.root_hypernyms()更多的詞匯關系
同義集之間的關系:上位詞和下位詞
部分:從物品到它們的部件(一棵樹的部分是他的樹干、樹冠等)
整體:到它們被包含其中的東西(一棵樹的實質是包括心材和邊材組成的)
wn.synset(‘tree.n.01)’).part_meronyms()wn.synset(‘tree.n.01’).substance_meronyms()sn.synset(‘tree.n.01’).member_holonyms()反義詞:wn.lemma(‘supply.n.02.supply’).antonyms()
動詞之間的關系:走路的動作包括抬腳(蘊含關系)
wn.synset(‘walk.v.01’).entailments()語義相似度
#我們可以通過查找每個同義詞集深度來量化這個概念。 wn.synset(‘baleen_whale.n.01’).min_depth()#基于上位詞層次結構中相互連接的概念之間的最短路徑在0-1之間打分(兩者之間沒有路徑返回-1,與自身比較返回1) Right.path_similarity(minke)轉載于:https://www.cnblogs.com/createMoMo/archive/2013/05/24/3096280.html
總結
以上是生活随笔為你收集整理的【语言处理与Python】2.5WordNet的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 敏捷合同-摘自网络
- 下一篇: Python快速学习03:运算 缩进