本文とサイドメニューへジャンプするためのナビゲーションスキップです。

スタートアップガイド

J-Net21 中小企業ビジネス支援サイト

  • J-Net21とは
  • スタートアップガイド
中小機構
  • メルマガ登録
  • RSS一覧
  • お問い合わせ

HOME > 製品・技術を開発する > デジ・ステーション

デジ・ステーション


5分でわかる最新キーワード解説
「連想検索」ってなんだ?!

日々進歩するIT技術は、ともすると取り残されてしまいそうな勢いで進化の速度を早めています。そこでキーマンズネット編集部がお届けするのが「5分でわかる最新キーワード解説」。このコーナーを読めば、最新IT事情がスラスラ読み解けるようになることうけあい。忙しいアナタもサラっと読めてタメになる、そんなコーナーを目指します。
 今回のテーマは連想検索。いくつかの文書を検索キーとしてそのまま入力すると、関連する内容の文書を探し出す検索手法。これまでのキーワード検索では漏れてしまうような情報も、しっかり拾ってきてくれる優秀な検索エンジンです!

連想検索とは

連想検索とは、単語ではなく文書を検索要求として入力し、関連する文書を探し出すことのできる検索技術。検索エンジンを利用する際に、様々なキーワードや組合せを試しても、なかなか望むような結果が得られない、という経験は誰しもあるだろう。
 連想検索を使えば、ユーザーは自らキーワードの組合せを考える必要はない。興味のある内容の文書(複数でも可)さえあれば、それを検索キーとして「丸投げ」すればよい。その結果には、期待していたものに限りなく近い情報である「当たり」もあれば、ほとんど必要としていない情報、つまり「はずれ」もありうるのだが、そのうちの「当たり」の文書を指定すると、その文書を検索キーとしてさらに関連する文書を「イモヅル」式に探し出すことができる(図1)。

図1 丸投げ検索とイモヅル検索のイメージ

資料提供:日立中央研究所

■連想検索のメリット
 従来の検索では、探し出したい内容を示すと思われるキーワードを組み合わせて検索条件として入力し、その結果を見て、「カン」を働かせて他のキーワードの組合せを試してみるということを繰り返していた(図2)。連想検索を使うと、システムが文書同士の類似性を判断し、関連度の高いものから順にランキングにして返してくれるため、カンに頼る部分を大幅に減らすことができ、効率的な検索が期待できる。
図2 検索を「回す」技術

資料提供:日立中央研究所

なお、連想検索は、探したい内容をピンポイントで指し示す言葉がわからない場合にも有効であり、また表記ゆれがあっても内容の類似性をとらえることのできる検索方法であるため、「あいまい検索」や「概念検索」などとも呼ばれる。

連想検索の仕組み

それでは、連想検索はどのようにして文書同士の類似性を判断しているのか、その仕組みを見てみよう。
 最初に概略だけを簡単に説明すると、連想検索はまず、検索キーとして与えられた文書から、その内容を特徴的に表すような単語群を抽出する。次に、抽出された単語から、今度は文書を検索する。つまり、「文書→単語」、「単語→文書」というこの2つのプロセスを踏むことで、類似文書の高速な検索を実現している。
 文書をキーとして、類似する内容の文書を検索する方法は、実はかなり古くから実現方法が提案されていた。1968年にSaltonが発表した「ベクトル空間モデル」は、文書と文書の類似性を考えるための代表的なモデルである。これは、文書中に単語の出現する頻度によって、文書を超多次元のベクトルで表現し、その角度が小さいほど類似しているという考え方だ。ほぼ無数にある単語すべてを網羅した超多次元のベクトル空間を実際に図示することはできないが、3次元空間に置き換えてイメージ的に示すと図3のようになる。

図3 ベクトル空間モデル
図3 ベクトル空間モデル

資料提供:日立中央研究所

