検索エンジンの仕組み
検索結果の表示順位
「
Googleの人気の秘密
(http://www.google.co.jp/intl/ja/why_use.html)」
• PageRank
について
PageRank
は、ウェブの膨大なリンク構造を用いて、その特性を生かしま
す。ページAからページBへのリンクをページ
Aによるページ
Bへの支持 投票とみなし、
Googleはこの投票数によりそのページの重要性を判断し ます。しかし
Googleは単に票数、つまりリンク数を見るだけではなく、票 を投じたページについても分析します。「重要度」 の高いページによって 投じられた票はより高く評価されて、それを受け取ったページ を「重要な もの」にしていくのです。
こうした分析によって高評価を得た重要なページには高い
PageRank(ページ順位)が与えられ、検索結果内の順位も高くなります。
PageRank
は
Googleにおけるページの重要度を示す総合的な指標であ
り、各検索に影響されるものではありません。むしろ、
PageRankは複雑
なアルゴリズムにしたがったリンク構造の分析にもとづく、各ウェブページ
そのものの特性です。 もちろん、重要度が高いページでも検索語句に関
連がなければ意味がありません。 そのために
Googleは洗練されたテキ
ストマッチ技術を使って、検索に対し重要でなおかつ、的確なページを探
し出します。
PageRank
多くの良質なページからリンクされている
ページは、やはり良質なページである
B
A
1.被リンク数
(単純人気度)
1つの
Webページからリンクされている
Aよりも、2つの
Webページからリンクされて いるBの方がPageRank値が高い
SPAM
ページ、内輪推薦に対応できない
D C
B A
2.リンク元の被リンク数
1つの
Webページからリンクされている
Cより2つの
Webページからリンクされて いるDの方が信用できる。よって、Cから リンクされている
Aよりも、
Dからリンクされ ている
Bの方が
PageRank値は高い
B
A
3.リンク元ページでのリンク数
A
のリンク元はリンクが2つあるが、
Bのリンク元は リンクが一つであり、より厳選された推薦であるので、
AよりBの方がPageRank値は高い
PageRank
値の計算方法
1.リンク構造を隣接行列で表現する。
aij =
1 if (
ページ
iからページ
jへのリンクが「ある」場合
) 0 if (ページ
iからページ
jへのリンクが「ない」場合
)2.
PageRankは「どれだけリンクしているか」ではなく「どれだ
けリンクされているか」を重視しているので、 転置行列を作 成し
(行と列を入れ替えること
)、さらにそれぞれの列
(column)
ベクトルの総和が
1 (全確率
)になるようにそれぞれ のリンク数
(すなわち、非零要素数
)で割る(推移確率行列)。
3.推移確率行列の最大固有値に属する固有ベクトルを求め、
これが
PageRank値になる。
PageRank
の計算例題
左図グラフのような
Webがあるとする.
問1 どの
Webサイトが評判が高いか を直感で示せ.
問2 下記の手順で
PageRank値を 求め,問1と比較せよ
1.隣接行列 2.転置行列 3.推移確率行列 4.方程式を立てる 5.固有値,
固有ベクトル,
正規化(=ページランク)
1.隣接行列
X =
0 1 1 1 0 0 0 1 0 1 0 1 0 0 1 0 0 1 0 1 1 0 0 0 0
2.転置行列
X t=
0 0 0 0 1 1 0 1 0 0 1 1 0 1 0 1 0 0 0 0 0 1 1 1 0
A
がどのノードと連結しているか?
Aがどのノードから連結されているか3.推移確率行列
M =
0 0 0 0 1 1/3 0 1/2 0 0 1/3 1/2 0 1/2 0 1/3 0 0 0 0 0 1/2 1/2 1/2 0
A
ノードから他ノードへ推移する 確率を求めるために,列単位で 正規化を行う
PageRank
の計算過程(1)
4.推移確率行列の最大固有ベクトルを
Rとすると
MP=λRPageRank
の計算過程(
2)
0 0 0 0 1 1/3 0 1/2 0 0 1/3 1/2 0 1/2 0 1/3 0 0 0 0 0 1/2 1/2 1/2 0
rA rB rC rD rE
= λ
rA rB rC rD rE
グラフが強連結(グラフ上の任意 の
2点間に有向路が存在する)
の時は,
λ=1となるので,
MP=R
を解けばよい
rA rB rC rD rE
1 7/9 8/9 1/3 1
=
5.
Rを正規化する
(要素の総和(=4)で各要素を割る)
R= (1/4, 7/36, 2/9, 1/12, 1/4)
PageRank
の計算例題
1(各自やってみること)
検索エンジン
のシステム構成
キーワード検索と全文検索
•
キーワード検索:
Web
ページに登録されたキーワードが検索対象。
○検索が高速。
○検索結果にゴミが少ない。
×キーワード登録が手間。
×検索漏れが多い(デジカメ
≠デジタルカメラ)
•
全文検索:
Web
ページ内のすべての文字が検索対象。
ほとんどのサーチエンジンが採用
逐次検索方式:
Webページの先頭から順番に文字列照合 インデックス方式:事前に
Webページを分析し索引情報(語
句、
Webページ)を作成して利用する
インデックス検索方式に基づく 全文検索
(フルテキストサーチ)
データ収集部
(ロボット,スパイダー,クローラ)
文書フィルタ部
インデクサ部
検索サーバー部
フロントエンド部、ユーザ
検索語句 結果表示
Web
ページ群
文字コードの統一,タグの除去
インデックス
(索引)の作成 イン
デックス ファイル
検索語句とインデックス ファイルとの照合
Webデータを収集
• 19inch
ラック(
210cmH x 60cmW x 75cmD)に
1Uの
PC80台を設置。
(Rackable Systems
の 技術:ラックの全面と背 面の両方に奥行半分の
PCを設置
)• 2 Fast Ethernet Switch /
筐体
• 4
筐体を
GigaEtherにて 接続し1クラスタを構成。
空調
2x44port Fast Ethernet Switch
PC
ラック前面に20台 裏面に20台
PC
ラック前面に20台 裏面に20台
空調
2x44port Fast Ethernet Switch
PC
ラック前面に20台 裏面に20台
PC
ラック前面に20台 裏面に20台
12000台
(2004?)のサーチエンジンサーバー
80
CPU×150ラック
サーバー台数と収集された
Webページ数の推移
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
Aug-98 Feb-99 Aug-99 Feb-00 Aug-00 Feb-01 Aug-01 Feb-02
2001.3 8000台 2000.12 Biglobe
と提携
1998.8 30台
1999.6 Netscapeと提携 2000.6 Yahoo!と提携
平均33台/日で増加
2億 4億 6億 8億 10億 12億
14億
収集 W
e b ペ ー ジ 数 P
C 台 数
16億
18億
20億
2001.4 @Niftyと提携
検索エンジンによる
Web
ページの評価方法の変化
On-page factors
+
Off-page factors• Web
ページの評価(検索順位をあげる)
→
On-page factors
(ページ内要因)
+
Off-page factors(ページ外要因)
•
ページ内要因:
Webページ内の情報(キーワード出現回数,
キーワードの配置,
<title>タグ,
<h1>-<h6>タグ,
サイト内リンクなど)を評価
•
ページ外要因:リンク分析(数,質,関連性,時間,信頼性)
+アンカーテキストによりページを評価
On-page factors
(テキスト要素の最適化
1)
テキストの論理構造,コンテンツを明確化
→
クローラに好まれる
Webサイトの制作
→
本来の
HTMLの利用
①スタイルシート
(CSS)や
JavaScriptは外部ファイルにする
(論理構造と視覚情報は分離する)
②キーワード抽出箇所:タイトル,見出し,第
1段落,最終段落,
各段落の最初と最後
(<meta>タグは,
90年代,評価対象で あったが,スパムに多用されたため,現在は無視される)
③
<title>タグ:ページ遷移に沿ってキーワードを具体化
(海外旅行
→欧州旅行
→パリ
3日間).
全ページに同じキーワードは駄目(共通キーワードは可)
偏ったキーワード(
ecサイトで,商品名
orショップ名だけを キーワードとする)は駄目.
キーワードの個数は1-2個(ネット利用者調査より)
不必要に類似キーワードを繰り返さない
→スパム行為
テキスト要素の最適化
2④見出しタグ
<hx>:文章論理構造
(
h1:標題,
h2:部,
h3:章,
h4:節,
h5:項,
h6:小見出し).
クローラは
<h1>重視
→<h1>を多用するとスパムと判断される
⑤画像タグ
<img>:クローラは画像理解できないので,
alt
属性に画像を説明する適切なキーワードを記載
(例)グーグルバナーの表示
<a href="http://www.google.co.jp/">
<img src = http://www.google.com/logos/Logo_40wht.gif
border="0" alt="Google" align="middle" width="128" height="53">
</a>
Off-page factors
(リンクの評価1:重要度)
•
リンク分析:数,質,関連性,信頼性,時間の総合評価
(ページランクアルゴリズムはリンク分析の一部にしかすぎない)
•
ページランクアルゴリズム:被リンクの数と質の評価
+アンカーテキスト(
10年前
. miserable failure)
重要度に課題:
Web全体からみた重要度であって,
特定話題(検索クエリー)からみた重要度ではない.
信頼度に課題:スパムに弱い.
•
関連性:
relevance(A,B)>
relevance(A,C)(
Teoma(Subject Specific Popularity), WiseNut(Context SensitiveLink Analysis)
等の
Googleキラーと呼ばれた新興検索エンジンが提唱
(その後衰退).
Googleは関連性を後日導入.
http://internet.watch.impress.co.jp/www/article/2002/0403/teoma.htm
※新重要度=数×質×関連性
Cコンビニ
Bホテル A旅行
リンクの評価2:信頼性
•
重要度だけでは,大量の
Webサイトを巧妙に開設し,そこか らリンクを張りページランクをあげる事は依然可能.
•
信頼性:友達の友達は信用.その友達の友達は?その友達 の友達は??という考え方.審査により予め信頼できる
Webサイト群を決め,そこから信頼値を割り当てる.
重 要 度
信頼度
•
時間:開設期間が長い程,信頼性は高い.
急激なリンク数の増加は不自然であり信頼性を低くする
.
優良?
スパム?
新規? マニア?
Yahoo研究者のTrustRank:
http://www.vldb.org/conf/2004/RS15P3.PDF Googleは2005年にTrustRankを商標化したが、
現在は使用中止?(別のアルゴリズム採用?)
検索連動型広告
Web
上の広告
•
バナー広告
元来「垂れ幕」の意
帯状の広告画像が宣伝用の垂れ幕 を連想
•
キーワード広告
検索キーワードに関連す る
Webサイトを提示
クリック回数で広告効果が計れる
キーワード広告
(1)• 1999
年
Altavistaによって試みられる
•
広告枠をオークションで売り、クリックされた 分だけ広告料を課金
•
ユーザのニーズに合った広告が期待できる
•
現在は数十億ドル規模のビジネスに
キーワード広告
(2)•
オーバーチュア スポンサードサーチ
http://www.jp.overture.com/アドワーズ
https://adwords.google.co.jp/select/
•
キーワードへの入札
(クリック単価
)–
「
W杯」
¥51~
¥9「ワールドカップ」
¥71~
¥9 –「就職活動」
¥425~
¥35–
「キャッシング」
¥2146~
¥35「融資」
¥1282~
¥35 –「慶応」
¥32~
¥9キーワード広告
(3)•
オーバーチュア:入札金額で表示順位が決まる
–
順位付け:クリック単価上限の高い順
–
実際のクリック単価:一つ下位のクリック単価+1円
:広告のクリック率も加味した表示順位
–
順位付け:クリック単価上限×クリック率の高い順
–
実際のクリック単価:一つ下位のクリック単価上限×クリッ
ク率÷自広告のクリック率+1円
アドワーズ広告1
•
ビジネスモデル:他のサイトが検索サイトから総合サイトにモデルチェンジする中、
GOOGLEは検索一筋。
売上高の99%=インターネット広告
•
バナー広告→検索連動型広告=アドワーズ広告(売上高50%)+アドセンス広告(売上高49%)
アドワーズ(Adwords:Ad=広告+words=キーワード)広告
検索キーワードに関連する広告を検索結果表示ページの上側と右側に
テキスト表示(上1枠+右8枠=最大9枠。それ以降の広告は次ページ以降).
(ユーザへの配慮)
・テキスト表示:検索速度が遅くなってはいけない
・広告表示場所は上側と右側に定め、検索結果閲覧を邪魔しない
・ポップアップ広告はユーザが不快になる恐れがあるので禁止。
・クリック単価(CPC: cost per click)×クリック率(CTR: click through rate) で表示順位決定。CPCだけで決める広告主主導になりすぎるため。
・さらにCTRが0.5%を下回ると広告が抑制され,そのまま改善しない場合はステータスが
「無効」になり取り下げられてしまいます。
(広告主への配慮)
クリック課金型広告(
PPC (pay per click)広告)
→
クリックされた場合のみ広告料金が発生
クリック単価(7円~1万円)を設定しクリック数に応じて支払う
1日当たりの上限金額設定可能。
CPC
は常に変動
クリック単価(
CPC)=
次ランクの(
CPC上限×
CTR)÷自分の
CTR+ 1
→
次ランクと同等になるための
CPC+1円
→
次ランクに勝つための最低価格 負けた時の
CPCは最低価格7円
(例題)
ワイン会社
A社
CPC上限 200円
B社
CPC上限 100円
問1:(
A社
CTR,
B社
CTR)=(3%,3%)の時の
A社と
B社の
CPCは?
問2:(3%,5%)の時の
A社と
B社の
CPCは?
問3:(3%,8%)の時のA社とB社のCPCは?
アドワーズ広告2
例題回答
表示順位:評価値=クリック単価×クリック率 問1 (
A社
CTR,
B社
CTR)=(3%,3%)
各社最大評価値比較
A社
200 X 3% > B社
100 X 3% A社が
1位,
B社が
2位
1位
A社
(100x3%[B社の
CTR])÷
3%[A社の
CTR]+1=
100+1=101円
2
位
B社
7円(最低クリック単価)
問2(
A社
CTR,
B社
CTR)=(3%,
5%)
各社最大評価値比較
A社
200 X 3% > B社
100 X 5% A社が
1位,
B社が
2位
1位 A社 (100x5%[B社のCTR])÷3%[A社のCTR]+1=167+1=168円2位 B社 7円(最低クリック単価)
問3(
A社
CTR,
B社
CTR)=(3%,
8%)
各社最大評価値比較
A社
200 X 3% < B社
100 X 8% B社が
1位,
A社が
2位
1位
B社
(200x3%[A社の
CTR])÷
8%[B社の
CTR]+1=
75+1=76円
2
位
A社
7円(最低クリック単価)
アドワーズ広告 練習問題1
CPC
(円)
CTR(%)
A
社
300 2.0B
社
210 5.0C
社
200 2.0D
社
200 4.0E