Stemmersアルゴリズムの逆を実行するアルゴリズムはありますか?つまり、ステム「はが必要です」を指定すると、ステム「require」ですべての単語を見つける方法はありますか?ステミングアルゴリズムを使用してC#でリバースステミングを実行するにはどうすればよいですか?
常に同じ単語のバリエーションが見つかりました。要件、要件、必要、必要。すべてが共通して「必要」を持っています。ステム "require"ですべての単語を識別する機能を組み込むことができれば素晴らしいと思います。
私たちは、このような結果与える、ステマのアルゴリズムを試してみました:
- 例外 -
- 除いて何も - NOTH
- を防ぐ - 臨床
- を防ぐ - クリニック
- 、開示、 - 開示を
- 収集、回収、
そして、私たちは以下のようなコードを試してみました:私は辞書を使用することをお勧め
class Program
{
static void Main(string[] args)
{
string strStemPhrase = @"generate generates generated generating generously";
string result = Regex.Replace(strStemPhrase, @"[\W_]+", " ");
string[] strStemmedWords = result.Split(new[] { " " }, StringSplitOptions.None);
TestStemmer(new EnglishStemmer(), strStemmedWords);
Console.ReadKey();
return;
}
private static void TestStemmer(IStemmer stemmer, params string[] words)
{
Console.WriteLine("Stemmer: " + stemmer);
foreach (string word in words)
{
Console.WriteLine(word + " --> " + stemmer.Stem(word));
}
}
}
「そして、我々以下のようにコードを試してみました: "...でも?あなたの質問は何ですか?コードは機能しますか? – HimBromBeere
はい、このコードは仕事です...しかし、私のクイズは "どのように茎ですべての単語を見つけるか"ですか? –