JP2018022075A - 発話生成装置、方法、及びプログラム - Google Patents

発話生成装置、方法、及びプログラム Download PDF

Info

Publication number
JP2018022075A
JP2018022075A JP2016153957A JP2016153957A JP2018022075A JP 2018022075 A JP2018022075 A JP 2018022075A JP 2016153957 A JP2016153957 A JP 2016153957A JP 2016153957 A JP2016153957 A JP 2016153957A JP 2018022075 A JP2018022075 A JP 2018022075A
Authority
JP
Japan
Prior art keywords
unit
utterance
voice
recognition
speech
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016153957A
Other languages
English (en)
Other versions
JP6649200B2 (ja
Inventor
東中 竜一郎
Ryuichiro Higashinaka
竜一郎 東中
松尾 義博
Yoshihiro Matsuo
義博 松尾
牧野 俊朗
Toshiaki Makino
俊朗 牧野
隆朗 福冨
Takaaki Fukutomi
隆朗 福冨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2016153957A priority Critical patent/JP6649200B2/ja
Publication of JP2018022075A publication Critical patent/JP2018022075A/ja
Application granted granted Critical
Publication of JP6649200B2 publication Critical patent/JP6649200B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

【課題】システムが理解したことを逐次ユーザに伝達し、スムーズな対話を可能とすることができる。【解決手段】発話生成部40が、検出結果、及び認識結果に基づいて、音声認識が行われていることを示す発話を生成する相槌生成部42、認識結果に基づいて、認識された文字列を示す発話を生成する焦点抽出部44、及び認識結果に基づいて、システムが理解した内容を示す発話を生成する復唱生成部46のいずれか少なくとも一つを含む。通信部28が、音声認識部32及び音声区間検出部32の両方又は何れかからの出力を、発話生成部40へ出力し、発話生成部40からの出力を発話出力部50へ出力する。【選択図】図1

Description

本発明は、発話生成装置、方法、及びプログラムに係り、特に、ユーザと対話するための発話生成装置、方法、及びプログラムに関する。
音声対話システムは、ユーザ発話を音声認識し、その認識結果を処理することで理解を行い、その理解結果に基づいて、何を話すかを決定し、決定した内容を音声合成することでユーザに応答を行う。対話システムの基本的な構成は非特許文献1に記載されている。
従来の音声対話システムで問題になることの一つとして、ユーザが発話を行ったあと、システムが発話を行うまでに間が空いてしまうという問題がある。そこで、すぐに応答するための工夫として、音声認識器とその他のモジュールを密に結合し,逐次的に理解をしたり、ユーザが自身の発話をすぐに訂正したりすることができる枠組みが提案されている。
中野幹生, 駒谷和範, 船越孝太郎, 中野有紀子, 奥村 学(監修) . 対話システム. コロナ社, 2015. Schlangen, David, and Gabriel Skantze. "A general,abstract model of incremental dialogue processing." Proceedings of the 12th Conference of the European Chapter of the Association for Computational Linguistics. Association for Computational Linguistics, 2009. Skantze, Gabriel, and Anna Hjalmarsson. "Towards incremental speech generation in dialogue systems." Proceedings of the 11th Annual Meeting of the Special Interest Group on Discourse and Dialogue. Association for Computational Linguistics, 2010.
しかし、従来の手法は、ユーザ発話にすぐに反応できるような枠組みを提案しているが、すぐに反応するだけでは、ユーザ発話をシステムが理解したかを伝えるには不十分であるという課題があった。
本発明は、上記問題点を解決するために成されたものであり、システムが理解したことをユーザに伝達し、スムーズな対話を可能とすることができる発話生成装置、方法、及びプログラムを提供することを目的とする。
上記目的を達成するために、第1の発明に係る発話生成装置は、ユーザ発話を表す音のストリームを入力とし、音声の開始と音声の終了を検出し、検出された音声の開始と音声の終了とで規定される区間の音声を逐次出力し、かつ、音声の開始を検出したとき、あるいは音声の終了を検出したときに、検出結果を出力する音声区間検出部と、前記音声区間検出部によって検出された音声の開始に対応する区間の音声について音声認識を行い、前記区間の途中の認識結果を含む、前記区間の終了までの認識結果を逐次出力する音声認識部と、前記音声区間検出部による検出結果、及び前記音声認識部による認識結果に基づいて、前記音声認識が行われていることを示す発話を生成する相槌生成部、前記音声認識部による認識結果に基づいて、認識された文字列を示す発話を生成する焦点抽出部、及び前記音声認識部による認識結果に基づいて、システムが理解した内容を示す発話を生成する復唱生成部の少なくとも一つを含む発話生成部と、発話出力部と、前記音声認識部及び前記音声区間検出部の両方又は何れかからの出力を、前記発話生成部へ出力し、前記発話生成部からの出力を前記発話出力部へ出力する通信部と、を含んで構成されている。
また、第2の発明に係る発話生成装置は、ユーザ発話を表す音のストリームを入力とし、音声の開始と音声の終了を検出し、検出された音声の開始と音声の終了とで規定される区間の音声を逐次出力し、かつ、音声の開始を検出したとき、あるいは音声の終了を検出したときに、検出結果を出力する音声区間検出部と、前記音声区間検出部によって検出された音声の開始に対応する区間の音声について音声認識を行い、前記区間の途中の認識結果を含む、前記区間の終了までの認識結果を逐次出力する音声認識部と、前記音声区間検出部による検出結果、及び前記音声認識部による認識結果に基づいて、前記音声認識が行われていることを示す発話を生成する相槌生成部、前記音声認識部による認識結果に基づいて、認識された文字列を示す発話を生成する焦点抽出部、及び前記音声認識部による認識結果に基づいて、システムが理解した内容を示す発話を生成する復唱生成部の少なくとも一つを含む発話生成部と、前記音声認識部による認識結果に基づいて、前記ユーザ発話に対応する応答発話を生成する応答部と、発話出力部と、前記音声認識部及び前記音声区間検出部の両方又は何れかからの出力を、前記発話生成部及び前記応答部へ出力し、前記発話生成部及び前記応答部の両方又は何れかからの出力を前記発話出力部へ出力する通信部と、を含んで構成されている。
また、第1の発明に係る発話生成装置において、前記発話出力部は、前記発話生成部によって生成された前記発話を出力しているときに、前記発話生成部によって生成された新たな前記発話が入力されると、前記新たな前記発話の出力は行わないようにしてもよい。
また、第2の発明に係る発話生成装置において、前記発話出力部は、前記発話生成部によって生成された前記発話を出力しているときに、前記発話生成部によって生成された新たな前記発話が入力されると、前記新たな前記発話の出力は行わず、前記発話生成部によって生成された前記発話を出力しているときに、前記応答部によって生成された前記応答発話が入力されると、前記発話生成部によって生成された前記発話を出力した後に、前記応答発話の出力を行うようにしてもよい。
また、第1及び第2の発明に係る発話生成装置において、前記復唱生成部は、前記音声認識部による認識結果を表す文字列から、述語項構造を抽出し、前記抽出された述語項構造に基づいて、前記システムが理解した内容を示す発話を生成するようにしてもよい。
また、第1及び第2の発明に係る発話生成装置において、前記相槌生成部は、前記音声区間検出部によって前記音声の開始が検出されたときに、前記音声認識が行われていることを示す発話を生成するようにしてもよい。
また、第1及び第2の発明に係る発話生成装置において、前記音声認識部は、ショートポーズを検知したとき、又は前記区間の終了までの期間における一定時間おきに、認識結果を出力し、前記相槌生成部は、前記音声認識部による、ショートポーズを検知したときの認識結果の出力、又は前記音声認識部による一定時間おきの認識結果の出力があったときに、前記音声認識が行われていることを示す発話を生成するようにしてもよい。
また、第1及び第2の発明に係る発話生成装置において、前記相槌生成部は、前記音声認識部によって前記区間が終了したときの認識結果が出力されたときに、前記音声認識が行われていることを示す発話を生成するようにしてもよい。
また、第1及び第2の発明に係る発話生成装置において、前記発話出力部は、音声により出力するようにしてもよい。
また、第1及び第2の発明に係る発話生成装置において、前記発話出力部は、ディスプレイ表示により出力するようにしてもよい。
第3の発明に係る発話生成方法は、音声区間検出部と、音声認識部、相槌生成部、及び焦点抽出部の少なくとも一つを含む発話生成部と、復唱生成部と、発話出力部と、通信部とを含む発話生成装置における発話生成方法であって、前記音声区間検出部が、ユーザ発話を表す音のストリームを入力とし、音声の開始と音声の終了を検出し、検出された音声の開始と音声の終了とで規定される区間の音声を逐次出力し、かつ、音声の開始を検出したとき、あるいは音声の終了を検出したときに、検出結果を出力するステップと、前記音声認識部が、前記音声区間検出部によって検出された音声の開始に対応する区間の音声について音声認識を行い、前記区間の途中の認識結果を含む、前記区間の終了までの認識結果を逐次出力するステップと、前記通信部が、前記音声認識部及び前記音声区間検出部の両方又は何れかからの出力を、前記発話生成部へ出力するステップと、前記発話生成部において、前記相槌生成部が、前記音声区間検出部による検出結果、及び前記音声認識部による認識結果に基づいて、前記音声認識が行われていることを示す発話を生成するステップ、前記焦点抽出部が、前記音声認識部による認識結果に基づいて、認識された文字列を示す発話を生成するステップ、及び前記復唱生成部が、前記音声認識部による認識結果に基づいて、システムが理解した内容を示す発話を生成するステップの少なくとも一つを実行するステップを含み、前記通信部が、前記発話生成部からの出力を前記発話出力部へ出力するステップと、を含んで実行することを特徴とする。
第4の発明に係る発話生成方法は、音声区間検出部と、音声認識部、相槌生成部、及び焦点抽出部の少なくとも一つを含む発話生成部と、復唱生成部と、発話出力部と、応答部と、通信部とを含む発話生成装置における発話生成方法であって、前記音声区間検出部が、ユーザ発話を表す音のストリームを入力とし、音声の開始と音声の終了を検出し、検出された音声の開始と音声の終了とで規定される区間の音声を逐次出力し、かつ、音声の開始を検出したとき、あるいは音声の終了を検出したときに、検出結果を出力するステップと、前記音声認識部が、前記音声区間検出部によって検出された音声の開始に対応する区間の音声について音声認識を行い、前記区間の途中の認識結果を含む、前記区間の終了までの認識結果を逐次出力するステップと、前記通信部が、前記音声認識部及び前記音声区間検出部の両方又は何れかからの出力を、前記発話生成部及び前記応答部へ出力するステップと、前記発話生成部において、前記相槌生成部が、前記音声区間検出部による検出結果、及び前記音声認識部による認識結果に基づいて、前記音声認識が行われていることを示す発話を生成するステップ、前記焦点抽出部が、前記音声認識部による認識結果に基づいて、認識された文字列を示す発話を生成するステップ、及び前記復唱生成部が、前記音声認識部による認識結果に基づいて、システムが理解した内容を示す発話を生成するステップの少なくとも一つを実行するステップを含み、前記応答部が、前記音声認識部による認識結果に基づいて、前記ユーザ発話に対応する応答発話を生成するステップと、前記通信部が、前記発話生成部及び前記応答部の両方又は何れかからの出力を前記発話出力部へ出力するステップと、を含んで実行することを特徴とする。
第5の発明に係るプログラムは、コンピュータを、上記第1及び第2の発明に係る発話生成装置の各部として機能させるためのプログラムである。
本発明の発話生成装置、方法、及びプログラムによれば、ユーザ発話を表す音のストリームを入力とし、音声の開始と音声の終了を検出し、検出された音声の開始と音声の終了とで規定される区間の音声を逐次出力し、かつ、音声の開始を検出したとき、あるいは音声の終了を検出したときに、検出結果を出力し、検出された音声の開始に対応する区間の音声について音声認識を行い、区間の途中の認識結果を含む、区間の終了までの認識結果を逐次出力し、音声区間検出部による検出結果、及び音声認識部による認識結果に基づいて、音声認識が行われていることを示す発話を生成する相槌生成部、音声認識部による認識結果に基づいて、認識された文字列を示す発話を生成する焦点抽出部、及び音声認識部による認識結果に基づいて、システムが理解した内容を示す発話を生成する復唱生成部の少なくとも一つを含む発話生成部を持ち、音声認識部及び音声区間検出部の両方又は何れかからの出力を、発話生成部へ出力し、発話生成部からの出力を発話出力部へ出力することにより、システムが理解したことをユーザに伝達し、スムーズな対話を可能とすることができる、という効果が得られる。
本発明の実施の形態に係る発話生成装置の構成を示すブロック図である。 音声区間検出部と音声認識部がpublishするチャネルとそのタイミングを示す図である。 CRFの学習データに一例を示す図である。 本発明の実施の形態に係る発話生成装置における発話生成処理ルーチンを示すフローチャートである。
以下、図面を参照して本発明の実施の形態を詳細に説明する。
<本発明の実施の形態に係る発話生成装置の構成>
まず、本発明の実施の形態に係る発話生成装置の構成について説明する。図1に示すように、本発明の実施の形態に係る発話生成装置100は、CPUと、RAMと、後述する発話生成処理ルーチンを実行するためのプログラムや各種データを記憶したROMと、を含むコンピュータで構成することが出来る。この発話生成装置100は、機能的には図1に示すように入力部10と、演算部20と、発話出力部50とを備えている。
入力部10は、ユーザ発話を表す音のストリームを入力として受け付ける。
演算部20は、通信部28と、音声区間検出部30と、音声認識部32と、発話生成部40と、応答部48とを含んで構成されている。
まず、はじめに通信部28について説明する。なぜなら、この部はすべての部の橋渡しとなる部だからである。
通信部28は、後述する音声認識部32及び音声区間検出部30の両方又は何れかからの出力を、発話生成部40及び応答部48へ出力する。具体的には、音声区間検出部30の区間の検出結果及び音声認識部32の音声の認識結果の出力を、発話生成部40に出力し、音声認識部32の音声の認識結果の出力を応答部48へ出力する。また、発話生成部40及び応答部48の両方又は何れかからの出力を発話出力部50へ出力する。この場合、発話生成部40及び応答部48では順次発話及び応答発話が生成されるため、受け付けたものを順次出力すればよい。
通信部28で用いられる音声対話システムのモジュール群はPublisher-Subscriberモデルに基づいて通信を行う。このモデルでは、publisherとなったモジュールは特定のチャネルに対し情報を流す(publishするという)。subscriberとなったモジュールが、チャネルを事前にsubscribe(購読)しておくと、そのチャネルに流れてきた情報を受け取ることができる。あるモジュールは、publisherかつsubscriberになってもよい。また、一つのモジュールが複数のチャネルに情報を流してもよいし、複数のチャネルから情報を受け取ってもよい。通信部28は、publisherとsubscriberの管理を行い、チャネルの制御を行う。このような制御を行うソフトウェアとして、ActiveMQというフリーソフトウェアがあり、ここではこの実装を通信部として用いる。以降に述べるすべてのモジュールはpublisherまたはsubscriberであり、特定のチャネルに情報を流すことで連携する仕組みとなっている。もちろん、モジュールの連携ではpeer to peerモデルなどがあり、他のものを用いてもよい。
音声区間検出部30は、入力部10で受け付けたユーザ発話を表す音のストリームを入力とし、音声の開始と音声の終了を検出し、検出された音声の開始と音声の終了とで規定される区間の音声を逐次出力し、かつ、音声の開始を検出したとき、あるいは音声の終了を検出したときに、検出結果を出力(publish)する。
音声区間検出部30においては、検出した区間の音声を、音声認識部32に逐次送る。音声区間の検出には、音声のパワーや、ゼロクロスといった一般な音声の特徴を用いればよい。音声の開始時と音声の終了時には、通信部28を介し、VAD STARTとVAD ENDというチャネルにメッセージをpublishする。ここでは、開始と終了が他のモジュールに伝わればよいため、メッセージの中身は空でよい。
音声認識部32は、以下に説明するように、音声区間検出部30によって検出された音声の開始に対応する区間の音声について音声認識を行い、当該区間の途中の認識結果を含む、当該区間の終了までの認識結果を逐次出力(publish)する。また、音声認識部32は、ショートポーズを検知したとき、又は区間の終了までの期間における一定時間おきに、認識結果を出力(publish)する。
音声認識部32の音声認識では、音声認識器にはNTT(R)が開発したものを用いる。これは、深層学習と大規模な重み付き有限状態オートマトンを用いた高精度な音声認識器である。この詳細は、以下の非特許文献に記載されている。
非特許文献4:久保陽太郎, 小川厚徳, 堀貴明, 中村篤. 音声と言語の一体型学習に基づく音声認識技術.NTT技術ジャーナル, Vol.25 No.9 pages 22-25, 2013.
音声認識というのは、内部的には、ネットワークの探索処理である。複数の単語列の仮説を展開しながら、音響的、言語的に尤度が高いものを残しながら探索を行う。音声が入力される度に探索は進む。音声認識器の内部状態を参照しながら、音声認識部32は、音声認識開始時、ショートポーズ検知時(100ms〜200ms 程度のポーズを検知した時)、ロングポーズ検知時(200ms以上の長いポーズを検知した時とする。この時点で、音声認識は終了する)、及び、一定時間おき(たとえば、100msおき)に認識結果を出力する。それぞれのタイミングにおいて、通信部28を介し、RECG START、RECG SP、RECG LP、及びRECG NPというチャネルに認識結果をpublishする。SPはショートポーズ、LPはロングポーズ、NPはポーズではない(not a pause)のことをそれぞれ表している。
図2に音声区間検出部30と音声認識部32がpublishするチャネルとそのタイミングを示す。
発話生成部40は、相槌生成部42と、焦点抽出部44と、復唱生成部46とを含んで構成されている。発話生成部40の各構成部は、それぞれ非同期に処理が行われ、各構成部によって生成した発話を順次、通信部28を介してpublishする。なお、発話生成部40は、相槌生成部42と、焦点抽出部44と、復唱生成部46との各部をいずれか少なくとも一つを含んでいればよい。
相槌生成部42は、以下に説明するように、音声区間検出部30による検出結果、及び音声認識部32による認識結果に基づいて、音声認識が行われていることを示す発話を生成する。また、音声区間検出部30によって音声の開始が検出されたときに、音声認識が行われていることを示す発話を生成する。また、音声認識部32による、ショートポーズを検知したときの認識結果の出力、又は音声認識部32による一定時間おきの認識結果の出力があったときに、音声認識が行われていることを示す発話を生成する。また、音声認識部32によって区間が終了したときの認識結果が出力されたときに、音声認識が行われていることを示す発話を生成する。
相槌生成部42では、相槌生成部はVAD START、RECG SP、RECG LP、RECG NPのいずれか少なくとも一つをsubscribeして、これらのチャネルのメッセージが届いていたら、正しく音声区間が検出された、もしくは、正しく認識が行われている旨を表すための相槌発話を生成する。具体的には、「はい」や「ええ」を含む数発話の相槌のリストからランダムに一つを選択して相槌発話とする。一つを選択したら、通信部28を介し、UTT BCというチャネルに、この発話内容をpublishする。UTTはutterance(発話)のことであり、BCとはback-channel(相槌)を表す。なお、確率的に相槌発話を生成してもよい。たとえば、ランダムに、二回に一回程度相槌を生成してもよい。VAD STARTで相槌を打つと、音声が始まったことを理解したということをユーザに伝えることができる。また、RECG SP、RECG NPで相槌を打つことは、発話の途中でもシステムがユーザの発話を聞いているということを伝えることができる。また、RECG LPに相槌を打つことで発話が終わったことがシステムに理解されたことを伝えることができる。
焦点抽出部44は、以下に説明するように、音声認識部32による認識結果に基づいて、認識された文字列を示す発話を生成する。
焦点抽出部44では、RECG SP、RECG LP、RECG NPのいずれか少なくとも一つをsubscribeして、これらのチャネルからメッセージが届いたら、そのメッセージの内容である部分的、もしくは、最終的な音声認識結果に対して、焦点抽出を行う。焦点抽出とは、発話文字列に含まれる対話の話題として相応しい単語列やフレーズのことである。
焦点を抽出する問題は、発話文字列中の部分文字列と捉えることができるため、系列ラベリングの手法によって焦点を抽出する。具体的には、多くの発話文を事前に収集し、それらの発話文中の焦点として相応しい単語やフレーズをラベル付けする。例えば、以下は焦点がタグ付けされたデータの例である。
<cand>キャンプ</cand>みたいですね。
今週末とかはうってつけですね。
<cand>バラエティー</cand>もよく見るんですよ。
ここで、<cand>と</cand>に囲まれている箇所が、焦点として相応しいとされた単語やフレーズである。このようなデータを大量に作成し、未知の発話文についても、これらの箇所を同定できるようなモデルを系列ラベリングの手法によって学習する。具体的には、条件付き確率場(conditional random field,CRF)と呼ばれる手法を用いた。この手法は文書について、それに含まれる特定の系列をラベル付けする一般的な方法である。
学習にあたっては、上記のようなタグ付きデータについて、形態素解析し、それぞれの形態素について、焦点として相応しい単語やフレーズであるかのラベルを付与することで、図4のようなCRFの学習データを作成する。
ここで、各カラムはそれぞれ、単語表記、品詞、NTT(R)の日本語語彙大系における一般名詞の意味属性、日本語語彙大系における固有名詞の意味属性、焦点(焦点の開始であるか(B-cand)、焦点の中間であるか(I-cand)、焦点ではないか(O))を表す。空行は発話文の区切りを表す。意味属性は概念を表す番号である。該当する意味属性が当該単語に付与されていない場合には、Oが付与される。
学習には、既存のツールであるCRF++などを用いればよい。また、CRFSuiteといった他のフリーソフトを用いてもよい。
このデータからCRFのモデルが学習でき、未知の文について、このモデルを適用することで、焦点を得ることができる。具体的には、未知の文について、形態素解析を行い、上記学習データと同様のデータを作成し(この場合正解が分からないため、焦点に関わる情報はすべてOとする)、CRFのモデルに、最も尤度が高くなるように、形態素毎に、焦点の開始であるか、中間であるか、焦点ではないかというラベルを推定させる。
「ラーメンが食べたい」について、ラーメンの単語に、B-candが付与されたのであれば、「ラーメン」が焦点として抽出される。また、名詞句の場合にはB-cand及びI-candを連結したものを焦点として抽出する。
このように、焦点抽出部44は、入力された音声の認識結果について焦点抽出を行い、その結果、焦点が得られたら通信部28を介し、UTT BCのチャネルに、焦点の文字列をpublishする。
復唱生成部46は、以下に説明するように、音声認識部32による認識結果に基づいて、システムが理解した内容を示す発話を生成する。ここでは、音声認識部32による認識結果を表す文字列から、述語項構造を抽出し、抽出された述語項構造に基づいて、システムが理解した内容を示す発話を生成する。
復唱生成部46では、RECG SP、RECG LP、RECG NPのいずれか少なくとも一つから得られる音声認識結果について、述語項構造解析を行い、得られた構造から、相手の発話内容を繰り返す(復唱する)文を生成する。
述語項構造解析とは、「何がどうした」を抽出する処理で、文章から述語およびその項となる名詞句を抽出する処理である。下記の非特許文献5には、その処理の詳細な記述がある。
非特許文献5:今村賢治,東中竜一郎,泉朋子. 対話解析のためのゼロ代名詞照応解析付き述語項構造解析. 自然言語処理, 2015, 22.1: 3-26.
「太郎が動物園に行くんです」という文であれば、「行く」が述語、「太郎」が主語(ガ格の項)、「動物園」が(間接)目的語(ニ格の項)と解析される。
入力文の述語項構造が分かれば、そこから文を生成することができる。例えば、ガ格、二格(それ以外の格)、述語の順番で並べることで、「太郎が動物園に行く」という文が生成できる。この文について、手作業による文末調整のルールを適用することで、「太郎が動物園に行くんだね」「太郎が動物園に行くんですね」といった、復唱に相応しい、共感調の文を作成することができる。これはたとえば、「んだね」や「んですね」を付与するというルールで実現できる。これ以外にも、より複雑なルールを用いて、任意の文末表現に変換してもよい。たとえば、質問調にしてみたり、方言や特殊な語尾を付与することにより、キャラクタ付けを行ってもよい。
述語項構造からの発話文生成手法については、以下の非特許文献6で説明されている。
非特許文献6:HIGASHINAKA, Ryuichiro, et al. Towards an open-domain conversational system fully based on natural language processing. In: COLING. 2014. pp.928-939.
なお、述語項構造に一人称が入っていれば二人称に変換する。また、二人称が入っていれば一人称に変換する処理を行う。そうすることで、「私は元気です」とユーザが言った場合、「あなたは元気なんですね」といった適切な復唱を行うことができる。
復唱生成部46は、上記ようにして、復唱文を生成してから、通信部28を介し、UTT BCのチャネルに復唱文をpublishする。
応答部48は、以下に説明するように、音声認識部32による認識結果に基づいて、ユーザ発話に対応する応答発話を生成する。
応答部48は、RECG LP(すなわち、音声区間が終わった後の音声認識結果であり、基本的に最も信頼できる認識結果)をsubscribeして受け取ると、その発話内容をもとに、次のシステム発話を生成する。応答部48は任意の対話システムでよい。たとえば、応答ルールに基づく手法(非特許文献6)や、大規模なテキストデータに基づく発話生成の手法(前述の非特許文献5)によって応答を行うものである。
非特許文献7:R. S. Wallace, The Anatomy of A.L.I.C.E. A.L.I.C.E. Artificial Intelligence Foundation, Inc., 2004.
応答部48が生成する応答発話は相手に理解が進んでいることを伝えるためのフィードバックを目的とした発話ではなく、システムが対話を進める上で熟考した発話であることが望ましい。生成した発話文は、通信部28を介し、UTT GENのチャネルにpublishされる。GENとは、システムの次発話として、生成(generate)された発話文という意味である。
発話出力部50は、発話生成部40によって生成された発話又は応答部48によって生成された応答発話を、音声合成して音声として出力するか、又はディスプレイ表示により出力する。本実施の形態では音声合成して音声として出力する。また、発話生成部40によって生成された発話を出力しているときに、発話生成部40によって生成された新たな発話が入力されると、新たな発話の出力は行わない。これは、相槌生成部42、焦点抽出部44、復唱生成部46のいずれかの発話が行われている場合には、他の発話を行わないということである。また、発話生成部40によって生成された発話を出力しているときに、応答部48によって生成された応答発話が入力されると、発話生成部40によって生成された発話を出力した後に、応答発話の出力を行う。
本実施の形態では、発話出力部50は、音声合成部としての機能をもつ。発話出力部50は、UTT BC(発話生成部40が生成した発話)とUTT GEN(応答部48が生成した応答発話)のチャネルをsubscribeしている。これらから通信部28を介してメッセージを受け取ると、UTT BCであれば、その発話内容を音声合成する。すでにUTT BCの内容を音声合成中や発話中であれば、新たなUTT BCの音声合成は取りやめる。UTT GENのチャネルでメッセージを受け取ると、それはシステムが熟考した応答であるから、必ず音声合成を行い発話する。もしUTT BCの処理中であれば、その処理を待って、UTT GENの内容を発話する。なお、音声合成には、市販の音声合成エンジンを用いればよい。
なお、ディスプレイ表示により出力する場合には、表示の仕方としては、例えば、システムの発話をディスプレイに表示するとき、発話を表示した後、発話を音声出力した場合にかかる時間分たった後に、最新のメッセージを出力(発話出力部50でメッセージの出力中に到着したメッセージはスキップされる動き相当)することができる。また、文字を人が読み上げる標準的な速さで(例えば4文字/秒)1文字づつ表示してもよい。ディスプレイに発話を表示すると、それまでのシステムの発話をユーザが確認できるというメリットがある。また、音声出力とあわせてディスプレイに発話を表示すると、ユーザの聞き間違いを防ぐことができ好適である。
<本発明の実施の形態に係る発話生成装置の作用>
次に、本発明の実施の形態に係る発話生成装置100の作用について説明する。入力部10においてユーザ発話を表す音のストリームを入力として受け付けると、発話生成装置100は、図5に示す発話生成処理ルーチンを実行する。
まず、ステップS100では、音声区間検出部30が、入力部10で受け付けたユーザ発話を表す音のストリームを入力とし、音声の開始と音声の終了を検出し、検出された音声の開始と音声の終了とで規定される区間の音声を逐次出力し、かつ、音声の開始を検出したとき、あるいは音声の終了を検出したときに、検出結果を出力(publish)する。
次に、ステップS102では、音声認識部32が、ステップS100によって検出された音声の開始に対応する区間の音声について音声認識を行い、当該区間の途中の認識結果を含む、当該区間の終了までの認識結果を逐次出力(publish)する。また、ショートポーズを検知したとき、又は区間の終了までの期間における一定時間おきに、認識結果を出力(publish)する。
ステップS104では、通信部28が、ステップS100の区間の検出結果及びS102の音声の認識結果の出力を、発話生成部40に出力し、ステップS102の音声の認識結果の出力を応答部48へ出力する。
ステップS106では、発話生成部40において、相槌生成部42が、音声区間検出部30による検出結果、及び音声認識部32による認識結果に基づいて、音声認識が行われていることを示す発話を生成し、焦点抽出部44が、音声認識部32による認識結果に基づいて、認識された文字列を示す発話を生成し、復唱生成部46が、音声認識部32による認識結果に基づいて、システムが理解した内容を示す発話を生成し、それぞれで順次生成された発話を生成順にpublishする。
ステップS108では、応答部48が、音声認識部32による認識結果に基づいて、ユーザ発話に対応する応答発話を生成しpublishする。
ステップS110では、通信部28が、発話生成部40及び応答部48の両方又は何れかからの出力を順次、発話出力部50へ出力する。
ステップS112では、ステップS106で発話生成部40によって生成された発話又はステップS108で応答部48によって生成された応答発話を、音声合成して音声として出力する。ここでは、発話生成部40によって生成された新たな発話が入力されると、新たな発話の出力は行わない。また、発話生成部40によって生成された発話を出力しているときに、応答部48によって生成された応答発話が入力されると、発話生成部40によって生成された発話を出力した後に、応答発話の出力を行う。
以上説明したように、本発明の実施の形態に係る発話生成装置によれば、ユーザ発話を表す音のストリームを入力とし、音声の開始と音声の終了を検出し、検出された音声の開始と音声の終了とで規定される区間の音声を逐次出力し、かつ、音声の開始を検出したとき、あるいは音声の終了を検出したときに、検出結果を出力し、検出された音声の開始に対応する区間の音声について音声認識を行い、区間の途中の認識結果を含む、区間の終了までの認識結果を逐次出力し、音声区間検出部30による検出結果、及び音声認識部32による認識結果に基づいて、音声認識が行われていることを示す発話を生成する相槌生成部42、音声認識部32による認識結果に基づいて、認識された文字列を示す発話を生成する焦点抽出部44、及び音声認識部32による認識結果に基づいて、システムが理解した内容を示す発話を生成する復唱生成部の少なくとも一つを含む発話生成部40を持ち、応答部48によりユーザ発話に対応する応答発話を生成し、音声認識部32及び音声区間検出部30の両方又は何れかからの出力を、発話生成部40又は応答部48へ出力し、発話生成部40又は応答部48からの出力を発話出力部50へ出力することにより、システムが理解したことをユーザに伝達し、スムーズな対話を可能とすることができる。
実際に本発明の実施の形態の技術を実装した対話システムと会話してみたところ、音声区間が適切に検出されている、もしくは、音声認識が進んでいることがユーザに伝わる音声対話システムが実現できた。また、音声認識の途中であっても、焦点抽出を行う事ができるため、ユーザが話した対話の話題として相応しい単語が、正しく認識されているかどうかがユーザに伝わることが確認できた。
さらに、音声認識の途中であっても、復唱文生成によって、ユーザが話した命題(何がどうした)という内容が、正しく認識されているかどうかがユーザに伝わることも確認できた。これらの仕組みによって、ユーザはシステムが正しく認識、理解しているかどうかを確認しながら対話を行うことができ、ユーザとスムーズな音声コミュニケーションが取れるシステムが実現できた。
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
10 入力部
20 演算部
28 通信部
30 音声区間検出部
32 音声認識部
40 発話生成部
42 相槌生成部
44 焦点抽出部
46 復唱生成部
48 応答部
50 発話出力部
100 発話生成装置

Claims (13)

  1. ユーザ発話を表す音のストリームを入力とし、音声の開始と音声の終了を検出し、検出された音声の開始と音声の終了とで規定される区間の音声を逐次出力し、かつ、音声の開始を検出したとき、あるいは音声の終了を検出したときに、検出結果を出力する音声区間検出部と、
    前記音声区間検出部によって検出された音声の開始に対応する区間の音声について音声認識を行い、前記区間の途中の認識結果を含む、前記区間の終了までの認識結果を逐次出力する音声認識部と、
    前記音声区間検出部による検出結果、及び前記音声認識部による認識結果に基づいて、前記音声認識が行われていることを示す発話を生成する相槌生成部、前記音声認識部による認識結果に基づいて、認識された文字列を示す発話を生成する焦点抽出部、及び前記音声認識部による認識結果に基づいて、システムが理解した内容を示す発話を生成する復唱生成部の少なくとも一つを含む発話生成部と、
    発話出力部と、
    前記音声認識部及び前記音声区間検出部の両方又は何れかからの出力を、前記発話生成部へ出力し、前記発話生成部からの出力を前記発話出力部へ出力する通信部と、
    を含む発話生成装置。
  2. ユーザ発話を表す音のストリームを入力とし、音声の開始と音声の終了を検出し、検出された音声の開始と音声の終了とで規定される区間の音声を逐次出力し、かつ、音声の開始を検出したとき、あるいは音声の終了を検出したときに、検出結果を出力する音声区間検出部と、
    前記音声区間検出部によって検出された音声の開始に対応する区間の音声について音声認識を行い、前記区間の途中の認識結果を含む、前記区間の終了までの認識結果を逐次出力する音声認識部と、
    前記音声区間検出部による検出結果、及び前記音声認識部による認識結果に基づいて、前記音声認識が行われていることを示す発話を生成する相槌生成部、前記音声認識部による認識結果に基づいて、認識された文字列を示す発話を生成する焦点抽出部、及び前記音声認識部による認識結果に基づいて、システムが理解した内容を示す発話を生成する復唱生成部の少なくとも一つを含む発話生成部と、
    前記音声認識部による認識結果に基づいて、前記ユーザ発話に対応する応答発話を生成する応答部と、
    発話出力部と、
    前記音声認識部及び前記音声区間検出部の両方又は何れかからの出力を、前記発話生成部及び前記応答部へ出力し、前記発話生成部及び前記応答部の両方又は何れかからの出力を前記発話出力部へ出力する通信部と、
    を含む発話生成装置。
  3. 前記発話出力部は、前記発話生成部によって生成された前記発話を出力しているときに、前記発話生成部によって生成された新たな前記発話が入力されると、前記新たな前記発話の出力は行わない請求項1記載の発話生成装置。
  4. 前記発話出力部は、前記発話生成部によって生成された前記発話を出力しているときに、前記発話生成部によって生成された新たな前記発話が入力されると、前記新たな前記発話の出力は行わず、
    前記発話生成部によって生成された前記発話を出力しているときに、前記応答部によって生成された前記応答発話が入力されると、前記発話生成部によって生成された前記発話を出力した後に、前記応答発話の出力を行う請求項2記載の発話生成装置。
  5. 前記復唱生成部は、前記音声認識部による認識結果を表す文字列から、述語項構造を抽出し、前記抽出された述語項構造に基づいて、前記システムが理解した内容を示す発話を生成する請求項1〜請求項4の何れか1項記載の発話生成装置。
  6. 前記相槌生成部は、前記音声区間検出部によって前記音声の開始が検出されたときに、前記音声認識が行われていることを示す発話を生成する請求項1〜請求項5の何れか1項記載の発話生成装置。
  7. 前記音声認識部は、ショートポーズを検知したとき、又は前記区間の終了までの期間における一定時間おきに、認識結果を出力し、
    前記相槌生成部は、前記音声認識部による、ショートポーズを検知したときの認識結果の出力、又は前記音声認識部による一定時間おきの認識結果の出力があったときに、前記音声認識が行われていることを示す発話を生成する請求項1〜請求項6の何れか1項記載の発話生成装置。
  8. 前記相槌生成部は、前記音声認識部によって前記区間が終了したときの認識結果が出力されたときに、前記音声認識が行われていることを示す発話を生成する請求項1〜請求項7の何れか1項記載の発話生成装置。
  9. 前記発話出力部は、音声により出力する請求項1〜請求項8の何れか1項記載の発話生成装置。
  10. 前記発話出力部は、ディスプレイ表示により出力する請求項1〜請求項8の何れか1項記載の発話生成装置。
  11. 音声区間検出部と、音声認識部、相槌生成部、及び焦点抽出部の少なくとも一つを含む発話生成部と、復唱生成部と、発話出力部と、通信部とを含む発話生成装置における発話生成方法であって、
    前記音声区間検出部が、ユーザ発話を表す音のストリームを入力とし、音声の開始と音声の終了を検出し、検出された音声の開始と音声の終了とで規定される区間の音声を逐次出力し、かつ、音声の開始を検出したとき、あるいは音声の終了を検出したときに、検出結果を出力するステップと、
    前記音声認識部が、前記音声区間検出部によって検出された音声の開始に対応する区間の音声について音声認識を行い、前記区間の途中の認識結果を含む、前記区間の終了までの認識結果を逐次出力するステップと、
    前記通信部が、前記音声認識部及び前記音声区間検出部の両方又は何れかからの出力を、前記発話生成部へ出力するステップと、
    前記発話生成部において、前記相槌生成部が、前記音声区間検出部による検出結果、及び前記音声認識部による認識結果に基づいて、前記音声認識が行われていることを示す発話を生成するステップ、前記焦点抽出部が、前記音声認識部による認識結果に基づいて、認識された文字列を示す発話を生成するステップ、及び前記復唱生成部が、前記音声認識部による認識結果に基づいて、システムが理解した内容を示す発話を生成するステップの少なくとも一つを実行するステップを含み、
    前記通信部が、前記発話生成部からの出力を前記発話出力部へ出力するステップと、
    を含む発話生成方法。
  12. 音声区間検出部と、音声認識部、相槌生成部、及び焦点抽出部の少なくとも一つを含む発話生成部と、復唱生成部と、発話出力部と、応答部と、通信部とを含む発話生成装置における発話生成方法であって、
    前記音声区間検出部が、ユーザ発話を表す音のストリームを入力とし、音声の開始と音声の終了を検出し、検出された音声の開始と音声の終了とで規定される区間の音声を逐次出力し、かつ、音声の開始を検出したとき、あるいは音声の終了を検出したときに、検出結果を出力するステップと、
    前記音声認識部が、前記音声区間検出部によって検出された音声の開始に対応する区間の音声について音声認識を行い、前記区間の途中の認識結果を含む、前記区間の終了までの認識結果を逐次出力するステップと、
    前記通信部が、前記音声認識部及び前記音声区間検出部の両方又は何れかからの出力を、前記発話生成部及び前記応答部へ出力するステップと、
    前記発話生成部において、前記相槌生成部が、前記音声区間検出部による検出結果、及び前記音声認識部による認識結果に基づいて、前記音声認識が行われていることを示す発話を生成するステップ、前記焦点抽出部が、前記音声認識部による認識結果に基づいて、認識された文字列を示す発話を生成するステップ、及び前記復唱生成部が、前記音声認識部による認識結果に基づいて、システムが理解した内容を示す発話を生成するステップの少なくとも一つを実行するステップを含み、
    前記応答部が、前記音声認識部による認識結果に基づいて、前記ユーザ発話に対応する応答発話を生成するステップと、
    前記通信部が、前記発話生成部及び前記応答部の両方又は何れかからの出力を前記発話出力部へ出力するステップと、
    を含む発話生成方法。
  13. コンピュータを、請求項1〜請求項9のいずれか1項に記載の発話生成装置の各部として機能させるためのプログラム。
JP2016153957A 2016-08-04 2016-08-04 発話生成装置、方法、及びプログラム Active JP6649200B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016153957A JP6649200B2 (ja) 2016-08-04 2016-08-04 発話生成装置、方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016153957A JP6649200B2 (ja) 2016-08-04 2016-08-04 発話生成装置、方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2018022075A true JP2018022075A (ja) 2018-02-08
JP6649200B2 JP6649200B2 (ja) 2020-02-19

Family

ID=61165599

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016153957A Active JP6649200B2 (ja) 2016-08-04 2016-08-04 発話生成装置、方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6649200B2 (ja)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06259090A (ja) * 1993-03-09 1994-09-16 Nec Corp 音声対話システム
JPH11175093A (ja) * 1997-12-08 1999-07-02 Nippon Telegr & Teleph Corp <Ntt> 音声認識確認応答方法
JP2001056698A (ja) * 1999-08-20 2001-02-27 Cadix Inc 音声認識装置及びそれに用いられるプログラムを格納した記録媒体
JP2003228449A (ja) * 2002-02-01 2003-08-15 Sharp Corp 対話装置及び対話処理プログラムを記録した記録媒体
JP2005196134A (ja) * 2003-12-12 2005-07-21 Toyota Central Res & Dev Lab Inc 音声対話システム及び方法並びに音声対話プログラム
JP2007206888A (ja) * 2006-01-31 2007-08-16 Toyota Central Res & Dev Lab Inc 応答生成装置、方法及びプログラム
JP2012226068A (ja) * 2011-04-19 2012-11-15 Honda Motor Co Ltd 対話装置
WO2013132712A1 (ja) * 2012-03-07 2013-09-12 三菱電機株式会社 ナビゲーション装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06259090A (ja) * 1993-03-09 1994-09-16 Nec Corp 音声対話システム
JPH11175093A (ja) * 1997-12-08 1999-07-02 Nippon Telegr & Teleph Corp <Ntt> 音声認識確認応答方法
JP2001056698A (ja) * 1999-08-20 2001-02-27 Cadix Inc 音声認識装置及びそれに用いられるプログラムを格納した記録媒体
JP2003228449A (ja) * 2002-02-01 2003-08-15 Sharp Corp 対話装置及び対話処理プログラムを記録した記録媒体
JP2005196134A (ja) * 2003-12-12 2005-07-21 Toyota Central Res & Dev Lab Inc 音声対話システム及び方法並びに音声対話プログラム
JP2007206888A (ja) * 2006-01-31 2007-08-16 Toyota Central Res & Dev Lab Inc 応答生成装置、方法及びプログラム
JP2012226068A (ja) * 2011-04-19 2012-11-15 Honda Motor Co Ltd 対話装置
WO2013132712A1 (ja) * 2012-03-07 2013-09-12 三菱電機株式会社 ナビゲーション装置

Also Published As

Publication number Publication date
JP6649200B2 (ja) 2020-02-19

Similar Documents

Publication Publication Date Title
KR101211796B1 (ko) 외국어 학습 장치 및 그 제공 방법
CN113439301A (zh) 使用序列到序列映射在模拟数据与语音识别输出之间进行协调
US11797772B2 (en) Word lattice augmentation for automatic speech recognition
Angga et al. Design of chatbot with 3D avatar, voice interface, and facial expression
KR20210146368A (ko) 숫자 시퀀스에 대한 종단 간 자동 음성 인식
US11093110B1 (en) Messaging feedback mechanism
US10325599B1 (en) Message response routing
JP2004355629A (ja) 高度対話型インターフェースに対する理解同期意味オブジェクト
JP2001100781A (ja) 音声処理装置および音声処理方法、並びに記録媒体
JP2001101187A (ja) 翻訳装置および翻訳方法、並びに記録媒体
US11295730B1 (en) Using phonetic variants in a local context to improve natural language understanding
CA3160315C (en) Real-time speech-to-speech generation (rssg) apparatus, method and a system therefore
EP3509062B1 (en) Audio recognition device, audio recognition method, and program
JP2023524088A (ja) エンドツーエンドの複数話者重複音声認識
US11615787B2 (en) Dialogue system and method of controlling the same
JP2014048443A (ja) 音声合成システム、音声合成方法及び音声合成プログラム
JP6649200B2 (ja) 発話生成装置、方法、及びプログラム
CN115050351A (zh) 生成时间戳的方法、装置及计算机设备
Šoić et al. Spoken notifications in smart environments using Croatian language
McTear Rule-Based Dialogue Systems: Architecture, Methods, and Tools
Milde et al. MoM: Minutes of Meeting Bot.
Koo et al. KEBAP: Korean Error Explainable Benchmark Dataset for ASR and Post-processing
JP7012935B1 (ja) プログラム、情報処理装置、方法
US11501091B2 (en) Real-time speech-to-speech generation (RSSG) and sign language conversion apparatus, method and a system therefore
KR102448733B1 (ko) 문맥 내 턴 구성을 고려하여 응답을 선택하는 대화 시스템 및 그 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180628

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190416

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190417

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190617

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190724

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200116

R150 Certificate of patent or registration of utility model

Ref document number: 6649200

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150