私はLucene/Solrに関する限り保育園から新鮮ですので、私はそれを完全に間違って利用しようとしているかもしれませんが、誰かが正しい方向に向けることを願っています。非常に短い文書の長い質問
私の文書(3,000未満)はタクソノミーの短い文です。すべてが単一の文章であり、一部の文章は4-6語以内である。ドキュメントごとに1つのフィールドしかないので、複数のフィールドを検索することは、私が探しているルートではありません。私がしたいのは、仕事関連の文書の内容を照会し、関連する分類文を返すことです。
現在のところ、私は実行しようとしている動作が識別しようとしているので(つまり、 '衣服を仕様に変更する'のタクソノミのステートメント)、Wordnetの動詞シノニムが追加されたSolrに付属するデフォルトのサンプル設定を使用しています。
基本的な単語の一致は期待通りに機能しますが、やや洗練されたものにしたいと思います。クエリが非常に長いので、私は小さな文書を検索するときに高い関連性スコアで終わることはありません。私はこれがいくつかの方法でスコアを正規化することで解決できると確信しているので、私は実際に出てくるスコアについて心配していませんが、実際のステートメント(文書)は識別されています。
すぐにドキュメント(現在は長いクエリ)のインデックスを作成し、各タクソノミのステートメントをクエリし、結果をコンパイル/ソートする方が良いでしょうか、あるいは小さなドキュメントに対してこれらの長いクエリを効果的に実行できますか?私はこれがそれ自身の困難を提示するかもしれないと推測します。
私はTaxonomyのwikipediaエントリーを参照しましたが、私はあなたの質問をまだ理解していません。いくつかのサンプル文書と照会とそれらの照合方法を記入してください。どのような分析をしたいのですか?とにかく – aitchnyu
3000文書は非常に小さい番号です。それをすべてメモリに保存するPythonスクリプトは、数MBのRAMを必要とし、処理に時間がかかりませんし、ディスクから点滅して保存/取得します。したがって、必要なアルゴリズムを自分で実装することができます。 「実行されたアクション」を特定することは、「品詞」アルゴリズム(名詞、動詞など)の仕事のようです。 Mahoutのようなデータミニングパッケージはこれを行うことができます。 – aitchnyu
@aitchnyu - 残念ながら私は自分自身のアルゴリズムを書くことができるSAやLSIについては何も知らない。私はSolrのようなものを利用してここに飛躍を遂げてくれることを願っていました。私は特定の文が文書内に存在するかどうかを特に知る必要があります。言葉遣いは全く違うかもしれませんが(同義語など)、私はそれを捉えることができる必要があります。私はこのことがアルゴリズムとPOSタギングでできると確信していますが、私はそれをやる方法はわかりません。また、私はJavaにはあまりよくないので、いくつかのツールで私を妨害しています。 – IOInterrupt