情報検索

**情報検索**（じょうほうけんさく、）とは、コンピュータを用いて大量のデータ群から目的に合致したものを取り出すこと。情報行動の一形態である。検索の対象となるデータには文書や画像、音声、映像（動画）、その他さまざまなメディアやその組み合わせとして記録されたデータなどが含まれる。インターネットの発達により検索はインターネットを介して行われることも多いが、ここでは情報を検索するためのコンピュータ側における仕組みを記述している。

情報検索に対するコンピュータ側における技術は情報を人間が直接管理するのに比べ、データの量的な制約やデータの取り扱いの一貫性を保つ困難さという制約を受けることなく、高速で安定なシステムにより利用者に適切なデータを提供する機能と位置付けることができる。

## 情報検索と情報検索システムの全体像
情報検索が基盤としている技術は多数の分野にのぼる。情報検索はデータの管理および入出力のためのデータベース、文書データ処理のための自然言語処理や計算言語学、画像や音声を扱うための信号処理や認知心理学を背景とするパターン認識技術、メタデータに関する考察の基盤となった図書館情報学、検索アルゴリズム設計や情報検索システムの評価尺度考案のヒントとして寄与した諸数学理論などのさまざまな要素技術の組み合わせによって成り立っている。**情報検索システム**は情報検索を実現するためのソフトウェアやハードウェアによって構成されるシステムである。ここでは主にソフトウェアに関して、現在よく用いられているシステムの構成について述べる。

### 歴史と現在の課題

1970年代に、大規模に蓄積される学術文献や論文等の管理をコンピュータ上で行うために、規模の大きい図書館でデータの管理と検索が行われるようになり、需要に応えるべく情報検索システムの開発が進んだ。図書館における蔵書検索や電子ジャーナル、統計資料のデータベースなどへの応用は現在でも盛んに用いられているほか、1990年代から広まったGoogleやgooのようなWorld Wide Web上のデータを対象にした検索エンジンが現在では情報検索のシステムとして特に身近な存在となっている。2000年代以降の情報検索の課題は、例として以下のようにまとめることができる。
*いわゆるDeep Web（ショッピングサイトなどに代表される、バックエンドの大規模なデータベースが動的なコンテンツを生成するウェブサイト）を対象にした検索
*より直観的なユーザインタフェース
*より人間に近い高度な判断尺度を持ったマルチメディア情報検索
*さまざまなメディアを統合的かつ横断的に扱うクロスメディア情報検索
*格納されるデータや検索入力が言語に依存しないマルチリンガル(クロスリンガル)検索環境
*P2Pネットワーク等の大規模分散データを対象にした情報検索

### 情報検索システムの構成要素
thumb|270px|right|情報検索システムの全体像
情報検索システムは主に以下に挙げる要素によって構成されている。
***データベース**
***検索対象のデータ**
***メタデータ（索引語）**
***ユーザインタフェース**
***検索アルゴリズム**

**データベース**は**検索対象のデータを**蓄積し、管理している。**検索対象のデータ**からは**メタデータ**が作成され、**メタデータ**も**データベース**に格納される。検索の利用者は検索語(検索文)を**ユーザインタフェース**を通して検索を発行し、**検索アルゴリズム**が適切なデータを**データベース**に格納されている**メタデータ**から選択し、選択された**メタデータ**に対応する**検索対象のデータ**を**ユーザインタフェース**を通して利用者に返答する。

例えばウェブサイトの情報検索では、検索対象のデータが個々のウェブサイトの内容、メタデータがウェブサイトの内容の要約やキーワード・紹介文、ユーザーインターフェースと検索アルゴリズムが検索エンジンにあたる。検索エンジンは検索キーワードに一致するメタデータをデータベースから選択し、選択されたメタデータに対応する検索対象のデータを検索結果に表示する。

### 情報検索システム構築の手続き
情報検索システムの構築は以下のフェーズを経て行われる。順序は必ずしも一定ではなく、構築するシステムの内容や外的環境によって異なる。

