小词汇词干/词形还原

时间:2014-09-09 09:33:04

标签: java lucene elasticsearch nlp morphological-analysis

目前我使用'lucene'和'elasticsearch',并有下一个问题。 我需要得到diminutive字的词干形式或引理。例如:

  • 狗狗 - >狗
  • kitty - >猫

但我得到了下一个结果:

  • 狗狗 - > doggi
  • kitty - > KITTI

有没有办法(不重要的是准备使用库,任何算法,方法等)来获取diminutive单词形式的root /原始单词形式?

目标语言:俄语。 例如:

  • собачка - > собака
  • кошечка - > кошка

提前致谢!

1 个答案:

答案 0 :(得分:3)

首先,作为旁注:您尝试做的事情通常不称为词干或词法化。

您的第一个问题是将观察到的令牌(例如собачка)映射到其标准化形式(例如собака) - 天真地,这可以通过创建{来完成{3}}使用SynonymFilter映射不同形式的规范形式。但是,您可能会遇到任何自然语言的问题,因为并非所有派生都是明确的:例如,在德语中,Mädel('girl'/'lass')可能是< em> Magd (一个古老的词,意思是'年轻女人'/'女仆')或 Made ('maggot')。

消除这两种形式的歧义的一种方法是计算每个规范形式出现在给定上下文中的概率(例如前面的 n 标记的历史),然后用下面的 n 标记替换。最可能的规范形式(使用定制的TokenFilter这样做) - 参见例如SynonymMap针对不同的方法。