在NLTK中,我可以对特定语言进行形态分析吗?

时间:2017-05-17 20:46:11

标签: python nltk morphological-analysis

我想在NLTK中添加一些阿拉伯语功能, 但是一些诸如干预等任务需要进行形态分析。有没有办法定义特定语言的形态特征,如阿拉伯语到NLTK,或者我必须自定义分析器?

2 个答案:

答案 0 :(得分:1)

算了。创建形态分析器,特别是对于像阿拉伯语这样复杂形态的语言,是非常困难的。查看可以安装的解决方案并与nltk连接。但是nltk确实带有阿拉伯语词干,请参阅here。你必须决定它是否有用。

答案 1 :(得分:0)

如果您正在寻找阿拉伯语处理,那么@alexis指出的是ISRI词干分析器:

>>> from nltk.stem.isri import ISRIStemmer
>>> isri = ISRIStemmer()
>>> isri = 'حركات'
>>> isri = ISRIStemmer()
>>> s = 'حركات'
>>> isri.stem(s)
'حرك' 

请参阅Python ISRIStemmer for Arabic text

如果您要求使用通用工具,nltk并不具备此类功能,但如果您正在查看自定义词干,则可以尝试更新的可自定义LancasterStemmer规则NLTK v3.2.3,请参阅https://github.com/nltk/nltk/blob/develop/nltk/stem/lancaster.py#L50,但您必须了解兰卡斯特的工作原理。

如果你有形态分裂的单词/句子的训练数据,Morfessor可能是你正在寻找的。