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

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

Info

Publication number
JP6633008B2
JP6633008B2 JP2017016581A JP2017016581A JP6633008B2 JP 6633008 B2 JP6633008 B2 JP 6633008B2 JP 2017016581 A JP2017016581 A JP 2017016581A JP 2017016581 A JP2017016581 A JP 2017016581A JP 6633008 B2 JP6633008 B2 JP 6633008B2
Authority
JP
Japan
Prior art keywords
filler
response
user
utterance
unit
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
JP2017016581A
Other languages
English (en)
Other versions
JP2018124425A (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 JP2017016581A priority Critical patent/JP6633008B2/ja
Priority to US15/841,608 priority patent/US10388279B2/en
Publication of JP2018124425A publication Critical patent/JP2018124425A/ja
Application granted granted Critical
Publication of JP6633008B2 publication Critical patent/JP6633008B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Description

本発明は、音声対話装置及び音声対話方法に関し、特に、ユーザと音声を用いた対話を行う音声対話装置及び音声対話方法に関する。
ユーザが音声対話ロボット等の音声対話装置と日常会話を楽しむための技術が普及しつつある。この技術にかかる音声対話ロボットは、ユーザが発声した音声を認識し、認識した音声に対応する回答を発話(出力)する。
上記の技術に関連し、特許文献1は、会話制御システムを開示する。特許文献1にかかる会話制御システムは、利用者の発話内容を構成する各形態素を特定し、特定した各形態素から把握される意味内容を解析して、解析した意味内容に関連付けられている予め作成された回答内容を取得することで、利用者の発話内容に対応する最適な回答内容を出力する。
特開2007−188510号公報
特許文献1にかかる技術のように、音声を認識し、形態素解析等を含む構文解析を行うと、多大な時間を消費することが多い。なぜならば、構文解析等の処理は、パターン認識等の多くの時間を必要とする処理を伴うからである。したがって、ユーザの発話について構文解析を行って、発話に対応する応答を行うまでに、長い時間がかかることがある。このような場合、ユーザが発声してから音声対話装置が応答するまでの時間が長くなり、ユーザが違和感を覚えるおそれがある。
このような場合に、ユーザが発声してから音声対話装置が応答するまでの間に、音声対話装置が、意味を持たない言いよどみ表現の音声であるフィラー(「えー」、「あのー」、「そのー」、「えーと」、「そうですねー」等)を出力する方法が考えられる。ここで、応答の生成には、構文解析結果を用いる必要がある場合と、構文解析結果を用いる必要がない場合とがあり得る。そして、上述したように、構文解析には多大な時間を要する。したがって、応答の生成に要する時間は、構文解析結果を用いる必要がある場合と、構文解析結果を用いる必要がない場合とで異なり得る。したがって、ユーザの発話から音声対話装置が応答するまでの時間は、ユーザの発話に応じて異なることがある。
このような場合において、音声対話装置が応答可能な時間の長さに対してかなり短いフィラーを出力すると、フィラーの出力が終了してから音声対話装置が応答するまでの間の時間が長くなり、上述したようなユーザの違和感を解消できないおそれがある。また、音声対話装置が応答可能な時間の長さに対して長いフィラーを出力すると、無駄にユーザを待たせることになり得る。このように、ユーザの発話に応じて、ユーザが発声してから音声対話装置が応答するまでの間に出力されるフィラーの長さが調整されていないと、ユーザの発話に応じた自然な対話を実現することが困難であった。
本発明は、ユーザの発話に応じた自然な対話を実現することが可能な音声対話装置及び音声対話方法を提供するものである。
本発明にかかる音声対話装置は、ユーザと音声を用いた対話を行う音声対話装置であって、前記ユーザの発話であるユーザ発話を取得する発話取得部と、前記取得されたユーザ発話の言語情報について構文解析を行う構文解析部と、前記ユーザ発話に応じて応答を生成する応答生成部と、前記ユーザに対して音声を出力する音声出力部と、前記取得されたユーザ発話について、前記言語情報とは異なる非言語情報であって、前記ユーザ発話の韻律情報及び前記応答生成部によって生成された応答に関する履歴情報の少なくとも一方を含む非言語情報の解析を行う非言語情報解析部と、前記非言語情報解析部による解析結果である非言語情報解析結果に応じて、前記音声出力部によって出力されるフィラーの長さを判定するフィラー長判定部と、前記フィラー長判定部の判定結果に応じた長さのフィラーを生成するフィラー生成部とを有し、前記フィラー長判定部は、前記応答の生成に前記構文解析部による解析結果である構文解析結果を用いる必要がある場合に、長いフィラーを生成させると判定し、前記応答の生成に前記構文解析結果を用いる必要がない場合に、短いフィラーを生成させると判定し、前記音声出力部は、前記フィラーを出力した後で、前記応答生成部によって生成された応答を出力する。
また、本発明にかかる音声対話方法は、ユーザと音声を用いた対話を行う音声対話装置を用いて行われる音声対話方法であって、前記ユーザの発話であるユーザ発話を取得し、前記取得されたユーザ発話の言語情報について構文解析を行い、前記取得されたユーザ発話について、前記言語情報とは異なる非言語情報であって、前記ユーザ発話の韻律情報及び前記音声対話装置によって生成された応答に関する履歴情報の少なくとも一方を含む非言語情報の解析を行い、前記非言語情報の解析結果である非言語情報解析結果に応じて、前記応答の生成に前記構文解析の解析結果である構文解析結果を用いる必要があるか否かを判定し、前記応答の生成に前記構文解析結果を用いる必要があると判定された場合に、長いフィラーを生成して出力し、前記応答の生成に前記構文解析結果を用いる必要がないと判定された場合に、短いフィラーを生成して出力し、前記フィラーを出力した後で、前記ユーザ発話に応じて生成された応答を出力する。
本発明は、上記のように構成されていることによって、ユーザ発話について構文解析よりも時間のかからない非言語情報解析の結果を用いて、応答の生成に構文解析結果を用いる必要があるか否かを判定する。そして、応答の生成に構文解析結果を用いる必要がある場合には長いフィラーを出力させ、応答の生成に構文解析結果を用いる必要がない場合には短いフィラーを出力させることができる。したがって、本発明は、ユーザの発話に応じて、ユーザの発話から応答までの間に出力されるフィラーの長さを調整することが可能となる。したがって、音声対話装置とユーザとの間で、より自然な対話を実現することが可能となる。
また、好ましくは、前記フィラー長判定部は、前記取得されたユーザ発話が前記音声対話装置に対する質問であるか否かを判定し、前記取得されたユーザ発話が前記音声対話装置に対する質問であると判定された場合に、前記フィラー長判定部は、長いフィラーを生成させると判定し、前記音声出力部は、前記フィラー生成部によって生成された長いフィラーを出力し、前記応答生成部は、前記構文解析結果を用いて、前記質問に対する回答を前記応答として生成し、前記音声出力部は、前記生成された回答を出力する。
ユーザ発話が音声対話装置に対する質問である場合に、その質問の回答を応答として生成するためには、構文解析結果を用いる必要がある。本発明は、上記のように構成されていることによって、質問の回答を応答として生成するときに、構文解析の完了までの間、長いフィラーを出力するので、対話の間が空くことを抑制することができる。
また、好ましくは、前記フィラー長判定部は、前記取得されたユーザ発話が前記音声対話装置に対する質問であるか否かを判定し、前記取得されたユーザ発話が前記音声対話装置に対する質問ではないと判定された場合に、前記フィラー長判定部は、短いフィラーを生成させると判定し、前記音声出力部は、前記フィラー生成部によって生成された短いフィラーを出力し、前記応答生成部は、前記構文解析結果を用いないで、別の話題に誘導させるための応答を生成し、前記音声出力部は、前記生成された応答を出力する。
ユーザ発話が音声対話装置に対する質問である場合に、別の話題に誘導させるための応答を生成するためには、構文解析結果を用いる必要がない。本発明は、上記のように構成されていることによって、構文解析結果を用いる必要がなくしたがって応答の生成に時間を要しない場合には、短いフィラーを出力するので、余計な長さのフィラーを出力することでユーザを待たせるといったことを防止して、すぐに応答することができる。
また、好ましくは、前記フィラー長判定部は、前記非言語情報解析結果に含まれる少なくとも1つの特徴量と、前記特徴量に対応する予め定められた閾値との比較に応じて、前記音声出力部によって出力されるフィラーの長さを判定する。
本発明は、上記のように構成されていることによって、ユーザの発話から応答までの間に出力されるフィラーの長さを調整することを、容易に実現することが可能である。
また、好ましくは、前記フィラー長判定部は、予め機械学習によって生成された判定モデルを用いて、前記非言語情報解析結果によって示される特徴が、前記応答の生成に前記構文解析結果を用いる必要があることに対応するか否かを識別することによって、前記フィラーの長さを判定する。
本発明は、上記のように構成されていることによって、ユーザの発話から応答までの間に出力されるフィラーの長さを調整することを、より正確に行うことが可能である。
本発明によれば、ユーザの発話に応じた自然な対話を実現することが可能な音声対話装置及び音声対話方法を提供できる。
実施の形態1にかかる音声対話装置のハードウェア構成を示す図である。 実施の形態1にかかる音声対話装置の構成を示すブロック図である。 実施の形態1にかかる非言語情報解析部によって生成される特徴ベクトルを例示する図である。 実施の形態1にかかる音声対話装置によってなされる音声対話方法を示すフローチャートである。 実施の形態1にかかる音声対話装置とユーザとの間でなされる対話の例を示す図である。 実施の形態2にかかるフィラー長判定部の処理を示すフローチャートである ユーザ発話長と、ユーザ発話が質問である場合及び質問ではない場合それぞれの頻度との関係を例示するグラフである。 実施の形態3にかかるフィラー長判定部の処理を示すフローチャートである。 ユーザ発話の句末500msecの基本周波数の正規化された値の標準偏差と、ユーザ発話が質問である場合及び質問ではない場合それぞれの頻度との関係を例示するグラフである。 実施の形態4にかかるフィラー長判定部の処理を示すフローチャートである。 実施の形態4にかかる判定モデルの生成方法を示すフローチャートである。 サンプル集合及びサブセットを例示する図である。 各サンプルに付与される特徴ベクトルを例示する図である。 図11のS44の処理によって生成される決定木(判定モデル)を例示する図である。 決定木の生成方法を示すフローチャートである。 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を介して、生成された応答に対応する音声(応答音声)を出力する。さらに、制御装置10は、対話の内容とは関係のないフィラーを生成して、スピーカ4を介して、生成されたフィラーを出力する。ここで、上述したように、フィラーとは、例えば、「えー」、「あのー」、「そのー」、「えーと」、「そうですねー」等の、意味を持たない言いよどみ表現の音声である。音声対話装置1は、ユーザが発声してから音声対話装置が応答するまでの間に、このフィラーを出力し得る。そして、本実施の形態においては、制御装置10は、ユーザ発話の解析結果に応じて、フィラーの長さを調整するように構成されている。詳しくは後述する。
図2は、実施の形態1にかかる音声対話装置1の構成を示すブロック図である。音声対話装置1は、発話取得部102と、構文解析部104と、非言語情報解析部106と、出力生成部110と、音声出力部150と、応答履歴格納部152とを有する。また、出力生成部110は、フィラー長判定部120と、フィラー生成部130と、応答生成部140とを有する。また、応答生成部140は、ユーザ質問回答部142と、回答データベース144(回答DB;Database)と、話題誘導部146と、質問データベース148(質問DB)とを有する。
図2に示す各構成要素は、マイク2、スピーカ4及び制御装置10の少なくとも1つによって実現可能である。また、各構成要素の少なくとも1つは、例えば、CPU12がROM14に記憶されたプログラムを実行することによって実現可能である。また、必要なプログラムを任意の不揮発性記録媒体に記録しておき、必要に応じてインストールするようにしてもよい。なお、各構成要素は、上記のようにソフトウェアによって実現されることに限定されず、何らかの回路素子等のハードウェアによって実現されてもよい。
発話取得部102は、マイク2を含み得る。発話取得部102は、ユーザ発話を取得する。具体的には、発話取得部102は、ユーザの発話を集音してデジタル信号に変換する。そして、発話取得部102は、ユーザ発話の音声データ(発話音声データ)を、構文解析部104及び非言語情報解析部106に対して出力する。
構文解析部104は、ユーザ発話の言語情報について構文解析を行う。また、構文解析部104は、構文解析の結果である構文解析結果を生成する。そして、構文解析部104は、構文解析結果を、出力生成部110に対して出力する。なお、言語情報とは、ユーザ発話を構成する文字列を示す情報である。
具体的には、構文解析部104は、ユーザ発話を示す発話音声データに対して、パターン認識等を用いて自然言語処理を行う。さらに具体的には、構文解析部104は、発話音声データに対して、音声認識処理、及び、形態素解析等を含む構文解析を行う。これにより、構文解析部104は、ユーザ発話の言語的な内容を認識することができる。例えば、ユーザ発話が「君は京都に行ったことある?」である場合、構文解析部104は、「君は京都に行ったことある?」という文字列を認識し、「君」(つまり音声対話装置1が実装されたロボット等)が、「京都」という場所に行ったことがあるか否かを、ユーザが質問しているといった、ユーザ発話の内容を認識し得る。
非言語情報解析部106は、ユーザ発話について、言語情報とは異なる非言語情報の解析を行う。また、非言語情報解析部106は、非言語情報の解析結果である非言語情報解析結果として、後述する特徴ベクトルを生成する。そして、非言語情報解析部106は、非言語情報解析結果(特徴ベクトル)を、出力生成部110のフィラー長判定部120に対して出力する。
ここで、非言語情報とは、処理対象のユーザ発話の言語情報(文字列)とは異なる情報であり、ユーザ発話の韻律情報、及び、応答履歴情報の少なくとも一方を含む。韻律情報とは、ユーザ発話の音声波形の特徴を示す情報であり、例えば、基本周波数、音圧、周波数等の変化量、変動帯域、振幅の最大値及び平均値等である。また、応答履歴情報とは、応答生成部140によって生成され、音声出力部150によって出力された応答(応答音声データ)に関する過去の履歴を示す情報である。応答履歴格納部152は、音声出力部150によって応答(応答音声データ)が出力されると、この応答履歴情報を格納(更新)する。
具体的には、非言語情報解析部106は、発話取得部102によって取得された発話音声データについて音声分析等を行って、音声波形から韻律情報を解析する。そして、非言語情報解析部106は、韻律情報を示す特徴量を示す値を算出する。なお、非言語情報解析部106は、発話音声データについて、例えば32msecごとに区切られたフレームごとに、基本周波数等を算出してもよい。また、非言語情報解析部106は、応答履歴格納部152から応答履歴情報を抽出して、応答履歴の特徴を示す特徴量を算出する。
なお、上述したように、構文解析は、パターン認識等を用いるため、多大な時間を要することが多い。一方、非言語情報の解析(韻律情報の解析及び応答履歴情報の解析)については、解析に用いられるデータ量が構文解析と比較して少なく、演算手法が、構文解析と比較して単純である。したがって、非言語情報の解析に要する時間は、構文解析と比較してかなり短くなり得る。
出力生成部110は、構文解析結果又は非言語情報解析結果を用いて、ユーザに対して出力する音声を示す音声データを生成する。具体的には、出力生成部110は、構文解析結果から、ユーザに対する応答を示す応答音声データを生成し得る。また、出力生成部110は、非言語情報解析結果から、フィラー(フィラーを示すフィラー音声データ)を生成し得る。そして、出力生成部110は、応答音声データ又はフィラー音声データを、音声出力部150に対して出力する。
ここで、応答は、ユーザの発話に応じて発せられる音声であり、例えば、「相槌」、「傾聴応答」、「質問」及び「回答」を含む。一方、「フィラー」は、言いよどみの音声であって、通常、「フィラー」が発せられた後に「応答」が発せられる。言い換えると、「フィラー」は、「応答」の前に、場つなぎとして発せられ得る。出力生成部110は、例えば予め定められた設定条件等に応じて、どの応答タイプとするかを決定し、その応答タイプに対応する具体的な音声データを決定する。
「相槌」は、ユーザの話を聞いているということを示す音声であって、例えば「うん」、「はい」、「うんうん」、「ええ」等の、ユーザ発話の内容とは関係のない音声を含む。「傾聴応答」は、ユーザの話を聞いているということを示す音声であって、ユーザ発話の内容に応じた音声であり得る。傾聴応答は、例えばユーザ発話に対するおうむ返しの応答を含む。また、例えば、ユーザ発話が「今度京都に連れて行ってあげるよ」である場合、傾聴応答は、「それは嬉しいね」であってもよい。また、「質問」は、ユーザに対して何かを聞くための音声である。質問は、「深堀質問」及び「話題誘導」を含む。「深堀質問」は、ユーザ発話に対してさらに詳しいことを聞き出すための音声である。例えば、「深堀質問」は、「もっと詳しく聞かせてもらえますか?」であってもよい。また、「話題誘導」は、現在の対話における話題を転換させるように、次の話題に誘導するための音声である。また、「回答」は、ユーザ発話が、音声対話装置1(音声対話装置1が実装されたロボット等)に対する質問である場合に、その質問に対する回答を示す音声である。
なお、本実施の形態においては、ユーザと音声対話装置1との対話において話題を提供するのは、音声対話装置1であるとする。このとき、音声対話装置1は、「話題誘導」の応答によって、話題を提供する。ここで、「話題誘導」は、直前のユーザ発話とは関係のない音声である。したがって、「話題誘導」は、ユーザ発話の内容を構文解析によって解析しなくても、生成され得る。一方、「回答」は、ユーザ発話における質問の回答であるので、構文解析によってユーザ発話の内容を解析しないと、生成され得ない。
音声出力部150は、スピーカ4を含み得る。音声出力部150は、出力生成部110から受け付けたフィラー音声データ又は応答音声データを、アナログ信号に変換する。そして、音声出力部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」は「話題誘導」を示す。
次に、出力生成部110(図2)の構成について説明する。なお、図2に示された出力生成部110の構成要素は、フィラーを生成する場合におけるものである。しかしながら、フィラーは、全てのユーザ発話に対して生成されなくてもよい。フィラーを生成しない場合、出力生成部110は、上述したように、構文解析結果から、応答音声データを生成する。
フィラー長判定部120は、非言語情報解析結果に応じて、音声出力部150によって出力されるフィラーの長さ(フィラー長)を判定する。つまり、フィラー長判定部120は、非言語情報解析結果に応じてフィラー長を調整する。ここで、フィラー長判定部120は、非言語情報解析結果から、応答を生成するのに構文解析結果を用いる必要があるか否かを判定する。そして、フィラー長判定部120は、応答を生成するのに構文解析結果を用いる必要がある場合に、長いフィラー(長フィラー)を生成させると判定する。一方、フィラー長判定部120は、応答を生成するのに構文解析結果を用いる必要がない場合に、短いフィラー(短フィラー)を生成させると判定する。フィラー長判定部120は、この判定結果(「長フィラー」生成指示又は「短フィラー」生成指示)を、フィラー生成部130に対して出力する。なお、フィラー長判定部120が非言語情報解析結果を用いて行う判定方法の具体例については、後述する他の実施の形態で示す。例えば、このフィラー長判定部120によってなされる判定方法は、予め設定された判別式を用いてなされてもよいし、予め機械学習によって生成された判定モデルを用いてなされてもよい。
なお、本実施の形態においては、構文解析結果を用いる必要がある応答とは、応答タイプが「回答」である場合の応答である。つまり、構文解析結果を用いる必要がある場合とは、ユーザ発話が、相手(音声対話装置1)に対する質問を示す場合である。また、構文解析結果を用いる必要がない応答とは、応答タイプが「質問」であり質問タイプが「話題誘導」である場合の応答である。つまり、構文解析結果を用いる必要がある場合とは、ユーザ発話が、相手(音声対話装置1)に対する質問を示さない場合である。しかしながら、上記はあくまでも一例であって、構文解析結果を用いる必要がある応答及び構文解析結果を用いる必要がない応答については、ユーザ発話の状況、又は出力生成部110の設定条件等に応じて、適宜、変更され得る。
フィラー生成部130は、フィラー長判定部120の判定結果に応じた長さのフィラーを生成する。つまり、フィラー生成部130は、フィラー長判定部120の判定結果に応じて、長フィラー又は短フィラーを示すフィラー音声データを生成する。具体的には、フィラー生成部130は、予め格納された長フィラー及び短フィラーのデータベースから、ランダムに、長フィラー又は短フィラーを選択してもよい。そして、フィラー生成部130は、生成されたフィラー(フィラー音声データ)を、音声出力部150に対して出力する。これにより、フィラー長判定部120の判定結果に応じた長さのフィラーが出力される。例えば、長フィラーの例は、「えっと、僕に質問してくれたんだね」といった音声である。また、短フィラーの例は、「えっと」といった音声である。
さらに、フィラー生成部130は、長フィラーを生成した場合に、長フィラーの出力が終了したことを示す長フィラー出力終了信号を、ユーザ質問回答部142に対して出力する。また、フィラー生成部130は、短フィラーを生成した場合に、短フィラーの出力が終了したことを示す短フィラー出力終了信号を、話題誘導部146に対して出力する。
ここで、フィラー生成部130は、構文解析部104による構文解析が終了する前に、フィラーを生成する。そして、音声出力部150は、構文解析部104による構文解析が終了する前に、フィラーを出力する。したがって、フィラー生成部130によって生成されるフィラーは、ユーザ発話の内容によらないものであり得る。
応答生成部140は、フィラー生成部130によって生成されたフィラー(フィラー音声データ)が出力された後で音声出力部150によって出力される応答(応答音声データ)を生成する。ユーザ質問回答部142は、フィラー生成部130から長フィラー出力終了信号を受け付けたときに、ユーザ発話の「質問」に対する「回答」を生成する。このとき、ユーザ質問回答部142は、構文解析部104による構文解析結果を用いて、「回答」を生成する。また、回答データベース144は、「回答」を示す応答音声データの例(テンプレートであってもよい)を予め格納している。
具体的には、ユーザ質問回答部142は、構文解析結果を用いて、ユーザ発話の質問の内容を判断する。ユーザ質問回答部142は、質問の回答となる回答情報を判定する。そして、ユーザ質問回答部142は、回答データベース144に格納されたデータから、その回答情報に対応する回答を示す応答音声データを選択(抽出)する。さらに、ユーザ質問回答部142は、選択された応答音声データを、音声出力部150に対して出力する。これにより、ユーザ発話の質問に対する回答を示す音声が、音声出力部150によって出力される。
例えば、ユーザ発話が「君は京都に行ったことある?」である場合、ユーザ質問回答部142は、そのユーザ発話の質問の回答となる情報(音声対話装置1が実装されたロボット等が京都に行ったことがあるのか否か)を判断する。そして、例えば、ユーザ質問回答部142は、回答データベース144から、「僕は行ったことがないと思う」という回答を示す応答音声データを抽出する。
なお、ユーザ質問回答部142は、回答データベース144を用いないで、「回答」を示す応答音声データを生成してもよい。また、ユーザ質問回答部142は、回答データベース144に格納された未完成のデータ(テンプレート等)を用いて、「回答」を示す応答音声データを生成してもよい。
話題誘導部146は、フィラー生成部130から短フィラー出力終了信号を受け付けたときに、次の話題を促す「話題誘導」の応答を生成する。具体的には、話題誘導部146は、質問データベース148を用いて、「話題誘導」を示す応答音声データを生成する。質問データベース148は、別の話題に誘導するための話題誘導質問を示す複数の応答音声データを予め記憶している。話題誘導部146は、質問データベース148に記憶された複数の話題誘導質問から、順番に、又はランダムに、応答のための質問(応答音声データ)を選択する。そして、話題誘導部146は、選択された応答音声データを、音声出力部150に対して出力する。これにより、話題誘導質問を示す音声が、音声出力部150によって出力される。なお、話題誘導部146は、構文解析結果を用いないで、「話題誘導」の応答を生成する。したがって、話題誘導の応答は、取得されたユーザ発話の内容とは関係がなくてもよい。
例えば、ユーザ発話が「うんうん」だったとする。このとき、フィラー長判定部120は、非言語情報解析結果から、短フィラーを生成すると判定する。したがって、フィラー生成部130によって生成された短フィラー(例えば「えっと」等)の出力が終わった後、話題誘導部146は、ユーザ発話に関係なく、例えば「リハビリの調子はどう?」といった、次の話題を促す「話題誘導」の応答を生成する。
ここで、話題誘導部146がフィラー生成部130から短フィラー出力終了信号を受け付けたとき、構文解析部104による構文解析は完了していない可能性があるが、話題誘導部146は、構文解析結果を用いないで「話題誘導」の応答を生成する。したがって、話題誘導部146が「話題誘導」の応答を生成する場合、構文解析部104による構文解析は、完了前に途中で終了してもよい。また、構文解析部104による構文解析結果は、破棄されてもよい。
図4は、実施の形態1にかかる音声対話装置1によってなされる音声対話方法を示すフローチャートである。また、図5は、実施の形態1にかかる音声対話装置1とユーザとの間でなされる対話の例を示す図である。なお、図5において、奇数の発話No(発話番号)の発話が、音声対話装置1が出力した発話(音声)であり、偶数の発話Noの発話が、ユーザが発した発話(ユーザ発話)である。また、図5に示す例では、音声対話装置1は、発話No.5及び発話No.9の発話において、フィラーを生成するとする。
まず、発話取得部102は、上述したようにユーザ発話を取得する(ステップS102)。そして、構文解析部104は、上述したように、取得されたユーザ発話について構文解析を行い(ステップS104)、非言語情報解析部106は、取得されたユーザ発話について、非言語情報(韻律情報及び応答履歴情報)の解析を行う(ステップS106)。ここで、S104の処理及びS106の処理は、並行して行われ得る。そして、S104の処理及びS106の処理の開始のタイミングは、同じであってもよいし、S106の処理の方が早くてもよい。そして、S106の処理は、次のS108の処理の前に完了する。一方、S104の処理は、後述するS122(又はS132)の処理が開始したときであっても、完了する必要はない。
S106の処理(非言語情報の解析処理)が完了すると、フィラー長判定部120は、上述したように、非言語情報解析結果を用いて、音声出力部150によって出力されるフィラーの長さを判定する。つまり、フィラー長判定部120は、非言語情報解析結果を用いて、ユーザ発話に対する応答を生成するのに構文解析結果を用いる必要があるか否かを判定する(ステップS108)。
ここで、上述したように、本実施の形態では、ユーザ発話に対する応答を生成するのに構文解析結果を用いる必要がある場合とは、ユーザ発話が、相手(音声対話装置1)に対する質問を示す場合である。したがって、フィラー長判定部120は、非言語情報解析結果を用いて、ユーザ発話が質問を示すか否か、つまり、ユーザが音声対話装置1に対して質問したか否かを判定する。よって、フィラー長判定部120は、非言語情報解析結果を用いて、ユーザ発話が、ユーザが質問した場合の特徴を有しているか否かを判定する。
そして、フィラー長判定部120は、応答を生成するのに構文解析結果を用いる必要がある場合、つまりユーザ発話がユーザの音声対話装置1に対する質問を示す場合に、長フィラーを生成させると判定する(ステップS110のYES)。一方、フィラー長判定部120は、応答を生成するのに構文解析結果を用いる必要がない場合、つまりユーザ発話がユーザの音声対話装置1に対する質問を示さない場合に、短フィラーを生成させると判定する(ステップS110のNO)。
例えば、図5に例示した対話において、発話No.2のユーザ発話「君は京都に行ったことある?」に対して、フィラー長判定部120は、非言語情報解析結果を用いて、このユーザ発話がユーザの音声対話装置1に対する質問を示すと判定する。したがって、フィラー長判定部120は、応答を生成するのに構文解析結果を用いる必要があると判定し、長フィラーを生成させると判定する(S110のYES)。また、図5に例示した対話において、発話No.8のユーザ発話「うんうん」に対して、フィラー長判定部120は、非言語情報解析結果を用いて、このユーザ発話がユーザの音声対話装置1に対する質問を示さないと判定する。したがって、フィラー長判定部120は、応答を生成するのに構文解析結果を用いる必要がないと判定し、短フィラーを生成させると判定する(S110のNO)。
長フィラーを生成させると判定された場合(S110のYES)、フィラー生成部130は、長フィラー「えっと、僕に質問してくれたんだね」(図5の発話No.3)を示すフィラー音声データを生成し、音声出力部150は、この生成された長フィラーを出力する(ステップS122)。そして、長フィラーの出力が終了すると、ユーザ質問回答部142は、構文解析結果を用いて、ユーザ発話による質問の回答「僕は行ったことないと思う」(図5の発話No.5)を示す応答音声データを生成し、音声出力部150は、質問の回答を出力する(ステップS124)。なお、発話No.4のユーザ発話「うん」については、長フィラーが出力されている最中、つまり構文解析が行われている最中のユーザの発話であるので、音声対話装置1は、何らの処理も行わなくてもよい。
一方、短フィラーを生成させると判定された場合(S110のNO)、フィラー生成部130は、短フィラー「えーと」(図5の発話No.9−1)を示すフィラー音声データを生成し、音声出力部150は、この生成された短フィラーを出力する(ステップS132)。そして、短フィラーの出力が終了すると、話題誘導部146は、構文解析結果を用いないで、次の話題に誘導する質問「リハビリの調子はどう?」(図5の発話No.9−2)を示す応答音声データを生成し、音声出力部150は、話題誘導質問を出力する(ステップS134)。
そして、S124の処理及びS134の処理の後、応答履歴格納部152は、応答履歴を更新する(ステップS140)。具体的には、長フィラーが生成された場合(S110のYES、S122、S124)、音声対話装置1の応答タイプは「回答」であるので、応答履歴格納部152は、最新(図5の例では発話No.3)の応答タイプを「回答」と記憶する。なお、応答タイプが「質問」ではないので、質問タイプについては更新されない。そして、応答履歴格納部152は、話題継続時間については、時間のカウントを継続する。一方、短フィラーが生成された場合(S110のNO、S132、S134)、音声対話装置1の応答タイプは「質問」であるので、応答履歴格納部152は、最新(図5の例では発話No.9)の応答タイプを「質問」と記憶する。そして、この質問タイプは「話題誘導」であるので、最新の質問タイプを「話題誘導」と記憶する。また、応答履歴格納部152は、話題継続時間については、時間のカウントを終了し、新たな時間のカウントを開始する。
図5に示された発話No.2のように、ユーザ発話が質問を示し、したがって音声対話装置1の応答がその質問の回答である場合、音声対話装置1が回答を生成するためには、ユーザ発話の質問内容を認識する必要がある。したがって、音声対話装置1の応答は、ユーザ発話についての構文解析結果を用いて生成される必要がある。したがって、ユーザが発話してから音声対話装置1が応答するまでの間に、長い時間T1を要する。
一方、図5に示された発話No.8のように、ユーザ発話が質問ではなく、したがって音声対話装置1の応答が話題誘導質問である場合、音声対話装置1が回答を生成するために、ユーザ発話の質問内容を認識する必要はない。したがって、音声対話装置1の応答は、ユーザ発話についての構文解析結果を用いて生成される必要はない。したがって、音声対話装置1の応答の生成のために、構文解析の完了を待つ必要はない。したがって、ユーザが発話してから音声対話装置1が応答するまでの間の時間T2は、時間T1よりも短くてよい。
本実施の形態にかかる音声対話装置1は、上述したように、ユーザ発話について構文解析よりも時間のかからない非言語情報解析の結果を用いて、応答の生成に構文解析結果を用いる必要があるか否かを判定する。そして、音声対話装置1は、応答の生成に構文解析結果を用いる必要がある場合には長いフィラーを出力することで、構文解析の完了までの間、対話の間が空くことを抑制することができる。一方、音声対話装置1は、応答の生成に構文解析結果を用いる必要がない場合には短いフィラーを出力することで、応答の生成に時間を要しない場合には、余計な長さのフィラーを出力することでユーザを待たせるといったことを防止して、すぐに応答することができる。このように、本実施の形態にかかる音声対話装置1は、ユーザの発話に応じて、ユーザの発話から応答までの間に出力されるフィラーの長さを調整することが可能となる。これにより、音声対話装置1とユーザとの間で、より自然な対話を実現することが可能となる。
(実施の形態2)
次に、実施の形態2について説明する。実施の形態2においては、フィラー長判定部120の処理が、実施の形態1と比較して、より具体的に示されている。具体的には、実施の形態2にかかるフィラー長判定部120は、非言語情報解析結果のうちの、判定対象のユーザ発話のユーザ発話長L1(図3のvi5)を用いて、フィラー長を判定する。なお、実施の形態2にかかる音声対話装置1の構成については、図1及び図2に示した実施の形態1にかかる音声対話装置1の構成と実質的に同様であるので、説明を省略する。
図6は、実施の形態2にかかるフィラー長判定部120の処理を示すフローチャートである。図6に示すフローチャートは、図4に示したフローチャートのS108及びS110の処理の具体例に対応する。フィラー長判定部120は、ユーザ発話長L1が予め定められた閾値Lth0よりも大きいか否かを判定する(ステップS202)。ユーザ発話長L1が閾値Lth0よりも大きい場合(S202のYES)、フィラー長判定部120は、他の方法でフィラー長を判定する(ステップS204)。ここで、「他の方法」とは、後述する実施の形態3にかかる方法であってもよい。なお、閾値Lth0は、この閾値Lth0を超えた場合にはユーザ発話が質問であることが想定しにくいことを示している。しかしながら、このS202の処理は、なくても構わない。
一方、ユーザ発話長L1が閾値Lth0以下である場合(S202のNO)、フィラー長判定部120は、ユーザ発話長L1が予め定められた閾値Lth1よりも大きいか否かを判定する(ステップS206)。ユーザ発話長L1が閾値Lth1よりも大きい場合(S206のYES)、フィラー長判定部120は、ユーザ発話が質問を示す、つまりユーザが質問をしたと判定する。したがって、フィラー長判定部120は、応答の生成に構文解析結果が必要であるので、長フィラーを生成すると判定する(ステップS208)。そして、処理は、図4のS122に進む。
一方、ユーザ発話長L1が閾値Lth1以下である場合(S206のNO)、フィラー長判定部120は、ユーザ発話が質問を示さない、つまりユーザが質問をしていないと判定する。したがって、フィラー長判定部120は、応答の生成に構文解析結果が必要でないので、短フィラーを生成すると判定する(ステップS210)。そして、処理は、図4のS132に進む。なお、閾値Lth0及び閾値Lth1の設定方法については、後述する図7を用いて説明する。
図7は、ユーザ発話長と、ユーザ発話が質問である場合及び質問ではない場合それぞれの頻度との関係を例示するグラフである。図7は、事前にサンプルとして抽出した複数のユーザ発話のそれぞれについてまとめた統計データである。例えば、ユーザ発話長が1sec未満である場合にそのユーザ発話が質問である(したがって長フィラーを生成すべきである)頻度は、0である。一方、ユーザ発話長が1sec未満である場合にそのユーザ発話が質問でない(したがって短フィラーを生成すべきである)頻度は、8である。したがって、この場合、ユーザ発話が質問でない頻度の方が、ユーザ発話が質問である頻度よりも大きいので、短フィラーが生成され得る。このように、ユーザ発話長があまりにも短い場合は、そのユーザ発話は、単なる相槌等であって、質問ではない可能性が高い傾向にある。
同様に、ユーザ発話長が1sec以上かつ2sec未満である場合にそのユーザ発話が質問である(したがって長フィラーを生成すべきである)頻度は、5である。一方、ユーザ発話長が1sec以上かつ2sec未満である場合にそのユーザ発話が質問でない(したがって短フィラーを生成すべきである)頻度は、1である。したがって、この場合、ユーザ発話が質問である頻度の方が、ユーザ発話が質問でない頻度よりも大きいので、長フィラーが生成され得る。このように、ユーザ発話長がある程度長い場合は、そのユーザ発話は、質問である可能性が高い傾向にある。
図7に例示するように、短フィラーの生成区間と長フィラーの生成区間とのユーザ発話長の境界値は、1.05secである。したがって、Lth1=1.05と設定される。また、ユーザ発話長が4.0を超えた場合に、ユーザ発話が質問を示すことが想定しにくいので、Lth0=4.0と設定される。なお、上記の閾値(境界値)は、音声対話装置1の話題誘導部146によって提供される話題(例えば旅行の雑談等)に応じて、適宜、変更され得る。したがって、音声対話装置1は、質問データベース148に格納された質問ごとに、閾値Lth0及び閾値Lth1を記憶していてもよい。また、上記の閾値は、発話の個別言語(日本語、英語、仏語等)によっても異なり得る。したがって、音声対話装置1は、質問データベース148に格納された質問及び個別言語ごとに、閾値Lth0及び閾値Lth1を記憶していてもよい。
実施の形態2にかかる音声対話装置1においても、ユーザ発話について構文解析よりも時間のかからない非言語情報解析の結果(ユーザ発話長L1)を用いて、応答の生成に構文解析結果を用いる必要があるか否かを判定する。そして、実施の形態2にかかる音声対話装置1は、ユーザの発話に応じて、ユーザの発話から応答までの間に出力されるフィラーの長さを調整することが可能となる。これにより、実施の形態2においても、音声対話装置1とユーザとの間で、より自然な対話を実現することが可能となる。
さらに、実施の形態2においては、予め定められた単純な判別式(S206の処理に対応)を用いて、応答の生成に構文解析結果を用いる必要があるか否かを判定し、ユーザの発話から応答までの間に出力されるフィラーの長さを調整することが可能となる。つまり、実施の形態2においては、フィラー長判定部120は、非言語情報解析結果に含まれる特徴量(ユーザ発話長L1)と、その特徴量に対応する予め定められた閾値(Lth1等)との比較に応じて、フィラーの長さを調整する。したがって、ユーザの発話から応答までの間に出力されるフィラーの長さを調整することを、容易に実現することが可能である。
(実施の形態3)
次に、実施の形態3について説明する。実施の形態3においては、フィラー長判定部120の処理が、実施の形態1と比較して、より具体的に示されている。具体的には、実施の形態3にかかるフィラー長判定部120は、非言語情報解析結果のうちの、判定対象のユーザ発話の句末の500msecにおける基本周波数f0500(図3のvi1)を用いて、フィラー長を判定する。なお、実施の形態3にかかる音声対話装置1の構成については、図1及び図2に示した実施の形態3にかかる音声対話装置1の構成と実質的に同様であるので、説明を省略する。
図8は、実施の形態3にかかるフィラー長判定部120の処理を示すフローチャートである。図8に示すフローチャートは、図4に示したフローチャートのS108及びS110の処理の具体例に対応する。フィラー長判定部120は、ユーザ発話の句末500msecの基本周波数f0500の正規化された値f0z500の標準偏差σ(f0z500)が予め定められた閾値Sth1よりも小さいか否かを判定する(ステップS302)。具体的には、フィラー長判定部120は、非言語情報解析結果(特徴ベクトル)から標準偏差σ(f0z500)を算出し、算出された標準偏差σ(f0z500)と閾値Sth1とを比較する。なお、標準偏差σ(f0z500)の算出は、非言語情報解析部106によって行われてもよい。
ここで、基本周波数f0500の正規化値f0z500は、以下の式1を用いて算出される。ここで、事前発話の基本周波数f0500をf0pre 500とする。「事前発話」とは、判定対象のユーザ発話よりも前にそのユーザが発声した発話のことである。事前とは、1分前であってもよいし、10分前であってもよいし、前日であってもよい。
(式1)
Figure 0006633008
標準偏差σ(f0z500)が閾値Sth1よりも小さい場合(S302のYES)、フィラー長判定部120は、フィラー長判定部120は、ユーザ発話が質問を示す、つまりユーザが質問をしたと判定する。したがって、フィラー長判定部120は、応答の生成に構文解析結果が必要であるので、長フィラーを生成すると判定する(ステップS304)。そして、処理は、図4のS122に進む。
一方、標準偏差σ(f0z500)が閾値Sth1以上である場合(S302のNO)、フィラー長判定部120は、ユーザ発話が質問を示さない、つまりユーザが質問をしていないと判定する。したがって、フィラー長判定部120は、応答の生成に構文解析結果が必要でないので、短フィラーを生成すると判定する(ステップS306)。そして、処理は、図4のS132に進む。なお、閾値Sth1の設定方法については、後述する図9を用いて説明する。
図9は、ユーザ発話の句末500msecの基本周波数f0500の正規化された値f0z500の標準偏差σ(f0z500)と、ユーザ発話が質問である場合及び質問ではない場合それぞれの頻度との関係を例示するグラフである。図9は、事前にサンプルとして抽出した複数のユーザ発話のそれぞれについてまとめた統計データである。例えば、標準偏差σ(f0z500)が0.2未満である場合にそのユーザ発話が質問である(したがって長フィラーを生成すべきである)頻度は、4である。一方、標準偏差σ(f0z500)が0.2未満である場合にそのユーザ発話が質問でない(したがって短フィラーを生成すべきである)頻度は、2である。したがって、この場合、ユーザ発話が質問である頻度の方が、ユーザ発話が質問でない頻度よりも大きいので、長フィラーが生成され得る。このように、標準偏差σ(f0z500)が小さい場合は、そのユーザ発話は、質問である可能性が高い傾向にある。
同様に、標準偏差σ(f0z500)が0.6以上かつ1未満である場合にそのユーザ発話が質問である(したがって長フィラーを生成すべきである)頻度は、1である。一方、標準偏差σ(f0z500)が0.6以上かつ1未満である場合にそのユーザ発話が質問でない(したがって短フィラーを生成すべきである)頻度は、3である。したがって、この場合、ユーザ発話が質問でない頻度の方が、ユーザ発話が質問である頻度よりも大きいので、短フィラーが生成され得る。このように、標準偏差σ(f0z500)が大きい場合は、そのユーザ発話は、単なる相槌等であって、質問ではない可能性が高い傾向にある。
図9に例示するように、短フィラーの生成区間と長フィラーの生成区間との標準偏差σ(f0z500)の境界値は、0.59である。したがって、Sth1=0.59とする。なお、上記の閾値(境界値)は、音声対話装置1の話題誘導部146によって提供される話題に応じて、適宜、変更され得る。したがって、音声対話装置1は、質問データベース148に格納された質問ごとに、閾値SLth1を記憶していてもよい。また、上記の閾値は、発話の個別言語(日本語、英語、仏語等)によっても異なり得る。したがって、音声対話装置1は、質問データベース148に格納された質問及び個別言語ごとに、閾値Sth1を記憶していてもよい。
実施の形態3にかかる音声対話装置1においても、ユーザ発話について構文解析よりも時間のかからない非言語情報解析の結果(基本周波数f0)を用いて、応答の生成に構文解析結果を用いる必要があるか否かを判定する。そして、実施の形態3にかかる音声対話装置1は、ユーザの発話に応じて、ユーザの発話から応答までの間に出力されるフィラーの長さを調整することが可能となる。これにより、実施の形態3においても、音声対話装置1とユーザとの間で、より自然な対話を実現することが可能となる。
さらに、実施の形態2と同様に、実施の形態3においては、予め定められた単純な判別式(S302の処理に対応)を用いて、応答の生成に構文解析結果を用いる必要があるか否かを判定し、ユーザの発話から応答までの間に出力されるフィラーの長さを調整することが可能となる。つまり、実施の形態3においては、フィラー長判定部120は、非言語情報解析結果に含まれる特徴量(基本周波数の標準偏差)と、その特徴量に対応する予め定められた閾値(Sth1等)との比較に応じて、フィラーの長さを調整する。したがって、ユーザの発話から応答までの間に出力されるフィラーの長さを調整することを、容易に実現することが可能である。
(実施の形態4)
次に、実施の形態4について説明する。実施の形態4においては、フィラー長判定部120の処理が、実施の形態1と比較して、より具体的に示されている。具体的には、実施の形態4にかかるフィラー長判定部120は、予め機械学習(ランダムフォレスト等)によって生成された判定モデルを用いて、フィラー長を判定する。より具体的には、フィラー長判定部120は、判定モデルを用いて、非言語情報解析結果によって示される特徴(特徴ベクトルの成分)が、応答の生成に構文解析結果を用いる必要がある(つまりユーザ発話が質問である)ことに対応するか否かを識別(分類)する。これによって、フィラー長判定部120は、フィラー長を判定する。なお、実施の形態4にかかる音声対話装置1の構成については、図1及び図2に示した実施の形態1にかかる音声対話装置1の構成と実質的に同様であるので、説明を省略する。
図10は、実施の形態4にかかるフィラー長判定部120の処理を示すフローチャートである。図10に示すフローチャートは、図4に示したフローチャートのS108及びS110の処理の具体例に対応する。フィラー長判定部120は、判定対象のユーザ発話の特徴ベクトルvを、判定モデルに入力する(ステップS402)。なお、上述したように、特徴ベクトルvは、非言語情報解析結果に対応する。つまり、特徴ベクトルvは、非言語情報解析部106によって生成され得る。また、判定モデルは、対応するユーザ発話が質問であることを特徴ベクトルが示すか否かを判定するための、決定木で構成されている。判定モデルについては後述する。
フィラー長判定部120は、特徴ベクトルvが、「質問クラス」に分類されるか否かを判定する(ステップS404)。ここで、「質問クラス」とは、判定モデルによってクラス分けされたクラス(カテゴリ)の1つである。ここでは、判定モデルでクラス分けされるクラスには、「質問クラス」及び「非質問クラス」がある。「質問クラス」は、そのユーザ発話が質問である確率が高いクラスであり、「非質問クラス」は、そのユーザ発話が質問である確率が低いクラスである。つまり、「質問クラス」は、非言語情報解析結果によって示される特徴が、応答の生成に構文解析結果を用いる必要があることに対応する。詳しくは後述する。
特徴ベクトルvが「質問クラス」に分類される場合(S404のYES)、フィラー長判定部120は、ユーザ発話が質問を示す、つまりユーザが質問をしたと判定する。したがって、フィラー長判定部120は、応答の生成に構文解析結果が必要であるので、長フィラーを生成すると判定する(ステップS406)。そして、処理は、図4のS122に進む。
特徴ベクトルvが「質問クラス」に分類されない場合(S404のNO)、フィラー長判定部120は、ユーザ発話が質問を示さない、つまりユーザが質問をしていないと判定する。したがって、フィラー長判定部120は、応答の生成に構文解析結果が必要でないので、短フィラーを生成すると判定する(ステップS408)。そして、処理は、図4のS132に進む。
次に、判定モデルの生成方法について説明する。なお、判定モデルの生成については、本実施の形態にかかる音声対話装置1が行ってもよいし、音声対話装置1とは別の装置(コンピュータ)が行ってもよい。
図11は、実施の形態4にかかる判定モデルの生成方法を示すフローチャートである。まず、多数の学習データを用いてサンプル集合Sが準備される(ステップS420)。ここで、サンプル集合Sの要素であるサンプルiは、事前に準備したユーザ発話に対応するデータである。サンプルの数は、例えば150個程度であるが、これに限定されない。次に、サンプル集合Sを用いて、T個のサブセットS〜Sが生成される(ステップS422)。サブセットの数Tは、例えば100個程度であるが、これに限定されない。そして、サブセットごとに決定木(判定モデル)が生成される。つまり、T本の決定木が生成されることとなる(ステップS44)。以下、図を用いて詳述する。
図12は、サンプル集合S及びサブセットS〜Sを例示する図である。サンプルi(図12に円で示す)には、それぞれ、特徴ベクトルv及び正解ラベルcが付与されている。正解ラベルcは、そのサンプルiに対応するユーザ発話が音声対話装置1に対する質問である場合に、「yes」を示し、そのサンプルiに対応するユーザ発話が音声対話装置1に対する質問でない場合に、「no」を示す。なお、図12において、「yes」の正解ラベルが付与されているサンプルiには、ハッチングが施されている。また、「質問クラス」は、「yes」を示す正解ラベルcに対応し、「非質問クラス」は、「no」を示す正解ラベルcに対応する。なお、正解ラベルcは、アノテーションを行う者(アノテータ)が各サンプルiに対応するユーザ発話を聴くこと等によって、付与される。つまり、アノテータは、ユーザ発話を聴いて、そのユーザ発話がどちらのクラスに該当するかを、ユーザ発話の言語情報及び非言語情報等から判断して、正解ラベルcをサンプル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のS44の処理によって生成される決定木(判定モデル)を例示する図である。図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)が、ランダムに生成される(ステップS440)。分岐関数候補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が分割される(ステップS442)。具体的には、以下の式2を用いて、分岐前のノード(親ノード)のサンプル集合Sのサンプルiが、左側の子ノードのサンプル集合S又は右側の子ノードのサンプル集合Sに分割される。
(式2)
Figure 0006633008
次に、情報利得Iの最も高い分岐関数候補Fcが、そのノードにおける分岐関数Fとして採用される(ステップS444)。具体的には、まず、分岐関数候補Fcごとに、以下の式3で示される情報利得Iを算出する。
(式3)
Figure 0006633008
ここで、H(S)は以下の式4で定義される集合Sのエントロピである。なお、Cは、クラスの数である。上記の例では、C=2であり、c=1を「質問クラス」とし、c=2を「非質問クラス」とする。また、以下の式において、Pは、集合Sにおけるクラスcの出現確率である。また、エントロピH(S)は、集合Sにおける各クラスの出現確率の偏りを示す。各クラスの出現確率の偏りが小さい場合に、エントロピは大きくなる。
(式4)
Figure 0006633008
図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 0006633008
また、候補1についての分割後の集合S 及び集合S のエントロピは、上記の式4を用いて、以下の式6のように算出される。
(式6)
Figure 0006633008
また、候補2についての分割後の集合S 及び集合S のエントロピは、上記の式4を用いて、以下の式7のように算出される。
(式7)
Figure 0006633008
したがって、候補1の情報利得I及び候補2の情報利得Iは、上記の式3より、以下の式8のように算出される。
(式8)
Figure 0006633008
式8より、I<Iであるので、分岐関数候補Fcが、親ノードの分岐関数Fとして採用される。そして、集合S 及び集合S に対応するノードが、上記親ノードに対する子ノードとされる。つまり、親ノードが根ノードであるノード1である場合、集合S に対応するノードがノード2となり。集合S に対応するノードがノード3となる。
次に、処理は次のノードに移行する(ステップS446)。ここで、上記のように子ノードがある場合は、処理は子ノードに移行する。また、子ノードがない場合は、処理が終わっていない別のノードに移行する。そして、処理対象のノードのエントロピが0であるか、又はそのノードが指定された深さに到達したかが判定される(ステップS448)。処理対象のノードのエントロピが0であるか、又はそのノードが指定された深さに到達した場合(S448のYES)、そのノードが末端ノードと決定される。そして、末端ノードに割り当てられる、「質問クラス」の出現確率Pが算出される(ステップS450)。一方、処理対象のノードのエントロピが0でなく、かつ、そのノードが指定された深さに到達していない場合(S448のNO)、そのノードは分岐ノードと決定される。したがって、このノードについて、S440〜S444の処理が繰り返される。
具体的には、図16に示した例では、集合S のエントロピは0である。したがって、この集合S に対応するノードが末端ノードと決定される。そして、このノードに割り当てられる「質問クラス」の出現確率P(P=1)が算出される。なお、エントロピが0である場合、その末端ノードに関する「質問クラス」の出現確率Pは1又は0である。
また、図16に示した例では、集合S のエントロピは0ではない。したがって、この集合S に対応するノードの深さが予め定められた深さ(図14の例では深さ3)に到達していなければ、このノードは分岐ノードであるとして、S440〜S444の処理が繰り返される。一方、この集合S に対応するノードの深さが予め定められた深さに到達している場合、このノードは末端ノードと決定される。そして、このノードに割り当てられる「質問クラス」の出現確率P(P=1/4)が算出される。
次に、全てのサブセットについて決定木が生成されたか否かが判定される(ステップS452)。全てのサブセットについて決定木が生成されていない場合(S452のNO)、処理は、決定木が生成されていない次のサブセットに移行して(ステップS454)、S440〜S450の処理が繰り返される。一方、全てのサブセットについて決定木が生成された場合(S452のYES)、判定モデルが完成したので、処理が終了する。なお、複数の決定木の生成は、並行して行われ得る。つまり、Tree_1〜Tree_Tの生成を、同時に行うことが可能である。
次に、判定モデルを用いて、特徴ベクトルを分類する方法について説明する。
図17は、図14に例示した決定木(判定モデル)を用いて特徴ベクトルを分類する方法(図10のS404)を説明するための図である。まず、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である。このようにして、フィラー長判定部120は、Tree_1〜Tree_Tについて、上記の処理を行う。
フィラー長判定部120は、各決定木において算出された確率P(c|v)〜P(c|v)を用いて、以下の式9を用いて、統合された確率P(c|v)を算出する。
(式9)
Figure 0006633008
そして、フィラー長判定部120は、特徴ベクトルvが、確率P(c|v)において最大値をとるcに対応するクラスに分類されると判定する。例えば、確率P(c=1|v)=0.7であり、確率P(c=2|v)=0.3である場合、フィラー長判定部120は、特徴ベクトルvが、c=1に対応するクラス、つまり質問クラスに分類されると判定する。
実施の形態4にかかる音声対話装置1においても、ユーザ発話について構文解析よりも時間のかからない非言語情報解析の結果(特徴ベクトル)を用いて、応答の生成に構文解析結果を用いる必要があるか否かを判定する。そして、実施の形態4にかかる音声対話装置1は、ユーザの発話に応じて、ユーザの発話から応答までの間に出力されるフィラーの長さを調整することが可能となる。これにより、実施の形態4においても、音声対話装置1とユーザとの間で、より自然な対話を実現することが可能となる。
さらに、実施の形態4においては、予め機械学習によって生成された判定モデルを用いて、応答の生成に構文解析結果を用いる必要があるか否かを判定し、ユーザの発話から応答までの間に出力されるフィラーの長さを調整することが可能となる。ここで、機械学習によって生成された判定モデルを用いることで、より正確な識別を行うことが可能となる。したがって、ユーザの発話から応答までの間に出力されるフィラーの長さを調整することを、実施の形態2及び実施の形態3の場合と比較して、より正確に行うことが可能である。
なお、実施の形態4においては、予め判定モデルを準備しておく必要がある。したがって、実施の形態2及び実施の形態3の場合の方が、実施の形態4の場合と比較して、より容易に、上記の処理を実現することが可能である。
(変形例)
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上述したフローチャートにおいて、複数の処理の順序は、適宜、変更可能である。また、上述したフローチャートにおいて、複数の処理のうちの1つは、省略されてもよい。また、フィラーは、常に生成しなくてもよい。例えば、ユーザ発話の2回に1回の割合でフィラーを生成するようにしてもよい。
また、上述した実施の形態においては、ユーザ発話について非言語情報解析を行うことで、フィラーの長さを調整するとしたが、ユーザ発話についての非言語情報解析だけでなく、他の方法を併用することも可能である。例えば、音声対話装置1に搭載されたカメラによってユーザを撮影して得られたカメラ画像について画像認識処理を行い、その画像認識処理結果(例えばユーザの表情等)も用いてもよい。これにより、非言語情報解析結果のみを用いる場合と比較して、応答の生成に構文解析結果を用いる必要があるか否かを、より正確に判定することができる。
また、上述した実施の形態2及び実施の形態3で説明した判別式以外の判別式を用いて、ユーザ発話が質問であるか否かを判定することも可能である。例えば、句末のピッチ(基本周波数f0)の傾き(図13のx)が予め定められた閾値よりも大きい場合に、ユーザ発話が質問であると判定してもよい。
また、非言語情報解析部106の処理の一部は、構文解析部104でも行われ得る。つまり、構文解析部104は、構文解析を行う上で必要である場合は、非言語情報解析部106で行われる処理も行い得る。したがって、構文解析部104は、非言語情報解析部106の解析結果を用いて構文解析を行ってもよい。
1・・・音声対話装置、2・・・マイク、4・・・スピーカ、10・・・制御装置、102・・・発話取得部、104・・・構文解析部、106・・・非言語情報解析部、110・・・出力生成部、120・・・フィラー長判定部、130・・・フィラー生成部、140・・・応答生成部、142・・・ユーザ質問回答部、144・・・回答データベース、146・・・話題誘導部、148・・・質問データベース、150・・・音声出力部、152・・・応答履歴格納部

