1

最近我正在研究应用程序来做一些文本处理,比如词干提取,我在这个链接的 c# 代码中找到了词干移植:http: //snowball.tartarus.org/otherlangs/english_cpp.txt

我尝试运行,但文本的任何内容都发生了变化。我尝试调用词干类,如下所示:

string inputstem = File.ReadAllText(textBox21.Text);
Porter2 stemmer = new Porter2();
string outputstem = stemmer.stem(inputstem);
textBoxfile.Text = outputstem;

我无法正确获得结果..输出给我的包含与输入完全相同..这里是 input.txt 的示例:

"Nice terrain no MAtter seeing from near or afar morning missing matting cats caresses ponies ties agreed"

这里主要是搬运工干代码:

public string stem(string word)
{
    if (word.Length < 3) return word;

    StringBuilder sb = new StringBuilder(word.ToLower());

    if (sb[0] == '\'') sb.Remove(0, 1);

    for (int i = 0; i < exceptions.Length / 2; ++i)
        if (word == exceptions[i, 0])
            return exceptions[i, 1];

        int r1 = 0, r2 = 0;
        changeY(sb);
        computeR1R2(sb, ref r1, ref r2);

        step0(sb);
        step1a(sb);

        for (int i = 0; i < exceptions2.Length; ++i)
            if (sb.ToString() == exceptions2[i])
                return exceptions2[i];

        step1b(sb, r1);
        step1c(sb);
        step2(sb, r1);
        step3(sb, r1, r2);
        step4(sb, r2);
        step5(sb, r1, r2);


        return sb.ToString().ToLower();
}

有谁知道如何完成该代码?所以我可以在我的最终项目中使用它。谢谢你。

4

0 回答 0