阿拉伯语词形还原和斯坦福 NLP

Arabic lemmatization and Stanford NLP

我尝试进行词形还原,即识别词元和可能的动词阿拉伯语词根,例如: connects ==> 引理(动词不定式)==> connects ==> 词根(三字词根 / Jidr thoulathi) ==> 和 а

你觉得斯坦福NLP能做到吗?

此致,

斯坦福阿拉伯语分段器无法进行真正的词形还原。但是,可以训练一个新模型来执行类似词干提取的操作:

  • تكتبون ← ت+ كتب +ون
  • يتصل ← ي+ تain

如果输出是真正的阿拉伯语引理非常重要(“Êain”不是真正的引理),您最好使用像 MADAMIRA 这样的工具 (http://nlp.ldeo.columbia.edu/madamira/)。

详细说明: 斯坦福阿拉伯语分段器仅使用这些操作(在 edu.stanford.nlp.international.arabic.process.IOBUtils 中实现)逐个字符地生成其输出:

  • 在两个字符之间拆分一个词
  • 将 lil- (للـ) 转换为 li+ al- (ل+ الـ)
  • 将 ta (Ê) 或 ha (ə) 转化为 ta marbuta (É)
  • 将 ya (ي) 或 alif (ا) 转换为 alif maqsura (ى)
  • 将 alif maqsura (ى) 转换为 ya (ي)

因此,将 يتain 词形还原为 ي+ اتain 将需要实施一个额外的规则,即在 ya 或 ta 之后插入一个 alif。某些不规则形式的词形还原是完全不可能的(例如,نساء ← امرأ)。

可供下载的斯坦福分段器版本也只断开代词和助词:

وسيكتشونه ← و+ + يكتون +ه

但是,如果您可以访问 LDC Arabic Treebank 或具有形态分割注释的类似丰富的阿拉伯文本来源,则可以训练您自己的模型以删除所有形态词缀,这更接近词形还原:

وسيكتشونه ← و+ س+ ي+ كتشو +ون +ه

请注意,“كتشو”不是真正的阿拉伯语单词,但分词器至少应该始终如一地为 تكتشوين、أكتشو、يكتشو等生成“كتشو”。如果这是可以接受的,则需要更改 ATB 预处理脚本改为使用形态分割注释。您可以通过将名为 parse_integrated 的脚本替换为如下修改后的版本来执行此操作:https://gist.github.com/futurulus/38307d98992e7fdeec0d

然后按照 README 中 "TRAINING THE SEGMENTER" 的说明进行操作。

我不确定 Stanford NLP 工具包是否有 lammetizer,但你可以试试

Farasa Lemmatizer 在准确性方面优于 MADAMIRA Lemmatizer。准确率约为 97.23% 在词形还原任务中,它比 MADAMIRA 提供了 +7% 的相对增益。

您可以从以下link阅读更多关于 Farasa Lemmatizer 的信息: https://arxiv.org/pdf/1710.06700.pdf