Python自然语言处理第二章-2.5 WordNet(I)——意义与同义词

来源:互联网 发布:软件研发生命周期 编辑:程序博客网 时间:2024/06/02 07:27

WordNet(I)——意义与同义词

在做本章课后题时,返回来将这节的内容再看了一遍,重新梳理了思路,得到进一步的理解,觉得可以整理下来分享,与大家共勉~~

一、一些基本术语

词条:类似于“car.n.01.machine”这样的结构
词集:类似于“car.n.01”这样的结构
词汇:类似于”car”, “machine”, “motorcar”等等

二、本节所涉及的方法、函数


将本节所涉及的函数做了结构图,帮助理解函数的调用方法和参数等细节

这里有很多细节需要留意,一个是每个函数的使用方法,其是由什么类型的对象调用的,是一个词集还是一个词条,有没有参数,参数是一个词集还是一个词汇等等;此外需要留意的,书上很多方法、函数的调用都没有带最后的空括号,结果并不是预期的输出,比如lemmas() ,examples()等,下面有具体的解释。

三、详细解释

0. 首先导入使用的模块:

>>>from nltk.corpus import wordnet as wn

1.参数为一个词汇的函数(方法)

1.1 wn.synsets( ) 同义词集,参数为某个词汇

>>> wn.synsets('motorcar')[Synset('car.n.01')]

1.2 wn.lemmas( ) 将显示所有包含该词汇的词条、参数为某个词汇

>>> wn.lemmas('car')[Lemma('car.n.01.car'), Lemma('car.n.02.car'), Lemma('car.n.03.car'), Lemma('car.n.04.car'), Lemma('cable_car.n.01.car')]

2.由一个词集调用的函数(方法)

2.1 synset(‘car.n.01’) 这里是synset不是synsets,其参数是某个词集,如果只是简单调用这个函数,结果是这样的:

>>> wn.synset('car.n.01')Synset('car.n.01')

2.2 definition( ) 定义,由一个词集调用

>>> wn.synset('car.n.01').definition()u'a motor vehicle with four wheels; usually propelled by an internal combustion engine'

2.3 examples( ) 例句,由一个词集调用

>>> wn.synset('car.n.01').examples()[u'he needs a car to get to work']

2.4 lemma_names( ) 输出同义词集中的所有词,由一个词集调用

>>> wn.synset('car.n.01').lemma_names()[u'car', u'auto', u'automobile', u'machine', u'motorcar']

2.5 lemmas( ) 输出词集和词的配对——词条,此时没有参数,可以得到指定同义词集的所有词条

>>> wn.synset('car.n.01').lemmas()[Lemma('car.n.01.car'), Lemma('car.n.01.auto'), Lemma('car.n.01.automobile'), Lemma('car.n.01.machine'), Lemma('car.n.01.motorcar')]

3. 由一个词条调用的函数(方法)

3.1 lemma(‘词条’).synset() 显示所在词集
>>> wn.lemma('car.n.01.machine').synset()Synset('car.n.01')
3.2 lemma(‘词条’).name() 显示该词条的“名字”
>>> wn.lemma('car.n.01.machine').name()u'machine'

如有错误的地方,欢迎大家提出来,互相交流学习~~~

阅读全文
0 0
原创粉丝点击