スライド 1

スムージング
未出現事象の扱い
 観測データ(教師データ)の数が十分に大きくない場
合は、本来、出現する可能性のある事象が教師
データに含まれないことがある。
 例:サイコロを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 r1
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 r1
*
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) 当然 iM1 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
*