#### 検索対象データ収集
検索の対象とするデータの収集方針を決定する。World Wide Web上のハイパーテキストを収集して対象とする場合にはクローラ(ロボット、スパイダー)を用いて自動的な収集を行うのが一般的であるが、天文学的数量の膨大なデータが存在し、かつ急激に変化するWorld Wide Webのデータを全て網羅して収集することは事実上不可能である。そのため、いかにして網羅的に多くの対象のデータを収集するかが重要な課題となっており、World Wide Web検索エンジンのサービスでは何ページのデータか検索が可能であるかが性能の指標の一つとなっている。

#### 検索対象のデータからのメタデータ作成
検索対象のデータからのメタデータを作成する。メタデータの形式および作成方法は検索アルゴリズムやデータ収集の方針と密接に関連する。たとえばデータ収集が継続的かつ大規模に行われるような場合、人手を使ってメタデータを作成することはコストの大幅な増大を意味することになる。

#### 検索アルゴリズムの設計
作成されたメタデータを用いてどのような計算を用いてデータを出力するか決定する。検索アルゴリズムの詳細についてはメタデータ生成法と情報検索アルゴリズムを参照。

#### 検索性能の評価
thumb|265px|right|再現率と適合率
情報検索システムの検索性能の評価を行う。情報検索システムの検索性能は主に正確性と網羅性の質的な観点から**適合率(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値が高ければ、性能が良いことを意味する。

## 情報検索技術の分類
情報検索の技術は以下のような観点で分類できる。

### 検索対象データの抽象度
; 直接検索 : メタデータを介さずデータそのものを直接計算アルゴリズム上で処理する検索方法。例としてハミングによる検索の入力を行い類似する音程の音楽を検索するもの等。実用上は、前処理としての索引の生成を事前におこなう方式も多いが、このような場合もデータに含まれる表現をそのまま用いて検索を行うため検索モデルとしては直接検索に分類される。
:; 全文検索 : 直接検索の一種であり、文書データの全文から自動処理の走査によりメタデータを作成して保管し、検索の入力に合致するデータを検索結果とする検索方法。「全文検索システムNamazu」や「Apache Solr」等が用いられている。
; 間接検索 : データベースに蓄積されたデータからメタデータを生成して保管し、検索の入力が行われた際に内部表現に変換された検索の入力と保管されたメタデータを比較することにより検索結果を生成する検索方法。

### 検索入力の種類
検索入力は検索結果を求めるのに必要な情報で、言語に限らないが問い合わせ言語という意味でのクエリと考えてよい。
; 単語（キーワード） : 単語（キーワード）を指定することによって検索を行う。もっとも単純な形式と言える。検索したいキーワードを入力した後で実際の検索を開始させるコマンドを発行する方式が古典的だが、一文字入力するごとに直ちに検索が始まり、入力を進めるたびに絞りこまれていくインクリメンタルサーチも広く利用されている。さらに検索回数などでランク付けし、入力に続くキーワードと検索結果を予測して列挙する、その一覧をランクによってソートして素早く結果を提示するだけでなく、あいまい検索や「昨日」「今日」などの相対的な表現から日付を特定するといった、より自然な単語での検索を可能にする、ワイルドカードなど、他の種類の検索入力を取り込んで複雑化している分野でもある。
; 検索言語 : システム特有の検索言語を用いて検索を行う方法。論理和・論理積などのブール論理の演算を検索の絞り込みに利用する際に用いられる。研究者や法律・医学等の専門的な実務家など、特定の分野の専門家を対象にした検索システムなどに用いられることが多い。SQLのようなデータベース管理システムで標準規格に則った言語を用いることもあるが、特定の検索エンジン特有の検索言語を用いているシステムも多い。実現例としてはIEEE Xploreなどがある。
; 直接入力 : 検索のパラメータとなる関連するデータを直接入力する方法。たとえば特定の画像を入力にして類似した画像を検索するもの（顔認証システム、Google画像検索の画像指定検索など）や、ハミング（鼻歌）の入力を受けて関連する音楽クリップを検索するものなどが研究されている。パターン認識技術と密接に関わる。
; 自然文 : 検索に関わるユーザインタフェースの研究として古くから研究が行われている。近年ではGoo ラボによって開発された「日本語自然文検索」が大手の検索エンジンとしては比較的珍しい自然文検索を試験的に提供したことで話題を集めた。
; 文書 : 文書そのものを入力し、入力した文書と類似する文書を検索する。例示による問い合わせ（Query by Example）と呼ばれることもある。マルチメディア文書検索ではキーワード検索よりも一般的に用いられる方法である。

## 検索アルゴリズム
情報検索に用いられるアルゴリズムは数多く提案されている。ここでは代表的なものについて概説する。情報検索アルゴリズムの詳細については情報検索アルゴリズムを参照のこと。

一般に情報検索システムの構築時にはメタデータ生成時に索引を同時に作成し、検索アルゴリズムによる検索結果の評価の際に索引を用いた最適化を行うが、メタデータの生成法や索引の詳細についてはここでは扱わない。
; パターンマッチング : 検索質問として入力された表現をそのまま含む文書を検索するアルゴリズム。単純にパターンのみを探すだけではなく、活用形の変化による同義語のパターンの不一致を解消した検索を行ったりといった拡張がしばしば行われる。パターンマッチング自体の詳細なアルゴリズムについては文字列探索を参照。
; ブール論理 : パターンマッチングの検索に付け加え、メタデータの属性ごとの絞り込み条件を論理和・論理積などによって組み合わせて併用する検索方法。
; ベクトル空間モデル : キーワード等を各次元として設定した高次元ベクトル空間を想定し、検索の対象とするデータやユーザによる検索質問に何らかの加工を行いベクトルを生成する。ベクトル空間上に検索対象となるベクトルを配置し、ベクトル化された検索質問とデータのベクトルの相関量（ベクトル間のコサイン、内積、ユークリッド距離などが用いられる。）によって検索の対象のデータと検索質問の関係の強さを計算するモデル。
:; 潜在的意味索引付け(潜在的意味分析、LSI) : ベクトル空間モデルの応用として考案された検索アルゴリズム。高次元ベクトル空間を行列として扱い特異値分解を行い、得られた直交低次元ベクトル空間上検索を行う。単純なベクトル空間モデルでの検索に比べて、同義語が用いられている文書間の関連を反映し、検索の対象のデータの内容的な偏りに影響を受けにくい検索を行うことができるというメリットがある。

## 関連項目
* 文書検索
* 全文検索
* 概念検索
* データマイニング
* エンタープライズサーチ
* データ・クラスタリング
* 情報フィルタリング
* TREC
* 地理情報システム
* CBIR(Content-Based Image Retrieval)
* 音声検索
* メタデータ
* フォークソノミー
* 二項分類
* ナレッジマネジメント
* 適合性 (情報検索)
* セマンティック・ウェブ
* セマンティックデスクトップ

## 参考文献

*徳永健伸著 辻井潤一編 『情報検索と言語処理 言語と計算』 東京大学出版会、1999年。
*北研二、津田和彦、獅々堀正幹著 『情報検索アルゴリズム』 共立出版、2002年。
*Ricardo Baeza-Yates, Berthier Ribeiro-Neto. *Modern Information Retrieval*, Addison Wesley, 1999.

## 脚注


## 外部リンク
* 情報検索コース - 研究人材のためのe-learning（科学技術振興機構）
* 

### オープンソースの情報検索システムソフトウェア
*Namazu
*Hyper Estraier
*Senna
*ht://Dig
*汎用連想計算エンジン(GETA)
*Apache Solr

### 主な学術団体
*情報処理学会 情報基礎とアクセス技術(IFAT)研究会
*情報処理学会 データベースシステム(DBS)研究会
*電子情報通信学会 データ工学研究会
*ACM SIGIR:  Special Interest Group on Information Retrieval
*ACM SIGMM:  Special Interest Group on MultiMedia
*ACM SIGIR:  Special Interest Group on Management of Data

### その他
*NTCIR 情報検索システム評価用テストコレクション構築プロジェクト
*Text Retrieval Conference (TREC)