検索技術の目標は「意図」の把握

インターネット検索と最新技術

(2002年11月1日、日経バイト)

Googleを超える決定打は見られず
イントラネットには新技術が投入

インターネットの検索は新しい技術の萌芽は見られるものの、Googleを超える決定打は見られない。それに引きかえイントラネットにはさまざまな新技術が投入されている。「検索対象が限られているので最新技術が有効に使える」(富士通研究所の松井氏)からだ。

検索の精度向上を目標
検索対象は画像や音楽まで

基本的にはどの技術も、検索の精度向上を目標としている。検索対象も文書だけではなく、画像や音楽に広がりを見せている。これらの技術は、企業内の情報共有や、自社のWebサイトの検索サービスを効率化するのに使われる。

「意味検索」と「概念検索」
検索精度を高めるアプローチ

文書の検索精度を高めるためのアプローチは、大きく2つある。文字列の一致に基づく「全文検索」およびその発展系としての「意味検索」と、文字の一致ではなく数学的処理によって近さを判別する「概念検索」だ。どちらの分野にもさまざまな技術が登場し、満足できる検索結果をいかに提示するかというテーマをめぐって飽くなき努力が続いている。検索を実行するユーザを本当に満足させるには、その人が何を欲しがっているのかという「意図」を検索エンジンがくみとる必要がある。しかしそんな技術は、まだ登場していない。

全文検索

検索の基本は、文字列の一致である。これが全文検索である。全文検索以前は、文書ごとにキーワードを付与して、このキーワードの一致する文書を検索するというのが文書データベースの基本だった。このやり方では(1)キーワードの保守が難しい(新しい言葉への対処)、(2)検索に相当のノウハウが必要、(3)キーワード付けが難しい、といった課題があった。全文検索はこういった課題をクリアするものである。だが字面が一致したものを完璧に拾い集めるのも、実はそれほど簡単なことではない。この点については大きく2つの手法がある。性能向上のための技術開発は続いているが、基本的なアイデアは“枯れた”ものである。

意味検索
「意味」を検索に反映

研究レベルで注目されるのは、いかに「意味」を検索に反映させるかだ。これが「意味検索」である。字面だけでは人間が満足できる検索結果は返せないからだ。

文字の区切り方に設計思想が表れる

全文検索/意味検索ではまず大前提として、検索語の文字列を含む文書を正確に取ってくる必要がある。そのためには、文書を適切な文字列に分解しなければならない。この処理は、検索対象データ、検索語の両方に対して実行される。検索対象のデータをある程度の長さに区切ってインデクス化しておき、さらに検索語も同じような長さに区切ってインデクスと比較するのである。両者が同じ文字を含んでいても、その区切りが違ってしまっては、正しく検索できないことになる。

文書の区切り方
形態素解析と、N文字インデクス(N-gram)

文書の区切り方は、主に2つある。形態素解析と、N文字インデクス(N-gram)である。

形態素解析

形態素解析は、辞書を使って文字列を意味を持つ最小の単位(形態素)に区切る処理だ。例えば「検索エンジンを使う」という文字列は、「検索」「エンジン」「を」「使う」という4つの文字列に分割する。さらに、それぞれの品詞が何かという情報も取り出せる。

N-gram

これに対してN-gramでは、文字列の意味は考慮しない。一定の長さNで文章を区切り、その単位でインデクスを作る。先ほどの文章をN=2としたN-gram方式で分割すると、「検索」「索エ」「エン」「ンジ」「ジン」「ンを」「を使」「使う」となる。

「ノイズのなさ」を得意とする形態素解析
N-gramは「漏れのなさ」

「正しい」検索に必要なのは、「ノイズのなさ」と「漏れのなさ」である。このうち「ノイズのなさ」を得意とするのが形態素解析である。一方、N-gramは、「漏れのなさ」に秀でている。どちらを重視するかで、採用する方式は変わる。

ノイズの少ない形態素解析

形態素解析だとノイズが少なくなる理由は、意味のある単語に基づいてインデクスを作れることにある。検索語はほとんどの場合、単語で入力される。これをそのままインデクスの単位にしているため、部分的に字面が一致しているだけの意味のない文字列を拾わずに済む。

インデクスの大きさ

インデクスの大きさでも形態素解析が有利である。長い単語をそのまま切り出すので、一定の長さで文字列を細切れにするN-gramに比べて、インデクスの数を減らせる。N-gramのような重複もない。

類義語辞書(シソーラス)を用意
ジャストシステムの「Concept Base」

さらに形態素解析のメリットとして、言語情報を使ったさまざまなチューニングをしやすいことも挙げられる。品詞の情報が得られるため、あまり意味を持たない助詞の重みを下げる、といった調整ができる。意味のある単位で文字を区切っているので、同じ意味を持つ言葉を集めた類義語辞書(シソーラス)を用意し、検索の際にそれを使って表現のゆれを吸収するなどといった処理もやりやすい。インクトゥミジャパンの「Inktomi Enterprise Search」やジャストシステムの「Concept Base」などがこの方式を採用している。

漏れなく検索できるN-gram

一方で、N-gramを採用するエンジンは「漏れのない」検索に重点を置く。住友電気工業の「Quick Solution」、リコーの「Ridoc Document Server Pro」などがN-gramを採用している。形態素解析では、語の区切りが適切でなかった場合、検索漏れが発生する。例えば京都の東地域を意図した「東京都の観光名所」という表現が、形態素解析で「東京」「都」の単位で区切られてしまった。この情報は、「京都」という検索語では絶対に検索できなくなる。

漏れたデータは救いようがない

N-gramならこの問題は起こらない。その代わり「プロ」で「プロダクト」まで拾ってしまう検索ノイズは増えるが「漏れたデータは救いようがない。ノイズは、順位付けを工夫することで下に持っていける」(リコー画像システム事業本部ソフトウェア研究所第一研究室の小川泰嗣氏)。

N-gramの利点

