0

鉴于此文本:

“朋友是更友好的朋友,把友好的分类分类分类。花开的花随着花的流动而流动”

我需要将词干应用于文本以实现以下结果:

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​​ 来解决这个问题。

将不胜感激任何人对最佳方法的看法

4

2 回答 2

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)
                    }
                );
    }

好了,这应该非常适合您的复制粘贴需求

于 2010-11-01T16:15:20.553 回答
0

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

于 2012-12-30T11:53:51.443 回答