5

我尝试进行词形还原,即识别词条和可能的动词的阿拉伯语词根,例如:يتصل ==> lemma(动词的不定式)==> اتصل ==> 词根(三字词根 / Jidr thoulathi)== > وصل

你认为斯坦福 NLP 能做到这一点吗?

此致,

4

2 回答 2

12

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

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

如果输出是真正的阿拉伯引理(“تصل”不是真正的引理)非常重要,那么使用 MADAMIRA (http://nlp.ldeo.columbia.edu/madamira/)之类的工具可能会更好。

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

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

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

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

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

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

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

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

然后按照 README 中“培训 SEGMENTER”的说明进行操作。

于 2015-03-23T20:32:04.263 回答
2

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

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

您可以通过以下链接了解有关 Farasa Lemmatizer 的更多信息: https ://arxiv.org/pdf/1710.06700.pdf

于 2017-12-11T10:50:59.977 回答