さらにN-gramの利点として、辞書をメンテナンスしなくて済むことがある。「企業では、辞書に入っていないような特殊な言葉が多く使われている。それをいちいち辞書に登録するのは大変だ。だから辞書が不要なN-gramを採用している」(住友電気工業 企画部 情報通信市場開発グループの山田大氏)。仕組み上、日本語以外の言語にもそのまま同じ処理が適用できるメリットもある。

アドイン研究所の「Flex Search」

文字列の単位で比較するために、多少の表記のゆれを吸収できるのもN-gramのメリットだ。これを特徴とするのがアドイン研究所の「Flex Search」である。Flex Searchは、1文字単位で文字を切り出し、その文書中の位置をインデクスに書き込んでおく。検索時には、インデクスから検索語に合致する文字を抽出し、その文字の位置情報と検索語の位置情報を見て、連続性を判断している。このため少しの文字の違いは同じと見なせる。

両方の利点を取り込む動きも

以上のような得失があるので、検索結果の精度を高めるために、形態素解析とN-gramの両方の利点を取り込んだエンジンもある。

特許情報検索サービス「NRIサイバーパテントデスク」

エヌ・アール・アイ・サイバーパテント(NRIサイバーパテント)の特許情報検索サービス「NRIサイバーパテントデスク」では、文字列一致の処理ではN-gram、より幅広い情報を取得しようとする処理では形態素解析と、両者を使い分けている。検索漏れが、企業にとって大きな損失をもたらしかねないからだ。

住友電気工業「Quick Solution」

意味のある単語を統計的に抽出し、関連語の提示などに使うのが住友電気工業のQuick Solutionである。機械的に区切った文字列の中で意味を成さないものは、全文書を通して見たときに出現頻度が低い。これを利用して、一定の出現頻度を持つものを単語として切り出している。

文書が持つ情報も利用する
検索とノイズ

全文検索では、検索語が文書中のどこに、どのような意図で使われているのかを加味していない。自分が探しているのとはまったく違う文脈で検索語が出てきたなら、それはノイズになる。

文書の構造を利用
XMLを使う

そこで、文書の構造を利用しようという考え方がある。例えばXMLを使えば、文書のどこが「要点」で、どこが「本文」なのかを指定できる。こういった項目ごとに検索すれば、精度の向上につながる。

XML文書検索エンジン「LISTA」

NTTサイバースペース研究所では、「LISTA」というXML文書検索エンジンを開発している。検索時に、検索語に加えてXMLのどの要素を検索対象とするかを選択する。ここで選ばれたタグの中にある文字列だけを対象とするので、例えばタイトル部分だけを検索できる。

NTTサイバースペース研究所

NTTサイバースペース研究所ではこの技術を、技術情報の検索に使っている。技術内容について知りたいのに、検索語が使い方にあるようなノイズを減らすことができる。

Semantic Web
検索のための情報を明示的に付け加える

XMLを使ってWebの文書にキーワード付けしようという提案もある。W3Cが中心になって記述方法の策定を進めているSemantic Webである。Webページに関する情報を明示的に書き加えておき、それを利用することで目的の情報を速く的確に見つけることを目指す。例えば複数の書店がWebページを開設した。RDFを使って、そのページが書店のものであることと、所在地や営業時間などを記載しておく。こうすれば、ユーザは複数の書店の情報を横断的に検索できるようになる。

RDF(Resource Description Framework)
XMLで定義

この付加情報は、RDF(Resource Description Framework)という仕様に基づいて記述する。Webページの場所や作者のメール・アドレス、それが何に関するページなのかという情報などを、XMLで定義する。こうして、そのWebページに検索のための情報を付け加えるのである。

キーワード付けに基づく文書データベース

このことからわかるように、Semantic Webは基本的にキーワード付けに基づく文書データベースである。その課題も必然的に内包する。適切なキーワードが付けられてなかったりするなど、多くの困難な問題にぶち当たるだろう。

シソーラス
同じ意味で字面が違う言葉の検索は難しい

全文検索から意味検索へ進む第一歩として、一般的に使われているのがシソーラスである。同じ意味を持つ語を人間が辞書に登録しておき、それを使って検索語を拡張して検索漏れをなくす。

オントロジ
概念的な語と語の上下関係や包含関係を記述

