中文WordNet的安装与使用 - ICode9
文章推薦指數: 80 %
然后用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版权所有
延伸文章資訊
- 1中文WordNet的安装与使用__春天 - CSDN博客
然后用nltk的downloader下载“wordnet”,获取相关的数据。 import nltk nltk.download('wordnet') # 这是英文的wordnet. 1; 2....
- 2Wordnet - 中文百科知識
WordNet是由Princeton 大學的心理學家,語言學家和計算機工程師聯合設計的一種基於認知語言 ... 在WordNet的第一版中(標記為1.x),四種不同詞性的網路之間並無連線。
- 3NLTK 初學指南(三):基於WordNet 的語義關係表示法— 上下位 ...
在官方文件的說明十分友善,主要是以下這個網頁版電子書: Natural Language Processing with Python ,章節如下圖: 本篇為第二章節Accessing Text...
- 4WordNet - 维基百科,自由的百科全书
WordNet的数据库及相应的软件工具的发放遵照BSD许可证书,可以自由的下载和使用,亦可在线查询和使用。 WordNet内部结构 ...
- 5中文WordNet的安装与使用 - ICode9
然后用nltk的downloader下载“wordnet”,获取相关的数据。 import nltk nltk.download('wordnet') # 这是英文的wordnet. 如果要使用...