音声中の検索語検出におけるDNNを用いたリスコアリング方式

音声中の検索語検出における DNN を用いたリスコアリング方式
A Rescoring Method by a Deep Neural Network for Spoken-Term Detection
感性情報学講座
0312011052 紺野 良太
指導教員: 石亀昌明
1.
はじめに
近年,大容量記憶デバイスの普及に伴い,大量の
音声データから特定の場面を検索する機能が求めら
れており,音声情報を用いて検索を行う,音声中の
検索語検出(STD:Spoken-Term Detection)の研
究が盛んに行われている 1, 2) .
STD とは,音声ドキュメント内で一語以上からな
る検索語(クエリ)が話されている位置を特定する
タスクである.STD システムの実現方法としては,
大語彙連続音声認識システムを用いて音声ドキュメ
ントを予め音声認識し,音声信号をサブワードに記
号化した後,クエリのサブワードと認識結果のサブ
ワードをサブワード間音響距離を用いて照合を行い
検索する方法が一般的であるが,サブワード間音響
距離は記号化された 2 つのサブワード間で音声信
号の類似性によらず一定の値となる問題がある.一
方,DNN(Deep Neural Network)3) から出力され
伊藤慶明
小嶋和徳
事前に求めておき,連続 DP の際に平均継続フレー
ム数分,クエリ方向に状態を積み上げる.図 1 にそ
の例を示す.Pij は,i 番目のフレームにおける状態
j の確率を表す.状態 Sa ,Sb の平均継続フレーム数
がそれぞれ 2,3 であったとすると,その平均継続
フレーム数分,図のように状態とその出力確率を縦
軸方向に積み上げる.
方式 2 では,フレーム単位で得られる出力確率を
状態単位に変換し,状態単位での照合を行う.各状
態における継続フレーム数を学習データから求める
と平均約 2.7 フレームであった.DNN の出力確率
を 3 フレーム毎に計算すれば,フレーム単位で得ら
れる出力確率がおおよそ状態単位に相当するため,
DNN の出力確率を 3 フレーム毎に計算する方法を採
用する.図 2 に例を示す.縦軸にはクエリの状態系
列が並んでおり,横軸は 3 フレーム毎に入力フレー
ムが与えられる.
る確率は音声信号によってそれぞれ異なるため,サ
‫ݏ‬௕
ܲଵ௕
ܲଶ௕
ܲଷ௕
ܲସ௕
ܲହ௕
ܲ଺௕
‫ݏ‬௕
ܲଵ௕
ܲଶ௕
ܲଷ௕
ܲସ௕
ܲହ௕
ܲ଺௕
‫ݏ‬௕
ܲଵ௕
ܲଶ௕
ܲଷ௕
ܲସ௕
ܲହ௕
ܲ଺௕
‫ݏ‬௔
ܲଵ௔
ܲଶ௔
ܲଷ௔
ܲସ௔
ܲହ௔
ܲ଺௔
‫ݏ‬௔
ܲଵ௔
ܲଶ௔
ܲଷ௔
ܲସ௔
ܲହ௔
ܲ଺௔
‫ܨ‬ଵ
‫ܨ‬ଶ
‫ܨ‬ଷ
‫ܨ‬ସ
‫ܨ‬ହ
‫଺ܨ‬
ブワード間音響距離と比べ,より高い精度でクエリ
‫ݏ‬௕
こで,本研究では,クエリのサブワード系列と音声
YƵĞƌLJ
のサブワード系列と音声信号との比較が行える.そ
信号との照合に DNN の出力確率を用いることで検
‫ݏ‬௔
索精度の向上を図る.
2.
提案手法
^ƉŽŬĞŶŽĐƵŵĞŶƚ
従来の STD システムでは,クエリ,検索対象ド
キュメント共にサブワード単位での照合を行ってい
図 1 フレーム単位照合
た.DNN から得られる出力確率はフレーム単位の
‫ݏ‬௘
ܲଵ௘
ܲସ௘
ܲ଻௘
ܲଵ଴௘ ܲଵଷ௘ ܲଵ଺௘
には,以下 2 通りの方式でクエリのサブワード系列
‫ݏ‬ௗ
ܲଵௗ
ܲସௗ
ܲ଻ௗ
ܲଵ଴ௗ ܲଵଷௗ ܲଵ଺ௗ
‫ݏ‬௖
ܲଵ௖
ܲସ௖
ܲ଻௖
ܲଵ଴௖ ܲଵଷ௖ ܲଵ଺௖
1. クエリをフレーム単位の系列に変換する.
‫ݏ‬௕
ܲଵ௕
ܲସ௕
ܲ଻௕
ܲଵ଴௕ ܲଵଷ௕ ܲଵ଺௕
2. フレーム単位で得られる出力確率を状態単位や
サブワード単位に変換する.
‫ݏ‬௔
ܲଵ௔
ܲସ௔
ܲ଻௔
ܲଵ଴௔ ܲଵଷ௔ ܲଵ଺௔
‫ܨ‬ଵ
‫ܨ‬ସ
‫଻ܨ‬
と DNN の出力系列を同一レベルにする必要がある.
YƵĞƌLJ
ため,クエリのサブワード系列と連続 DP 照合する
‫ܨ‬ଵ଴
^ƉŽŬĞŶŽĐƵŵĞŶƚ
方式 1 では,クエリをサブワード系列からフレー
ム系列に変換し,フレーム単位での照合を行う.ま
ず,状態毎の平均継続フレーム数を学習データから
図 2 状態単位照合
‫ܨ‬ଵଷ
‫ܨ‬ଵ଺
3.
実験結果
表 1 NTCIR-9 Formalrun の結果
評価には,NTCIR-91) ,NTCIR-102) で用いられ
た 4 種のテストセットを使用した.検索精度の評価に
フレーム単位照合
は MAP(Mean Average Precision)を用いた.リス
MAP
Time(s)
MAP
Time(s)
従来手法
87.35
0.04
87.35
0.04
コアリングの対象とする検索結果は上位候補 K=50,
状態単位照合
100,500,1000,2000,ALL(全発話)の場合につ
いて実験を行った.4 種のテストセットに対する実
K=50
91.91
0.26
91.87
0.14
K=100
92.47
0.51
92.40
0.29
験結果を表 1∼4 に示す.
K=500
93.86
2.57
93.83
1.45
検索精度向上の最大は,NTCIR-9 Formal run で
K=1000
94.66
5.29
94.61
2.88
8.21pt,Dry run で 11.25pt,NTCIR-10 Formal run
K=2000
94.95
10.88
94.93
5.88
で 16.03pt,Dry run で 15.29pt となったが,K=ALL
K=ALL
95.56
274.81
95.41
156.49
のように全ての発話にリスコアリングを適用するた
め多くの検索時間を要した.
表 2 NTCIR-9 Dryrun の結果
K=100 の場合,NTCIR-9 Formal run で 5.13pt,
Dry run で 6.63pt,NTCIR-10 Formal run で
9.78pt,Dry run で 9.51pt の増加となった.K=ALL
などと比べると精度向上幅は小さくなったが,1 秒以
フレーム単位照合
状態単位照合
MAP
Time(s)
MAP
Time(s)
従来手法
78.01
0.04
78.01
0.04
内の処理時間で検索精度を向上させることができた.
K=50
83.31
0.26
83.28
0.17
状態単位照合方式は,フレーム単位照合と検索精
K=100
84.65
0.51
84.64
0.29
度で比べると K=100 の場合,NTCIR-9 Formal run
K=500
87.74
2.61
87.64
1.44
で-0.07pt,Dry run で-0.01pt,NTCIR-10 Formal
K=1000
88.67
5.37
88.61
2.91
run で-0.01pt,Dry run で-0.24pt と,ほぼ同等の検
K=2000
89.06
11.04
88.92
6.01
K=ALL
89.26
279.16
88.66
156.54
索精度で検索時間が約 1.8 倍高速となった.
以上のように,提案方式により実用的な時間で検
索精度向上を実現でき,提案方式の有効性を検証で
きた.
4.
表 3 NTCIR-10 Formalrun の結果
フレーム単位照合
おわりに
本論文では,従来の STD を行った後,上位候補を
状態単位照合
MAP Time(s)
MAP
Time(s)
従来手法
66.66
0.04
66.66
0.04
DNN の出力確率を用いて照合するリスコアリング
方式を提案し,フレーム単位,状態単位で照合を行
う手法の有効性を検証した.提案手法によって,実
K=50
74.51
0.28
74.34
0.14
K=100
76.44
0.50
76.43
0.28
K=500
79.95
2.57
80.11
1.51
用可能な処理時間で検索精度の向上を実現できた.
K=1000
80.64
5.27
80.76
3.04
K=2000
81.29
10.85
81.40
6.14
K=ALL
82.59
210.74
82.69
119.04
参考文献
1) Tomoyosi Akiba et al., Overview of the IR
for Spoken Documents Task in NTCIR-9
Workshop, Proceedings of NTCIR-9 Workshop
Meeting, pp. 223-235 (2011).
2) Tomoyosi Akiba et al., Overview of the NTCIR10 SpokenDoc-2 Task, Proceedings of the 10th
NTCIR Conference, pp. 573-587 (2013).
3) Geoffrey Hinton et al., Deep Neural Networks
for Acoustic Modeling in Speech Recognition,
IEEE Signal Processing Magazine, Vol. 29, No.
6, pp. 82-97 (2012).
表 4 NTCIR-10 Dryrun の結果
フレーム単位照合
状態単位照合
MAP
Time(s)
MAP
Time(s)
従来手法
77.33
0.04
77.33
0.04
K=50
83.53
0.28
83.33
0.14
K=100
86.84
0.54
86.75
0.30
K=500
89.80
2.85
89.36
1.60
K=1000
90.28
5.87
89.98
3.23
K=2000
90.84
12.07
90.69
6.50
K=ALL
92.62
225.05
92.28
125.34