シソーラスを発展させたものが「オントロジ」だ。オントロジでは類義語情報だけでなく、概念的な語と語の上下関係や包含関係を記述しておく。オントロジを使えば、単語の置き換えではない表現の違いも吸収できる可能性が出てくる。(サジェスト

分野別のシソーラスやオントロジ

ただし、シソーラスやオントロジの構築は容易ではない。分野が違えば語と語の関係は変わる。したがって、分野別のシソーラスやオントロジが必要である。人手でこのような膨大なデータを作成するのは大変な作業だ。さらに同じ分野でも、人によって語の定義にはゆれがある。完璧なシソーラスやオントロジはおそらく作れないだろう。

意味を理解するにはブレイクスルーが必要
格フレーム

意味検索の最大の課題は、どうやって「意味」を引き出すか、にある。例えば文章を単語に分割するだけでなく、分割した単語同士の係り受けを参照する方法は以前から考えられていた。これをさらに進め、係り受け関係にある単語同士がどのような関係にあるかという情報(格フレーム)を使って、文章の意図を把握しようとしている。

国際的な検索コンテスト
TREC(Text Retrieval Conference)

「今ようやく、自然言語処理が情報検索の精度向上に寄与できる可能性が見えてきた」(東京大学大学院情報理工学系研究科電子情報学専攻の黒橋禎夫助教授)という。それを端的に示しているのが、国際的な検索コンテストであるTREC(Text Retrieval Conference)で、1999年からテーマの一つにQA(質疑応答)が挙げられるようになったことだ。QAとはその名の通り、質問された内容に対してピンポイントで答えを返すこと。例えば「アメリカの大統領が誰か調べたい」という質問に対して、それが誰であるかを提示する。

QA(質疑応答)
情報検索と情報抽出

QAは、情報検索と情報抽出により実現される。まず、疑問の内容に関連した文書を検索する。次にその文書から疑問の答えとなる部分を抜き出して提示する。やっとこのようなテーマが研究課題となるレベルにはきた。ただ実用レベルに到達するには相当のブレークスルーが必要だろう。

文書の“意味”から空間に配置
文書の近さを判別

一方で、意味そのものではなく、単語の近さなどから「概念」を数学的に取り出そうというアプローチもある。文書と単語が持つ意味の関連性を数学的な特徴量に変換してから比較する検索エンジンだ。特徴量で数値化することにより、近い値を持つ文書同士を数学的に「似ている文書」として扱う。似ていることを検索の尺度とするため、検索語が一致しなくても似た内容の文書を検索できる。文書の近さを判別する方法には、(1)ベクトル空間モデル、(2)確率モデルの大きく2通りある。

ベクトル空間モデル
意味ベクトル

(1)のベクトル空間モデルは、個々の単語ごとに「意味ベクトル」が作られる。それぞれの文書が含む単語の出現頻度や出現時の近さなどの情報を基に作られた重みに基づいて、文書のベクトルを単語のベクトルを合成して作り出す。この文書ベクトルがインデクスとなる。

文書ベクトルがインデクスに

検索時は、検索文字列を単語に分解したうえで、それぞれの単語のベクトルを合成して検索文字列のベクトルを算出する。この検索文字列のベクトルに近いベクトルを持つ文書が検索結果になる。

文書全体を検索文字列

ベクトル空間モデルでは、「ユーザが1語しか入力しない場合はベクトルを生成するための情報が少ない。類義語でふくらませる」(日本IBM東京基礎研究所ナレッジマネジメントグループ・リーダーの武田浩一課長)。逆に言えば、長い文章をそのまま検索文字列としてベクトル生成に使えるため、文書全体を検索文字列として使えることも特徴だ。

ふるまいの似た単語を一つのベクトルに統合
次元の縮退

問題は、単語一つひとつに固有のベクトルを与えてしまうと、莫大な次元数の多次元空間となってしまう点である。検索文に含まれる単語から動的に検索文のベクトルを生成するため、検索語に文章そのものを使うような検索では計算量が多くなりすぎる。似たようなベクトルを持つ単語をまとめて次元の数を抑えるのがほとんどだ。これを「次元の縮退」または「次元の圧縮」と呼ぶ。「半分の情報をノイズとして捨てることで、次元の数を抑えている」(日本IBM東京基礎研究所の青野雅樹専任研究員)。各社とも、いかに元の次元が持つ情報を変化させずに次元を削減するかを競っている。例えば経験則を使ったり、ニューラルネット、主成分分析などの手法を使って関連性のあるものを抽出したりする。

次元の圧縮

ただあまり次元を圧縮してしまうと、今度は特徴となるべき専門用語が他の単語と同じベクトルにまとめられてしまう。そこでベクトル空間を生成する前の段階で、検索対象とする分野に特徴的な単語のみを選び出す。

NRIサイバーパテント
形態素解析の辞書

もっとも単純な手法としては、基になる文書を分野ごとに分けてしまう方法がある。NRIサイバーパテントでは、技術分野ごとに形態素解析の辞書とベクトル空間を用意する。単語を切り出す辞書も分野で変えられるので精度も上がる。

連想検索エンジン
日立製作所と国立情報学研究所が共同開発

検索文のベクトル空間を生成する手順自体を工夫する方法もある。日立製作所と国立情報学研究所が共同で開発した「連想検索エンジン」では、検索文字列のベクトル生成に使う単語を200語程度に絞り込むことで次元圧縮の副作用を避ける手法を採っている。あらかじめ単語のベクトルをまとめるのではなく、連想検索エンジンでは単語のベクトルは固有に持たせた。検索実行時に有効な単語を絞り込んで計算の負荷を減らしている。

ユーザが満足する確率を推定する手法も
マイクロソフトの「Share Point Portal Server」

もう一つの確率モデルは、ユーザが似ていると判断する「確率」を確率統計モデルで推定して、確率の高いものを類似文書として返す方法である。住友電気工業の「Quick Solution」、マイクロソフトの「Share Point Portal Server」などの検索エンジンに使われている。

確率を推定するモデル

確率を推定するモデルを作るには、確率を算出する元になる統計データが欠かせない。検索における確率モデルの精度は、実際に検索をしたユーザが重要と判断したデータによって統計的に決まるべきである。しかし、ユーザが実際に全文書を検索した結果から統計データを取るのは不可能に近い。そこで、ある単語が出現する文書数などの事前に測定可能な特徴量を用いて、確率モデルを表現しておく必要がある。

確率統計学に基づいた確率モデル

ベクトル空間モデルを用いた検索と異なり出現集中度を単純に足し算していくため、計算の負荷が比較的低い。また、ユーザが選んだ検索結果と推定した確率とのマッチングを学習する仕組みについて「確率統計学に基づいた確率モデルの方が、ベクトル空間モデルよりもユーザの検索行為を学習させる際の理論的背景が明確」(住友電工 情報システム管理ソリューション開発部 プラットフォーム開発課の武並佳則主査)だという。

単語表記の「ゆれ」を数学的に吸収する
パターン認識

概念検索とは少し違うが、単語の表記のゆれを数学的な値に置き換えることで、類似文書を検索する技術もある。文字を単語としてとらえない「パターン認識」を使う。ディジタル化した文書ファイルの実体は、0と1によって表されたバイナリ・ファイルに過ぎない。そのビット・パターンを比較することで検索する。

パターンを特徴量に変換

実際にはパターンを特徴量に変換し、変換結果をインデクスとして格納しておく。検索時には、ユーザが入力した検索文字列の特徴量を算出して、インデクスの中から類似する特徴量を含む文書を抽出する。このとき、ある程度まで一致と見なすパターンの類似度に幅を持たせることで、表記にゆれのある検索結果を返すようにしている。

ジップインフォブリッジの「SAVVY」シリーズ

ただし、パターン認識だと、言葉の意味がまるで違ってもパターンの似た文章が結果として返ってくる可能性がある。製品ではこの弱点を補う必要がある。例えばジップインフォブリッジの「SAVVY」シリーズでは「完全一致の検索機能を組み込んだ」(ジップインフォブリッジSAVVYビジネス部の太田雅之部長)。

紙文書の検索にパターン認識を応用

データを文字列として捉えないということは、検索の対象はテキストに限らないということだ。パターン認識を検索エンジンに採用したジップインフォブリッジは「80年代から図面やセンサの波形といった検索機能をSAVVYベースの個別案件で利用している」(ジップインフォブリッジ システム営業部の和田浩一部長)という。

三菱電機の検索エンジン
紙文書を電子化して文書管理

三菱電機も、パターン認識を完全一致と組み合わせた検索エンジンを開発した。適用分野は紙文書を電子化して管理・検索する文書管理ソフトだ。

OCRによって変換したディジタル・データ
「PDA」が「P1)A」

