「Googleは情報を追跡し、Facebookは情報を共有している」。フェイスブックのCEO、マーク・ザッカーバーグは、『フェイスブック若き天才の野望』の著者デビット・カークパトリックに対してこう説明している(同書 pp.472-473)。Googleは検索エンジン、Facebookはソーシャルネットワークという異なるビジネスモデルによって、インターネット上での情報流通を担っている。Googleは全世界数十億人、Facebookは6億人の巨大ユーザーを相手にしており、これら2サービスはよく比較される。しかし、両者の違いや共通点はいまひとつ明確ではない。これらの本当の違いは何なのか、技術的な観点から探ってみよう。
情報をクロールするGoogleとボトムアップのFacebook
ザッカーバーグが語っているように、両者の違いのひとつは「情報の集め方」である。Googleはクローラと呼ばれるプログラムがウェブ上のすべてのサイトをくまなく這い回って(クロールして)ページを集めてくる。これに対してFacebookはユーザーがFacebookのサイトに情報を入力する。サービス側が自分から集めに行くか、登録してもらうか、サービス側が能動的に動くか、受動的であるかの単純な違いにも思えるが、技術的には大きな違いがある。
Facebookの場合、入力者の国籍はわかり、何語を使っているのかも正確にわかる。ユーザーが自分の意思で情報を登録し、情報の公開・非公開も自分で決めるので、Facebook側はその指示に合わせて情報を扱える。
一方のGoogleは見に行ったページがはたして何語で書かれているのかさえ、クローラは完璧に識別できるとは限らない。またWeb上には、ページのコピーがあふれているので、同じ内容のページを集めても情報が増えるわけでない。できるだけ違うページの情報を集める必要がある。さらにはサーバーの負担も見極めないと、何度もページの収集に行って他の利用者の迷惑になることもある。
そして何よりも扱いが難しいのは、サイトの制作者が一般への情報公開を望んでいないページもあるということである。仲間内だけに公開しているつもりのサイトも多い。これらのページまでも集めてよいのか。収集に対して判断に迷うことがクローラには多い。正解が決めづらいなかで、法則性を見出して対処しているのがクローリング技術であり、長年の運用を通して得た知識の蓄積によってWebページのパターンを見出している。