2017-02-15 9 views
0

Lucene、Solr、Sphinxなどのすぐに使用できる検索エンジンを使用して大きな文書の要約を作成することは可能ですか?要約による全文検索

私は文書内を検索したりスニペットを作成する必要はありません。クエリに最もマッチする5つのドキュメントを取得するだけです。 具体的には、エンジンにドキュメント全体を保存するのではなく、「要約」(インデックス情報またはTD-IDF表現と呼ぶことができます)だけです。

+1

私はこれらのシステムの専門家ではありませんが、それらのシステムがどのようにマッチを探すべきかを知っている要点をいくつか定義していない限り、私は、検索されるいくつかの要約フィールドを提供するか、ドキュメント全体のクエリを実行します。 – Thomas

+1

一般的に - はい、あなたはいくつかのtechiniquesを適用することができますが、あなたの質問は非常に幅広いと思います。 – Mysterion

+0

質問が更新されました。 –

答えて

1

更新。具体的には、エンジンに 文書全体を保持させるのではなく、「要約」(インデックス情報 またはTD-IDF表現と呼ぶことができます)だけです。

更新された質問にお答えします。 Lucene/Solrはあなたのニーズに合っています。 「要約」の、あなたはオプションが指定することにより、元のテキストを格納していないする必要があります。

org.apache.lucene.document.Field.Store.NO 

フィールドorg.apache.lucene.document.TextFieldとして「要約」を保存すると、概要がindexedtokenizedになります。あなたが検索するためのTD-IDF情報が保存されます。

1

基本的に、要約機能を使用するには、多くの方法があります。たとえば、TextRank、wikiの大きなarticle、実装数はNTLKなどです。しかし、それはあなたの質問にあなたを助けません、とにかくどこかにインデックスを作成する必要があります。

あなたはこれと同様の機能を使用して、このようなことを達成できると思います。 Lucene/Solr/Elasticsearchの両方に存在します。その背後にある考え方は、検索エンジン(文書の原文である)を送信すると、検索エンジンは最も関連性の高い単語(要約について私に思い出させる)を抽出して、転置索引の中を見て、上位N個の類似文書を見つける。ただし、テキストは破棄されませんが、TF-IDFメトリックに基づいて「好き」の演算子を実行します。

ElasticsearchでMLTについての参考文献、LuceneSolr

1

だけ、それは "要約"(あなたは、インデックス情報やTD-IDF表現、それを呼び出すことができます)です。あなたが探しているものを

かなり標準思わ:

  • のApache Luceneの[1]、あなたはライブラリー
  • のApache Solrのか弾性を検索するために見れば、あなたは 生産を探している場合エンタープライズ・サーチ・サーバー

Lucene Search Engineの仕組み[2]は、ドキュメント内の各フィールドの逆インデックス(他の機能で必要とされる一連の追加データ構造)を構築しています。

は、テキストコンテンツを取り込み、索引に完全に格納して(後で取得する)フィールドの内容を格納します。

LuceneとSolrでは、これは設定の問題です。

要約は完全に異なるNLPタスクであり、必要なものではありません。

乾杯

[1] http://lucene.apache.org/index.html

[2] https://sease.io/2015/07/26/exploring-solr-internals-the-lucene-inverted-index/