Wordnet是一个词典。每个词语(word)可能有多个不同的语义,对应不同的sense。而每个不同的语义(sense)又可能对应多个词,如topic和subject在某些情况下是同义的,一个sense中的多个消除了多义性的词语叫做lemma。例如,“publish”是一个word,它可能有多个sense:
1. (39) print,
publish -- (put into print; "The newspaper published the news of the royal
couple's divorce"; "These news should not be printed")
2. (14) publish,
bring out, put out, issue, release -- (prepare and issue for public
distribution or sale; "publish a magazine or newspaper")
3. (4) publish,
write -- (have (one's written work) issued for publication; "How many
books did Georges Simenon write?"; "She published 25 books during her
long career")
在第一个sense中,print和publish都是lemma。Sense 1括号内的数字39表示publish以sense 1在某外部语料中出现的次数。显然,publish大多数时候以sense 1出现,很少以sense 3出现。
WordNet的具体用法
NLTK是python的一个自然语言处理工具,其中提供了访问wordnet各种功能的函数。下面简单列举一些常用功能:
得到wordnet本身:
from nltk.corpus
import wordnet
获得一个词的所有sense,包括词语的各种变形的sense:
wordnet.synsets('published')
[Synset('print.v.01'),
Synset('publish.v.02'),
Synset('publish.v.03'),
Synset('published.a.01'),
Synset('promulgated.s.01')]
得到synset的词性:
>>>
related.pos
's'
得到一个sense的所有lemma:
>>>
wordnet.synsets('publish')[0].lemmas
[Lemma('print.v.01.print'), Lemma('print.v.01.publish')]
得到Lemma出现的次数:
>>> wordnet.synsets('publish')[0].lemmas[1].count()
39
在wordnet中,名词和动词被组织成了完整的层次式分类体系,因此可以通过计算两个sense在分类树中的距离,这个距离反应了它们的语义相似度:
>>> x =
wordnet.synsets('recommended')[-1]
>>> y =
wordnet.synsets('suggested')[-1]
>>> x.shortest_path_distance(y)
0
形容词和副词的相似度计算方法:
形容词和副词没有被组织成分类体系,所以不能用path_distance。
>>> a =
wordnet.synsets('beautiful')[0]
>>> b =
wordnet.synsets('good')[0]
>>>
a.shortest_path_distance(b)
-1
形容词和副词最有用的关系是similar to。
>>> a =
wordnet.synsets('glorious')[0]
>>>
a.similar_tos()
[Synset('incandescent.s.02'),
Synset('divine.s.06'),
……]
分享到:
相关推荐
本文将详细介绍WordNet 2.1的安装过程以及如何进行使用。 在压缩包文件中,我们有以下几个关键文件: 1. `WORDN.CAB`:这是一个 Cabinet 文件,通常包含安装程序所需的组件和资源,可能包括WordNet的特定库或数据...
描述中提到的“利用wordnet计算相似度,还有源码及相关配置介绍”,意味着这个压缩包中可能包含用于计算WordNet中词汇之间相似度的程序代码,以及如何配置和使用这些工具的指南。这通常涉及到了自然语言处理(NLP)...
该书深入介绍了WordNet的设计理念、构建过程以及在不同领域的应用。 压缩包文件列表中提到的五个部分很可能是这本书的电子版,分别命名为part1到part5,可能是因为原始文件过大,为了方便传输和下载而进行了分卷。...
本文介绍的是一种将WordNet中的词汇概念自动翻译成中文的方法——WNCT(WordNet Concept Translation)。 #### WNCT方法概述 WNCT方法主要包括两个步骤:翻译和翻译消歧。 **第一步:翻译** 本步骤利用现有的...
WordNet是一个广泛使用的英语词汇数据库,它将单词组织成同义词集,称为“ synsets”,每个synset都代表一个特定的概念。JWordNet是一个Java实现的库,它提供了对WordNet的功能接口,使得Java开发者能够方便地在自己...
关键词阶梯阶梯、阶梯阶梯、WordNet文本聚类#介绍毕业设计的代码,基于陈浩的代码以及Java-ML、WordNet等。package fi.uef.cs.test1中TestHierachicalClusteringForString.java和TestSpectralClusteringForString...
总而言之,本文介绍的基于IC加权路径距离的语义相似度测量混合方法CSSM-ICSP,为处理语义相关问题提供了新的思路和方法。通过将信息内容和路径距离相结合,CSSM-ICSP能够更加精确地捕捉概念间的语义相似度,对于推动...
WordNet是语言学中一个广泛使用的词汇数据库,它将英语单词组织成一组有意义的概念,称为“synsets”(同义词集),每个synset都包含了具有相似或相同语义的单词。Stanford NLP Group开发的WordNet接口为自然语言...
下面我们将详细介绍PyWN的主要功能和使用方法。 1. **安装与导入** 要使用PyWN,首先需要确保你已经安装了必要的库,包括NLTK(Natural Language Toolkit)和PyWN本身。通常,你可以通过Python的包管理器pip来安装...
是根据WordNet词网所建立的,在用户输入关键词后可以进行选择词网树的根部级别和底部级别,然后系统会根据用户的输入,再依托大量的算法,在数据库中生成该关键词的词网二叉树结构,最后以树状图的形式显示到网页中...
"extjwnl-data-wn31-1.1.zip"中的主要文件"extjwnl-data-wn21-master"可能包含了"extjwnl"库的配置信息和预处理过的WordNet数据,使得开发者无需直接处理原始的二进制文件,可以更便捷地在Java环境中使用WordNet的...
LX WordNet浏览器基于Web的浏览器,可访问任何单个词网和一个多中心的全球词网介绍LX WordNet浏览器是一个词网Web浏览器,允许查阅遵循普林斯顿词网格式的任何词网的内容。 该浏览器的设计具有实现多中心全球词网这...
虽然给定的部分内容中没有提供具体的示例,但从以上介绍中我们可以想象一个简单的例子来说明如何使用PropBank进行标注。 假设我们有这样一个句子:“John gave Mary a book”。在这个例子中,“give”是谓词,其...
介绍 它是关于什么的? 这个命令行应用程序可以很容易地将文本文档集合转换为基于 WordNet 的同义词树表示。 安装 该工具应该全局安装,以便可以通过命令wordnetify从终端中的任何目录调用它。 npm install ...
- **词汇资源**: 介绍如何获取词汇资源,如WordNet等词典资源。 **总结**: 本书系统地介绍了如何使用Python进行自然语言处理,涵盖了从基础的数据处理到高级的自然语言理解等多个方面。不仅适合初学者入门学习,也...
ShapeNet包含来自多种语义类别的3D模型,并按照WordNet分类法组织它们。它是一组数据集,为每个3D模型提供许多语义标注,如一致的刚性对准、零件和双边对称平面、物理尺寸、关键字以及其他计划的标注。注释通过基于...
这个数据集源自WordNet,一个广泛使用的英语词汇数据库,它包含了丰富的词汇之间的语义关系。WordNet的核心是同义词集(synset),每个同义词集代表一个特定的概念或单词的意义。WN18数据集提取了WordNet中的部分...
在C++中,可以使用如JWI(Java WordNet Interface)的C++接口来访问WordNet数据。 5. **基于神经网络的模型**,如Word2Vec或GloVe:这些模型通过训练学习到的词向量来捕获词语的语义信息。在C++中,可以使用预训练...