[言語情報科学論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
© Copyright 2024 Paperzz