OCRによって変換したディジタル・データは、完全なテキスト・データに変換できるとは限らない。印刷のかすれた紙文書や筆跡の整っていない手書き文字の場合、誤った文字列として認識してしまう。1文字が別の1文字に誤認識された場合は別候補を比較対照に含めることで対処することもできる。「ただ1文字が2文字に分かれてしまうようだと、候補となる誤認識のパターンが増えすぎるので簡単にはいかない」(三菱電機情報技術総合研究所 音声・言語処理技術部の岡田康裕チームリーダー)。例えば、「PDA」という表記が「P1)A」として取り込まれてしまうような場合である。認識時に人間が修正してやる方法もあるにはあるが、文書の量によっては現実的な方法ではない。

認識に失敗した文字
パターン認識による検索

そこで三菱電機は認識に失敗した文字だけをパターン・データとして保存する。「ビットマップに変換して、輪郭成分を特徴量として使う」(三菱電機情報技術総合研究所 音声・言語処理技術部の平野敬主事)。認識に失敗したと見なす部分にだけ、パターン認識による検索を併用する。

適切な検索語を提案するシステムも
適切な検索語

ここまで見てきた技術はどれも、ユーザが適切な検索語を入力しなければならない。しかしそこが難しいという面もある。そこで適切そうな検索語を提案するシステムが出てきた。

ダイアログナビ
システムが問いかけ

その一つが、東京大学の黒橋禎夫助教授の研究室による「ダイアログナビ」である。ダイアログナビでは、探したい内容をそのまま文章で入力する。この内容があいまいだった場合に、システムが問い返す。これに答えていけば、自然に欲しい情報にたどり着けるというものだ。

マイクロソフトのサポート技術情報
問い返しと選択肢

ダイアログナビは現在、マイクロソフトのサポート技術情報などの検索用システムとして、マイクロソフトのWebサイトで公開されている。例えば「エラーが出た」などのあいまいな質問を入れると、そのエラーの発生状況を聞き返す問い返しと、その答えとなる選択肢が表示される。これを選んでいけば、最終的にユーザが望む情報が検索結果として表示される。問い返しと選択肢は、マイクロソフトのサポート担当者数名が作成している。

アスクジーブスジャパン
ユーザに問い返す検索サービス

アスクジーブスジャパンも、企業のWebサイトを訪れたユーザに問い返す検索サービスを提供している。これによって、ユーザが望む情報にたどり着く時間の削減を目指す。例えば「どんな製品があるの?」という質問を入力すると、この質問の意図として考えられるものが5種類表示される。さらにそれぞれが細かい選択肢を含んでおり、リストボックスで選べる。「通常の検索は、ユーザに検索語を思いつかせるという負担を強いている。機械的な検索ではわからない部分を、人手をかけて作成した問い返しで補っている」(技術部テクニカル・ディレクターの樋口将嘉氏)。問い返す文章は、アスクジーブスジャパン社の専門のチームが手作業で作成している。選択肢の一つとして、実施中のキャンペーン情報などを提示するのも特徴だ。

ジャストシステムのConcept Base IV
ビューポイント

ジャストシステムのConcept Base IVには、検索文を考えるスキルの問題で必要な情報にアクセスできない人をなくすために、システム管理者があらかじめ適切な検索文を登録しておく「ビューポイント」という仕組みがある。検索語はフォルダと対応づけられており、フォルダにアクセスすれば必要な情報が自動的に集められている。

人手が介在せざるを得ない現状
シソーラスやオントロジと同じ問題

ただしここで注意すべきなのは、どのアプローチも、やはり人手に頼っているということである。どんな検索語に対してどんな問い返しと選択肢を返すかという情報や、ビューポイントに登録しておく検索文は、すべて人が作成している。つまりここにも、シソーラスやオントロジと同じ問題はある。機械が認識できる文字列の情報を超えた、意味の情報まで検索に使おうとすれば、現時点ではどうしても人手が介在せざるを得ない。

画像や音声といったメディア・データの検索
ディジタル・カメラやMP3プレーヤの普及

ディジタル・カメラやMP3プレーヤの普及に伴い、画像や音声といったメディア・データを検索するニーズは高まっている。しかしそのとき手がかりとなるのはファイル名やデータの大きさくらいなものだ。個人向けの画像管理ソフトにはタイトルや検索語などのデータを付け加えられる製品もある。しかし「検索のための検索語を前もって画像ごとに入力するのが面倒という個人ユーザが多い」(ソフテック システム開発部の國澤陽氏)。画像データに、画像が持つイメージを客観的に言語化するのも難しい。大規模な画像データベースを構築するとなると「データベースの構築コストが上がるうえに、検索語の付け方が主観に左右されてしまう」(NTTサイバースペース研究所 情報ベースプロジェクト 情報ベースシステム技術グループの寺崎純司氏)。

頭に浮かんだ画像を探す
あいまいなイメージから画像や音楽を検索する

検索語に頼らずに画像を探すには、何らかの方法でイメージを表したうえで、表したイメージと画像を似ていると判断する仕組みが必要になる。

画像の「近さ」を評価するには

探したい画像のイメージを表す代表的な手法としては、(1)イメージの基準となる画像を指定する、(2)イメージを実際に描く、の二つが挙げられる。難しいのは画像の「近さ」を評価するための特徴量をどう抽出するかだ。

リコーは、画像を格子状に分解
特徴量から類似画像を検索

