人工知能特論II 第7回 二宮 崇 1 今日の講義の予定 系列ラベリングのための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 系列ラベリングのためのHMM HMM FOR SEQUENTIAL LABELING 3 品詞解析 品詞タガー “I have a pen.” トーカナイザー I have a pen . POSタガー I 代名詞 have 動詞 a pen 不定冠詞 名詞 . ピリオド 4 隠れマルコフモデル Hidden Markov Model (HMM) 0.3 ピリオド 0.5 名詞 0.01 0.1 he 0.25 出力 (emission) 0.01 … 代名詞 遷移 (transition) 動詞 have 0.3 Mary 0.43 不定 冠詞 I I a pen 不定冠詞 名詞 . 0.3 代名詞 0.4 動詞 0.01 ピリオド 5 隠れマルコフモデル Hidden Markov Model (HMM) Q: 状態の有限集合 Σ: 出力記号の有限集合 πq: 文頭が状態qになる確率 aq,r: 状態qから状態rへの遷移確率 Σr∈Q πr=1 Σr∈Q aq,r=1 bq,o: 状態qにおける記号oの出力確率 Σo∈Σ bq,o = 1 6 状態記号列の確率と 生成確率 状態と記号の列が与えられた時 状態記号列 : 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 q1Q , q2 Q ,qT Q T T ) (生成確率) 7 解析(INFERENCE) 復号化(DECODING) 8 解析 解析 (入力: o1o2…oT) q~1q~2 q~T arg max q1Q , q2 Q ,qT Q p(q1o1q2o2 qT oT ) しかし、計算量はO(|Q|T)! 9 効率的な品詞解析: ビタビアルゴリズム 動的計画法 δ(t, q): 時刻t(otが出力される時)に状態qとなる状態列の中で最大確率となる列 の確率 maxq∈ Q δ(T, q)を求めれば良い 2 時刻 1 o2 出力記号 o1 3 o3 T oT 状態1 … 状態2 … … 状態3 … 状態4 トレリス 10 効率的な品詞解析: ビタビアルゴリズム (t , q) max q1Q ,, qt 1Q p (q1o1 qt 1ot 1 )aqt 1 ,q bq ,ot max max p (q1o1 qt 2 ot 2 )aqt 2 ,qt 1 bqt 1 ,ot 1 aqt 1 ,q bq ,ot qt 1Q q1Q ,, qt 2 Q max (t 1, qt 1 )aqt 1 ,q bq ,ot qt 1Q o1 最大確率で遷移したパス をバックポインタで保存 o2 ot-1 ot oT 状態1 … … 状態2 … … … 状態 q … … … … … 11 効率的な品詞解析: ビタビアルゴリズム 動的計画法 δ(t, q): 時刻t(otが出力される時)に状態qとなる状態列の中で最大確率となる列の確率 左から右に向かって 全てのδ(t,q)を計算 時刻 出力記号 状態1 状態2 状態3 状態4 1 o1 2 o2 3 o3 T oT δ(1,状態1)=π状態1b状態1,o1 … δ(1,状態2)=π 状態2b状態2,o1 … δ(1,状態3)=π … 状態3b状態3,o1 δ(1,状態4)=π 状態4b状態4,o1 … 12 効率的な品詞解析: ビタビアルゴリズム 動的計画法 δ(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 } … 13 効率的な品詞解析: ビタビアルゴリズム 動的計画法 δ(t, q): 時刻t(otが出力される時)に状態qとなる状態列の中で最大確率となる列の確率 左から右に向かって 全てのδ(t,q)を計算 時刻 出力記号 状態1 状態2 状態3 状態4 1 o1 2 o2 3 o3 T oT δ(2,状態2)= … max { δ(1,状態1)a b , … 状態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 } … 14 効率的な品詞解析: ビタビアルゴリズム 最後にバックポインタを辿ることで最大確 率となる状態列が得られる o1 o2 oT-2 状態1 … 状態2 … 状態 3 … 状態 4 … oT-1 oT 15 効率的な品詞解析: ビタビアルゴリズム δ[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]} 16 学習 (パラメータ推定): 最尤推定 17 パラメータ推定: 最尤推定 最尤推定 文の集合を観測したとき、その文の集合がそ こに出現したのは、その文の集合が最も確率 が高かったから、と考えるやり方 コインの例:表がでる確率θが未知のコインが ある。100回投げたところ、62回表がでた。す ると、その確率はθ62(1-θ)38となる。この確率 はθ=0.62で最大となるので、θは0.62であった のだろう、と考えるのが最尤推定の考え方で ある。 18 最尤推定 最尤推定 観測値 x1,...,xn が与えられた時、それぞれが独 立に出現したと考えると、その確率はパラ メータθの関数になる n p( x1 ,..., xn ) p( xi ; ) l ( ) i 1 このl(θ)を尤度(likelihood)もしくは尤度関数 (likelihood function)と呼ぶ 尤度関数を最大化するθを求める ~ arg maxl ( ) 19 最尤推定 最大を求めるために尤度関数の極値を求め る l ( ) 0 コインの例を解析的に解いてみよう l(θ) = θ62(1-θ)38 20 最尤推定 対数尤度(log likelihood)を使うと計算が楽 になる ~ arg maxl ( ) arg maxlogl ( ) コインの例で解いてみよう log l(θ) = log( θ62(1-θ)38 ) 21 最尤推定 正規分布の最尤推定 正規分布N(μ, σ2)から抽出された標本をx1,...,xn とする n 尤度 ( xi ) 2 1 2 l ( , ) i 1 exp 2 2 2 対数尤度 n ( xi ) 2 1 log l ( , ) log 2 2 2 i 1 i 1 n ( xi ) 2 n log( 2 ) 2 2 i 1 n 2 22 ラグランジュの未定乗数法 ラグランジュの未定乗数法 arg max f (θ)ただし g1 (θ) 0,..., g m (θ) 0 θ L(θ) f (θ) 1 g1 (θ) ... m g m (θ) L L L 0, 0,..., 0 1 2 n L(θ) はラグランジュ関数と呼ばれる 23 まとめ HMM 解析 ビタビアルゴリズム 学習 最尤推定 資料 http://aiweb.cs.ehime-u.ac.jp/~ninomiya/ai2/ 24
© Copyright 2024 ExpyDoc