2015-03-08 4 views
0

Я написал некоторую базовую программу, и я хочу извлечь лемм для польских слов, что очень важно, так как польское использование перегиба.Как извлечь лемму с pl196x из nltk для польского языка в Python?

я создать простую программу для загрузки данных и преобразовать слово в лемму, но не знает, как это сделать:

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. 

ответ

2

Я не знаю, если это возможно, в самом NLTK. Когда у меня была аналогичная проблема, я использовал для этого Морфеша (http://sgjp.pl/morfeusz/). Хотя я использовал только версию C библиотеки, для нее есть привязка Python (http://jwilk.net/software/python-morfeusz).

+0

Выглядит, это лучшая идея, если новая версия еще не поддерживает ее. – Chameleon

 Смежные вопросы

  • Нет связанных вопросов^_^