NLP-5

自然言語処理:第5回
1.前回の確認
2.統計的言語モデル
1.前回の確認
×
ねこ と 飛ぶ 鳥 だ
○
ねこ と 飛ぶ 鳥 だ
ねこは飛ばないことを知っているから
1.前回の確認
ねこが飛ばないことをどう表現すれば良いか
上位
脊椎動物
ペット
走る
哺乳類
ねこ
下位
ミケ
飛ぶ
鳥類
属性
どの格フレーム
のどのスロットか
1.前回の確認
形態素解析器や格文法の構築において
形態素解析器のためのモデルの学習データ
格文法の構築のためのサンプル
実際の文に色々の情報を付加したものを
大量に集める
コーパス  現在の自然言語処理には必須
1.前回の確認
コーパスの具体的な利用方法
TF・IDF  重要単語の抽出
特定の分野が与えられた時、その分野のキーワード
を探す
XとYの相互情報量  XとYの関係の深さ
Xが出てくる文(ドキュメント)では、Yはいつもより
出やすくなる
2.統計的言語モデル
文としての適切さを統計的に表すモデル
どんな文が適切な文か
① 文法に合っている
② 意味が通じる
③ 良く使われる
2.統計的言語モデル
どんな文が適切な文か
① 文法に合っている
② 意味が通じる
③ 良く使われる
今日の天気は晴れである  ○
の天気今日が晴れたある  ×
2.統計的言語モデル
どんな文が適切な文か
① 文法に合っている
② 意味が通じる
③ 良く使われる
思い出そうと思っても忘れられない
2.統計的言語モデル
どんな文が適切な文か
① 文法に合っている
② 意味が通じる
③ 良く使われる
はいそうです
配送です
2.統計的言語モデル
文法の利用
問題点
文法の記述が大変(専門家が必要)
全ての文をカバーしきれない
文法が正しくても、意味のない文がある
文法で、品詞が絞り込めても、単語は
絞り込めない
2.統計的言語モデル
N-gram言語モデル
それぞれの文の使われやすさを統計を用いて
表すモデル
はいそうです
配送です
大量の文を集めてきて、その中で上の文が
それぞれ何回使われたかを数える
2.統計的言語モデル
N-gram言語モデル
文の種類は事実上無限なので、いくら大量の
文を集めてきても、出てこない文がある
明日はどこへ遊びに行こうか
まず単語(形態素)にわける
明日 は どこ へ 遊び に 行こ う か
2.統計的言語モデル
N-gram言語モデル
明日 は どこ へ 遊び に 行こ う か
この文があらわれるためには
(明日)
最初が「明日」で
(は|明日)
(どこ|明日 は)
「明日」の次が「は」
「明日 は」の次が「どこ」
(か|明日 は … 行こ う)
2.統計的言語モデル
N-gram言語モデル
(か|明日 は … 行こ う)
「か」から遠い部分を省略
(か|行こ う) 前2つしか見ない(3-gram)
(か|行こ)
前1つしか見ない(2-gram)
2.統計的言語モデル
2-gramを例にとると
明日 は どこ へ 遊び に 行こ う か
(明日)
最初が「明日」でよいか
(は|明日)
(どこ|は)
「明日」の次が「は」でよいか
「は」の次が「どこ」でよいか
(か|う)
「う」の次が「か」でよいか
2.統計的言語モデル
2-gramを例にとると
(明日)
最初が「明日」でよいか
(は|明日)
(どこ|は)
「明日」の次が「は」でよいか
「は」の次が「どこ」でよいか
単語二つのつながりが尤もらしいかを調べる
ただし、近似した(直前の1単語しか見ていな
い)ため、文全体ではおかしいかもしれない
2.統計的言語モデル
2-gram確率の求め方
(は|明日) (ま|明日)
この2単語のつながりは尤もらしいか?
大量の文を集めてきて、「明日」が出てきた数
と「明日 は」、「明日 ま」が出てきた数を数える
「明日」
10万回
「明日 は」 1万回  尤もらしい
「明日 ま」 1回
 あやしい
2.統計的言語モデル
2-gram確率の求め方
より正確には
「明日」が出てきたときに、後ろに「は」、
「も」が出てくる確率を求める
P(は | 明日)、 P(も | 明日)
「明日」
10万回
「明日 は」 1万回  尤もらしい
「明日 ま」 1回
 あやしい
