Nltk_WordNet最新使用

最近想借助WordNet做一部分词义消歧,就想看看nltk集成的WordNet是怎么用的,但是查到的基本都是18、19年的,很多方法,随着版本更新被更替了。。。。所以发一下我的一小部分学习部分,菜鸡一枚,希望大家互相交流。

1.在代码中引入Wordnet包:前提已经按照nltk!! pip install nltk!!
 

from nltk.corpus import wordnet as wn

我想看一看苹果这个词在wordnet中的词义,苹果算是nlp处理中比较典型的多义词,但结果有些出人意料。。。

2.查询一个词所在的所有词集(synsets)--英文

wn.synsets('apple')
##[Synset('apple.n.01'), Synset('apple.n.02')]

apple有两个意思,都是名词,具体看一下两个词义分别是什么

wn.synset('apple.n.01').definition()
#'fruit with red or yellow or green skin and sweet to tart crisp whitish flesh'
wn.synset('apple.n.02').definition()
#'native Eurasian tree widely cultivated in many varieties for its firm rounded edible fruits'

我发现在wordnet里,苹果这个词,他虽然有两个词义,但都是水果类。。,而我期待出的结果是一类水果,一类科技。。然后我想根据中文苹果查询 直接用上面的语句失败了

3.查询一个词所在的所有词集(synsets)--中文

word = '苹果'
print('origin word:', word)
if len(wn.synsets(word,lang='cmn')) == 0:
    print('No this word')
for w in wn.synsets(word,lang='cmn'):
    print(w)
    print(w.definition())
'''origin word: 苹果
Synset('apple.n.01')
fruit with red or yellow or green skin and sweet to tart crisp whitish flesh
Synset('apple.n.02')
native Eurasian tree widely cultivated in many varieties for its firm rounded edible fruits
'''

查询中文,需要加一个参数lang='cmn',但不难发现英文与中文实际上是对应的。。。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值