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