我正在尝试在 NLTK 中添加一些阿拉伯语功能,但某些任务(例如词干提取)需要进行形态分析。有什么方法可以定义特定语言的形态特征,例如从阿拉伯语到 NLTK,或者我必须自定义分析器?
问问题
778 次
2 回答
1
忘了它。创建一个形态分析器,特别是对于像阿拉伯语这样具有复杂形态的语言,是非常困难的。寻找可以安装并与 nltk 交互的解决方案。但是 nltk 确实带有阿拉伯语词干分析器,请参见此处。你必须决定它是否有好处。
于 2017-05-17T23:07:34.137 回答
0
如果您正在寻找阿拉伯语处理,@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可能就是您正在寻找的东西。
于 2017-05-18T05:01:21.587 回答