2.5 WordNet(III)——更多词汇关系:部分、整体、集合、蕴含等

0. 本节内容

  • 从条目到部分(部件、实质)

  • part_holonyms()

  • substance_holonyms()

  • 或从条目到包含它们的东西(整体)

  • part_meronyms( )

  • substance_meronyms( )

  • 或从条目到集合

  • member_meronyms( )

特别注意:本文提到的部分方法在书中并没有括号,但是笔者在加了方法名后加了括号( )后才输出预期的结果,否则会输出类似<bound method Synset.name of Synset('car.n.01')>这样的结果
还有记得导入:from nltk.corpus import wordnet as wn

1. 首先如何理解“部分(部件、实质)”,“整体”,“集合”呢?

书上的例子是这样的:

条目–部件(树–树干、树冠、等部件)——part_meronyms( )
条目-实质(芯材和边材)——substance_meronyms( )
条目–集合(森林)——member_holonyms( )

而对于树干、树冠,或者芯材与边材等等,其“整体”便是树本身。

如果一时理解的还不到位,可以考虑用 人 来做类似的解释:
部件:人——头、手、足、臂、心脏等等
实质:人——细胞、骨、皮肉、血等
集合:人——人群
整体便是一个人本身。
(不是医学的、可能分的不太准确,但是大致上可以这么理解的,这和上述的对 tree的分析逻辑是类似的,这些概念都是相对的)
关于部分,一个是从结构、部件这个角度,一个是从本质上、实质上去分析,这是理解的关键。

2. 那么如何理解这两组方法的关系呢(条目-部件,条目-整体)?

  • holo有全息的含义,part_holonyms( ) 、substance_holonyms( )是指从部分到整体的方向;meronyms有部分名词的含义,part_meronyms( )、substance_meronyms( )是指从整体到部分的方向;
  • part_holonyms( ) 、substance_holonyms( )与part_meronyms( )、substance_meronyms( )可以理解为两组逆方向的方法,可以看下图的分析;

3. 围绕词集 tree.n.01应的练习及对应关系如下

>>> wn.synset('tree.n.01').part_meronyms()#tree的部件(条目-部件)
[Synset('burl.n.02'), Synset('crown.n.07'), Synset('limb.n.02'), Synset('stump.n.01'), Synset('trunk.n.01')]
>>> wn.synset('tree.n.01').substance_meronyms()#tree的实质(条目-实质)
[Synset('heartwood.n.01'), Synset('sapwood.n.01')]
>>> wn.synset('tree.n.01').member_holonyms()#tree集合是森林
[Synset('forest.n.01')]
>>> wn.synset('burl.n.02').part_holonyms()#由上边第一行代码的输出结果可知'burl.n.02'是'tree.n.01'的一个部件,因此burl的整体是tree无疑
[Synset('tree.n.01')]
>>> wn.synset('heartwood.n.01').substance_holonyms()#同理,heartwood是tree的一个实质,其整体也是tree无疑
[Synset('tree.n.01')]
>>>

4. 其他词汇关系:蕴含、反义词

蕴含:entailments()

以上的分析多是针对名词,对于动词,也存在关系。这里只有列出了一种蕴含的关系:
entailments()方法,同样由一个词集调用:

>>> wn.synset('walk.v.01').entailments()#走路蕴含着抬脚
[Synset('step.v.01')]

反义词:antonyms()

由一个词条调用:wn.lemma(‘supply.n.02.supply’)

>>> wn.lemma('supply.n.02.supply').antonyms()
[Lemma('demand.n.02.demand')]
>>>

注意所用词语的词性,笔者试着对形容词取反义词:

>>> wn.lemma('hot.a.01.hot').antonyms()#hot对cold,中间的词性标记为a,而不是n或v
[Lemma('cold.a.01.cold')]
>>>

也可以试着测试更多的词汇,但是由于不清楚具体的词汇结构,可能有的测试不是你想的那样,多测测总是好玩的

PS:如有错误,欢迎大家指正,一起学习,还在摸索学习中,持续更新~

