2

私は以下がCのポーターステマー実装を持っているのを見ましたhttp://tartarus.org/martin/PorterStemmer/

ただし、何度か試しましたが、コードに統合できません。誰かがダウンロードしたファイルを呼び出す方法と、文字列をステム処理するためにファイルに渡す必要があるものを教えてもらえますか?

言い換えれば、私は文字列をステミングする必要があるプログラムを持っていて、そのためのポーターステマーが必要です。上記の使い方を考えていますが、ダウンロードしたファイルの使い方がわかりません。例を挙げてください

4

2 に答える 2

2

c コードは次の機能を提供します。

int stem ( *str, int i, int j);

それはあなたが呼ぶべきものです。元の文字列を変更し、結果の長さを返します。一般的な使用法は関数 stem_file() で示され、次のようになります。

char buff[12345]; //should contain one word.

buff [ stem(buff, xx, yy) ] = '\0' ;

2番目と3番目のパラメーターが正確に何を意味するのかわかりません。調べる。

于 2011-10-22T17:47:45.923 に答える
1

コードには 2 つの部分があります。

Stemmer 定義の終わりを示す部分があります。この前に、ポーターのアルゴリズムが述べる主要な 5 つのステップを示しました。その後の部分はファイル処理部分を扱い、文字を小文字に変換します。ステム関数は初期化部分を扱います。j は初期語長と見なされます。

一度ちゃんと通してください。理解するのはとても簡単ではありません。

于 2013-06-18T14:09:43.813 に答える