我目前使用“lucene”和“elasticsearch”,遇到了下一个问题。我需要获取爱称词单词的词干形式或原型。例如: 小狗 -> 狗 小猫 -> 猫 等等。 但我得到了以下结果: 小狗 -> doggi 小猫 -> kitti 是否有任何方法(不重要是否有现成的库,任何算法、方法等)可以获得爱称词单词形式的根/原始单词形式? 目标语言:俄语。 例如: собачка -> собака кошечка -> кошка 提前感谢!
首先,顺便提一句:你试图做的通常不被称为词干提取或词形还原。你首先需要解决的问题是将观察到的标记(例如 собачка)映射到其规范化形式(例如 собака)。天真地说,这可以通过创建一个使用SynonymMap将减小形式映射到它们的规范形式的SynonymFilter来完成。然而,您可能会遇到任何自然语言的问题,因为并非所有派生都是明确的:例如,在德语中,Mädel('女孩'/'lass')可能是Magd(一个意思是'年轻女子'/'女仆'的古老单词)或Made('蛆虫')的缩小形式。消除这两种形式之一的歧义的一种方法是计算每个规范形式在给定上下文中出现的概率(例如,前面的n个标记的历史记录),然后使用自定义的TokenFilter将缩小形式替换为最可能的规范形式。请参见维基百科词义消歧条目以了解不同的方法。
PorterStemFilter
,我会感到惊讶。 - mindas