Transcript Document
スムージング
未出現事象の扱い
観測データ(教師データ)の数が十分に大きくない場
合は、本来、出現する可能性のある事象が教師
データに含まれないことがある。
例:サイコロを5回振って教師データを作っても、出ない目
が必ず一つはある。
例:新聞記事10年分のテキストから単語の出現頻度を計
算しても、出現していない単語があるかもしれない。
本来、出現する可能性がある事象ではあるが、観
測データに出現していないものの真の生起確率を
どのように評価しておけばよいか?スムージング
これは、未知のデータを扱う場合に重要
Back-off smoothing(元データの頻度)
9
8
7
6
5
系列1
4
3
2
1
0
1
2
3
4
5
6
7
実際に出現した単語(8個)
8
9
10
11
12
13
出現していないが、こ
れから出現する可能性
がある単語(5個)
各単語の頻度にδ(=1)を加算
10
9
8
7
6
系列2
系列1
5
4
3
2
1
0
1
2
3
4
5
6
7
実際に出現した単語(8個)
8
9
10
11
12
13
出現していないが、こ
れから出現する可能性
がある単語(5個)
Back-off smoothing(確率を計算しなおす)
10
9
原データ
8
7
6
系列2
系列1
5
4
3
2
1
0
1
確率
2
3
4
5
6
7
8
9
10
11
12
13
0.3
0.25
0.2
系列1
系列2
0.15
0.1
0.05
0
1
2
3
4
5
6
7
8
9
10
11
12
13
単語の生起確率を求める場合のスムージング
Good-Turingの推定
Good-Turingの推定
語数Nのコーパス中でr回出現する異なり単語数をnrとする。すると
N r n r n1 2n2 3n3 ...
r 0
ここでコーパスにr回出現する単語wの頻度を次の式で推定するのが
Good-Turingの推定
n r1
r (r 1)
nr
*
注)rが最大のときはr+1が定義できないので、r*=r とするしかない。r
が小さいときが重要なので、これでもよいであろう。
Good-Turingの推定
語数Nのコーパス中でr回出現する単語の数をnrとする。すると
N r n r n1 2n2 3n3 ...
r 0
ここでコーパスにr回出現する単語wの頻度を次の式で推定するのがGoodTuringの推定
n r1
*
r (r 1)
ここで0回出現した単語の出現頻度の期待値0*は
0*
nr
n1
n1
n 0 全語彙数コーパスに出現した語 彙数
一方、1回以上出現した単語の相対頻度の総和を求めると
n r r*
n1
1
N
N
r 0
n
1 がコーパスに出現しない全単語の頻度の合計の推定確率
つまり、
N
なお、
d
* をディスカウント係数という。
r
r
Good-Turingの推定の導出
• 母集団における異なり単語数をMとする
• 母集団における単語wiの出現確率をP(wi)
• wi が語数(サイズ)Nのコーパス中で出現
する回数をC(wi) 当然 iM1 C (wi ) N
• 単語wがコーパス中にr回出現したとき、w
の母集団での生起確率および出現回数の
期待値は
E[ P( w) | C ( w) r ]
M
i 1
P( w wi | C ( w) r ) P( wi )
r * E[r | C ( w) r ] E[ P( w) | C ( w) r ]N
(2)
(1)
• サイズNのコーパスにおける単語の出現
確率分布を2項分布とすると
P(w wi | C (w) r )
P(C ( wi ) r )
M
i 1
P(C ( wi ) r )
r
N r
C
P
(
w
)
(
1
P
(
w
))
N r
i
i
M
i 1
r
N r
C
P
(
w
)
(
1
P
(
w
))
N r
i
i
(3)
この結果を(1)に代入すると
M
E[ P(w) | C (w) r ]
Cr P(wi ) r 1 (1 P(wi )) N r
N
i 1
M
Cr P(wi ) r (1 P(wi )) N r
N
i 1
(4)
サイズNのコーパス中にr回出現する単語の総数の期待値
EN [N r ]
M
i 1
P(C ( wi ) r )
M
C P( wi )
i 1 N r
r
(1 P( wi )) N r
r 1
N+1 C r+1 から以下のよう に書き 換えられる
N 1
r 1 E N 1 ( N r 1 )
E[ P( w) | C ( w) r ]
(5)
N 1 EN (N r )
すると (4)は N C r
この結果を使って(2)式のr*を求めると
r 1 E N 1 ( N r 1 )
r E[ P( w) | C ( w) r ]N N
N 1 EN (N r )
*
(6)
ここでNが十分大きく、EN(Nr)をコーパス中に出現頻度Nrで
近似すると
N r 1
r ( r 1)
となる
Nr
*
N1
0
N0
*