一般に配色や輪郭、模様などの特徴を抽出して、それぞれの特徴量から類似画像を検索する。例えばリコーは、画像を格子状に分解した上で、(1)画像全体の色合い、(2)色の分布(配色)、(3)輪郭線の分布、(4)模様や質感、の四つの特徴量を元に画像を検索する技術を開発した。「汎用のアルゴリズムはあり得ない。人間の感性に合わせたチューニングや検索対象に合わせたチューニングが欠かせない」(リコー画像システム事業本部 ソフトウェア研究所 第2研究室の岩崎雅二郎主席係長研究員)という観点から、ユーザが自由に特徴量の重み付けを決められるようにしている。

NTTサイバースペース研究所
複数のオブジェクトが重なり合っている

NTTサイバースペース研究所では、一つの画像を100個程度の部分画像(オブジェクト)に分解してそれぞれの特徴を抽出している。単に格子状に区切るのではなく、複数のオブジェクトが重なり合っているものとして特徴を捉える。

リコーの画像管理ソフト「デジクリップ」シリーズ
ソフテックの「Visual Shot 9.0」

「昔から画像検索の研究は昔から基本的な部分は固まっていた。当時は具体的なアプリケーションがなかった」(リコーの岩崎氏)ものの、ブロードバンドやディジタル・カメラの普及によって大量の画像を検索する場面が日常化し始めたため商用化が進んだ。リコーは2002年7月にリコーが販売する画像管理ソフト「デジクリップ」シリーズに類似画像検索の機能を組み込んだ。簡単なスケッチ画で類似画像を検索できる。これを利用した例としては、ヤフーが運営するオークション・サイト「Yahoo!オークション」がある。ある商品画像から別の類似画像を検索するサービスを2002年7月に開始した。ソフテックも2002年6月に色成分を特徴量として類似画像を検索する「Visual Shot 9.0」を発売した。

聴きたい音楽を見つけ出す
音楽検索

画像検索の商用化をディジタル・カメラとブロードバンドが加速したのと同様に、音楽CDから取り込んだ音楽データやインターネットのダウンロード販売が音楽検索の開発を後押ししている。現在開発が進んでいるのは、パソコン内にあふれる音楽ファイルをユーザが抱くイメージから検索する技術である。画像検索と同じく、検索語なしでいかに音楽の特徴を表現するかがカギとなる。

音楽ファイルのインデクス

一般に、音楽は(1)旋律(メロディ)、(2)和声(コード)、(3)拍子(リズム)の3要素によって特徴付けられている。この3要素は同時に複数の音が混在するうえに、それぞれ時間による変化がある。数分から数10分におよぶ音楽ファイルから、検索に使う特徴量を抽出するのは一筋縄ではいかない。実際には、音楽ファイルの一部(10秒程度)を切り出して、インデクスを作成することになる。それでも音の周波数成分とその強さからメロディやリズムを特定するのは困難を極める。

うろ覚えのハミングで目的の曲に辿り着く
ハミングから楽曲を検索する「サウンドコンパス」

一つの解決策は、音そのものではなく演奏データを使う方法だ。NTTの研究部門であるNTTサイバースペース研究所は、ハミングから楽曲を検索する「サウンドコンパス」を開発した。2000年12月から第一興商のカラオケ直営店「ビッグエコー三鷹中央通り店」などで商用実験を始めている。

通信カラオケ
ハミングとMIDIデータの特徴量を比較

通信カラオケは、カラオケ用の機器が演奏するデータを使って特徴量を算出できる。通信カラオケの演奏データ「MIDI(Musical Instrument Digital Interface)」はテンポや旋律の音符といった楽譜に相当するデータがディジタル・データになっている。検索したい曲をメトロノームに合わせて口ずさむ(ハミング)と、ハミングとMIDIデータの特徴量を比較して似た曲を選び出す。

旋律の変化を数値化

特徴量として使うのは、旋律の変化を数値化したもの。前の音に対する音の高低を旋律の特徴として利用する。ユーザが楽曲よりも高い音または低い音から歌い始めても検索できるようにするためだ。

好みの曲を選んでくれる
松下電器産業の「ミュージックソムリエ」

あらかじめ探したい曲が決まっているのではなく、「自分の好みにあった曲」というあいまいな表現に合う楽曲を探す技術の開発も進んでいる。松下電器産業が2002年3月に公開した「ミュージックソムリエ」である。パソコンに取り込んだ音楽ファイルを、「激しさ」「躍動感」「爽快さ」「素朴さ」「ソフトさ」の五つのパラメータに基づいて分類・検索する技術だ。ユーザがそれぞれのパラメータの値を指定することで、気分に合った音楽の候補を選んでくれる。ある曲と似た曲を探す、という類似曲の検索も可能である。2002年内にジュークボックス・ソフトとして製品化する予定だ。

国内のポップ・ミュージックを対象

一言で音楽といっても、クラシックから歌謡曲、民族音楽とさまざまなジャンルがある。ミュージックソムリエは、これらすべての音楽を検索対象として想定しているのではない。「国内のポップ・ミュージックを対象にチューニングを施した」(松下電器産業 マルチメディア開発センター 音響グループ 音響第3チームの三之チームリーダー)。そのため、ミュージックソムリエには、(1)音楽ファイルから特徴量を抜き出す部分を動的に算出する、(2)音楽データの波形から直接特徴量を抜き出す、(3)主にリズムに着目している、という特徴がある。

印象を決めるのは“サビ”の部分
最も印象的な部分を取り出す

音楽は始めから終わりまで同じ音が続いているわけではない。先頭や中間部分、末尾などで印象が異なる曲がほとんどだ。一方特徴量は、音楽データのうち7~8秒間しか対象にしない。どの部分を取り出すかは「最も印象的な部分を取り出す」(松下電器産業 マルチメディア開発センター 音響グループ 音響第三チームの田川潤一技師)ことを目指している。いわゆるサビに当たる部分だ。具体的には、ドラムのフィルイン、テンポのゆらぎ、といった特徴から抜き出す部分を特定する。

