es_Inverted インデックスの詳細な説明

1. フォワードインデックス

前方インデックス(前方インデックス):前方インデックスは、文書のIDをキーとして、文書内の各単語の位置情報がテーブルに記録されており、検索の際、各文書内の各単語の情報がテーブルに記録されます。クエリを含むすべての単語が見つかるまでスキャンされます。キーワードのドキュメント。

「文書 1」の ID > Word1: 出現箇所、出現リスト; Word2: 出現箇所、出現リスト; ………。
「文書 2」の ID > この文書内に出現するキーワードのリスト。
ここに画像の説明を挿入
正のテーブル構造を図 1 に示します。この編成方法は、インデックスを作成するときに比較的単純な構造を持ち、作成と保守がより簡単です。インデックスはドキュメントに基づいて作成されるため、新しいドキュメントが追加されると、ドキュメントに対して直接作成され、元のインデックス ファイルの後ろに追加される新しいインデックス ブロック。削除したい文書がある場合には、その文書に対応するインデックス情報を文書番号から直接検索し、直接削除する。しかし、検索漏れがないようにすべての文書をスキャンする必要があり、検索時間が大幅に長くなり、検索効率が低下します。

ポジティブリストの動作原理は非常に単純ですが、検索効率が低すぎるため、特定の状況以外では実用的価値がほとんどありません。

2. 逆インデックス

逆索引 (転置索引): 逆引きされた表は、単語またはフレーズを索引付けのキーワードとして使用します。表内のキーワードに対応するレコード・エントリーには、その単語または単語が出現するすべての文書が記録されます。1 つのエントリーは単語リスト・セグメントであり、そのレコードは記録されます。ドキュメントの ID とドキュメント内の文字の位置。

各単語に対応する文書の数は動的に変化するため、転置リストの作成と維持はより複雑になりますが、クエリの際には、クエリキーワードに対応するすべての文書を一度に取得できるため、効率が高くなります。フォワードリストの表面よりも高い。全文検索では、検索に対する応答の速さが最も重要な性能であり、インデックス作成はバックグラウンドで行われるため、効率は比較的低いものの、検索エンジン全体の効率には影響しません。

転置インデックスの構造は以下の通りです。
「キーワード1」:「文書1」のID、「文書2」のID、……
"keyword2": このキーワードを含むドキュメント ID のリスト。

ここに画像の説明を挿入

3. 転置インデックスの概要

3.1. 単語と文書のマトリックス

単語-文書マトリックスは両者の包含関係を表現した概念モデルであり、その意味を図1に示します。以下の図の各列は文書を表し、各行は単語を表し、チェックマークの位置は包含関係を表します。
ここに画像の説明を挿入
文書の垂直方向の観点から、各列は文書に含まれる単語を表します。たとえば、文書 1 には語彙 1 と語彙 4 が含まれますが、他の単語は含まれません。単語の次元の観点から見ると、各行はどのドキュメントに特定の単語が含まれているかを表します。たとえば、語彙 1 の場合、単語 1 はドキュメント 1 と 4 に出現しますが、他のドキュメントには語彙 1 が含まれません。マトリックスの他の行と列もこのように解釈できます。

検索エンジンのインデックスは、実際には「単語と文書のマトリックス」を実現する特定のデータ構造です。上記の概念モデルを実現するには、「転置インデックス」、「署名ファイル」、「サフィックス ツリー」などのさまざまな方法があります。ただし、単語と文書のマッピング関係を実現するには「転置インデックス」が最適であることがさまざまな実験データによって示されているため、この記事では主に「転置インデックス」の技術的な詳細を紹介します。

3.2. 転置インデックスの基本概念

ドキュメント: 一般的な検索エンジンの処理対象はインターネットの Web ページであり、ドキュメントの概念はより広く、テキスト形式の保存オブジェクトを表します。Web ページと比較して、Word、PDF、さまざまな形式のファイルなど、より多くの形式をカバーします。 html や XML などの形式をドキュメントと呼ぶこともあります。別の例としては、電子メール、テキスト メッセージ、または Weibo (ドキュメントとも呼ばれます) があります。この本の残りの部分では、多くの場合、テキスト情報を表すためにドキュメントが使用されます。

ドキュメント コレクション: 複数のドキュメントで構成されるコレクションはドキュメント コレクションと呼ばれます。たとえば、多数のインターネット ページや多数の電子メールがドキュメント コレクションの具体例です。

