Googleのヒット件数について(続き)

Googleのヒット件数は当てにならないの続きです。


はてブid:blueboy さんという方が

文中の「ページを進めると数が急減したのは、すべての結果を取得して件数が判明した」は誤りです。正しくは「途中で表示をやめるから」です。


と書いていたので、フォローアップ記事を書くことにしました。

フォローアップ記事なんてPV取れないし、そのコメントを見た人が読むことも少ないでしょうし、書いてもむなしい気もしますが。

むなしさを紛らすためにアフィリエイトを貼るので踏んでください。


Coders at Work プログラミングの技をめぐる探求
Peter Seibel
オーム社
売り上げランキング: 242,965


さて、ブコメのリンク先の記事◆ Google の検索ヒット件数の謎について。

安倍晋三 facebook 田中均」というキーワードで検索しているようです。

それで、結果が222件しか返ってこないと言っています。

(略)
    最も的確な検索結果を表示するために、上の 222 件と似た
    ページは除外されています。
    検索結果をすべて表示するには、ここから再検索してください。

 つまり、たったの 222件しか表示されない。

 これはどういうことか? 実際にヒットした件数は 222件しかないということか? 


いや、メッセージ読んでください…。

ここから再検索してください。って書いてあるのに。


再検索すると、だいぶ結果が増えます。

最後のほうのページはこんな感じになります。



だいたい 950件ぐらいまで結果が表示されたところで終わりになります。

これは Google の制限ですね。

試しに URL でパラメータをいじって 1000件目以降を表示させようとするとこういうメッセージが出ます。



1000件以降を表示しないのはわざとということです。

これは Google を少し使っている人間にとっては常識です(だと思います)。


じゃあ、最初の 222件というのは何かというと、重複したものをまとめた結果の件数です。

ちゃんと書いてあります。

    最も的確な検索結果を表示するために、上の 222 件と似た
    ページは除外されています。


つまり、Google のやり方としては、上位 1000件ほどの検索結果の中から、重複を除外しながら結果を表示しているということだと思われます。

その結果が 222件ということですね。


で、この場合は確かに途中で表示を(というか検索を)やめています

しかし、それには条件があって、それは重複を除く前の検索結果が 1000件以上ある場合というものです。

"無い内定式" の場合は、重複を除いた検索結果が 49件で、除く前でも 500件ほどしかなかったので、これはそのパターンじゃないと思ったわけです。

(ただ、実際はフィルタのかかり具合によっては 1000件以上あるものが 500件しか残らないということもあるでしょうし、確かなところはわかりません)


私は検索に携わったことはないのですが(Google にいたことはありますが、検索にはまったく関わっていません。関わっていたら逆に何も書けないところです)、利用者としてはもう 10年以上 Google を使っているので、だいたいこんな感じでやってるんじゃないかというものはあります。

流れとしては、こんな具合じゃないでしょうか。


1. 結果を10件を表示するために、それより多めに上位の結果を取ってきて、不適切な結果をフィルタリングして重複を除いて10件残して、いい加減に推測した件数と一緒に表示する*1

2. さらに要求されたら、上位1000件ほどを取ってきて、不適切な結果をフィルタリングして重複を除いて、いい加減な件数と一緒に順次表示する

3. 最後のページ(数百件目)まで来ると、いい加減な件数の代わりにそこまでの件数を表示して、重複を除かない検索結果のリンクを出す

4. 重複を除かない検索結果を要求されたら、2で取ってきた1000件ほどをいい加減な件数と一緒に順次表示する


で、たとえば 2つの検索語の使われ方を比較したいという場合は、2 の段階で両方とも1000件を超えないようにすることがポイントになります。

そのために、平等に件数を減らすために適当な数字や固有名詞と一緒に検索するということをするわけです。


まあ、私が何を言っても推測にすぎないのですが、実際に検索エンジンに関わっている人が何かを書くわけもないので、推測以上のことはわかりません。


ここからは余談です。


検索エンジンの実力って、「エロじゃないけどエロと関連の強いキーワードで検索したときにどれだけエロくない結果を返せるか」に出ると思っています。

どういうことかというと、たとえば「清純」というキーワードで検索するような場合です。

Google(セーフサーチ:オン)では、次のような何の面白みもない結果が返ってきます。



これが bing(セーフサーチ:標準)だと、次のような感じです。



右の関連キーワードに「清純美少女エロ動画」があるわ、肌のあらわな動画のプレビューはあるわ、グラビアアイドルの公式サイトはあるわで、だいぶ派手な感じになっています。

逆に言うと、Google が上のようなつまらない結果を出せるというのは、裏にどれだけものすごい技術があるのか想像もつきません。


それで今回、「エロじゃないけどエロと関連の強いキーワード」ということで「女子高生」などで検索していたのですが、その途中で面白い現象がありました。

Google(セーフサーチ:オン)で 「bing 女子高生」で検索すると、結果が 1件も返ってこない*2のです。



これはどういうことなんでしょう。

再検索のリンクをクリックしても見つかりません。

推測ですが、10件より多少多めに取ってきた中から不適切な結果をフィルタリングするうちに表示できるものがなくなったんじゃないかと思っています。

そうだったら笑えるのですが、どうでしょうね。

ちなみに、「bing 女子大生」などは正常です。


以上、検索エンジンに関するどうでもいい話でした。



また余談ですが、「検索エンジンはなぜ見つけるのか」の収まりが悪いのは、「見つける」が意志動詞と無意志動詞の間の中途半端なところにあるからだと考えています。

これがちゃんとした意志動詞の「探す」なら、「なぜ探すのか」は「何のために」という読み一択です。完璧な無意志動詞の「見つかる」なら、「なぜ見つかるのか」は「どのようにして」という読みになります。しかし、「なぜ見つけるのか」だと、「何のために」「どのようにして」のどちらかが定まらなくなってしまいます。ただ、個人的には「何のために」の読みが強いと思います。

*1:もちろん、設定によっては10件でない場合もあります。

*2:記事執筆時点、PC版で確認。