使用 python 在希腊语中查找单词的 class(词性标记)

Find a word's class (POS tag) in Greek using python

我目前正在开发文档 classification 应用程序。我将 python 与 NLTK 和 wordnet 一起用于英语,这使我能够找到单词的 class。我的问题是我目前还没有找到用其他语言(例如希腊语)做同样事情的方法。

我在 http://wordnet.okfn.gr/downloads/ 中找到了希腊语 Wordnet。 我将文件夹保存在 NLTK 语料库文件夹中并尝试加载它:

from nltk.corpus import wordnet-master

但是我得到一个语法错误

SyntaxError: invalid syntax

如果我将名称更改为 wordnet_master,我会收到 ImportError

ImportError: cannot import name 'wordnet_master'

有没有关于如何导入 Greek Wordnet 的建议?提前致谢

NLTK 的 wordnet 界面默认使用英语。调用 synsets() 时,可以使用一个额外的 lang 参数来指定您感兴趣的语言。当与 wn.lang() 中的可用语言一起使用时,它似乎可以正常工作。

这里有一些希腊语、西班牙语和意大利语的例子。

>>> from nltk.corpus import wordnet as wn
>>> wn.synsets('ενοχλώ', lang='ell')
[Synset('irritate.v.02'), Synset('harass.v.01'), Synset('tease.v.01')]
>>> wn.synsets('molestar', lang='spa')
[Synset('interrupt.v.02'), Synset('tease.v.02'), Synset('disturb.v.01'), Synset('faze.v.01'), Synset('annoy.v.01'), Synset('tease.v.01'), Synset('chafe.v.01'), Synset('trouble.v.02')]
>>> wn.synsets('annoiare', lang='ita')
[Synset('tire.v.02'), Synset('tire.v.01'), Synset('bore.v.01')]

,使用包装器 class 强制使用默认语言,这可能对您的使用有好处。

谢谢大家的帮助。 最后我找到了解决方法。 WordNet 通过 omw 语料库支持希腊语(开箱即用)。貌似不行,看了下Greek encoding in PYTHON,用了u前缀,问题解决了!

import nltk
from nltk.corpus import wordnet as wn

wn.synsets(u'ενοχλώ', lang='ell')

导致

[Synset('irritate.v.02'), Synset('harass.v.01'), Synset('tease.v.01')]

请注意相关单词前的 u(在本例中为“ενοχλώ”)。

同泰文

wn.synsets(u'หายใจ', lang='tha')

给了

[Synset('breathe.v.01'), Synset('respire.v.02')]