【发布时间】:2016-08-09 14:37:10
【问题描述】:
如何将旧版本 Wordnet(具体为 1.6)的同义词偏移映射到当前版本 (3.0),最好使用 NLTK?
例如,在 1.6 中,wrath 的偏移量为 5588321,而 3.0 的偏移量为 7516905。
我的主要需求是实现 Wordnet-Affect http://wndomains.fbk.eu/wnaffect.html 不幸的是,它使用的是 1.6 版。
我确实设法在https://github.com/clemtoy/WNAffect 找到了一个存储库,因此我可以成功地使用该数据库,该数据库确实为使用 Wordnet 影响所具有的需求提供了解决方案,但它没有映射同义词集来实现它。
在 Wordnet 3.0 中获取偏移量,nltk
wn.synset('wrath.n.01').offset()
7516905
编辑:
从 Wordnet 1.6 的 id 获取同义词集的名称也可以。
编辑2:
这是信息的准确存储方式。这是一个小子集 -
<noun-syn id="n#05588321" categ="wrath"/>
<noun-syn id="n#05576115" categ="worship"/>
<noun-syn id="n#05600844" categ="world-weariness"/>
<noun-syn id="n#05582577" categ="wonder"/>
<noun-syn id="n#05600968" categ="woe"/>
<noun-syn id="n#05579569" categ="withdrawal"/>
<noun-syn id="n#05604301" categ="weight"/>
<noun-syn id="n#05601315" categ="weepiness"/>
<noun-syn id="n#05574157" categ="weakness"/>
<noun-syn id="n#05611809" categ="warpath"/>
这些id都是过时的WN1.6 id
【问题讨论】:
-
有趣的问题。您能否提供更多关于这种情况的信息,包括相应同义词的示例,以及您对它们的使用以使映射成为必要?很少有人可能拥有两个版本的 wordnet,因此如果您提供所有必要的信息,您就更有可能获得帮助。
-
我添加了一些细节:)
-
这是一个开始,但我在 nltk 中随便使用了 wordnet,我从未听说过“偏移量”。给出可用的代码!请记住,重点是让没有安装 wordnet-affect(不管是什么)的人能够帮助您。
-
嗯,但我的问题不一定与 wordnet-affect 相关。我将添加代码以提供当前 wordnet 的偏移量,但除此之外,鉴于我的问题,我看不到任何可以在此处添加的代码。
-
你需要偏移量做什么?为什么你甚至关心它以前是什么,为什么仅按名称匹配同义词集是不够的,无论如何你想通过版本之间的“匹配”来完成什么?如果你不能通俗易懂地陈述你的目标,没有人可以帮助你解决问题。