如何在给定偏移 ID 的情况下获取 WordNet 同义词集?
我有一个 WordNet 同义词集偏移量(例如 id="n#05576222"
)。给定这个偏移量,我如何使用 Python 获取同义词集?
I have a WordNet synset offset (for example id="n#05576222"
). Given this offset, how can I get the synset using Python?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
从 NLTK 3.2.3 开始,有一个公共方法可以执行此操作:
在早期版本中,您可以使用:
这会根据其 POS 和 offest ID 返回一个同义词集。我认为这种方法仅在 NLTK 3.0 中可用,但我不确定。
例子:
As of NLTK 3.2.3, there's a public method for doing this:
In earlier versions you can use:
This returns a synset based on it's POS and offest ID. I think this method is only available in NLTK 3.0 but I'm not sure.
Example:
对于 NTLK 3.2.3 或更高版本,请参阅 donners45 的回答。
对于旧版本的 NLTK:
NLTK 中没有内置方法,但您可以使用以下方法
:然后可以腌制字典并在需要时加载它。
对于 3.0 之前的 NLTK 版本,请将该行替换
为,
因为在 NLTK 3.0 之前
offset
是属性而不是方法。For NTLK 3.2.3 or newer, please see donners45's answer.
For older versions of NLTK:
There is no built-in method in the NLTK but you could use this:
You can then pickle the dictionary and load it whenever you need it.
For NLTK versions prior to 3.0, replace the line
with
since prior to NLTK 3.0
offset
was an attribute instead of a method.您可以使用
of2ss()
,例如:将返回
Synset('necessary.a.01')
You can use
of2ss()
, For example:will return
Synset('necessary.a.01')
除了使用 NLTK 之外,另一种选择是使用
Open Multilingual WordNet
http://compling.hss.ntu.edu.sg/omw/ 用于普林斯顿 WordNet。通常我使用下面的方法来访问 wordnet 作为字典,以偏移量为键,以;
分隔字符串作为值:Other than using NLTK, another option would be to use the .tab file from the
Open Multilingual WordNet
http://compling.hss.ntu.edu.sg/omw/ for the Princeton WordNet. Normally i used the recipe below to access wordnet as a dictionary with offset as the key and;
delimited strings as a values: