言語体系とコンピュータ 第5回 今回の内容 • 形態素解析 英語編 2 文を単語に区切って品詞を決める 英語編 • 文を単語単位に分ける →単語の区切りとして空白があるので,あまり問 題にならない. 略記はやや問題 • 語形変化したものを,原形に戻す. • 品詞を分析(POS tagging) – 品詞の曖昧性が多く存在するので難しい. – 中心的な部分 3 文を単語に区切って品詞を決める(2) • 実は「形態素解析」と呼ぶ分析 • 形態素は,語基(radical) と 接辞(affix) – 接辞は,接頭辞(prefix)と接尾辞(suffix) • 語は,形態素1つか,複数形態素から成る – 1形態素: play, small, kind 語基だけ – 複数形態素:playing → play-ing smaller → small –er 語基と接尾辞 unkind → un- kind 接頭辞と語基 4 文を単語に区切って品詞を決める(3) • 実は「形態素解析」と呼ぶ分析 • 形態素は,語基(radical) と 接辞(affix) •規則変化は,変化規則を作成 – 接辞は,接頭辞(prefix)と接尾辞(suffix) •不規則変化は,対応表を作成 • 語は,形態素1つか,複数形態素から成る – 1形態素: play, small, kind 語基だけ 表を元に形態素は取り出せる – 複数形態素:playing → play-ing smaller → small –er 語基と接尾辞 unkind → un- kind 接頭辞と語基 5 文を単語に区切って品詞を決める(4) • それよりも...英語では品詞を決める(POS tagging)が 一番難しくて重要 • 品詞タグづけの難しさの例: Time flies like an arrow. – 光陰矢の如し Time/N flies/V like/Prep an/Det arrow/N Time/N flies/N like/V an/Det arrow/N 6 文を単語に区切って品詞を決める(5) • Time flies like an arrow. Time/N flies/V like/Prep an/Det arrow/N • 光陰矢の如し Time/N flies/N like/V an/Det arrow/N • トキバエは矢を好む. トキバエ→ 7 文を単語に区切って品詞を決める(6) • Time flies like an arrow. Time/N flies/V like/Prep an/Det arrow/N • 光陰矢の如し Time/N flies/N like/V an/Det arrow/N • トキバエは矢を好む. fliesやlikeの品詞が トキバエ→ 複数候補あるせい 8 品詞をどうやって決めるか(1) • 品詞タグ付け: – 入力単語の列に対して尤もらしい品詞列を与え る問題と考える • 尤もらしさの尺度 – 各語について,複数の品詞がありうる場合,どの 品詞が尤もらしいか – 品詞の並びによる優先度 • 例:「The」 の後に来る語が動詞にも名詞にもなりうる 語である場合 → 名詞が優先される 9 品詞をどうやって決めるか(2) 既に品詞付けをしてあるコーパスを元 • 品詞タグ付け: にして,この尤もらしさを自動的に計算 – 入力単語の列に対して尤もらしい品詞列を与え る問題と考える • 尤もらしさの尺度 – 各語について,複数の品詞がありうる場合,どの 品詞が尤もらしいか – 品詞の並びによる優先度 • 例:「The」 の後に来る語が動詞にも名詞にもなりうる 語である場合 → 名詞が優先される 10 品詞をどうやって決めるか(3) 既に品詞付けをしてあるコーパスを元 • 品詞タグ付け: にして,この尤もらしさを自動的に計算 – 入力単語の列に対して尤もらしい品詞列を与え る問題と考える 確率的モデルを利用 • 尤もらしさの尺度 したPOS tagging – 各語について,複数の品詞がありうる場合,どの 品詞が尤もらしいか – 品詞の並びによる優先度 • 例:「The」 の後に来る語が動詞にも名詞にもなりうる 語である場合 → 名詞が優先される 11 品詞をどうやって決めるか(4) • 考え方 – 入力単語列: 例: W1, W2, W3, W4, …,Wn time, flies, like, an, arrow – 求めたい品詞列: C1, C2, C3, C4, … , Cn 例: N, V, Prep, Det, N P(C1, C2, C3, C4, … , Cn | W1, W2, W3, W4, …,Wn) という条件付確率が最大になる品詞の並び(が求めたい品 詞の並び) 12 品詞をどうやって決めるか(5) • 考え方 – 入力単語列: 例: W1, W2, W3, W4, …,Wn time, flies, like, an, arrow – 求めたい品詞列: C1, C2, C3, C4, … , Cn 例: N, V, Prep, Det, N P(C1, C2, C3, C4, … , Cn | W1, W2, W3, W4, …,Wn) という条件付確率が最大になる品詞の並び(が求めたい品 単語列が(W1, W2, W3, W4, …,Wn)であるときに 詞の並び) 品詞列が(C1, C2, C3, C4, … , Cn)である確率 (事後確率) 13 品詞をどうやって決めるか(6) 例で考えると... W1, W2, W3, W4, W5 Time flies like an arrow 入力単語列 C1, Noun Noun Noun C2 , C3, C4, C5 Noun Verb Det Noun 可能性の Verb Prep Det Noun ある Noun Adj Det Noun 品詞列 … 「確率的に一番高いものを選ぶ」ということ 14 品詞をどうやって決めるか(7) • 計算の仕方 – 最初の式を P(C1, C2, C3, C4, … , Cn | W1, W2, W3, W4, …,Wn) – ベイズの定理によって変形 P(A|B) = P(A) P(B|A) / P(B) P(C1, C2, C3, C4, … , Cn )×P( W1, W2, W3, W4, …,Wn| C1, C2, C3, C4, … , Cn ) P(W1, W2, W3, W4, …,Wn) 15 品詞をどうやって決めるか(8) • 計算の仕方 – 最初の式を P(C1, C2, C3, C4, … , Cn | W1, W2, W3, W4, …,Wn) – ベイズの定理によって変形 P(A|B) = P(A) P(B|A) / P(B) P(C1, C2, C3, C4, … , Cn )×P( W1, W2, W3, W4, …,Wn| C1, C2, C3, C4, … , Cn ) P(W1, W2, W3, W4, …,Wn) 分母のP(W1..)は品詞(C)と無関係≒結果に影響を与えな いので考えない 16 品詞をどうやって決めるか(9) • 計算の仕方 P(C1, C2, C3, C4, … , Cn ) × P( W1, W2, W3, W4, …,Wn| C1, C2, C3, C4, … , Cn ) を最大にする品詞列だとして計算する 17 品詞をどうやって決めるか(10) • 計算の仕方(実際) – 第1項:P(C1, C2, C3, C4, … , Cn)の部分から • こういう品詞列が出現する確率 を計算するのだが.. • こんな長い品詞列を直接扱うのは困難 (十分なデータがない) →bigram で 近似 18 品詞をどうやって決めるか(11) 第1項:P(C1, C2, C3, C4, … , Cn)の部分 →bigram で 近似 Time flies C1, C2 , like C3, an C4, arrow C5 19 品詞をどうやって決めるか(12) 第1項:P(C1, C2, C3, C4, … , Cn)の部分 →bigram で 近似 Time flies like an arrow P(C1, C2, C3, C4, … , Cn) ~=ΠP(Ci | Ci-1) i=0からnまで C0=φ架空の品詞 で計算 C1, C2 , C3, C4, C5 20 品詞をどうやって決めるか(13) 第2項 P( W1, W2, W3, W4, …,Wn| C1, C2, C3, C4, … , Cn )も近似 P( W1, W2, W3, W4, …,Wn| C1, C2, C3, C4, … , Cn ) ~=Π P(Wi | Ci) i=0からnまで time{N, Adj, V} flies{N, V} like{Adj,Prep,Adv,Conj,N} P(time | N) P(flies|N) P(like|Adj) P(time | Adj) P(flies|V) P(like|Prep) P(time | V) P(like|Adv) P(like|Conj) P(like|N) 21 品詞をどうやって決めるか(14) • 全体として ΠP(Ci | Ci-1) × P(Wi | Ci) とする i=1~n – この計算は,品詞付きのコーパスがあればできる 22 品詞をどうやって決めるか(15) P(Ci | Ci-1) 品詞Ci-1に続いてCiが出る確率 = freq(Ci-1, Ci) / freq(Ci-1) ↑ Ci-1の出現回数 Ci-1, Ciという順番の並びの出現回数 P(N|φ) = f(φ,N) / f(φ) = 392/685 = 0.57 P(N|det) = f(det, N) / f(det) = 1050/1102 = 0.95 ...なんて計算する 23 品詞をどうやって決めるか(16) P(Wi | Ci) ある品詞Ciとして単語Wiが出る確率 = freq(Wi as Ci) / freq(Ci) ↑ 品詞Ciの出現回数 WiがCiとして出現する回数 P(time | N) = f(time as N) / f(N) = 13/ 3481 = 0.0037 P(time | prep) = f(time as Prep) / f(Prep) = 7/1405 = 0.0050 ...なんて計算ができる 24 確率の計算 • あらかじめ計算可能 – Webで – この表から, 英語文の単語と品詞の隠れマルコフモデル (HMM,Hidden Markov Model)が作成される 25 状態遷移図 • HMMの 状態遷移図例 ここまでは 予め 用意可能 26 品詞を決める-実践(1) • 各品詞の並びと,その並び安さを示した確率 を計算した → 状態遷移図も手に入った • いよいよ – Time flies like an arrow の品詞を決める 27 品詞を決める-実践(2) • まず,開始の○にΦを書く Φ 28 品詞を決める-実践(3) • 最初の単語 time の品詞を調べる → 今回の例では N しかない(本来は違うので注意) 0.57 × 0.0037 = 0.0021 Φ 0.57 time/N 0.0037 最初の状態からtime/Nに遷移する確率 0.57 品詞Nがtimeである確率 0.0037 ここまでの出現確率 0.57×0.0037=0.0021 29 品詞を決める-実践(4) • 次の単語 files の品詞を調べる → 今回の例では NとV 0.000000048 0.57 × 0.0037 = 0.0021 Φ 0.57 time/N 0.0037 0.00080 0.38 0.31 0.00065 flies/N 0.0006 flies/V 0.0013 0.00000085 30 品詞を決める-実践(5) • 次の単語 likes の品詞を調べる → 今回の例では NとV とPrep 0.000000048 0.57 × 0.0037 = 0.0021 Φ 0.57 time/N 0.0037 0.00080 0.38 0.31 0.00065 この先に追加!→ flies/N 0.0006 flies/V 0.0013 0.00000085 31 品詞を決める-実践(6) • 最後の単語 arrow まで続ける → 最終的には可能性のある組み合せが全部出る 0.000000048 0.57 × 0.0037 = 0.0021 Φ 0.57 time/N 0.0037 0.00080 0.38 0.31 0.00065 flies/N 0.0006 flies/V 0.0013 0.00000085 32 品詞を決める-実践(7) 33
© Copyright 2024 ExpyDoc