このページの本文へ

前へ 1 2 3 次へ

  • twitterでつぶやく
  • はてなブックマークに登録
  • del.icio.usに登録
  • livedoorクリップに登録
  • Buzzurlに登録
  • StumbleUponに登録
  • Google Bookmarksに登録
  • Facebookでシェア
  • Yahoo!ブックマークに登録
  • お気に入りに登録
  • 本文印刷

Googleはなぜ的確に探せるのか? ― 第2回

悟空、秘剣「転置インデックス」を手に入れる

2008年12月08日 08時00分更新

文● 清田陽司/東京大学 情報基盤センター 図書館電子化研究部門 助教


検索エンジンを作るまでの高い壁 
~キーワードの切り出しとキーワードの高速検索~

 パソコンが文書を検索する仕組みのイメージが少しずつつかめてきたでしょうか。「さっぱり分からないんだけど……」という方も多いことでしょう。メモリーにキーワードや文書の情報を表現する仕組みはちょっと複雑なので、イメージできるまでには慣れが必要です。

 でも、パソコンが文書検索についてやっている仕事は、本質的には人間が索引を作ったり引いたりするときにやっていることと同じです。「すべての情報をメモリーに載せて扱う必要がある」という「コンピューターの都合」に合わせるためにどうしても避けられない約束事が割り込んできているのです。転置インデックスの本質である「文書ごとにまとめた表をキーワードごとにまとめた表に変換すること」が理解できていれば、まずはそれで十分です。

 さて、転置インデックスの仕組みを使って実際に文書検索システムを作るには、どうしても乗り越えなければならない2枚の厚い壁があります。


1枚目の壁:
文書の文字列からどうやってキーワードを切り出すのか?

 「はじめに.txt」「第1章.txt」……に含まれるキーワードを切り出す仕組みはいったいどうなっているのか、疑問に思われた方もいることでしょう。じつは「キーワードの切り出し」は昔から多くの研究者を悩ませてきた深遠なテーマなのです。ましてや、コンピューターに「キーワードの切り出し」をさせるのは無謀といってもいいかもしれません!?


2枚目の壁:
「キーワードの列」からどうやってお目当てのキーワードを素早く探し出すのか?

 高速な文書検索システムを作るには、利用者から入力されたキーワードの番号を素早く見つける仕組みが必要です。実はこれがけっこう難しいのです。メモリー表現の先頭から探していく方法では、キーワードの数が増えるにしたがって時間が多くかかります。メモリー表現では、番号からキーワードを一瞬で調べられますが、その逆は不可能です。世界中のWeb文書にはおそらく何千万種類ものキーワードが使われています。いくら高速なパソコンでも、何千万種類ものキーワードの配列からお目当てのキーワードを探すにはそれなりの時間がかかってしまいます。

 次回とその次の回は、この2枚の壁を乗り越えるためのとっておきの道具「文字N-gram方式」「二分探索法」「ハッシュ表」を紹介します。

前へ 1 2 3 次へ

カテゴリートップへ

この連載の記事

ASCII.jp会員サービス 週刊Web Professional登録

Webディレクター江口明日香が行く

みんなが買ってる最新アイテムはコレだ!

Microsoft Windows 7 Home Premium 通常版 Service Pack 1 適用済み

iPhone 4S/4 防指紋性・高光沢機能性フィルム PRO GUARD AF for iPhone 4S/4 / PGAF-IPH4

iPhone 4S/4 防指紋性・高光沢機能性フィルム PRO GUARD AF for iPhone 4S/4 / PGAF-IPH4

マイクロソリューション Micro Solution Inc.

83人が購入

BenQ 24型 LCDワイドモニタ XL2420T

BenQ 24型 LCDワイドモニタ XL2420T

ベンキュージャパン

37,238円〜

3人が購入

jQuery Mobile スマートフォンサイト デザイン入門 (WEB PROFESSIONAL)

jQuery Mobile スマートフォンサイト デザイン入門 (WEB PROFESSIONAL)

アスキー・メディアワークス

2,499円〜

20人が購入

メモリーカード 32GB (PCH-Z321J)

メモリーカード 32GB (PCH-Z321J)

ソニー・コンピュータエンタテインメント

7,772円〜

6人が購入

Amazon.co.jp