目前我使用'lucene'和'elasticsearch',还有下一个问题。我需要为小词获取词干形式或引理。例如:
- 狗
- 狗->狗
- 小猫->猫
等。
但我得到下一个结果:
- 狗狗 ->狗狗
- 基蒂->基蒂
有没有办法(不重要的现成库,任何算法,方法等(来获取小词形式的根/原始词形式?
目标语言 : 俄语.例如:
- собачка
- -> собака
- кошечка -> кошка
提前感谢!
首先,作为旁注:您要执行的操作通常不称为词干提取或词形还原。
您的第一个问题是将观察到的令牌(例如 собачка(映射到其规范化形式(例如 собака(——天真地,这可以通过创建一个SynonymFilter
来完成,该使用SynonymMap
将昏暗形式映射到其规范形式。但是,您可能会遇到任何自然语言的问题,因为并非所有派生都是明确的:例如,在德语中,Mädel("女孩"/"lass"(可能是Magd(一个古老的词,意思是"年轻女子"/"女仆"(或Made("蛆"(的小型形式。
消除这两种形式的一种方法是计算每个规范形式在给定上下文中出现的概率(例如,前面n个标记的历史(,然后用最可能的规范形式替换dimunitive形式(使用定制的TokenFilter
来做到这一点(——例如,参见维基百科条目,了解不同方法的词义消歧。