我尝试进行词形还原,即识别动词的基本形式和可能的阿拉伯语根,例如:
يتصل ==> 基本形式(动词不定式) ==> اتصل ==> 根(三字根 / Jidr thoulathi)
==> 和 祷 祈
您认为Stanford NLP可以胜任吗?
此致敬礼。
您认为Stanford NLP可以胜任吗?
此致敬礼。
斯坦福阿拉伯语分词器无法进行真正的词形还原。但是,可以训练一个新模型来执行类似于词干提取的操作:
如果重要的是输出真正的阿拉伯语词元("تصل"不是真正的词元),您最好使用像MADAMIRA(http://nlp.ldeo.columbia.edu/madamira/)这样的工具。
详细说明:斯坦福阿拉伯语分词器使用以下操作(在 edu.stanford.nlp.international.arabic.process.IOBUtils
中实现)逐字符生成其输出:
因此,将 يتصل 的词形还原为 ي+ اتصل 将需要实现额外的规则,即在 ya 或 ta 后插入一个 alif。某些不规则形式的词形还原将完全不可能(例如,نساء ← امرأة)。
可供下载的斯坦福分词器版本也仅断开代词和小品词:
وسيكتشفونه ← و+ س+ يكتشفون +ه
然而,如果您可以访问LDC阿拉伯语树库或类似的带有形态学分割注释的阿拉伯语文本丰富资源,则可能训练自己的模型以删除所有形态学缀,这更接近于词形还原:
请注意,“كتشف”不是真正的阿拉伯语单词,但分段器至少应该始终为“تكتشفين”、“أكتشف”、“يكتشف”等生成“كتشف”。如果可以接受这一点,您需要更改ATB预处理脚本,以改用形态学分割注释。您可以通过将名为parse_integrated
的脚本替换为类似于此的修改版本来实现:https://gist.github.com/futurulus/38307d98992e7fdeec0d
然后按照README中的“TRAINING THE SEGMENTER”说明操作。