Claims (6)

  1. ユーザと音声を用いた対話を行う音声対話装置であって、
    前記ユーザの発話であるユーザ発話を取得する発話取得部と、
    前記取得されたユーザ発話の言語情報について構文解析を行う構文解析部と、
    前記ユーザ発話に応じて応答を生成する応答生成部と、
    前記ユーザに対して音声を出力する音声出力部と、
    前記取得されたユーザ発話について、前記言語情報とは異なる非言語情報であって、前記ユーザ発話の韻律情報及び前記応答生成部によって生成された応答に関する履歴情報の少なくとも一方を含む非言語情報の解析を行う非言語情報解析部と、
    前記非言語情報解析部による解析結果である非言語情報解析結果に応じて、前記音声出力部によって出力されるフィラーの長さを判定するフィラー長判定部と、
    前記フィラー長判定部の判定結果に応じた長さのフィラーを生成するフィラー生成部と
    を有し、
    前記フィラー長判定部は、前記応答の生成に前記構文解析部による解析結果である構文解析結果を用いる必要がある場合に、長いフィラーを生成させると判定し、前記応答の生成に前記構文解析結果を用いる必要がない場合に、短いフィラーを生成させると判定し、
    前記音声出力部は、前記フィラーを出力した後で、前記応答生成部によって生成された応答を出力する
    音声対話装置。
  2. 前記フィラー長判定部は、前記取得されたユーザ発話が前記音声対話装置に対する質問であるか否かを判定し、
    前記取得されたユーザ発話が前記音声対話装置に対する質問であると判定された場合に、前記フィラー長判定部は、長いフィラーを生成させると判定し、前記音声出力部は、前記フィラー生成部によって生成された長いフィラーを出力し、前記応答生成部は、前記構文解析結果を用いて、前記質問に対する回答を前記応答として生成し、前記音声出力部は、前記生成された回答を出力する
    請求項1に記載の音声対話装置。
  3. 前記フィラー長判定部は、前記取得されたユーザ発話が前記音声対話装置に対する質問であるか否かを判定し、
    前記取得されたユーザ発話が前記音声対話装置に対する質問ではないと判定された場合に、前記フィラー長判定部は、短いフィラーを生成させると判定し、前記音声出力部は、前記フィラー生成部によって生成された短いフィラーを出力し、前記応答生成部は、前記構文解析結果を用いないで、別の話題に誘導させるための応答を生成し、前記音声出力部は、前記生成された応答を出力する
    請求項1又は2に記載の音声対話装置。
  4. 前記フィラー長判定部は、前記非言語情報解析結果に含まれる少なくとも1つの特徴量と、前記特徴量に対応する予め定められた閾値との比較に応じて、前記音声出力部によって出力されるフィラーの長さを判定する
    請求項1から3のいずれか1項に記載の音声対話装置。
  5. 前記フィラー長判定部は、予め機械学習によって生成された判定モデルを用いて、前記非言語情報解析結果によって示される特徴が、前記応答の生成に前記構文解析結果を用いる必要があることに対応するか否かを識別することによって、前記フィラーの長さを判定する
    請求項1から3のいずれか1項に記載の音声対話装置。
  6. ユーザと音声を用いた対話を行う音声対話装置を用いて行われる音声対話方法であって、
    前記ユーザの発話であるユーザ発話を取得し、
    前記取得されたユーザ発話の言語情報について構文解析を行い、
    前記取得されたユーザ発話について、前記言語情報とは異なる非言語情報であって、前記ユーザ発話の韻律情報及び前記音声対話装置によって生成された応答に関する履歴情報の少なくとも一方を含む非言語情報の解析を行い、
    前記非言語情報の解析結果である非言語情報解析結果に応じて、前記応答の生成に前記構文解析の解析結果である構文解析結果を用いる必要があるか否かを判定し、
    前記応答の生成に前記構文解析結果を用いる必要があると判定された場合に、長いフィラーを生成して出力し、
    前記応答の生成に前記構文解析結果を用いる必要がないと判定された場合に、短いフィラーを生成して出力し、
    前記フィラーを出力した後で、前記ユーザ発話に応じて生成された応答に対応する音声を出力する
    音声対話方法。
