音声対話における応答速度改善に向けた先読み技術の検討

大規模言語モデルの発達[1]、また高性能なSpeech2Text[2],Text2Speechモデル[3]の開発により、自然な音声対話を行うことができるシステムが可能になりつつある。音声対話システムは幅広い応用先を持ち、今後社会に実装されることが期待される。しかしながら、大規模言語モデルを用いた音声対話システムの欠点の一つとして、応答生成に時間がかかると言う問題が存在する。一般的に日本語話者は1秒以内に相手の発話に対して応答を始めるという傾向があるが[4]、例えばOpenAIのGPT-3.5-turboは1秒では14トークンしか生成できず[5]、1秒以内に全ての生成を終えて応答を行うのは簡単でない。既存の解決策として、言語モデルが全ての文章を生成し終える前に生成されたトークンを次々と音声として出力していくことが考えられる。しかしながら全て生成し終わる前に音声として発話を出力する手法は有害な文章を弾くようなフィルタリングの適用が難しく、有害性が発見された時にはすでに文章の途中まで発話してしまっているような状況が起こ予測し、それに対するボットの応答を先に生成しておくことにより応答までの時間を短縮するりうる。よって今回我々は発話を生成し終えてから音声出力を行う音声対話システムを対象とし、そこに発話の先読み技術を組み込むことで応答速度を改善することを提案する。提案手法の概略図を図1に示す。既存の音声対話システムでは、ターン𝑡においてボットの発話𝑏𝑡とユーザーの発話𝑢𝑡が行われている間、システムは𝑏𝑡の音声出力を行いそして𝑢𝑡が終了するのを待つだけである。我々の手法ではこのIdleな時間をユーザーの発話予測とボットの応答の事前生成に当てることで応答速度の改善を目指す。我々の手法ではそれまでの対話履歴からユーザー発話を複数パターン先読み予測し、パターンごとにボットの応答を事前生成する。その後、実際のユーザー発話𝑢𝑡が終わった後に予測ユーザー発話とのマッチングを行い、一定の類似度を超えた予測発話に関しては、先読みが成功したとして事前生成しておいたボットの発話を返す。この手法により、既存のシステムでは必然的にかかっていたボットの応答生成時間を予測発話とのマッチング時間のみに短縮することができる。.我々の先読みシステムを評価した結果、ユーザーの発話のおよそ20%を高い類似度で先読みでき、マッチング時間のみで自然な応答を返すことができることが確認された。さらに詳細な分析を行った結果、直前のボットの発話がユーザーの発話を絞り込めるような文脈である時に先読み予測が成功しやすいということが判明した。