Entry

いまどきの検索について少し

2011年07月05日

先日,某情報系学会の研究会に出席したんですけれど,そのときに思ったこととかつらつら。検索やデータマイニング周りの話だったんだけれども,ちょっと違和感があったのでした。

発表されている方々の研究は,どれも魅力的なお題で興味深かったし,それなりに成果も出ていたのだと思います。お話として,「ネット環境の一般化」→「膨大な情報」→「検索の必要性」→「私の研究」といった具合に話が進むのも納得できました。しかし,どうも共通して言えることに,「検索すること」がどういうことなのか,明確なパースペクティブを持っていないのではないかと感じることが多々あったのでした。

現在,ネット上には,人間が記憶できる情報量をはるかにしのぐ情報が存在します。この圧倒的に膨大な情報に対して「人間が検索するということ」は,いったいどのような営為を指しているのだろう。この問題について,明確な視野が開けていなければ,性能を測ろうにも測りようがないし,便利なのかも(少なくとも定量的には)分からない。場合によっては,研究そのものの意義が問われることにもなりそうな気がします。

この点,検索対象となる情報の量が少ない場合の検索は,ユーザが正解を知っている場合が多かったりします。辞書で言葉の意味を調べる場合や,自分が作ったドキュメントがディレクトリのどこにあるか探す場合なんかは,あらかじめ欲しい情報が決まっている。これは,クエリにも表れて,クエリと検索対象が等号でほぼ結ばれる関係になります。

これに対して,圧倒的に膨大な情報に対して検索するということは,上とまったく事情が異なります。ユーザは知りたい情報はあるけれども,それに対して何が最も適切なリソース(検索結果)なのかを知らないし,どのようなクエリを投げれば適切なリソースが返ってくるのかも厳密には分からない。

普段,私達が Google で検索する場合,無意識にせよ意識的にせよ,「そうしたものであること」(おそらく最も適切な検索結果なのだろうけれどもその保証がないこと)を織り込み済みでサービスを利用しているし,適切なクエリを構築する技法は,ほとんど暗黙知的な「検索のコツ」として身に付いていたりします。

この点において,現在の検索は,情報量が限られていた牧歌的な時代の検索に対して,「検索すること」意味自体が根本的に異なっている。この点について自覚的であることが,研究に説得力を与えるし,それがまさにその手の分野に関わる向きのはじめの一歩だと思うわけです。

さて,そこで,「検索するということがどういうことなのか」という問題なんですけれども,個人的にこれにはいくつかの段階があると考えています。

ひとつめの段階は,クエリを構築する段階です。ユーザは,自分が知りたいことをコンピュータに分かってもらうために,あえて自分が知りたいことを抽象化してクエリを構築します。例えば,ミートパイの作り方を知りたい場合,ユーザのほとんどは「ミートパイ 作り方」と抽象化したキーワードでクエリを構築するはずです。また,例えば,「デリダの痕跡論とプラグマティズムの関係について,その議論のあらましを知りたい」といった「抽象的な知りたいこと」についても,ユーザはさらにそれらを抽象化したキーワードでクエリを構築するはずです。つまり,検索には,知りたいことを抽象化する作用が多かれ少なかれ含まれるということです。これは,ユーザがほとんど無意識でやっている。

もうひとつの段階は,抽象化したクエリをもとに,抽象化された形で保存されているデータベースとマッチングを行う段階です。これはそれほど難しくない。とゆか,検索機能の中身は「そゆもの」として定義されている。

最後の段階として,抽象化されたクエリを具体化された検索結果の形で,ユーザに報告する段階です。ここでは,抽象化された命題に対して「あてはめ」を行うことになる。これも機能的には,抽象化された形で保存されているデータに紐付けられているデータ本体を報告するだけです。それが,ユーザの意図に合わない場合,そもそもそういうリソースがないのかクエリの構築方法を間違えていたのか,について確認する術はありません。

結局のところ,膨大な情報量の前で行われる検索という営為は,「抽象化」→「抽象的なマッチング」→「具体例の報告」という過程を経ることになり,特にユーザが関わることができるのは最初の抽象化に限られることになります。別の見方をすれば,ユーザが「自分の検索が適切だった」と思うのは,この過程がスムーズに行われた場合だと言えるのだと思います。実際に,検索結果が最適な解であるかについては未知なわけですけれど,ともかくそゆこと。

で,研究会の話に戻るのだけれども,某研究会の発表では,この「抽象化」のプロセスがあまりにもおざなりになっている気がしていたのでした。例えば,画像を検索する場合,なんらかの特徴量を抽象化されたデータとして定義して,クエリと紐付けるわけですけれど(なぜか SIFT を使う研究が多かった。パテントあるのに流行りなのか?),なぜその特徴を定義するのかについて明確な意思を見ることができた研究は非常に少なかった。ユーザと検索システムを結ぶ唯一の概念は,抽象化されたこの特徴量なりクエリなりに集約されるわけで,この選定がシステムの有用性を左右するわけだけれども,なんだか,とりたてて理由もなく勝手な特徴量を勝手に定義していた気がします。

どのような特徴量を使うことがその検索システムにとって有用なのか。この点について明確な視野があるということは,知りたがっている人間としてどのような人を想定するか,または,そのシステムがどのような文脈で使われるのか,について明確なイメージがあるということでもあります。ここら辺は,実際のユーザを相手に話をするとよく分かるんだけれども,生のエンドユーザとはあまり接したことがないのだろうか,とも思ってしまいました。

結局,質問では,「何を検索するシステムなのか?」といった質問が相次いだんですけれど,ま,そうなるのももっともだわな,と。実際,利用シーンが分からんかったし。適当な特徴量を定義してマッチした結果を出すだけのシステムなら,たぶん高校生でも書ける。自然言語処理も含めて,検索システムの難しさは,理論的なほげほげよりも,むしろそゆところにあるんじゃないかと思ったりして。ま,えらそうなんですが,ただそれだけ。

Trackback
Trackback URL:
Ads
About
Search This Site
Ads
Categories
Recent Entries
Log Archive
Syndicate This Site
Info.
クリエイティブ・コモンズ・ライセンス
Movable Type 3.36
Valid XHTML 1.1!
Valid CSS!
ブログタイムズ

© 2003-2012 AIAN