知的情報処理システム特論 第9回 二宮 崇 1 今日の講義の予定 品詞解析 HMM HMMの解析 ビタビアルゴリズム 教科書 北研二(著) 辻井潤一(編) 言語と計算4 確率的言語モデル 東大出版会 C. D. Manning & Hinrich Schütze “FOUNDATIONS OF STATISTICAL NATURAL LANGUAGE PROCESSING” MIT Press, 1999 Christopher M. Bishop “PATTERN RECOGNITION AND MACHINE LEARNING” Springer, 2006 2 品詞解析 PART-OF-SPEECH (POS) TAGGING 3 品詞解析 品詞タガー “I have a pen.” トーカナイザー I have a pen . POSタガー I 代名詞 have 動詞 a pen 不定冠詞 名詞 . ピリオド 4 隠れマルコフモデル Hidden Markov Model (HMM) (1/3) I he 名詞 Mary ピリオド 出力 (emission) … 代名詞 不定 冠詞 遷移 (transition) 動詞 I 代名詞 have 動詞 a pen 不定冠詞 名詞 . ピリオド 5 隠れマルコフモデル Hidden Markov Model (HMM) (2/3) 0.3 ピリオド 0.5 名詞 0.43 0.3 代名詞 0.4 動詞 0.01 0.25 出力 (emission) 0.01 … 遷移 (transition) 動詞 have he 代名詞 不定 冠詞 I 0.3 Mary 0.01 0.1 I a pen 不定冠詞 名詞 . ピリオド 6 隠れマルコフモデル Hidden Markov Model (HMM) (3/3) Q: 状態の有限集合 Σ: 出力記号の有限集合 πq: 文頭が状態qになる確率 aq,r: 状態qから状態rへの遷移確率 Σr∈Q aq,r=1 bq,o: 状態qにおける記号oの出力確率 Σo∈Σ bq,o = 1 7 状態記号列に対する確率の例 π a b 名詞 代名詞 動詞 不定冠詞 ピリオド 0.2 0.4 0.1 0.3 0.0 遷移元\遷移先 名詞 代名詞 動詞 不定冠詞 ピリオド 名詞 0.5 0.0 0.3 0.0 0.2 代名詞 0.1 0.0 0.5 0.2 0.2 動詞 0.2 0.2 0.2 0.2 0.2 不定冠詞 1.0 0.0 0.0 0.0 0.0 ピリオド 0.5 0.0 0.5 0.0 0.0 状態\出力 a … have … I … pen … . … 名詞 0.01 … 0.0 … 0.01 … 0.1 … 0.0 … 代名詞 0.0 … 0.0 … 0.3 … 0.0 … 0.0 … 動詞 0.0 … 0.2 … 0.0 … 0.0 … 0.0 … 不定冠詞 0.2 … 0.0 … 0.0 … 0.0 … 0.0 … ピリオド 0.0 … 0.0 … 0.0 … 0.0 … 1.0 … I 0.3 have 0.2 0.4 0.2 動詞 代名詞 0.5 a 不定冠詞 0.2 pen . 0.1 1.0 名詞 1.0 ピリオド 0.2 0.4*0.3*0.5*0.2*0.2* 0.2*1.0*0.1*0.2*1.0 =0.0000096 8 状態記号列の確率と 生成確率 状態と記号の列が与えられた時 状態記号列 : q1o1q2 o2 qT oT p (q1o1q2 o2 qT oT ) = π q1 bq1 ,o1 aq1 ,q2 bq2 ,o2 aqT −1 ,qT bqT ,oT = π q1 aq1 ,q2 aqT −1 ,qT bq1 ,o1 bq2 ,o2 bqT ,oT T T t =2 t =1 = π q1 ∏ aqt −1 ,qt ∏ bqt ,ot 記号列のみが与えられた時 記号列 : o1o2 oT p (o1o2 oT ) = ∑ p(q o q o q o 1 1 2 2 q1∈Q , q2 ∈Q ,qT ∈Q T T ) (生成確率) 9 品詞解析 品詞解析 (入力: o1o2…oT) q~1q~2 q~T = arg max q1∈Q , q2 ∈Q ,qT ∈Q p (q1o1q2 o2 qT oT ) 10 HMMの教師無し学習 Unsupervised Learning of HMMs パラメータ推定 訓練データ (入力) 訓練データ: x1 x2 xn xi : 文を表す記号列(単語列)。xi = oi1oi 2 oi 3 oiTiとする。 Ti : xiの記号列長 パラメータ (出力) n π , a, b = arg max ∏ p ( xi ) π , a ,b i =1 n = arg max ∏ p (oi1oi 2 oiTi ) π , a ,b i =1 n = arg max ∏ π , a ,b ∑ p(q o q o 1 i1 2 i 2 i =1 q1∈Q , q2 ∈Q ,qTi ∈Q qTi oiTi ) 11 HMMの教師付学習 Supervised Learning of HMMs パラメータ推定 訓練データ (入力) 訓練データ: x1 x2 xn , y1 y2 yn xi : 文を表す記号列(単語列)。xi = oi1oi 2 oi 3 oiTiとする。 Ti : xiの記号列長 yi : xiに対応する正解状態列(正解品詞列)。yi = qi1qi 2 qi 3 qiTiとする。 パラメータ (出力) n π , a, b = arg max ∏ p ( xi , yi ) π , a ,b i =1 n = arg max ∏ p (qi1oi1qi 2 oi 2 qiTi oiTi ) π , a ,b i =1 12 推論(INFERENCE) 解析(ANALYSIS) タグ付け(TAGGING) 復号化(DECODING) 13 解析 解析 (入力: o1o2…oT) q~1q~2 q~T = arg max q1∈Q , q2 ∈Q ,qT ∈Q p (q1o1q2 o2 qT oT ) しかし、計算量はO(|Q|T)! 14 効率的な品詞解析: ビタビアルゴリズム 動的計画法 δ(t, q): 時刻t(otが出力される時)に状態qとなる状態列の中で最大確率となる列 の確率 maxq∈ Q δ(T, q)を求めれば良い 2 時刻 1 o2 出力記号 o1 3 o3 T oT 状態1 … 状態2 … 状態3 … 状態4 … トレリス 15 効率的な品詞解析: ビタビアルゴリズム δ (t , q) = max q1∈Q ,, qt −1∈Q p (q1o1 qt −1ot −1 )aqt −1 ,q bq ,ot { } p (q1o1 qt − 2 ot − 2 )aqt −2 ,qt −1 bqt −1 ,ot −1 aqt −1 ,q bq ,ot = max max qt −1∈Q q1∈Q ,, qt −2 ∈Q = max δ (t − 1, qt −1 )aqt −1 ,q bq ,ot qt −1∈Q o1 最大確率で遷移したパス をバックポインタで保存 o2 ot-1 ot oT 状態1 … … 状態2 … … … 状態 q … … … … … 16 効率的な品詞解析: ビタビアルゴリズム 動的計画法 δ(t, q): 時刻t(otが出力される時)に状態qとなる状態列の中で最大確率となる列の確率 左から右に向かって 全てのδ(t,q)を計算 時刻 出力記号 状態1 1 o1 2 o2 3 o3 T oT δ(1,状態1)=π状態1b状態1,o1 … 状態2 δ(1,状態2)=π 状態2b状態2,o1 … 状態3 δ(1,状態3)=π … 状態3b状態3,o1 状態4 δ(1,状態4)=π 状態4b状態4,o1 … 17 効率的な品詞解析: ビタビアルゴリズム 動的計画法 δ(t, q): 時刻t(otが出力される時)に状態qとなる状態列の中で最大確率となる列の確率 左から右に向かって 全てのδ(t,q)を計算 最大確率で遷移したパス をバックポインタで保存 時刻 出力記号 状態1 状態2 状態3 状態4 1 o1 2 o2 3 o3 T oT δ(2,状態1)= max { … δ(1,状態1)a状態1,状態1b状態1,o2, … δ(1,状態2)a 状態2,状態1b状態1,o2, δ(1,状態3)a状態3,状態1b状態1,o2, … δ(1,状態4)a状態4,状態1b状態1,o2 } … 18 効率的な品詞解析: ビタビアルゴリズム 動的計画法 δ(t, q): 時刻t(otが出力される時)に状態qとなる状態列の中で最大確率となる列の確率 左から右に向かって 全てのδ(t,q)を計算 時刻 出力記号 状態1 状態2 状態3 状態4 1 o1 2 o2 3 o3 T oT δ(2,状態2)= … max { b , δ(1,状態1)a … 状態1,状態2 状態2,o2 δ(1,状態2)a状態2,状態2b状態2,o2, δ(1,状態3)a … 状態3,状態2b状態2,o2, δ(1,状態4)a状態4,状態2b状態2,o2 } … 19 効率的な品詞解析: ビタビアルゴリズム 最後にバックポインタを辿ることで最大確 率となる状態列が得られる o1 o2 oT-2 状態1 … 状態2 … 状態 3 … 状態 4 … oT-1 oT 20 効率的な品詞解析: ビタビアルゴリズム δ[1,q] := π[q]b[q, o1] (for all q) for t =2 to T for q ∈ Q δ[t, q] := maxq’∈Q {δ[t-1, q’]a[q’,q]b[q, ot]} bp[t,q] := argmaxq’∈Q {δ[t-1, q’]a[q’,q]b[q, ot]} 21 まとめ 品詞解析 HMM HMMの解析 ビタビアルゴリズム 資料 http://aiweb.cs.ehime-u.ac.jp/~ninomiya/iips/ 22
© Copyright 2024 ExpyDoc