界面駭客日記(34) - 検索システムを極める 増井俊之


GoogleやExciteのような検索サイトなしに インターネットを利用することはもはや考えられなくなっています。 最近は「広辞苑をぐぐる」などという言葉も聞くほどで、 Googleはすっかり検索の代名詞になってしまいました。

何かについての情報が欲しいとき、 それを解説しているWebページを捜すために Googleを利用するのが最も一般的な使い方だと思いますが、 Googleはページ内のあらゆる単語を検索可能にしていますから、 このような本来の用途とは若干異なる使い方をすることができます。

気のきいた辞書として使う

最近は携帯型の電子辞書がよく売れていますし、 インターネット上には 英和辞典などの辞書検索サービスが沢山ありますから、 昔と比べると非常に簡単に辞書をひくことができるようになりましたが、 辞書の内容は昔の紙の辞書とほとんど変わっておらず、 検索手段がキーボードに変わっただけというシステムが多いようです。 辞書は単語の意味を調べるためのものですが、 単語は実際にどのような場面でどのように使われるかが重要ですから、 多くの辞書では単語の意味ごとにいろいろな例文を用意しています。 しかし、普通の辞書の中の例文のほとんどは 生きた文章から抜き出したものではなく、用例の説明のために 辞書編纂者が作成したものも多いように思われます。 実際、手元の辞書で “dissipate” という単語を検索すると、
dissipate:
〈雲・霧などが〉消散する,消失する;分解する:
Her anger was dissipating. 彼女の怒りは鎮まっていった.
のような説明が書いてありましたが、 これだけだと誰が何に怒っているのかさっぱりわかりませんから、 現実感がなく空虚な響きがしてしまいます。 これでは、 せっかく例文があってもあまり記憶の役にはたちそうにありません。

辞書に用意された例文を利用しなくても、 インターネットには実際に使われている文章が山のようにあるわけですから、 自分に関係あるサイトや好きなテーマに関するページの中の文章から例文を捜すようにすれば、 辞書の中の文章よりもはるかに現実味がありますし、 内容に興味をもてますから単語を覚えやすいと考えられます。 例文自体が有用な内容を含むものであれば、 文章の中身と単語の使い方を同時に覚えることができますから一挙両得です。

自前の単語帳を使って外国語を覚えるというのは 最近はあまり流行っていないようですが、 調べた単語が使われているWebページの文章を例文として 自分だけの単語帳を作ったり、 HTMLで単語帳を作って例文ページへのリンクを持つようにしたりすれば、 単純に単語を並べた従来型の単語帳よりも はるかに生き生きした単語帳を作ることができるでしょう。

下図の単語帳では、 覚えようとしている各単語について、 その意味だけでなく、 どこのページでどのような使い方をされているかがわかるようになっています。 ここでは、 Intervalという会社の壮大な夢が雲散霧消してしまったということを表現するのに “dissipate” という単語が使われていることが書かれているので、 感慨を持って単語の使い方を味わうことができます。


単語帳の例

従来型の辞書は、長年かかって作られているものですから、 現実に使われている用法とはずれた説明がされている可能性もあります。 インターネット文章を検索するようにすれば、 ある単語が実際にはどのように使われるのかがよくわかりますし、 用法が本当に正しいのかを肌で確かめることができます。

概念や単語の流行を調べる

単語をGoogleで検索すると、 マッチしたページの内容だけでなく 何件のページがヒットしたかという情報を取得することができますから、 これを利用すると、 ある単語や概念がどの程度流行しているのかを大体知ることができます。 また、Googleのヒット数は毎日変化しますから、 それを並べてグラフにすれば、 ある単語が流行りつつあるのか廃れつつあるのかも一目でわかります。

高林哲氏は、 Googleの検索結果を解析することにより 物事の流行を視覚化する “googleplot”というシステム[*1]を作って公開しています。 下の図は、googleplotを使ってgoogleplotの人気の変化を解析した結果のグラフです。 5月に公開した後、順調に人気が出てきているらしいことがわかります。


googleplotによる “googleplot”の人気の変化の視覚化

