wordnet 包的使用
-
下載nltk包,運行下方代碼
import nltk nltk.download() # OR nltk.download("wordnet")
在
corpora
中選擇wordnet相關包下載 -
導入包
from nltk.corpus import wordnet as wn
-
查找一個詞所在的所有詞集
wn.synsets('cat') # 可以指定所需要詞集的形式 wn.synsets('cats', pos=wn.VERB) # pos 確定詞集的屬性 # pos 還可以是 NOUN, ADV, ADJ,
-
查找一個詞的定義
wn.synset('cat.n.01').definition() # cat -> 表示需要查詢的詞 # n -> 表示名詞 # 另外 a -> ADJ r -> ADV n -> NOUN v-> VERB # 01 -> 取第一個名詞(由n定義)的意思
-
由一個詞造句
wn.synset('cat.n.01').examples() # 有時候並不會含有對應的例子
-
獲取一個詞的詞性
cat = wn.synset("cat.n.01") cat.pos()
-
定義一個詞條
wn.lemmas("cat.n.01.cat") # 詞.詞性.順序.詞條名
-
獲取一個詞的詞條
wn.synset("cat.n.01").lemmas()
-
獲取一個詞的詞條名
wn.synset("cat.n.01").lemma_names()
-
獲取一個詞的上位詞
wn.synset("cat.n.01").hypernyms()
-
獲取一個詞的下位詞
wn.synset("cat.n.01").hyponyms()
-
獲取一個事物可以組成的整體
wn.synset("tree.n.01").member_holonyms()
-
獲取兩個詞在分類樹中的距離
cat = wn.synset("cat.n.01") dog = wn.synset("dog.n.01") cat.shortest_path_distance(dog)
-
獲取與對應詞相似的詞(對副詞和形容詞比上方方法更有效)
good = wn.synset("good.a.1") good.similar_tos()
-
查詢兩個詞之間的語義相似度
cat.path_similarity(dog)
-
使用詞條查詢反義詞
# 不能直接使用synset 進行查詢 good.lemmas()[0].antonyms()
-
查詢一個詞的組成部分
wn.synset('room.n.01').part_meronyms()
-
查詢一個物質的材質
wn.synset('meat.n.01').substance_meronyms()
-
查詢一個詞蘊含的關係
wn.synset('walk.v.01').entailments() # 比如走路蘊含着一步一步