ちょっと本整理してたら、学会誌の「情報処理」(論文誌でない、はでな表紙のほう)の2005年9月号がでてきて、そこに「特集 検索エンジン2005 -Webの道しるべ-」とあって、検索エンジン(Googleとか)の仕組みについてかいてありました。
おお、勉強になりそうなので、ちょっとメモメモ
■検索エンジンは3つの部分に分かれている
検索エンジンは、
・クローラ部(Webロボット)
・インデクサ部
・検索部
にわかれている。
■インデクサ部
入力:Webページ
出力:(web情報の)リポジトリ
役目:
・複数クローラによる分散・協調収集
・インデクサにおけるURL抽出によって発見された新規URLの収集
・再収集処理
仕組み:
(1)起点として設定されたWebページを収集
(2)(1)のページを解析、リンク先を調べる
(3)(2)のリンク先が未収集ならURLキューにいれる
(4)URLキューは、優先順位をきめて、それにより収集順を決める
(5)優先度の高いURLから順にクローラが収集
→実際には、複数のクローラが動く
理論:
・優先度の決定方法→ページランクを求める方法
Arasu,A.,Cho,J.,Molia,H.G.,Paepcke,A.and Raghavan,S.:
Searching the Web, ACM Trans. on Interner Tech.,Vol1,No1,pp2-43(2001)
・再収集方法→はじめデフォルトをきめておき、次回収集のとき、更新されていたら
収集期間を一定分はやめ、更新されてなかったら、一定分おそめる
これを繰り返すと、テキトーなところに落ち着く
・再収集アルゴリズム→更新度合いの多い「サーバー」から優先的に検索する方法
Cho,J. and Ntoulas, A:
Effective Change Detection Using Sampling,
Proc. of the 28th Int. Conf. on Very Large Databases.pp514-525(2002)
■インデクサ部
入力:リポジトリ
出力:インデクサ
役目:
・メタ情報(URL,アンカー,タグなど)の抽出
・形態素解析/N-gramを用いた各種インデックスの作成
仕組み:
(1)Webデータ読み込み
(2)インデックス作成
(3)インデックスデータ書き出し
→この3つえおソフトウエアパイプラインにより、並行処理する
理論:
一般の商用検索エンジンにおけるインデキシングの方法は、公開されていない
■検索部
入力:ユーザーから入力(検索キーワードなど)
インデックス
静的なランキング情報など
スニペット
→検索結果として出力されるWebページのタイトル下に表示
されているWebページの内容を示した数行の文
(一部、Webの文章がでて、検索語が太字になってるところ)
出力:検索結果
役目:
・多数のユーザーからのクエリに対応するため分散化
・クエリに対応した検索結果をランキングにして出力
仕組み:Googleの場合(後述)
・ドキュメントサーバーに、生のWeb情報が入っている
・検索要求がくると、インデックスサーバーで検索されたWebIDが
ドキュメントサーバーに送られる
・ドキュメントサーバーで、タイトルとスニペットを作成
Webサーバーに送り返される
理論:
・Googleの場合の検索の概要
Barroso L.A.,Dean,J.and Holzle, U.:
Web Search for a Planet : the Google Cluster Architecture,
IEEE Micro,Vol.23,No.2,pp.22-28(2003)
・主題に合致するものをだすSubject-Specific Popularity
■そのほかの重要事項:検索結果の評価方法
●RCFPT
・RCFPTとは
R:Releevancy(クエリと検索結果の関連性)
C:Comprehensiveness(網羅性)
F:Freshness(新鮮さ)
P:Presentation(検索結果の提示方法)
T:Trust(信頼性)
・評価の一例
(1)クエリセットを用意する
(2)クエリセットに対して検索エンジンからX件までの結果を抽出する
(Xはテキトーに決める)
(3)結果をばらばらにして
(4)関連性の評価をする
(5)それを集計して、指標化する
・引用ページ:
情報処理2006年9月号p991、
YAHOO! Serch Technology(YST)と、検索分野におけるYahoo! Japanの戦略 井上俊一、宮崎光世