【问题标题】:NLTK jumping synset names - pythonNLTK 跳跃同义词集名称 - python
【发布时间】:2014-07-24 02:46:33
【问题描述】:

来自 NLTK WordNet API:

>>> from nltk.corpus import wordnet as wn
>>> for i in wn.synsets('discover'):
...     print i, i.offset
... 
Synset('detect.v.01') 2154508
Synset('learn.v.02') 598954
Synset('discover.v.03') 1637982
Synset('discover.v.04') 721437
Synset('fall_upon.v.01') 2286687
Synset('unwrap.v.02') 933821
Synset('discover.v.07') 2128066
Synset('identify.v.05') 652346

>>> wn.synset('discover.v.8')
Synset('identify.v.05')

从 WN3.0 的 index.verb 文件中,我们有:

discover v 8 6 @ ~ * > $ + 8 7 02154508 00598954 01637982 00721437 02286687 00933821 02128066 00652346 

我已经检查了 WordNet API (http://www.nltk.org/_modules/nltk/corpus/reader/wordnet.html),但没有太多要说明如何从 discover.v.8 映射到 identify.v.5

谁能解释映射是如何发生的?

如何提取这些映射的列表?

【问题讨论】:

  • 喜欢从 discover.v.8 到 identify.v.5 的确切路径?
  • 是的,但是如何提取这些同义词的列表?

标签: python nlp nltk wordnet


【解决方案1】:

我不确定您的问题的真正意图。似乎您不明白为什么发现与识别相关联,对吗?碰巧一个 WordNet Synset 是一个 "SYNonym SET",所以对于单个 synset 列出了这么多单词。

如果您通过浏览器 (WNB) 或 online version 检查 wordnet,您将看到“发现”的同义词列表只是 wordnet 中包含“发现”一词的所有同义词的列表。出于某种原因,在内部,NLTk 描述了同义词集,只有第一个词出现在相关词的同义词集列表中。

换句话说,Synset('discover.v.8')Synset('identify.v.05') 是同一个同义词集,只是从不同的角度来看。发现作为动词的第 8 种感觉也是作为动词的第 5 种感觉。在内部,两者都使用相同的 S-ID,这是它们相关的地方。

这些映射的列表只是与单词相关的 Synset ID 列表。

【讨论】:

  • 我理解同义词集的概念和一个 ID 的许多引理的概念,但似乎有一个没有文档的引理主列表。 ID 652346 在 NLTK API 中将始终显示 identify.v.5 而不是 discover.v.8 作为其名称,那么如何提取这些映射?
猜你喜欢
  • 2015-09-22
  • 2017-04-18
  • 1970-01-01
  • 1970-01-01
  • 2014-08-31
  • 2011-02-19
  • 1970-01-01
  • 2013-10-16
  • 2013-08-30
相关资源
最近更新 更多