2.統計的言語モデル
2-gram確率の求め方
「明日」
10万回
「明日 は」 1万回
P(は | 明日)  1万/10万=1/10
正しそうだが、本当か
本当は1/100なのに、たまたま1万回出たのかも
最尤推定
確率  どれくらいの割合で起こるかを予想する
赤球が7個、白球が3個混ざっている。
この時、白球を取り出す確率は。
3 /( 7  3)  3 / 10
白球を2個続けて取り出す確率は?
元々の確率は分かっていて、組み合わせた時の
結果を予想する
最尤推定
元々の確率は分かっていて、組み合わせた時の
結果を予想する
これに対し、言語モデルでは
結果が分かっている時に、確率を予想する
赤球と白球が合わせて10個混ざっている。
10回球を取り出したら(そのつど戻す)白球
が3回だった。白球は何個入っていたか?
最尤推定
赤球と白球が合わせて10個混ざっている。
10回球を取り出したら(そのつど戻す)白球
が3回だった。白球は何個入っていたか?
直感的に、確率が 3 / 10 だから3個
白球が1個しか入っていなくても、
運が良ければ3回出る。
9個入っていても、運がわるければ
3回しか出ない。
最尤推定
全部で10個としたが、そこは関係ないので、
球の数はたくさんで、その中の白球の割合は?
0でも1でもない
白球の割合がすごく多い(少ない)場合は、10回
に3回白球ということはめったに起こらない。
白球の割合が増える(減る)と、起こりやすくなる。
最尤推定
白球の割合がどんな時に、10回に3回に
なりやすいか
起こりやすさ
0.3
0.25
0.2
0.15
起こりやすさ
0.1
0.05
0
0
-0.05
0.2
0.4
0.6
0.8
1
1.2
最尤推定
白球の割合がどんな時に、10回に3回に
なりやすいか
起こりやすさ
0.3
0.25
0.2
0.15
起こりやすさ
0.1
0.05
0
0
-0.05
0.2
3/10
0.4
0.6
0.8
1
1.2
最尤推定
10回中0回の場合
1.2
1
0.8
最尤推定では0
10回中0
30回中0
0.6
0.4
0.2
0
0
0.2
0.4
平均とはずいぶん違う。
特に回数が少ないとずれがひどい。
0.6
0.8
1
1.2
最尤推定
一番起こりやすい  最も尤もらしい
最尤推定
注)平均値でも、中央値(メディアン)でもない
最尤推定  最頻値(モード)
最尤推定
最尤推定

一番起こりやすい
つまり、最大値の場所を見つけ
る。
そのためには、微分して0とおく
f ¢(p) = 0
平均

値と頻度の積を全て足す。
足すのは積分だから
値と頻度の積を積分する
ò pf (p)dp
最尤推定の証明
白球を取り出す確率が p の時、10回に3回
白球になる確率は?
3
7
C
p
(
1

p
)
10 3
最尤推定の証明
白球を取り出す確率が p の時、10回に3回
白球になる確率は?
3
7
C
p
(
1

p
)
10 3
起こりやすさ
0.3
0.25
0.2
0.15
起こりやすさ
0.1
0.05
0
0
-0.05
0.2
0.4
0.6
0.8
1
1.2
最尤推定の証明
白球を取り出す確率が p の時、10回に3回
白球になる確率は?
3
7
C
p
(
1

p
)
10 3
これが最大になる時の p を求めればよい
最大になる  微分して0
最尤推定の証明

10

 0

p (1  p)   0
C3 p (1  p)
3
7
3
7
3 p (1  p)  7 p (1  p)  0
2
7
3
6
3(1  p)  7 p  0
p  0, p  1
10 p  3
p  3 / 10
レポート
構文解析が難しそうな例文(形態素解析誤りはない
ものとする)をあげその理由を述べよ(100字以上)
注)例文はなるべく短い方が良い
講義に対する意見、要望があれば
一緒に書いてもらってOK
レポート提出のメールの件名は
NLP-2-学籍番号 で
提出期限 5月31日10:30
質問&スライド
[email protected]
http://www.info.kindai.ac.jp/ASR