JP2018063271A - 音声対話装置、音声対話システム、および、音声対話装置の制御方法 - Google Patents
音声対話装置、音声対話システム、および、音声対話装置の制御方法 Download PDFInfo
- Publication number
- JP2018063271A JP2018063271A JP2015039542A JP2015039542A JP2018063271A JP 2018063271 A JP2018063271 A JP 2018063271A JP 2015039542 A JP2015039542 A JP 2015039542A JP 2015039542 A JP2015039542 A JP 2015039542A JP 2018063271 A JP2018063271 A JP 2018063271A
- Authority
- JP
- Japan
- Prior art keywords
- term
- unit
- held
- voice
- user
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 230000008859 change Effects 0.000 claims abstract description 11
- 230000004044 response Effects 0.000 claims description 128
- 238000012545 processing Methods 0.000 claims description 115
- 230000003993 interaction Effects 0.000 claims description 95
- 230000008569 process Effects 0.000 claims description 57
- 230000002452 interceptive effect Effects 0.000 claims description 17
- 230000015572 biosynthetic process Effects 0.000 claims description 9
- 238000003786 synthesis reaction Methods 0.000 claims description 9
- 238000004519 manufacturing process Methods 0.000 claims 1
- 230000005856 abnormality Effects 0.000 description 70
- 238000001514 detection method Methods 0.000 description 55
- 230000008439 repair process Effects 0.000 description 34
- 238000010586 diagram Methods 0.000 description 11
- 230000009471 action Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 230000000694 effects Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Acoustics & Sound (AREA)
- Computational Linguistics (AREA)
- Multimedia (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Machine Translation (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
【課題】ユーザとの対話の内容を簡易な方法により修正する。【解決手段】音声対話装置20は、用語を保持するための保持部104と、保持部104が保持する用語の履歴を記憶している記憶部105と、ユーザの音声による発話を音声認識することで生成される発話データを取得し、取得した発話データに含まれる発話用語を保持部104に保持させることで、保持部104が保持している用語の更新を行う取得部101と、更新の後に保持部104が保持する用語が、ユーザの発話の内容と適合するか否かについての適否判定を行う判定部102と、適否判定において不適合と判定された場合に、記憶部105を参照して、保持部104が保持している用語を、保持部104が更新の前に保持していた用語に変更する変更部103とを備える。【選択図】図11
Description
本開示は、音声対話装置、音声対話システム、および、音声対話装置の制御方法に関する。
特許文献1は、利用者との対話において、通訳結果に誤りが生じているか等を判断する自動通訳システムを開示する。上記自動通訳システムは、利用者が相手話者の発話の通訳結果を理解できない場合に、対話状況を適切に判断し適切な対処方法を具体的に提示する。
本開示は、ユーザとの対話の内容を簡易な方法により修正する音声対話装置を提供する。
本開示における音声対話装置は、用語を保持するための保持部と、前記保持部が保持する用語の履歴を記憶している記憶部と、ユーザの音声による発話を音声認識することで生成される発話データを取得し、取得した前記発話データに含まれる発話用語を前記保持部に保持させることで、前記保持部が保持している用語の更新を行う取得部と、前記更新の後に前記保持部が保持する用語が、前記ユーザの発話の内容と適合するか否かについての適否判定を行う判定部と、前記適否判定において不適合と判定された場合に、前記記憶部を参照して、前記保持部が保持している用語を、前記保持部が前記更新の前に保持していた用語に変更する変更部とを備える。
本開示における音声対話装置は、ユーザとの対話の内容を簡易な方法により修正することができる。
以下、適宜図面を参照しながら、実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
なお、発明者(ら)は、当業者が本開示を十分に理解するために添付図面および以下の説明を提供するのであって、これらによって特許請求の範囲に記載の主題を限定することを意図するものではない。
(実施の形態1)
本実施の形態において、ユーザとの対話の内容を簡易な方法により修正する音声対話装置の第一の構成について説明する。本実施の形態に係る音声対話装置は、ユーザとの音声による対話を行うものであり、ユーザとの対話の内容を示す対話情報を生成及び修正し、その対話情報を外部の処理装置に出力する。また、音声対話装置は、外部の処理装置から処理結果を取得しユーザに提示し、さらにユーザとの対話を継続する。このように、音声対話装置は、ユーザとの対話に基づいて、対話情報を生成及び修正しながら、順次、処理結果をユーザに提示するものである。
本実施の形態において、ユーザとの対話の内容を簡易な方法により修正する音声対話装置の第一の構成について説明する。本実施の形態に係る音声対話装置は、ユーザとの音声による対話を行うものであり、ユーザとの対話の内容を示す対話情報を生成及び修正し、その対話情報を外部の処理装置に出力する。また、音声対話装置は、外部の処理装置から処理結果を取得しユーザに提示し、さらにユーザとの対話を継続する。このように、音声対話装置は、ユーザとの対話に基づいて、対話情報を生成及び修正しながら、順次、処理結果をユーザに提示するものである。
なお、音声対話装置は、ユーザによるキー入力又はパネルへの接触などの操作が不可能又は困難である場合に有用である。例えば、ユーザが運転しているときにユーザの音声による指示を順次受けながら情報検索をするカーナビゲーション装置などの用途があり得る。また、キー又はパネルのようなユーザインタフェースを有さない音声対話装置でも有用である。
[1−1.構成]
図1は、本実施の形態に係る音声対話装置20及び音声対話システム1の構成を示すブロック図である。
図1は、本実施の形態に係る音声対話装置20及び音声対話システム1の構成を示すブロック図である。
図1に示されるように、音声対話システム1は、表示装置10と、スピーカ11と、音声合成部12と、マイク13と、音声認識部14と、音声対話装置20と、タスク処理部40とを備える。
表示装置10は、表示画面を備える表示装置である。表示装置10は、音声対話装置20から取得する表示データに基づいて表示画面に映像を表示する。表示装置10は、例えば、カーナビゲーション装置、スマートフォン(高機能携帯電話端末)、携帯電話端末、又は、PC(Personal Computer)などにより実現される。なお、表示装置10は、音声対話装置20が提示する情報に基づく映像を表示する装置の例として示したが、表示装置10の代わりに、音声対話装置20が提示する情報を音声として出力するスピーカを用いてもよい。このスピーカは、後述のスピーカ11と共用してもよい。
スピーカ11は、音声を出力するスピーカである。スピーカ11は、音声合成部12から取得する音声信号に基づいて音声を出力する。スピーカ11が出力した音声は、ユーザに聴取される。
音声合成部12は、応答文を音声信号に変換する処理部である。音声合成部12は、音声対話装置20からユーザへ伝達する情報である応答文を音声対話装置20から取得し、スピーカにより出力するための音声信号を、取得した応答文に基づいて生成する。
なお、スピーカ11及び音声合成部12は、音声対話装置20の一機能として音声対話装置20の内部に備えられてもよいし、音声対話装置20の外部に備えられてもよい。また、音声合成部12は、音声対話装置20とインターネット経由で通信可能なように、いわゆるクラウドサーバとして実現されてもよい。その場合、音声合成部12と音声対話装置20との接続、及び、音声合成部12とスピーカ11との接続は、インターネットを介した通信路を通じてなされる。
マイク13は、音声を取得するマイクロホンである。マイク13は、ユーザの音声を取得し、取得した音声に基づく音声信号を出力する。
音声認識部14は、ユーザの音声を対象として音声認識を行うことで、発話データを生成する処理部である。音声認識部14は、マイク13が生成した音声信号を取得し、取得した音声信号に対して音声認識処理を施すことで、ユーザによる発話の発話データを生成する。発話データは、ユーザから音声対話装置20へ伝達する情報であり、「中華が食べたい」というように、文字(テキスト)で表現されるものである。なお、音声認識処理は、音声信号をテキスト情報に変換するものであるので、テキスト変換処理ということもできる。なお、音声認識処理において、ユーザによる発話の真の内容と異なる発話がデータ生成されるいわゆる誤認識が生じ得る。
なお、マイク13及び音声認識部14は、音声合成部12等と同様、音声対話装置20の一機能として音声対話装置20の内部に備えられてもよいし、音声対話装置20の外部に備えられてもよい。また、音声認識部14は、音声合成部12同様、クラウドサーバとして実現されてもよい。
タスク処理部40は、ユーザと音声対話装置20との対話の内容に基づいて処理を行い、その処理結果を示す情報又はその関連情報を出力する処理部である。タスク処理部40による処理は、対話の内容に基づく情報処理であればどのようなものであってもよい。例えば、タスク処理部40は、インターネット上のWebページから、対話の内容に適合するレストランのWebページを検索する検索処理を実行し、その検索結果を出力するものとしてもよく、この場合を以下で説明する。なお、タスク処理部40による処理の実行単位のことをタスクともいう。
なお、タスク処理部40による処理の他の例として、対話の内容をデータとして蓄積する処理を実行し、その処理の成否を示す情報を出力するものとしてもよい。また、タスク処理部40は、対話の内容に基に基づいて複数の電気機器のうち制御対象の電気機器を特定し、その電気機器の固有情報又は動作に関する情報を出力するものとしてもよい。
音声対話装置20は、ユーザとの音声による対話を行う処理装置である。音声対話装置20は、ユーザとの対話の内容を示す対話情報を生成及び修正し、その対話情報をタスク処理部40に出力する。また、音声対話装置20は、タスク処理部40から処理結果を取得しユーザに提示し、さらにユーザとの対話を継続する。
音声対話装置20は、応答文生成部21と、発話データ取得部22と、シーケンス制御部23と、タスク制御部24と、操作部25と、解析部26と、メモリ27と、タスク結果解析部28と、異常検知部29と、提示制御部30とを備える。
応答文生成部21は、シーケンス制御部23から応答指示を取得し、取得した応答指示に基づいて応答文を生成する処理部である。応答文は、音声対話装置20からユーザへ伝達する情報であり、具体的には、「地域を指定下さい」というようなユーザに対して発話を促すための文章、「承知しました」というようなユーザの発話に対する相槌、又は、「検索します」というような音声対話装置20の動作を説明する文章である。どのようなときにどのような応答指示をするかについては、後で詳細に説明する。応答文生成部21は、第一応答文生成部、及び、第二応答文生成部に相当する。
発話データ取得部22は、ユーザによる発話の発話データを音声認識部14から取得する処理部である。ユーザの音声による発話がなされた場合、マイク13及び音声認識部14により、上記発話の内容を示す発話データが生成され、この生成された発話データを発話データ取得部22が取得する。なお、発話データ取得部22は、取得部の一機能に相当する。
シーケンス制御部23は、音声対話装置20とユーザとの対話の対話シーケンスを制御することで、ユーザとの対話を実現する処理部である。ここで、対話シーケンスとは、対話におけるユーザによる発話と音声対話装置20による応答とを時系列で並べたデータのことである。なお、シーケンス制御部23は、取得部の一機能に相当する。
具体的には、シーケンス制御部23は、ユーザによる発話の発話データを発話データ取得部22から取得する。そして、取得した発話データ、これまでのユーザとの対話シーケンス、又は、タスク結果解析部28から取得する処理結果に基づいて、次にユーザに提示すべき応答文を作成する指示(以降、「応答指示」ともいう)を生成し、応答文生成部21に送る。シーケンス制御部23がどのような場合にどのような応答指示を生成するかについては、後で具体的に説明する。
また、シーケンス制御部23は、取得した発話データから用語(発話用語ともいう)を抽出し、抽出した用語を、操作部25を介して、その用語の属性に対応付けられたスロット31に格納し、保持させる。ここで、用語とは、単語のように比較的短い語のことをいい、例えば、1つの名詞、又は、1つの形容詞などが1つの用語に相当する。なお、スロット31に新たな用語を保持させることを、スロット31を更新するともいう。
タスク制御部24は、音声対話装置20とユーザとの対話の内容をタスク処理部40に出力し、出力した対話の内容に基づく処理をタスク処理部40に実行させる処理部である。具体的には、タスク制御部24は、複数のスロット31が保持している用語をタスク処理部40に出力する。また、タスク制御部24は、複数のスロット31の状態についての所定の条件が満たされるか否かを判定し、所定の条件が満たされる場合にのみ、複数のスロット31が保持している用語をタスク処理部40に出力するようにしてもよい。
操作部25は、メモリ27に格納されている対話の内容を示す情報を追加、削除又は変更する処理部である。操作部25は、音声認識部14による誤認識等により、スロット31が保持する用語がユーザの発話の内容と適合しないものとなったことが、異常検知部29により異常として検知された場合に、当該スロット31が保持している用語を変更することで修復する。修復の処理については、後で詳細に説明する。なお、操作部25は、取得部の一機能、及び、変更部の一機能に相当する。
解析部26は、メモリ27内のスロット31又は履歴テーブル32を解析し、解析結果に応じた通知をシーケンス制御部23に行う処理部である。具体的には、解析部26は、スロット31のうちの必須スロット群のスロットそれぞれが用語を保持しているか否かを判定し、それぞれが用語を保持している場合には、その旨をシーケンス制御部23に通知する。なお、解析部26は、変更部の一機能に相当する。
また、解析部26は、操作部25を利用して、履歴テーブル32を参照して、スロット31が保持している用語を変更するための修復処理を行う。修復処理の具体的な処理内容については後で詳しく説明する。
メモリ27は、対話の内容を記憶している記憶装置である。具体的には、メモリ27は、スロット31及び履歴テーブル32を有する。
スロット31は、対話の内容を示す対話情報を保持するための記憶領域であり、音声対話装置20に複数備えられる。複数のスロット31は、それぞれが用語の属性に対応付けられており、それぞれが当該スロット31に対応付けられた属性を有する用語を保持する。そして、スロット31のそれぞれに格納された用語全体が、上記対話情報を示している。スロット31は、1つの用語を保持する。そして、スロット31は、1つの用語を保持している状態において新たな用語を保持した場合(つまり、更新された場合)には、保持していた1つの用語はスロット31上からは消去される。
ここで、用語の属性とは、当該用語の性質、特徴又はカテゴリを示す情報のことである。例えば、タスク処理部40の処理がレストラン検索の場合、料理名、地域、予算、個室の有無、駐車場の有無、最寄駅からの徒歩での所要時間、貸切が可能か否か、又は、夜景が見えるか否かというような情報を属性として用いることができる。なお、スロット31が用語を保持することを、スロット31に用語が格納される、又は、登録される、と表現することもできる。なお、メモリ27のうちのスロット31の領域は、保持部に相当する。
また、スロット31には、必須スロット及びオプションスロットという2つの種別が設けられていてもよい。必須スロットとは、当該スロットが用語を保持していないとタスク制御部24がタスク処理部40に用語を出力しないスロットのことである。また、オプションスロットとは、当該オプションスロットが用語を保持していなくても、すべての必須スロットが用語を保持していればタスク制御部24がタスク処理部40に用語を出力するスロットのことである。例えば、タスク処理として検索タスクを実行させる場合、すべてのスロットが保持している用語をタスク制御部24がタスク処理部40に出力する際、必須スロット群に含まれるすべてのスロットが用語を保持している場合に限り出力を行うようにするようにしてもよい。スロット31が、必須スロット及びオプションスロットのうちのどちらであるかは、スロット31ごとに予め定められている。なお、上記2つの種別が設けられず、1つのだけの種別である場合には、スロット31の全てを必須スロットとしてもよいし、オプションスロットとしてもよい。これらのどちらにするかは、タスク処理部40の処理、又は、対話の内容に基づいて適宜定められてよい。
履歴テーブル32は、複数のスロット31が保持する用語の履歴を示すテーブルである。具体的には、履歴テーブル32は、複数のスロット31が過去に保持していた用語、及び、現在保持している用語が時系列で収められたテーブルである。スロット31が新たな用語を保持することで、その直前に保持していた用語をスロット31上から消去した場合でも、その消去された用語は、履歴テーブル32には残されている。
なお、履歴テーブル32には、過去に複数のスロット31が保持した用語と共に、その時点での時刻を示す情報(例えば、タイムスタンプ)が格納されてもよい。また、時間の進みと共にレコードを追加的に格納するという前提があれば、履歴テーブル32には、過去に複数のスロット31が保持した用語だけが格納されてもよい。なお、メモリ27のうち、履歴テーブル32が記憶された領域は、記憶部に相当する。
タスク結果解析部28は、タスク処理部40による処理結果を取得し、取得した処理結果を解析する処理部である。タスク結果解析部28は、タスク処理部40から処理結果を取得した場合には、取得した処理結果を解析し、解析結果をシーケンス制御部23に渡す。なお、この解析結果は、履歴テーブル32のうちの現在時刻に対応する時点に復元ポイントを設定するか否かを操作部25が判定する際に用いられる。なお、タスク結果解析部28は、外部処理制御部の一機能に相当する。
例えば、タスク結果解析部28は、タスク処理部40によるレストラン検索処理の結果として、検索された情報が掲載されたWebページのタイトル及びURL(Uniform Resource Locator)を取得する。
異常検知部29は、応答文生成部21が生成した応答文に基づいて、スロット31が保持する用語が、ユーザの発話の内容と適合しないものとなったことを異常として検出する処理部である。この異常を検出処理のことを適否判定ともいう。具体的には、異常検知部29は、スロット31が保持する用語に基づいて音声対話装置20により行われる処理の結果に基づいて適否判定を行う。
異常検知部29は、より具体的には、応答文生成部21が生成した応答文を上記処理の結果として取得し、取得した応答文に対して異常検知処理を行うことにより異常を検出する。異常を検出した場合、異常検知部29がシーケンス制御部23等に通知し、この通知に基づいて操作部25等による修復処理が行われる。異常検知部29は、判定部に相当する。
提示制御部30は、表示装置10によりユーザに提示するための提示データを生成し、表示装置10に出力する処理部である。提示制御部30は、タスク処理部40から処理結果を取得し、ユーザに効果的に処理結果を閲覧させるために表示装置10の画面上の位置を整え、また、表示装置10に出力するのに適したデータ形式に変換した上で、提示データを表示装置10に出力する。
なお、音声対話装置20の一部又は全部の機能、及び、タスク処理部40は、音声合成部12等同様、クラウドサーバとして実現されてもよい。
図2は、本実施の形態に係る音声対話システム1による提示の説明図である。図2に示される説明図は、タスク処理部40による処理結果を表示装置10がユーザに提示するときの表示画面に表示される画像の一例である。
表示画面内の左側には、属性を示す文字列201〜205が表示されている。文字列201〜205は、複数のスロット31それぞれの属性を示す文字列である。
表示画面内の右側には、用語211〜215が表示されている。用語211〜215は、それぞれ、文字列201〜205の属性に対応付けられたスロット31が保持している用語である。
表示画面内の下側には、文字列206及び検索情報216が示されている。文字列206は、文字列206の下方に表示されるものが検索結果であることを示す文字列である。結果情報216は、用語211〜215に基づいてタスク処理部40がレストラン検索を行った結果を示す情報である。
このように、対話の内容と、その対話の内容に基づくタスク処理部40による処理結果である結果情報とが表示装置10に表示され、ユーザは、対話の内容が反映された処理結果を知ることができる。
なお、表示画面に表示される画像は、図2に示されるものに限定されるわけではなく、表示される情報、その配置などの表示の有無、表示位置は、任意に変更されてよい。
図3は、本実施の形態に係る対話シーケンス及び履歴情報の説明図である。
図3には、対話シーケンス310、履歴テーブル320、及び、検索結果330が、対話シーケンスの時系列に併せて示されている。なお、図3に示される一列は、1つの時点に対応している。この一列のことを1レコードともいう。
対話シーケンス310は、対話におけるユーザによる発話と音声対話装置20による応答とを時系列で並べたデータである。
時刻情報311(タイムスタンプ)は、ユーザによる発話又は音声対話装置20による応答があった時刻を示す時刻情報である。
発話312は、当該時刻におけるユーザによる発話を示す発話データである。具体的には、発話312は、発話データ取得部22が、マイク13及び音声認識部14を介して取得したユーザの音声による発話を示す発話データである。
応答313は、当該時刻における音声対話装置20による応答を示す応答文である。具体的には、応答313は、応答文生成部21が、シーケンス制御部23からの応答指示を受けて生成するものである。
履歴テーブル320は、必須スロット群321と、オプションスロット群322と、アクション323と、履歴ポインタ324との各情報を有する。履歴テーブル320は、履歴テーブル32に格納されている、スロット31の履歴を示す情報であり、対話シーケンス310の時刻情報311の時系列に合わせて示されている。履歴テーブル320は、履歴テーブル32の一例である。
必須スロット群321は、スロット31のうちの必須スロットに、当該時点において保持されていた用語である。必須スロット群321には、例えば、「料理名」、「地域」及び「予算」の属性の用語が含まれる。
オプションスロット群322は、スロット31のうちのオプションスロットに、当該時点において保持されていた用語である。オプションスロット群322には、例えば、「個室の有無」及び「駐車場の有無」の属性の用語が含まれる。
アクション323は、当該時点において音声対話装置20が実行した処理を示す情報であり、複数の情報が格納されることもある。例えば、ある属性のスロット31に新たな用語を保持させた場合には、そのことを示すために、その属性の名称と、「登録」の文字列とが当該時点に設定される。また、タスク制御部24がタスク処理部40に用語を出力して情報検索をさせた時点には、「検索」の文字列が設定される。また、操作部25が、スロット31が保持している用語を所定の時点におけるものに変更することで修復した時点には、「修復」の文字列が設定される。
履歴ポインタ324は、解析部26及び操作部25による修復処理の際に参照先として用いられるレコードを特定する情報である。具体的には、修復処理によりスロット31に格納される用語が変更されるレコードが「修復先」と設定され、その修復処理により新たにスロット31に格納される用語が既に格納されているレコードが「修復元」と設定される。
検索結果330は、当該時点におけるタスク処理部40による検索処理の結果の件数である。検索結果330は、タスク結果解析部28により設定されるものである。
図3に示される対話シーケンスは、ユーザが、検索条件を変えながら、順次、異なる検索条件でレストラン検索を行うための対話において、対話の内容をユーザが意図する過去の時点におけるものに変更する場合のものである。
レコードR1〜R4に対応する時点において、順次、ユーザによる発話に含まれる用語が発話データ取得部22等により取得され、取得された用語のそれぞれが当該用語の属性に対応したスロット31に格納される。
レコードR4に対応する時点において、必須スロット群に含まれるスロット31のうち「予算」のスロット31が用語を保持していないので、シーケンス制御部23及び応答文生成部21は、「予算」のスロット31に格納されるべき用語をユーザに発話させるための応答を行う。
レコードR5に対応する時点において、ユーザが上記応答に従い、予算を1万円とする意図で、「10,000円(Ichiman-en)」と発話する。しかし、この発話を音声認識部14が「今市(Imaichi)」と誤認識し、さらに発話データ取得部22が「今市」を地域の名称であると判断した。これにより、「地域」のスロット31が保持する用語が、「赤坂」から「今市」に変更されることで更新される。
レコードR6に対応する時点において、依然として「予算」のスロット31が用語を保持していないので、シーケンス制御部23及び応答文生成部21は、「予算」のスロット31に格納されるべき用語をユーザに発話させるための応答を行う。
レコードR7に対応する時点において、ユーザが上記応答に従い、予算を1万円とする意図で、再び「10,000円(Ichiman-en)」と発話する。しかし、この発話を音声認識部14が「今市(Imaichi)」と再び誤認識し、上記同様に発話データ取得部22が「地域」のスロット31に用語「今市」を格納する。この格納の前後で、「地域」のスロット31は同じ用語を保持している。
レコードR8に対応する時点において、再び、シーケンス制御部23及び応答文生成部21は、「予算」のスロット31に格納されるべき用語をユーザに発話させるための応答を行う。このとき、レコードR7に対応する時点における格納の前後で、「地域」のスロット31が同じ用語を保持したことから、応答文生成部21は、音声認識部14により正しく音声認識されやすい発話をユーザに行わせるための応答文である特別応答文を生成する。特別応答文については、後で説明する。
レコードR9に対応する時点において、ユーザが上記応答に従い、予算を1万円とする意図で、正しく音声認識されやすいように、「予算は10,000円で(Yosan-wa-Ichiman-en-de)」と発話する。
レコードR10に対応する時点において、ユーザによる発話に含まれる予算に関する用語「10,000円」が発話データ取得部22等により取得され、スロット31が保持している用語に基づいた検索処理が行われる。
このようにすることで、音声対話装置20は、音声認識における誤認識に起因して生ずる対話の内容とユーザとの意図とのずれを、ユーザの音声による発話に基づいて修正することができる。このように、音声対話装置20は、ユーザとの対話の内容を簡易な方法により修正することができる。
[1−2.動作]
以上のように構成された音声対話装置20及び音声対話システム1について、その動作を以下に説明する。
以上のように構成された音声対話装置20及び音声対話システム1について、その動作を以下に説明する。
図4は、本実施の形態に係る音声対話装置20によるメイン処理のフロー図である。
ステップS101において、マイク13は、ユーザによる発話の音声を取得し、取得した音声に基づいて音声信号を生成する。ここで、ユーザによる発話の音声とは、例えば「中華が食べたい」又は「守口で」というようにレストラン検索のための用語を含む音声である。
ステップS102において、音声認識部14は、ステップS101でマイク13が生成した音声信号に対して音声認識処理を行うことで、ユーザによる発話の発話データを生成する。この音声認識処理において、誤認識が生じ得る。
ステップS103において、発話データ取得部22は、ステップS102で音声認識部14が生成した発話データを取得する。
ステップS104において、シーケンス制御部23は、ステップS103で発話データ取得部22が取得した発話データが空(から)であるか否かを判定する。
ステップS104で発話データが空であるとシーケンス制御部23が判定した場合(ステップS104で「Y」)、ステップS105に進む。一方、発話データが空でないと判定した場合(ステップS104で「N」)、ステップS121に進む。
ステップS105において、シーケンス制御部23は、操作部25を利用して発話データに含まれる用語をスロット31に格納する。具体的には、シーケンス制御部23は、発話データに含まれる用語のそれぞれについて当該用語の属性を判定し、当該用語の属性に一致する属性を有するスロット31に当該用語を格納する。例えば、シーケンス制御部23は、発話データ「中華が食べたい」に含まれる用語「中華」が、料理名の属性を有する用語であると判定し、用語「中華」を料理名の属性を有するスロット31に格納する。なお、このとき、シーケンス制御部23は、スロット31に格納される用語が本来の名称の略称又は俗称等であるような場合には、本来の名称に変換した上でスロット31に格納してもよい。具体的には、シーケンス制御部23は、用語「中華」が「中華料理」を短縮した名称(略称)であると判定し、スロット31に「中華料理」を格納するようにしてもよい。
ステップS106において、操作部25及び提示制御部30は、スロット31が保持している用語を表示装置10により表示する。
ステップS107において、操作部25等は、必要な場合に音声認識処理の誤認識を修復するための修復処理を行う。修復処理の詳細については、後で詳細に説明する。
ステップS108において、解析部26は、必須スロット群の全てのスロット31に用語が格納されているか否か、つまり、必須スロット群の全てのスロット31が用語を保持しているか否かを判定する。
ステップS108において全てのスロット31に用語が格納されたと解析部26が判定した場合(ステップS108で「Y」)、ステップS109に進む。一方、全てのスロット31に用語が格納されていないと解析部26が判定した場合(ステップS108で「N」)、つまり、必須スロット群のうちの少なくとも1つのスロット31が空である場合、ステップS131に進む。
ステップS109において、シーケンス制御部23は、タスク処理をタスク処理部40に実行させるための実行指示をタスク制御部24に行う。このとき、操作部25は、履歴テーブル32に検索タスクを実行したことを記録する。具体的には、操作部25は、履歴テーブル320における現時点のアクション323に「検索」を設定する。
ステップS110において、タスク制御部24は、ステップS109でのシーケンス制御部23による実行指示に基づいて、スロット31が保持している用語をタスク処理部40に出力し、タスク処理部40に検索処理を実行させる。タスク処理部40は、タスク制御部24が出力した用語を取得し、取得した用語を検索語として用いて検索処理を行い、検索結果を出力する。
ステップS111において、提示制御部30は、ステップS110でタスク処理部40が出力した検索結果を取得し、取得した検索結果を、表示装置10によりユーザに提示するのに適切な形式(例えば、図2のような表示態様)に成形して表示装置10に出力する。表示装置10は、提示制御部30が出力した検索結果を取得し、表示画面に表示する。
ステップS112において、シーケンス制御部23は、ユーザに対して次の発話を促すための応答指示を、応答文生成部21に対して行う。
ステップS113において、応答文生成部21は、応答指示に基づいて応答文を生成する。また、応答文生成部21は、生成した応答文を音声合成部12に出力し、当該応答文を音声としてスピーカ11より出力し、ユーザに聴取させる。
ステップS113の処理が終了したら、再びステップS101の処理を実行する。
ステップS121において、シーケンス制御部23は、ユーザに対して再発話(前回と同じ発話を行うこと)を促すための応答指示を、応答文生成部21に対して行う。ステップS104で発話データが空と判定されたことは、マイク13が何らかの音を取得したにもかかわらずその音から音声認識部14が発話データを取得することができなかったことを意味している。よって、ユーザに対して前回と同じ発話を行うことを要請することで、発話データを取得することができると期待される。
ステップS131において、シーケンス制御部23は、ユーザに対して次の発話を促すための応答指示を、応答文生成部21に対して行う。シーケンス制御部23は、例えば、必須スロット群に含まれるスロット31のうち、用語を保持していないものがある場合に、用語を保持していないスロット31が保持すべき用語をユーザに発話させるための応答文を生成する応答指示を行う。例えば、「予算」のスロット31が用語を保持していない場合、「予算はいくらですか」という応答文を生成する応答指示を行う。
ステップS132において、異常検知部29は、ステップS131で応答文生成部21が生成した応答文を取得し、取得した応答文に基づいて異常検知処理を行う。異常検知処理の詳細については、後で詳細に説明する。
ステップS133において、ステップS132の異常検知処理で異常が検出されたか否かを判定する。異常が検出された場合(ステップS133で「Y」)には、ステップS134へ進む。一方、異常が検出されなかった場合(ステップS133で「N」)には、ステップSS113に進む。
ステップS134において、シーケンス制御部23は、音声認識部14により正しく音声認識されやすい発話をユーザに行わせるための応答文である特別応答文を応答文生成部21が生成するように応答指示を行う。この応答指示のことを特別応答指示ともいう。特別応答文は、例えば、『「予算はA円で」のような言い方でお願いします』というようなものである。ステップS134の後、ステップS113を行う。
図5は、本実施の形態に係る音声対話装置20による異常検知処理のフロー図である。図5に示されるフロー図は、図4におけるステップS132の処理を詳細に示すものであり、スロット31が保持している用語が、ユーザの発話の内容と適合しているか否かを判定する処理の一例である。
ステップS201において、異常検知部29は、ステップS131で応答文生成部21が生成した応答文が、応答文生成部21が前回生成した応答文と同じであるか否かを判定する。
ステップS201において、生成した応答文が前回のものと同じであると判定した場合、ステップS202に進む。一方、生成した応答文が前回のものと同じでないと判定した場合、ステップS211に進む。
ステップS202において、異常検知部29は、同一応答回数Nをインクリメント(1加算)する。
ステップS203において、異常検知部29は、Nが1より大きいか否かを判定する。なお、Nが1より大きいか否かを判定するのに代えて、Nが所定のT(Tは2以上の整数)より大きいか否かを判定してもよい。
ステップS204において、異常検知部29は、異常フラグをアサート(有効化)する。異常フラグとは、ユーザとの対話の内容としてスロット31が保持する用語が、ユーザの発話の内容と適合していないことを示すフラグであり、対話の内容を修復する修復処理を実行する条件となるものである。異常フラグは、適切な記憶領域(例えば、メモリ27内の所定の領域)に格納される。
ステップS211において、異常検知部29は、同一応答回数Nをクリア(0をセット)する。
上記ステップS201において生成した応答文が前回生成した応答文と同じであると判定されたことは、ステップS101においてユーザによる新たな発話が取得されたにもかかわらずスロット31が保持する用語に変化がないことを意味している。つまり、音声対話装置20が、ユーザの発話の内容を正しく取得できていない可能性がある。そこで、このような判定が(T+1)回以上繰り返された場合に、音声対話装置20が取得した対話の内容(つまり、スロット31が保持している用語)が、ユーザの発話の内容と適合していないと判断して、異常検知処理を実行するためのフラグを有効化するのである。
なお、上記ステップS201の判定において、異常検知部29は、生成した応答文が前回のものと同じであっても、前回の応答文を生成した時刻と、ステップS131で応答文生成部21が応答文を生成した時刻との時間差が所定時間以上である場合には、生成した応答文が前回のものと同じでない(つまり、スロット31が保持している用語がユーザの発話の内容と適合している)と判定するようにしてもよい。また、この場合に、異常検知部29は、上記ステップS201の判定を行わないようにしてもよい。上記所定時間は、ユーザが、音声対話装置20との対話が一連の対話であると認識する最大の時間として定められるものであり、例えば、10分又は1時間というように設定されるものである。ユーザが一連の対話であると認識する時間より過去の応答文と一致したとしても、ユーザの発話の内容との適否を正しく判定することができないと考えられるからである。
以上の一連の処理により、ステップS131で応答文生成部21が生成した応答文に基づいて、修復処理を実行する必要であるか否かを適切に決定することができる。
図6は、本実施の形態に係る音声対話装置20による修復処理のフロー図である。図7は、本実施の形態に係る音声対話装置20による修復処理の説明図である。
図6に示されるフロー図、及び、図7に示される説明図は、図4におけるステップS107の処理を詳細に示すものであり、スロット31が保持している用語を修復する処理の一例を示すものである。また、図7は、図3の対話シーケンス及び履歴情報のうち、修復処理に関わる部分を抜き出したものである。図7の(a)は、修復処理が行われる前のものであり、図7の(b)は、修復処理が行われた後のものである。
ステップS301において、解析部26は、異常フラグがアサートされているか否かを判定する。異常フラグがアサートされている場合(ステップS301で「Y」)、ステップS302を実行する。一方、異常フラグがアサートされていない場合(ステップS301で「N」)、図6の一連の処理を終了する。
ステップS302において、解析部26は、履歴テーブル320内のアクション323として「修復」を含むレコードを検索する。
ステップS303において、解析部26がステップS206で「修復」を含むレコードを発見したか否かを判定する。上記レコードを発見した場合(ステップS303で「Y」)には、ステップS304を実行する。一方、上記レコードを発見しない場合(ステップS303で「N」)には、ステップS321を実行する。
ステップS304において、解析部26は、ステップS303で発見した「修復」を含むレコードから、現在時点に対応するレコード(「現在レコード」ともいう)までの範囲を、以降の処理の処理対象として決定する。
ステップS321において、解析部26は、履歴テーブル320の先頭レコードから、現在レコードまでの範囲を、以降の処理の処理対象として決定する。
ステップS305において、解析部26は、履歴テーブル320のアクション323として「更新」を含むレコードのスロット31が保持している用語を取得する。具体的には、図7の(a)において、アクション323として「更新」を含むレコードであるレコードR102及びR112を特定し、レコードR102でスロット31Aが保持している用語としてAを、レコードR112でスロット31Aが保持している用語としてBをそれぞれ取得する。
ステップS306において、解析部26は、ステップS305で取得した用語に基づいて、保持する用語が更新前と同一であるスロットとレコードとを特定する。具体的には、図7の(a)において、保持する用語が更新前と同一であるスロットとしてスロット31Aを特定し、レコードとしてR112を特定する。
ステップS307において、解析部26は、ステップS306でスロットとレコードとを特定できたか否かを判定する。特定できた場合(ステップS307で「Y」)には、ステップS308へ進む。一方、特定できない場合(ステップS307で「N」)には、ステップS311へ進む。
ステップS308において、操作部25は、ステップS306で特定したスロットが、特定したレコードにおいて保持している用語と異なる用語を保持しているレコードの履歴ポインタとして「修復元」を登録する。より具体的には、特定したスロットが、特定したレコードにおいて保持している用語を保持する前の時点のレコードの履歴ポインタとして「修復元」を登録する。具体的には、図7の(b)において、スロット31Aが用語Bを保持する前に保持していた用語Aを有するレコードであるレコードR101の履歴ポインタ324に「修復元」が登録される。なお、操作部25は、特定したスロット31が特定したレコードにおいて保持している用語を保持する前の時点のレコードにおいて、特定したスロット31が何も用語を保持していない場合であっても、当該レコードの履歴ポインタ324に「修復元」を登録する。
ステップS309において、操作部25は、スロット31が保持する用語を修復元のレコードのものに変更することで修復する。具体的には、図7の(b)において、スロット31Aが保持する用語をAに変更した新たなレコードR113が追加される。なお、修復元のレコードにおいてスロット31が何も用語を保持していない場合には、操作部25は、スロット31が保持している用語を削除する、つまり、用語を保持していない状態にすればよい。
ステップS310において、操作部25は、履歴テーブル320における現在レコードのアクション323として「修復」を登録する。具体的には、図7の(b)におけるレコードR113のアクション323に「修復」が登録される。
ステップS311において、操作部25は、異常フラグをネゲート(無効化)する。ステップS311が終了したら、図6に示される一連の処理を終了する。
なお、ステップS309によりスロット31が保持する用語を修復した後に、修復したことを示す応答をユーザに対してしてもよい。この応答は、例えば、「地名をAに戻しました。」というようなものであってよい。
以上の一連の処理により、音声認識の誤認識等によりユーザの意図と異なり更新された対話の内容が、ユーザの音声に基づいてその更新の前のものに変更されることで対話の内容が修正される。
[1−3.効果等]
以上のように、本実施の形態に係る音声対話装置20は、用語を保持するためのスロット31と、スロット31が保持する用語の履歴を記憶している履歴テーブル32と、ユーザの音声による発話を音声認識することで生成される発話データを取得し、取得した発話データに含まれる発話用語をスロット31に保持させることで、スロット31が保持している用語の更新を行う発話データ取得部22と、更新の後にスロット31が保持する用語が、ユーザの発話の内容と適合するか否かについての適否判定を行う異常検知部29と、適否判定において不適合と判定された場合に、履歴テーブル32を参照して、スロット31が保持している用語を、スロット31が更新の前に保持していた用語に変更する操作部25とを備える。
以上のように、本実施の形態に係る音声対話装置20は、用語を保持するためのスロット31と、スロット31が保持する用語の履歴を記憶している履歴テーブル32と、ユーザの音声による発話を音声認識することで生成される発話データを取得し、取得した発話データに含まれる発話用語をスロット31に保持させることで、スロット31が保持している用語の更新を行う発話データ取得部22と、更新の後にスロット31が保持する用語が、ユーザの発話の内容と適合するか否かについての適否判定を行う異常検知部29と、適否判定において不適合と判定された場合に、履歴テーブル32を参照して、スロット31が保持している用語を、スロット31が更新の前に保持していた用語に変更する操作部25とを備える。
これによれば、音声対話装置20は、ユーザの音声に基づいて、保持部が保持する用語とユーザの発話の内容との不適合を、上記変更により解消することができる。上記不適合は、音声認識処理における誤認識に起因するものと想定されるが、このことは、ユーザにとって、対話の内容が正しく音声対話装置20に伝わらなかったと認識される。このような場合に、音声対話装置20は、上記不適合があることを自動的に検出し、不適合を解消することができる。よって、音声対話装置20は、ユーザとの対話の内容を簡易な方法により修正することができる。
また、操作部25は、スロット31が保持する用語を用いて音声対話装置20により行われる処理の結果に基づいて、適否判定を行ってもよい。
これによれば、音声対話装置20は、ユーザとの対話の内容に基づいて上記不適合があることを自動的に検出し、不適合を解消することができる。よって、音声対話装置20は、ユーザとの対話の内容を簡易な方法により修正することができる。
また、音声対話装置20は、さらに、スロット31が保持している用語に基づいて、ユーザによる発話を促すための応答文を生成する応答文生成部21を備え、異常検知部29は、応答文生成部21が生成した応答文を処理の結果として取得し、応答文の内容が所定回数以上連続して同一であるか否かを適否判定において判定し、同一であると判定した場合に不適合と判定してもよい。
これによれば、音声対話装置20は、応答文の内容に基づいて具体的に上記不適合を検出することができる。第一応答文生成部が生成する応答文は、保持部が保持している用語、つまり、それまでのユーザとの対話の内容が反映された情報である。複数回連続して同一の応答文が生成されたということは、ユーザとの対話がユーザが意図したとおりに進んでいないことを意味する。よって、上記不適合をこの応答文から適切に検出することができる。このように、音声対話装置20は、ユーザとの対話の内容を簡易な方法により修正することができる。
また、異常検知部29は、適否判定において、応答文の内容が、所定回数以上連続して同一である場合であっても、応答文が生成された期間が所定時間以上である場合には、適合と判定してもよい。
これによれば、音声対話装置20は、所定時間以上過去の応答文を一致判定の対象から除外することができる。ユーザが1つの対話と認識する時間より過去の発話との同一性は、ユーザとの対話の内容を反映しているとはいえないからである。
また、音声対話装置20は、複数のスロット31を備え、複数のスロット31のそれぞれは、用語の属性に対応付けられており、かつ、当該スロット31部に対応付けられた属性を有する用語を保持するためのスロット31であり、発話データ取得部22は、取得した発話データに含まれる発話用語を、複数のスロット31のうち発話用語の属性に対応付けられたスロット31に保持させてもよい。
これによれば、音声対話装置20は、複数の保持部により属性の異なる用語を保持し、保持している複数の用語を用いてタスク処理部40に処理を行わせることができる。
また、音声対話装置20は、異常検知部29が適否判定において不適合と判定した場合に、正しく音声認識されやすい発話を行わせるための応答文をユーザに対して提示する応答文生成部21を備えてもよい。
これによれば、音声対話装置20は、上記不適合があることを検出した場合に、ユーザの次の発話を誤認識することを防止することができる。
また、本実施の形態に係る音声対話システム1は、用語を保持するためのスロット31と、スロット31が保持する用語の履歴を記憶している履歴テーブル32と、ユーザの音声による発話を音声認識することで生成される発話データを取得し、取得した発話データに含まれる発話用語をスロット31に保持させることで、スロット31が保持している用語の更新を行う発話データ取得部22と、更新の後にスロット31が保持する用語が、ユーザの発話の内容と適合するか否かについての適否判定を行う異常検知部29と、適否判定において不適合と判定された場合に、履歴テーブル32を参照して、スロット31が保持している用語を、スロット31が更新の前に保持していた用語に変更する操作部25と、ユーザの音声を取得して音声信号を生成するマイク13と、マイク13が生成した音声信号に対して音声認識処理を施すことで、発話データ取得部22により取得される発話データを生成する音声認識部14と、スロット31が保持している用語を取得し、取得した用語に対して所定の処理を施し、処理の結果を示す情報を出力するタスク処理部40と、ユーザの音声による発話に対する応答文を生成し、生成した応答文に対して音声合成処理を施すことで音声信号を生成する音声合成部12と、音声合成部12が生成した音声信号を音声として出力するスピーカ11と、タスク処理部40が出力した処理の結果を表示する表示装置10とを備える。
これにより、上記音声対話装置20と同様の効果を奏する。
また、本実施の形態に係る音声対話装置20の制御方法は、音声対話装置20は、用語を保持するためのスロット31と、スロット31が保持する用語の履歴を記憶している履歴テーブル32とを備え、制御方法は、ユーザの音声による発話を音声認識することで生成される発話データを取得し、取得した発話データに含まれる発話用語をスロット31に保持させることで、スロット31が保持している用語の更新を行う取得ステップと、更新の後にスロット31が保持する用語が、ユーザの発話の内容と適合するか否かについての適否判定を行う判定ステップと、適否判定において不適合と判定された場合に、履歴テーブル32を参照して、スロット31が保持している用語を、スロット31が更新の前に保持していた用語に変更する変更ステップとを含む。
これにより、上記音声対話装置20と同様の効果を奏する。
(実施の形態2)
本実施の形態において、ユーザとの対話の内容を簡易な方法により修正する音声対話装置の第二の構成について説明する。本実施の形態に係る音声対話装置が奏する効果は、実施の形態1における音声対話装置と同様である。
本実施の形態において、ユーザとの対話の内容を簡易な方法により修正する音声対話装置の第二の構成について説明する。本実施の形態に係る音声対話装置が奏する効果は、実施の形態1における音声対話装置と同様である。
なお、実施の形態1における構成要素及び処理ステップと同一のものについては、同一の符号を付し、詳細な説明を省略することがある。
[2−1.構成]
図8は、本実施の形態に係る音声対話装置20A及び音声対話システム1Aの構成を示すブロック図である。
図8は、本実施の形態に係る音声対話装置20A及び音声対話システム1Aの構成を示すブロック図である。
図8に示されるように、音声対話システム1Aは、音声対話装置20Aを備える点で実施の形態1における音声対話システム1と異なる。その他の点では、音声対話システム1(図1)と同様である。
音声対話装置20Aは、異常検知部29を内部に備えない応答文生成部21Aを有する点、及び、異常検知部29Aを内部に有する解析部26Aを備える点で実施の形態1における音声対話装置20と異なる。その他の点では、音声対話装置20と同様である。
解析部26Aは、実施の形態1における解析部26同様、メモリ27内のスロット31又は履歴テーブル32を解析し、解析結果に応じた通知をシーケンス制御部23に行う処理部である。また、解析部26Aは、解析結果に基づく異常検知処理のために、解析結果を異常検知部29Aに提供する。
異常検知部29Aは、更新の前にスロット31が保持していた用語(第一用語)と、更新の後にスロット31が保持する用語(第二用語)とを特定し、特定した第一用語と第二用語とを、音声対話装置20による処理の結果として取得し、取得した第一用語と第二用語とが一致するか否かを適否判定において判定する。そして、一致する場合に異常として検出する。異常を検出した場合、異常検知部29がシーケンス制御部23等に通知し、この通知に基づいて操作部25等による修復処理が行われる。異常検知部29は、判定部に相当する。異常検出処理については、後で詳細に説明する。
[1−2.動作]
以上のように構成された音声対話装置20A及び音声対話システム1Aについて、その動作を以下に説明する。
以上のように構成された音声対話装置20A及び音声対話システム1Aについて、その動作を以下に説明する。
図9は、本実施の形態に係る音声対話装置20Aによるメイン処理のフロー図である。図9に示されるメイン処理において、実施の形態1におけるメイン処理(図4)と異なるのは、ステップS107の後にステップS401の異常検知処理が実行される点、及び、ステップS131の後に異常検知処理(図4のステップS132に相当)が実行されない点である。
ステップS401において、異常検知部29Aは、履歴テーブル320を参照し、各レコードにおいてスロット31が保持する用語に基づいて異常検知処理を行う。
図10は、本実施の形態に係る音声対話装置20Aによる異常検知処理のフロー図である。
ステップS501において、異常検知部29Aは、履歴テーブル320のアクション323として、「更新」を含むレコードを検索する。
ステップS502において、異常検知部29Aは、ステップS501で上記レコードを発見したか否かを判定する。上記レコードを発見した場合(ステップS502で「Y」)には、ステップS503に進む。一方、上記レコードを発見しない場合(ステップS502で「N」)には、図10に示される一連の処理を終了する。
ステップS503において、異常検知部29Aは、ステップS502で発見したレコードにおいて、スロット31が保持する用語が、更新前と同一であるか否かを判定する。更新前と同一である場合(ステップS503で「Y」)には、ステップS504に進む。一方、更新前と同一でない場合(ステップS503で「N」)には、図10に示される一連の処理を終了する。
ステップS504において、異常検知部29Aは、異常フラグをアサートする。
上記ステップS502及び503において、スロット31が保持する用語が更新前と同一の用語に更新されたことは、そのスロット31を含むレコードに対応する時点でのユーザによる発話が音声対話装置20Aにより正しく取得されなかった可能性がある。そこで、このような場合に、音声対話装置20Aが取得した対話の内容(つまり、スロット31が保持している用語)が、ユーザが意図する発話の内容と適合していないと判断して、異常検知処理を実行するためのフラグを有効化するのである。
なお、上記ステップS503の判定において、異常検知部29は、スロット31が保持する用語が更新前と同一であっても、その用語が格納された時刻と、当該更新の時刻との時間差が所定時間以上である場合には、生成した応答文が前回のものと同じでない(つまり、スロット31が保持している用語がユーザの発話の内容と適合している)と判定するようにしてもよい。また、この場合に、異常検知部29は、上記ステップS201の判定を行わないようにしてもよい。上記所定時間は、ユーザが、音声対話装置20Aとの対話が一連の対話であると認識する最大の時間として定められるものであり、例えば、10分又は1時間というように設定されるものである。ユーザが一連の対話であると認識する時間より過去の応答文と一致したとしても、ユーザの発話の内容との適否を正しく判定することができないと考えられるからである。
なお、修復処理(図9のステップS107)実施の形態1におけるものと同じであるので説明を省略する。ただし、本実施の形態における修復処理では、スロット31が保持する用語を変更することで修復する前に、当該修復を行ってよいかどうかをユーザに問い合わせるための応答を行ってもよい。この応答は、例えば、『地名が2回以上「今市」に設定されました。異常状態と思われますので、地名を赤坂に戻しましょうか』というものである。そして、この応答に対してユーザが肯定的な応答をした場合のみ、当該修復を行うようにする。これにより、対話の内容をユーザの意図に反して変更してしまうことを回避することができる。
なお、上記説明では、ステップS105において用語をスロット31に格納した後にステップS401において異常検知処理を行う例を説明したが、このようにする代わりに、スロット31に格納すべき用語が決定した後に異常検知処理を行うことも可能である。その場合、上記説明において、スロット31に格納した用語となっているところを、スロット31に格納することに決定した用語というように解釈するものとすればよい。
[2−3.効果等]
以上のように、本実施の形態に係る音声対話装置20Aは、用語を保持するためのスロット31と、スロット31が保持する用語の履歴を記憶している履歴テーブル32と、ユーザの音声による発話を音声認識することで生成される発話データを取得し、取得した発話データに含まれる発話用語をスロット31に保持させることで、スロット31が保持している用語の更新を行う発話データ取得部22と、更新の後にスロット31が保持する用語が、ユーザの発話の内容と適合するか否かについての適否判定を行う異常検知部29と、適否判定において不適合と判定された場合に、履歴テーブル32を参照して、スロット31が保持している用語を、スロット31が更新の前に保持していた用語に変更する操作部25とを備え、異常検知部29は、適否判定において、更新の前にスロット31が保持していた第一用語と、更新の後にスロット31が保持する第二用語とを特定し、特定した第一用語と第二用語とを処理の結果として取得し、取得した第一用語と第二用語とが一致するか否かを適否判定において判定し、一致する場合に不適合と判定する。
以上のように、本実施の形態に係る音声対話装置20Aは、用語を保持するためのスロット31と、スロット31が保持する用語の履歴を記憶している履歴テーブル32と、ユーザの音声による発話を音声認識することで生成される発話データを取得し、取得した発話データに含まれる発話用語をスロット31に保持させることで、スロット31が保持している用語の更新を行う発話データ取得部22と、更新の後にスロット31が保持する用語が、ユーザの発話の内容と適合するか否かについての適否判定を行う異常検知部29と、適否判定において不適合と判定された場合に、履歴テーブル32を参照して、スロット31が保持している用語を、スロット31が更新の前に保持していた用語に変更する操作部25とを備え、異常検知部29は、適否判定において、更新の前にスロット31が保持していた第一用語と、更新の後にスロット31が保持する第二用語とを特定し、特定した第一用語と第二用語とを処理の結果として取得し、取得した第一用語と第二用語とが一致するか否かを適否判定において判定し、一致する場合に不適合と判定する。
これによれば、音声対話装置20Aは、更新前後に保持部が保持する用語に基づいて具体的に上記不適合を検出することができる。保持部が保持する用語が更新前後で一致するということは、音声対話装置20Aとユーザとの対話がユーザが意図したとおりに進んでいないことを意味する。よって、上記不適合をこの応答文から適切に検出することができる。このように、音声対話装置20Aは、ユーザとの対話の内容を簡易な方法により修正することができる。
また、異常検知部29は、適否判定において、第一用語と第二用語とが一致する場合であっても、第一用語がスロット31に保持されてから所定時間経過後に更新が行われる場合には、適合と判定してもよい。
これによれば、音声対話装置20Aは、所定時間以上過去の用語を一致判定の対象から除外することができる。ユーザが1つの対話と認識する時間より過去に保持部に保持されていた用語との同一性は、ユーザとの対話の内容を反映しているとはいえないからである。
(変形例)
図11は、上記各実施の形態の変形例に係る音声対話装置20Bの構成を示すブロック図である。
図11は、上記各実施の形態の変形例に係る音声対話装置20Bの構成を示すブロック図である。
図11に示されるように、音声対話装置20Bは、用語を保持するための保持部104と、保持部104が保持する用語の履歴を記憶している記憶部105と、ユーザの音声による発話を音声認識することで生成される発話データを取得し、取得した発話データに含まれる発話用語を保持部104に保持させることで、保持部104が保持している用語の更新を行う取得部101と、更新の後に保持部104が保持する用語が、ユーザの発話の内容と適合するか否かについての適否判定を行う判定部102と、適否判定において不適合と判定された場合に、記憶部105を参照して、保持部104が保持している用語を、保持部104が更新の前に保持していた用語に変更する変更部103とを備える。
図12は、上記各実施の形態の変形例に係る音声対話装置20Bの制御方法を示すフロー図である。
図12に示されるように、ユーザとの音声による対話を行う音声対話装置20Bの制御方法は、ユーザの音声による発話を音声認識することで生成される発話データを取得し、取得した発話データに含まれる発話用語を保持部104に保持させることで、保持部104が保持している用語の更新を行う取得ステップ(ステップS601)と、更新の後に保持部104が保持する用語が、ユーザの発話の内容と適合するか否かについての適否判定を行う判定ステップ(ステップS602)と、適否判定において不適合と判定された場合に、記憶部105を参照して、保持部104が保持している用語を、保持部104が更新の前に保持していた用語に変更する変更ステップ(ステップS603)とを含む。
以上のように、本開示における技術の例示として、実施の形態を説明した。そのために、添付図面および詳細な説明を提供した。
したがって、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、上記実装を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
また、上述の実施の形態は、本開示における技術を例示するためのものであるから、特許請求の範囲またはその均等の範囲において種々の変更、置き換え、付加、省略などを行うことができる。
本開示は、簡易な方法により、ユーザとの対話の内容を修正することができる音声対話装置として有用である。例えば、本開示は、カーナビゲーション装置、スマートフォン(高機能携帯電話端末)、携帯電話端末、又は、PC(Personal Computer)のアプリケーションに適用することができる。
1、1A 音声対話システム
10 表示装置
11 スピーカ
12 音声合成部
13 マイク
14 音声認識部
20、20A、20B 音声対話装置
21、21A 応答文生成部
22 発話データ取得部
23 シーケンス制御部
24 タスク制御部
25 操作部
26、26A 解析部
27 メモリ
28 タスク結果解析部
29、29A 異常検知部
30、106 提示制御部
31、31A スロット
32、320 履歴テーブル
40 タスク処理部
101 取得部
102 判定部
103 変更部
104 保持部
105 記憶部
310 対話シーケンス
311 時刻情報
312 発話
313 応答
321 必須スロット群
322 オプションスロット群
323 アクション
324 履歴ポインタ
330 検索結果
10 表示装置
11 スピーカ
12 音声合成部
13 マイク
14 音声認識部
20、20A、20B 音声対話装置
21、21A 応答文生成部
22 発話データ取得部
23 シーケンス制御部
24 タスク制御部
25 操作部
26、26A 解析部
27 メモリ
28 タスク結果解析部
29、29A 異常検知部
30、106 提示制御部
31、31A スロット
32、320 履歴テーブル
40 タスク処理部
101 取得部
102 判定部
103 変更部
104 保持部
105 記憶部
310 対話シーケンス
311 時刻情報
312 発話
313 応答
321 必須スロット群
322 オプションスロット群
323 アクション
324 履歴ポインタ
330 検索結果
Claims (10)
- 用語を保持するための保持部と、
前記保持部が保持する用語の履歴を記憶している記憶部と、
ユーザの音声による発話を音声認識することで生成される発話データを取得し、取得した前記発話データに含まれる発話用語を前記保持部に保持させることで、前記保持部が保持している用語の更新を行う取得部と、
前記更新の後に前記保持部が保持する用語が、前記ユーザの発話の内容と適合するか否かについての適否判定を行う判定部と、
前記適否判定において不適合と判定された場合に、前記記憶部を参照して、前記保持部が保持している用語を、前記保持部が前記更新の前に保持していた用語に変更する変更部とを備える
音声対話装置。 - 前記判定部は、前記保持部が保持する用語を用いて前記音声対話装置により行われる処理の結果に基づいて、前記適否判定を行う
請求項1に記載の音声対話装置。 - 前記音声対話装置は、さらに、
前記保持部が保持している用語に基づいて、ユーザによる発話を促すための応答文を生成する第一応答文生成部を備え、
前記判定部は、前記第一応答文生成部が生成した応答文を前記処理の結果として取得し、前記応答文の内容が所定回数以上連続して同一であるか否かを前記適否判定において判定し、同一であると判定した場合に不適合と判定する
請求項2に記載の音声対話装置。 - 前記判定部は、前記適否判定において、
前記応答文の内容が、所定回数以上連続して同一である場合であっても、前記応答文が生成された期間が所定時間以上である場合には、適合と判定する
請求項3に記載の音声対話装置。 - 前記音声対話装置は、複数の前記保持部を備え、
複数の前記保持部のそれぞれは、用語の属性に対応付けられており、かつ、当該保持部に対応付けられた属性を有する用語を保持するための保持部であり、
前記取得部は、
取得した前記発話データに含まれる発話用語を、前記複数の保持部のうち前記発話用語の属性に対応付けられた保持部に保持させる
請求項1〜4のいずれか1項に記載の音声対話装置。 - 前記音声対話装置は、
前記判定部が前記適否判定において不適合と判定した場合に、正しく音声認識されやすい発話を行わせるための応答文をユーザに対して提示する第二応答文生成部を備える
請求項1〜5のいずれか1項に記載の音声対話装置。 - 前記判定部は、前記適否判定において、
前記更新の前に前記保持部が保持していた第一用語と、前記更新の後に前記保持部が保持する第二用語とを特定し、特定した前記第一用語と前記第二用語とを前記処理の結果として取得し、取得した前記第一用語と前記第二用語とが一致するか否かを前記適否判定において判定し、一致する場合に不適合と判定する
請求項2に記載の音声対話装置。 - 前記判定部は、前記適否判定において、
前記第一用語と前記第二用語とが一致する場合であっても、前記第一用語が前記保持部に保持されてから所定時間経過後に前記更新が行われる場合には、適合と判定する
請求項7に記載の音声対話装置。 - 用語を保持するための保持部と、
前記保持部が保持する用語の履歴を記憶している記憶部と、
ユーザの音声による発話を音声認識することで生成される発話データを取得し、取得した前記発話データに含まれる発話用語を前記保持部に保持させることで、前記保持部が保持している用語の更新を行う取得部と、
前記更新の後に前記保持部が保持する用語が、前記ユーザの発話の内容と適合するか否かについての適否判定を行う判定部と、
前記適否判定において不適合と判定された場合に、前記記憶部を参照して、前記保持部が保持している用語を、前記保持部が前記更新の前に保持していた用語に変更する変更部と、
ユーザの音声を取得して音声信号を生成するマイクと、
前記マイクが生成した前記音声信号に対して音声認識処理を施すことで、前記取得部により取得される前記発話データを生成する音声認識部と、
前記保持部が保持している用語を取得し、取得した前記用語に対して所定の処理を施し、前記処理の結果を示す情報を出力する処理部と、
前記ユーザの音声による発話に対する応答文を生成し、生成した前記応答文に対して音声合成処理を施すことで音声信号を生成する音声合成部と、
前記音声合成部が生成した前記音声信号を音声として出力するスピーカと、
前記処理部が出力した前記処理の結果を表示する表示装置とを備える
音声対話システム。 - 音声対話装置の制御方法であって、
前記音声対話装置は、
用語を保持するための保持部と、
前記保持部が保持する用語の履歴を記憶している記憶部とを備え、
前記制御方法は、
ユーザの音声による発話を音声認識することで生成される発話データを取得し、取得した前記発話データに含まれる発話用語を前記保持部に保持させることで、前記保持部が保持している用語の更新を行う取得ステップと、
前記更新の後に前記保持部が保持する用語が、前記ユーザの発話の内容と適合するか否かについての適否判定を行う判定ステップと、
前記適否判定において不適合と判定された場合に、前記記憶部を参照して、前記保持部が保持している用語を、前記保持部が前記更新の前に保持していた用語に変更する変更ステップとを含む
制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015039542A JP2018063271A (ja) | 2015-02-27 | 2015-02-27 | 音声対話装置、音声対話システム、および、音声対話装置の制御方法 |
PCT/JP2016/000854 WO2016136207A1 (ja) | 2015-02-27 | 2016-02-18 | 音声対話装置、音声対話システム、音声対話装置の制御方法、および、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015039542A JP2018063271A (ja) | 2015-02-27 | 2015-02-27 | 音声対話装置、音声対話システム、および、音声対話装置の制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018063271A true JP2018063271A (ja) | 2018-04-19 |
Family
ID=56788160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015039542A Pending JP2018063271A (ja) | 2015-02-27 | 2015-02-27 | 音声対話装置、音声対話システム、および、音声対話装置の制御方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2018063271A (ja) |
WO (1) | WO2016136207A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6205039B1 (ja) * | 2016-09-16 | 2017-09-27 | ヤフー株式会社 | 情報処理装置、情報処理方法、およびプログラム |
CN110959174A (zh) * | 2017-08-01 | 2020-04-03 | 索尼公司 | 信息处理装置、信息处理方法以及程序 |
JP7279636B2 (ja) * | 2017-08-17 | 2023-05-23 | ソニーグループ株式会社 | 情報処理装置、情報処理方法、およびプログラム |
CN108630201B (zh) * | 2018-03-07 | 2020-09-29 | 北京墨丘科技有限公司 | 一种用于建立设备关联的方法和装置 |
CN111326137A (zh) * | 2018-12-13 | 2020-06-23 | 允匠智能科技(上海)有限公司 | 一种基于办公智能化的语音机器人交互系统 |
CN110910886B (zh) * | 2019-12-17 | 2022-09-20 | 广州三星通信技术研究有限公司 | 人机交互方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07219590A (ja) * | 1994-01-31 | 1995-08-18 | Canon Inc | 音声情報検索装置及び方法 |
JP3945187B2 (ja) * | 2001-05-25 | 2007-07-18 | 三菱電機株式会社 | 対話管理装置 |
US7228278B2 (en) * | 2004-07-06 | 2007-06-05 | Voxify, Inc. | Multi-slot dialog systems and methods |
JP4679254B2 (ja) * | 2004-10-28 | 2011-04-27 | 富士通株式会社 | 対話システム、対話方法、及びコンピュータプログラム |
JP2008051895A (ja) * | 2006-08-22 | 2008-03-06 | Casio Comput Co Ltd | 音声認識装置および音声認識処理プログラム |
-
2015
- 2015-02-27 JP JP2015039542A patent/JP2018063271A/ja active Pending
-
2016
- 2016-02-18 WO PCT/JP2016/000854 patent/WO2016136207A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2016136207A1 (ja) | 2016-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11823659B2 (en) | Speech recognition through disambiguation feedback | |
JP6588637B2 (ja) | 個別化されたエンティティ発音の学習 | |
US11004444B2 (en) | Systems and methods for enhancing user experience by communicating transient errors | |
US11887590B2 (en) | Voice enablement and disablement of speech processing functionality | |
KR101418163B1 (ko) | 컨텍스트 정보를 이용한 음성 인식 복구 | |
WO2016136207A1 (ja) | 音声対話装置、音声対話システム、音声対話装置の制御方法、および、プログラム | |
JP6726354B2 (ja) | 訂正済みタームを使用する音響モデルトレーニング | |
US10672379B1 (en) | Systems and methods for selecting a recipient device for communications | |
EP3736807A1 (en) | Apparatus for media entity pronunciation using deep learning | |
JP2015176099A (ja) | 対話システム構築支援装置、方法、及びプログラム | |
EP3295457B1 (en) | Automatic visual display of audibly presented options to increase user efficiency and interaction performance | |
US20190073994A1 (en) | Self-correcting computer based name entity pronunciations for speech recognition and synthesis | |
WO2019035373A1 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
US10841411B1 (en) | Systems and methods for establishing a communications session | |
US11705113B2 (en) | Priority and context-based routing of speech processing | |
US11657805B2 (en) | Dynamic context-based routing of speech processing | |
KR20200101103A (ko) | 사용자 입력을 처리하는 전자 장치 및 방법 | |
US11830497B2 (en) | Multi-domain intent handling with cross-domain contextual signals | |
WO2016136208A1 (ja) | 音声対話装置、音声対話システム、および、音声対話装置の制御方法 | |
US20220415311A1 (en) | Early invocation for contextual data processing | |
US11076018B1 (en) | Account association for voice-enabled devices | |
WO2022271555A1 (en) | Early invocation for contextual data processing |