(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025003232
(43)【公開日】2025-01-09
(54)【発明の名称】発話タイミング推定システムおよび対話システム、並びにプログラム
(51)【国際特許分類】
G10L 13/02 20130101AFI20241226BHJP
G10L 13/00 20060101ALI20241226BHJP
G10L 15/22 20060101ALI20241226BHJP
【FI】
G10L13/02 130Z
G10L13/00 100M
G10L15/22 300Z
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023103792
(22)【出願日】2023-06-23
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り (1)令和5年1月10日発表 2022 IEEE Spoken Language Technology Workshop(米国電気電子学会 SLT2022のワークショップ)にて、スライドを用いて発表するとともに、論文を発表 (早稲田大学のサイトに掲載された論文の抄録) https://waseda.elsevierpure.com/ja/publications/response-timing-estimation-for-spoken-dialog-systems-based-on-syn (会議の開催者のサイト(IEEE Xplore)に掲載された論文の抄録) https://ieeexplore.ieee.org/document/10023458 (2)令和4年(2022年)9月22日発表 INTERSPEECH 2022のThu-O-OS-9-4 Spoken dialogue systemsセッションにて、スライドを用いて発表するとともに、論文を発表 (早稲田大学のサイトに掲載された論文の抄録) https://waseda.elsevierpure.com/en/publications/response-timing-estimation-for-spoken-dialog-system-using-dialog- (会議の開催者のサイト(ISCAのウェブサイト)に掲載された論文の抄録) https://www.isca-speech.org/archive/interspeech_2022/sakuma22_interspeech.html
(71)【出願人】
【識別番号】899000068
【氏名又は名称】学校法人早稲田大学
(74)【代理人】
【識別番号】100114638
【弁理士】
【氏名又は名称】中野 寛也
(72)【発明者】
【氏名】小林 哲則
(72)【発明者】
【氏名】藤江 真也
(72)【発明者】
【氏名】佐久間 仁
(72)【発明者】
【氏名】谷口 友紀
(57)【要約】
【課題】発話タイミング推定の精度向上および/または次発話準備の効率化を図り、システムの応答性を向上させ、円滑な対話を実現することができる発話タイミング推定システムおよび対話システムを提供する。
【解決手段】対話システム10において、音声認識処理で得られたユーザ発話の途中までの認識済トークン列を用いて、言語モデルにより後続トークン列を推定し、補完トークン列を生成する文章生成器31を設け、後続トークン列や補完トークン列から得られる予測情報(構文完了性推定器33の出力、ダイアログアクト推定器40の出力または中間特徴量、言語特徴量抽出手段32の出力のうちの少なくとも1つ)と、音響特徴量とを発話タイミング推定器50に入力する。また、補完トークン列を用いて次発話の準備をする。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ユーザ発話からシステム発話への交代のタイミングを推定する処理を実行するコンピュータにより構成された発話タイミング推定システムであって、
音声認識処理で得られたユーザ発話の途中までの部分を構成する認識済トークン列を用いて、ジェネレイティヴ・プリトレインド・トランスフォーマ2、3若しくは4(GPT-2,3若しくは4)、またはその他の言語モデルにより、ユーザ発話についての前記認識済トークン列に続く部分を構成する後続トークン列を推定し、または、この推定に加え、前記認識済トークン列に前記後続トークン列を加えた補完トークン列を生成する文章生成器と、
この文章生成器により推定された前記後続トークン列または生成された前記補完トークン列から得られる予測情報と、ユーザ発話の音声信号から得られる音響特徴量とを含む情報を入力データとし、次のシステム発話を開始するタイミングを推定するパターン認識処理を実行する発話タイミング推定器とを備え、
この発話タイミング推定器に入力する前記予測情報は、
(a)前記文章生成器により推定された複数の前記後続トークン列を用いて、あと何個のトークン若しくはどれくらいの時間長で発話が完了するのかを示す発話完了トークン数若しくは発話完了時間長の確率分布、または前記発話完了トークン数若しくは前記発話完了時間長の確率を累積した累積確率分布を求める構文完了性推定器を設け、この構文完了性推定器により求めた前記発話完了トークン数若しくは前記発話完了時間長の確率分布または累積確率分布のベクトルデータと、
(b)前記文章生成器により生成された前記補完トークン列から得られる言語特徴量と、ユーザ発話の音声信号から得られる音響特徴量とを含む情報を入力データとし、ユーザ発話のダイアログアクトを推定するか、またはこのユーザ発話のダイアログアクトに加えて次のシステム発話のダイアログアクトを推定するパターン認識処理を実行するダイアログアクト推定器を設け、このダイアログアクト推定器から出力された前記ダイアログアクトの推定結果若しくはこの推定結果に至るまでの中間特徴量と、
(c)前記文章生成器により生成された前記補完トークン列から得られる言語特徴量と
のうちの少なくとも1つの情報である
ことを特徴とする発話タイミング推定システム。
【請求項2】
ユーザ発話の音声信号を用いて、ユーザ発話末からの経過時間またはこの経過時間の長短を示す代替値を計測するユーザ発話終了後経過時間計測手段を備え、
前記発話タイミング推定器の入力データには、前記ユーザ発話終了後経過時間計測手段により計測されたユーザ発話末からの経過時間またはその代替値も含まれる
ことを特徴とする請求項1に記載の発話タイミング推定システム。
【請求項3】
ユーザとの音声対話のための処理を実行するコンピュータにより構成された対話システムであって、
請求項1または2に記載の発話タイミング推定システムと、
ユーザ発話の音声信号を取得する音声信号取得手段と、
この音声信号取得手段により取得したユーザ発話の音声信号についての音声認識処理を実行する音声認識器と、
前記発話タイミング推定システムを構成する前記発話タイミング推定器によるパターン認識処理の周期に依拠しないタイミングで、かつ、この発話タイミング推定器によりシステム発話の開始タイミングが検出される前に、題材データ記憶手段に記憶された題材データまたはネットワークを介して接続された外部システムに記憶された題材データを用いるとともに、前記発話タイミング推定システムを構成する前記文章生成器で生成された前記補完トークン列を用いるか、または前記補完トークン列に加えてユーザとシステムとの間の対話履歴情報の少なくとも一部を用いて、システムの次発話の内容データを取得または生成する準備処理を実行する次発話準備手段と、
前記発話タイミング推定器によりシステム発話の開始タイミングが検出された後に、前記次発話準備手段による準備処理で得られた次発話の内容データを用いて、システム発話の音声信号の再生を含むシステム発話生成処理を実行する発話生成手段と
を備えたことを特徴とする対話システム。
【請求項4】
ユーザとの音声対話のための処理を実行するコンピュータにより構成された対話システムであって、
ユーザ発話の音声信号を取得する音声信号取得手段と、
この音声信号取得手段により取得したユーザ発話の音声信号についての音声認識処理を実行する音声認識器と、
この音声認識器による音声認識処理で得られたユーザ発話の途中までの部分を構成する認識済トークン列を用いて、ジェネレイティヴ・プリトレインド・トランスフォーマ2、3若しくは4(GPT-2,3若しくは4)、またはその他の言語モデルにより、ユーザ発話についての前記認識済トークン列に続く部分を構成する後続トークン列を推定し、前記認識済トークン列に前記後続トークン列を加えた補完トークン列を生成する文章生成器と、
題材データ記憶手段に記憶された題材データまたはネットワークを介して接続された外部システムに記憶された題材データを用いるとともに、前記文章生成器で生成された前記補完トークン列を用いるか、または前記補完トークン列に加えてユーザとシステムとの間の対話履歴情報の少なくとも一部を用いて、システムの次発話の内容データを取得または生成する準備処理を実行する次発話準備手段と、
この次発話準備手段による準備処理で得られた次発話の内容データを用いて、システム発話の音声信号の再生を含むシステム発話生成処理を実行する発話生成手段と
を備えたことを特徴とする対話システム。
【請求項5】
請求項1または2に記載の発話タイミング推定システムとして、コンピュータを機能させるためのプログラム。
【請求項6】
請求項4に記載の対話システムとして、コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザ発話からシステム発話への交代のタイミングを推定する処理を実行するコンピュータにより構成された発話タイミング推定システム、ユーザとの音声対話のための処理を実行するコンピュータにより構成された対話システム、並びにプログラムに係り、例えば、ニュースやコラムや歴史等の各種の話題を記載した記事データから生成したシナリオデータを用いてユーザに対して記事の内容を伝達するニュース対話システム、ユーザに対して機器の使用方法の説明や施設の案内等を行うガイダンス対話システム、選挙情勢や消費者志向等の各種のユーザの動向調査を行うアンケート対話システム、ユーザが店舗・商品・旅行先・聞きたい曲等の情報検索を行うための情報検索対話システム、ユーザが家電機器や車等の各種の機器や装置等を操作するための操作対話システム、子供や学生や新入社員等であるユーザに対して教育を行うための教育対話システム、システムがユーザ属性等の情報を特定するための情報特定対話システム等に利用できる。
【背景技術】
【0002】
一般に、音声対話システムは、人であるユーザと、コンピュータシステムである自身との間で、互いに主に音声チャネルを通じた言語情報のやりとりを行うことにより、所望のタスクを実行し、その目的(例えば、ユーザへのニュース等の記事の内容の伝達、ユーザに対するガイダンス、ユーザへのアンケート、ユーザによる情報検索、ユーザによる機器等の操作、ユーザの教育、システムによる情報特定等)を達成するものである。
【0003】
従来の音声対話システムでは、音声信号取得、発話区間検出、音声認識、発話内容生成、音声合成、音声信号再生という一連の処理を、シーケンシャルに行うため、それぞれの処理における遅延が蓄積するという問題があった。すなわち、先ず、ユーザ発話の音声信号を取得し(音声信号取得)、連続的に得られる音声信号から、ユーザの発話が途切れたことを手がかりとして発話単位の音声信号を切り出す発話区間検出を行い(発話区間検出)、次に、得られた発話区間の音声信号を言語情報に変換する音声認識処理を行うことにより、検出したユーザ発話の意味を推定し(音声認識)、続いて、推定した意味に応じて次発話を決定し、すなわち得られたユーザの言語情報に適したシステム発話の内容を生成し(発話内容生成)、さらに、その発話内容を音声信号に変換する音声合成処理を行い(音声合成)、その後、システム発話の内容をユーザに伝達するため、生成したシステム発話の音声信号を再生する処理を行う(音声信号再生)。従って、それぞれの処理における遅延が蓄積することで、ユーザが発話を完了してから、システムが応答するまでに長い遅延が生じることになる。
【0004】
そこで、本願出願人は、システムの応答性を向上させることができ、この際、衝突(生成して再生を開始したシステム発話と、継続されたユーザ発話とのオーバーラップ)の発生を回避または抑制しつつ、不要に長いシステムの交替潜時(ユーザの発話終了からシステムの発話開始までの間(ま))の発生を回避または抑制することができる対話システムを提案している(特許文献1参照)。
【0005】
より詳細には、この特許文献1に記載された対話システムでは、ユーザ発話の音声信号から抽出した音響特徴量や、音声認識処理の結果として得られたユーザ発話の言語情報から抽出した言語特徴量を用いて、音声認識器(ASR)による音声認識処理の実行タイミングに依拠しない周期で、ユーザが発話する地位または立場を有していることを示すユーザ発話権の維持または終了を識別するパターン認識処理を繰り返し実行し、このパターン認識処理の結果を用いて、システム発話の開始タイミングを検出している。また、このシステム発話タイミング検出のためのパターン認識処理の周期に依拠しないタイミングで、かつ、このシステム発話タイミング検出でシステム発話の開始タイミングが検出される前に、予め用意された題材データやネットワークを介して取得した題材データを用いるとともに、ユーザとシステムとの間の対話履歴情報の少なくとも一部および/または音声認識器による進行中のユーザ発話についての途中までの音声認識処理の結果を用いて、システムの次発話の内容データを取得または生成する準備処理を行っている。そして、これらにより、システムの応答性を向上させている。
【0006】
また、本願発明者らによる発話タイミング推定に関する文献が知られている(非特許文献1参照)。なお、この非特許文献1には、後述する本願発明に係る文章生成器(認識済トークン列から後続トークン列を推定し、補完トークン列を生成する技術)や構文完了性推定器(あと何個のトークン若しくはどれくらいの時間長で発話が完了するのかを示す確率分布または累積確率分布を求める技術)に関する記載はない。
【0007】
発話タイミング推定という観点では、2つのアプローチがある。1つは、発話末(EoU:End of Utterance)の検出に同期したタイミング推定法(ES-TD)であり、もう1つは、分析フレームに同期したタイミング推定法(FS-TD)である。
【0008】
前者のES-TDは、上述した一連の処理をシーケンシャルに行う従来の音声対話システムにおいて、ユーザ発話からシステム発話への交代のタイミングを推定する場合の手法であり、先ず、ユーザ発話の終端を検知し、次に、ユーザがターン(発話権)を保持しているか、離したかを判断し、そして、ターンを離したと判断した場合に、一定時間を置いてシステム発話を開始する。ターンテイキング識別手法として、Jiudong Yang(ヤン・ジウドン)らによる、韻律情報、時間情報、言語情報を組み合わせるGated Multimodal Fusion(ゲート型マルチモーダル融合:以下「GMF」と略記する。)モデルが知られているが(非特許文献2参照)、これもES-TDである。
【0009】
後者のFS-TDは、分析フレーム毎に、システム発話を開始すべきか否かを判断する手法である。上述した特許文献1に記載された本願出願人による対話システムにおけるシステム発話タイミング検出や、本願発明者らによる非特許文献1に記載された手法は、FS-TDである。
【0010】
さらに、本発明について、効果を確認するための実験を行っているが、実験に使用できるデータとしては、ハーパー・バレー・バンク・コーパス(HARPER VALLEY BANK corpus)が知られている(非特許文献3参照)。
【0011】
また、本発明は、例えば、ニュース対話システム、ガイダンス対話システム、アンケート対話システム、情報検索対話システム、操作対話システム、教育対話システム等の各種の対話システムに適用することができるが、ユーザへの効率的な情報伝達を実現することができる対話システムとしては、本願発明者らにより開発された、主計画および副計画からなるシナリオデータを用いてユーザに対してニュース等の記事の内容を伝達するニュース対話システムが知られている(非特許文献4参照)。
【0012】
さらに、本発明は、後述するように、低遅延の音声認識器と組み合わせると、発話タイミング推定の精度がより一層向上し、あるいはシステムの次発話の準備処理のより一層の効率化を図ることができるが、低遅延の音声認識器としては、例えば、本願発明者らによるマルチルックアヘッド(Multi-look-ahead)の音声認識器(MLA-ASR)が知られている(非特許文献5参照)。
【0013】
また、本発明における音響特徴量の抽出に用いることができる技術として、HuBERT (Hidden unit BERT)が知られ(非特許文献6参照)、本発明における言語特徴量の抽出に用いることができる技術として、BERTが知られている(非特許文献7参照)。
【先行技術文献】
【特許文献】
【0014】
【非特許文献】
【0015】
【非特許文献1】Shinya Fujie(藤江真也), Hayato Katayama(片山颯人), Jin Sakuma(佐久間仁), Tetsunori Kobayashi(小林哲則), “Timing Generating Networks: Neural Network Based Precise Turn-Taking Timing Prediction in Multiparty Conversation(タイミング生成ネットワーク:多者間の会話における正確なターンテイキングのタイミング推定に基づくニューラルネットワーク),” Interspeech 2021, Sep. 2021.
【非特許文献2】Jiudong Yang(ヤン・ジウドン), Peiying Wang(ワン・ペイイン), Yi Zhu(イー・ジュ), Mingchao Feng(ミンチャオ・フェン), Meng Chen(メン・チェン), and Xiaodong He(ホー・シャオドン), "Gated multimodal fusion with contrastive learning for turn-taking prediction in human-robot dialogue(人間とロボットの対話における交代予測のための対照学習を備えたゲート型マルチモーダル融合)," ICASSP 2022 - 2022 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), pp. 7747-7751, 2022.
【非特許文献3】M. Wu(ウー), J. Nafziger(ナフジガー), A. Scodary(スコダリー), and A. L. Maas(マース), "Harpervalleybank: A domain-specific spoken dialog corpus(ハーパー・バレー・バンク:ドメイン固有の音声対話コーパス)," ArXiv, vol. abs/2010.13929, 2020.
【非特許文献4】高津弘明、福岡維新、藤江真也、林良彦、小林哲則、“意図性の異なる多様な情報行動を可能とする音声対話システム”、人工知能学会論文誌、vol.22、no.1、p.DSH-C_1-24、2018
【非特許文献5】Huaibo Zhao(趙懐博), Shinya Fujie(藤江真也), Tetsuji Ogawa(小川哲司), Jin Sakuma(佐久間仁), Yusuke Kida(木田祐介), Tetsunori Kobayash(小林哲則), "Conversation-oriented ASR with Multi-Look-Ahead CBS Archtecture(マルチルックアヘッドCBSアーキテクチャによる会話指向ASR)," [online],コーネル大学図書館アーカイブサイト(プレプリントサーバへのアップロード日時:Wed, 2 Nov 2022(令和4年11月2日水曜日)03:58:56 UTC(協定世界時)),[令和5年5月31日検索],インターネット<URL:https://arxiv.org/abs/2211.00858v1>
【非特許文献6】W.-N. Hsu(シュー), B. Bolte(ボルテ), Y.-H. H. Tsai(ツァイ), K. Lakhotia(ラコティア), R. Salakhutdinov(サルフートディノフ), and A. Mohamed(モハメド), "Hubert: Self-supervised speech representation learning by masked prediction of hidden units(隠れユニットのマスク付き予測による自己教師付き音声表現学習)," IEEE/ACM Transactions on Audio, Speech, and Language Processing, vol. 29, pp. 3451-3460, 2021.
【非特許文献7】Jacob Devlin(ジェイコブ・デブリン), Ming-Wei Chang(チャン・ミンウェイ), Kenton Lee(ケントン・リー), and Kristina Toutanova(クリスティナ・トウタノワ), "Bert: Pretraining of deep bidirectional transformers for language understanding(言語理解のための深層双方向変換器の事前学習), " ArXiv, Vol. abs/1810.04805, 2019.
【発明の概要】
【発明が解決しようとする課題】
【0016】
前述したように、発話タイミング推定には、ES-TDと、FS-TDという2つのアプローチがあり、前者のES-TDでは、発話末(EoU)の検出に時間がかかり、即応性が悪いという問題がある。また、EoUの検出精度に強く影響を受けるという問題がある。さらに、EoU以降の事象(例えば、視線の変化等)を考慮できないという問題がある。また、ユーザ発話の終端からシステム発話の開始までの時間を制御しにくいという問題がある。これに対し、後者のFS-TDでは、分析フレーム毎にシステム発話を開始すべきか否かを判断するので、これらの問題を解消することができる。
【0017】
しかし、分析フレーム毎に判断する後者のFS-TDであっても、入力データとして、ユーザの音声信号から得られる音響特徴量と、音声認識結果(言語情報)から得られる言語特徴量とを用いる場合、音声認識処理には遅延があるので、仮に、双方の特徴量が対応するように、音声認識結果を待ってタイミング推定を行うとすると、必ず応答のタイミングが遅れることになる。一方、音声認識結果を待たずにタイミング推定を行うと、瞬時瞬時にその時までに得られた不完全な音声認識結果(ユーザ発話の最後尾に対する認識結果が含まれていない状態の言語情報)を用いて各フレームでの判断を行うことになり、その分だけ発話タイミング推定の精度が上がらないことになる。
【0018】
また、遅延の少ない音声認識処理を実現することができれば、上記のような遅延の分の言語情報の不足問題は解消される。しかし、ユーザ発話が途中の段階であり、その後もユーザが発話を続けようとしている状況であれば、まだ発話されていない情報(音声信号になっていない情報)を音声認識処理することは不可能であるから、そもそもFS-TDでは、多くの時間、発話末まで至っていない不完全な音声認識結果(言語情報)に基づきタイミング推定を行っていることになる。従って、それを考慮すると、音声認識処理の遅延の分は、小さな影響のように思えるが、そうではなく、発話末に近づくに従って、その影響は大きくなる。すなわち、発話末の近傍ではない発話の途中の段階(発話末よりも、ずっと手前の時間帯)では、まだユーザ発話が続くことが明らかであるから、不完全な音声認識結果に基づくタイミング推定でも十分であり、ユーザが発話権を維持しているという正しい推定結果が得られる。一方、発話末の近傍では、ユーザ発話権の維持・終了を示す尤度(発話タイミング推定器の出力)は、閾値に近くなるので、音声認識処理の遅延の影響は大きくなる。
【0019】
また、対話システムでは、発話タイミング推定器により、システム発話の開始タイミングであると判断されれば、システム発話を開始することになるので、システムの次発話の内容データを予め準備しておく必要がある。この際、前述した特許文献1に記載された本願出願人による対話システムでは、不完全な音声認識結果(音声認識処理の遅延があり、かつ、発話の途中までの認識結果)を用いて、次発話の準備処理を行っている。従って、この点で、次発話の準備処理の精度を上げることができず、次発話候補の絞り込みが遅れることになる。
【0020】
本発明の目的は、発話タイミング推定の精度向上および/または次発話準備の効率化を図り、システムの応答性を向上させ、円滑な対話を実現することができる発話タイミング推定システムおよび対話システム、並びにプログラムを提供するところにある。
【課題を解決するための手段】
【0021】
本発明は、音声認識処理で得られたユーザ発話の途中までの部分を構成する認識済トークン列を用いて、ジェネレイティヴ・プリトレインド・トランスフォーマ2、3または4(Generative Pre-trained Transformer 2, 3 or 4:以下「GPT-2,3または4」と略記する。)等の言語モデルにより、ユーザ発話についての認識済トークン列に続く部分を構成する後続トークン列を推定し、または、この推定に加え、認識済トークン列に後続トークン列を加えた補完トークン列を生成する文章生成器を設け、後続トークン列や補完トークン列を用いて、音声対話のための発話タイミング推定処理および/または次発話準備処理を行うことにより、前記目的を達成するものである。具体的には、以下の通りである。
【0022】
<発話タイミング推定システムの発明/後続トークン列または補完トークン列から得られる予測情報を用いて発話タイミング推定を行う構成>
【0023】
本発明は、ユーザ発話からシステム発話への交代のタイミングを推定する処理を実行するコンピュータにより構成された発話タイミング推定システムであって、
音声認識処理で得られたユーザ発話の途中までの部分を構成する認識済トークン列を用いて、ジェネレイティヴ・プリトレインド・トランスフォーマ2、3若しくは4(GPT-2,3若しくは4)、またはその他の言語モデルにより、ユーザ発話についての認識済トークン列に続く部分を構成する後続トークン列を推定し、または、この推定に加え、認識済トークン列に後続トークン列を加えた補完トークン列を生成する文章生成器と、
この文章生成器により推定された後続トークン列または生成された補完トークン列から得られる予測情報と、ユーザ発話の音声信号から得られる音響特徴量とを含む情報を入力データとし、次のシステム発話を開始するタイミングを推定するパターン認識処理を実行する発話タイミング推定器とを備え、
この発話タイミング推定器に入力する予測情報は、
(a)文章生成器により推定された複数の後続トークン列を用いて、あと何個のトークン若しくはどれくらいの時間長で発話が完了するのかを示す発話完了トークン数若しくは発話完了時間長の確率分布、または発話完了トークン数若しくは発話完了時間長の確率を累積した累積確率分布を求める構文完了性推定器を設け、この構文完了性推定器により求めた発話完了トークン数若しくは発話完了時間長の確率分布または累積確率分布のベクトルデータと、
(b)文章生成器により生成された補完トークン列から得られる言語特徴量と、ユーザ発話の音声信号から得られる音響特徴量とを含む情報を入力データとし、ユーザ発話のダイアログアクトを推定するか、またはこのユーザ発話のダイアログアクトに加えて次のシステム発話のダイアログアクトを推定するパターン認識処理を実行するダイアログアクト推定器を設け、このダイアログアクト推定器から出力されたダイアログアクトの推定結果若しくはこの推定結果に至るまでの中間特徴量と、
(c)文章生成器により生成された補完トークン列から得られる言語特徴量と
のうちの少なくとも1つの情報であることを特徴とするものである。
【0024】
ここで、「予測情報」は、(a)、(b)、(c)のうちの「少なくとも1つの情報」であると記載されているのは、(a)、(b)、(c)のうちのいずれか1つの情報でもよく、2以上の情報の組み合わせでもよいという意味である。
【0025】
このような本発明の発話タイミング推定システムにおいては、後続トークン列または補完トークン列から得られる予測情報を用いて発話タイミング推定を行うので、発話タイミング推定の精度が向上する。
【0026】
より詳細には、予測情報として、(a)の情報、すなわち、複数の後続トークン列を用いた構文完了性推定器の出力(構文完了性推定器により求めた発話完了トークン数若しくは発話完了時間長の確率分布または累積確率分布のベクトルデータ)を発話タイミング推定器に入力すると、発話タイミング推定の精度が向上する。
【0027】
また、予測情報として、(b)の情報、すなわち、補完トークン列から得られる言語特徴量を用いたダイアログアクト推定器の推定結果またはその中間特徴量(ユーザ発話のダイアログアクトの推定結果若しくはこれに加えて次のシステム発話のダイアログアクトの推定結果、またはこれらの推定結果に至る中間特徴量)を発話タイミング推定器に入力すると、発話タイミング推定の精度が向上する。より正確には、ダイアログアクトの情報(推定結果または中間特徴量)を用いて発話タイミング推定を行うということだけでも、発話タイミング推定の精度は向上するが、さらに補完トークン列の使用によってダイアログアクト推定の精度が向上するので、発話タイミング推定の精度が、より一層向上する。
【0028】
さらに、予測情報として、(c)の情報、すなわち、文章生成器により生成された補完トークン列から得られる言語特徴量を発話タイミング推定器に入力すると、発話タイミング推定の精度が向上する。
【0029】
このため、予測情報として、(a)、(b)、(c)のうちのいずれの情報を用いて発話タイミング推定を行っても、システムの応答性を向上させることができ、円滑な対話を実現することが可能となり、(a)、(b)、(c)のうちの2以上の情報を組み合わせて用いると、より一層の効果が得られ、これらにより前記目的が達成される。
【0030】
<発話タイミング推定システムの発明/ユーザ発話終了後経過時間計測手段を設けた構成>
【0031】
また、上述した後続トークン列または補完トークン列から得られる予測情報を用いて発話タイミング推定を行う構成とする場合において、
ユーザ発話の音声信号を用いて、ユーザ発話末からの経過時間またはこの経過時間の長短を示す代替値を計測するユーザ発話終了後経過時間計測手段を備え、
発話タイミング推定器の入力データには、ユーザ発話終了後経過時間計測手段により計測されたユーザ発話末からの経過時間またはその代替値も含まれる構成とすることが望ましい。
【0032】
このようにユーザ発話終了後経過時間計測手段を設けた構成とした場合には、発話タイミング推定の精度がより一層向上するので、システムの応答性を、より一層向上させることができ、円滑な対話を実現することが可能となる。
【0033】
<対話システムの発明/本発明の発話タイミング推定システムを備えた構成>
【0034】
本発明は、ユーザとの音声対話のための処理を実行するコンピュータにより構成された対話システムであって、
以上に述べた本発明の発話タイミング推定システムと、
ユーザ発話の音声信号を取得する音声信号取得手段と、
この音声信号取得手段により取得したユーザ発話の音声信号についての音声認識処理を実行する音声認識器と、
発話タイミング推定システムを構成する発話タイミング推定器によるパターン認識処理の周期に依拠しないタイミングで、かつ、この発話タイミング推定器によりシステム発話の開始タイミングが検出される前に、題材データ記憶手段に記憶された題材データまたはネットワークを介して接続された外部システムに記憶された題材データを用いるとともに、発話タイミング推定システムを構成する文章生成器で生成された補完トークン列を用いるか、または補完トークン列に加えてユーザとシステムとの間の対話履歴情報の少なくとも一部を用いて、システムの次発話の内容データを取得または生成する準備処理を実行する次発話準備手段と、
発話タイミング推定器によりシステム発話の開始タイミングが検出された後に、次発話準備手段による準備処理で得られた次発話の内容データを用いて、システム発話の音声信号の再生を含むシステム発話生成処理を実行する発話生成手段と
を備えたことを特徴とするものである。
【0035】
このような本発明の対話システムにおいては、本発明の発話タイミング推定システムを用いるので、発話タイミング推定の精度が向上するため、システムの応答性を向上させることができ、円滑な対話を実現することが可能となる。また、補完トークン列を用いて、システムの次発話の内容データを準備するので、次発話準備処理の効率化が図られるため、この点でも、システムの応答性を向上させることができ、円滑な対話を実現することが可能となり、これらにより前記目的が達成される。
【0036】
なお、上述した対話システムにおいて、
次発話準備手段は、
次発話の候補となる複数の次発話候補の内容データを取得または生成する準備処理を実行する構成とされ、
発話タイミング推定器によりシステム発話の開始タイミングが検出された後に、文章生成器で生成された補完トークン列(ユーザ発話が終了しているので、結果的に、ユーザの発話区間全体についての認識済トークン列となっていてもよい。すなわち後続トークン列がない状態となっていてもよい。)を用いて、次発話準備手段による準備処理で得られた複数の次発話候補の内容データの中から、発話生成手段で用いる次発話の内容データを選択する処理を実行する次発話選択手段を備えた構成を採用してもよい。
【0037】
また、上記の次発話選択手段を備えた構成とする場合において、
発話タイミング推定器に入力する予測情報として、(b)の情報、すなわち、ダイアログアクト推定器の推定結果またはその中間特徴量を用いる場合((a)や(c)の情報と組み合わせて用いる場合を含む。)には、
次発話選択手段は、ダイアログアクト推定器による処理で得られたユーザ発話のダイアログアクトの推定結果またはこれに加えて次のシステム発話のダイアログアクトの推定結果と、文章生成器で生成された補完トークン列とを組み合わせて用いて、次発話準備手段による準備処理で得られた複数の次発話候補の内容データの中から、発話生成手段で用いる次発話の内容データを選択する処理を実行する構成としてもよい。
【0038】
<対話システムの発明/本発明の発話タイミング推定システムの使用に限定されない構成>
【0039】
また、本発明は、ユーザとの音声対話のための処理を実行するコンピュータにより構成された対話システムであって、
ユーザ発話の音声信号を取得する音声信号取得手段と、
この音声信号取得手段により取得したユーザ発話の音声信号についての音声認識処理を実行する音声認識器と、
この音声認識器による音声認識処理で得られたユーザ発話の途中までの部分を構成する認識済トークン列を用いて、ジェネレイティヴ・プリトレインド・トランスフォーマ2、3若しくは4(GPT-2,3若しくは4)、またはその他の言語モデルにより、ユーザ発話についての認識済トークン列に続く部分を構成する後続トークン列を推定し、認識済トークン列に後続トークン列を加えた補完トークン列を生成する文章生成器と、
題材データ記憶手段に記憶された題材データまたはネットワークを介して接続された外部システムに記憶された題材データを用いるとともに、文章生成器で生成された補完トークン列を用いるか、または補完トークン列に加えてユーザとシステムとの間の対話履歴情報の少なくとも一部を用いて、システムの次発話の内容データを取得または生成する準備処理を実行する次発話準備手段と、
この次発話準備手段による準備処理で得られた次発話の内容データを用いて、システム発話の音声信号の再生を含むシステム発話生成処理を実行する発話生成手段と
を備えたことを特徴とするものである。
【0040】
このような本発明の対話システムにおいては、必ずしも本発明の発話タイミング推定システムを使用する必要はないので、すなわち、システム発話の開始タイミングは従来の方法(前述した特許文献1に記載された本願出願人による対話システムにおける方法を含む。)で決定してもよいので、本発明の発話タイミング推定システムによる精度向上効果は得られないが、補完トークン列を用いて、システムの次発話の内容データを準備するので、次発話準備処理の効率化が図られるため、この点で、システムの応答性を向上させることができ、円滑な対話を実現することが可能となり、これにより前記目的が達成される。
【0041】
なお、上述した対話システムにおいて、
次発話準備手段は、
次発話の候補となる複数の次発話候補の内容データを取得または生成する準備処理を実行する構成とされ、
文章生成器で生成された補完トークン列(ユーザ発話が終了しているので、結果的に、ユーザの発話区間全体についての認識済トークン列となっていてもよい。すなわち後続トークン列がない状態となっていてもよい。)を用いて、次発話準備手段による準備処理で得られた複数の次発話候補の内容データの中から、発話生成手段で用いる次発話の内容データを選択する処理を実行する次発話選択手段を備えた構成を採用してもよい。
これにより、適切な次発話選択が実現される。
【0042】
また、上記の次発話選択手段を備えた構成とする場合において、
文章生成器で生成された補完トークン列から得られる言語特徴量と、ユーザ発話の音声信号から得られる音響特徴量とを含む情報を入力データとし、ユーザ発話のダイアログアクトを推定するか、またはこのユーザ発話のダイアログアクトに加えて次のシステム発話のダイアログアクトを推定するパターン認識処理を実行するダイアログアクト推定器を備え、
次発話選択手段は、ダイアログアクト推定器による処理で得られたユーザ発話のダイアログアクトの推定結果またはこれに加えて次のシステム発話のダイアログアクトの推定結果と、文章生成器で生成された補完トークン列とを組み合わせて用いて、次発話準備手段による準備処理で得られた複数の次発話候補の内容データの中から、発話生成手段で用いる次発話の内容データを選択する処理を実行する構成としてもよい。
これにより、より一層適切な次発話選択が実現される。
【0043】
<プログラムの発明>
【0044】
そして、本発明のプログラムは、以上に述べた発話タイミング推定システムとして、コンピュータを機能させるためのものである。また、本発明のプログラムは、以上に述べた対話システムとして、コンピュータを機能させるためのものである。
【0045】
なお、これらのプログラムまたはその一部は、例えば、光磁気ディスク(MO)、コンパクトディスク(CD)、デジタル・バーサタイル・ディスク(DVD)、フレキシブルディスク(FD)、磁気テープ、読出し専用メモリ(ROM)、電気的消去および書換可能な読出し専用メモリ(EEPROM)、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)、フラッシュディスク等の記録媒体に記録して保存や流通等させることが可能であるとともに、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等の有線ネットワーク、あるいは無線通信ネットワーク、さらにはこれらの組合せ等の伝送媒体を用いて伝送することが可能であり、また、搬送波に載せて搬送することも可能である。さらに、これらのプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。
【発明の効果】
【0046】
以上に述べたように本発明によれば、認識済トークン列を用いて、GPT-2,3または4等の言語モデルにより、後続トークン列を推定し、またはこの推定に加え、認識済トークン列に後続トークン列を加えた補完トークン列を生成する文章生成器を設け、後続トークン列や補完トークン列を用いて、音声対話のための発話タイミング推定処理および/または次発話準備処理を行うので、発話タイミング推定の精度向上および/または次発話準備の効率化を図り、システムの応答性を向上させ、円滑な対話を実現することができるという効果がある。
【図面の簡単な説明】
【0047】
【
図1】本発明の一実施形態の発話タイミング推定システムを含む対話システムの全体構成図。
【
図2】前記実施形態の発話タイミング推定器の構成図。
【
図3】前記実施形態のダイアログアクト推定器の構成図。
【
図4】前記実施形態の補完トークン列および後続トークン列の説明図。
【
図5】前記実施形態の後続トークン列の推定のイメージを示す図。
【
図6】前記実施形態の後続トークン列の作成方法の説明図。
【
図7】前記実施形態の構文完了性推定器の出力値の例示図。
【
図8】前記実施形態のユーザからシステムへの話者交替時の処理の流れを示すフローチャートの図。
【
図9】前記実施形態の評価指標である適合率(Precision)の定義の説明図。
【
図10】前記実施形態の評価指標である再現率(Recall)の定義の説明図。
【
図11】前記実施形態のダイアログアクト推定器を利用した場合の発話タイミング推定の評価結果を示す図。
【
図12】前記実施形態の発話タイミング推定の評価結果(1)を示す図。
【
図13】前記実施形態のダイアログアクト推定の評価結果(1)を示す図。
【
図14】前記実施形態の発話タイミング推定の評価結果(2)を示す図。
【
図15】前記実施形態のダイアログアクト推定の評価結果(2)を示す図。
【
図16】構文完了性推定器や低遅延音声認識器を利用した場合の発話タイミング推定の評価結果を示す図。
【発明を実施するための形態】
【0048】
以下に本発明の一実施形態について図面を参照して説明する。
図1には、本実施形態の発話タイミング推定システム20を含む対話システム10の全体構成が示されている。
図2には、発話タイミング推定器50の構成、
図3には、ダイアログアクト推定器40の構成が示されている。
図4は、補完トークン列および後続トークン列の説明図であり、
図5は、後続トークン列の推定のイメージを示す図であり、
図6は、後続トークン列の作成方法の説明図である。
図7は、構文完了性推定器33の出力値の例示図である。
図8には、ユーザからシステムへの話者交替時の処理の流れがフローチャートで示されている。
図9、
図10は、評価指標である適合率(Precision)、再現率(Recall)の定義の説明図である。
図11~
図16には、発話タイミング推定およびダイアログアクト推定の各種の評価結果が示されている。
【0049】
(全体構成)
図1において、対話システム10は、1台または複数台のコンピュータにより構成され、発話タイミング推定システム20を含んで構成されている。この発話タイミング推定システム20は、1台または複数台のコンピュータにより構成され、音声信号取得手段21と、ユーザ発話終了後経過時間計測手段22と、発話タイミング推定用音響特徴量抽出手段23と、ダイアログアクト推定用音響特徴量抽出手段24と、音声認識器(ASR)30と、文章生成器31と、言語特徴量抽出手段32と、構文完了性推定器33と、ダイアログアクト推定器40と、発話タイミング推定器50とを備えている。
【0050】
また、対話システム10は、発話タイミング推定システム20の他には、次発話準備手段60と、次発話選択手段61と、発話生成手段62と、題材データ記憶手段70と、次発話候補記憶手段71と、対話履歴記憶手段72とを備えている。
【0051】
ここで、対話システム10を構成する各要素(「~手段」や「~器」と記載された要素であるが、「~記憶手段」と記載された要素を除く。)21,22,23,24,30,31,32,33,40,50,60,61,62の各処理部(ニューラルネットワークによるアルゴリズムに従った演算処理を実行する処理部や、周波数分析を実行する処理部を含む。)は、コンピュータの内部に設けられた演算処理装置(CPUやGPU等)およびその動作手順を規定する1つまたは複数のプログラム、並びに主メモリやキャッシュメモリ等の作業用メモリなどにより構成されている。また、これらの演算処理に必要なデータを記憶する各記憶部(ニューラルネットワークのパラメータの記憶部を含む。)は、演算中は主メモリにより構成され、コンピュータが稼働していないときは、HDDやSSD等の不揮発性メモリにより構成されている。
【0052】
さらに、題材データ記憶手段70は、予め用意されたデータを記憶するので、HDDやSSD等の不揮発性メモリにより構成され、演算中は、その時点の演算処理に必要なデータ(音声対話の目的に従った一部のデータ)が主メモリに配置される。次発話候補記憶手段71や対話履歴記憶手段72は、演算中に一時的に使用するデータを記憶するので、主メモリにより構成されるが、HDDやSSD等の不揮発性メモリに記憶させてもよい。
【0053】
そして、対話システム10は、ユーザとの音声対話を行うので、音声信号取得手段21の少なくとも一部(マイクロフォンやカメラの部分)および発話生成手段62の少なくとも一部(スピーカやディスプレイの部分)は、ユーザの近傍に設置されるが、その他の構成部分は、遠隔地に設置し、インターネット等のネットワークで接続してもよい。
【0054】
(音声信号取得手段21の構成)
音声信号取得手段21は、ユーザ発話の音声信号を取得するものであり、音(ここでは、音声)をアナログの電気信号に変換する機器であるマイクロフォン、A/D変換手段、A/D変換で得られたデジタルの音声信号を保持する音声信号記憶手段、音声信号を各所に送信する送信手段等を含んで構成されている。また、付随する機能として、ユーザの顔画像等を取得するカメラを備えていてもよい。
【0055】
(ユーザ発話終了後経過時間計測手段22の構成)
ユーザ発話終了後経過時間計測手段22は、ユーザ発話の音声信号を用いて、ユーザの発話末を判断し、その発話末からの経過時間(ETAU:Elapsed Time After end of Utterance)またはこの経過時間の長短を示す代替値を計測する処理を実行するものである。
【0056】
ここで、経過時間には、時間特徴量(経過時間を表す特徴量)も含まれる。この時間特徴量には、発話末検出後の経過時間と、直前のユーザ発話の長さとを用いることができる。ユーザが発話中であるかどうかを推定するモデル(以下、VADモデルという。)を事前学習で構築し、このVADモデルにより、各時刻でユーザの発話状態を推定し、ユーザが発話中でない確率を示す尤度の累積和を、発話末からの経過時間を表す特徴量とする。このVADモデルには、LSTMベースのモデルを用い、CNNオートエンコーダのボトルネック特徴量(詳細は、後述する発話タイミング推定用音響特徴量抽出手段23の構成を参照)を入力とする。累積和は、ユーザが話し始めると0にリセットされる。また、VADモデルの推定結果に基づき、ユーザ発話開始からの経過時間と、現在のユーザのIPU開始時点からの経過時間も、特徴量として用いる。そして、これらを結合して線形層を適用することで時間特徴量を得る。なお、IPU(Inter-Pausal Unit)は、特定の長さ(例えば、100ミリ秒以上)のポーズで区切られた音声区間であり、音声分析や会話分析では音声区間の単位として広く用いられているが、100ミリ秒程度の無音区間は、1人の話者の発話区間内にも頻繁に生じるため、必ずしもその前後で話者交替が起こるわけではない。
【0057】
また、代替値とする場合は、経過時間が長くなるに従って増えていく数値を採用することができ、この数値は、経過時間と比例する数値とすることができる。但し、必ずしも比例している必要はない。例えば、発話タイミング推定器50によるパターン認識処理の周期に対応するカウント数(1次元のデータ)を採用することができ、ユーザの発話中は、ETAU=0,0,0,…と続き、発話末と判断された処理時点が最後の0であり、その次の周期の到来時点でETAU=1となり、以降、ETAU=2,3,4,5,…と増えていくようにしてもよい。そして、次のユーザ発話の開始時に再び0となる。また、音声信号から音響特徴量を抽出する際のフレーム(例えば、発話タイミング推定用音響特徴量抽出手段23による処理で用いるフレーム)がシフトする毎に(つまり、発話タイミング推定器50によるパターン認識処理の周期よりも短い周期で)、カウント数を増やしていくようにしてもよい。
【0058】
(発話タイミング推定用音響特徴量抽出手段23の構成)
発話タイミング推定用音響特徴量抽出手段23は、音声信号取得手段21により取得したユーザ発話の音声信号から、発話タイミング推定用の音響特徴量を抽出する処理を実行するものである。ユーザ発話の音声信号から得られる音響特徴量であれば、いずれの特徴量でもよく、例えば、前述した本願出願人による特許文献1に記載された技術を採用することができる。但し、この技術に限定されるものではない。
【0059】
すなわち、狭帯域スペクトログラムを符号化、復号化する自己符号化器(オートエンコーダ)をニューラルネットワーク(CNN)により構築し、その中間層の出力を音響特徴量(ボトルネック特徴量)とする。具体的には、音声信号の周波数分析により例えば10ms毎に得られる256点のパワースペクトルを複数本分(例えば10本分)並べたものを入力とし、中間層の出力256次元を特徴量とする。すなわち、CNNオートエンコーダの入力は、例えば、フレームサイズ=800サンプル(50ms)、フレームシフト=160サンプル(10ms)で切り出した音声信号から生成したスペクトログラムを時系列に10本分並べたものとし、そのサイズを10×256次元とする。そして、この入力サイズをCNNオートエンコーダで256次元に圧縮し、音響特徴量とする。さらに、これに加えて、例えば25ms窓、10msシフトで抽出した80次元のログメルスペクトログラムを用いてもよく、このログメルスペクトログラムをCNN層でフレームレートを50msに調整した後、上記のCNNオートエンコーダのボトルネック特徴量と連結し、発話タイミング推定用の音響特徴量としてもよい。
【0060】
(ダイアログアクト推定用音響特徴量抽出手段24の構成)
ダイアログアクト推定用音響特徴量抽出手段24は、音声信号取得手段21により取得したユーザ発話の音声信号から、ダイアログアクト推定用の音響特徴量を抽出する処理を実行するものである。
【0061】
具体的には、例えば、前述した非特許文献6に記載された、CNN層とトランスフォーマを有するHuBERTを用いることができる。なお、上述した発話タイミング推定用音響特徴量抽出手段23と同様な構成(例えば、CNNオートエンコーダの中間層から取り出した256次元のボトルネック特徴量を音響特徴量とする構成等)を採用してもよい。従って、このダイアログアクト推定用音響特徴量抽出手段24と、発話タイミング推定用音響特徴量抽出手段23とは、共通化することができる。
【0062】
(音声認識器30の構成)
音声認識器30は、音声信号取得手段21により取得したユーザ発話の音声信号から、その音声信号に対応するトークン列を出力する処理を実行するものである。すなわち、音声信号から音響特徴量を抽出し、その音響特徴量をエンコーダで符号化し、符号化したコードをデコーダに送り、トークン列を出力する処理を実行する。この際、音響特徴量は、ダイアログアクト推定用音響特徴量抽出手段24により抽出した音響特徴量を用いてもよい(
図1中の点線)。
【0063】
この音声認識器30としては、ユーザ発話のトークン列を逐次出力することができるものであれば、任意の音声認識器を採用することができ、例えば、ニューラルネットワークにより構成されたエンド・ツー・エンド(End-to-End)のストリーミング音声認識器を採用することができる。具体的には、得られた音響特徴量を線形層(Linear)に入力し、アレックス・グレイブス(Alex Graves)らによるリカレントニューラルネットワーク(RNN)ベースのCTC(Connectionist temporal classification)によりユーザ発話のトークン列を出力する音声認識器を採用することができる。また、前述した非特許文献5に記載された本願発明者らによるマルチルックアヘッド(Multi-look-ahead)の音声認識器(MLA-ASR)を用いてもよく、このMLA-ASRは、文脈ベクトルを用いたブロック処理を行うCSBトランスデューサ(Contextual block streaming Transducer)である。MLA-ASRを用いた場合には、低遅延の音声認識処理を実現できるため、後述するように発話タイミング推定の精度が向上する。
【0064】
ここで、トークンは、音声認識を行うために音声認識器の設計者や研究者等が便宜的に定めた言語情報の分割単位であり、音素よりも粒度が粗いものである。英語の場合には、トークンは、英単語(this, will, us等)と1対1の関係である場合も多いが、未知語を減らしたり、語彙(vocabulary)を減らすために、トークンをサブワード(ing, er, ly等)と対応付ける場合も多く、逆に、連単語をトークンと対応付けてもよく、さらには、文頭または文末を示す<SOS(Start of Sentence)/EOS(End of Sentence)>トークンもあるので、トークンは、テキスト(文字情報)を含む記号である。日本語の場合は、トークンは、文字(仮名文字、例えば、「あ」、「い」、「う」、「ば」、「ぱ」等の平仮名文字)や文字列(「では」、「しかし」等)に対応付けられ、1~2文字である場合が多いが、トークンに漢字を含めてもよく、漢字を含めない場合には、仮名文字から漢字への変換は別途に行えばよい。このようにトークンは、音声認識を行うために、便宜上、区切ったものであるから、どのように区切ったトークンでも、本発明を適用することができる。
【0065】
(文章生成器31の構成:
図4、
図5、
図6)
文章生成器31は、音声認識器30による音声認識処理で得られたユーザ発話の途中までの部分を構成する認識済トークン列を用いて、言語モデルにより、ユーザ発話についての認識済トークン列に続く部分を構成する後続トークン列を推定し、認識済トークン列に後続トークン列を加えた補完トークン列を生成する処理を実行するものである。従って、文章生成器31は、音声認識で部分的に得られたトークン列を文末まで補う役割を持つ。
【0066】
図4に示すように、音声認識器30による音声認識に遅延がある場合には、ユーザが発話し終えた部分(現在時刻tまでに得られている音声信号)の全部について、音声認識結果が得られるわけではなく、認識済トークン列と、図中の斜線で示された音声認識遅延部分とが生じる。低遅延の音声認識器30を用いれば、音声認識遅延部分は短くなるが、厳密な意味では、遅延ゼロにはならず、必ず遅延が生じる。また、発話を予定している部分(現在時刻t以降の発声で得られる音声信号)については、当然、音声認識処理は行われていない。従って、文章生成器31は、音声認識遅延部分に相当するトークン列と、発話を予定している部分に相当するトークン列とを合わせたトークン列を、後続トークン列として推定する。
【0067】
言語モデルは、認識済トークン列から後続トークン列を推定できるものであれば、任意のモデルを採用することができる。言語モデルは、ニューラルネットワークで構成されるものが多いが、ニューラルネットワーク以外の言語モデルを用いてもよい。具体的には、本実施形態では、文章生成器31として、LSTM(Long short-term memory)と、ジェネレイティヴ・プリトレインド・トランスフォーマ2(GPT-2:Generative Pre-trained Transformer 2)の2つのモデルを用意した。GPT-2は、トランスフォーマ(Transformer)のデコーダ部分を複数重ねることにより構成されるモデルであり、直前のトークン列(S1,…,Sn-1)から直後のトークンSnを推定する。すなわち、トークン列(S1,…,Sn-1)を入力したときにトークンSnが出力される条件付き確率の分布を求めるタスクを実行する。なお、GPTは、他のバージョン、すなわちGPT-3または4、あるいはその後に開発されるバージョンを用いてもよい。
【0068】
この文章生成器31の学習は、学習用のデータセット内の書き起こしの文章の末尾に、文末トークン(EoS(End of Sentence)トークン)を加えることにより行う。なお、本願では、EoSトークンは、発話末トークン(EoU(End of Utterance)トークン)とも呼んでいる。運用時(推論時)には、この文章生成器31により、文末トークンが出現するまで文章生成、すなわち後続トークン列の推定を行う。これにより、文末(発話末)までの文章生成、すなわち補完トークン列の生成が可能になっている。文末トークン(発話末トークン)が出現しない場合には、本実施形態では、トークン生成の上限を、一例として10トークンとする。
【0069】
また、
図5および
図6に示すように、文章生成器31は、複数の後続トークン列を推定する。
図5の例は、現在時刻tで、「〇〇はいかがですか」という発話が終了したタイミング(次にEoUトークンが来るタイミング)を示している。このとき、音声認識遅延部分が3トークン分あるとすれば、認識済トークン列は「〇〇はいかが」となり、その後続トークン列として、「でしょうか<EoU>」、「ですか<EoU>」「なものでしょうか<EoU>」等が推定される。なお、
図5には、現在時刻tで、丁度、発話を終えたタイミングの例が示されているが、発話の途中の段階でも同様である。
【0070】
図6の例は、次のトークンがその確率とともに出力されたときに、確率の高い複数(この図では、一例として2つ)のトークンを選ぶことにより、トークン列を1トークンずつ伸ばしていき、複数のトークン列を作成する方法が示されている。次のトークンが、トークンAになる確率が0.6、トークンBになる確率が0.4であるときに、トークンAの次のトークンが、EoUトークンになる確率が0.8、トークンDになる確率が0.2であるとすると、トークン列が、「A+<EoU>」になる確率は0.6×0.8=0.48であり、「A+D」になる確率は0.6×0.2=0.12である。また、トークンBの次のトークンが、トークンEになる確率が0.3、トークンFになる確率が0.7であるとすると、トークン列が、「B+E」になる確率は0.4×0.3=0.12であり、「B+F」になる確率は0.4×0.7=0.28である。従って、4つのトークン列、「A+<EoU>」、「A+D」、「B+E」、「B+F」のうち、確率が高い順に、予め定められた数(この例では2つ)のトークン列を選択すると、「A+<EoU>」、「B+F」となる。
【0071】
そして、「A+<EoU>」のほうは、これ以上、トークン列を伸ばせないので、トークン列「B+F」を伸ばしていく。トークン列「B+F」の次のトークンが、トークンIになる確率が0.3、トークンJになる確率が0.7であるとすると、トークン列が、「B+F+I」になる確率が0.28×0.3=0.08、「B+F+J」になる確率が、0.28×0.7=0.20である。EoUがないので、これらのトークン列を更に伸ばしていく。トークン列「B+F+I」の次のトークンが、トークンKになる確率が0.6、トークンLになる確率が0.4であるとすると、トークン列が、「B+F+I+K」になる確率が0.08×0.6=0.05、「B+F+I+L」になる確率が0.08×0.4=0.04である。また、トークン列「B+F+J」の次のトークンが、トークンMになる確率が0.3、EoUトークンになる確率が0.7であるとすると、トークン列が、「B+F+J+M」になる確率が0.20×0.3=0.06であり、「B+F+J+<EoU>」になる確率が0.20×0.7=0.14である。従って、4つのトークン列、「B+F+I+K」、「B+F+I+L」、「B+F+J+M」、「B+F+J+<EoU>」のうち、確率が高い順に、予め定められた数(この例では2つ)のトークン列を選択すると、「B+F+J+M」、「B+F+J+<EoU>」となる。これで2つの後続トークン列が推定され、1番目に確率の高い後続トークン列(第1候補)が0.48の「A+<EoU>」であり、2番目(第2候補)が0.14の「B+F+J+<EoU>」であり、認識済トークン列とこれらを連結して2つの補完トークン列が生成される。
【0072】
なお、確率の高い次の複数(この例では2つ)のトークン(
図6中の縦の点線の右側位置のトークン)を選択した際に、選択した複数(2つ)のトークンの確率の合計が1になるように補正をしてもよい。補正をすると、カッコ内の数値となり、例えば、最も上流側(
図6中の左側)の縦の点線の右側位置のEoUトークンの確率は0.63に補正され、トークンFの確率は0.37に補正される。それよりも下流側で選択した複数(2つ)のトークンも同様である。従って、補正(数値を大きくする補正、すなわち各補正倍率は1以上)が累積していくことになるので、選択(推定)した複数の後続トークン列のそれぞれの確率を比較する際には、累積した補正倍率(補正した回数分だけ各補正倍率を乗じた値)で除してから比較する必要がある。
【0073】
(言語特徴量抽出手段32の構成)
言語特徴量抽出手段32は、文章生成器31で生成された補完トークン列から言語特徴量を抽出する処理を実行するものである。本実施形態では、一例として、この言語特徴量抽出手段32には、前述した非特許文献7に記載された、事前学習されたJacob Devlin(ジェイコブ・デブリン)らのBERTを使用する。すなわち、文章生成器31で生成された補完トークン列をBERTに入力し、出力として得られた各トークンについてのベクトルの平均をとることにより、文章ベクトルを生成し、この文章ベクトルを言語特徴量とする。但し、言語特徴量抽出手段32は、BERTに限定されるものではなく、補完トークン列から言語特徴量を抽出できるものであればよい。
【0074】
(構文完了性推定器33の構成:
図5、
図6、
図7)
構文完了性推定器33は、文章生成器31により推定された複数の後続トークン列を用いて、あと何個のトークン若しくはどれくらいの時間長で発話が完了するのかを示す発話完了トークン数若しくは発話完了時間長の確率分布、または発話完了トークン数若しくは発話完了時間長の確率を累積した累積確率分布を求める処理を実行するものである。これらの確率分布または累積確率分布のベクトルは、発話タイミング推定器50に送られる。
【0075】
ここで、発話完了トークン数の確率分布のベクトルは、(後続トークン列が1トークン目で発話末になる確率,2トークン目で発話末になる確率,…,10トークン目で発話末になる確率)という10次元のベクトルである。10次元というのは、文章生成器31によるトークン生成の上限を、本実施形態では、一例として10トークンとしているからである。また、ベクトルの第1次元の要素が、0トークン目ではなく、1トークン目で発話末になる確率となっているのは、EoUトークンを含めてトークン数を数えているからであり、後続トークン列がnトークン目で発話末になる確率というのは、後続トークン列におけるn番目のトークンがEoUトークンである確率という意味である。
図6の例では、第1候補の後続トークン列「A+<EoU>」(2トークン目が発話末)の確率が0.48であり、第2候補の後続トークン列「B+F+J+<EoU>」(4トークン目が発話末)の確率が0.14であるから、これらの数値がベクトルの第2次元、第4次元の要素の値となり、ベクトルは、(0,0.48,0,0.14,0,0,0,0,0,0)となる。なお、トークン数は、EoUトークンを含めない数としてもよい。
【0076】
また、発話完了トークン数の累積確率分布のベクトルは、(後続トークン列が1トークン目までに発話末になる確率,2トークン目までに発話末になる確率,…,10トークン目までに発話末になる確率)という10次元のベクトルである。
図6の例では、第1候補の後続トークン列「A+<EoU>」(2トークン目が発話末)の確率が0.48であり、第2候補の後続トークン列「B+F+J+<EoU>」(4トークン目が発話末)の確率が0.14であるから、1トークン目までに発話末になる確率が0、2トークン目までに発話末になる確率が0.48、3トークン目までに発話末になる確率も0.48、4トークン目までに発話末になる確率は0.48+0.14=0.62となり、ベクトルは、(0,0.48,0.48,0.62,0.62,0.62,0.62,0.62,0.62,0.62)となる。また、
図7には、構文完了性推定器33の出力例が示され、この横軸は、トークン数であり、縦軸は、累積確率の平均値である。累積であるから、10トークンに近い程、確率が大きくなっている。
図5の最下段にも、認識済トークン列が「○〇はいかが」というところまでの状態の現在時刻tにおける累積確率が示されているが、この数値はイメージ(EoUトークンが出現すると、累積確率が増えていくという概念的な説明)であり、正確なデータを記載したものではない。
【0077】
さらに、発話完了時間長の確率分布または累積確率分布のベクトルとする場合は、例えば、各トークンと、各トークンの発声に要する平均的な時間(ms)との関係を、不揮発性メモリにより構成されるトークン・時間対応テーブル(不図示)に予め記憶させておき、そのテーブルを用いて、複数の後続トークン列をそれぞれ発声の所要時間に換算し、さらに、それらの所要時間を、予め時間を区切って形成された複数(例えば10個)の時間区画のいずれかに帰属させることにより、ベクトル化処理を行うことができる。この際、複数の時間区画は、ベクトルの各次元の要素に対応させる。具体的には、例えば、確率分布の場合は、ベクトルの第1次元の要素を、時間長0からT1未満に発話が完了する確率とし、第2次元の要素を、時間長T1以上、T2未満に発話が完了する確率とし、第3次元の要素を、時間長T2以上、T3未満に発話が完了する確率とし、…、第9次元の要素を、時間長T8以上、T9未満に発話が完了する確率とし、第10次元の要素を、時間長T9以上、T10未満に発話が完了する確率等とする。一方、累積確率分布の場合は、ベクトルの第1次元の要素を、時間長T1未満で発話が完了する確率とし、第2次元の要素を、時間長T2未満で発話が完了する確率とし、第3次元の要素を、時間長T3未満で発話が完了する確率とし、…、第9次元の要素を、時間長T9未満で発話が完了する確率とし、第10次元の要素を、時間長T10未満で発話が完了する確率等とする。なお、各時間区画の境界を、未満にするか、以下にするか、あるいは、以上にするか、超過にするかは、いずれでもよい。そして、発話完了トークン数の場合と同様に、後続トークン列を換算して得られた発声の所要時間が帰属する時間区画に、その後続トークン列の確率を当て嵌める。
【0078】
なお、ユーザの発話速度(モーラ/秒)をリアルタイムで計測するか、または当該ユーザの過去の発話データから算出した平均的な発話速度を、不揮発性メモリにより構成されるユーザ情報記憶手段(不図示)に記憶しておき、後続トークン列を換算して得られた発声の所要時間を、当該ユーザの発話速度(リアルタイムまたは過去の平均的な発話速度)で調整してもよい。
【0079】
(ダイアログアクト推定器40の構成:
図1、
図3)
図1および
図3において、ダイアログアクト推定器40は、文章生成器31で生成された補完トークン列を用いて言語特徴量抽出手段32により抽出した言語特徴量と、ダイアログアクト推定用音響特徴量抽出手段24による処理でユーザ発話の音声信号から得られた音響特徴量とを含む情報を入力データとし、ユーザ発話のダイアログアクト(DA:Dialog Act、対話行為)を推定するか、またはこのユーザ発話のダイアログアクト(DA)に加えて次のシステム発話のダイアログアクト(DA)を推定するパターン認識処理を実行するものである。なお、本実施形態では、ダイアログアクト推定器40は、ユーザ発話および次のシステム発話の双方のダイアログアクト(DA)を推定するものとする。
【0080】
このダイアログアクト推定器40は、ニューラルネットワークにより構成され、先ず、ダイアログアクト推定用音響特徴量抽出手段24からの音響特徴量と、言語特徴量抽出手段32からの言語特徴量とを線形層(Linear)に入力し、その後、2分岐させて、ユーザ発話のダイアログアクトと、次のシステム発話のダイアログアクトとを、別々のトランスフォーマ(Transformer)エンコーダおよび線形層(Linear)を用いて推定するようになっている。そして、ユーザ発話のダイアログアクトの推定用と、次のシステム発話のダイアログアクトの推定用との2つのパスにおける前段部41(Front Part)と後段部42(Rear Part)との間の中間状態をそれぞれ抽出し、これらの中間特徴量を発話タイミング推定器50に送るようになっている。従って、共有の線形層、分岐後のユーザ発話用のトランスフォーマエンコーダおよび線形層により、ユーザ発話用前段部41Aが構成され、共有の線形層、分岐後の次のシステム発話用のトランスフォーマエンコーダおよび線形層により、システム発話用前段部41Bが構成されている。また、それぞれ別々の線形層により、ユーザ発話用後段部42Aおよびシステム発話用後段部42Bが構成されている。
【0081】
学習では、ユーザ発話のダイアログアクトの推定用のパスと、次のシステム発話のダイアログアクトの推定用のパスのそれぞれに関してクロスエントロピー(cross entropy)損失を用いて最適化する。
【0082】
ダイアログアクトのラベルは、任意に定義したものでよく、例えば、前述した本願出願人による特許文献1において、ユーザ発話意図として例示列挙された「質問、応答、相槌、補足要求、反復要求、理解、不理解、無関心、若しくはその他」等としてもよい。
【0083】
後述する効果確認実験では、前述した非特許文献3に記載された、M. Wu(ウー)らのHARPERVALLEYBANKコーパスを用いるが、そこでのユーザ発話のダイアログアクトのラベルは、例えば、"yes" response(「はい」応答),greeting(挨拶),response(応答),data confirmation(データ確認),procedure explanation(手続説明),data question(データ質問),closing(閉鎖),data communication(データ通信),"bear with me" response(「耐え忍ぶ」応答),acknowledgement(承認),data response(データ応答),filler disfluency(フィラー不連続),thanks(感謝),open question(公開質問),problem description(問題記述),other(その他)の16種類とした。また、システム発話のダイアログアクトのラベルは、ユーザ発話と同じ16種類であるが、後述する効果確認実験では、独自にシステムが発話しない場合をwaiting(待ち)として定義し、ラベルに加えた。
【0084】
(発話タイミング推定器50の構成:
図1、
図2)
図1および
図2において、発話タイミング推定器50は、ユーザ発話終了後経過時間計測手段22により計測された発話末からの経過時間(ETAU)h(E)
tと、発話タイミング推定用音響特徴量抽出手段23により抽出された発話タイミング推定用の音響特徴量h(A)
tと、言語特徴量抽出手段32により抽出された言語特徴量h(L)
tと、構文完了性推定器33から出力された発話完了トークン数(発話完了までのトークン数)若しくは発話完了時間長(発話完了までの時間長)の確率分布または累積確率分布のベクトルh(ESC)
tと、ダイアログアクト推定器40から出力されたダイアログアクトの推定結果またはこの推定結果に至るまでの中間特徴量h(DA)
tとを含む情報を入力データとし、音声認識器30による音声認識処理の実行タイミングに依拠しない周期で、ユーザが発話する地位または立場を有していることを示すユーザ発話権の維持または終了を識別するパターン認識処理を繰り返し実行し、次のシステム発話を開始するタイミングを推定するものである。
【0085】
このうち、構文完了性推定器33からの出力ベクトルh(ESC)tは、本願発明における予測情報としての(a)の情報とされ、ダイアログアクト推定器40からの出力またはその中間特徴量h(DA)tは、本願発明における予測情報としての(b)の情報とされ、言語特徴量h(L)tは、本願発明における予測情報としての(c)の情報とされている。
【0086】
なお、ユーザ発話権の「終了」には、放棄および譲渡の双方が含まれる。放棄は、自分の発話を終了させるだけの場合であり、譲渡は、相手への質問等のように、自分の発話を終了させるとともに、相手の発話開始を促す場合である。
【0087】
このパターン認識処理の結果として、
図2に示すように、ユーザ発話権の維持または終了についての確からしさを示す尤度が得られるので、予め閾値を定めておき、尤度が閾値未満であるか、または閾値以下のときには、ユーザ発話権が維持されていると判定し、発話タイミング推定器50の推定結果として、システム発話の開始タイミングではない(0)という結果を出力する。一方、尤度が閾値以上になるか、または閾値を超えた時点で、ユーザ発話権が終了したと判定し、発話タイミング推定器50の推定結果として、システム発話の開始タイミングである(1)という結果を出力する。この点は、前述した特許文献1に記載された本願出願人による対話システムの場合と同様である。なお、1と0、閾値判定の際の「以上」と「未満」、「以下」と「超過」は、逆に設定してもよい。
【0088】
ここで、発話タイミング推定器50への入力データとして、本実施形態では、発話タイミングの推定精度の向上が見込まれる要素を列挙しているが、必ずしも、これらの全ての要素を入力データとしなくても、推定精度を向上させることができる。
【0089】
すなわち、先ず、発話末からの経過時間(ETAU)h(E)tについては、ユーザ発話終了後経過時間計測手段22の構成の説明で既に詳述した通り、ここでいう経過時間には、時間特徴量も含まれ、さらに、この経過時間の長短を示す代替値(例えば、発話タイミング推定器50によるパターン認識処理の周期に対応するカウント数)としてもよい。この発話末からの経過時間(ETAU)h(E)tは、入力を省略してもよい。但し、発話タイミングの推定精度の向上の観点で、h(E)tを入力することが好ましい。
【0090】
次に、言語特徴量抽出手段32により抽出された言語特徴量h(L)tは、本実施形態では、文章生成器31により生成された補完トークン列から抽出した言語特徴量とされているが、音声認識器30により出力された認識済トークン列から抽出した言語特徴量としてもよい。但し、発話タイミングの推定精度の向上の観点で、補完トークン列から抽出した言語特徴量とすることが好ましい。さらに、ダイアログアクトの情報(中間特徴量または推定結果)を発話タイミング推定器50への入力データに加える場合には、言語特徴量を利用しなくても発話タイミング推定が可能であるため、その場合には言語特徴量の入力を省略してもよい。但し、発話タイミングの推定精度の向上の観点で、言語特徴量も入力することが好ましい。
【0091】
また、構文完了性推定器33から出力された発話完了トークン数若しくは発話完了時間長の確率分布または累積確率分布のベクトルh(ESC)tは、入力を省略してもよい。但し、発話タイミングの推定精度の向上の観点で、h(ESC)tを入力することが好ましい。
【0092】
さらに、
図1や
図3では、ダイアログアクト推定器40から抽出した中間特徴量h(DA)
tを入力するように記載されているが、ダイアログアクト推定器40から出力された推定結果を入力してもよい。但し、発話タイミングの推定精度の向上の観点で、中間特徴量を入力することが好ましい。
【0093】
また、ダイアログアクト推定器40には、
図1に示すように、文章生成器31で生成された補完トークン列を用いて言語特徴量抽出手段32により抽出した言語特徴量が入力されているが、補完トークン列ではなく、音声認識器30により出力された認識済トークン列を用いて言語特徴量抽出手段32により抽出した言語特徴量をダイアログアクト推定器40に入力し、そのときのダイアログアクト推定器40の出力または中間特徴量を発話タイミング推定器50に入力してもよい。但し、発話タイミングの推定精度の向上の観点で、ダイアログアクト推定器40には、補完トークン列から抽出した言語特徴量を入力し、そのときのダイアログアクト推定器40の出力または中間特徴量を発話タイミング推定器50に入力することが好ましい。なお、発話タイミング推定器50へのダイアログアクトの情報(中間特徴量または推定結果)の入力を省略してもよい。
【0094】
この発話タイミング推定器50は、ニューラルネットワークにより構成され、
図2に示すように、1層のLSTMにより入力系列の時間的特徴を考慮し、線形層(Linear)およびシグモイド関数によりフレームごとにユーザ発話権の維持または終了についての確からしさを示す尤度(確率)を出力する。上述したように発話タイミング推定器50のパターン認識処理は、音声認識器30による音声認識処理の実行タイミングに依拠しない周期で実行される。そして、言語特徴量抽出手段32による言語特徴量h(L)
tの抽出は、
図1に示すように音声認識器30の後流側で音声認識の出力に同期して行われることから、発話タイミング推定器50に入力される言語特徴量h(L)
tは、発話タイミング推定器50の各分析フレームで更新されるとは限らず、更新されない場合は前のフレームと同様のものを利用するので、
図2には、その状態が記載されている。また、構文完了性推定器33の処理も、
図1に示すように音声認識器30の後流側で行われるため、同様に、構文完了性推定器33の出力ベクトルh(ESC)
tも、発話タイミング推定器50の各分析フレームで更新されるとは限らない。なお、言語特徴量抽出手段32による言語特徴量h(L)
tは、ダイアログアクト推定器40にも入力されるので、その意味では、
図1に示すように、ダイアログアクト推定器40は、音声認識器30の後流側に配置されていることになるが、ダイアログアクト推定器40の出力(パターン認識処理の周期)は、言語特徴量h(L)
tが更新されるタイミングで行われる必要はないので、
図2では、ダイアログアクト推定器40から抽出された中間特徴量h(DA)
tは、言語特徴量h(L)
tと同様な状態の記載にはしていない。
【0095】
(次発話準備手段60の構成)
次発話準備手段60は、発話タイミング推定器50によるパターン認識処理の周期に依拠しないタイミングで、かつ、この発話タイミング推定器50によりシステム発話の開始タイミングが検出される前に、題材データ記憶手段70に記憶された題材データまたはネットワークを介して接続された外部システム(不図示)に記憶された題材データを用いるとともに、文章生成器31で生成された補完トークン列を用いるか、または補完トークン列に加えて対話履歴記憶手段72に記憶されているユーザとシステムとの間の対話履歴情報の少なくとも一部を用いて、システムの次発話の内容データ(本実施形態では、次発話の候補となる複数の次発話候補の内容データ)を取得または生成する準備処理を実行し、準備した次発話の内容データ(本実施形態では、複数の次発話候補の内容データ)を次発話候補記憶手段71に記憶させるものである。
【0096】
この際、文章生成器31により複数の補完トークン列が生成されるので、複数の次発話候補が準備され、次発話候補記憶手段71に記憶される。また、たとえ補完トークン列が1つであったとしても、次発話選択手段61により韻律情報等を利用した選択処理が実行されるので、複数の次発話候補が準備され、次発話候補記憶手段71に記憶されることがある。さらに、次発話準備手段60は、必要な場合には、漢字変換用の辞書手段(不図示)を用いて、漢字を含まない状態で生成されている補完トークン列を、漢字を含む状態の文字列に変換する。
【0097】
このような次発話準備手段60による準備処理は、前述した特許文献1に記載された本願出願人による対話システムでも行われている処理であるが、前述した特許文献1では、ユーザ発話の途中までの認識済トークン列で次発話準備処理が行われるのに対し、本願では、補完トークン列を用いて次発話準備処理が行われる点が異なっている。これにより、前述した特許文献1の場合に比べ、より早く、より適切な内容に絞り込まれた次発話を準備することが可能となる。
【0098】
より詳細には、次発話準備手段60は、最初にシステムの複数の次発話候補の内容データを取得または生成する初期準備処理と、この最初に準備した複数の次発話候補の内容データ、または前回の入替で準備した複数の次発話候補の内容データを、別の複数の次発話候補の内容データに入れ替える入替処理とを実行する。これらの処理は、前述した特許文献1に記載された本願出願人による対話システムでも行われている。システム発話S(1)、ユーザ発話U(1)、S(2)、U(2)、…、S(N)という対話履歴があり、ユーザ発話U(N)が開始される状況下であるとすると、具体的な処理内容は、次のようになる。なお、システム発話の内容データの具体例(例えば、シナリオデータの具体的な内容等)は、前述した特許文献1と同様でよいので、本願では説明を省略する。
【0099】
すなわち、次発話準備手段60による初期準備処理では、次のシステム発話S(N+1)の準備を開始するときに、対話履歴記憶手段72に記憶されているそれまでの対話履歴情報(システム発話S(N)までの対話履歴情報)の少なくとも一部、すなわちS(1)、U(1)、S(2)、U(2)、…、S(N)の少なくとも一部を用いて、題材データ記憶手段70または外部システム(不図示)に記憶されている題材データやその構成要素の中から、システムの複数の次発話候補S(N+1)の内容データを選択取得し、次発話候補記憶手段71に記憶させる。但し、最初のシステム発話S(1)の準備を開始するときには、選択取得するS(1)は、1つだけでよい。また、常に複数の次発話候補を選択取得しなければならないわけではなく、選択取得した次発話候補が、結果的に1つになる場合があってもよい。
【0100】
ここで、対話履歴情報(S(1)、U(1)、S(2)、U(2)、…、S(N))の少なくとも一部を用いることには、対話履歴情報(S(1)、U(1)、S(2)、U(2)、…、S(N))の全体を用いること、直前のシステム発話S(N)のみを用いること、直前のシステム発話S(N)を用いずにそれよりも前のシステム発話S(1)~S(N-1)やユーザ発話U(1)~U(N-1)を用いること(例えば、ユーザの「さっき言ってたXXXのこと、もう少し詳しく聞きたいんだけど・・・」等の要求に応答する場合等)、直前のユーザ発話U(N-1)のみを用いること等が含まれる。
【0101】
一方、次発話準備手段60による入替処理では、次発話候補記憶手段71に複数の次発話候補S(N+1)の内容データが既に記憶されている状態において、入替が必要であると判断した場合に、現在進行中のユーザ発話U(N)の言語情報、すなわち音声認識器30による音声認識処理の結果として得られた認識済トークン列を用いて文章生成器31により生成された補完トークン列を用いて、題材データ記憶手段70または外部システム(不図示)に記憶されている題材データやその構成要素の中から、システムの別の複数の次発話候補S(N+1)の内容データを選択取得し、次発話候補記憶手段71に上書きで記憶させることにより、次発話候補記憶手段71に記憶されている複数の次発話候補S(N+1)の内容データを入れ替える。但し、常に複数の次発話候補を選択取得しなければならないわけではなく、選択取得した次発話候補が、結果的に1つになる場合があってもよい。なお、次発話準備手段60による入替処理は、ユーザ発話U(N)だけではなく、初期準備処理の場合と同様に、対話履歴情報S(1)、U(1)、…、S(N)を用いてもよい。
【0102】
そして、次発話準備手段60による「システムの次発話の内容データを取得または生成」の「取得」には、題材データ記憶手段70やネットワークを介して接続された外部システム(不図示)に記憶されている複数の題材データの中からの必要な題材データ(使用するか、または使用する可能性のある題材データ)の選択的な取得と、題材データ記憶手段70や外部システム(不図示)に記憶されている任意の1つの題材データの構成要素の中からの必要な構成要素(使用するか、または使用する可能性のある構成要素)の選択的な取得とが含まれる。
【0103】
また、次発話準備手段60における上記の「生成」には、取得した言語情報(題材データまたはその構成要素であるテキストデータ)の加工(語尾等の部分的な変換調整、結合等)が含まれる。但し、題材データは、題材データ記憶手段70や外部システム(不図示)に記憶されている段階で、予め加工されていることが好ましい。そして、「生成」には、テキストデータから音声データへの変換(音声合成)も含まれる。なお、題材データ記憶手段70や外部システム(不図示)に、題材データまたはその構成要素として、音声データ(例えばwavファイル等)が既に用意されている場合には、次発話準備手段60による音声合成処理は行わなくてもよい。
【0104】
さらに、次発話準備手段60により準備される「システムの次発話の内容データ」は、テキストデータおよびこれに対応する音声データの場合と、テキストデータだけの場合とがある。但し、発話生成手段62の処理負荷の軽減および遅延防止の観点からは、次発話準備手段60により音声データも併せて準備することが好ましい。そして、対話中に、付帯的な情報として、映像(動画)や静止画を再生する場合には、「システムの次発話の内容データ」には、映像データや画像データが付随していてもよく、対話中に音楽を再生する場合には、「システムの次発話の内容データ」には、楽曲データが含まれていてもよい。
【0105】
(次発話選択手段61の構成)
次発話選択手段61は、発話タイミング推定器50によりシステム発話の開始タイミングが検出された後に(発話タイミング推定器50からシステム発話の開始タイミングであるという判断結果を受け取ったときに)、ダイアログアクト推定器40による処理で得られたユーザ発話のダイアログアクト(DA)の推定結果またはこれに加えてシステム発話のダイアログアクト(DA)の推定結果(ここでは、中間特徴量ではなく、推定結果を用いる。)と、文章生成器31で生成された補完トークン列(ユーザ発話が終了しているので、結果的に、ユーザの発話区間全体についての認識済トークン列となっていてもよい。すなわち後続トークン列がない状態となっていてもよい。)とを組み合わせて用いて、次発話準備手段60による準備処理で得られて次発話候補記憶手段71に記憶されている複数(但し、1つの場合もある。)の次発話候補の内容データの中から、発話生成手段62で用いる次発話の内容データを選択し、選択した次発話の内容データを、発話生成手段62に送る処理を実行するものである。
【0106】
なお、ダイアログアクト推定器40による処理で得られたユーザ発話やシステム発話のダイアログアクト(DA)の推定結果と、文章生成器31で生成された補完トークン列とのうちのいずれか一方だけで、次発話の内容データを選択することができる場合には、これらを組み合わせて用いなくてもよい。また、次発話選択手段61は、必要な場合には、漢字変換用の辞書手段(不図示)を用いて、漢字を含まない状態で生成されている補完トークン列を、漢字を含む状態の文字列に変換する。
【0107】
このような次発話選択手段61による処理は、前述した特許文献1に記載された本願出願人による対話システムでも行われている処理であるが、前述した特許文献1では、ユーザ発話の終了後における音声認識器30の音声認識処理の結果(認識済トークン列)を用いるのに対し、本願では、文章生成器31で生成された補完トークン列を用いる点が異なる。但し、ユーザ発話権が終了しているので、この次発話選択処理で用いる補完トークン列は、結果的に、ユーザの発話区間全体についての認識済トークン列だけの状態(すなわち、後続トークン列がない状態)となっていてもよく、低遅延の音声認識器30であれば、そうなっている可能性もある。また、前述した特許文献1では、韻律分析等を行ってユーザ発話意図の識別結果を得る手段を「次発話選択用情報生成手段」と呼んでいるが、本願では、これに対応する手段として、ダイアログアクト推定器40を設けている。
【0108】
具体的には、次発話選択手段61は、文章生成器31で生成された補完トークン列を用いて次発話の選択を行う場合には、補完トークン列に含まれる各単語と、次発話候補記憶手段71に記憶されている複数の次発話候補の内容データの各々に含まれる各単語とを用いて、キーワードマッチングを行い、マッチングした次発話候補の内容データを、次発話の内容データとして選択することができる。また、言語処理と機械学習とを合わせた複雑なマッチングを行ってもよい。さらに、補完トークン列と、複数の次発話候補の内容データ(文字列)の各々との類似度を、doc2vec等により求め、類似度の高い次発話候補の内容データを、次発話の内容データとして選択してもよい。
【0109】
また、電話の自動応答における音声対話等のように、システムがユーザに質問し、ユーザがそれに答えていく場合には、ユーザ発話の内容は、システムから与えられた選択肢等のように限られたものになるので、ユーザ発話の内容は予測することができる。この場合、次発話候補記憶手段71に記憶されている複数の次発話候補の内容データの各々に、対応するユーザ発話の予測データが付随していれば、その付随しているユーザ発話の予測データのうちのいずれが、補完トークン列と一致するのかを判断することにより、一致したユーザ発話の予測データに対応する次発話候補の内容データを、次発話の内容データとして選択することができる。
【0110】
例えば、システム発話S(N)が「XXX党と、YYY党のどちらを支持しますか?」であり、システム発話S(N+1)の複数(2つ)の候補として、「XXX党のどの政治家が総理大臣になると思いますか?」という内容データおよびそれに付随する「XXX党」というユーザ発話U(N)の予測データと、「YYY党のどの政治家が党首に相応しいですか?」という内容データおよびそれに付随する「YYY党」というユーザ発話U(N)の予測データとを、次発話準備手段60により準備し、次発話候補記憶手段71に記憶させたとする。このとき、ユーザ発話U(N)の音声認識処理の結果が「XXX党」であれば、「XXX党」というユーザ発話U(N)の予測データと一致するので、それに対応する「XXX党のどの政治家が総理大臣になると思いますか?」がシステム発話S(N+1)として選択され、発話生成手段62により再生される。
【0111】
さらに、次発話選択手段61は、ダイアログアクト推定器40による処理で得られたユーザ発話や次のシステム発話のダイアログアクト(DA)の推定結果を用いて次発話の選択を行う場合には、ダイアログアクト(DA)に対応するシステム発話種別が、次発話候補記憶手段71に記憶されている複数の次発話候補の内容データの各々について定められているので、得られたダイアログアクト(DA)の推定結果に対応するシステム発話種別である次発話候補の内容データを、次発話の内容データとして選択することができる。なお、前述した特許文献1に記載された本願出願人による対話システムでは、ユーザ発話意図の識別結果(質問、相槌等)を用いて次発話の選択を行う場合として説明されているが、これは、本願のダイアログアクト(DA)の推定結果を用いて次発話の選択を行う場合と同様である。
【0112】
(発話生成手段62の構成)
発話生成手段62は、次発話選択手段61により選択された次発話の内容データを用いて、システム発話の音声信号の再生を含むシステム発話生成処理を実行するものである。この発話生成手段62は、ハードウェアとして、スピーカを備えるとともに、付随的な機能として、映像や静止画像の再生用のディスプレイを備えていてもよい。
【0113】
ここで、発話生成手段62における「システム発話の音声信号の再生を含むシステム発話生成処理」には、次発話のテキストデータについての音声合成が未だ済んでいない場合には、音声合成処理が含まれる。なお、前述した通り、発話生成手段62の処理負荷の軽減および遅延防止の観点からは、音声データ(例えばwavファイル等)は、次発話準備手段60による準備処理で用意することが好ましい。さらに、次発話準備手段60により準備された「システムの次発話の内容データ」に映像データや画像データが付随している場合には、発話生成手段62における「システム発話生成処理」には映像や画像の再生処理も含まれ、「システムの次発話の内容データ」に楽曲データが含まれている場合には、「システム発話生成処理」には音楽の再生処理も含まれる。
【0114】
(題材データ記憶手段70の構成)
題材データ記憶手段70は、題材データとして、例えば、ニュース等の各種の話題をシナリオ化したシナリオデータ、シナリオ化されていない各種の話題データ、辞書データ、事典データ、機器の使用方法や施設等のガイダンス用データ、アンケート調査用データ、機器や装置等の操作補助用データ、教育用データ等を記憶するものである。前述した特許文献1に記載された本願出願人による対話システムの場合と同様である。また、ネットワークを介して接続された外部システム(不図示)に記憶された題材データも同様である。
【0115】
(次発話候補記憶手段71の構成)
次発話候補記憶手段71は、次発話準備手段60により準備された複数の次発話候補の内容データを、それらのデータの識別情報(例えば、シナリオID、発話節ID等)と対応付けて記憶するものである。記憶する次発話候補の内容データには、テキストデータの他に、音声データ(例えばwavファイル等)が含まれ、さらに映像データや静止画データ、あるいは楽曲データが付随している場合もある。
【0116】
また、複数の次発話候補の内容データの各々には、データの属性を示すシステム発話種別(例えば、シナリオデータにおける主計画・副計画の別等)が対応付けられて記憶されている。このシステム発話種別は、次発話選択手段61の処理で用いられる。
【0117】
(対話履歴記憶手段72の構成)
対話履歴記憶手段72は、システムとユーザとの間の対話履歴情報を記憶するものである。具体的には、システム発話S(1)の内容データ(テキストデータ)、ユーザ発話U(1)の内容データ(テキストデータ)、同様に、S(2)、U(2)、S(3)、U(3)、…の各内容データ(テキストデータ)を、対話の順番に記憶する。ユーザ発話から始まっていてもよい。なお、進行中のユーザ発話U(N)、すなわち複数の補完トークン列(認識済トークン列およびこれに連結される推定された複数の後続トークン列)は、主メモリに記憶され、発話の終了後に、発話区間全体の認識済トークン列が対話履歴記憶手段72に記憶される。
【0118】
<ユーザからシステムへの話者交替時の処理の流れ:
図8>
【0119】
このような本実施形態においては、以下のようにして発話タイミング推定システム20を利用した対話システム10により、ユーザからシステムへの話者交替の処理が行われる。但し、各要素の処理の周期には長短があり、また、非同期で行われる処理があるので、以下の流れは、それらの周期の長短や同期性を考慮せずに、概略の流れを示したものである。
【0120】
図8において、先ず、音声信号取得手段21によりユーザの音声を取得する(ステップS1)。続いて、ユーザ発話終了後経過時間計測手段22によりユーザ発話末からの経過時間を計測し(ステップS2)、発話タイミング推定用音響特徴量抽出手段23により、ユーザの音声信号から発話タイミング推定用の音響特徴量を抽出し(ステップS3)、ダイアログアクト推定用音響特徴量抽出手段24により、ユーザの音声信号からダイアログアクト推定用の音響特徴量を抽出する(ステップS4)。そして、音声認識器30により、ユーザの音声信号を用いて音声認識処理を行い、認識済トークン列を作成する(ステップS5)。この際、音声認識処理では、ユーザの音声信号から音響特徴量を抽出し、その音響特徴量をエンコーダに入力するが、上記のステップS4で得られたダイアログアクト推定用の音響特徴量をエンコーダに入力してもよい。
【0121】
それから、GPT-2,3または4等の言語モデルで構成された文章生成器31により、音声認識器30で得られた認識済トークン列を用いて、複数の後続トークン列を推定し、これらの各後続トークン列を認識済トークン列に連結して複数の補完トークン列を生成する(ステップS6)。
【0122】
次に、構文完了性推定器33により、文章生成器31で推定された複数の後続トークン列を用いて、発話完了までのトークン数若しくは時間長の確率分布または累積確率分布のベクトルを作成する(ステップS7)。また、言語特徴量抽出手段32により、文章生成器31で生成された補完トークン列を用いて、言語特徴量を抽出する(ステップS8)。さらに、次発話準備手段60により、文章生成器31で生成された補完トークン列と、題材データ記憶手段70やインターネットで接続された外部システム(不図示)に記憶された題材データと、対話履歴記憶手段72に記憶された対話履歴情報とを用いて、複数の次発話候補の内容データを準備し、次発話候補記憶手段71に記憶させる(ステップS9)。
【0123】
続いて、ダイアログアクト推定器40(
図1、
図3参照)により、言語特徴量抽出手段32により抽出した言語特徴量と、ダイアログアクト推定用音響特徴量抽出手段24により抽出したダイアログアクト推定用の音響特徴量とを用いて、ユーザ発話およびシステム発話のダイアログアクト(DA:対話行為)を推定するとともに、その推定結果に至る途中の中間特徴量を抽出する(ステップS10)。
【0124】
その後、発話タイミング推定器50(
図1、
図2参照)により、ユーザ発話終了後経過時間計測手段22により計測したユーザ発話末からの経過時間と、発話タイミング推定用音響特徴量抽出手段23により抽出した発話タイミング推定用の音響特徴量と、構文完了性推定器33により作成した発話完了トークン数若しくは発話完了時間長の確率分布または累積確率分布のベクトルと、言語特徴量抽出手段32により抽出した言語特徴量と、ダイアログアクト推定器40から抽出したユーザ発話およびシステム発話のダイアログアクトの中間特徴量とを用いて、ユーザ発話権の維持または終了を推定する(ステップS11)。
【0125】
そして、発話タイミング推定器50によるユーザ発話権の維持または終了の判定結果に基づき、ユーザ発話権が維持されている場合は、ステップS1の処理に戻り、ユーザ発話権が終了している場合は、システム発話の開始タイミングであると判断する(ステップS12)。
【0126】
ここで、システム発話の開始タイミングであると判断した場合は、次発話選択手段61により、ダイアログアクト推定器40によるユーザ発話やシステム発話のダイアログアクト(DA)の推定結果と、文章生成器31で生成された補完トークン列とを組み合わせて用いて、次発話準備手段60による準備処理で得られて次発話候補記憶手段71に記憶されている複数(但し、1つの場合もある。)の次発話候補の内容データの中から、発話生成手段62で用いる次発話の内容データを選択し(ステップS13)、発話生成手段62により、その次発話の内容データを用いて、システム発話の再生等の処理を実行する(ステップS14)。
【0127】
<本実施形態の効果>
【0128】
このような本実施形態の発話タイミング推定システム20を利用した対話システム10によれば、次のような効果がある。すなわち、発話タイミング推定システム20は、文章生成器31を備えているので、音声認識器30で得られた認識済トークン列(文の途中までの状態)から後続トークン列を推定し、文全体に相当する補完トークン列を生成することができる。このため、後続トークン列や補完トークン列を用いて、発話タイミング推定システム20の推定精度を向上させ、適切なタイミングでの話者交替を行うことができ、対話システム10による円滑な対話を実現することができる。対話中の人間も、相手の発話の途中で、相手は何を伝えようとしていて、それを伝えるのにあとどのくらいの時間がかかるかを予測しながら自分の発話のタイミングを計っている。従って、本発明は、この予測の機能をシステムに組み込んだものであるともいえる。
【0129】
具体的には、言語特徴量抽出手段32により、文章生成器31で生成された補完トークン列を用いて言語特徴量を抽出し、その言語特徴量をダイアログアクト推定器40に入力することによりユーザ発話やシステム発話のダイアログアクトを推定するので、ダイアログアクトの推定精度を向上させることができる。そして、そのダイアログアクト推定器40から中間特徴量を抽出して発話タイミング推定器50に入力することによりユーザ発話権の維持または終了を推定するので、システム発話の開始タイミングの推定精度を向上させることができる。従って、ダイアログアクト推定器40による推定結果ではなく、その推定結果に至る途中の中間特徴量を発話タイミング推定器50に入力しているという点で、発話タイミング推定器50の推定精度を向上させることができるうえ、ユーザ発話の途中までの認識済トークン列からではなく、補完トークン列から抽出した言語特徴量をダイアログアクト推定器40に入力することにより、ダイアログアクト推定器40の推定精度を向上させ、その推定精度を向上させたダイアログアクト推定器40から抽出した中間特徴量を発話タイミング推定器50に入力しているので、この点でも、発話タイミング推定器50の推定精度を向上させることができる。
【0130】
また、言語特徴量抽出手段32は、認識済トークン列からではなく、補完トークン列から言語特徴量を抽出し、この言語特徴量を発話タイミング推定器50に入力しているので、この点でも、発話タイミング推定器50の推定精度を向上させることができる。
【0131】
さらに、発話タイミング推定システム20は、構文完了性推定器33を備え、この構文完了性推定器33により、文章生成器31で推定された複数の後続トークン列を用いて、発話完了までのトークン数若しくは時間長の確率分布または累積確率分布のベクトルを作成し、このベクトルを発話タイミング推定器50に入力しているので、この点でも、発話タイミング推定器50の推定精度を向上させることができる。
【0132】
また、発話タイミング推定システム20は、ユーザ発話終了後経過時間計測手段22を備え、このユーザ発話終了後経過時間計測手段22により計測したユーザ発話末からの経過時間を発話タイミング推定器50に入力しているので、この点でも、発話タイミング推定器50の推定精度を向上させることができる。
【0133】
さらに、対話システム10は、次発話準備手段60を備え、この次発話準備手段60は、認識済トークン列ではなく、文章生成器31で生成された補完トークン列を用いて、次発話準備処理を実行するので、前述した特許文献1に記載された本願出願人による対話システムの場合に比べ、より早く、より適切な内容の次発話候補を準備し、次発話候補記憶手段71に記憶させることができる。従って、例えば、ユーザ発話権が終了したものの、まだ次発話候補が準備できていないため、次のシステム発話を生成することができないといった不都合の発生確率を下げることができる。このため、適切なタイミングでの話者交替を行うことができ、対話システム10による円滑な対話を実現することができる。
【0134】
また、対話システム10は、次発話選択手段61を備え、この次発話選択手段61は、文章生成器31で生成された補完トークン列を用いて、次発話選択処理を実行するので、前述した特許文献1に記載された本願出願人による対話システムの場合に比べ、より適切な次発話選択を実現することができる。この際、次発話選択手段61による次発話選択処理は、発話タイミング推定器50でユーザ発話権が終了したと判定された後に行われるので、低遅延の音声認識器30であれば、補完トークン列は、結果的に、ユーザの発話区間全体についての認識済トークン列だけの状態となっている、すなわち後続トークン列がない状態となっていることも考えられる。しかし、完全に遅延ゼロにすることはできないので、ユーザが発話し終えた部分のうち、音声認識遅延部分があれば(
図4参照)、補完トークン列は、その音声認識遅延部分についての言語情報を与えるので、次発話選択手段61は、より多くの言語情報を得て、より適切な次発話選択を実現することができる。
【0135】
そして、次発話選択手段61は、ダイアログアクト推定器40の推定結果を用いた次発話選択も行うことができ、この際、ダイアログアクト推定器40の推定結果は、補完トークン列の使用により推定精度が向上しているので、より適切な次発話選択を実現することができる。
【0136】
さらに、音声認識器30として、低遅延の音声認識器、例えば、前述した非特許文献5に記載された本願発明者らによるマルチルックアヘッドの音声認識器(MLA-ASR)を採用すれば、発話タイミング推定器50の推定精度を、より一層向上させることができる。
図4に示すように、文章生成器31で生成された補完トークン列は、音声認識遅延部分と、発話を予定している部分との言語情報を補うことになるが、低遅延の音声認識器30を採用すると、音声認識遅延部分が小さくなるので(但し、完全に遅延ゼロにはならない)、補完トークン列の使用効果はその分だけ減ることになり、音声認識器30の低遅延化の効果と、補完トークン列の使用効果とが共存することになる。補完トークン列は、言語モデルにより言語的に補われているのに対し、音声認識器30の低遅延化は、ユーザの音声信号から得られた音響特徴量に基づく処理上の工夫で実現しているので、音声認識器30の低遅延化により認識済トークン列が長くなったほうが、つまり言語モデルで推定される後続トークン列が短くなったほうが、発話タイミング推定器50の推定精度は向上する。
【0137】
【0138】
実験データには、前述した非特許文献3に記載されたHARPERVALLEYBANKコーパスを用いた。このコーパスは、消費者金融との簡単なやりとりを模した会話であり、話者が顧客役とエージェント役に分かれて行った模擬会話である。59人の話者による1446件の人間同士の会話を収録した約23時間分の音声のデータセットである。
【0139】
図9に示すように、評価指標である適合率(Precision)は、推定されたシステム発話の開始時点T2を基準とし、そのT2の前後ΔT2の範囲内に、システムとみなした話者の発話(正解)の開始時点T3が入っているかという観点で定義する。すなわち、適合率(Precision)は、「許容誤差ΔT2内でシステムとみなした話者が発話を開始した回数」を、「実験でシステム発話が開始された回数」で除した値である。
図11の適合率Px.xxは、許容誤差ΔT2=X.XX秒としたときの適合率(Precision)を示す。
【0140】
図10に示すように、評価指標である再現率(Recall)は、システムとみなした話者の発話(正解)の開始時点T3を基準とし、そのT3の前後ΔT3の範囲内に、推定されたシステム発話の開始時点T2が入るかという観点で定義する。すなわち、再現率(Recall)は、「実験で許容誤差ΔT3内でシステム発話が開始された回数」を、「システムとみなした話者が発話を開始した回数」で除した値である。
図11の再現率Rx.xxは、許容誤差ΔT3=X.XX秒としたときの再現率(Recall)を示す。
【0141】
また、
図11のF1x.xxは、許容誤差ΔT2=ΔT3=X.XX秒としたときのF1値を示す。
【0142】
図11には、ダイアログアクト推定器40を利用した場合の発話タイミング推定の評価結果が示されている。
図11のベースラインは、発話タイミング推定器50にダイアログアクト推定器40から抽出した中間特徴量を入力しない場合であり、その下側には、ダイアログアクト推定器40から抽出した中間特徴量を入力した場合と、ダイアログアクトの推定結果が真値になるときの中間特徴量を入力した場合とが示されている。また、この実験では、音響特徴量と言語特徴量は発話タイミング推定器50に入力しているが、文章生成器31や構文完了性推定器33は使用していない。ダイアログアクト推定器40の構成の説明で既に述べた通り、ユーザ発話のダイアログアクトのラベルは16種類とし、システム発話のダイアログアクトのラベルは同じ16種類にwaiting(待ち)のラベルを加えた。
【0143】
図11によれば、許容誤差1.00秒の評価結果が良くなっているが、小さな許容誤差で高い性能を達成していることが望ましいので、1.00秒は長すぎて評価に値しない。許容誤差0.25秒の評価結果を見ると、ベースラインに比べ、ダイアログアクト推定器40から抽出した中間特徴量を発話タイミング推定器50に入力した場合は、5~6%性能が向上していることがわかる。また、ダイアログアクトの推定結果が真値になるときの中間特徴量を発話タイミング推定器50に入力した場合は、性能が向上しているので、ダイアログアクトを、より正確に推定できれば、ダイアログアクト推定器40から抽出した中間特徴量を発話タイミング推定器50に入力する場合の性能が、さらに向上する可能性があることを示している。
【0144】
図12には、発話タイミング推定の評価結果(1)、
図13には、ダイアログアクト推定の評価結果(1)、
図14には、発話タイミング推定の評価結果(2)、
図15には、ダイアログアクト推定の評価結果(2)が、それぞれ折れ線グラフで示されている。各折れ線グラフについて、「〇〇/△△」と記載されているのは、「学習/推論」に、どのトークン列を用いたか、どの言語モデルによる補完トークン列を用いたかを示している。
【0145】
W:正解文全体
P:認識済トークン列(認識結果そのもの)
C-GPT2:GPT-2言語モデルによる補完トークン列
C-LSTM:LSTM言語モデルによる補完トークン列
従って、例えば、「学習/推論」=「W/C-GPT2」は、正解文全体で学習し、GPT-2言語モデルによる補完トークン列で推論(運用)する場合である。
【0146】
図12および
図13によれば、「W/P」に対し、「W/C-GPT2」、「W/C-LSTM」のF1値が良好であるため、推論時(運用時)に、言語モデルで構成される文章生成器31により生成された補完トークン列を用いることにより、発話タイミングの推定精度(
図12参照)やダイアログアクトの推定精度(
図13参照)が向上することがわかる。
【0147】
図14によれば、「W/C-LSTM」に対し、「C-GPT2/C-LSTM」のF1値が同等であるため、GPT-2言語モデルによる補完トークン列で学習する場合は、発話タイミングの推定精度について、正解文全体で学習する場合と同等の性能が得られることがわかる。しかし、「W/C-LSTM」に対し、「C-LSTM/C-LSTM」のF1値が低いため、LSTM言語モデルによる補完トークン列で学習する場合の性能は劣化することがわかる。なお、
図15を見ると、ダイアログアクトの推定精度は、あまり変わらない。
【0148】
図16において、GMF(Gated Multimodal Fusion:ゲート型マルチモーダル融合)は、前述した非特許文献2に記載されたJiudong Yang(ヤン・ジウドン)らによるモデルであり、[背景技術]で述べた通り、発話末(EoU:End of Utterance)の検出に同期したタイミング推定法(ES-TD)である。また、ベースラインは、構文完了性推定器33や低遅延の音声認識器30を利用しない場合である。その下側には、マルチルックアヘッドによる低遅延の音声認識器30(MLA-ASR)を利用した場合、構文完了性推定器33からの出力ベクトルを利用した場合、低遅延の音声認識器30および構文完了性推定器33の双方を利用した場合の各評価結果が示されている。
図16によれば、低遅延の音声認識器30を利用した場合や、構文完了性推定器33を利用した場合は、発話タイミングの推定精度が向上し、これらの双方を組み合わせると、発話タイミングの推定精度が更に向上することがわかる。
【0149】
<変形の形態>
【0150】
なお、本発明は前記実施形態に限定されるものではなく、本発明の目的を達成できる範囲内での変形等は本発明に含まれるものである。
【0151】
例えば、前記実施形態の対話システム10は、本発明の発話タイミング推定システム20を含む構成とされていたが、本発明の対話システムは、必ずしも本発明の発話タイミング推定システムを含む必要はなく、例えば、前述した特許文献1に記載された本願出願人による対話システムを構成する発話タイミング推定器(特許文献1では、システム発話タイミング検出手段と呼んでいる。)を含む構成としてもよく、要するに、次発話準備手段60が、文章生成器31で生成された補完トークン列を用いて次発話(複数の次発話候補)を準備するようになっていればよい。また、好ましくは、次発話選択手段61が、補完トークン列を用いて次発話選択を行うことができ、さらに、補完トークン列の使用により推定精度が向上したダイアログアクト推定器40の推定結果を用いて次発話選択を行うことができるようになっていればよい。
【産業上の利用可能性】
【0152】
以上のように、本発明の発話タイミング推定システムおよび対話システム、並びにプログラムは、例えば、ニュースやコラムや歴史等の各種の話題を記載した記事データから生成したシナリオデータを用いてユーザに対して記事の内容を伝達するニュース対話システム、ユーザに対して機器の使用方法の説明や施設の案内等を行うガイダンス対話システム、選挙情勢や消費者志向等の各種のユーザの動向調査を行うアンケート対話システム、ユーザが店舗・商品・旅行先・聞きたい曲等の情報検索を行うための情報検索対話システム、ユーザが家電機器や車等の各種の機器や装置等を操作するための操作対話システム、子供や学生や新入社員等であるユーザに対して教育を行うための教育対話システム、システムがユーザ属性等の情報を特定するための情報特定対話システム等に用いるのに適している。
【符号の説明】
【0153】
10 対話システム
20 発話タイミング推定システム
22 ユーザ発話終了後経過時間計測手段
30 音声認識器
31 文章生成器
33 構文完了性推定器
40 ダイアログアクト推定器
50 発話タイミング推定器
60 次発話準備手段
62 発話生成手段
70 題材データ記憶手段