首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

WordNet及其Python应用

1. WordNet概述

WordNet是普林斯顿大学认知科学实验室的GeorgeA. Miller教授开发的一个英语词库。它是一个基于语义关系的在线英语词典数据库。WordNet根据词条的意义建立分组,每一个具有相同意义的词条组称为一个同义词集合(synset)。WordNet为每一个同义词集合提供简短的定义和概要,并记录同义词集合之间的语义关系,包括同义(synonym)、反义(antonym)、整体(holonym)、部分(meronym)、上位(hypernym)和下位(hyponym)等多种语义关系。因此,整个WordNet其实就是一个由无数个词条连成的庞大的语义网络。

2. WordNet的使用

WordNet可以通过Python调用NLTK(NaturalLanguage Tool Kit)工具包直接使用。下面我们通过Python了解一下WordNet包含的信息。

2.1调用WordNet

>>> import nltk

>>> from nltk.corpus importwordnet as wn

2.2查询同义词组

首先,我们查询一下dog所在的同义词组

Wordnet的每一个词项都由三个部分构成。以’dog.n.01’为例,’dog‘代表单词的形式(lemma),’n’代表单词的词类(part ofspeech),最后的数字’01/02’用于区分词性词类一样,而义项不一样的词。由图可见,dog包含两种词性,名词和动词,有8个义项。

查询dog的上位词、下位词及整体词

查询corgi的同义词

2.3计算两个词之间的语义相似度

例如,比较dog与cat之间的语义相似性

WordNet语义相似性的值在[0,1]之间,约趋近1,相似性越高。上图中dog与cat的值只有0.2,相似性非常低。从cat的语义关系可知,两者只有domestic和entity两个义项相同。

3.绘制语义图

利用Python扩展包Networkx和Matplotlib,可以绘制词汇的语义图,完整呈现词汇的语义可视化图谱。下图为dog的语义可视化图谱。

WordNet的相关Python命令可参考网站:http://www.nltk.org/howto/wordnet.html .

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180419G1U8CO00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券