第4回講義資料 - Osaka University

[言語情報科学論A] topics
情報検索とその周辺
2007年05月14日
言語情報科学講座
林 良彦教授
Text: Courtesy of Dr. Jurafsky, D. and Dr. Martin, J.H: “Speech and
Language Processing,1st edition (Prentice Hall, 2000) & 2nd edition”,
http://www.cs.colorado.edu/~martin/slp2.html
Copyright 2007, Yoshihiko Hayashi, Osaka University
1
Agenda
情報検索技術の基礎
質の良い情報を検索する
„
Googleの仕組み(の一部)
知識を検索する
評価・評判を調べる
Copyright 2007, Yoshihiko Hayashi, Osaka University
2
情報検索技術の基礎
情報検索 Information Retrieval (IR)
情報検索の歴史
„
文献検索
Š 均質で閉じた情報が対象
Š キーワード付与 (統制語)
Š 分類 (十進分類)
„
Webサーチエンジン
Š Open-ended, 動的,非均質であり,
Š ネットワーク化された情報が対象
Š 全文検索(自由語)がベース
情報検索の定義
„
„
広義: ユーザのかかえる問題を解決するのに役立つ情報を見つ
け出すこと
狭義: ユーザの検索質問に適合する文書を文書集合の中から見
つけ出すこと
Copyright 2007, Yoshihiko Hayashi, Osaka University
3
情報探索過程と「情報検索」
フィードバック
検索結果
/ Results
情報要求 /
Information
Need
検索要求 /
Query
・漠然とした情報要求を
・漠然とした情報要求を
Queryとして表現する
Queryとして表現する
・探しているものが見つけやす
・探しているものが見つけやす
いような形で検索結果を提示すべき
いような形で検索結果を提示すべき
情報検索システム
マッチング
検索対象の
文書集合
情報探索
インタフェース
ある「表現」のレベ
ある「表現」のレベ
ルで検索要求と文
ルで検索要求と文
書とを照合する
書とを照合する
Copyright 2007, Yoshihiko Hayashi, Osaka University
4
技術の中身の説明の前に
情報検索システムの評価について
効率性 / Efficiency
„
時間的,経済的な制約の中で有効な情報を得られるか
有効性 / Effectiveness
„
„
再現率(Recall): 必要な情報を漏れなく
適合率 (Precision): 必要な情報だけを (ゴミ情報なしに)得られるか
適合 (relevant) 文書集合
R
| Rs |
R=
|R|
| Rs |
P=
|S|
Rs
S
じっさいに検索された
文書集合
Webサーチエンジンの評価をこの指標で行えるか??
Webサーチエンジンの評価をこの指標で行えるか??
Copyright 2007, Yoshihiko Hayashi, Osaka University
5
文書の表現
文書: あるまとまったテキストの単位 (Web
ページでもよいし,パラグラフ程度の単位で
も構わない…)
文書の表現
„
理想的には,意味を抽出し計算機で処理可能
な形式的な表現とする
Š 現状の技術レベルではまだ困難
„
情報検索で行われている手法: '語' (ターム:
term) の集合 (bag of terms) によって文書を
表現する
Copyright 2007, Yoshihiko Hayashi, Osaka University
6
文書のベクトル表現
文書集合
D = {D1 , D2 , L , Di , L , DN }
文書ベクトル
N: 総文書数
タームiが文書jに出現するとき
は非零の値
D j = ( w1 j , w2 j , L , wij , L , wMj )
M: 異なりターム数
◆ タイプ(type)とトークン(token)
・各異なりターム: type
・各出現: token
Copyright 2007, Yoshihiko Hayashi, Osaka University
7
タームとは何か
英語などの場合
„
„
„
いわゆる単語. 複合語 ('computer science')もふくむ
ただし,機能語 (前置詞など) は文書を特徴付けない
から外したい
'computer' と 'computation' は同一視したい場合もあ
る
CJK言語などの場合 (分かち書きなし,表意文字)
„
„
単語を空白によって認識できない ⇒ 形態素解析の必
要性
文字N-gramをタームと考えては? (実際,そういうシス
テムも存在する)
Copyright 2007, Yoshihiko Hayashi, Osaka University
8
タームの抽出処理
形態素解析や手がかり(空白など)により単
語を切り出す
必要ならば,lower case (小文字) へ統一
必要ならば,辞書引き (dictionary lookup) により複合語などを認識する
ストップワードを除去する
接辞処理を行う
Copyright 2007, Yoshihiko Hayashi, Osaka University
9
ストップワードの除去 (Stop Word Deletion)
ストップワード: 文書の表現を構成する要素とし
て適さないもの
„
„
機能語 (前置詞など)
対象の文書集合中のどの文書にも現れるターム
ある語がストップワードか否かを判定する方法
„
„
語の性質を分析し,その結果を用いる
ストップワードの網羅的集合を用意しておき,それに
含まれるかチェックする
英語などでは後者の方法
日本語ではどのみち形態素解析が必要なので
両者を併用 (語の性質として品詞情報を利用)
Copyright 2007, Yoshihiko Hayashi, Osaka University
10
接辞処理 (Stemming)
He is a good guitar player.
He plays the guitar well.
演奏家(player)と演奏する(plays)を同一視した
い (ことがある)
„
概念の派生関係
英語などは語尾変化も頻繁に起こる
接辞処理: 語基(stem)への正規化処理
結局,{player, plays, played} -> play
stemは‘語’であるとは限らない (stemmingのア
ルゴリズムによる)
Copyright 2007, Yoshihiko Hayashi, Osaka University
11
ターム抽出の例
Description: What information is
available on petroleum exploration in the
South Atlantic near the Falkland Islands?
descrip avail petroleum explor south
atlant near falkland island
"TREC Topic 351"
TREC (Text REtrieval Conference): http://trec.nist.gov/
Copyright 2007, Yoshihiko Hayashi, Osaka University
12
タームへの重み付け (Term Weighting)
タームの重み wij : ある文書Dj を表現するのに,
タームi はどの程度の「役割」を果たしているかを
数値化
„
„
„
簡単には: 出現すれば1, 出現しなければ0
あるいは: 出現回数
それでOK?
重み付けの必要性: 検索要求との適合度計算(後
述) やキーワード自動抽出
二つの観点を取り入れる
„
„
その文書だけを見たとき: 高頻度で現れるターム(ス
トップワード除く)は,その文書を特徴付ける [網羅性]
他の文書との関係を見たとき: その文書における頻度
は低くとも,その文書以外でほとんど現れなければ,そ
のタームは,その文書を特徴付ける [特定性]
Copyright 2007, Yoshihiko Hayashi, Osaka University
13
代表的な重み付け法: tf*idf 法
tf (Term Frequency):
„
文書内ターム頻度 [高頻度タームほど大きい]
idf (Inverse Document Frequency)
„
文書集合(文書数をN )において,あるターム
を含む文書の割合の逆数 [特定性]
これらの積として重みを付与する
⎛
⎞
N
+ 1⎟⎟
wij = tf ij × idf i = tf ij × ⎜⎜ log
df i ⎠
⎝
Copyright 2007, Yoshihiko Hayashi, Osaka University
14
検索要求の表現
自然言語による表現
„
‘梅田にある安くて美味しいイタリア料理店’
タームの集合による表現: ベクトル空間モデル
„
{梅田,うめだ,安い,美味しい,イタリア,イタリアン,レ
ストラン,料理店}
論理式による表現: ブーリアンモデル
„
((梅田 or うめだ) and 安い and 美味しい and (イタリ
ア or イタリアン) and (レストラン or 料理店))
適切な結果を導きうるものはどれか?
Copyright 2007, Yoshihiko Hayashi, Osaka University
15
ベクトル空間モデル
文書の場合と同様に検索要求もタームの
集合として表現する.
„
例: 梅田の定食屋さん
Q = (0, L ,1, L ,1, L ,0)
文書集合中のある文書が検索要求にどの
くらい「適合しているか」を数値的に評価し,
適合している順番に検索結果を提示する
適合度の計算: M次元空間中での文書ベク
トルと検索要求ベクトルの関係を評価
Copyright 2007, Yoshihiko Hayashi, Osaka University
16
すなわち,
文書ターム行列
N (総文書数) × M (総異なり単語数) の行列
検索要求ベクトル
Q = (q1 , q2 , L, qM )
D1 = ( w11 , w12 , L, w1M )
Di = ( wi1 , wi 2 , L , wiM )
類似度計算して,
降順にソート
DN = ( wN 1 , wN 2 , L , wNM )
Copyright 2007, Yoshihiko Hayashi, Osaka University
17
適合度の計算
適合度:質問ベクトルQ と文書ベクトルDi が
T次元空間でなす角度 (cosθ)
cosθを求める式
ベクトルQ とDi との内積 (inner product)
Q • Di
Sim(Q, Di ) =
Q × Di
ベクトルDi の大きさ(長さ)
ベクトルQ の大きさ(長さ)
cosθを用いる利点:
文書の長さ(ベクトルの大きさ)を正規化して扱う
Copyright 2007, Yoshihiko Hayashi, Osaka University
18
すごーく簡単化した例 (N = 2, T = 2)
ターム “ビジネス”の軸
D2
2
Q: 検索要求
= (インターネット,ビジネス)
1
0
1 D1
ターム “インターネット”の軸
Copyright 2007, Yoshihiko Hayashi, Osaka University
19
さて,適合度の高いのは?
Sim(Q, D1 ) =
Sim (Q, D2 ) =
(1× 1) + (1× 0)
12 + 12 × 12 + 0 2
(1× 1) + (1× 2)
1 +1 × 1 + 2
2
2
2
2
=
1
= 0.707
2× 1
=
3
= 0.948
2× 5
2
D2
Q: 検索要求
= (インターネット,ビジネス)
1
0
ターム “ビジネス”の軸
1 D1
Copyright 2007, Yoshihiko Hayashi, Osaka University
ターム “インターネット”の軸
20
これまで示した手法の問題点
根本的な問題: PolysemyとSynonymyの問題
„
„
„
„
Polysemy: 同じ字面の語が異なった意味を持つ (例:
'bank transfer', 'memory bank')
Synonymy: 同じ意味を持つ語は複数ある (例: 大リー
グ,メジャーリーグ)
ベクトル空間法: ターム同士は独立という仮定
対策: シソーラス,統計的手法,語義あいまい性解消,
Webの検索における問題
„
„
„
「価値ある」ページが検索されるとは限らない! (初期の
サーチエンジンの大問題)
Spam!
ハイパーリンクが形作るトポロジー (参照・非参照) を
考慮して,ランキングの「精度」を高める
Š rigidな正解があるわけではないので,精度とはいえないが…
Copyright 2007, Yoshihiko Hayashi, Osaka University
21
次の話題に進む前に
適合フィードバック (Relevance Feedback)
一度のqueryで良い結果を得ようとするのではなく,j 回
目の検索結果からj+1 回目のqueryを作る
„
„
ユーザが適合文書を選択する
あるいは,上位m件の検索結果が適合していると仮定して,自動
的にフィードバックを行う
Q j +1 = Q j + α
適合文書集合
∑ D − βD
Q j +1 = Q j + α
Di ⊂ R
i
∑ Di − βDNR
Di ⊂ R
NR
DNR :非適合文書の中で
最上位の文書
R : 適合文書の集合
質問ベクトルを
適合文書集合の
中心に近づくように
修正する
Copyright 2007, Yoshihiko Hayashi, Osaka University
22
質の良い情報を検索する - PageRank 基本的なアイディア: 多くの良質なページからリン
クされているページは,良質なページである
„
ハイパーリンクを推薦関係と捉えると,良質なページと
はお勧めページと考えることができる
PageRank: Webページに与えられるお勧め度を
表す数値
PageRankを高くするためには,まずは他のペー
ジからリンクしてもらう必要がある.さらに,
„
„
お勧め度の高いページから
なるべく「独占的に」リンクしてもらう
Copyright 2007, Yoshihiko Hayashi, Osaka University
23
PageRankのイメージ
50
再帰的な定義であることに注意!
25
65
25
120 40
40
10
85
40
10
Copyright 2007, Yoshihiko Hayashi, Osaka University
24
PageRank の計算 (その1)
対象とするWebページをNページとし,その間のリ
ンクの関係を行列 A として表現する (隣接行列:
adjacency matrix)
⎡0 1 1 1 1 0 1 ⎤
⎢1 0 0 0 0 0 0 ⎥
⎢
⎥
7
2
⎢1 1 0 0 0 0 0 ⎥
⎢
⎥
A = ⎢0 1 1 0 1 0 0 ⎥
6
1
3
⎢1 0 1 1 0 1 0 ⎥
⎢
⎥
5
4
⎢1 0 0 0 1 0 0 ⎥
⎢0 0 0 0 1 0 0 ⎥
⎣
⎦
Copyright 2007, Yoshihiko Hayashi, Osaka University
25
PageRankの計算 (その2)
隣接行列を推移確率行列 M に変換する
転置し,各列の要素の和を1とする
0
0.25 0.5 0⎤
⎡ 0 1 0.5
⎥
⎢0.2 0 0.5 0.33
0
0
0
⎥
⎢
⎢0.2 0 0 0.33 0.25 0 0⎥
⎥
⎢
M = ⎢0.2 0 0
0
0.25 0 0⎥
⎢0.2 0 0 0.33
0
0.5 1⎥
⎥
⎢
0
0.25 0 0⎥
⎢0 0 0
⎢0 0 0
0
0
0 0⎥⎦
⎣
„
PageRankベクトル R = cMR
„
R: 固有ベクトル,c: 固有値の逆数
Copyright 2007, Yoshihiko Hayashi, Osaka University
推移確率行列で
推移確率行列で
あらわされる確率
あらわされる確率
過程は,この掛け算を
過程は,この掛け算を
繰り返したもので,
繰り返したもので,
定常状態の確率が
定常状態の確率が
計算できる
計算できる->
->
PageRankは,
PageRankは,
ランダムにネット
ランダムにネット
サーフィンしたときに
サーフィンしたときに
長い時間後にある
長い時間後にある
ページに到達する確率
ページに到達する確率
固有値問題に
固有値問題に
帰着される
帰着される
26
PageRankの計算 (その3)
・被リンクが多いとPageRankが高い
・被リンクが多いとPageRankが高い
・価値の高いページ(1)からリンクされないと低い値
・価値の高いページ(1)からリンクされないと低い値
7
0.061
6
0.045
2
0.166
1
0.304
5
0.179
3
0.141
4
0.105
Copyright 2007, Yoshihiko Hayashi, Osaka University
27
PageRank の実際の計算
トポロジーの問題
„
どこからもリンクされないページ(群)
Š そもそも対象外
„
出リンクのないページ (dangling page)
Š PageRankが「吸い込まれて戻ってこない」
„
ループになるページ群
Š いったん入ると出られない (rank sink)
„
解決法: リンクによらないランダムなジャンプをある割
合(例: 15%) で仮定する
数値計算上の問題
„
„
計算量の問題: N=1000000000 といったオーダをどう
扱うか
収束の問題
Copyright 2007, Yoshihiko Hayashi, Osaka University
28
閑話休題: SEO
(Search Engine Optimization)
自分のホームページなどをサーチエンジン
(Google) の上位に検索されるように色々と
工夫すること
„
ある意味spamに近い…
“テクニック”の例
„
„
„
PageRankの高いページからリンクしてもらう
相互リンク
アンカーテキストを十分に吟味する
“Google八分”
Copyright 2007, Yoshihiko Hayashi, Osaka University
29
「知識」を検索する - QAシステム ここまで紹介してきた情報検索は,厳密には情報を検
索しているのではなく,文書を検索するもの
„
キーワード⇒適合する文書集合 ← 人間による知識抽出
文書だけでなく,情報・知識そのものを検索したい
„
„
例1: 「2002年のサッカーワールドカップで準優勝したのは
どこの国?」
例2: 「多言語エディタをインストールしようと思ったのだが,
コンパイルエラーが出る.どうすれば良いか?」
例1のような情報(ある種の知識)を尋ねる質問
(factual question) を受け付け,新聞データベース,
マニュアル,インターネットなどを検索して,適合する
情報を提供するシステム: 質問応答(QA)システム
„
例2のようなhowやwhyを尋ねる質問は次のステップ
Copyright 2007, Yoshihiko Hayashi, Osaka University
30
QAシステムの一般的な構成
2002年のワールド
カップで準優勝し
たのはどこの国?
質問解析
質問で聞かれているのはどんな
タイプのものかを解析
文書データベース
情報検索
回答を含んでいそうな
候補文書を検索する
回答抽出
ドイツ
次回2006年大会の開催国である
ドイツは,2002年大会では準優勝
に終わった.自国開催の次の大会
に向けて……
インターネット
候補文書の中から聞かれている
タイプに合致するものを抽出
根拠情報の生成
Copyright 2007, Yoshihiko Hayashi, Osaka University
who, when, where
などの情報を抽出する
必要がある
31
質問の解析
質問文からキーワードを抽出しておく
質問文から答えるべき情報のタイプを導く
„
„
„
„
„
「電話を発明したのは誰ですか」 ⇒ 人名
「チリの首都はどこですか」 ⇒ 地名
「鉄砲がを介したコミュしたのはいつですか」 ⇒ 日付
「東京からパリまで直行便でどのくらいかかりますか」
⇒ 時間
「J2に降格が決まったチームはどこ?」 ⇒ 地名ではなく
て組織名を答えるべき
機械学習を用いたアプローチ: 正解付の質問文
(例題)を集めて,解析ルールを自動抽出する
Copyright 2007, Yoshihiko Hayashi, Osaka University
32
回答の抽出 - Named Entityの認識 形態素解析を行い、前後の文脈を利用して抽出する
例) 島津製作所の田中耕一氏がノーベル賞受賞…
島津/名詞 製作所/名詞
組織名
の/助詞
田中/名詞
耕一/名詞
氏/接尾辞
が/助詞
…
人名
どこが難しい?
・常に新しい表現が登場し、全てを辞書に登録することが困難
・同じ形態素でも、文脈によって多様な固有表現になりうる
例) 島津 → 人名?地名?組織名?
アプローチ: タグ付コーパスから機械学習により
抽出規則を学習する
Copyright 2007, Yoshihiko Hayashi, Osaka University
33
学習型QAシステム: SAIQA-II
(NTT科学基礎研究所ご提供)
Deleted based on copyright concern.
Copyright 2007, Yoshihiko Hayashi, Osaka University
34
学習型QAシステム: SAIQA-II
(NTT科学基礎研究所ご提供)
Deleted based on copyright concern.
Copyright 2007, Yoshihiko Hayashi, Osaka University
35
現在のQAシステムの問題点
factual な質問以外は対象外
„
本当に欲しいのは how や why を教えてくれるシステ
ム
答えが本当に正しいかを保証することができない
単発の質問にしか答えない
„
イチローが移籍したチームは? ⇒ シアトルマリナーズ
⇒ 本拠地は? ⇒ セーフィコフィールド
知識源(文書データベース,インターネット)に答え
がない場合にはどうする? (答えがないということ
を正しく答えることは難しい)
ただし,研究テーマはこれらにシフトしつつある!
Copyright 2007, Yoshihiko Hayashi, Osaka University
36
「評価・評判」を調べる
背景
„
„
口コミ的な情報を調べたい
情報源としてのblogの普及
Š hotな研究開発テーマ: blog mining
実現例
„
„
blogwatcher
http://blogwatcher.pi.titech.ac.jp/
goo ブログ検索
http://blog.goo.ne.jp/
Copyright 2007, Yoshihiko Hayashi, Osaka University
37
評価・評判検索の技術
blogなどのコンテンツから評価・評判情報を抽出
する
„
[対象]・[属性]・[評価の極性] の3つ組を抽出し,イン
デックス化しておく
Š 対象: Starbucksのコーヒー
Š 属性: 味,値段
Š 評価極性: positive (美味しい,安い),negative (まずい,高
い)
„
検索: 「スターバックスのコーヒーってどうよ?」といった
クエリに対して,上記のインデックスを参照して答えを
返す
3つ組の辞書をあらかじめ効率的に作成しておく
必要がある
„
„
HDD/容量/大きい -> positive
HDD/騒音/大きい -> negative
Copyright 2007, Yoshihiko Hayashi, Osaka University
38
3つ組みの抽出と極性判定
評価語の発見: 主に,形容詞系の語
対象・属性の同定
„
„
対象: 主に名詞で表現される entity
属性: その entity が有するであろう属性
Š りんご: 色,形,味,香り,etc.
極性判定: 機械学習の適用
„
周辺文脈などをある程度加味して,「~の~が
~だ」のパターンの極性を自動判定する
Copyright 2007, Yoshihiko Hayashi, Osaka University
39
まとめ - 今後の方向性 検索・抽出した情報の提示手法
„
„
„
要約,分類 (カテゴライズ,クラスタリング)
「まとまり」として整理する (データ・テキストマイニング)
高精度な翻訳 (検索と連動した要約の翻訳)
理解に基づく検索・情報アクセス
„
„
„
知識,評価・評判の検索 - Web 2.0的方向性
How/Whyを対象とするQAシステム
マルチモーダル対話と結びついた対話型QAシステム
マルチメディアデータへの拡張
„
例: 音声認識,映像・画像認識との統合によるマルチメディアコン
テンツの検索・アクセス
メタデータを生成・利用する: Semantic Web
„
"メタデータボトルネック" を解決するためのメディア処理,言語処
理技術がますます重要に
Copyright 2007, Yoshihiko Hayashi, Osaka University
40