如何在 Python 中使用 pl196x 从 nltk 中提取引理以进行波兰语?

Cha*_*eon 2 python nlp polish nltk python-2.7

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

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

from nltk import corpus

pl = corpus.pl196x
print dir(pl)
print iter(pl.tagged_words()).next()
Run Code Online (Sandbox Code Playgroud)

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

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)
Run Code Online (Sandbox Code Playgroud)

如何使用 pl196x 在或 nltk 中做这样的工作。


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

<w id="pu147125" lemma="kot" ana="SSNA---------P">kot</w>
<w id="pr021633" lemma="kot" ana="SSAA---------P">kota</w>
etc.
Run Code Online (Sandbox Code Playgroud)

jab*_*oja 6

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