2

我写了一些基本的程序,我想为波兰语单词提取引理,这是非常重要的,因为波兰语使用屈折变化。

我正在创建简单的程序来加载数据并将单词转换为引理,但不知道该怎么做:

from nltk import corpus

pl = corpus.pl196x
print dir(pl)
print iter(pl.tagged_words()).next()

例如,我想做这样的词形还原(忽略一些词形还原可能是模棱两可的——这在波兰语中是正常的):

kot, kota, kota, kotu, kotem, kocie, kocie == kot (singular male)
kotka, kotki, kotkę, kotce, kotką, kotce, kotka == kot (singular female!)
kociątko, kociątka, kociątko, kociątku, kociątkiem, kociątku, kociątko == kot (singular neutral)
etc. (plural males, plural females, plural neutrals)

如何使用 pl196x 在或 nltk 中完成此类工作。


语料库的源数据包含这样的变形和引理 - 所以它是可能的,但如何访问它:

<w id="pu147125" lemma="kot" ana="SSNA---------P">kot</w>
<w id="pr021633" lemma="kot" ana="SSAA---------P">kota</w>
etc.
4

1 回答 1

6

我不知道 NLTK 本身是否可行。当我遇到类似问题时,我使用了 Morfeusz ( http://sgjp.pl/morfeusz/ )。虽然我只使用了 C 版本的库,但它有一个 Python 绑定(http://jwilk.net/software/python-morfeusz)。

于 2015-06-28T20:56:37.773 回答