中文WordNet的安装与使用 - ICode9

文章推薦指數: 80 %
投票人數:10人

然后用nltk的downloader下载“wordnet”,获取相关的数据。

import nltk nltk.download('wordnet') # 这是英文的wordnet. 如果要使用中文的WordNet, ... ICode9 搜索 精准搜索请尝试: 精确搜索 首页 编程语言 数据库 系统相关 互联网 其他分享 Python Java JavaScript android PHP 首页 > 其他分享>文章详细 中文WordNet的安装与使用 2021-06-2820:00:26  阅读:996  来源: 互联网 标签:n.01 中文 word wn print 安装 nltk WordNet 最近在中文语料上数据分析,想借用一些外部资源,就想到了WordNet,在这里记录一下,以备后用。

文章目录 (一)WordNet的介绍(二)WordNet的安装(三)中英文WordNet的使用(1)词义查询(2)同义词查询(3)其他查询 (一)WordNet的介绍 WordNet是由Princeton大学的心理学家,语言学家和计算机工程师联合设计的一种基于认知语言学的英语词典。

它不是光把单词以字母顺序排列,而且按照单词的意义组成一个“单词的网络”。

它是一个覆盖范围宽广的英语词汇语义网。

名词,动词,形容词和副词各自被组织成一个同义词的网络,每个同义词集合都代表一个基本的语义概念,并且这些集合之间也由各种关系连接。

WordNet包含描述概念含义,一义多词,一词多义,类别归属,近义,反义等问题,访问以下网页,可使用wordnet的基本功能:http://wordnetweb.princeton.edu/perl/webwn (二)WordNet的安装 首先要安装nltk. pipinstallnltk 然后用nltk的downloader下载“wordnet”,获取相关的数据。

importnltk nltk.download('wordnet')#这是英文的wordnet 如果要使用中文的WordNet,需要再下载一个组件“omw”。

nltk.download('omw')#omw代表OpenMultilingualWordnet 安装好以后,就可以使用啦。

(三)中英文WordNet的使用 (1)词义查询 word.definition() 英文 fromnltk.corpusimportwordnetaswn #获得单个词的定义查询 apple=wn.synset('apple.n.01') print(apple.definition()) #获得该词的所有词性及解释下的定义 word='apple' forwinwn.synsets(word): print(w.definition()) #输出: #fruitwithredoryelloworgreenskinandsweettotartcrispwhitishflesh #fruitwithredoryelloworgreenskinandsweettotartcrispwhitishflesh #nativeEurasiantreewidelycultivatedinmanyvarietiesforitsfirmroundedediblefruits 中文 因为中文在查询时,本质上还是映射到英文语义上去,所以不能直接用类似“秘密.n.01”这种形式,只用用synsets来查,synset是没有‘lang’这个参数的。

word='秘密' print('originword:',word) iflen(wn.synsets(word,lang='cmn'))==0: print('Nothisword') forwinwn.synsets(word,lang='cmn'): print(w) print(w.definition()) #输出: #originword:秘密 #Synset('mystery.n.01') #somethingthatbafflesunderstandingandcannotbeexplained #Synset('secret.n.01') #somethingthatshouldremainhiddenfromothers(especiallyinformationthatisnottobepassedon) #Synset('privacy.n.02') #theconditionofbeingconcealedorhidden 一些注释 一个词可能同时具有动词、名词等多种词性,而且每个词性下可能具有多种解释。

例如,在查询"privacy"一词时: “privacy.n.01”代表“thequalityofbeingsecludedfromthepresenceorviewofothers”,"privacy.n.02"代表“theconditionofbeingcncealedorhidden” n代表名词,v代表动词,数字代表第几个。

` (2)同义词查询 word.lemma_names() 具体调用过程与词义查询基本一致。

英文 fromnltk.corpusimportwordnetaswn #方法一: print(wn.synset('apple.n.01').lemma_names()) #方法二: forwinwn.synsets('apple'): print(w.lemma_names()) 中文 word='秘密' forwinwn.synsets(word,lang='cmn'): print(w.lemma_names()) #输出 #['privacy','privateness','secrecy','concealment'] #['mystery','enigma','secret','closed_book'] #['mystery','enigma','secret','closed_book'] 这里相当于是,把中文的“秘密”与英文中的词做了一个对应,对应到三个名词,分别是上面提到的’mystery.n.01’,‘secret.n.01’和‘privacy.n.02’。

在找同义词时,分别找到了“秘密”这个中文词对应的三个英文词的同义词。

(3)其他查询 hypernyms()#上位(父类) hyponyms()#下位(子类) lemma_names()#同义 antonyms()#反义 entailments()#蕴含关系 part_meronyms()#部分 substance_meronyms()#实质 member_holonyms()#成员 目前只用到了同位词,以后用到什么其他的模块,再来补充吧。

参考:https://blog.csdn.net/xieyan0811/article/details/82314042https://blog.csdn.net/MAILLIBIN/article/details/100580676 标签:n.01,中文,word,wn,print,安装,nltk,WordNet 来源:https://blog.csdn.net/weixin_42294274/article/details/118309645 关于我们 | 联系我们 | 留言反馈 专注分享技术,共同学习,共同进步。

侵权联系[admin#icode9.com] Copyright(C)ICode9.com,AllRightsReserved. ICode9版权所有



請為這篇文章評分?