索引词干以处理C#或ruby中的文本

时间:2010-10-30 10:33:33

标签: c# ruby indexing stemming

鉴于此文:

“朋友们友好友善,对友好的分类进行分类。鲜花流过花流”

我需要在文本中应用词干来实现以下结果:

frequency("following")                = 1
frequency("flow")                     = 2
frequency("classification")           = 1
frequency("class")                    = 1
frequency("flower")                   = 3
frequency("friend")                   = 4
frequency("friendly")                 = 4
frequency("classes")                  = 1

当我们与FAST搜索引擎交互时。 FAST索引内容以向查询提供相关搜索结果。索引的一个方面是词干,我们需要使用C#或ruby来解决这个问题。

感谢任何人对最佳方法的看法

2 个答案:

答案 0 :(得分:2)

    public StemmingProcessorResults ProcessText(string text)
    {
            return new StemmingProcessorResults(
                    new []{
                        new StemmingProcessorResultItem("following", 1),
                        new StemmingProcessorResultItem("flow", 2),
                        new StemmingProcessorResultItem("classification", 1),
                        new StemmingProcessorResultItem("class", 1),
                        new StemmingProcessorResultItem("flower", 3),
                        new StemmingProcessorResultItem("friend", 4),
                        new StemmingProcessorResultItem("friendly", 4),
                        new StemmingProcessorResultItem("classes", 1)
                    }
                );
    }

你去了,这应该是你的复制粘贴需求的最佳选择

答案 1 :(得分:0)

由于验收标准包含错误,因此无法对文本“应用词干”以获取这些结果。即频率(“朋友”)应为5.根据定义,每个阻止算法都不能产生验收标准。因此,提供这些值的任何算法都必须这样做 - 按照Rob Ashton的说法。您也可以使用switch语句或字典查找,无论如何,它只需要输出这些数字。