問題タブ [porter-stemmer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 実際の単語を生成するステミングアルゴリズム
テキストの段落を取り、そこから「タグ」のリストを抽出する必要があります。これのほとんどは非常に簡単です。ただし、重複を避けるために、結果の単語リストをステミングするためのヘルプが必要です。例:コミュニティ/コミュニティ
私はPorterStemmerアルゴリズムの実装を使用しました(ちなみに私はPHPで書いています):
http://tartarus.org/~martin/PorterStemmer/php.txt
これはある程度までは機能しますが、「実際の」単語は返されません。上記の例は「commun」に由来しています。
「Snowball」を試しました(別のStack Overflowスレッド内で提案されています)。
http://snowball.tartarus.org/demo.php
私の例(コミュニティ/コミュニティ)では、Snowballは「communiti」に由来します。
質問
これを行う他のステミングアルゴリズムはありますか?他の誰かがこの問題を解決しましたか?
私の現在の考えは、ステミングアルゴリズムを使用して重複を回避し、遭遇した最短の単語を選択して実際に表示する単語にすることができるというものです。
stemming - なぜ Porter Stemmer は再びステミングできる文字列を生成するのですか?
幹('りんご')='りんご'
幹('りんご')='アプリ'
幹('アプリ')='アプリ'
これはステミング アルゴリズムの欠陥ではありませんか?
(これはPorter Stemming Algorithmを使用しています)
.net - Lucene Porter ステマーの質問
次のコードがあるとします。
単語にスペースがあると PorterStemmer が異なる結果を生成する理由を誰か説明できますか? 「マットレス テーブル」が「マットレス テーブル」にステミングされることを期待していました。
また、これは次のコードによってさらに混乱します。
同じアナライザーを使用して、同じ単語に対して QueryParser() 関数と Stem() 関数から異なる結果が得られる理由を誰かが説明できますか?
ありがとう、カイル
search - ポーターステマーアルゴリズムの質問
検索アプリケーションを実装しています。コーパスは大きなテキストドキュメントです。ファイル処理中に、すべての単語をトークン化し、Porter StemmerアルゴリズムStep1(http://tartarus.org/~martin/PorterStemmer/csharp2.txt)を呼び出しています。
Step1は、複数形と-edまたは-ing..を削除します。
「this」のような単語が「thi」に変換されることに気づきました。
それはアルゴリズムの通常の動作ですか?'this'という単語をトークン化したかったので。
java - Porter2ステマーのJava実装はありますか
Porter2ステマー(またはJavaで記述されたより優れたステマー)のJava実装を知っていますか?私はここにPorterのJavaバージョン(Porter2ではない)があることを知っています:
http://tartarus.org/~martin/PorterStemmer/java.txt
しかし、http: //tartarus.org/~martin/PorterStemmer/で、著者はPorterが少し古くなっていると述べており、Porter2の使用を推奨しています。
http://snowball.tartarus.org/algorithms/english/stemmer.html
しかし、私にとっての問題は、このPorter2が雪だるま式に書かれていることです(これまで聞いたことがないので、何も知りません)。私が正確に探しているのは、Javaバージョンです。
ありがとう。あなたの助けは彼に高く評価されます。
java - なぜ私が本来あるべきルートワードに従っていないポーターステマーアルゴリズムの結果なのか?
アプリケーションで語幹を取得するには、ポーターステマーアルゴリズムを使用する必要がありますが、http: //www.tartarus.org/~martin/PorterStemmerから取得したアルゴリズムをテストすると、ステミングの結果が正しくありません。語幹の単語、例:幸せ->ハッピウイルス->ヴィルなど私がそれを解決するのを手伝ってくれませんか?
c++ - ポーター ステミング アルゴリズムに関する混乱
ポーターステミングアルゴリズムを実装しようとしていますが、この時点でつまずきました
ここで角括弧は、その内容が任意に存在することを示します。(VC){m} を使用して VC が m 回繰り返されることを示すと、これも次のように記述できます。
m は、この形式で表される場合、単語または単語部分の \measure\ と呼ばれます。m = 0 の場合はヌル ワードをカバーします。ここではいくつかの例を示します。
この「メジャー」とは何なのか、何の略なのかわかりません。
c++ - ポーターステミングアルゴリズムの実装に関する質問?
ポーター ステミング アルゴリズムを実装しようとしていますが、この時点で行き詰っています。
ステップ 1b
feed の m は 1 じゃないの?フィード >> [c]vvc[] >>[c]vc[].
もしそうなら、なぜ彼はフィードを料金に変換しなかったのですか?私はそれが間違っていることを知っています。
ここで元のアルゴリズムを確認できますhttp://tartarus.org/~martin/PorterStemmer/def.txt
ありがとう
algorithm - 別のポーター ステミング アルゴリズムの実装に関する質問ですか?
ポーター ステミング アルゴリズムを実装しようとしていますが、この点を理解するのが困難です
ステップ 1c
それは私たちがやりたいことの反対ではありませんか、なぜアルゴリズムは Y を I に変換するのですか?
完全なアルゴリズムについては、こちらhttp://tartarus.org/~martin/PorterStemmer/def.txt
ありがとう
php - Porter Stemmerアルゴリズムの「反対」?
Porter Stemmerアルゴリズムの反対を実行する方法を探しています。つまり、文字列「search」は配列「searches、searched、searchingetc」を返します。
このようなものはすでに存在しますか(phpの設定)?
ご協力ありがとうございました!