情報検索
情報検索(じょうほうけんさく、Information retrieval)とは、コンピュータを用いて大量のデータ群から目的に合致したものを取り出すこと。検索の対象となるデータには文書や、音声、映像(動画)、その他さまざまなメディアやその組み合わせとして記録されたデータなどが含まれる。インターネットの発達により検索はインターネットを介して行われることも多いが、ここでは情報を検索するためのコンピュータ側における仕組みを記述している。
情報検索に対するコンピュータ側における技術は情報を人間が直接管理するのに比べ、データの量的な制約やデータの取り扱いの一貫性を保つ困難さという制約を受けることなく、高速で安定なシステムにより利用者に適切なデータを提供する機能と位置付けることができる。
情報検索が基盤としている技術は多数の分野にのぼる。情報検索はデータの管理および入出力のためのデータベース、文書データ処理のための自然言語処理や計算言語学、画像や音声を扱うための信号処理や認知心理学を背景とするパターン認識技術、メタデータに関する考察の基盤となった図書館情報学、検索アルゴリズム設計や情報検索システムの評価尺度考案のヒントとして寄与した諸数学理論などのさまざまな要素技術の組み合わせによって成り立っている。情報検索システムは情報検索を実現するためのソフトウェアやハードウェアによって構成されるシステムである。ここでは主にソフトウェアに関して、現在よく用いられているシステムの構成について述べる。
1970年代に、大規模に蓄積される学術文献や論文等の管理をコンピュータ上で行うために、規模の大きい図書館でデータの管理と検索が行われるようになり、需要に応えるべく情報検索システムの開発が進んだ。図書館における蔵書検索や電子ジャーナル、統計資料のデータベースなどへの応用は現在でも盛んに用いられているほか、1990年代から広まったGoogleやgooのようなWorld Wide Web上のデータを対象にした検索エンジンが現在では情報検索のシステムとして特に身近な存在となっている。2000年代以降の情報検索の課題は、例として以下のようにまとめることができる。
いわゆるDeep Web(ショッピングサイトなどに代表される、バックエンドの大規模なデータベースが動的なコンテンツを生成するウェブサイト)を対象にした検索
格納されるデータや検索入力が言語に依存しないマルチリンガル(クロスリンガル)検索環境
情報検索システムは主に以下に挙げる要素によって構成されている。
データベース
検索対象のデータ
メタデータ(索引語)
ユーザインタフェース
検索アルゴリズム
データベースは検索対象のデータを蓄積し、管理している。検索対象のデータからはメタデータが作成され、メタデータもデータベースに格納される。検索の利用者は検索語(検索文)をユーザインタフェースを通して検索を発行し、検索アルゴリズムが適切なデータをデータベースに格納されているメタデータから選択し、選択されたメタデータに対応する検索対象のデータをユーザインタフェースを通して利用者に返答する。
例えばウェブサイトの情報検索では、検索対象のデータが個々のウェブサイトの内容、メタデータがウェブサイトの内容の要約やキーワード・紹介文、ユーザーインターフェースと検索アルゴリズムが検索エンジンにあたる。検索エンジンは検索キーワードに一致するメタデータをデータベースから選択し、選択されたメタデータに対応する検索対象のデータを検索結果に表示する。
情報検索システムの構築は以下のフェーズを経て行われる。順序は必ずしも一定ではなく、構築するシステムの内容や外的環境によって異なる。
検索の対象とするデータの収集方針を決定する。World Wide Web上のハイパーテキストを収集して対象とする場合にはクローラ(ロボット、スパイダー)を用いて自動的な収集を行うのが一般的であるが、天文学的数量の膨大なデータが存在し、かつ急激に変化するWorld Wide Webのデータを全て網羅して収集することは事実上不可能である。そのため、いかにして網羅的に多くの対象のデータを収集するかが重要な課題となっており、World Wide Web検索エンジンのサービスでは何ページのデータか検索が可能であるかが性能の指標の一つとなっている。
検索対象のデータからのメタデータを作成する。メタデータの形式および作成方法は検索アルゴリズムやデータ収集の方針と密接に関連する。たとえばデータ収集が継続的かつ大規模に行われるような場合、人手を使ってメタデータを作成することはコストの大幅な増大を意味することになる。
作成されたメタデータを用いてどのような計算を用いてデータを出力するか決定する。検索アルゴリズムの詳細についてはメタデータ生成法と情報検索アルゴリズムを参照。
情報検索システムの検索性能の評価を行う。情報検索システムの検索性能は主に正確性と網羅性の質的な観点から適合率(precision;精度ともいう)と再現率(recall)を、処理性能の量的な観点からスループットを測定することにより判定するのが一般的である。適合率は検索結果として得られた集合中にどれだけ検索に適合した文書を含んでいるかという正確性の指標であり、再現率は検索対象としている文書の中で検索結果として適合している文書(正解文書)のうちでどれだけの文書を検索できているかという網羅性の指標である。適合率は、
p = \frac{R}{N}
(R:検索された適合文書の数、N:検索結果の文書の数)
によって、再現率は、
r = \frac{R}{C}
(R:検索された適合文書の数、C:全対象文書中の正解文書の数)
によって求められる。
適合率をあげれば再現率が下がり、再現率を上げれば適合率が下がる傾向にあるため、F値(F-measure)という尺度もよく用いられる。F値は適合率と再現率の調和平均であり、
\begin{align}
F{\textit{-} & = \frac{2 \cdot p \cdot r}{p + r} \\
& = \frac{R}{\frac{1}{2} (N + C)} \\
\end{align}
によって求められ、RをNとCの相加平均で割ったものに相当する。F値が高ければ、性能が良いことを意味する。
情報検索に用いられるアルゴリズムは数多く提案されている。ここでは代表的なものについて概説する。情報検索アルゴリズムの詳細については情報検索アルゴリズムを参照のこと。
一般に情報検索システムの構築時にはメタデータ生成時に索引を同時に作成し、検索アルゴリズムによる検索結果の評価の際に索引を用いた最適化を行うが、メタデータの生成法や索引の詳細についてはここでは扱わない。
パターンマッチング : 検索質問として入力された表現をそのまま含む文書を検索するアルゴリズム。単純にパターンのみを探すだけではなく、活用形の変化による同義語のパターンの不一致を解消した検索を行ったりといった拡張がしばしば行われる。パターンマッチング自体の詳細なアルゴリズムについては文字列探索を参照。
ブール論理 : パターンマッチングの検索に付け加え、メタデータの属性ごとの絞り込み条件を論理和・論理積などによって組み合わせて併用する検索方法。
ベクトル空間モデル : キーワード等を各次元として設定した高次元ベクトル空間を想定し、検索の対象とするデータやユーザによる検索質問に何らかの加工を行いベクトルを生成する。ベクトル空間上に検索対象となるベクトルを配置し、ベクトル化された検索質問とデータのベクトルの相関量(ベクトル間のコサイン、内積、ユークリッド距離などが用いられる。)によって検索の対象のデータと検索質問の関係の強さを計算するモデル。
潜在的意味索引付け(潜在的意味分析、LSI) : ベクトル空間モデルの応用として考案された検索アルゴリズム。高次元ベクトル空間を行列として扱い特異値分解を行い、得られた直交低次元ベクトル空間上検索を行う。単純なベクトル空間モデルでの検索に比べて、同義語が用いられている文書間の関連を反映し、検索の対象のデータの内容的な偏りに影響を受けにくい検索を行うことができるというメリットがある。