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

问题描述 投票:0回答:2

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

python nlp nltk morphological-analysis
2个回答
2
投票

算了。创建一个词法分析器,特别是对于像阿拉伯语这样具有复杂词法的语言来说,是极其困难的。四处寻找可以安装并与 nltk 交互的解决方案。但 nltk 确实带有阿拉伯语词干分析器,请参阅here。你必须决定它是否有好处。


1
投票

如果您正在寻找阿拉伯语处理,@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 可能就是您所寻找的。

© www.soinside.com 2019 - 2024. All rights reserved.