音楽ファイルが持つ波形データ
周波数成分から音の変化量

(2)については、ミュージックソムリエでは、音楽ファイルが持つ波形データから8つの特徴量を抽出する。周波数成分から音の変化量を、音量の大きい部分が規則的に並んでいるところを拍の頭を推定してテンポやテンポのゆらぎを、といった具合である。この特徴量同士がお互いにどれくらい影響を与えるかを統計学的手法で解析して、「激しさ」「躍動感」「爽快さ」「素朴さ」「ソフトさ」の5つのパラメータに集約した。

2次元の座標に音楽ファイルを配置
人間の印象が必要に

このパラメータと実際の曲を対応付けるには、人間の印象が必要になる。ミュージックソムリエでは、被験者50人に200曲の音楽データを聴かせて、それぞれの曲を5つのパラメータで表現してもらった。この統計データを解析して、最終的には2次元の座標に音楽ファイルを配置して音楽の類似度を目で見えるようにしている。

「音響心理実験による音楽嗜好計算モデルの構築」実験
情報処理振興事業協会(IPA)

これとは別に、ユーザ自身の好みを学習させることで、好みに合った音楽を検索しようという試みもある。情報処理振興事業協会(IPA)が主催する「未踏ソフトウェア創造事業」の一環として研究された「音響心理実験による音楽嗜好計算モデルの構築」実験である。「ユーザが多くのパラメータを指定することなしに、シンプルなモデルで好みの音楽を選曲する」(未踏プロジェクトに参加した齊藤幹氏)という考え方に基づいている。

ユーザの好みの音楽を選出
曲の特徴量

具体的には、音の高さと長さを曲の特徴量として使う。ユーザの印象は、200曲の楽曲をユーザが実際に聴き、「全く好きではない」や「非常に好きな曲だ」といった尺度に集約する。曲の特徴量とその曲に対するユーザの印象の関連性から、ユーザの好みの音楽を選出する。

データ収集
印象空間

もっとも「1曲のうち10秒を聴いてもらっても、200曲では1時間以上かかる。データ収集のために長時間聴いてもらうのは難しい」(齊藤氏)。ミュージックソムリエはユーザの学習データを必要としないものの、被験者50人の印象空間で自分の好みが推定されてしまう。

楽曲に詳しいレコード店の店員

現在のところ、どちらのアプローチも「絶妙な曲を選んでくれる楽曲に詳しいレコード店の店員のようなその道のエキスパートには敵わない」(松下電器産業の田川氏)という段階だ。

検索用語の解説
インターネットとイントラネットの検索エンジンの役割分担
インターネットの検索エンジンで企業のトップ・ページにたどり着いた後は、各企業が持つ検索エンジンが担当する
補聴器に影響を与える携帯電話のノイズ
PDC方式携帯電話の出す200Hz単位の高調波ノイズが補聴器の受信回路に影響を与える
形態素解析とN-gramの違い
形態素解析は意味を持つ最小の単位に文字を区切る。一方N-gramは意味を考慮せず、決められた長さで分割する。同じ文章でも、形態素解析では4個、2文字単位のN-gramでは8個の文字列に分割される
形態素解析とN-gramのメリットとデメリット
形態素解析は検索ノイズが少なく、N-gramは検索漏れが少ない。辞書を使うことによるメリットとデメリットもある
形態素解析とN-gram両者の欠点
形態素解析では語が適切に区切れなかった場合、検索漏れが発生する恐れがある。代わりにN-gramは、過剰な情報まで拾ってしまう検索ノイズの問題を抱える
LISTAの設定ファイル
同一視するタグや形態素解析エンジンなどをXML形式で指定できる
ベクトル空間モデルを使って意味の似た文書を検索する技術の概要
文書から単語を切り出し、単語のベクトルを合成して文書のベクトルを算出する。近いベクトルを持った文書を「似た」内容の文書として検索する
ダイアログナビ
質問文を入力するとそれに対する問い返しと、選択肢が返ってくる。選択肢を選んでいけば、目的の情報が検索される仕組み。
画像を検索する主な手法
(1)検索語を画像に関連付ける手法と(2)自動的に画像の特徴を抽出する手法の大きく2つある
国内各社の検索機能
三菱電機の「形状特徴併用検索」の検索結果

紙文書のOCRによる読み取りに失敗しても検索語による検索が可能になる。かすれた印刷文字や手書き文字を画像データの特徴量(形状特徴)として保存しておき、検索時にテキスト・データと形状特徴の両方を使う。

アスクジーブスジャパンが自社のWebサイトで提供する検索サービス

「どんな製品があるの?」という質問に対して、5つの選択肢が並ぶ。中には資料の案内なども入れている。

NTTサイバースペース研究所が開発した画像検索技術「Image Compass/Picture」

画像を100程度のオブジェクトが重なり合ってできたものとして捉える。それぞれのオブジェクトの特徴を抽出して比較する。

リコーの類似画像検索技術の製品化例

