質問

私は、IRシステムで使用するためのストップワードを削除し、単語やトークン化の多く100Sの長い文字列を取り、茎クラスやメソッドを探しています。

  

の "大きな太った猫、カンガルーに 'あなたのおかしな男は、私が知っている' と述べた..."

トークナイザが句読点を削除し、単語のArrayListを返します。

ストップワード除去はなど、「」、「へ」のような言葉を削除します。

ステマーが各単語彼らの「ルート」、例えば「面白い」は面白いなる低減するであろう。

事前に感謝します。

役に立ちましたか?

解決

私の知る限りのLucene のあなたがやりたいことができます。 StandardAnalyzerとし、ストップワードの除去にすることができますStopAnalyzer。あなたも語幹を行うことができますプロジェクト(雪玉するからの作業が含まれます)Lucene contrib-snowballます。 生成ステミングアルゴリズム:

しかし、また、語幹のために、この答えを考えます本当の言葉

他のヒント

これらは、私は、このようなツールキットに見える自然言語処理における標準的な要件です。あなたは、Javaを必要とするので、私はOpenNLPで開始したいです: http://opennlp.sourceforge.net/する

あなたは他の言語で見ることができる場合もNLTKあります(Pythonの)

「私は知っているあなたのおかしな男が」標準の構文ではなく、これはそれが難しい「あなたは私が知っているおかしな奴だ」よりも処理することができますことに注意してください。不可能、しかし、はるかに困難ではありません。私は「あなた」「あなたがいる」に等しくなり、任意のシステムを知りません。

私は、そう私はトークナイザの提案を与えてみましょう、私が働いているタスクの数に問題を扱ってきました。私はそれが答えとして直接与えられた表示されていないとして、私は多くの場合、トークナイザの私の家族としてedu.northwestern.at.utils.corpuslinguistics.tokenizer.*を使用しています。私はPennTreebankTokenizerクラスを使用する例数を参照してください。ここでは、それを使用する方法です。

    WordTokenizer wordTokenizer = new PennTreebankTokenizer();
    List<String> words = wordTokenizer.extractWords(text);

この作品へのリンクはこちらのです。ただ、免責事項、私はノースウェスタン、グループ、または彼らが行う仕事とは提携を持っていません。私は時折コードを使用するだけで、誰か思います。

ここで NLPツールの包括的なリストですに。いつかそれは彼らが軽くなり、これらを自分で作成することは理にかなって、あなたは内部の働きにより詳細に制御する必要があります:tokenizationsのために単純な正規表現を使用します。ストップワードのためだけのHashSetに以下のリストや他のいくつかのリストをプッシュします:

共通英語words.txt

ここでは、多くのの一つです。

scroll top