ゼノン・リミテッド・パートナーズ 代表 神崎 正英 氏
検索についていろいろな話をするにあたり、検索ということを考えるときにどういう切り口がありうるか、どういうところを見ていくと話がしやすいかということを大まかに整理しておく。
いろいろ本が出て注目されたこともあり、「Gという名前で始まる検索エンジンが世界を制覇する」というような話になって、検索が非常に重要だということになってきている。 検索するということは、1つの方法だけではなく、いろいろなことがありうる。そこで、一般的に言われている検索エンジンだけではなく、どういうところに検索の切り口がありうるかを考えてみたい。
まず、検索とはそもそも何かということである。 自分が持っている知識の状態を、何かを調べることによって変えていきたいという動機があって物事を調べていくということを、広い意味で検索と呼ぶとする。
その場合、まず、自分の中に何かの知識状態があり、それを変えたいということで、検索してくれるところ(検索システム)に何かを投げかける。そうすると、検索してくれるところは、自分のところで蓄えているデータ、もしくはWebなりを探しにいって、リクエストに応えられるように調べてきて、その結果をユーザに見せるという流れがある。
その結果を見て、ユーザは満足できなければ、また同じサイクルを繰り返す。こういうサイクルをとりながら、自分の中にある知識の状態を変化させていこうというものが検索だというふうに捉えることができる。
そうすると、一口に検索と言っても、自分が何を知りたいと思っているのか、それをどういう手順で検索してくれるところに伝えるのか、検索してくれるところは何を調べてくるのか、その結果がどのように提示されるのかという、幾つかの切り口をもって検索を考えていくことができる。
検索の入口をどういうふうに設計するか
検索を投げるということに関しては、その検索を投げるというステップが、一般的にはユーザがキーワードの組み合わせを考えて入力し、検索を行うが、それは必ずしもユーザ、人間が直接やるとは限らない。何かエージェントが代わりにやってくれることもありうる。
普通、検索は何かの検索式を組み立てることによってシステムが動くが、一般的にはユーザが検索式をきちんと組み立てるのは簡単なことではない。普通はキーワードを入れるとか、キーワードを組み合わせるという形がよくとられる。
それは必ずしもキーワードを使うということがすべての方法ではなく、もう少しいろいろな提供の方法、指示の方法がありうる。そこで、検索の入口をどういうふうに設計するかということも、1つの切り口として考えられる。
昨年、アメリカだけでも30とか40の新しい検索サービスが出てきたようだが、そういうものを見ても、まず、検索の入力をどのようにサポートするかという切り口で工夫しているものがたくさん出てきている。そういう意味で、入口がどうであるかということが1つある。
どんなデータを対象にして検索するか
どんなデータを対象にして検索するかということがある。実は検索する対象というのは一般的なHTMLのページのようなものばかりとは限らない。いろいろなものが検索の対象になりうるのである。それはきちんと構造化されているケースもあれば、全く構造化されていないケースもある。どういうデータを対象に検索するかによって、考え方が変わってくる。
どんなことを検索したいのか
そもそも、探しものは何か。どんなことを検索したいのかということがはっきりしている場合とそうでない場合によって、求めることが違ってくる。
「今日、サンシャインのワールドインポートマートであるカンファレンスに出かけたい」というときに、「サンシャインのビルは池袋からどういうふうに歩けばいいか」ということを具体的に調べたいというときと、「今日は何となくこんなものが食べたいが、そのカンファレンスの後でどんなものが食べられるか」を漠然と調べるのでは、検索の目的としてやりたいことは違う。そういうときに同じインタフェースがいいのか、違うものがいいのか、いろいろ考える余地がある。
ではまず、どんなものを対象にするか、それをどうやって調べるかということを切り口にして検索というものを考えてみる。とりあえず、いろいろなものをわかりやすく分類してみる。
検索は自分できちんと検索式を作る、あるいは自分でキーワードを入れていくという、ユーザが自分でクエリを作っていくタイプと、エージェントにある程度任せられるという切り口がありうる。
次に、検索する対象となるデータが、Webに存在しているいろいろな海千山千のデータを対象にする場合と、ある程度予め整理された情報を対象にして検索するという場合という切り口がありうる。
従来からあるデータベースでは、クエリはユーザが投げ、そのデータはデータベースとしてきちんと構造化されるということで、こちらのジャンルに入ってくる。
一般的なWebの検索は、対象がWebページなので、構造があるような、ないような状態だが、それに対してユーザがGoogleの検索を行うときは、自分でキーワードの組み合わせを考えて、ユーザがクエリを出すので、こういうところになる。
私がその辺で考えているのが、データをもう少し構造化した記述をすることによって、さらにそれをエージェントが助けてくれる方向で何とかおもしろいことができないかという、セマンティックウェブと言われるジャンルである。
一般に検索というと、こういうところの話に目がいくが、全く対象がどうなっているかはっきりわからないものを、まずエージェントにお任せしていろいろな情報を集めて来るというジャンルもある。これは一般的にマイニングと呼ばれている分野で、結構おもしろいジャンルである。
予めきちんと準備されたデータではないが、それを人間が力業でやるのではなく、構造化されていないものから何かを見いだすという部分をエージェントなりプログラムの力を使うという方向性もありうるということで、検索というものの切り口を広げて考えると、こういう4つのタイプが考えられるのではないか。
今度は、検索の目的という方向で検索というものを考えてみる。 目的がはっきりしているときには、検索した結果がどれだけ自分の目的に近いかということが知りたい。それが検索の一番大きな狙いになってくる。そうすると、検索結果がたくさん出てきても困るので、その中でどれが自分の狙いに一番近いのかを教えてくれるシステムが求められる。
それは一般的にランキングのような形で検索結果を並べるという手段がよく用いられる。その代表的なものがページランクで、「世の中でどういう位置づけにあるから、あなたの目的に一番近いのではないか」という形で目的の近さを提供する方法がある。
そのほかにも、テキストマッチングの適合度の順番というのは昔から使われている方法だし、情報が新しい順番に並べるというのも、最近あまりないが、結構便利である。また、今後重要になってくるのは、どの情報は信頼できるのか、信頼できないのかという、信頼度に関するランキングが求められてくることもありうる。こういった要素を加味しながら、どれが目的に近いのかを並べてほしいということである。
ユーザ駆動型の検索
求めるものにたどり着くまで、ユーザがさまざまな検索、探索を組み立て指示する、普通のユーザ駆動型検索の場合はどうするか。
たとえば、「今日は魚料理を食べる。そこでお酒を飲みたいが、何がいいだろう。自分の好みは辛口で、今日の予算は3,000円くらいにしたい」という場合を考えてみる。
ユーザはまず、魚料理に合う酒は何かということを検索する。その結果を見て、ワインがいいということがわかったら、ワインがどこで買えるかという検索を次に行う。次に、ワインを買えるショッピングモールで「辛口の3,000円くらいのものが欲しい」と検索して出す。そして幾つかを比較した上で、自分でオンラインショッピングをする。今日飲みたいのにオンラインショッピングというのは現実的ではないが、そのような形で、自分でいろいろなやりとりをする。これらのいろいろな検索は、全部ユーザが自らやり方を考えて行う。これが今の一般的な考え方になる。
エージェント駆動型の検索
では、検索をユーザ自らだけでなく、エージェントというものを導入した、いわゆるセマンティックウェブとか、セマンティックウェブサービスが目指している、エージェント駆動型の検索になるとどのようになるのか。
ユーザ駆動型で行ったのと同様の、「今日は魚料理を食べて、そこで何かお酒を飲みたい。自分の好みは辛口で、予算は3,000円くらいである」というような条件を提示して、考えてみる。
まず、エージェントが「お酒はブルゴーニュの白がいい」と見つけたら、その条件をユーザに戻すのではなく、そのままエージェントがWebサービスでこういうものを買えるサービスはあるのかを探す。
どこのWebサービスでそういうものができるということを認識したら、いくつかのWebサービスに問い合わせを行って、予算3,000円で辛口のブルゴーニュはどういうものがあるかということを調べ、その結果を、こういうものが推薦されるという理由を付けてユーザに返すと、ユーザは1つの指示によって自分の欲しいものが見つけられる。
ユーザ駆動型の検索では、こういう部分を現在は全部自力でユーザが行っているが、それをエージェントに可能な限り任せられるようにしようというものである。少しSFめいた話だが、Webサービスをもう一歩進めると、こういうことが可能になるのではないかと考えている。この辺も、ある程度目的がはっきりしている場合の検索ということになる。
検索の目的が漠然とした検索
目的がはっきりとした検索とは別に、あまり目的がはっきりしていない検索というものも存在する。
たとえば、「あるジャンルにはどんなリソースがあるのかを漠然と見たい」というものである。図書館に行って、「私はこの本が欲しい」ということがわかっていれば、端末でその本の番号を入力して直接リファレンスに言えばいいが、一般的には図書館に行ったとき、電子工学なら電子工学の棚に行って、今どんな本があるのかをざっと見る。そこで、「なるほど、こんなものがあったのか」というものを見つけていく。
本屋に行くときもそうである。理工書のコーナーに行き、最近どんな本が出ているのかを見ていくうちに、意外とおもしろいものを見つける、そういうことが結構期待されている。オンラインショップの難しいところは、本屋さんなら一度にいろいろなものが目に入るのに対して、オンラインショップではその辺がなかなか広がらないということが言われる。そういった、ある程度緩やかな目的を持っているときにどういう可能性が出てくるかというのも、検索のターゲットとして重要なことになってくる。
こういったときにどんな方法が考えられるかというと、探したいと思われている対象の特徴を分析して、類似するものを出してくる。連想検索などはその代表的なものである。また、「これまであなたからリクエストされたのはこういうタイプのものなので、他の人はこういうものを買っている」という、オンラインショップではお薦めというものを出してくる。お薦めというものを、何かのパターンを使って出していくことによって、あいまいなタイプの情報に対して幾つかの推薦候補を出していくという、マッチング検索のようなものがある。
あるいは、世の中一般の評判だけを使うのではなく、例えば、「私はこういう人を知っている。世の中では別の映画が推薦されているが、私の知人はこういう映画を推薦している」という関係を加味することによって、推薦のやり方を変えていく。そういうコンテクストを加味した推薦というものも考えられる。このような形で、ピンポイントで欲しいものとは少し違うタイプの検索というときには、また違ったオプションでの検索というものが考えられる。
目的のない検索
さらにもっと漠然として、「何を検索したいというわけではないが、何かアイデアが欲しい」というときに検索エンジンを使うということも結構ある。何でもいいからキーワードを適当に入れると、思いもよらないものが出てくるということが、検索エンジンの芋づる式な新しいアイデアを出していくという使い方として考えられる。
これを1つの考え方としていくつか切り口を見ると、1つはアンテナ型というものが考えられる。たとえばRSSを購読している人はアンテナ型のタイプだと思う。RSSの応用として、今の検索エンジンでもサービスされているが、あるキーワードを登録しておくと、そのキーワードに関する新しい情報が入ったとき、検索結果をRSSとして送ってくれるというタイプがある。これは「何が欲しいから検索する」というのとは違い、逆に、「何かないか」と待っている。もしくは、ぶらぶらと探しに行くタイプである。
これをリアルの世界のアナロジーで言うと、ウインドウショッピングに近いのではないか。「今日はワインが買いたいから酒屋さんに行く」というのではなく、デパートなりショッピングモールに行ってぶらぶら歩いていたら、おもしろいものを見つけたということも一般的には非常に多い。
そういうものを見つけるのも検索の一種と考えると、例えば統計的に、今どんなものが人気があるとか、評判になっているというものを提示してくれる、旬な情報を見せるということがありうるだろう。
また、いくつかのキーワードの集合の関連性を辿り、テーマをどんどん拡張していくことによって、一種のアイデアの展開のサポートをするということもありうる。
さらに進んでいくと、提案求むというか、「何でもいいから今アイデアが枯渇しているのでアイデアが欲しい」、「何かわからないが、顧客から寄せられたメッセージの情報が山ほどデータベースにある。そこから何かおもしろいものが見つからないか」という形で、何かのパターンを見つけていく。
これはデータマイニングの典型的なやり方である。そういう形で、何が欲しいかわからないけれども探していきたいというタイプの検索もありうるだろう。
こういったものをいろいろ考えていくと、1つの検索エンジンだけですべてがカバーできるということにはならない。いろいろなタイプの検索ごとに、どういう検索のときにはどういうタイプのインタフェースが欲しいとか、どういう結果セットが欲しいということが変わってくる。
次世代検索の可能性の中心などと大げさに書いているが、考え方として、どんなデータをどんな切り口で検索するかというのは、いろいろな可能性を考えていく上での1つのポイントである。
組織化されたデータを用いた、より的確な検索が欲しいということもあるし、ユーザ情報や関連性情報を使って推薦していくのがおもしろいということもありうる。
また、明示的ではないというか、はっきり見えてはいないが、実はこういうものが潜在的にあるというものを掘り起こす。思わぬ発見とか、こんなものがあったと発見して楽しくなるような検索もあっていいだろう。
検索を行うときには、ユーザが検索を依頼して、そのユーザが検索結果を受け取るので、入口と出口がどうであるかということが非常に重要になってくる。そこで、昨年出てきた検索エンジンの中で、入口と出口を結構工夫しているものを見てみたい。
たとえば、キーワードをどういうふうに入力するかということで、最近流行りのAjaxを使ってやっているものがいろいろある。コラリティというのは、例えば「R」と入力するとRで始まるものが出てくるというGoogleサジェストのようなものがある。
たとえば、「RDF」という単語を入れると、「RDF」に関連する用語がいきなり検索キーワードの候補として出てくる。「R」で始まる単語ではなく、「RDF」に関連する用語なので、ジェナとあるのは「RDF」を扱うライブラリの名前だが、RDFというキーワードに対して関連があるだろうというものが予めここに候補として出てくる。そうすると、「RDF」と「ジェナ」という2つのキーワードで検索すれば、最初の段階でキーワードの条件をかなり絞り込んでいくことができる。さらに、この検索結果にこういう条件を加えることができるという候補が出てくる。これはどちらかというと入口のサポートに近いタイプの工夫である。
また、クイントゥーラというのは、よくあるタイプのものだが、これは逆に検索の結果をおもしろく見せるものである。「RDF」を検索すると、関連するキーワードが検索結果のほうにクラウドのような形で展開されるのが特徴である。あるキーワードを入れると、それに関連するキーワードが今度は結果のセットとして、近いものは大きいとか、そういう形で展開される。下に出ているのはXMLでの検索結果だが、これに対してドキュメントというところにカーソルを持っていくと、この2つのキーワードを合わせた結果セットが下にダイナミックに出る。そういうタイプの結果セットを工夫している検索エンジンがある。
もう1つは、スキャンドゥという検索エンジンである。検索の結果自体は大して違いはない。普通のGoogleを使って検索するだけである。1つ検索すると、普通にGoogleの検索結果が出てくる。ただ、しばらく待っていると、左側にいろいろマークが出てくる。このマークは、この検索結果に出ているサイトは信頼できるとか、わからないとか、怪しいとかいうものを加えて表示する。何を根拠に怪しいと言っているのかわからないが、そういうサービスが出てきたりしている。
こういうものを本当に鵜呑みにしていいかどうかということとは別の問題だが、単に検索した結果を並べて出すだけではなく、それをどういうふうに見せるかという部分に工夫の余地があるということを示すものである。
ただし、あまりやりすぎるとかえって怪しげになることもあるので、その辺は信頼性ということが非常に大事である。
たとえば、先ほどセマンティックエンジンを使った検索をしたとき、「今日は魚料理を食べたい」と言ったら、いきなり「あなたには某社の某ブランドのこのワインが絶対いい」という答が出てきたとして、なぜそれが言えるのかという根拠を示してくれないと、そのコンピュータが言ったことを全部信じていいのかということが不安になる。
推薦ということまで踏み込んでいくと、なぜそれを推薦するのかということを、ある程度ユーザにわかりやすく見せる、あるいは、ユーザが知りたいと思えばその根拠がわかるということも必要になってくる。そういう踏み込んだ検索というものは、今後、信頼をどう担保するかということとセットになっていくだろう。これは1つ重要な問題になってくると思う。
2007年2月8日PAGE2007コンファレンス「C2 次世代Web検索」より(文責編集)
会報「VEHICLE」2007年4月号 Vol.19 No.1通巻217号
2007/08/15 00:00:00