wordnet的中文支持项目open multilingual wordnet分析试用

主要关注中文的对应英文,一词多义,多词同义,词相似度功能。


#下载open multilingual wordnet语料
import nltk
nltk.download("wordnet")
nltk.download("wordnet_ic")
nltk.download('omw')
from nltk.corpus import wordnet as wn
#wordnet支持的omw(open multilingual wordnet)语料语言种类。
wn.langs()
sorted(wn.langs())
#单词“选择”的中文词集
wn.lemmas(u'选择', lang='cmn')
wn.lemma(u'choose.v.01.\u9009\u62e9', lang='cmn').name()
#“选择”这个词的所有同义词集
wn.synsets(u'选择', lang='cmn')
wn.synsets(u'选择', lang='cmn')[0].lemmas()[0].name()
#一个同义词集的中文同义词集。
wn.synset('choose.v.01').lemma_names('cmn')
wn.synset('choose.v.01').lemmas()[0].name()
#wordnet中所有名词中中文名词的个数
len(wn.all_lemma_names(pos='n', lang='cmn'))


for synset in wn.synsets(u'选择', lang='cmn'):
for lemma in synset.lemma_names('cmn'):
print lemma


for lemma in wn.lemmas(u'选择', lang='cmn'):
print lemma.synset()
print lemma.name()


select = wn.synsets(u'选择', lang='cmn')[0]
# 0.5
selectn1 = wn.synsets(u'选出', lang='cmn')[0]
select.path_similarity(selectn1)
# 1.0
selectn2 = wn.synsets(u'选', lang='cmn')[0]
select.path_similarity(selectn2)  
# 0.25
selectn3= wn.synsets(u'找出', lang='cmn')[0]
select.path_similarity(selectn3)
#支持多语言的omw中没有"筛选"这个词,故返回空。即http://compling.hss.ntu.edu.sg/omw/wns/cmn.zip中cow-not-full.txt文件中没有“筛选”这个词,nltk.download('omw')下载后的解压文件中/root/nltk_data/corpora/omw/cmn/wn-data-cmn.tab中没有这个词。
selectnl4 = wn.synsets(u'筛选', lang='cmn')[0]


参考:
1. http://www.nltk.org/howto/wordnet.html 英语的wordnet用法和其他语言的wordnet用法,api
2. http://compling.hss.ntu.edu.sg/omw/ Open Multilingual Wordnet语料集
3. https://github.com/nltk/nltk/issues/1611 nltk库对"extended open multilingual wordnet"的支持程度
4. http://wordnet.princeton.edu/wordnet/download/current-version/
5. http://globalwordnet.org/wordnets-in-the-world/
6. http://compling.hss.ntu.edu.sg/cow/
7. http://compling.hss.ntu.edu.sg/omw/cgi-bin/wn-gridx.cgi?gridmode=cow 在线版的open multilingual wordnet中文支持效果

你可能感兴趣的:(自然语言处理和深度学习)