JP6731326B2 - 音声対話装置及び音声対話方法 - Google Patents

音声対話装置及び音声対話方法 Download PDF

Info

Publication number
JP6731326B2
JP6731326B2 JP2016213897A JP2016213897A JP6731326B2 JP 6731326 B2 JP6731326 B2 JP 6731326B2 JP 2016213897 A JP2016213897 A JP 2016213897A JP 2016213897 A JP2016213897 A JP 2016213897A JP 6731326 B2 JP6731326 B2 JP 6731326B2
Authority
JP
Japan
Prior art keywords
topic
user
utterance
response
voice
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.)
Active
Application number
JP2016213897A
Other languages
English (en)
Other versions
JP2018072650A (ja
Inventor
スカンツ ガブリエル
スカンツ ガブリエル
ヨハンソン マーティン
ヨハンソン マーティン
達朗 堀
達朗 堀
生聖 渡部
生聖 渡部
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.)
Toyota Motor Corp
Original Assignee
Toyota Motor 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 Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2016213897A priority Critical patent/JP6731326B2/ja
Priority to US15/797,411 priority patent/US10573307B2/en
Publication of JP2018072650A publication Critical patent/JP2018072650A/ja
Application granted granted Critical
Publication of JP6731326B2 publication Critical patent/JP6731326B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1807Speech classification or search using natural language modelling using prosody or stress
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1815Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Artificial Intelligence (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Machine Translation (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、音声対話装置及び音声対話方法に関し、特に、ユーザと音声を用いた対話を行う音声対話装置及び音声対話方法に関する。
ユーザが音声対話ロボット(音声対話装置)と日常会話を楽しむための技術が普及しつつある。この技術にかかる音声対話ロボットは、ユーザが発声した音声を認識し、認識した音声に対応する回答を発話(出力)する。このような音声対話ロボットでは、現在の対話の話題を継続するか否かを判定することも行い得る。
上記の技術に関連し、特許文献1は、話題変換検出装置を開示する。特許文献1にかかる話題変換検出装置は、対話における発話列において、トピックの境界となる位置をリアルタイムに検出する。
特開2015−225134号公報
特許文献1にかかる技術では、ユーザの発話内容を構文解析等で解析しなければ、話題を継続するか遷移するかの判定を行うことができない。ここで、構文解析は、パターン認識等の多くの時間を必要とする処理を伴う。さらに、構文解析を行って話題の継続を判定する方法では、ユーザが話題を遷移させたい場合に、ユーザが話題の遷移を促すような単語を発話に織り交ぜないと、話題を遷移することができない。したがって、特許文献1にかかる技術では、適切なタイミングで話題を遷移することができないおそれがある。
本発明は、適切なタイミングで話題を遷移することが可能な音声対話装置及び音声対話方法を提供するものである。
本発明にかかる音声対話装置は、ユーザと音声を用いた対話を行う音声対話装置であって、前記ユーザの発話であるユーザ発話を取得する発話取得部と、前記取得されたユーザ発話の言語情報について構文解析を行う構文解析部と、前記ユーザ発話に応じて応答を生成する応答生成部と、前記ユーザに対して前記生成された応答に対応する音声を出力する音声出力部と、前記取得されたユーザ発話について、前記言語情報とは異なる非言語情報であって、前記ユーザ発話の韻律情報及び前記応答生成部によって生成された応答に関する履歴情報の少なくとも一方を含む非言語情報の解析を行う非言語情報解析部と、前記非言語情報解析部による解析結果である非言語情報解析結果に応じて、現在の対話の話題を継続するか否かを判定する話題継続判定部とを有し、前記応答生成部は、前記話題継続判定部による判定結果に応じて、応答を生成する。
また、本発明にかかる音声対話方法は、ユーザと音声を用いた対話を行う音声対話装置を用いて行われる音声対話方法であって、前記ユーザの発話であるユーザ発話を取得し、前記取得されたユーザ発話の言語情報について構文解析を行い、前記取得されたユーザ発話について、前記言語情報とは異なる非言語情報であって、前記ユーザ発話の韻律情報及び前記音声対話装置によって生成された応答に関する履歴情報の少なくとも一方を含む非言語情報の解析を行い、前記非言語情報の解析結果である非言語情報解析結果に応じて、現在の対話の話題を継続するか否かを判定し、前記判定の結果に応じて生成された応答に対応する音声を出力する。
本発明は、上記のように構成されていることによって、構文解析の結果を用いなくても、話題を継続するか否かを判定することができる。したがって、本発明は、適切なタイミングで話題を遷移することが可能である。
また、好ましくは、前記話題継続判定部は、前記非言語情報解析結果に含まれる少なくとも1つの特徴量と、前記特徴量に対応する予め定められた閾値との比較に応じて、話題を継続するか否かを判定する。
本発明は、上記のように構成されていることによって、話題を継続するか否かの判定を、容易に実現することが可能である。
また、好ましくは、前記話題継続判定部は、同一の話題の継続時間が予め定められた閾値以上である場合に、話題を遷移すると判定する。
本発明は、上記のように構成されていることによって、同一の話題が長く続いたときに、確実に話題を遷移することが可能となる。
また、好ましくは、前記話題継続判定部は、予め機械学習によって生成された判定モデルを用いて、前記非言語情報解析結果によって示される特徴が、話題を継続することに対応するか又は話題を遷移することに対応するかを識別することによって、話題を継続するか否かを判定する。
本発明は、上記のように構成されていることによって、話題を継続するか否かの判定を、より正確に行うことが可能である。
本発明によれば、適切なタイミングで話題を遷移することが可能な音声対話装置及び音声対話方法を提供できる。
実施の形態1にかかる音声対話装置のハードウェア構成を示す図である。 実施の形態1にかかる音声対話装置の構成を示すブロック図である。 実施の形態1にかかる非言語情報解析部によって生成される特徴ベクトルを例示する図である。 実施の形態1にかかる音声対話装置によってなされる音声対話方法を示すフローチャートである。 実施の形態1にかかる音声対話装置とユーザとの間でなされる対話の例を示す図である。 比較例にかかる音声対話装置とユーザとの間でなされる対話の例を示す図である。 実施の形態2にかかる話題継続判定部の処理を示すフローチャートである。 話題継続時間と、ユーザ発話の後で話題を遷移する場合及び話題を継続する場合それぞれの頻度との関係を例示するグラフである。 ユーザ発話の句末500msecの基本周波数の正規化された値の最大値と、ユーザ発話の後で話題を遷移する場合及び話題を継続する場合それぞれの頻度との関係を例示するグラフである 実施の形態3にかかる話題継続判定部の処理を示すフローチャートである。 実施の形態3にかかる判定モデルの生成方法を示すフローチャートである。 サンプル集合及びサブセットを例示する図である。 各サンプルに付与される特徴ベクトルを例示する図である。 図11のS34の処理によって生成される決定木(判定モデル)を例示する図である。 決定木の生成方法を示すフローチャートである。 2つの分岐関数候補それぞれについて分割された集合を例示する図である。 図14に例示した決定木(判定モデル)を用いて特徴ベクトルを分類する方法を説明するための図である。
(実施の形態1)
以下、図面を参照して本発明の実施の形態について説明する。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
図1は、実施の形態1にかかる音声対話装置1のハードウェア構成を示す図である。音声対話装置1は、ユーザと音声を用いて対話を行う。具体的には、音声対話装置1は、ユーザからの発話(ユーザ発話)に応じて、ユーザに対して音声を出力することで、ユーザと対話を行う。音声対話装置1は、例えば、生活支援ロボット及び小型ロボット等のロボット、クラウドシステム及びスマートフォン等に搭載可能である。
音声対話装置1は、周囲の音声を収集するマイク2と、音声を発するスピーカ4と、制御装置10とを有する。なお、音声対話装置1は、カメラ等の撮像装置を有してもよい。制御装置10は、例えばコンピュータとしての機能を有する。制御装置10は、マイク2及びスピーカ4と、有線又は無線で接続されている。
制御装置10は、主要なハードウェア構成として、CPU(Central Processing Unit)12と、ROM(Read Only Memory)14と、RAM(Random Access Memory)16とを有する。CPU12は、制御処理及び演算処理等を行う演算装置としての機能を有する。ROM14は、CPU12によって実行される制御プログラム及び演算プログラム等を記憶するための機能を有する。RAM16は、処理データ等を一時的に記憶するための機能を有する。
制御装置10は、マイク2によって集音されたユーザ発話を解析して、そのユーザ発話に応じて、ユーザに対する応答を生成する。そして、制御装置10は、スピーカ4を介して、生成された応答に対応する音声(応答音声)を出力する。
図2は、実施の形態1にかかる音声対話装置1の構成を示すブロック図である。音声対話装置1は、発話取得部102と、構文解析部104と、非言語情報解析部106と、話題継続判定部110と、応答生成部120と、音声出力部150と、応答履歴格納部152とを有する。また、応答生成部120は、話題誘導部130と、遷移質問データベース132(遷移質問DB;Database)と、深堀質問生成部140と、深堀質問データベース142(深堀質問DB)とを有する。
図2に示す各構成要素は、マイク2、スピーカ4及び制御装置10の少なくとも1つによって実現可能である。また、各構成要素の少なくとも1つは、例えば、CPU12がROM14に記憶されたプログラムを実行することによって実現可能である。また、必要なプログラムを任意の不揮発性記録媒体に記録しておき、必要に応じてインストールするようにしてもよい。なお、各構成要素は、上記のようにソフトウェアによって実現されることに限定されず、何らかの回路素子等のハードウェアによって実現されてもよい。
発話取得部102は、マイク2を含み得る。発話取得部102は、ユーザ発話を取得する。具体的には、発話取得部102は、ユーザの発話を集音してデジタル信号に変換する。そして、発話取得部102は、ユーザ発話の音声データ(発話音声データ)を、構文解析部104及び非言語情報解析部106に対して出力する。
構文解析部104は、ユーザ発話の言語情報について構文解析を行う。また、構文解析部104は、構文解析の結果である構文解析結果を生成する。そして、構文解析部104は、構文解析結果を、応答生成部120に対して出力する。なお、言語情報とは、ユーザ発話を構成する文字列を示す情報である。
具体的には、構文解析部104は、ユーザ発話を示す発話音声データに対して、パターン認識等を用いて自然言語処理を行う。さらに具体的には、構文解析部104は、発話音声データに対して、音声認識処理、及び、形態素解析等を含む構文解析を行う。これにより、構文解析部104は、ユーザ発話の言語的な内容を認識することができる。例えば、ユーザ発話が「君は京都に行ったことある?」である場合、構文解析部104は、「君は京都に行ったことある?」という文字列を認識し、「君」(つまり音声対話装置1が実装されたロボット等)が、「京都」という場所に行ったことがあるか否かを、ユーザが質問しているといった、ユーザ発話の内容を認識し得る。
非言語情報解析部106は、ユーザ発話について、言語情報とは異なる非言語情報の解析を行う。また、非言語情報解析部106は、非言語情報の解析結果である非言語情報解析結果として、後述する特徴ベクトルを生成する。そして、非言語情報解析部106は、非言語情報解析結果(特徴ベクトル)を、話題継続判定部110に対して出力する。
ここで、非言語情報とは、処理対象のユーザ発話の言語情報(文字列)とは異なる情報であり、ユーザ発話の韻律情報、及び、応答履歴情報の少なくとも一方を含む。韻律情報とは、ユーザ発話の音声波形の特徴を示す情報であり、例えば、基本周波数、音圧、周波数等の変化量、変動帯域、振幅の最大値及び平均値等である。また、応答履歴情報とは、応答生成部120によって生成され、音声出力部150によって出力された応答(応答音声データ)に関する過去の履歴を示す情報である。応答履歴格納部152は、音声出力部150によって応答(応答音声データ)が出力されると、この応答履歴情報を格納(更新)する。
具体的には、非言語情報解析部106は、発話取得部102によって取得された発話音声データについて音声分析等を行って、音声波形から韻律情報を解析する。そして、非言語情報解析部106は、韻律情報を示す特徴量を示す値を算出する。なお、非言語情報解析部106は、発話音声データについて、例えば32msecごとに区切られたフレームごとに、基本周波数等を算出してもよい。また、非言語情報解析部106は、応答履歴格納部152から応答履歴情報を抽出して、応答履歴の特徴を示す特徴量を算出する。
なお、上述したように、構文解析は、パターン認識等を用いるため、多大な時間を要することが多い。一方、非言語情報の解析(韻律情報の解析及び応答履歴情報の解析)については、解析に用いられるデータ量が構文解析と比較して少なく、演算手法が、構文解析と比較して単純である。したがって、非言語情報の解析に要する時間は、構文解析と比較してかなり短くなり得る。
話題継続判定部110は、非言語情報解析結果に応じて、現在の対話の話題を継続するか、又は別の話題に遷移するかを判定する。話題継続判定部110は、この判定結果を、応答生成部120に対して出力する。具体的には、話題継続判定部110は、別の話題に遷移すると判定した場合は、話題を遷移する旨を示す話題遷移指示を、話題誘導部130に対して出力する。一方、話題継続判定部110は、話題を継続すると判定した場合は、話題を継続する旨を示す話題継続指示を、深堀質問生成部140に対して出力する。
なお、話題継続判定部110が非言語情報解析結果を用いて行う判定方法の具体例については、後述する他の実施の形態で示す。例えば、この話題継続判定部110によってなされる判定方法は、予め設定された判別式を用いてなされてもよいし、予め機械学習によって生成された判定モデルを用いてなされてもよい。
応答生成部120は、構文解析結果又は非言語情報解析結果を用いて、ユーザに対して出力する音声を示す音声データを生成する。具体的には、応答生成部120は、構文解析結果から、ユーザに対する応答を示す応答音声データを生成し得る。また、応答生成部120は、話題継続判定部110による判定結果に応じて、異なる応答を生成し得る。
ここで、応答は、ユーザの発話に応じて発せられる音声であり、例えば、「相槌」、「傾聴応答」、「質問」及び「回答」を含む。応答生成部120は、例えば予め定められた設定条件等に応じて、どの応答タイプとするかを決定し、その応答タイプに対応する具体的な音声データを決定する。
「相槌」は、ユーザの話を聞いているということを示す音声であって、例えば「うん」、「はい」、「うんうん」、「ええ」等の、ユーザ発話の内容とは関係のない音声を含む。「傾聴応答」は、ユーザの話を聞いているということを示す音声であって、ユーザ発話の内容に応じた音声であり得る。傾聴応答は、例えばユーザ発話に対するおうむ返しの応答を含む。また、例えば、ユーザ発話が「今度京都に連れて行ってあげるよ」である場合、傾聴応答は、「それは嬉しいね」であってもよい。また、「質問」は、ユーザに対して何かを聞くための音声である。質問は、「深堀質問」及び「遷移質問」を含む。「深堀質問」は、ユーザ発話に対してさらに詳しいことを聞き出すための質問を示す音声である。例えば、「深堀質問」は、「もっと詳しく聞かせてもらえますか?」であってもよい。また、「遷移質問」は、現在の対話における話題を転換させるように、次の話題に誘導するための質問を示す音声である。後述するように、応答生成部120は、話題継続判定部110によって現在の対話の話題を継続すると判定された場合に、「深堀質問」を生成する。また、応答生成部120は、話題継続判定部110によって別の話題に遷移すると判定された場合に、「遷移質問」を生成する。また、「回答」は、ユーザ発話が、音声対話装置1(音声対話装置1が実装されたロボット等)に対する質問である場合に、その質問に対する回答を示す音声である。
なお、本実施の形態においては、ユーザと音声対話装置1との対話において話題を提供するのは、音声対話装置1であるとする。このとき、音声対話装置1は、「遷移質問」の応答によって、話題を提供し得る。ここで、「遷移質問」は、直前のユーザ発話とは関係のない音声である。したがって、「遷移質問」は、ユーザ発話の内容を構文解析によって解析しなくても、生成され得る。また、「深堀質問」も、直前のユーザ発話とは関係のない音声であってもよく、したがって、ユーザ発話の内容を構文解析によって解析しなくても、生成され得る。
音声出力部150は、スピーカ4を含み得る。音声出力部150は、応答生成部120から受け付けた応答音声データを、アナログ信号に変換する。そして、音声出力部150は、応答音声データに対応する音声(応答)を、スピーカ4から出力する。さらに、音声出力部150は、出力した応答音声データを応答履歴格納部152に対して出力する。
応答履歴格納部152は、その応答音声データを識別するデータを、応答履歴情報として格納する。さらに、応答履歴格納部152は、応答履歴情報として対話に関する時間を含む場合に、その時間を計測し、計測された時間を応答履歴情報として格納してもよい。
図3は、実施の形態1にかかる非言語情報解析部106によって生成される特徴ベクトルを例示する図である。なお、図3に例示する特徴ベクトルは、一例にすぎず、他の様々な特徴ベクトル(例えば後述する図13に示す特徴ベクトル等)が可能である。i番目のユーザ発話についての特徴ベクトルをvとすると、特徴ベクトルのn個の成分は、v=(vi1,vi2,・・・,vi(m−1),vim,vi(m+1),・・・,vin)と表される。ここで、i、n及びmは整数(但しn>m)である。また、vi1〜vi(m−1)が、i番目のユーザ発話情報に関する韻律情報の解析結果に対応する。また、vim〜vinが、応答履歴情報の解析結果に対応する。なお、vim〜vinについては、応答履歴格納部152に格納された情報そのものであってもよい。つまり、非言語情報解析部106は、応答履歴情報については、応答履歴格納部152から応答履歴を抽出するのみでもよく、特別な解析を行わなくてもよい。
図3に示す例では、例えば、vi1は、i番目のユーザ発話の句末のTmsec(ユーザ発話の終了時点からTmsec(Tミリ秒)遡った時間から終了時点までの期間)における基本周波数f0(f0)についてのパラメータを示す。また、vi5は、i番目のユーザ発話の長さ(ユーザ発話長)L1[sec]を示す。なお、基本周波数f0は、フレームごとに、SPTK(Speech Signal Processing Toolkit)のSWIPE(Saw-tooth Waveform Inspired Pitch Estimation)のロジックを用いて算出され得る。
また、vimは、同一話題の継続時間(話題継続時間)D1[sec]を示す。話題継続時間D1は、最後に「遷移質問」(応答)が音声出力部150から出力されてからの、経過時間である。また、vi(m+1)は、直前の応答タイプを示す。直前の応答タイプは、直前(i番目のユーザ発話の直前)に、音声出力部150から出力された応答のタイプ(「相槌」、「傾聴応答」、「質問」及び「回答」のいずれか)である。また、vi(m+2)は、最新の質問タイプを示す。最新の質問タイプは、最後に音声出力部150から出力された「質問」(応答)のタイプ(「深堀質問」及び「遷移質問」のいずれか)である。
ここで、vi(m+1)及びvi(m+2)のような、数値ではない成分の成分値(特徴量)については、各タイプに数値が割り当てられている。例えば、vi(m+1)において、成分値「0」は「相槌」を示し、成分値「1」は「傾聴応答」を示し、成分値「2」は「質問」を示し、成分値「3」は「回答」を示す。また、vi(m+2)において、成分値「0」は「深堀質問」を示し、成分値「1」は「遷移質問」を示す。
次に、応答生成部120(図2)の構成について説明する。なお、図2に示された応答生成部120の構成要素は、応答として、「質問」、つまり話題を継続するための質問(深堀質問)又は話題を遷移するための質問(遷移質問)を生成する場合におけるものである。しかしながら、応答生成部120は、「質問」以外の応答も生成し得る。その場合、上述したように、応答生成部120は、構文解析結果から、応答音声データを生成し得る。
話題誘導部130は、話題継続判定部110から話題遷移指示を受け付けた場合に、遷移質問を、応答として生成する。具体的には、話題誘導部130は、遷移質問データベース132を用いて、遷移質問を示す応答音声データを生成する。遷移質問データベース132は、遷移質問を示す複数の応答音声データを予め記憶している。話題誘導部130は、遷移質問データベース132に記憶された複数の遷移質問から、順番に、又はランダムに、応答のための質問(応答音声データ)を選択する。そして、話題誘導部130は、選択された応答音声データを、音声出力部150に対して出力する。これにより、遷移質問を示す音声が、音声出力部150によって出力される。なお、話題誘導部130は、構文解析結果を用いないで、「遷移質問」の応答を生成し得る。したがって、遷移質問の応答は、取得されたユーザ発話の内容とは関係がなくてもよい。例えば、話題誘導部130は、ユーザ発話に関係なく、例えば「リハビリの調子はどう?」といった、次の話題を促す「遷移質問」の応答を生成する。このように、話題継続判定部110が話題を遷移すると判定した場合に、話題誘導部130が遷移質問を生成するので、適切なタイミングで、ユーザにとって違和感なく話題を転換させることができる。つまり、ユーザにとって興味のない話題を継続してしまってユーザに不快感を与えることを抑制することができる。したがって、音声対話装置1との対話の満足度を向上させることが可能となる。
深堀質問生成部140は、話題継続判定部110から話題継続指示を受け付けた場合に、深堀質問を、応答として生成する。具体的には、深堀質問生成部140は、深堀質問データベース142を用いて、深堀質問を示す応答音声データを生成する。深堀質問データベース142は、深堀質問を示す複数の応答音声データを予め記憶している。深堀質問生成部140は、深堀質問データベース142に記憶された複数の深堀質問から、順番に、又はランダムに、応答のための質問(応答音声データ)を選択する。そして、深堀質問生成部140は、選択された応答音声データを、音声出力部150に対して出力する。これにより、深堀質問を示す音声が、音声出力部150によって出力される。なお、深堀質問生成部140は、構文解析結果を用いないで、「深堀質問」の応答を生成し得る。したがって、深堀質問の応答は、取得されたユーザ発話の内容とは関係がなくてもよい。例えば、深堀質問生成部140は、ユーザ発話に関係なく、例えば「もっと詳しく聞かせてもらえますか?」といった、話題の継続を促す「深堀質問」の応答を生成する。このように、話題継続判定部110が話題を継続すると判定した場合に、話題誘導部130が深堀質問を生成するので、ユーザにとって違和感なく話題を継続させることができる。つまり、ユーザが継続したい話題であるにも関わらず別の話題に転換してしまって表層的な対話に終始することを抑制することができる。したがって、音声対話装置1との対話の満足度を向上させることが可能となる。
図4は、実施の形態1にかかる音声対話装置1によってなされる音声対話方法を示すフローチャートである。また、図5は、実施の形態1にかかる音声対話装置1とユーザとの間でなされる対話の例を示す図である。なお、図5において、奇数の発話No(発話番号)の発話が、音声対話装置1が出力した発話(音声)であり、偶数の発話Noの発話が、ユーザが発した発話(ユーザ発話)である。また、図5に示す例では、音声対話装置1は、発話No.6から発話No.9の発話において、話題を継続するか否かを判定するとする。
まず、発話取得部102は、上述したようにユーザ発話を取得する(ステップS102)。そして、構文解析部104は、上述したように、取得されたユーザ発話について構文解析を行い(ステップS104)、非言語情報解析部106は、取得されたユーザ発話について、非言語情報(韻律情報及び応答履歴情報)の解析を行う(ステップS106)。ここで、S104の処理及びS106の処理は、並行して行われ得る。そして、S104の処理及びS106の処理の開始のタイミングは、同じであってもよいし、S106の処理の方が早くてもよい。そして、S106の処理は、次のS108の処理の前に完了する。一方、S104の処理は、後述するS122(又はS132)の処理が開始したときであっても、完了する必要はない。さらに、本実施の形態において、S104の処理は、必ずしも行われなくてもよい。
S106の処理(非言語情報の解析処理)が完了すると、話題継続判定部110は、上述したように、非言語情報解析結果を用いて、現在の対話の話題を継続するか、又は別の話題に遷移するかを判定する(ステップS108)。話題継続判定部110によって別の話題に遷移すると判定された場合(ステップS110のNO)、話題誘導部130は、遷移質問を示す応答音声データを生成し、音声出力部150は、この生成された遷移質問を出力する(ステップS122)。一方、話題継続判定部110によって話題を継続すると判定された場合(ステップS110のYES)、深堀質問生成部140は、深堀質問を示す応答音声データを生成し、音声出力部150は、この生成された深堀質問を出力する(ステップS132)。
例えば、図5の例で、非言語情報解析部106は、発話No.6のユーザ発話「月に1回とかかなあ」についての非言語情報を解析する。そして、話題継続判定部110は、発話No.6のユーザ発話についての非言語情報解析結果を用いて、話題を継続するか否かを判定し(S108)、話題を遷移すると判定する(S110のNO)。したがって、話題誘導部130は、遷移質問である「リハビリの調子はどう?」(発話No.7)を生成し、音声出力部150によってその遷移質問が出力される。
一方、図5の例で、非言語情報解析部106は、発話No.8のユーザ発話「まあまあですよ」についての非言語情報を解析する。そして、話題継続判定部110は、発話No.8のユーザ発話についての非言語情報解析結果を用いて、話題を継続するか否かを判定し(S108)、話題を継続すると判定する(S110のYES)。したがって、深堀質問生成部140は、深堀質問である「もっと聞かせてもらえますか?」(発話No.9)を生成し、音声出力部150によってその深堀質問が出力される。
そして、S122の処理及びS132の処理の後、応答履歴格納部152は、応答履歴を更新する(ステップS140)。具体的には、遷移質問が生成された場合(S110のNO、S122)、音声対話装置1の応答タイプは「質問」であるので、応答履歴格納部152は、最新(図5の例では発話No.7)の応答タイプを「質問」と記憶する。そして、この質問タイプは「遷移質問」であるので、最新の質問タイプを「遷移質問」と記憶する。また、応答履歴格納部152は、話題継続時間については、時間のカウントを終了し、新たな時間のカウントを開始する。
一方、深堀質問が生成された場合(S110のYES、S132)、音声対話装置1の応答タイプは「質問」であるので、応答履歴格納部152は、最新(図5の例では発話No.9)の応答タイプを「質問」と記憶する。そして、この質問タイプは「深堀質問」であるので、最新の質問タイプを「深堀質問」と記憶する。また、応答履歴格納部152は、話題継続時間については、時間のカウントを継続する。
(比較例)
次に、比較例について説明する。
図6は、比較例にかかる音声対話装置とユーザとの間でなされる対話の例を示す図である。なお、図6において、奇数の発話No(発話番号)の発話が、音声対話装置が出力した発話(音声)であり、偶数の発話Noの発話が、ユーザが発した発話(ユーザ発話)である。ここで、比較例にかかる音声対話装置は、ユーザの発話内容を構文解析で解析した構文解析結果を用いて、話題を継続するか遷移するかの判定を行っている。
このとき、ユーザが「月に1回とかかなあ」(発話No.6)と発声したとき、実際には、話題を転換したいと考えていたとする。しかしながら、上記ユーザ発話には話題の遷移を促すような単語が含まれていない。したがって、比較例にかかる音声対話装置は、このユーザ発話について構文解析を行っても、話題を遷移することはできない。そして、ユーザが「入院生活が長かったからね」(発話No.10)と発声し、そのユーザ発話に、「入院生活」という、話題の遷移を促すような単語が含まれている。したがって、この発話No.10の発話が発声されて初めて、比較例にかかる音声対話装置は、話題を遷移することができる。このように、比較例にかかる音声対話装置では、ユーザが話題を転換したい場合であっても、すぐに話題を遷移することができない。図6の例では、ユーザが「月に1回とかかなあ」(発話No.6)と発声してから、音声対話装置が「リハビリの調子はどう?」(発話No.11)という話題の遷移を促す質問を発声するまで、かなりの時間が経過してしまっている。また、比較例にかかる音声対話装置では、ユーザが主体的に話題の転換を促す単語を発話に織り交ぜなければ、話題を遷移することができないおそれがある。したがって、比較例にかかる音声対話装置では、適切なタイミングで話題を遷移することができない。
一方、ここで、ユーザが話題を転換したい場合、例えばユーザ発話の韻律又は同一話題の継続時間といった非言語情報に、その話題を転換したい旨の意思が表れる可能性が高い傾向にある。したがって、本実施の形態にかかる音声対話装置1は、構文解析結果を用いなくても、ユーザ発話に対する非言語情報解析結果を用いて、話題を継続するか遷移するかを判定する。これにより、図5に例示するように、ユーザが「月に1回とかかなあ」(発話No.6)と発声したときに、音声対話装置1は、自身の次の発話で、話題を遷移するための遷移質問(発話No.7)を出力することができる。つまり、本実施の形態にかかる音声対話装置1では、比較例の場合と比較して、ユーザが話題を転換したいと望んでから話題が転換されるまでの時間が短くなる。
また、ユーザが話題の継続を望む場合(発話No.9)には、音声対話装置1は、自身の次の発話で、話題を継続するための深堀質問を出力することができる。そして、本実施の形態にかかる音声対話装置1では、ユーザが主体的に話題の転換を促す単語を発話に織り交ぜなくても、話題を遷移することができる。さらに、ユーザ発話について構文解析よりも時間のかからない非言語情報解析の結果を用いて、話題を継続するか遷移するかを判定する。したがって、実施の形態1にかかる音声対話装置1は、適切なタイミングで話題を遷移することが可能である。
(実施の形態2)
次に、実施の形態2について説明する。実施の形態2においては、話題継続判定部110の処理が、実施の形態1と比較して、より具体的に示されている。具体的には、実施の形態2にかかる話題継続判定部110は、非言語情報解析結果のうちの、話題継続時間D1(図3のvim)及び判定対象のユーザ発話の句末の500msecにおける基本周波数f0500(図3のvi1)を用いて、話題を継続するか否かを判定する。なお、実施の形態2にかかる音声対話装置1の構成については、図1及び図2に示した実施の形態1にかかる音声対話装置1の構成と実質的に同様であるので、説明を省略する。
図7は、実施の形態2にかかる話題継続判定部110の処理を示すフローチャートである。図7に示すフローチャートは、図4に示したフローチャートのS108及びS110の処理の具体例に対応する。話題継続判定部110は、話題継続時間D1が予め定められた閾値Dth1よりも短いか否かを判定する(ステップS202)。話題継続時間D1が閾値Dth1以上である場合(S202のNO)、話題継続判定部110は、話題を遷移すると判定する(ステップS204)。そして、処理は、図4のS122に進む。同一の話題が長く続いたとき、ユーザは別の話題に転換したいと所望する傾向にあるが、上記の構成により、確実に話題を遷移することが可能となる。
一方、話題継続時間D1が閾値Dth1よりも短い場合(S202のYES)、話題継続判定部110は、ユーザ発話の句末500msecの基本周波数f0500の正規化された値f0z500の最大値max(f0z500)が予め定められた閾値Mth1よりも小さいか否かを判定する(ステップS206)。具体的には、話題継続判定部110は、非言語情報解析結果(特徴ベクトル)から最大値max(f0z500)を算出し、算出された最大値max(f0z500)と閾値Mth1とを比較する。なお、最大値max(f0z500)の算出は、非言語情報解析部106によって行われてもよい。
ここで、基本周波数f0500の正規化値f0z500は、以下の式1を用いて算出される。ここで、事前発話の基本周波数f0500をf0pre 500とする。「事前発話」とは、判定対象のユーザ発話よりも前にそのユーザが発声した発話のことである。事前とは、1分前であってもよいし、10分前であってもよいし、前日であってもよい。
(式1)
Figure 0006731326
最大値max(f0z500)が閾値Mth1以上である場合(S206のNO)、話題継続判定部110は、話題を遷移すると判定する(ステップS204)。そして、処理は、図4のS122に進む。一方、最大値max(f0z500)が閾値Mth1よりも小さい場合(S206のYES)、話題継続判定部110は、話題を継続すると判定する(ステップS208)。そして、処理は、図4のS132に進む。なお、閾値Dth1及び閾値Mth1の設定方法については、それぞれ、後述する図8及び図9を用いて説明する。
図8は、話題継続時間と、ユーザ発話の後で話題を遷移する場合及び話題を継続する場合それぞれの頻度との関係を例示するグラフである。図8は、事前にサンプルとして抽出した複数のユーザ発話のそれぞれについてまとめた統計データである。なお、それぞれのユーザ発話が、話題を遷移することに対応するか、又は話題を継続することに対応するかについては、例えば、アノテーションを行う者が対話(ユーザ発話)を聴くことで判断してもよい(図9の例でも同様)。
例えば、話題継続時間が1sec未満である場合に話題を遷移する頻度は、6である。一方、話題継続時間が1sec未満である場合に話題を継続する頻度は、7である。同様に、話題継続時間が7sec以上である場合に話題を遷移する頻度は、7である。一方、話題継続時間が7sec以上である場合に話題を継続する頻度は、3である。このように、話題継続時間がある程度長い場合は、話題を遷移する可能性が高い傾向にある。一方、話題継続時間が短い場合は、話題を遷移するか話題を継続するかの傾向はない。
図8に例示するように、話題を遷移する傾向となる話題継続時間の境界値は、5.1secである。したがって、Dth1=5.1と設定される。なお、上記の閾値(境界値)は、音声対話装置1の話題誘導部130によって提供される話題(例えば旅行の雑談等)に応じて、適宜、変更され得る。したがって、音声対話装置1は、遷移質問データベース132に格納された質問ごとに、閾値Dth1を記憶していてもよい。また、上記の閾値は、発話の個別言語(日本語、英語、仏語等)によっても異なり得る。したがって、音声対話装置1は、遷移質問データベース132に格納された質問及び個別言語ごとに、閾値Dth1を記憶していてもよい。
図9は、ユーザ発話の句末500msecの基本周波数f0500の正規化された値f0z500の最大値max(f0z500)と、ユーザ発話の後で話題を遷移する場合及び話題を継続する場合それぞれの頻度との関係を例示するグラフである。図9は、事前にサンプルとして抽出した複数のユーザ発話のそれぞれについてまとめた統計データである。例えば、最大値max(f0z500)が0.2未満である場合に話題を遷移する頻度は、6である。一方、最大値max(f0z500)が0.2未満である場合に話題を継続する頻度は、9である。このように、最大値max(f0z500)が小さい場合は、話題を継続する可能性が高い傾向にある。
同様に、最大値max(f0z500)が0.6以上かつ0.8未満である場合に話題を遷移する頻度は、0である。一方、最大値max(f0z500)が0.6以上かつ0.8未満である場合に話題を継続する頻度は、3である。このように、最大値max(f0z500)が大きい場合は、話題を遷移する可能性が高い傾向にある。
図9に例示するように、話題を遷移するか継続するかの境界値となる最大値max(f0z500)の値は、0.55である。したがって、Mth1=0.55と設定される。なお、上記の閾値(境界値)は、音声対話装置1の話題誘導部130によって提供される話題(例えば旅行の雑談等)に応じて、適宜、変更され得る。したがって、音声対話装置1は、遷移質問データベース132に格納された質問ごとに、閾値Mth1を記憶していてもよい。また、上記の閾値は、発話の個別言語(日本語、英語、仏語等)によっても異なり得る。したがって、音声対話装置1は、遷移質問データベース132に格納された質問及び個別言語ごとに、閾値Mth1を記憶していてもよい。
実施の形態2にかかる音声対話装置1においても、構文解析結果を用いなくても、ユーザ発話に対する非言語情報解析結果を用いて、話題を継続するか遷移するかを判定する。したがって、実施の形態1と同様に、実施の形態2にかかる音声対話装置1は、適切なタイミングで話題を遷移することが可能である。
さらに、実施の形態2においては、予め定められた単純な判別式(S202及びS206の処理に対応)を用いて、話題を継続するか遷移するかを判定することができる。つまり、実施の形態2においては、話題継続判定部110は、非言語情報解析結果に含まれる特徴量(話題継続時間D1及び基本周波数f0の最大値等)と、それらの特徴量に対応する予め定められた閾値(Dth1及びMth1等)との比較に応じて、話題を継続するか遷移するかを判定する。したがって、話題を継続するか遷移するかの判定を、容易に実現することが可能である。
(実施の形態3)
次に、実施の形態3について説明する。実施の形態3においては、話題継続判定部110の処理が、実施の形態1と比較して、より具体的に示されている。具体的には、実施の形態3にかかる話題継続判定部110は、予め機械学習(ランダムフォレスト等)によって生成された判定モデルを用いて、話題を継続するか遷移するかを判定する。より具体的には、話題継続判定部110は、判定モデルを用いて、非言語情報解析結果によって示される特徴(特徴ベクトルの成分)が、話題を継続することに対応するか又は話題を遷移することに対応するかを識別(分類)する。これによって、話題継続判定部110は、話題を継続するか遷移するかを判定する。なお、実施の形態3にかかる音声対話装置1の構成については、図1及び図2に示した実施の形態1にかかる音声対話装置1の構成と実質的に同様であるので、説明を省略する。
図10は、実施の形態3にかかる話題継続判定部110の処理を示すフローチャートである。図10に示すフローチャートは、図4に示したフローチャートのS108及びS110の処理の具体例に対応する。話題継続判定部110は、判定対象のユーザ発話の特徴ベクトルvを、判定モデルに入力する(ステップS302)。なお、上述したように、特徴ベクトルvは、非言語情報解析結果に対応する。つまり、特徴ベクトルvは、非言語情報解析部106によって生成され得る。また、判定モデルは、対応するユーザ発話の特徴ベクトルが、話題の継続を示すか又は話題の遷移を示すかを判定するための、決定木で構成されている。判定モデルについては後述する。
話題継続判定部110は、特徴ベクトルvが、「遷移クラス」に分類されるか否かを判定する(ステップS304)。ここで、「遷移クラス」とは、判定モデルによってクラス分けされたクラス(カテゴリ)の1つである。ここでは、判定モデルでクラス分けされるクラスには、「遷移クラス」及び「継続クラス」がある。「遷移クラス」は、そのユーザ発話が話題の遷移を示す確率が高いクラスである。また、「継続クラス」は、そのユーザ発話が話題の継続を示す確率が高い(つまりそのユーザ発話が話題の遷移を示す確率が低い)クラスである。詳しくは後述する。
特徴ベクトルvが「遷移クラス」に分類される場合(S304のYES)、話題継続判定部110は、話題を遷移すると判定する(ステップS306)。そして、処理は、図4のS122に進む。一方、特徴ベクトルvが「遷移クラス」に分類されない場合(S304のNO)、特徴ベクトルvは、「継続クラス」に分類される。したがって、話題継続判定部110は、話題を継続すると判定する(ステップS308)。そして、処理は、図4のS132に進む。
次に、判定モデルの生成方法について説明する。なお、判定モデルの生成については、本実施の形態にかかる音声対話装置1が行ってもよいし、音声対話装置1とは別の装置(コンピュータ)が行ってもよい。
図11は、実施の形態3にかかる判定モデルの生成方法を示すフローチャートである。まず、多数の学習データを用いてサンプル集合Sが準備される(ステップS320)。ここで、サンプル集合Sの要素であるサンプルiは、事前に準備したユーザ発話に対応するデータである。サンプルの数は、例えば150個程度であるが、これに限定されない。次に、サンプル集合Sを用いて、T個のサブセットS〜Sが生成される(ステップS322)。サブセットの数Tは、例えば100個程度であるが、これに限定されない。そして、サブセットごとに決定木(判定モデル)が生成される。つまり、T本の決定木が生成されることとなる(ステップS34)。以下、図を用いて詳述する。
図12は、サンプル集合S及びサブセットS〜Sを例示する図である。サンプルi(図12に円で示す)には、それぞれ、特徴ベクトルv及び正解ラベルcが付与されている。正解ラベルcは、そのサンプルiに対応するユーザ発話が話題の遷移を示す場合に「遷移」を示し、そのサンプルiに対応するユーザ発話が話題の継続を示す場合に「継続」を示す。なお、図12において、「遷移」の正解ラベルが付与されているサンプルiには、ハッチングが施されている。また、「遷移クラス」は、「遷移」を示す正解ラベルcに対応し、「継続クラス」は、「継続」を示す正解ラベルcに対応する。なお、正解ラベルcは、アノテーションを行う者(アノテータ)が各サンプルiに対応するユーザ発話を聴くこと等によって、付与される。つまり、アノテータは、ユーザ発話を聴いて、そのユーザ発話が話題の遷移を示すか否かを、ユーザ発話の言語情報及び非言語情報等から判断して、正解ラベルcをサンプルiに付与する。例えば、アノテータは、ユーザ発話に否定的な語が含まれる場合に、「遷移」の正解ラベルを、対応するサンプルiに付与してもよい。なお、アノテータは、ユーザ発話を発しているユーザの画像を見て、正解ラベルcをサンプルiに付与してもよい。
サブセットは、サンプル集合Sから、サンプルiをランダムに抽出して各サブセットに割り当てることで、作成される。ここで、各サブセットの要素となるサンプルiの個数は、互いに同じとする。各サブセットの要素となるサンプルiの個数は、例えば数十個(例えば30個)である。なお、説明の明確化のため、図12の例では、各サブセットのサンプルiの個数を、4個としている。また、サブセット間でサンプルiが重複してもよい。また、サンプル集合S内の全てのサンプルiがサブセットに割り当てられなくてもよい。
図13は、各サンプルに付与される特徴ベクトルvを例示する図である。なお、図13に例示する特徴ベクトルは、一例にすぎず、他の様々な特徴ベクトルが可能である。図13に例示する特徴ベクトルは、17次元のベクトルであり、x〜x17の成分を有する。なお、これらのx〜x17の成分の値は、各成分の特徴量を正規化(無次元化)したものであり、最小値が0であり、最大値が1である。なお、次元4(x)の「句末200msecのf0の傾き」とは、句末200msecにおける基本周波数f0の変化量に対応する。具体的には、「句末200msecのf0の傾き」は、句末200msecの後半100msecにおける基本周波数f0の平均値から、句末200msecの前半100msecにおける基本周波数f0の平均値を減算した値に対応し得る。
図14は、図11のS34の処理によって生成される決定木(判定モデル)を例示する図である。図14の例では、Tree_1〜Tree_TのT本の決定木が生成される。決定木の深さDを過剰に深くすると過学習となるおそれがあるので、図14に例示する決定木の深さDは、最大で3となっている。例えば、Tree_1では、深さ1にノード2,3があり、深さ2にノード4〜7があり、深さ3にノード8,9がある。
また、例えば、Tree_1においては、ノード1が根ノードであり、ノード1から、ノード1の子ノードであるノード2とノード3とに分岐している。また、ノード2から、ノード2の子ノードであるノード4とノード5とに分岐し、ノード3から、ノード3の子ノードであるノード6とノード7に分岐している。さらに、ノード5から、ノード5の子ノードであるノード8とノード9とに分岐している。そして、ノード4,6,7,8,9が、末端ノード(太い線の円で示す)となっている。判定対象のユーザ発話の特徴ベクトルが根ノードであるノード1に入力されたときに、末端ノードであるノード4,6,7,8,9のいずれかに到達する。なお、末端ノード以外のノード1,2,3,5が、分岐ノード(細い線の円で示す)である。
ここで、分岐ノードには、特徴ベクトルがどちらの子ノードに分岐されるかを定義する分岐関数Fが割り当てられている。また、末端ノードには、その末端ノードに到達した特徴ベクトルが「遷移クラス」(又は「継続クラス」)に対応する確率Pが対応付けられている。以下、決定木の生成方法について説明する。
図15は、決定木の生成方法を示すフローチャートである。まず、あるサブセット(例えばサブセットS)のある分岐ノード(例えば根ノードであるノード1)について、K個の分岐関数候補Fc(Fc;k=1〜K)が、ランダムに生成される(ステップS340)。分岐関数候補Fcは、図13に例示した特徴ベクトルの成分(x〜x17)の少なくとも1つをパラメータとする関数である。このとき、分岐関数候補Fcについて、特徴ベクトルがどちらの子ノードに分岐されるかの境界となる閾値tが対応付けられる。なお、閾値tも、ランダムに生成され得る。なお、Kの値は、特徴ベクトルの次元数の平方根の近似値であってもよい。したがって、図13の例では、特徴ベクトルの次元数は17であるので、K=4である。
例えば、Fcをxの関数とし、対応する閾値tを0.4としてもよい。また、Fcをxの関数とし、対応する閾値tを0.3としてもよい。また、Fcをxの関数とし、対応する閾値tを0.6としてもよい。また、Fcをx17の関数とし、対応する閾値tを0.4としてもよい。
次に、各分岐関数候補Fcを用いて、サンプルiが分割される(ステップS342)。具体的には、以下の式2を用いて、分岐前のノード(親ノード)のサンプル集合Sのサンプルiが、左側の子ノードのサンプル集合S又は右側の子ノードのサンプル集合Sに分割される。
(式2)
Figure 0006731326
次に、情報利得Iの最も高い分岐関数候補Fcが、そのノードにおける分岐関数Fとして採用される(ステップS344)。具体的には、まず、分岐関数候補Fcごとに、以下の式3で示される情報利得Iを算出する。
(式3)
Figure 0006731326
ここで、H(S)は以下の式4で定義される集合Sのエントロピである。なお、Cは、クラスの数である。上記の例では、C=2であり、c=1を「遷移クラス」とし、c=2を「継続クラス」とする。また、以下の式において、Pは、集合Sにおけるクラスcの出現確率である。また、エントロピH(S)は、集合Sにおける各クラスの出現確率の偏りを示す。各クラスの出現確率の偏りが小さい場合に、エントロピは大きくなる。
(式4)
Figure 0006731326
図16は、2つの分岐関数候補Fcそれぞれについて分割された集合を例示する図である。以下に説明する例では、説明を明確化するため、分岐関数候補Fcが2個であるとする。親ノードの集合Sのサンプルが、分岐関数候補Fc(候補1)によって集合S 及び集合S に分割される。また、親ノードの集合Sのサンプルが、分岐関数候補Fc(候補2)によって集合S 及び集合S に分割される。図16の例では、親ノードの集合Sの8個のサンプルは、各分岐関数候補Fcによって、それぞれ4個のサンプルに分割されている。
この場合、親ノードの集合SのエントロピH(S)は、上記の式4を用いて、以下の式5のように算出される。
(式5)
Figure 0006731326
また、候補1についての分割後の集合S 及び集合S のエントロピは、上記の式4を用いて、以下の式6のように算出される。
(式6)
Figure 0006731326
また、候補2についての分割後の集合S 及び集合S のエントロピは、上記の式4を用いて、以下の式7のように算出される。
(式7)
Figure 0006731326
したがって、候補1の情報利得I及び候補2の情報利得Iは、上記の式3より、以下の式8のように算出される。
(式8)
Figure 0006731326
式8より、I<Iであるので、分岐関数候補Fcが、親ノードの分岐関数Fとして採用される。そして、集合S 及び集合S に対応するノードが、上記親ノードに対する子ノードとされる。つまり、親ノードが根ノードであるノード1である場合、集合S に対応するノードがノード2となり。集合S に対応するノードがノード3となる。
次に、処理は次のノードに移行する(ステップS346)。ここで、上記のように子ノードがある場合は、処理は子ノードに移行する。また、子ノードがない場合は、処理が終わっていない別のノードに移行する。そして、処理対象のノードのエントロピが0であるか、又はそのノードが指定された深さに到達したかが判定される(ステップS348)。処理対象のノードのエントロピが0であるか、又はそのノードが指定された深さに到達した場合(S348のYES)、そのノードが末端ノードと決定される。そして、末端ノードに割り当てられる、「遷移クラス」の出現確率Pが算出される(ステップS350)。一方、処理対象のノードのエントロピが0でなく、かつ、そのノードが指定された深さに到達していない場合(S348のNO)、そのノードは分岐ノードと決定される。したがって、このノードについて、S340〜S344の処理が繰り返される。
具体的には、図16に示した例では、集合S のエントロピは0である。したがって、この集合S に対応するノードが末端ノードと決定される。そして、このノードに割り当てられる「遷移クラス」の出現確率P(P=1)が算出される。なお、エントロピが0である場合、その末端ノードに関する「遷移クラス」の出現確率Pは1又は0である。
また、図16に示した例では、集合 のエントロピは0ではない。したがって、この集合 に対応するノードの深さが予め定められた深さ(図14の例では深さ3)に到達していなければ、このノードは分岐ノードであるとして、S340〜S344の処理が繰り返される。一方、この集合 に対応するノードの深さが予め定められた深さに到達している場合、このノードは末端ノードと決定される。そして、このノードに割り当てられる「遷移クラス」の出現確率P(P=1/4)が算出される。


次に、全てのサブセットについて決定木が生成されたか否かが判定される(ステップS352)。全てのサブセットについて決定木が生成されていない場合(S352のNO)、処理は、決定木が生成されていない次のサブセットに移行して(ステップS354)、S340〜S350の処理が繰り返される。一方、全てのサブセットについて決定木が生成された場合(S352のYES)、判定モデルが完成したので、処理が終了する。なお、複数の決定木の生成は、並行して行われ得る。つまり、Tree_1〜Tree_Tの生成を、同時に行うことが可能である。
次に、判定モデルを用いて、特徴ベクトルを分類する方法について説明する。
図17は、図14に例示した決定木(判定モデル)を用いて特徴ベクトルを分類する方法(図10のS304)を説明するための図である。まず、Tree_1に特徴ベクトルvが入力される。ノード1の分岐関数F (閾値t )に特徴ベクトルvが代入されると、F (v)≧t であるので、式2より、特徴ベクトルvは、右側の子ノード2に移行する。ノード2の分岐関数F (閾値t )に特徴ベクトルvが代入されると、F (v)<t であるので、式2より、特徴ベクトルvは、左側の子ノード5に移行する。ノード5の分岐関数F (閾値t )に特徴ベクトルvが代入されると、F (v)<t であるので、式2より、特徴ベクトルvは、左側の子ノード9に移行する。そして、ノード9は末端ノードであるので、Tree_1についての、特徴ベクトルvが各クラスに分類される確率は、ノード9に対応付けられたP(c|v)である。図17の例では、特徴ベクトルvが遷移クラスに分類される確率はP(c=1|v)=0.6であり、継続クラスに分類される確率はP(c=2|v)=0.4である。
また、Tree_Tに特徴ベクトルvが入力され、ノード1の分岐関数F (閾値t )に特徴ベクトルvが代入されると、F (v)<t であるので、式2より、特徴ベクトルvは、左側の子ノード3に移行する。ノード3の分岐関数F (閾値t )に特徴ベクトルvが代入されると、F (v)<t であるので、式2より、特徴ベクトルvは、左側の子ノード7に移行する。ノード7の分岐関数F (閾値t )に特徴ベクトルvが代入されると、F (v)≧t であるので、式2より、特徴ベクトルvは、右側の子ノード10に移行する。そして、ノード10は末端ノードであるので、Tree_Tについての、特徴ベクトルvが各クラスに分類される確率は、ノード10に対応付けられたP(c|v)である。図17の例では、特徴ベクトルvが遷移クラスに分類される確率はP(c=1|v)=0.8であり、継続クラスに分類される確率はP(c=2|v)=0.2である。このようにして、話題継続判定部110は、Tree_1〜Tree_Tについて、上記の処理を行う。
話題継続判定部110は、各決定木において算出された確率P(c|v)〜P(c|v)を用いて、以下の式9を用いて、統合された確率P(c|v)を算出する。
(式9)
Figure 0006731326
そして、話題継続判定部110は、特徴ベクトルvが、確率P(c|v)において最大値をとるcに対応するクラスに分類されると判定する。例えば、確率P(c=1|v)=0.7であり、確率P(c=2|v)=0.3である場合、話題継続判定部110は、特徴ベクトルvが、c=1に対応するクラス、つまり遷移クラスに分類されると判定する。
実施の形態3にかかる音声対話装置1においても、構文解析結果を用いなくても、ユーザ発話に対する非言語情報解析結果を用いて、話題を継続するか遷移するかを判定する。したがって、実施の形態1と同様に、実施の形態3にかかる音声対話装置1は、適切なタイミングで話題を遷移することが可能である。
さらに、実施の形態3においては、予め機械学習によって生成された判定モデルを用いて、話題を継続するか遷移するかを判定することが可能となる。ここで、機械学習によって生成された判定モデルを用いることで、より正確な識別を行うことが可能となる。したがって、話題を継続するか遷移するかの判定を、実施の形態2の場合と比較して、より正確に行うことが可能である。
なお、実施の形態3においては、予め判定モデルを準備しておく必要がある。したがって、実施の形態2の場合の方が、実施の形態3の場合と比較して、より容易に、上記の処理を実現することが可能である。
(変形例)
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、例えば、上述したフローチャートにおいて、複数の処理の順序は、適宜、変更可能である。また、上述したフローチャートにおいて、複数の処理のうちの1つは、省略されてもよい。また、話題を継続するか遷移するかの判定は、常に行われる必要はない。
また、上述した実施の形態においては、ユーザ発話について非言語情報解析を行うことで、話題を継続するか遷移するかを判定するとしたが、ユーザ発話についての非言語情報解析だけでなく、他の方法を併用することも可能である。例えば、音声対話装置1に搭載されたカメラによってユーザを撮影して得られたカメラ画像について画像認識処理を行い、その画像認識処理結果(例えばユーザの表情等)も用いてもよい。これにより、非言語情報解析結果のみを用いる場合と比較して、話題を継続するか遷移するかの判定を、より正確に行うことができる。
また、非言語情報解析部106の処理の一部は、構文解析部104でも行われ得る。つまり、構文解析部104は、構文解析を行う上で必要である場合は、非言語情報解析部106で行われる処理も行い得る。したがって、構文解析部104は、非言語情報解析部106の解析結果を用いて構文解析を行ってもよい。
1 音声対話装置、2 マイク、4 次元、4 スピーカ、10 制御装置、102 発話取得部、104 構文解析部、106 非言語情報解析部、110 話題継続判定部、120 応答生成部、130 話題誘導部、132 遷移質問データベース、140 深堀質問生成部、142 深堀質問データベース、150 音声出力部、152 応答履歴格納部

Claims (5)

  1. ユーザと音声を用いた対話を行う音声対話装置であって、
    前記ユーザの発話であるユーザ発話を取得する発話取得部と、
    前記取得されたユーザ発話の言語情報について構文解析を行う構文解析部と、
    前記ユーザ発話に応じて応答を生成する応答生成部と、
    前記ユーザに対して前記生成された応答に対応する音声を出力する音声出力部と、
    前記取得されたユーザ発話について、前記言語情報とは異なる非言語情報であって、前記ユーザ発話の韻律情報及び前記応答生成部によって生成された応答に関する履歴情報の少なくとも一方を含む非言語情報の解析を行う非言語情報解析部と、
    前記非言語情報解析部による解析結果である非言語情報解析結果に応じて、現在の対話の話題を継続するか否かを判定する話題継続判定部と
    を有し、
    前記非言語情報は、同一話題の継続時間である話題継続時間と、前記ユーザ発話における句末の基本周波数とを少なくとも含み、
    前記話題継続判定部は、前記話題継続時間が予め定められた第1の閾値よりも短い場合に、前記句末の基本周波数の正規化された値の最大値が予め定められた第2の閾値よりも小さいか否かを判定し、前記最大値が前記第2の閾値以上である場合に、話題を遷移すると判定し、
    前記応答生成部は、前記話題継続判定部による判定結果に応じて、応答を生成する
    音声対話装置。
  2. 前記応答生成部は、話題を遷移すると判定された場合に、話題を遷移するための質問である遷移質問を示す応答を生成し、
    前記第1の閾値及び前記第2の閾値の少なくとも一方は、前記遷移質問ごとに異なる
    請求項1に記載の音声対話装置。
  3. 前記話題継続判定部は、同一の話題の継続時間が予め定められた閾値以上である場合に、話題を遷移すると判定する
    請求項2に記載の音声対話装置。
  4. 前記話題継続判定部は、予め機械学習によって生成された判定モデルを用いて、前記非言語情報解析結果によって示される特徴が、話題を継続することに対応するか又は話題を遷移することに対応するかを識別することによって、話題を継続するか否かを判定する
    請求項1に記載の音声対話装置。
  5. ユーザと音声を用いた対話を行う音声対話装置を用いて行われる音声対話方法であって、
    前記ユーザの発話であるユーザ発話を取得し、
    前記取得されたユーザ発話の言語情報について構文解析を行い、
    前記取得されたユーザ発話について、前記言語情報とは異なる非言語情報であって、前記ユーザ発話の韻律情報及び前記音声対話装置によって生成された応答に関する履歴情報の少なくとも一方を含む非言語情報であって、同一話題の継続時間である話題継続時間と、前記ユーザ発話における句末の基本周波数とを少なくとも含む非言語情報の解析を行い、
    前記非言語情報の解析結果である非言語情報解析結果に応じて、現在の対話の話題を継続するか否かを判定し、前記話題継続時間が予め定められた第1の閾値よりも短い場合に、前記句末の基本周波数の正規化された値の最大値が予め定められた第2の閾値よりも小さいか否かを判定し、前記最大値が前記第2の閾値以上である場合に、話題を遷移すると判定し、
    前記判定の結果に応じて生成された応答に対応する音声を出力する
    音声対話方法。
JP2016213897A 2016-10-31 2016-10-31 音声対話装置及び音声対話方法 Active JP6731326B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016213897A JP6731326B2 (ja) 2016-10-31 2016-10-31 音声対話装置及び音声対話方法
US15/797,411 US10573307B2 (en) 2016-10-31 2017-10-30 Voice interaction apparatus and voice interaction method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016213897A JP6731326B2 (ja) 2016-10-31 2016-10-31 音声対話装置及び音声対話方法

Publications (2)

Publication Number Publication Date
JP2018072650A JP2018072650A (ja) 2018-05-10
JP6731326B2 true JP6731326B2 (ja) 2020-07-29

Family

ID=62022481

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016213897A Active JP6731326B2 (ja) 2016-10-31 2016-10-31 音声対話装置及び音声対話方法

Country Status (2)

Country Link
US (1) US10573307B2 (ja)
JP (1) JP6731326B2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019032996A1 (en) * 2017-08-10 2019-02-14 Facet Labs, Llc ORAL COMMUNICATION DEVICE AND COMPUTER ARCHITECTURE FOR PROCESSING DATA AND DELIVERING USER FEEDBACK OUTPUT, AND ASSOCIATED METHODS
JP6828667B2 (ja) * 2017-11-28 2021-02-10 トヨタ自動車株式会社 音声対話装置、音声対話方法及びプログラム
CN108415932B (zh) * 2018-01-23 2023-12-22 思必驰科技股份有限公司 人机对话方法及电子设备
CN110710158B (zh) * 2018-05-07 2022-08-09 谷歌有限责任公司 验证与数字助理应用交接的代理的操作状态
JP6969491B2 (ja) * 2018-05-11 2021-11-24 トヨタ自動車株式会社 音声対話システム、音声対話方法及びプログラム
JP7151181B2 (ja) * 2018-05-31 2022-10-12 トヨタ自動車株式会社 音声対話システム、その処理方法及びプログラム
JP7063779B2 (ja) * 2018-08-31 2022-05-09 国立大学法人京都大学 音声対話システム、音声対話方法、プログラム、学習モデル生成装置及び学習モデル生成方法
JP7142315B2 (ja) * 2018-09-27 2022-09-27 パナソニックIpマネジメント株式会社 説明支援装置および説明支援方法
CN109902834B (zh) * 2019-01-28 2021-02-05 北京怡凯智能技术有限公司 一种话题驱动的老人陪伴主动对话机器人
US20210272183A1 (en) * 2019-05-31 2021-09-02 Allstate Insurance Company Synchronized interactive voice response system and graphical user interface for automated roadside service
JP7187411B2 (ja) * 2019-09-12 2022-12-12 株式会社日立製作所 コーチングシステム及びコーチング方法
JP7347794B2 (ja) * 2019-11-29 2023-09-20 Necソリューションイノベータ株式会社 対話型情報取得装置、対話型情報取得方法、及びプログラム
RU2763047C2 (ru) * 2020-02-26 2021-12-27 Акционерное общество "Лаборатория Касперского" Система и способ классификации звонка

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08123474A (ja) * 1994-10-28 1996-05-17 Sony Corp 時系列パターン認識装置
JP2001188784A (ja) * 1999-12-28 2001-07-10 Sony Corp 会話処理装置および方法、並びに記録媒体
US20060179022A1 (en) * 2001-11-26 2006-08-10 Holland Wilson L Counterpart artificial intelligence software program
US8103505B1 (en) * 2003-11-19 2012-01-24 Apple Inc. Method and apparatus for speech synthesis using paralinguistic variation
JP2005170265A (ja) * 2003-12-12 2005-06-30 Matsushita Electric Ind Co Ltd 情報提供装置
US20060122834A1 (en) * 2004-12-03 2006-06-08 Bennett Ian M Emotion detection device & method for use in distributed systems
US20080066136A1 (en) * 2006-08-24 2008-03-13 International Business Machines Corporation System and method for detecting topic shift boundaries in multimedia streams using joint audio, visual and text cues
JP2009037050A (ja) * 2007-08-02 2009-02-19 Toyota Motor Corp 対話装置と対話用プログラム
US8698872B2 (en) * 2011-03-02 2014-04-15 At&T Intellectual Property I, Lp System and method for notification of events of interest during a video conference
JP6210934B2 (ja) 2014-05-26 2017-10-11 日本電信電話株式会社 話題変換検出装置、方法、及びプログラム
JP2017009826A (ja) * 2015-06-23 2017-01-12 トヨタ自動車株式会社 グループ状態判定装置およびグループ状態判定方法
JP6601069B2 (ja) * 2015-09-01 2019-11-06 カシオ計算機株式会社 対話制御装置、対話制御方法及びプログラム
US10884503B2 (en) * 2015-12-07 2021-01-05 Sri International VPA with integrated object recognition and facial expression recognition

Also Published As

Publication number Publication date
US10573307B2 (en) 2020-02-25
US20180122377A1 (en) 2018-05-03
JP2018072650A (ja) 2018-05-10

Similar Documents

Publication Publication Date Title
JP6731326B2 (ja) 音声対話装置及び音声対話方法
JP6633008B2 (ja) 音声対話装置及び音声対話方法
CN106971709B (zh) 统计参数模型建立方法和装置、语音合成方法和装置
Lee et al. Modeling mutual influence of interlocutor emotion states in dyadic spoken interactions.
EP2609587B1 (en) System and method for recognizing a user voice command in noisy environment
EP3594940B1 (en) Training method for voice data set, computer device and computer readable storage medium
CN107871499B (zh) 语音识别方法、系统、计算机设备及计算机可读存储介质
US11282495B2 (en) Speech processing using embedding data
Rybka et al. Comparison of speaker dependent and speaker independent emotion recognition
CN110473533B (zh) 语音对话系统、语音对话方法以及程序
JP2009037050A (ja) 対話装置と対話用プログラム
US11615787B2 (en) Dialogue system and method of controlling the same
EP4266306A1 (en) A speech processing system and a method of processing a speech signal
JP5007401B2 (ja) 発音評定装置、およびプログラム
CN112397053A (zh) 语音识别方法、装置、电子设备及可读存储介质
US11176943B2 (en) Voice recognition device, voice recognition method, and computer program product
US20230252971A1 (en) System and method for speech processing
JP4839970B2 (ja) 韻律識別装置及び方法、並びに音声認識装置及び方法
JP6772881B2 (ja) 音声対話装置
WO2011030372A1 (ja) 音声対話装置及びプログラム
JP4962930B2 (ja) 発音評定装置、およびプログラム
JP2020008730A (ja) 感情推定システムおよびプログラム
JP5066668B2 (ja) 音声認識装置、およびプログラム
CN117524229A (zh) 视频处理方法、装置、设备以及介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181102

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200302

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: 20200609

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200706

R150 Certificate of patent or registration of utility model

Ref document number: 6731326

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250