ドキュメント ID: 検索エンジン内では、ドキュメント コレクション内の各ドキュメントに一意の内部番号が割り当てられ、この番号は内部処理に便利なドキュメントの一意の識別子として使用されます。各ドキュメントの内部番号は次のとおりです。これは「文書番号」と呼ばれ、後に文書番号を便宜的に表すために DocID が使用されることもあります。

単語 ID (単語 ID): ドキュメント ID と同様に、検索エンジンは内部で単語を表すために一意の番号を使用します。単語 ID は単語の一意の表現として使用できます。

転置インデックス: 転置インデックスは、「単語と文書のマトリックス」を実現するための特殊な保存形式であり、転置インデックスを通じて、その単語を含む文書のリストを単語に基づいて迅速に取得できます。転置索引は主に「単語辞書」と「転置ファイル」の2つの部分から構成されます。

単語辞書 (レキシコン): 検索エンジンの通常のインデックス単位は単語です。単語辞書は、ドキュメント コレクションに出現したすべての単語で構成される文字列のコレクションです。単語辞書の各インデックス項目には、単語に関する情報が記録されます。それ自体を指し、「反転アレンジメントリスト」ポインタを指します。

投稿リスト(PostingList):投稿リストは、ある単語が出現する全文書の文書リストと文書内に出現する単語の位置情報を記録したものであり、各レコードを投稿項目(Posting)と呼ぶ。反転リストにより、どの文書に特定の単語が含まれているかを知ることができます。

転置ファイル: すべての単語の転置リストは、多くの場合、ディスク上の特定のファイルに順次に保存されます。このファイルは転置ファイルと呼ばれ、転置ファイルは転置インデックスを格納する物理ファイルです。

これらの概念間の関係は、以下の図から明確にわかります。

ここに画像の説明を挿入

3.3. 転置インデックスの簡単な例

転置インデックスは、論理構造と基本的な考え方の点で非常にシンプルです。以下では、読者が転置索引を巨視的かつ直接的に感じられるように、具体的な例を示して説明します。

文書コレクションに 5 つの文書が含まれていると仮定すると、各文書の内容は次の図に示されており、図の左端の列は各文書に対応する文書番号です。私たちのタスクは、このドキュメントのコレクションの転置インデックスを構築することです。

ここに画像の説明を挿入

中国語と英語などの言語は異なり、単語の間に明確な区切り記号がないため、最初に単語分割システムを使用して文書を単語シーケンスに自動的に分割する必要があります。このようにして、各文書は単語列からなるデータストリームに変換されますが、システムによる後続の処理の便宜のために、各単語に固有の単語番号を割り当て、その単語がどの文書に含まれるかを記録する必要があります。このような処理を行うことで、最も単純な転置インデックスが得られます(図 3-4 参照)。図4において、「単語ID」欄は各単語の単語番号を記録し、2列目は対応する単語、3列目は各単語に対応する転置リストである。たとえば、単語「Google」の単語番号は 1、反転リストは {1,2,3,4,5} で、ドキュメント コレクション内のすべてのドキュメントにこの単語が含まれていることを示します。

ここに画像の説明を挿入

図 4 に示す転置索引が最も単純である理由は、この索引システムでは、どの文書に特定の単語が含まれているかを記録するだけであるためですが、実際には、索引システムはこれ以外にもさらに多くの情報を記録することができます。図 5 は比較的複雑な転置インデックスであり、図 4 の基本的なインデックス システムと比較して、単語に対応する転置リストには文書番号だけでなく、単語頻度情報 (TF)、つまり単語も記録されています。この情報が文書内での出現回数に記録される理由は、検索結果を並べ替える際に単語頻度情報がクエリと文書の類似度を計算するための重要な計算要素となるため、転置リストに記録されるためです。便宜上、スコア計算は後続のソート中に実行されます。図 5 の例では、単語「founder」の単語番号は 7 で、対応する反転リストの内容は次のとおりです: (3:1)。ここで、3 は文書番号 3 の文書にこの単語が含まれていることを意味します。 1 は単語頻度情報、つまりこの単語は文書 No.3 に 1 回だけ出現し、他の単語に対応する転置リストが表す意味は同じであることを意味します。

実用的な転置索引では、さらに多くの情報を記録することもできますが、図6に示す索引システムでは、文書番号と単語頻度情報に加えて、各単語に対応する「文書頻度情報」という2種類の情報が追加記録されます。図6)、文書内の単語の位置情報を転置リストに記録します。

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/chuige2013/article/details/129375460