中文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中文詞彙網路| Chinese Wordnet
中文詞彙網路(Chinese Wordnet, 以下簡稱中文詞網) 計畫,目的是在提供完整的中文詞義(sense) 區分與詞彙語意關係知識庫。我們相信詞義的區分與表達,必須建立在完善的 ...
- 2中文詞彙網路CWN 2.0
中文詞彙網路(Chinse Wordnet,CWN),是一項試圖解決詞義(sense)以及詞彙語意關係(lexical semantic relations)的語言知識資源。中文詞網的核心元素是...
- 3中文WordNet的安装与使用 - ICode9
然后用nltk的downloader下载“wordnet”,获取相关的数据。 import nltk nltk.download('wordnet') # 这是英文的wordnet. 如果要使用...
- 4Computational Linguistics and Chinese Language Processing
研究院語言所的中文詞網(Chinese Wordnet (CWN))兩個WordNet 中文版所使 ... 辭典與中文詞網所使用的詞彙,在Gigaword Corpus 中繁體語料與簡體語料的.
- 5【Python&NLP】关于WordNet,我的一些用法和思路(二)
上次写了一些关于Python中nltk库里WordNet文件的具体内容, ... 看起来所占比例足足有三分之一,但实际上英文的名词有:82115条,中文的名词则只有两 ...