最近我正在研究应用程序来做一些文本处理,比如词干提取,我在这个链接的 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();
}
有谁知道如何完成该代码?所以我可以在我的最终项目中使用它。谢谢你。