Yahoo!オークション(http://auctions.yahoo.co.jp/)が2002年7月に提供開始した「類似画像検索サービス」。リコーの画像管理ソフト「デジクリップ3」(http://www.ricoh.co.jp/dc/digiclip/)が備える類似画像検索機能の検索結果。指定した画像や簡単な線画を元に似ている画像を検索できる。

松下電器産業の音楽検索ソフト「ミュージックソムリエ」

音楽の印象を方向付ける要素として「激しさ」や「素朴さ」などの5因子を採用した。それぞれの因子に基づいて音楽ファイルを分類・視覚化する。

その他の検索
grep

grepなどのようにインデクスを使わない検索もあり得る。ボイヤームーア法というアルゴリズムが有名。もちろん文書データベースのような巨大なものには不向きである。

フリーの形態素解析システム「茶筌(ちゃせん)」

フリーの形態素解析システムもいくつか存在する。有名なものに、奈良先端科学技術大学院大学 情報科学研究科 自然言語処理学講座による「茶筌(ちゃせん)」(http://chasen.aist-nara.ac.jp/index.html.ja)がある。

松下電器産業の検索エンジン

松下電器産業はこの特性をうまく生かした検索サービスにエンジンを提供している。本や音楽のタイトルや、医薬品の名前などの検索である。松下電器産業 第2事業部営業部の八重樫清美部長は「例えば“ザ☆ピ~ス!”という曲のタイトルを正確に覚えている人は少ない。“ザピース”を検索語にしても“☆”や“~”などの文字が違うためうまく検索できない」と指摘する。しかしこの点、「1文字単位で切り出して連続性を見ているので、多少途中に違う文字が入っても問題なく検索できる」(松下電器産業 第2事業部の徳永雅彦部長)。

Semantic Web

しかしSemantic Webには、Webページの作成者が情報を記述してくれなければ意味がないという問題がある。このため、「Semantic Webは人手に頼るので、はやらないのではないか。文書作成時に自動的に情報を生成してくれるようにならないと難しいものがある」(富士通研究所の松井氏)との指摘もある。

シソーラスを自動構築
まだ実用的なレベルではない

シソーラスを機械的に自動構築するための研究も進んでいる。しかし「まだ実用的なレベルではない」(東京大学の黒橋助教授)。語と語の上下関係を取るのは比較的容易だという。「○○というワープロ」という表現から、ワープロは○○の上位にある言葉だと言うことがわかる。ただし、類義語まで自動的に判別するのは難しい。「××というワープロ」という表現が別にあっても、○○と××が必ずしも同じレベルにある語かどうかはわからない。ましてや、同じ意味を持つかどうかの判断はできない。

意味ベクトルの「方向」
文書内での登場頻度

意味ベクトルの「方向」は文書内での登場頻度などによって決まる。ただし最初はある程度手動で作っておかなければならない。

連想検索エンジンの検索精度
特徴語の選択

連想検索エンジンの検索精度は、適切な単語を選び出せるかどうかで検索の精度が決まる。そのため、「難しいのは特徴語の選択。一般的な単語と専門用語のバランスを取る」(日立製作所 中央研究所 バイオシステム研究部の丹羽芳樹主任研究員)ことになる。

Quick Solution
出現集中度

例えばQuick Solutionでは、出現集中度という特徴量を使っている。豊橋技術科学大学との共同研究の結果発見したもので、全文書で見るとあまり使われない単語は、ある特定の文書内に集中して現れる確率(出現集中度)が高いという性質を利用したものだ。この出現集中度も考慮して、確率モデルを表現した。

インクリメンタル検索「Migemo」
日本語の文字をローマ字で検索

このため高林氏は、編集中のテキストを検索するツールの開発もしている。その成果が、日本語の文字をローマ字のままでインクリメンタル検索する「Migemo」(http://migemo.namazu.org/)である。

Googleの「イメージ検索」
画像周辺にあるテキストを検索語

インターネットに置かれた画像であれば、ある程度までは検索語による検索も可能である。多くの場合、Webページに含まれる画像は、画像の内容を表すテキストが付随しているからだ。例えばGoogleの「イメージ検索」は、画像周辺にあるテキストを検索語とする。画像ファイルや音楽ファイルそのもの対象として検索しているわけではない。

画像検索技術
オブジェクト・データベース

画像のオブジェクトはオブジェクト・データベースに格納・検索される。「もともとオブジェクト・データベースの研究から派生した」(NTTサイバースペース研究所の寺本氏)という経緯が画像検索技術に反映された形だ。

学習用のWebアプリケーション

齊藤氏は、齊藤氏のWebサイト(http://www.i-cann.org/mitou2001/)で学習用のWebアプリケーションを公開している。

速さを目指す2つのアプローチ
2種類の検索の速さ

検索には精度だけでなく、速さも求められる。速さには2種類ある。一つは、文書の更新が検索に反映されるまでの速さ。そしてもう一つが、検索語を入れて結果が返ってくるまでの速さである。

文書の更新が検索に反映されるまでの速さ

更新した文書をすぐに検索するために、インデクス作成の処理を工夫したのがリコーである。通常は文書量が増えるにつれてインデクスは大きくなる。文書データを更新したり、新たにデータを追加するというインデクスの更新に時間がかかるようになる。

リコー
インデクス作成の処理を工夫

リコーは大きなインデクスと小さなインデクスを用意して、この問題に対処した。インデクスのサイズが小さければ、登録に要する時間は短くて済む。これを利用して、登録用の小さなインデクスを二つ用意し、それがいっぱいになったら随時大きいインデクスに足しこむという工夫をした。「これまで登録する文書に比例して登録時間がかかっていたが、登録済み文書数に関係なく、登録時間を一定にできた」(リコーの小川氏)。

検索語を入れて結果が返ってくるまでの速さ

検索語に対して高速に応答を返すためのハードウェア技術を開発したのが三菱電機だ。大容量のデータを対象とする検索システムの場合、ストレージからのデータ転送がボトルネックになりやすい。この解決のために、データを主記憶にキャッシュする方法が採られてきたが「メモリ上にデータをためる方法では、ある規模を超えるとスラッシングが発生する。メモリの価格低下によって大容量主記憶が可能になってきているとはいえ、データ量はそれ以上に増え続けている」(三菱電機ITソリューションシステム部の郡光則チームリーダー)。

三菱電機
1000億文字に対する全文検索を1秒で

まずPCサーバにストレージを分散させる。そしてディスクを読み書きするときに、常に一方向にシークするだけで必要なブロックが読み出せるように、インデクスの構造に沿ってデータを書き込んでおく。これでアクセス時間を短縮した。複数のディスク装置に均等にデータを配分し、1つのディスクに負荷が集中することによる性能低下も防いだ。16台のPCサーバをストレージに使って、1000億文字に対する全文検索を1秒でできるようになったという。

リコーのインデクス更新の仕組み
大きなインデクスと小さなインデクス

大きなインデクス一つと、小さなインデクスをAとBの二つ用意しておく。データはまず、小Aに対して登録する。小Aが一定のサイズを超えると、これを大きいインデクスに足しこむ処理をする。その間にデータが登録された場合は小Bのインデクスに追加する。小Aから大にデータを移し終わると、小Aは空の状態になる。さらに登録が進み、小Bがいっぱいになると、今度は小Bから大へのデータ移動が行われる。この間は、小Aがデータの登録を担当する。

人手によるデータ整理も有効
全文検索システムNamazu

1997年、1人の大学3年生が自分用に開発した全文検索システムNamazu。シンプルで高速、さらにフリーであることも手伝って、今や企業や官公庁を始め幅広く使われている。ただしその開発の当事者で、現在はソニーコンピュータサイエンス研究所のアシスタントリサーチャーである高林哲氏は今、まったくNamazuを使っていないという。

開発者がNamazuを使わない理由
自分で情報を整理した方がいい

高林氏はその理由をこう語る。「情報は、とにかくためておいて後で検索すればいいと言われてきたし、自分もそう思っていた。だからNamazuを開発した。しかし大規模なグループならいざ知らず、個人なら自分で情報を整理した方がいいと思うようになった」。

全文検索システムの根本的な問題
インデクス作成に伴うタイムラグ

高林氏は、Namazuのような全文検索システムには根本的な問題があると指摘する。インデクス作成に伴うタイムラグである。タイムラグを減らすにはインデクスを頻繁に作成する方法があるが、「インデクスを1時間に1回作っても、1時間以内に来たメールは検索できない。1時間以上前の情報だからNamazuを使う、そうでなければ自分で探す、という分類をその都度頭でしなければならない」(高林氏)。

知識をまとめてメモ(テキスト・ファイル)に残す

今は、知識をまとめてメモ(テキスト・ファイル)に残しておくという方法を採っている。「これは決して単調で無駄な作業ではない。自分の中で知識を整理できるため大きな意味がある」(高林氏)。メールの内容も、自分の興味ある部分をメモに抜粋している。このメモは今、2Mバイトほどになっている注A)。

アスクジーブス
人手によるメンテナンスは絶対必要

情報検索に人手をかけることの重要性は、アスクジーブスも強調する。アスクジーブスは検索語の意図をくみ取るための問い返しの情報を人手をかけて作成している。「言語はどこまでいっても人が面倒を見なければならない部分は残る。人が考えていることは機械にはわからないからだ。人手によるメンテナンスは絶対必要」(アスクジーブスの樋口氏)。

Yahoo!のカテゴリ検索
人手をかけることの重要性

人が情報を見て分類することの有用性は、Yahoo!などのカテゴリ検索がいまだ根強い人気を誇っていることを見ても明らかである。

検索サイト、特色把握して併用を

少しの工夫で検索の精度向上

(2005年10月18日)

インターネット利用に欠かせない検索サイト
ネット検索のちょっとした小技

さまざまな情報があふれかえっているインターネットを利用する際に欠かせないのが各種の検索サイト。アドレスを暗記しているような超有名サイト以外へ行こうとすれば、検索サイトでキーワードを入力し、表示された一覧から目的に合いそうなものを選ぶ―といった作業は、ほとんどの人が経験しているはず。この検索サイトも時代とともに進化しているが、ちょっとした小技を使うだけで、目指すページへたどり着くことは一気に簡単になる。

Yahoo!JAPAN
検索システムに大きな変更

国内で最もなじみが深いポータルサイト(玄関口)といえる「Yahoo!JAPAN」は、今月から検索の結果を表示するシステムに大きな変更を加えた。

Yahoo運営への登録

これまでのシステムでは、キーワードを入れて「検索」ボタンを押すとまず表示されたのは、運営者がヤフー側へ登録を申し込み、それが認められたサイトだった。これに対し、新システムでは登録の有無にかかわらず、キーワードと関連性が高いと判断されたものから順に表示される。

ロボット(またはボット)検索

表示対象となるのは、自動的にネット上を探索し、さまざまなウエブページにどのような情報が記されているかを収集してくる「ロボット(またはボット)検索」によって集められたもの。

最も有名なのが「グーグル」
登録方式からロボット検索方式へ

登録の意思にかかわらず、ウエブページが検索結果の表示対象になる(管理者側がサーバーに“宣言文”ファイルを置くことで拒否するのは可能)ロボット検索は、当初主流だった登録方式では、ウエブサイトの爆発的な増加についていけないことが明らかになってからしだいに普及し、現在では主流になっている。この方式の検索サイトで最も有名なのが「グーグル」だ。

人気サイトの構造が変わる可能性も

実は、Yahoo!JAPANでも以前からロボット検索を行っていたが、この結果を見るためには、最初に表示される画面ではなく、「ページとの一致」という項目へ飛ぶ必要があった。今回の変更は、つまりは表示される項目の順序を変えたものだが、現実には最初に出てきた候補の中から行き先を選ぶ人が圧倒的に多いだけに、人気サイトの構造が変わる可能性なども秘めている。

Yahoo!JAPANのロボット検索
米Yahooの独自システム

ちなみに、Yahoo!JAPANのロボット検索は以前はグーグルのシステムを使っていたが、昨年からは米Yahooの独自システムを採用。現在では、両検索サイトで同じキーワードを入れても、検索結果はかなり異なったものになることが多くなっている。

「村上ファンド」を検索

例えば、話題の「村上ファンド」をキーワードにして検索した場合、村上世彰氏が経営する会社「M&Aコンサルティング」のサイトが最上位に表示されたのはどちらも同じ。

2つめからは違う検索結果に

だが、Yahoo!JAPANで次の候補として出たのは、村上ファンドが買っている株の銘柄を見分ける方法などを記した個人のページだったのに対し、グーグルの次の候補は、別の個人が村上ファンドの阪神電鉄株買いについての感想を記したある日のブログ。そこから先で表示された候補もバラバラだった。

複数の検索サイト併用がおすすめ
ブログだけを検索できる検索サイト

もちろん、検索サイトは両サイトのほかにも多数あり、例えばブログだけを検索できる機能を持つものがあるなど、それぞれの特色を持っている。特定の検索サイトだけでなく、複数を併用すれば、それだけアクセスできる情報も広がるというわけで、時間があればなるべく多くの検索を試してみることをおすすめしたい。