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



我正在尝试在NLTK中添加一些阿拉伯语功能,但是一些任务(例如词干提取(需要进行形态学分析。有没有办法定义特定语言的形态特征,例如阿拉伯语到 NLTK,或者我必须自定义分析器?

算了。创建形态分析器,特别是对于像阿拉伯语这样具有复杂形态的语言,是非常困难的。四处寻找可以安装和连接 nltk 的解决方案。但是 nltk 确实带有阿拉伯语词干分析器,请参阅此处。你必须决定它是否有任何好处。

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

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

参见 Python ISRIStemmer 获取阿拉伯语文本

如果你需要一个通用工具,nltk并没有这样的功能,但如果你正在寻找自定义词干,你可以尝试使用NLTK v3.2.3更新的可定制LancasterStemmer规则,请参阅 https://github.com/nltk/nltk/blob/develop/nltk/stem/lancaster.py#L50 但你必须首先了解Lancaster是如何工作的。

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

最新更新