Googleは“Google API”というライブラリを提供しており、 各種のGoogleの機能をプログラムから呼び出すことができるようになっているので、 googleplotはGoogle APIを利用してマッチ数を取得し、グラフ化を行なっています。 Googleで検索を行なうと、 検索にヒットした件数が「約xxx件中1 - 10件目」のような型式で画面に表示されますから、 検索結果の表示画面からこのような文字列を捜してヒット件数を知ることもできますが、 Google APIを使うともっと自然な形でプログラムを記述することができます。

アイデアの存在を調べる

何か新しいアイデアを思いついたと思ったときに最初にするべきことは、 Googleにおうかがいをたてることです。 前述の高林氏はちょっと前に 「貧乏金なし」 という言葉を思いついたそうですが、 Googleで調べてみると400件もヒットしたので驚いたそうです。 わざわざWebページに書いた人がこれだけいるわけですから、 全国で少なくとも1万人は同じ言葉を考えた人がいるに違いありません。 私も先日、ハリボテな箱を作って、 「ハリー・ボッテーの秘密の箱」と呼んでたのですが、 これも検索してみると30件もヒットしました。 何か思いついたときは 必ずGoogleで検索してから発言するようにしたら 恥ずかしい思いをせずにすむのかもしれません。

自分のページの検索に使う

自分のWebページにはいつも自分専用のキーワードを書いておくことにすれば、 Google検索時にそのキーワードを追加指定することにより、 自分のサイト内の検索を行なうことができます。 サイトの名自体が特殊な名前になっている場合は、 専用のキーワードを書いておかなくても サイト名を追加指定して検索を行なうことができます。 検索されることを念頭にキーワードを考えることが重要です。

あるページにアクセスしようとするとき、 多くの場合、 URLを入力するよりも検索キーワードを使う方が短くてすむようです。 うまく検索にヒットしない場合でも、 検索キーワードをうまく足せばみつかるようになるでしょう。 名刺などにURLを記述するかわりに、 Googleの検索キーワードを書いておく方が実は便利かもしれません。

索引の利用

“index.html” という名前のファイルがサイトのトップページとして使われるのが 現在常識になっていますが、 トップページは「目次」的な機能を持つのが普通なのに “index (= 索引)”という言葉が使われているのは考えてみれば不思議です。 どちらかというと “TOC (Table of Contents)”の方が実態に近いかもしれません。 本の索引に相当するような、キーワードをリストしたページは 用意されていないサイトがほとんどで、 キーワードからの検索は検索システムにまかされてしまっているようです。

全文検索システムは非常に便利なものですが、 「文中に出現しない単語は検索できない」 という大きな欠点も持っています。 私は「情報視覚化」に関するページをいくつか作っているので、 「視覚化」で検索を行なうと私のページがいくつかヒットするのですが、 「可視化」という言葉は全く使っていないため、 「情報可視化」などで検索すると私のページを簡単にみつけることができません。 「視覚化」「可視化」の両方を文中で使えばよいかもしれませんが、 異なる言葉を混ぜて使うことは好ましくないでしょう。 しかし、 索引ページを整備して「情報可視化」から「情報視覚化」のページにリンクしておけば、 「情報可視化」でも「情報視覚化」でも私のページを検索することが できるようになる可能性があります。

どうすれば自分のページが検索にヒットしやすくなるか 頭を悩ませている人も多いと思いますが、 索引を強化してヒット率を上げようとしている人はあまり多くないようです。 整備された索引があればユーザの立場からも便利ですし、 ヒット率が上がるならばWebページ作成者の立場からもありがたいことでしょう。 使用するキーワードによって検索が成功したりしなかったりするページはあまり賢いとはいえないと思います。 固有名詞だけでなく、 いろいろな一般名詞の組み合わせでヒットするように 検索ページを整備することをよく考えるとよいでしょう。


全文検索システムはすでに完全に生活の一部になっており、 これがない世界はもはや考えることもできません。 検索システムと共生するための様々な工夫がこれからもっと増えてくることでしょう。


  1. googleplot:
    http://www.namazu.org/~satoru/googleplot/
  2. Google API:
    http://groups.google.com/apis/

Toshiyuki Masui