Nltk 从旧版本的Wordnet映射synset ID

Nltk 从旧版本的Wordnet映射synset ID,nltk,wordnet,Nltk,Wordnet,如何将旧版本Wordnet(具体为1.6)的语法集偏移量映射到当前版本(3.0),最好使用NLTK 例如,在1.6中,《愤怒》的偏移量为5588321,而3.0的偏移量为7516905 我的主要需求是实现Wordnet影响 不幸的是,它使用了1.6版 我确实设法找到了一个存储库,由于它,我可以成功地使用数据库,该数据库确实为使用Wordnet Effect的需求提供了解决方案,但它没有映射语法集来实现它 在Wordnet 3.0中获取偏移量,nltk wn.synset('wrath.n.01'

如何将旧版本Wordnet(具体为1.6)的语法集偏移量映射到当前版本(3.0),最好使用NLTK

例如,在1.6中,《愤怒》的偏移量为5588321,而3.0的偏移量为7516905

我的主要需求是实现Wordnet影响 不幸的是,它使用了1.6版

我确实设法找到了一个存储库,由于它,我可以成功地使用数据库,该数据库确实为使用Wordnet Effect的需求提供了解决方案,但它没有映射语法集来实现它

在Wordnet 3.0中获取偏移量,nltk

wn.synset('wrath.n.01').offset()
7516905
编辑:

从WordNet1.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,因为没有人建议一个快捷方式,听起来你需要用一种显而易见的方式:启动1.6 Wordnet并自己将偏移量转换为语法集。您可以在上找到Wordnet的官方版本1.6下载


我不知道他们如何努力保持向后兼容性,但希望
wrath.n.01
在Wordnet的所有版本中或多或少都是一样的。我猜有些感官在不同版本之间被分成了两个或更多的语法集,甚至有时会出现相反的情况。在这种情况下,不会有与原始语法集完全对应的东西。这是否是你的问题,由你自己决定。

有趣的问题。您能否提供更多关于这种情况的信息,包括相应语法集的示例,以及您对这些语法集的使用使映射成为必要?很少有人会有两个版本的wordnet,所以如果你提供所有必要的信息,你就更有可能得到帮助。我添加了一些细节:)这是一个开始,但我在nltk中随意使用wordnet,我从来没有听说过“偏移”。给出可用的代码!记住,这一点是为了让那些没有安装wordnet影响(无论是什么)的人能够帮助你。嗯,但我的问题不一定与wordnet影响有关。我会添加代码,给出当前wordnet的偏移量,但除此之外,我看不到任何代码可以添加到这里,因为我的问题。你需要偏移量做什么?为什么您甚至关心它以前是什么,为什么按名称匹配语法集还不够,以及您通过版本之间的“匹配”试图实现什么?如果你不能清楚地陈述你的目标,没有人能帮你解决问题。