使用python在希腊语中找到一个单词的类(POS标签)

时间:2016-11-28 20:45:27

标签: python nlp nltk wordnet pos-tagger

我目前正在处理文档分类应用。我使用python和NLTK以及wordnet for English,这使我能够找到一个单词的类。我的问题是,我目前还没有办法用希腊语等其他语言做同样的事情。

我在http://wordnet.okfn.gr/downloads/找到了希腊语Wordnet。 我将文件夹保存在NLTK corpora文件夹中,并尝试使用以下命令加载:

from nltk.corpus import wordnet-master

但我得到了一个SyntaxError

SyntaxError: invalid syntax

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

ImportError: cannot import name 'wordnet_master'

是否有关于如何导入希腊Wordnet的建议?提前致谢

2 个答案:

答案 0 :(得分:2)

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

以下是希腊语,西班牙语和意大利语的几个例子。

>>> 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')]

a previous similar post,使用包装类来强制使用默认语言,这可能对您有用。

答案 1 :(得分:0)

谢谢大家的帮助。 最后我找到了一个解决方法。 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')]

请在相关单词之前注明你(在这种情况下'ενοχλώ')。

与泰语相同

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

,得到

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