Python自然语言处理(3):更多词汇关系:部分、整体、集合、蕴含等相关推荐

  1. 【Python自然语言处理】读书笔记:第五章:分类和标注词汇

    jupyter 版请见我的github:https://github.com/JackKuo666/Python_nlp_notes [Python自然语言处理]读书笔记:第五章:分类和标注词汇 本章 ...

  2. 《Python自然语言处理(第二版)-Steven Bird等》学习笔记:第02章 获得文本语料和词汇资源

    第02章 获得文本语料和词汇资源 2.1 获取文本语料库 古腾堡语料库 网络和聊天文本 布朗语料库 路透社语料库 就职演说语料库 标注文本语料库 在其他语言的语料库 文本语料库的结构 载入你自己的语料 ...

  3. Python自然语言处理 | 获得文本语料与词汇资源

    本章解决问题- 什么是有用的文本语料和词汇资源,我们如何使用Python获取它们? 哪些Python结构最适合这项工作? 编写Python代码时我们如何避免重复的工作? 这里写目录标题 1获取文本语料 ...

  4. 【Python 自然语言处理 第二版】读书笔记2:获得文本语料和词汇资源

    文章目录 一.获取文本语料库 1.古腾堡语料库 (1)输出语料库中的文件标识符 (2)词的统计与索引 (3)文本统计 2.网络和聊天文本 3.布朗语料库 (1)初识 (2)比较不同文体中的情态动词的用 ...

  5. 《Python自然语言处理》——1.1 语言计算:文本和词汇

    本节书摘来异步社区<Python自然语言处理>一书中的第1章,第1.1节,作者:[美]Steven Bird , Ewan Klein , Edward Loper,更多章节内容可以访问云 ...

  6. 《Python自然语言处理》——第1章 语言处理与Python 1.1 语言计算:文本和词汇...

    本节书摘来自异步社区<Python自然语言处理>一书中的第1章,第1.1节,作者[美]Steven Bird,Ewan Klein,Edward Loper, 陈涛,张旭,崔杨,刘海平 译 ...

  7. 《Python自然语言处理(第二版)-Steven Bird等》学习笔记:第05章 分类和标注词汇

    第05章 分类和标注词汇 5.1 使用词性标注器 5.2 标注语料库 表示已标注的标识 读取已标注的语料库 简化的词性标记集 名词 动词 形容词和副词 未简化的标记 探索已标注的语料库 5.3 使用P ...

  8. python自然语言处理书籍推荐-python自然语言处理

    自然语言处理理论书籍很多,讲实际操作的不多,能讲的这么系统的更少.Python语言在做NLP方面有较明显的优势.之前国外有<Natural Language Process with Pytho ...

  9. 《Python自然语言处理》——1.8 练习

    本节书摘来自异步社区<Python自然语言处理>一书中的第1章,第1.8节,作者[美]Steven Bird,Ewan Klein,Edward Loper, 陈涛,张旭,崔杨,刘海平 译 ...

最新文章

  1. Microsoft Anti-Cross Site Scripting Library V1.5 发布了
  2. java 中的 Enumeration 在Vector,Hashtable和web中的应用
  3. NSURLSession使用说明及后台工作流程分析
  4. IntelliJ IDEA2018配置SVN及常见问题解决
  5. union(联合)合并查询结果
  6. 四十一、Android Notification通知详解
  7. 海华·垃圾分类AI挑战赛baseline分享,评测得分最高至0.85
  8. 鸿蒙2.0beta报名,鸿蒙OS 2.0 Beta版系统在哪报名-报名方法介绍
  9. 开源软件软件著作权执照详细研究和实例分析
  10. 【dp】POJ-2817
  11. [转] js中的钩子机制(hook)
  12. python有几种容器_Python中几种内置的容器(Containers)类型:列表、字典、集合和元组的比较和该注意的点...
  13. Android 9.0 Framwork Wifi源码学习目录
  14. 智伴机器人wifi键在哪里_智伴机器人介绍和按键功能
  15. 【滤波器】基于matlab时变维纳滤波器设计【含Matlab源码 1870期】
  16. Python学习笔记——python基础之python中for......else......的使用
  17. laravel入门教程(一)
  18. java do po dto_彻底搞懂DAO,PO,BO,DTO,VO,DO
  19. Python深度学习-快速指南
  20. LaTex支持中文的三种方式

热门文章

  1. mmdetection报错 TypeError: vars() argument must have __dict__ attribute
  2. 怎看传智播客学员如此吃香
  3. 转载:廖雪峰经典:史上最浅显易懂的Git教程!
  4. IIS 7.5 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。
  5. 如何理解服务注册和服务发现
  6. p51 thinkpad 拆解_ThinkPad P51硬盘更换指南(图解)
  7. 51单片机堆栈深入剖析
  8. Could not set property 'xxxxxx' of 'xxxxxx' with value 'xxxxx'
  9. 李善友:中国可以活3年以上的企业不到10%
  10. 给OneNote2016安装NoteHighlight2016, 插件无法加载问题【已解决】