JP2017016581A 2017-02-01 2017-02-01 音声対話装置及び音声対話方法 Active JP6633008B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017016581A JP6633008B2 (ja) 2017-02-01 2017-02-01 音声対話装置及び音声対話方法
US15/841,608 US10388279B2 (en) 2017-02-01 2017-12-14 Voice interaction apparatus and voice interaction method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017016581A JP6633008B2 (ja) 2017-02-01 2017-02-01 音声対話装置及び音声対話方法

Publications (2)

Publication Number Publication Date
JP2018124425A JP2018124425A (ja) 2018-08-09
JP6633008B2 true JP6633008B2 (ja) 2020-01-22

Family

ID=62980177

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017016581A Active JP6633008B2 (ja) 2017-02-01 2017-02-01 音声対話装置及び音声対話方法

Country Status (2)

Country Link
US (1) US10388279B2 (ja)
JP (1) JP6633008B2 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6795387B2 (ja) * 2016-12-14 2020-12-02 パナソニック株式会社 音声対話装置、音声対話方法、音声対話プログラム及びロボット
JP6633008B2 (ja) * 2017-02-01 2020-01-22 ファーハット ロボティクス エービー 音声対話装置及び音声対話方法
JP6696923B2 (ja) * 2017-03-03 2020-05-20 国立大学法人京都大学 音声対話装置、その処理方法及びプログラム
US10446147B1 (en) * 2017-06-27 2019-10-15 Amazon Technologies, Inc. Contextual voice user interface
US11482308B2 (en) 2017-08-10 2022-10-25 Nuance Communications, Inc. Automated clinical documentation system and method
US11316865B2 (en) 2017-08-10 2022-04-26 Nuance Communications, Inc. Ambient cooperative intelligence system and method
US11275854B2 (en) * 2018-02-01 2022-03-15 Nuance Communications, Inc. Conversation print system and method
WO2019173333A1 (en) 2018-03-05 2019-09-12 Nuance Communications, Inc. Automated clinical documentation system and method
US20190272895A1 (en) 2018-03-05 2019-09-05 Nuance Communications, Inc. System and method for review of automated clinical documentation
US11250382B2 (en) 2018-03-05 2022-02-15 Nuance Communications, Inc. Automated clinical documentation system and method
EP3607700B1 (en) * 2018-05-07 2023-04-05 Google LLC Verifying operational statuses of agents interfacing with digital assistant applications
USD885453S1 (en) * 2018-07-06 2020-05-26 Furhat Robotics Ab Industrial robot
US11227679B2 (en) 2019-06-14 2022-01-18 Nuance Communications, Inc. Ambient clinical intelligence system and method
US11216480B2 (en) 2019-06-14 2022-01-04 Nuance Communications, Inc. System and method for querying data points from graph data structures
US11531807B2 (en) 2019-06-28 2022-12-20 Nuance Communications, Inc. System and method for customized text macros
KR20210033837A (ko) 2019-09-19 2021-03-29 삼성전자주식회사 전자 장치 및 이의 제어 방법
US11670408B2 (en) 2019-09-30 2023-06-06 Nuance Communications, Inc. System and method for review of automated clinical documentation
US11847420B2 (en) * 2020-03-05 2023-12-19 Oracle International Corporation Conversational explainability
US11222103B1 (en) 2020-10-29 2022-01-11 Nuance Communications, Inc. Ambient cooperative intelligence system and method
US11928437B2 (en) 2021-02-02 2024-03-12 Oracle International Corporation Machine reading between the lines
CN113763932B (zh) * 2021-05-13 2024-02-13 腾讯科技(深圳)有限公司 语音处理方法、装置、计算机设备及存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010012335A1 (en) * 1998-02-06 2001-08-09 Lance Kaufman Preference based telecommunication information service
JP2000222432A (ja) * 1999-02-03 2000-08-11 Nippon Telegr & Teleph Corp <Ntt> 文書検索装置、文書検索方法及び文書検索プログラムを記録した記録媒体
JP3581881B2 (ja) * 2000-07-13 2004-10-27 独立行政法人産業技術総合研究所 音声補完方法、装置および記録媒体
US8355484B2 (en) * 2007-01-08 2013-01-15 Nuance Communications, Inc. Methods and apparatus for masking latency in text-to-speech systems
JP4279883B2 (ja) 2007-01-24 2009-06-17 株式会社ピートゥピーエー 会話制御システム、会話制御方法、プログラム及びプログラムを記録した記録媒体
US9576574B2 (en) * 2012-09-10 2017-02-21 Apple Inc. Context-sensitive handling of interruptions by intelligent digital assistant
JP5753869B2 (ja) * 2013-03-26 2015-07-22 富士ソフト株式会社 音声認識端末およびコンピュータ端末を用いる音声認識方法
JP5958475B2 (ja) * 2014-01-17 2016-08-02 株式会社デンソー 音声認識端末装置、音声認識システム、音声認識方法
JP6024675B2 (ja) * 2014-01-17 2016-11-16 株式会社デンソー 音声認識端末装置、音声認識システム、音声認識方法
JP6118838B2 (ja) * 2014-08-21 2017-04-19 本田技研工業株式会社 情報処理装置、情報処理システム、情報処理方法、及び情報処理プログラム
JP6495014B2 (ja) * 2015-01-08 2019-04-03 シャープ株式会社 音声対話制御装置、音声対話制御装置の制御方法、および音声対話装置
JP6736691B2 (ja) * 2016-06-13 2020-08-05 グーグル エルエルシー 人間のオペレータへのエスカレーション
JP6461058B2 (ja) * 2016-09-06 2019-01-30 国立大学法人京都大学 音声対話装置および音声対話装置を用いた自動対話方法
JP2018045202A (ja) * 2016-09-16 2018-03-22 トヨタ自動車株式会社 音声対話システムおよび音声対話方法
JP6633008B2 (ja) * 2017-02-01 2020-01-22 ファーハット ロボティクス エービー 音声対話装置及び音声対話方法
JP6696923B2 (ja) * 2017-03-03 2020-05-20 国立大学法人京都大学 音声対話装置、その処理方法及びプログラム

