1

Java で Lucene を使用して、コーパスのインデックスを作成し、そこから単語リストを抽出しています。私は EnglishAnalyzer を使用してステム処理を行います。次に、単語リストを Python に渡し、NLTK でいくつかのことを行います。Lucene の EnglishAnalyzer で使用されるステマーと完全に互換性のある NLTK のステマーはありますか?

これを回避するために PyLucene を使用することもできますが、依存関係を最小限に抑えたいと考えています。

4

2 に答える 2

1

http://text-processing.com/demo/stem/でさまざまな NLTK ステマーを試し、結果を使用して Lucene の EnglishAnalyzer の動作と比較できます。Porter または Lancaster のいずれかの一般的なアルゴリズムの 1 つを実装している可能性があります。

于 2012-07-06T01:44:49.383 に答える
0

したがって、私が間違っていなければ、lucene には他の人 (つまり、snowball、egotor、stempel) によって提供されたいくつかのステマーがあります。Snowball Stemmer と NLTK Porter Stemmer を比較すると、NLTK API でさえ Snowball Stemmer の方が信頼性が高いことが示唆されました。http://nltk.googlecode.com/svn/trunk/doc/api/nltk.stem.porter-module.htmlを参照してください。

英語のステミングをいくつか比較すると ( http://snowball.tartarus.org/demo.phphttp://text-processing.com/demo/stem/を使用)

スノーボール:

cat -> cat
computer -> comput
argues -> argu

NLTK ポーター:

cat computer argue ->
cat comput argu

したがって、デモから見ると、それらはほとんど同じように見えますが、確かに、NLTK api がそう示唆しているため、スノーボールに固執し、Java でコーディングを続けます。

P/S: やあ、マーク・シュラー (私はあなたの名前を「d」なしで発音するクレイジーなアジア人です)

于 2012-09-18T02:43:39.133 に答える