この方法だけでは、文書や、出現する単語の数が増えれば増えるほど、計算量がさらに膨大なものとなるため、実用に耐える速度で検索できるデータベースの大きさが限られてしまう。検索エンジンとして実用的なスケールとしては、対象データが数百万件〜数千万件でも、数秒で応答できるようなものでなければならない。
 検索対象となる文書の数を減らさずに計算スピードを上げるためには、単語の数を減らすことでベクトル次元を小さくするしかない。これまでは、そのために類義語辞書などの既成の概念集合や、単語セットを利用する手法が取られてきたが、これでは専門用語などの独特の単語が外れてしまったり、類似性の精度を確保できないという問題があった。

そこで連想検索では、検索要求に応じて単語のベクトル次元の圧縮を行う。まず、検索要求として与えられた文書に出現する単語を、頻度や関連性に応じてその重要度をスコアづけし(図4)、スコアの高い単語を抽出する。こうしてできた「特徴語群」から、今度は検索対象となる文書群に対して反対方向の検索をかけることで、類似した特徴語群を持つ文書を探し出す(図5)。

図4 特徴語抽出

資料提供:日立中央研究所

図5 文書連想検索

資料提供:日立中央研究所

一般的な文章なら50語程度、専門的な学術文献であれば200語程度で、文書の持つ特性を表す「特徴語群」が得られるという。1000万件の文章を検索対象とした場合、100万語の単語が出現するが、1つの文書で使用されているのは数百種類で、全体のわずか0.01パーセント程度に過ぎない。連想検索では、この0.01パーセントを抽出してベクトル空間処理をすることで、高速処理が可能となっている。現在の連想検索エンジンでは、PCを8台〜16台接続したPCクラスタを構築すれば、1000万件の文書データベースでも、スピーディな連想検索が実現できる。

■必要な特徴語の数は?
 連想検索エンジンは、2001年にIPA(情報処理推進機構)の助成を受けて開発が行われたが、その成果は汎用連想計算エンジン(GETA)としてWebサイト上に公開されており、誰でも利用できる。既に、国立情報学研究所のWebcat Plusをはじめ、BOOK TOWN じんぼう新書マップ想−IMAGINE Book Searchなどで、このエンジンを使った書籍データベースの検索システムが実用化されているので、連想検索の体験が可能だ。

連想検索が使いやすいように工夫されたインタフェース

また日立では、連想検索エンジンを用いて、製薬会社などで医薬品開発の際に利用できる文献データベース検索システム「VisionClaire」を製品化している。同製品では、連想検索を活用しやすくする独自のインタフェースが使用されている(図6)。図の左側が論文タイトルのリスト、右側が特徴語群の関連性をマッピングした図だ。右側のマップで単語を選ぶと、左側に表示されている、その単語を含む文書にチェックマークが付けられる。反対に、左側で文書を選択すると、それらの文書に含まれる単語が赤枠つきで表示されるようになっている。
 またこの製品では、異なるデータベース間の検索を簡単に実現できるという連想検索の特長が活かされ、医学文献データベースや特許データベース、社内の実験レポートのデータベースなどが、縦横無尽に行き来できるようになっている。

連想検索の将来

現在の連想検索システムでは、対象文書が数千万件程度に限られているが、将来的にはWebクラスの100億件規模を目指して、さらなるスケールアップが望まれる。このとき、特徴語の数が単純計算で約500倍となるが、これは約5000台のPCが並列に稼働している状態を意味する。こうしたシステムを構築すること自体はそれほど困難でないにしても、PCの故障率から考えると常にどれかが壊れているという前提でシステムを開発する必要がある。こうした課題をクリアし、近い将来に巨大な連想検索システムが構築されることを期待したい。

取材協力 :日立製作所 中央研究所

掲載日:2009年4月 1日

キーマンズネット

出典元:株式会社リクルート キーマンズネット 2006年11月1日掲載分

検索

このページの先頭へ