Also Published As

Publication number Publication date
JP2018124425A (ja) 2018-08-09
US10388279B2 (en) 2019-08-20
US20180218731A1 (en) 2018-08-02

Similar Documents

Publication Publication Date Title
JP6633008B2 (ja) 音声対話装置及び音声対話方法
JP6731326B2 (ja) 音声対話装置及び音声対話方法
US9875739B2 (en) Speaker separation in diarization
JP6772198B2 (ja) 言語モデルスピーチエンドポインティング
US9117450B2 (en) Combining re-speaking, partial agent transcription and ASR for improved accuracy / human guided ASR
KR101183344B1 (ko) 사용자 정정들을 이용한 자동 음성 인식 학습
JP5381988B2 (ja) 対話音声認識システム、対話音声認識方法および対話音声認識用プログラム
EP3370230B1 (en) Voice interaction apparatus, its processing method, and program
JP2010230695A (ja) 音声の境界推定装置及び方法
US10971149B2 (en) Voice interaction system for interaction with a user by voice, voice interaction method, and program
KR20110099434A (ko) 대화 로그를 이용한 학습 기반 대화 시스템 성능 향상 방법 및 그 장치
CN112002349A (zh) 一种语音端点检测方法及装置
CN109074809B (zh) 信息处理设备、信息处理方法和计算机可读存储介质
CN112802498A (zh) 语音检测方法、装置、计算机设备和存储介质
US20230252971A1 (en) System and method for speech processing
CN111402887A (zh) 一种语音转义文字的方法及装置
CN111128127A (zh) 一种语音识别处理方法及装置
CN112466287B (zh) 一种语音分割方法、装置以及计算机可读存储介质
WO2021253779A1 (zh) 一种语音识别方法以及系统
CN108364654B (zh) 语音处理方法、介质、装置和计算设备
KR101959080B1 (ko) 어학 따라말하기의 묵음구간 기반의 어학 퍼포먼스 평가 장치 및 방법
JP4042435B2 (ja) 音声自動質問応答装置
JP4962930B2 (ja) 発音評定装置、およびプログラム
JP3727436B2 (ja) 音声原稿最適照合装置および方法
KR102221236B1 (ko) 음성을 제공하는 방법 및 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181102

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191211

R150 Certificate of patent or registration of utility model

Ref document number: 6633008

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