ことばとコンピュータ 2007年度1学期 第3回
本日の内容 前回のおさらい 文を単語に区切って品詞を決める 日本語編 英語編
前回のおさらい(1) 文を単語に区切って,品詞を決める 「このひとことで元気になった」 日本語編 →この/ひとこと/で/元気/に/なっ/た 連体詞 名詞 助詞 名詞 助詞 動詞 助動詞
おさらい(2) 日本語は一般に,語の区切り,空白がない →単語を切り出す ※最も重要で難しい 語形変化したものを基本形にする →単語を切り出す ※最も重要で難しい 語形変化したものを基本形にする 単語に品詞を付与
おさらい(3) コンピュータには文字以上のことはわからない 少なくとも 「単語」を知る必要がある 無理のない単語の並びを知る必要がある
おさらい(4) 単語辞書と連接規則 単語辞書 連接規則 単語の基本形,読み,品詞,活用の型など を記述したもの を記述したもの 連接規則 連接(連続して接する)可能な2つの単語の タイプ(主に,品詞とその活用の型)を 記述したもの
おさらい(5) 道具と手続き 単語を知る道具 単語の連接を確かめる規則 は揃ったとして, 次は,どうやって,それらを使って実際に 文を単語に区切って,品詞の付与を行うか? →アルゴリズム(手続き)
おさらい(6) コスト最小法による形態素解析 実際にやりながら学習 最初はどこでも切れる可能性がある! 0の場所からスタート 0 こ1の2 ひ3 と4 こ5 と6 で7 元8 気9 に10な11 っ12 た13 最初はどこでも切れる可能性がある! 0の場所からスタート
おさらい(7) コスト最小法による形態素解析 最初はどこでも切れる可能性がある! 0の場所からスタート 「こ」から始まる 単語を単語辞書 0 こ1の2 ひ3 と4 こ5 と6 で7 元8 気9 に10な11 っ12 た13 最初はどこでも切れる可能性がある! 0の場所からスタート 「こ」から始まる 単語を単語辞書 で調べる
おさらい(8) コスト最小法による形態素解析 最初はどこでも切れる可能性がある! 0の場所からスタート 0 こ1の2 ひ3 と4 こ5 と6 で7 元8 気9 に10な11 っ12 た13 最初はどこでも切れる可能性がある! 0の場所からスタート 「こ」から始まる 単語を単語辞書 で調べる 「こ」(接尾辞),「こ」(名詞),「この」(連体詞)の3つを発見!
おさらい(8) コスト最小法による形態素解析 最初はどこでも切れる可能性がある! 0の場所からスタート 0 こ1の2 ひ3 と4 こ5 と6 で7 元8 気9 に10な11 っ12 た13 最初はどこでも切れる可能性がある! 0の場所からスタート 文頭との接続が 許されるかどうか 連接規則を見る 「こ」(接尾辞),「こ」(名詞),「この」(連体詞)の3つを発見!
おさらい(9) コスト最小法による形態素解析 最初はどこでも切れる可能性がある! 0の場所からスタート 0 こ1の2 ひ3 と4 こ5 と6 で7 元8 気9 に10な11 っ12 た13 最初はどこでも切れる可能性がある! 0の場所からスタート 文頭との接続が 許されるかどうか 連接規則を見る 「こ」(接尾辞),「こ」(名詞),「この」(連体詞)の3つを発見!
おさらい(10) 50 名詞40 10 こ 10 ラティスを作っていく 文 頭 10 10 こ の 連体詞10 20
おさらい(11) 30+40=70 名詞40 50 70 ひ 名詞40 助詞10 80 60 こ の 10 10 10 30+40=70 名詞40 80 文 頭 10 文末 10 ひと 30 10 10 30 10 80 10 30+40=70 こ の 10 名詞40 30 10 ひとこと 連体詞10 20
おさらい(12) ここを完成さた! 30+40=70 名詞40 50 70 ひ 名詞40 助詞10 80 60 こ の 10 10 10 30+40=70 名詞40 80 文 頭 10 文末 10 ひと 30 10 10 30 10 80 10 30+40=70 こ の 10 名詞40 30 10 ひとこと 連体詞10 20
この/ひとこと/で/元気/に/なっ/た 連体詞 名詞 助詞 名詞 助詞 動詞 助動詞 この/ひとこと/で/元気/に/なっ/た 連体詞 名詞 助詞 名詞 助詞 動詞 助動詞
文を単語に区切って品詞を決める 英語編 文を単語単位に分ける 語形変化したものを,原形に戻す. 品詞を分析(POS tagging) →単語の区切りとして空白があるので,あまり問題にならない. 略記はやや問題 語形変化したものを,原形に戻す. 品詞を分析(POS tagging) 品詞の曖昧性が多く存在するので難しい. 中心的な部分
文を単語に区切って品詞を決める(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. fliesやlikesの品詞が 複数候補あるせい Time/N flies/V like/Prep an/Det arrow/N 光陰矢の如し Time/N flies/N like/V an/Det arrow/N トキバエは矢を好む. トキバエ→ fliesやlikesの品詞が 複数候補あるせい
品詞をどうやって決めか(1) 品詞タグ付け: 尤もらしさの尺度 入力単語の列に対して尤もらしい品詞列を与える問題と考える 各語について,複数の品詞がありうる場合,どの品詞が尤もらしいか 品詞の並びによる優先度 例:「The」 の後に来る語が動詞にも名詞にもなりうる語である場合 → 名詞が優先される
品詞をどうやって決めか(2) 既に品詞付けをしてあるコーパスを元にして,この尤もらしさを自動的に計算 品詞タグ付け: 尤もらしさの尺度 入力単語の列に対して尤もらしい品詞列を与える問題と考える 尤もらしさの尺度 各語について,複数の品詞がありうる場合,どの品詞が尤もらしいか 品詞の並びによる優先度 例:「The」 の後に来る語が動詞にも名詞にもなりうる語である場合 → 名詞が優先される
品詞をどうやって決めか(3) 確率的モデルを利用したPOS tagging 既に品詞付けをしてあるコーパスを元にして,この尤もらしさを自動的に計算 品詞タグ付け: 入力単語の列に対して尤もらしい品詞列を与える問題と考える 尤もらしさの尺度 各語について,複数の品詞がありうる場合,どの品詞が尤もらしいか 品詞の並びによる優先度 例:「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) WiがCiとして出現する回数 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) 各品詞の並びと,その並び安さを示した確率を計算した いよいよ → 状態遷移図も手に入った → 状態遷移図も手に入った いよいよ Time flies like an arrow の品詞を決める
品詞を決める-実践(2) まず,開始の○にΦを書く Φ
品詞を決める-実践(3) 最初の単語 time の品詞を調べる Φ time/N 0.0037 品詞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 flies/N Φ time/N 0.0006 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 flies/N Φ 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 まで続ける → 最終的には可能性のある組み合せが全部出る flies/N Φ time/N → 最終的には可能性のある組み合せが全部出る 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
品詞を決める-実践(7)