(57)【要約】      （修正有）【課題】ユーザとの対話の内容を簡易な方法により修正する。【解決手段】ユーザとの音声による対話を行う音声対話装置２０Ａは、対話の内容を示す対話情報を保持するための複数の保持部１０３で、複数の保持部のそれぞれが用語の属性に対応付けられており、該属性を有する用語を保持するための複数の保持部と、複数の保持部が保持する用語の履歴を記憶している記憶部１０４と、発話データを取得し、該データに含まれる発話用語を、複数の保持部のうち発話用語の属性に対応付けられた保持部に保持させる取得部１０１と、取得部が取得した発話データに、対話情報を制御するための制御用語が含まれる場合に、記憶部が記憶している履歴を参照して、複数の保持部１０３のそれぞれが保持している用語を、制御用語により特定される過去の時点において保持部が保持していた用語に変更する変更部１０２とを備える。【選択図】図８
2018063272.tif 000002
【特許請求の範囲】
【請求項１】
ユーザとの音声による対話を行う音声対話装置であって、
対話の内容を示す対話情報を保持するための複数の保持部であって、前記複数の保持部のそれぞれが用語の属性に対応付けられており、それぞれが当該保持部に対応付けられた属性を有する用語を保持するための複数の保持部と、
前記複数の保持部が保持する用語の履歴を記憶している記憶部と、
ユーザの音声による発話の内容を示す発話データを取得し、取得した前記発話データに含まれる発話用語を、前記複数の保持部のうち前記発話用語の属性に対応付けられた保持部に保持させる取得部と、
前記取得部が取得した前記発話データに、前記対話情報を制御するための制御用語が含まれる場合に、前記記憶部が記憶している前記履歴を参照して、前記複数の保持部のそれぞれが保持している用語を、前記制御用語により特定される過去の時点において当該保持部が保持していた用語に変更する変更部とを備える
音声対話装置。
【請求項２】
前記制御用語は、
前記対話情報を過去の時点に変更することを示す予め定められた用語である第一用語と、前記予め定められた文字列とは異なる第二用語とを含み、
前記変更部は、
前記取得部が取得した前記発話データに前記第一用語及び前記第二用語が含まれるか否かを判定し、前記第一用語及び前記第二用語が含まれると判定した場合に、前記履歴を参照して、前記複数の保持部のそれぞれが保持している用語を、前記複数の保持部のうち前記第二用語の属性に対応付けられた対応保持部が前記第二用語を保持していた時点において当該保持部が保持していた用語に変更する
請求項１に記載の音声対話装置。
【請求項３】
前記変更部は、
前記記憶部が記憶している前記履歴上のある時点における複数の保持部の状態が所定の条件を満たす場合に、前記時点に復元ポイントを設定し、
前記複数の保持部のそれぞれが保持している用語を変更する際には、前記復元ポイントが設定された時点のうち、前記複数の保持部のうち前記第二用語の属性に対応付けられた保持部が前記第二用語を保持していた時点において当該保持部が保持していた用語に変更する
請求項２に記載の音声対話装置。
【請求項４】
前記音声対話装置は、さらに、
前記複数の保持部のそれぞれが保持している用語を前記対話情報として、前記対話情報に基づいて処理を行う処理部に出力し、前記出力の応答として前記処理の結果を示す情報を取得する外部処理制御部を備える
請求項３に記載の音声対話装置。
【請求項５】
前記処理部は、取得した前記用語を検索語として情報検索を実行し、
前記外部処理制御部は、前記情報検索の結果を前記応答として取得し、
前記音声対話装置は、さらに、
前記外部処理制御部が取得した前記情報検索の結果を前記ユーザに提示するための提示制御部を備える
請求項４に記載の音声対話装置。
【請求項６】
前記変更部は、前記履歴において、前記外部処理制御部が前記情報検索の結果を取得した時点に、前記復元ポイントを設定する
請求項５に記載の音声対話装置。
【請求項７】
前記変更部は、前記履歴において、前記外部処理制御部が前記情報検索の結果を取得した時点であっても、前記情報検索の結果に含まれる情報が０件であった時点には、前記復元ポイントを設定することを禁止する
請求項６に記載の音声対話装置。
【請求項８】
前記変更部は、前記複数の保持部のそれぞれが保持している用語を変更する際に、前記履歴上に２以上の前記復元ポイントがある場合には、２以上の前記復元ポイントのうち前記ユーザにより特定される復元ポイントを用いて、前記用語を変更する
請求項３に記載の音声対話装置。
【請求項９】
前記音声対話装置は、さらに、
２以上の前記復元ポイントのうち前記用語を変更するのに用いる１つの復元ポイントをユーザから受け付けるための応答文を生成する応答文生成部を備える
請求項８に記載の音声対話装置。
【請求項１０】
前記制御用語は、
前記対話情報を過去の時点に変更することを示す予め定められた用語である第一用語と、前記属性の名称である属性名とを含み、
前記変更部は、
前記取得部が取得した前記発話データに前記第一用語及び前記属性名が含まれるか否かを判定し、前記第一用語及び前記属性名が含まれると判定した場合に、前記履歴を参照して、前記複数の保持部のそれぞれが保持している用語を、前記複数の保持部のうち前記属性名により示される属性に対応付けられた対応保持部が現在保持している用語を保持する直前の時点において当該保持部が保持していた用語に変更する
請求項１に記載の音声対話装置。
【請求項１１】
ユーザとの音声による対話を行う音声対話システムであって、
対話の内容を示す対話情報を保持するための複数の保持部であって、前記複数の保持部のそれぞれが用語の属性に対応付けられており、それぞれが当該保持部に対応付けられた属性を有する用語を保持するための複数の保持部と、
前記複数の保持部が保持する用語の履歴を記憶している記憶部と、
ユーザの音声による発話の内容を示す発話データを取得し、取得した前記発話データに含まれる発話用語を、前記複数の保持部のうち前記発話用語の属性に対応付けられた保持部に保持させる取得部と、
前記取得部が取得した前記発話データに、前記対話情報を制御するための制御用語が含まれる場合に、前記記憶部が記憶している前記履歴を参照して、前記複数の保持部のそれぞれが保持している用語を、前記制御用語により特定される過去の時点において当該保持部が保持していた用語に変更する変更部と、
ユーザの音声を取得して音声信号を生成するマイクと、
前記マイクが生成した前記音声信号に対して音声認識処理を施すことで、前記取得部により取得される前記発話データを生成する音声認識部と、
前記複数の保持部が保持している前記対話情報を取得し、取得した前記対話情報に対して所定の処理を施し、前記処理の結果を示す情報を出力する処理部と、
前記ユーザの音声による発話に対する応答文を生成し、生成した前記応答文に対して音声合成処理を施すことで音声信号を生成する音声合成部と、
前記音声合成部が生成した前記音声信号を音声として出力するスピーカと、
前記処理部が出力した前記処理の結果を表示する表示装置とを備える
音声対話システム。
【請求項１２】
ユーザとの音声による対話を行う音声対話装置の制御方法であって、
前記音声対話装置は、
対話の内容を示す対話情報を保持するための複数の保持部であって、前記複数の保持部のそれぞれが用語の属性に対応付けられており、それぞれが当該保持部に対応付けられた属性を有する用語を保持するための複数の保持部と、
前記複数の保持部が保持する用語の履歴を記憶している記憶部とを備え、
前記制御方法は、
ユーザの音声による発話の内容を示す発話データを取得し、取得した前記発話データに含まれる発話用語を、前記複数の保持部のうち前記発話用語の属性に対応付けられた保持部に保持させる取得ステップと、
前記取得ステップで取得した前記発話データに、前記対話情報を制御するための制御用語が含まれる場合に、前記記憶部が記憶している前記履歴を参照して、前記複数の保持部のそれぞれが保持している用語を、前記制御用語により特定される過去の時点において当該保持部が保持していた用語に変更する変更ステップとを含む
制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、音声対話装置、音声対話システム、および、音声対話装置の制御方法に関する。
【背景技術】
【０００２】
特許文献１は、利用者から入力された情報に基づいて、次に入力されると期待される語彙群を利用者が視認可能なように提示する対話列認識装置を開示する。これにより、対話の誤認識に起因して利用者が途方に暮れるという不都合が防止される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−３４２９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本開示は、ユーザとの対話の内容を簡易な方法により修正する音声対話装置を提供する。
【課題を解決するための手段】
【０００５】
本開示における音声対話装置は、ユーザとの音声による対話を行う音声対話装置であって、対話の内容を示す対話情報を保持するための複数の保持部であって、前記複数の保持部のそれぞれが用語の属性に対応付けられており、それぞれが当該保持部に対応付けられた属性を有する用語を保持するための複数の保持部と、前記複数の保持部が保持する用語の履歴を記憶している記憶部と、ユーザの音声による発話の内容を示す発話データを取得し、取得した前記発話データに含まれる発話用語を、前記複数の保持部のうち前記発話用語の属性に対応付けられた保持部に保持させる取得部と、前記取得部が取得した前記発話データに、前記対話情報を制御するための制御用語が含まれる場合に、前記記憶部が記憶している前記履歴を参照して、前記複数の保持部のそれぞれが保持している用語を、前記制御用語により特定される過去の時点において当該保持部が保持していた用語に変更する変更部とを備える。
【発明の効果】
【０００６】
本開示における音声対話装置は、ユーザとの対話の内容を簡易な方法により修正することができる。
【図面の簡単な説明】
【０００７】
【図１】実施の形態に係る音声対話装置及び音声対話システムの構成を示すブロック図。
【図２】実施の形態に係る音声対話システムによる提示の説明図。
【図３】実施の形態に係る対話シーケンス及び履歴情報の第一の説明図。
【図４】実施の形態に係る音声対話装置によるメイン処理のフロー図。
【図５】実施の形態に係る音声対話装置による復元処理のフロー図。
【図６】実施の形態に係る音声対話装置による復元ポイント設定処理のフロー図。
【図７】実施の形態に係る対話シーケンス及び履歴情報の第二の説明図。
【図８】実施の形態の変形例に係る音声対話装置の構成を示すブロック図。
【図９】実施の形態の変形例に係る音声対話装置の制御方法を示すフロー図。
【発明を実施するための形態】
【０００８】
以下、適宜図面を参照しながら、実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
【０００９】
なお、発明者（ら）は、当業者が本開示を十分に理解するために添付図面および以下の説明を提供するのであって、これらによって特許請求の範囲に記載の主題を限定することを意図するものではない。
【００１０】
（実施の形態）
本実施の形態において、ユーザとの対話の内容を簡易な方法により修正する音声対話装置について説明する。本実施の形態に係る音声対話装置は、ユーザとの音声による対話を行うものであり、ユーザとの対話の内容を示す対話情報を生成及び修正し、その対話情報を外部の処理装置に出力する。また、音声対話装置は、外部の処理装置から処理結果を取得しユーザに提示し、さらにユーザとの対話を継続する。このように、音声対話装置は、ユーザとの対話に基づいて、対話情報を生成及び修正しながら、順次、処理結果をユーザに提示するものである。
【００１１】
なお、音声対話装置は、ユーザによるキー入力又はパネルへの接触などの操作が不可能又は困難である場合に有用である。例えば、ユーザが運転しているときにユーザの音声による指示を順次受けながら情報検索をするカーナビゲーション装置などの用途があり得る。また、キー又はパネルのようなユーザインタフェースを有さない音声対話装置でも有用である。
【００１２】
［１−１．構成］
図１は、本実施の形態に係る音声対話装置２０及び音声対話システム１の構成を示すブロック図である。
【００１３】
図１に示されるように、音声対話システム１は、表示装置１０と、スピーカ１１と、音声合成部１２と、マイク１３と、音声認識部１４と、音声対話装置２０と、タスク処理部４０とを備える。
【００１４】
表示装置１０は、表示画面を備える表示装置である。表示装置１０は、音声対話装置２０から取得する表示データに基づいて表示画面に映像を表示する。表示装置１０は、例えば、カーナビゲーション装置、スマートフォン（高機能携帯電話端末）、携帯電話端末、又は、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）などにより実現される。なお、表示装置１０は、音声対話装置２０が提示する情報に基づく映像を表示する装置の例として示したが、表示装置１０の代わりに、音声対話装置２０が提示する情報を音声として出力するスピーカを用いてもよい。このスピーカは、後述のスピーカ１１と共用してもよい。
【００１５】
スピーカ１１は、音声を出力するスピーカである。スピーカ１１は、音声合成部１２から取得する音声信号に基づいて音声を出力する。スピーカ１１が出力した音声は、ユーザに聴取される。
【００１６】
音声合成部１２は、応答文を音声信号に変換する処理部である。音声合成部１２は、音声対話装置２０からユーザへ伝達する情報である応答文を音声対話装置２０から取得し、スピーカにより出力するための音声信号を、取得した応答文に基づいて生成する。
【００１７】
なお、スピーカ１１及び音声合成部１２は、音声対話装置２０の一機能として音声対話装置２０の内部に備えられてもよいし、音声対話装置２０の外部に備えられてもよい。また、音声合成部１２は、音声対話装置２０とインターネット経由で通信可能なように、いわゆるクラウドサーバとして実現されてもよい。その場合、音声合成部１２と音声対話装置２０との接続、及び、音声合成部１２とスピーカ１１との接続は、インターネットを介した通信路を通じてなされる。
【００１８】
マイク１３は、音声を取得するマイクロホンである。マイク１３は、ユーザの音声を取得し、取得した音声に基づく音声信号を出力する。
【００１９】
音声認識部１４は、ユーザの音声を対象として音声認識を行うことで、発話データを生成する処理部である。音声認識部１４は、マイク１３が生成した音声信号を取得し、取得した音声信号に対して音声認識処理を施すことで、ユーザによる発話の発話データを生成する。発話データは、ユーザから音声対話装置２０へ伝達する情報であり、「中華が食べたい」というように、文字（テキスト）で表現されるものである。なお、音声認識処理は、音声信号をテキスト情報に変換するものであるので、テキスト変換処理ということもできる。
【００２０】
なお、マイク１３及び音声認識部１４は、音声合成部１２等と同様、音声対話装置２０の一機能として音声対話装置２０の内部に備えられてもよいし、音声対話装置２０の外部に備えられてもよい。また、音声認識部１４は、音声合成部１２同様、クラウドサーバとして実現されてもよい。
【００２１】
タスク処理部４０は、ユーザと音声対話装置２０との対話の内容に基づいて処理を行い、その処理結果を示す情報又はその関連情報を出力する処理部である。タスク処理部４０による処理は、対話の内容に基づく情報処理であればどのようなものであってもよい。例えば、タスク処理部４０は、インターネット上のＷｅｂページから、対話の内容に適合するレストランのＷｅｂページを検索する検索処理を実行し、その検索結果を出力するものとしてもよく、この場合を以下で説明する。なお、タスク処理部４０による処理の実行単位のことをタスクともいう。また、タスク処理部４０は、処理部に相当する。
【００２２】
なお、タスク処理部４０による処理の他の例として、対話の内容をデータとして蓄積する処理を実行し、その処理の成否を示す情報を出力するものとしてもよい。また、タスク処理部４０は、対話の内容に基づいて複数の電気機器のうち制御対象の電気機器を特定し、その電気機器の固有情報又は動作に関する情報を出力するものとしてもよい。
【００２３】
音声対話装置２０は、ユーザとの音声による対話を行う処理装置である。音声対話装置２０は、ユーザとの対話の内容を示す対話情報を生成及び修正し、その対話情報をタスク処理部４０に出力する。また、音声対話装置２０は、タスク処理部４０から処理結果を取得しユーザに提示し、さらにユーザとの対話を継続する。
【００２４】
音声対話装置２０は、応答文生成部２１と、発話データ取得部２２と、シーケンス制御部２３と、タスク制御部２４と、操作部２５と、解析部２６と、メモリ２７と、タスク結果解析部２８と、提示制御部２９とを備える。
【００２５】
応答文生成部２１は、シーケンス制御部２３から応答指示を取得し、取得した応答指示に基づいて応答文を生成する処理部である。応答文は、音声対話装置２０からユーザへ伝達する情報であり、具体的には、「地域を指定下さい」というようなユーザに対して発話を促すための文章、「承知しました」というようなユーザの発話に対する相槌、又は、「検索します」というような音声対話装置２０の動作を説明する文章である。どのようなときにどのような応答指示をするかについては、後で詳細に説明する。
【００２６】
発話データ取得部２２は、ユーザによる発話の発話データを音声認識部１４から取得する処理部である。ユーザの音声による発話がなされた場合、マイク１３及び音声認識部１４により、上記発話の内容を示す発話データが生成され、この生成された発話データを発話データ取得部２２が取得する。また、発話データ取得部２２が取得する発話データは、対話の内容を過去の時点におけるものに変更するための制御用語を含むこともある。制御用語を含む発話データのことを制御発話データともいう。なお、発話データ取得部２２は、取得部の一機能に相当する。
【００２７】
シーケンス制御部２３は、音声対話装置２０とユーザとの対話の対話シーケンスを制御することで、ユーザとの対話を実現する処理部である。ここで、対話シーケンスとは、対話におけるユーザによる発話と音声対話装置２０による応答とを時系列で並べたデータのことである。なお、シーケンス制御部２３は、取得部の一機能に相当する。
【００２８】
具体的には、シーケンス制御部２３は、ユーザによる発話の発話データを発話データ取得部２２から取得する。そして、取得した発話データ、これまでのユーザとの対話シーケンス、又は、タスク結果解析部２８から取得する処理結果に基づいて、次にユーザに提示すべき応答文を作成する指示（以降、「応答指示」ともいう）を生成し、応答文生成部２１に送る。シーケンス制御部２３がどのような場合にどのような応答指示を生成するかについては、後で具体的に説明する。
【００２９】
また、シーケンス制御部２３は、取得した発話データから用語（発話用語ともいう）を抽出し、抽出した用語を、操作部２５を介して、その用語の属性に対応付けられたスロット３１に格納し、保持させる。ここで、用語とは、単語のように比較的短い語のことをいい、例えば、１つの名詞、又は、１つの形容詞などが１つの用語に相当する。
【００３０】
タスク制御部２４は、音声対話装置２０とユーザとの対話の内容をタスク処理部４０に出力し、出力した対話の内容に基づく処理をタスク処理部４０に実行させる処理部である。具体的には、タスク制御部２４は、複数のスロット３１が保持している用語をタスク処理部４０に出力する。また、タスク制御部２４は、複数のスロット３１の状態についての所定の条件が満たされるか否かを判定し、所定の条件が満たされる場合にのみ、複数のスロット３１が保持している用語をタスク処理部４０に出力するようにしてもよい。なお、タスク制御部２４は、外部処理制御部の一機能に相当する。
【００３１】
操作部２５は、メモリ２７に格納されている対話の内容を示す情報を追加、削除又は変更する処理部である。具体的には、操作部２５は、発話データ取得部２２が取得した発話データに、対話情報を制御するための制御用語が含まれる場合に、履歴テーブル３２を参照して、複数のスロット３１のそれぞれが保持している用語を、制御用語により特定される過去の時点において当該スロット３１が保持していた用語に変更する。また、操作部２５は、タスク結果解析部２８からの指示を受けて、履歴テーブル３２上の所定のレコードに復元ポイントを設定してもよい。なお、操作部２５は、取得部の一機能、及び、変更部の一機能に相当する。
【００３２】
解析部２６は、メモリ２７内のスロット３１又は履歴テーブル３２を解析し、解析結果に応じた通知をシーケンス制御部２３に行う処理部である。具体的には、解析部２６は、スロット３１のうちの必須スロット群のスロットそれぞれが用語を保持しているか否かを判定し、それぞれが用語を保持している場合には、その旨をシーケンス制御部２３に通知する。なお、解析部２６は、変更部の一機能に相当する。
【００３３】
また、解析部２６は、操作部２５を利用して、対話の内容を過去の時点に復元するための復元処理を行う。解析部２６は、復元処理を行う際に、履歴テーブル３２内に設定された復元ポイントが複数あるか否かを判定し、複数の復元ポイントがあると判定した場合には、複数の復元ポイントの中から１つを選択するための条件をシーケンス制御部２３に送る。復元処理の具体的な処理内容については後で詳しく説明する。
【００３４】
メモリ２７は、対話の内容を記憶している記憶装置である。具体的には、メモリ２７は、スロット３１及び履歴テーブル３２を有する。
【００３５】
スロット３１は、対話の内容を示す対話情報を保持するための記憶領域であり、音声対話装置２０に複数備えられる。複数のスロット３１は、それぞれが用語の属性に対応付けられており、それぞれが当該スロット３１に対応付けられた属性を有する用語を保持する。そして、スロット３１のそれぞれに格納された用語全体が、上記対話情報を示している。スロット３１は、１つの用語を保持する。そして、スロット３１は、１つの用語を保持している状態において新たな用語を保持した場合には、保持していた１つの用語はスロット３１上からは消去される。
【００３６】
ここで、用語の属性とは、当該用語の性質、特徴又はカテゴリを示す情報のことである。例えば、タスク処理部４０の処理がレストラン検索の場合、料理名、地域、予算、個室の有無、駐車場の有無、最寄駅からの徒歩での所要時間、貸切が可能か否か、又は、夜景が見えるか否かというような情報を属性として用いることができる。なお、スロット３１が用語を保持することを、スロット３１に用語が格納される、又は、登録される、と表現することもできる。なお、メモリ２７のうちのスロット３１の領域は、保持部に相当する。
【００３７】
また、スロット３１には、必須スロット及びオプションスロットという２つの種別が設けられていてもよい。必須スロットとは、当該スロットが用語を保持していないとタスク制御部２４がタスク処理部４０に用語を出力しないスロットのことである。また、オプションスロットとは、当該オプションスロットが用語を保持していなくても、すべての必須スロットが用語を保持していればタスク制御部２４がタスク処理部４０に用語を出力するスロットのことである。例えば、タスク処理として検索タスクを実行させる場合、すべてのスロットが保持している用語をタスク制御部２４がタスク処理部４０に出力する際、必須スロット群に含まれるすべてのスロットが用語を保持している場合に限り出力を行うようにするようにしてもよい。スロット３１が、必須スロット及びオプションスロットのうちのどちらであるかは、スロット３１ごとに予め定められている。なお、上記２つの種別が設けられず、１つのだけの種別である場合には、スロット３１の全てを必須スロットとしてもよいし、オプションスロットとしてもよい。これらのどちらにするかは、タスク処理部４０の処理、又は、対話の内容に基づいて適宜定められてよい。
【００３８】
履歴テーブル３２は、複数のスロット３１が保持する用語の履歴を示すテーブルである。具体的には、履歴テーブル３２は、複数のスロット３１が過去に保持していた用語、及び、現在保持している用語が時系列で収められたテーブルである。スロット３１が新たな用語を保持することで、その直前に保持していた用語をスロット３１上から消去した場合でも、その消去された用語は、履歴テーブル３２には残されている。
【００３９】
なお、履歴テーブル３２には、過去に複数のスロット３１が保持した用語と共に、その時点での時刻を示す情報（例えば、タイムスタンプ）が格納されてもよい。また、時間の進みと共にレコードを追加的に格納するという前提があれば、履歴テーブル３２には、過去に複数のスロット３１が保持した用語だけが格納されてもよい。なお、メモリ２７のうち、履歴テーブル３２が記憶された領域は、記憶部に相当する。
【００４０】
タスク結果解析部２８は、タスク処理部４０による処理結果を取得し、取得した処理結果を解析する処理部である。タスク結果解析部２８は、タスク処理部４０から処理結果を取得した場合には、取得した処理結果を解析し、解析結果をシーケンス制御部２３に渡す。なお、この解析結果は、履歴テーブル３２のうちの現在時刻に対応する時点に復元ポイントを設定するか否かを操作部２５が判定する際に用いられる。なお、タスク結果解析部２８は、外部処理制御部の一機能に相当する。
【００４１】
例えば、タスク結果解析部２８は、タスク処理部４０によるレストラン検索処理の結果として、検索された情報が掲載されたＷｅｂページのタイトル及びＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）を取得する。また、タスク結果解析部２８は、検索処理の結果を解析し、検索された情報の件数を算出する。そして、タスク結果解析部２８は、検索された情報の件数が、ユーザによる閲覧に適した件数（例えば１件〜３０件程度）である場合にのみ復元ポイントを設定するようにしてもよい。また、タスク結果解析部２８は、検索された情報の件数が、０件、又は、１００件以上というように、ユーザによる閲覧に適さない件数である場合に復元ポイントを設定することを禁止するようにしてもよい。
【００４２】
また、タスク結果解析部２８は、必須スロット群のスロットの全てが用語を保持した時点に復元ポイントを設定するようにしてもよいし、スロット３１が用語を保持している状態において、保持している用語と異なる用語を保持する状態に変わる時点に復元ポイントを設定してもよい。
【００４３】
提示制御部２９は、表示装置１０によりユーザに提示するための提示データを生成し、表示装置１０に出力する処理部である。提示制御部２９は、タスク処理部４０から処理結果を取得し、ユーザに効果的に処理結果を閲覧させるために表示装置１０の画面上の位置を整え、また、表示装置１０に出力するのに適したデータ形式に変換した上で、提示データを表示装置１０に出力する。
【００４４】
なお、音声対話装置２０の一部又は全部の機能、及び、タスク処理部４０は、音声合成部１２等同様、クラウドサーバとして実現されてもよい。
【００４５】
図２は、本実施の形態に係る音声対話システム１による提示の説明図である。図２に示される説明図は、タスク処理部４０による処理結果を表示装置１０がユーザに提示するときの表示画面に表示される画像の一例である。
【００４６】
表示画面内の左側には、属性を示す文字列２０１〜２０５が表示されている。文字列２０１〜２０５は、複数のスロット３１それぞれの属性を示す文字列である。
【００４７】
表示画面内の右側には、用語２１１〜２１５が表示されている。用語２１１〜２１５は、それぞれ、文字列２０１〜２０５の属性に対応付けられたスロット３１が保持している用語である。
【００４８】
表示画面内の下側には、文字列２０６及び結果情報２１６が示されている。文字列２０６は、文字列２０６の下方に表示されるものが検索結果であることを示す文字列である。結果情報２１６は、用語２１１〜２１５に基づいてタスク処理部４０がレストラン検索を行った結果を示す情報である。
【００４９】
このように、対話の内容と、その対話の内容に基づくタスク処理部４０による処理結果である結果情報とが表示装置１０に表示され、ユーザは、対話の内容が反映された処理結果を知ることができる。
【００５０】
なお、表示画面に表示される画像は、図２に示されるものに限定されるわけではなく、表示される情報、その配置などの表示の有無、表示位置は、任意に変更されてよい。
【００５１】
図３は、本実施の形態に係る対話シーケンス及び履歴情報の第一の説明図である。
【００５２】
図３には、対話シーケンス３１０、履歴テーブル３２０、及び、検索結果３３０が、対話シーケンスの時系列に併せて示されている。なお、図３に示される一列は、１つの時点に対応している。この一列のことを１レコードともいう。
【００５３】
対話シーケンス３１０は、対話におけるユーザによる発話と音声対話装置２０による応答とを時系列で並べたデータである。
【００５４】
時刻情報３１１（タイムスタンプ）は、ユーザによる発話又は音声対話装置２０による応答があった時刻を示す時刻情報である。
【００５５】
発話３１２は、当該時刻におけるユーザによる発話を示す発話データである。具体的には、発話３１２は、発話データ取得部２２が、マイク１３及び音声認識部１４を介して取得したユーザの音声による発話を示す発話データである。
【００５６】
応答３１３は、当該時刻における音声対話装置２０による応答を示す応答文である。具体的には、応答３１３は、応答文生成部２１が、シーケンス制御部２３からの応答指示を受けて生成するものである。
【００５７】
履歴テーブル３２０は、必須スロット群３２１と、オプションスロット群３２２と、アクション３２３と、復元ポイント３２４との各情報を有する。履歴テーブル３２０は、履歴テーブル３２に格納されている、スロット３１の履歴を示す情報であり、対話シーケンス３１０の時刻情報３１１の時系列に合わせて示されている。履歴テーブル３２０は、履歴テーブル３２の一例である。
【００５８】
必須スロット群３２１は、スロット３１のうちの必須スロットに、当該時点において保持されていた用語である。必須スロット群３２１には、例えば、「料理名」、「地域」及び「予算」の属性の用語が含まれる。
【００５９】
オプションスロット群３２２は、スロット３１のうちのオプションスロットに、当該時点において保持されていた用語である。オプションスロット群３２２には、例えば、「個室の有無」及び「駐車場の有無」の属性の用語が含まれる。
【００６０】
アクション３２３は、当該時点において音声対話装置２０が実行した処理を示す情報であり、複数の情報が格納されることもある。例えば、ある属性のスロット３１に新たな用語を保持させた場合には、そのことを示すために、その属性の名称と、「登録」の文字列とが当該時点に設定される。また、タスク制御部２４がタスク処理部４０に用語を出力して情報検索をさせた時点には、「検索」の文字列が設定される。また、操作部２５が、スロット３１が保持している用語を過去の時点におけるものに変更した時点には、「復元」の文字列が設定される。
【００６１】
復元ポイント３２４は、当該時点に復元ポイントが設定されているか否かを示す情報である。復元ポイントが設定されている時点には、「１」が設定されている。復元ポイントは、タスク結果解析部２８により設定されるか否かが判定され、操作部２５により履歴テーブル３２０に設定されるものである。
【００６２】
検索結果３３０は、当該時点におけるタスク処理部４０による検索処理の結果の件数である。検索結果３３０は、タスク結果解析部２８により設定されるものである。
【００６３】
図３に示される対話シーケンスは、ユーザが、検索条件を変えながら、順次、異なる検索条件でレストラン検索を行うための対話において、対話の内容をユーザが意図する過去の時点におけるものに変更する場合のものである。
【００６４】
レコードＲ１〜Ｒ７に対応する時点において、順次、ユーザによる発話に含まれる用語が発話データ取得部２２等により取得され、取得された用語のそれぞれが当該用語の属性に対応したスロット３１に格納される。
【００６５】
レコードＲ８に対応する時点において、スロット３１が保持している用語に基づいた最初の検索処理がタスク処理部４０により行われる。これは、レコードＲ７に対応する時点で必須スロット群に含まれるスロット３１の全てに用語が格納されたことを契機として行われたものである。
【００６６】
レコードＲ９〜Ｒ１６に対応する時点において、スロット３１が保持している用語に基づいた検索処理が行われる。これは、ユーザが所望する検索結果が得られるように検索語を変えながら、順次、検索処理がなされたものである。
【００６７】
レコードＲ１７に対応する時点において、対話の内容を過去の時点に戻すための制御発話がユーザによりなされる。これは、レコードＲ１４又はＲ１６に対応する時点での検索結果が０件であったので、検索件数が０件になる前の過去の時点の検索条件に戻そうと、ユーザが意図して行ったものである。
【００６８】
レコードＲ１８〜Ｒ２０において、スロット３１のそれぞれが保持する用語が、レコードＲ１０におけるものに復元される。
【００６９】
このようにすることで、音声対話装置２０は、対話の内容を、ユーザの音声による発話に基づいた過去の時点に戻し、その状態から新たな対話を継続的に実行することができる。このように、音声対話装置は、ユーザとの対話の内容を簡易な方法により修正することができる。
【００７０】
［１−２．動作］
以上のように構成された音声対話装置２０及び音声対話システム１について、その動作を以下に説明する。
【００７１】
図４は、本実施の形態に係る音声対話装置２０によるメイン処理のフロー図である。
【００７２】
ステップＳ１０１において、マイク１３は、ユーザによる発話の音声を取得し、取得した音声に基づいて音声信号を生成する。ここで、ユーザによる発話の音声とは、例えば「中華が食べたい」というようにレストラン検索のための用語を含む音声であってもよいし、「守口に戻して」というようにスロット３１が保持する用語を過去の時点におけるものに変更するための用語を含む音声であってもよい。
【００７３】
ステップＳ１０２において、音声認識部１４は、ステップＳ１０１でマイク１３が生成した音声信号に対して音声認識処理を行うことで、ユーザによる発話の発話データを生成する。
【００７４】
ステップＳ１０３において、発話データ取得部２２は、ステップＳ１０２で音声認識部１４が生成した発話データを取得する。
【００７５】
ステップＳ１０４において、シーケンス制御部２３は、ステップＳ１０３で発話データ取得部２２が取得した発話データが空（から）であるか否かを判定する。
【００７６】
ステップＳ１０４で発話データが空であるとシーケンス制御部２３が判定した場合（ステップＳ１０４で「Ｙ」）、ステップＳ１０５に進む。一方、発話データが空でないと判定した場合（ステップＳ１０４で「Ｎ」）、ステップＳ１２１に進む。
【００７７】
ステップＳ１０５において、シーケンス制御部２３は、操作部２５を利用して発話データに含まれる用語をスロット３１に格納する。具体的には、シーケンス制御部２３は、発話データに含まれる用語のそれぞれについて当該用語の属性を判定し、当該用語の属性に一致する属性を有するスロット３１に当該用語を格納する。例えば、シーケンス制御部２３は、発話データ「中華が食べたい」に含まれる用語「中華」が、料理名の属性を有する用語であると判定し、用語「中華」を料理名の属性を有するスロット３１に格納する。なお、このとき、シーケンス制御部２３は、スロット３１に格納される用語が本来の名称の略称又は俗称等であるような場合には、本来の名称に変換した上でスロット３１に格納してもよい。具体的には、シーケンス制御部２３は、用語「中華」が「中華料理」を短縮した名称（略称）であると判定し、スロット３１に「中華料理」を格納するようにしてもよい。
【００７８】
ステップＳ１０６において、操作部２５及び提示制御部２９は、スロット３１が保持している用語を表示装置１０により表示する。
【００７９】
ステップＳ１０７において、操作部２５等は、必要な場合に、対話の内容を過去の時点におけるものに変更することで、対話の内容を復元するための復元処理を行う。復元処理の詳細については、後で詳細に説明する。
【００８０】
ステップＳ１０８において、解析部２６は、必須スロット群の全てのスロット３１に用語が格納されているか否か、つまり、必須スロット群の全てのスロット３１が用語を保持しているか否かを判定する。
【００８１】
ステップＳ１０８において全てのスロット３１に用語が格納されたと解析部２６が判定した場合（ステップＳ１０８で「Ｙ」）、ステップＳ１０９に進む。一方、全てのスロット３１に用語が格納されていないと解析部２６が判定した場合（ステップＳ１０８で「Ｎ」）、つまり、必須スロット群のうちの少なくとも１つのスロット３１が空である場合、ステップＳ１２２に進む。
【００８２】
ステップＳ１０９において、シーケンス制御部２３は、タスク処理をタスク処理部４０に実行させるための実行指示をタスク制御部２４に行う。このとき、操作部２５は、履歴テーブル３２に検索タスクを実行したことを記録する。具体的には、操作部２５は、履歴テーブル３２０における現時点のアクション３２３に「検索」を設定する。
【００８３】
ステップＳ１１０において、タスク制御部２４は、ステップＳ１０９でのシーケンス制御部２３による実行指示に基づいて、スロット３１が保持している用語をタスク処理部４０に出力し、タスク処理部４０に検索処理を実行させる。タスク処理部４０は、タスク制御部２４が出力した用語を取得し、取得した用語を検索語として用いて検索処理を行い、検索結果を出力する。
【００８４】
ステップＳ１１１において、提示制御部２９は、ステップＳ１１０でタスク処理部４０が出力した検索結果を取得し、取得した検索結果を、表示装置１０によりユーザに提示するのに適切な形式（例えば、図２のような表示態様）に成形して表示装置１０に出力する。表示装置１０は、提示制御部２９が出力した検索結果を取得し、表示画面に表示する。
【００８５】
ステップＳ１１２において、タスク結果解析部２８は、ステップＳ１１０でタスク処理部４０が出力した検索結果を取得し、取得した検索結果に基づいて復元ポイント設定処理を行う。復元ポイント設定処理の詳細については、後で詳細に説明する。
【００８６】
ステップＳ１１３において、シーケンス制御部２３は、ユーザに対して次の発話を促すための応答指示を、応答文生成部２１に対して行う。
【００８７】
ステップＳ１１４において、応答文生成部２１は、応答指示に基づいて応答文を生成する。また、応答文生成部２１は、生成した応答文を音声合成部１２に出力し、当該応答文を音声としてスピーカ１１より出力し、ユーザに聴取させる。
【００８８】
ステップＳ１１４の処理が終了したら、再びステップＳ１０１の処理を実行する。
【００８９】
ステップＳ１２１において、シーケンス制御部２３は、ユーザに対して再発話（前回と同じ発話を行うこと）を促すための応答指示を、応答文生成部２１に対して行う。ステップＳ１０４で発話データが空と判定されたことは、マイク１３が何らかの音を取得したにもかかわらずその音から音声認識部１４が発話データを取得することができなかったことを意味している。よって、ユーザに対して前回と同じ発話を行うことを要請することで、発話データを取得することができると期待される。
【００９０】
ステップＳ１２２において、シーケンス制御部２３は、ユーザに対して次の発話を促すための応答指示を、応答文生成部２１に対して行う。シーケンス制御部２３は、例えば、必須スロット群に含まれるスロット３１のうち、用語を保持していないものがある場合に、用語を保持していないスロット３１が保持すべき用語をユーザに発話させるための応答文を生成する応答指示を行う。
【００９１】
図５は、本実施の形態に係る音声対話装置による復元処理のフロー図である。図５に示されるフロー図は、図４におけるステップＳ１０７の処理を詳細に示すものであり、発話データに制御用語が含まれている場合にスロット３１が保持する用語を過去の時点におけるものに変更する処理を示すものである。
【００９２】
より具体的には、操作部２５は、発話データ取得部２２が取得した発話データに後述する第一用語及び第二用語が含まれるか否かを判定し、第一用語及び第二用語が含まれると判定した場合に、履歴テーブルを参照して、複数のスロット３１のそれぞれが保持している用語を、複数のスロット３１のうち第二用語の属性に対応付けられたスロット３１（対応保持部に相当）が第二用語を保持していた時点において当該スロット３１が保持していた用語に変更する。
【００９３】
ステップＳ２０１において、シーケンス制御部２３は、発話データ取得部２２から取得した発話データに、復元用語（第一用語ともいう）が含まれているか否かを判定する。ここで、復元用語とは、対話情報を過去の時点に変更することを示す予め定められた用語であり、例えば、「（〜に）戻して」、又は、「（〜）じゃない」というようなものである。
【００９４】
ステップＳ２０１で復元用語が含まれているとシーケンス制御部２３が判定した場合（ステップＳ２０１で「Ｙ」）には、ステップＳ２０２に進む。一方、復元用語が含まれていないと判定した場合（ステップＳ２０１で「Ｎ」）、図５に示される一連の処理を終了する。
【００９５】
ステップＳ２０２において、解析部２６は、発話データのうち復元用語を除く部分に含まれる用語（第二用語ともいう）を取得し、取得した用語に基づいて履歴テーブル３２から復元ポイントを抽出する。具体的には、解析部２６は、取得した用語の属性を判定し、履歴テーブル３２に含まれる復元ポイントのうち、取得した用語の属性に対応するスロット３１が保持していた用語が、当該取得した用語に一致する復元ポイントを抽出する。なお、上記第一用語及び上記第二用語が含まれている発話データが、制御発話データであるということもできる。なお、複数の設定ポイントが抽出されてもよい。
【００９６】
ステップＳ２０３において、解析部２６は、ステップＳ２０２で抽出した復元ポイントが１個であるか否かを判定する。
【００９７】
ステップＳ２０３で復元ポイントが１個であると解析部２６が判定した場合（ステップＳ２０３で「Ｙ」）、ステップＳ２０４に進む。一方、復元ポイントが１個でないと解析部２６が判定した場合（ステップＳ２０３で「Ｎ」）、ステップＳ２１１に進む。
【００９８】
ステップＳ２０４において、操作部２５は、履歴テーブル３２を参照して、スロット３１が保持している用語を、ステップＳ２０２で１個抽出された復元ポイントの時点においてスロット３１に保持していた用語に変更する。つまり、操作部２５は、複数のスロット３１が保持している用語を、復元ポイントの時点におけるものに戻すように変更する。また、操作部２５は、履歴テーブル３２０において、復元ポイントの時点における用語に変更した時点に、アクションとして「復元」を設定する。なお、操作部２５は、復元ポイントの時点でスロット３１が保持していた用語がなかった、つまり、復元ポイントの時点でスロット３１が何も用語を保持していなかった場合には、スロット３１が用語を保持しない状態にする。
【００９９】
ステップＳ２１１において、シーケンス制御部２３は、ユーザに対して復元ポイントが１個だけ抽出されるようにするための発話を促すための応答についての応答指示を、応答文生成部２１に対して行う。例えば、履歴テーブル３２０において、ユーザから「守口に戻して」というような制御発話が取得されたとき、この制御発話から特定される復元ポイントが２個あり得る。ユーザがこの２個の復元ポイントのどちらを意図しているかを指示する発話を促すために、シーケンス制御部２３は、「駐車場付で検索したところまで戻せばいいですか」という応答についての応答指示を行う。
【０１００】
ステップＳ２１１の後、ユーザにより２個の復元ポイントのいずれかを特定する発話がなされた場合には、次回のメイン処理（図４）から実行されるステップＳ２０２では、復元ポイントが１個抽出され、ステップＳ２０４が実行されることになる。
【０１０１】
なお、上記において、第二用語に代えて、属性の名称である属性名を用いてもよい。つまり、操作部２５は、発話データ取得部２２が取得した発話データに第一用語及び属性名が含まれるか否かを判定し、第一用語及び属性名が含まれると判定した場合に、履歴テーブルを参照して、複数のスロット３１のそれぞれが保持している用語を、複数のスロット３１のうち上記属性名により示される属性に対応付けられたスロット３１（対応保持部に相当）が現在保持している用語を保持する直前の時点において当該スロット３１が保持していた用語に変更するようにしてもよい。
【０１０２】
図６は、本実施の形態に係る音声対話装置による復元ポイント設定処理のフロー図である。図６に示されるフロー図は、図４におけるステップＳ１１２の処理を詳細に示すものである。
【０１０３】
ステップＳ３０１において、操作部２５は、復元ポイントを設定するための条件に基づいて処理を分岐する。上記条件が、「検索を実行した時点」（条件Ｃ）である場合（ステップＳ３０１で「条件Ｃ」）、ステップＳ３０２に進む。一方、上記条件が、『「検索を実行した時点」かつ「検索結果が有効」』（条件Ｄ）である場合（ステップＳ３０１で「条件Ｄ」）、ステップＳ３０３に進む。なお、ここでは条件が２つの場合を例として示したが、３つ以上の条件がある場合でも同様の処理が可能である。
【０１０４】
ステップＳ３０２において、操作部２５は、履歴テーブル３２０における現在の時点に復元ポイントを設定する。
【０１０５】
ステップＳ３０３において、操作部２５は、タスク結果解析部２８の解析結果である検索結果を取得し、検索された情報の件数が０件であるか否かを判定する。
【０１０６】
ステップＳ３０３で検索された情報の件数が０件である場合（ステップＳ３０３で「Ｙ」）、操作部２５は、この時点に復元ポイントを設定せずに一連の処理を終了する。すなわち、操作部２５は、情報検索の結果を取得した時点であっても、情報検索の結果に含まれる情報が０件であった時点には、復元ポイントを設定することを禁止する。一方、検索された情報の件数が０件でない場合（ステップＳ３０３で「Ｎ」）、ステップＳ３０２に進む。
【０１０７】
なお、検索された情報の件数がユーザによる閲覧に適さない数（例えば１００件以上）である場合にも、０件である場合と同様、この時点に復元ポイントを設定しないことにしてもよい。
【０１０８】
図７は、本実施の形態に係る履歴情報の第二の説明図である。図７に示される対話シーケンスは、ユーザが、検索条件を変えながら、順次、異なる検索条件でレストラン検索を行うための対話において、音声の誤認識などに起因して対話の内容がユーザの意図と異なるものとなった場合に、対話の内容を過去の時点におけるものに変更する場合のものである。
【０１０９】
図７には、図３と同様、対話シーケンス３１０等が示されている。
【０１１０】
レコードＲ１〜Ｒ５に対応する時点において、順次、ユーザによる発話に含まれる用語が発話データ取得部２２等により取得され、取得された用語のそれぞれが当該用語の属性に対応したスロット３１に格納される。
【０１１１】
レコードＲ６に対応する時点において、スロット３１が保持している用語に基づいた最初の検索処理がタスク処理部４０により行われる。これは、レコードＲ５に対応する時点で必須スロット群に含まれるスロット３１の全てに用語が格納されたことを契機として行われたものである。
【０１１２】
レコードＲ７〜Ｒ１４に対応する時点において、スロット３１に格納された用語に基づいた検索処理が行われる。これは、ユーザが所望する検索結果が得られるように検索語を変えながら、順次、検索処理がなされたものである。
【０１１３】
この対話の中で、音声認識部１４による誤認識によりスロット３１が保持している用語がユーザの意図と異なるものに変更されている。具体的には、レコードＲ１１に対応する時点においてユーザが検索条件として駐車場を追加する意図で「駐車場も（Chushajomo）」と発話したものの、これを音声認識部１４が「中華料理（Chukaryori）」と誤認識し、レコードＲ１２において用語「中華料理」が料理名の属性のスロット３１に格納される。また、レコードＲ１３に対応する時点においてユーザが検索条件を修正する意図で「中華じゃなくてイタリア（Chuka-janakute-itaria）」と発話したものの、これを音声認識部１４が「入谷（Iriya）」すなわち地名である入谷と誤認識し、レコードＲ１５に対応する時点において用語「入谷」が地域の属性のスロット３１に格納される。
【０１１４】
レコードＲ１５に対応する時点において、対話の内容を過去の時点に戻すための発話がユーザによりなされる。これは、レコードＲ１２又はＲ１４に対応する時点でスロット３１が保持している用語がユーザの意図と異なり変更されたので、この変更が行われる前の過去の時点の検索条件に戻そうと、ユーザが意図して行ったものである。
【０１１５】
レコードＲ１５〜Ｒ１６に対応する時点において、スロット３１のそれぞれが保持している用語が、レコードＲ１０におけるものに復元される。
【０１１６】
このようにすることで、音声対話装置は、対話の内容を、ユーザによる発話に基づいた過去の時点に戻し、その状態から新たな対話を継続的に実行することができる。このように、音声対話装置は、ユーザとの対話の内容を簡易な方法により修正することができる。
【０１１７】
［１−３．変形例］
図８は、本実施の形態の変形例に係る音声対話装置２０Ａの構成を示すブロック図である。
【０１１８】
図８に示されるように、音声対話装置２０Ａは、ユーザとの音声による対話を行う音声対話装置２０Ａであって、対話の内容を示す対話情報を保持するための複数の保持部１０３であって、複数の保持部１０３のそれぞれが用語の属性に対応付けられており、それぞれが当該保持部１０３に対応付けられた属性を有する用語を保持する複数の保持部１０３と、複数の保持部１０３が保持する用語の履歴を記憶している記憶部１０４と、ユーザの音声による発話の内容を示す発話データを取得し、取得した発話データに含まれる発話用語を、複数の保持部１０３のうち発話用語の属性に対応付けられた保持部１０３に保持させる取得部１０１と、対話情報を制御するための制御用語が含まれる制御発話データを取得部１０１が取得した場合に、記憶部１０４を参照して、複数の保持部１０３のそれぞれが保持している用語を、制御用語により特定される過去の時点において当該保持部１０３が保持していた用語に変更する変更部１０２とを備える。
【０１１９】
なお、音声対話装置２０Ａは、さらに、複数の保持部１０３のそれぞれが保持している用語を対話情報として、対話情報に基づいて処理を行う処理部に対話情報を出力し、出力の応答として処理の結果を示す情報を取得する外部処理制御部１０５を備えてもよい。
【０１２０】
なお、処理部は、取得した用語を検索語として情報検索を実行し、外部処理制御部１０５は、情報検索の結果を応答として取得し、音声対話装置２０Ａは、さらに、外部処理制御部１０５が取得した情報検索の結果をユーザに提示するための提示制御部１０６を備えてもよい。
【０１２１】
図９は、本実施の形態の変形例に係る音声対話装置２０Ａの制御方法を示すフロー図である。
【０１２２】
図９に示されるように、ユーザとの音声による対話を行う音声対話装置２０Ａの制御方法は、ユーザの音声による発話の内容を示す発話データを取得し（ステップＳ４０１）、取得した発話データに含まれる発話用語を、複数の保持部１０３のうち発話用語の属性に対応付けられた保持部１０３に保持させる（ステップＳ４０２）取得ステップと、取得ステップで取得した発話データに、対話情報を制御するための制御用語が含まれる場合に、記憶部１０４が記憶している履歴を参照して、複数の保持部１０３のそれぞれが保持している用語を、制御用語により特定される過去の時点において当該保持部１０３が保持していた用語に変更する（ステップＳ４０３）変更ステップとを含む。
【０１２３】
本変形例に係る音声対話装置２０Ａは、音声対話装置２０と同様の効果を奏する。
【０１２４】
［１−４．効果等］
以上のように、本実施の形態に係る音声対話装置２０は、ユーザとの音声による対話を行う音声対話装置２０であって、対話の内容を示す対話情報を保持するための複数のスロット３１であって、複数のスロット３１のそれぞれが用語の属性に対応付けられており、それぞれが当該スロット３１に対応付けられた属性を有する用語を保持するための複数のスロット３１と、複数のスロット３１が保持する用語の履歴を記憶している履歴テーブル３２と、ユーザの音声による発話の内容を示す発話データを取得し、取得した発話データに含まれる発話用語を、複数のスロット３１のうち発話用語の属性に対応付けられたスロットに保持させる発話データ取得部２２と、発話データ取得部２２が取得した発話データに、対話情報を制御するための制御用語が含まれる場合に、履歴テーブル３２が記憶している履歴を参照して、複数のスロット３１のそれぞれが保持している用語を、制御用語により特定される過去の時点において当該スロット３１が保持していた用語に変更する操作部２５とを備える。
【０１２５】
これによれば、音声対話装置２０は、ユーザの音声に基づいて、対話情報を過去の時点におけるものに変更する、つまり、対話情報を過去の状態に戻すことができる。ここで、過去の時点とは、ユーザの音声により定められる時点である。よって、ユーザは、過去の時点を特定するための制御用語を含む音声による発話をすることで、音声対話装置２０との対話の内容である対話情報を、過去の時点におけるものに戻すことができる。このように、音声対話装置２０は、ユーザとの対話の内容を簡易な方法により修正することができる。
【０１２６】
特に、音声対話装置２０は、ユーザの音声に基づいた制御を行うことにより、ユーザとの対話の内容を簡易な方法により修正する点に特徴を有する。ユーザは、従来の音声対話装置との音声対話では対話の内容を時系列で把握することが難しいので、対話の内容をユーザが希望する過去の時点に戻すという操作を行うことが難しい。本実施の形態に係る音声対話装置２０は、ユーザの音声に基づいた制御を行うので、対話の内容をユーザが希望する過去の時点に戻すことができる。そして、対話の内容が複雑になる、つまり、用語の数が増えるほど、ユーザの音声に基づく制御の優位性が高まると考えられる。
【０１２７】
また、技術進化に伴い対話情報がより複雑になる場合、例えば、保持部が数十個又はそれ以上あるような場合には、上記のような修正の方法の優位性が高い。なぜなら、本実施の形態に示すような十個に満たない保持部を備える音声対話装置であれば、ユーザとの対話の内容を過去の時点に戻すことを行う代わりに、保持部が保持する用語をリセットし、最初から用語を設定し直すことも現実的に可能である。しかし、音声対話装置が数十個又はそれ以上の保持部を備える場合には、保持部が保持する用語を最初から設定し直すことは煩雑であり、ユーザにとって大きな負担となるので、現実的に可能とは言い難い。このような場合に、音声対話装置２０は、ユーザとの対話の内容を過去の時点に戻すことができるので、最初から設定し直すことなく、ユーザが希望する過去の時点から対話をやり直すことができる利点がある。
【０１２８】
また、制御用語は、対話情報を過去の時点に変更することを示す予め定められた用語である第一用語と、予め定められた文字列とは異なる第二用語とを含み、操作部２５は、発話データ取得部２２が取得した発話データに第一用語及び第二用語が含まれるか否かを判定し、第一用語及び第二用語が含まれると判定した場合に、履歴を参照して、複数のスロット３１のそれぞれが保持している用語を、複数のスロット３１のうち第二用語の属性に対応付けられたスロット３１が第二用語を保持していた時点において当該スロット３１が保持していた用語に変更してもよい。
【０１２９】
これによれば、音声対話装置２０は、取得部が取得した制御用語に基づいて、保持部が保持する用語の内容を用いて具体的に過去の時点を特定する。このように、音声対話装置２０は、ユーザとの対話の内容を、より具体的な方法により修正することができる。
【０１３０】
また、操作部２５は、履歴テーブル３２が記憶している履歴上のある時点における複数のスロット３１の状態が所定の条件を満たす場合に、上記時点に復元ポイントを設定し、複数のスロット３１のそれぞれが保持している用語を変更する際には、復元ポイントが設定された時点のうち、複数のスロット３１のうち第二用語の属性に対応付けられたスロット３１が第二用語を保持していた時点において当該スロット３１が保持していた用語に変更してもよい。
【０１３１】
これによれば、音声対話装置２０は、ユーザの音声に基づいた時点に復元ポイントを設定することで、後に保持部が保持する用語を変更する対象となる時点を所定の条件を用いて絞り込んでおくことができる。これにより、音声対話装置２０は、保持部が保持する用語を変更する際に、所定の条件により絞り込まれた、より適切な過去の時点に対話の状態を戻すことができる。
【０１３２】
また、音声対話装置２０は、さらに、複数のスロット３１のそれぞれが保持している用語を対話情報として、対話情報に基づいて処理を行うタスク処理部４０に出力し、前記出力の応答として前記処理の結果を示す情報を取得するタスク制御部２４を備えてもよい。
【０１３３】
これによれば、音声対話装置２０は、複数の保持部が保持する用語を外部の処理部により処理した結果をユーザに提示する。よって、ユーザは、音声対話装置２０との対話の内容を反映した処理結果を取得することができる。
【０１３４】
また、タスク処理部４０は、取得した用語を検索語として情報検索を実行し、タスク制御部２４は、情報検索の結果を応答として取得し、音声対話装置２０は、さらに、外部処理制御部が取得した前記情報検索の結果を前記ユーザに提示するための提示制御部２９を備えてもよい。
【０１３５】
これによれば、音声対話装置２０は、外部の処理部による処理の結果として、対話の内容に基づいた検索処理の結果を取得し、ユーザに提示することができる。
【０１３６】
また、操作部２５は、履歴において、タスク制御部２４が情報検索の結果を取得した時点に、復元ポイントを設定してもよい。
【０１３７】
これによれば、音声対話装置２０は、復元ポイントを用いて、保持部が保持する用語を、情報検索を行った時点におけるものに戻すことができる。情報検索を行った時点は、その結果が得られる時点でもあり、対話の中でユーザが特定しやすい時点である。このように復元ポイントを設定することで、音声対話装置２０は、保持部が保持する用語を、ユーザが直感的に特定しやすい時点におけるものに戻すことができる。
【０１３８】
また、操作部２５は、履歴において、タスク制御部２４が情報検索の結果を取得した時点であっても、情報検索の結果に含まれる情報が０件であった時点には、復元ポイントを設定することを禁止してもよい。
【０１３９】
これによれば、音声対話装置２０は、情報検索の結果が０件であった時点を、復元ポイントを設定する時点から除外することができる。ユーザが対話の状態を戻そうとする場合、情報検索の結果が１件以上あった時点にするのが有用と考えられる。よって、音声対話装置２０は、ユーザとの対話の内容を、ユーザにとって有用な時点におけるものに戻すことができる。
【０１４０】
また、操作部２５は、複数のスロット３１のそれぞれが保持している用語を変更する際に、履歴上に２以上の復元ポイントがある場合には、２以上の復元ポイントのうちユーザにより特定される復元ポイントを用いて、用語を変更してもよい。
【０１４１】
これによれば、音声対話装置２０は、複数ある復元ポイントのうちユーザが特定する１つの復元ポイントを用いて、ユーザとの対話の内容を過去の時点におけるものに戻すことができる。
【０１４２】
また、音声対話装置２０は、さらに、２以上の復元ポイントのうち用語を変更するのに用いる１つの復元ポイントをユーザから受け付けるための応答文を生成する応答文生成部２１を備えてもよい。
【０１４３】
これによれば、音声対話装置２０は、複数ある復元ポイントのうちからユーザにより１つの復元ポイントを特定させる。これにより、音声対話装置２０は、具体的にユーザから復元ポイントの指定を受け付け、ユーザとの対話の内容を過去の時点におけるものに戻すことができる。
【０１４４】
また、制御用語は、対話情報を過去の時点に変更することを示す予め定められた用語である第一用語と、属性の名称である属性名とを含み、操作部２５は、発話データ取得部２２が取得した発話データに第一用語及び属性名が含まれるか否かを判定し、第一用語及び属性名が含まれると判定した場合に、履歴を参照して、複数のスロット３１のそれぞれが保持している用語を、複数のスロット３１のうち属性名により示される属性に対応付けられたスロット３１が現在保持している用語を保持する直前の時点において当該スロット３１が保持していた用語に変更してもよい。
【０１４５】
これによれば、音声対話装置２０は、取得部が取得した制御用語に基づいて、保持部が対応付けられている属性の名称を用いて具体的に過去の時点を特定する。このように、音声対話装置２０は、ユーザとの対話の内容を、より具体的な方法により修正することができる。
【０１４６】
また、本実施の形態に係る音声対話システム１は、ユーザとの音声による対話を行う音声対話システム１であって、対話の内容を示す対話情報を保持するための複数のスロット３１であって、複数のスロット３１のそれぞれが用語の属性に対応付けられており、それぞれが当該スロット３１に対応付けられた属性を有する用語を保持するための複数のスロット３１と、複数のスロット３１が保持する用語の履歴を記憶している履歴テーブル３２と、ユーザの音声による発話の内容を示す発話データを取得し、取得した発話データに含まれる発話用語を、複数のスロット３１のうち発話用語の属性に対応付けられたスロット３１に保持させる発話データ取得部２２と、発話データ取得部２２が取得した発話データに、対話情報を制御するための制御用語が含まれる場合に、履歴テーブル３２が記憶している履歴を参照して、複数のスロット３１のそれぞれが保持している用語を、制御用語により特定される過去の時点において当該スロット３１が保持していた用語に変更する操作部２５と、ユーザの音声を取得して音声信号を生成するマイク１３と、マイク１３が生成した音声信号に対して音声認識処理を施すことで、発話データ取得部２２により取得される発話データを生成する音声認識部１４と、複数のスロット３１が保持している対話情報を取得し、取得した対話情報に対して所定の処理を施し、処理の結果を示す情報を出力するタスク処理部４０と、ユーザの音声による発話に対する応答文を生成し、生成した応答文に対して音声合成処理を施すことで音声信号を生成する音声合成部１２と、音声合成部１２が生成した音声信号を音声として出力するスピーカと、タスク処理部４０が出力した処理の結果を表示する表示装置１０とを備える。
【０１４７】
これにより、上記音声対話装置２０と同様の効果を奏する。
【０１４８】
また、本実施の形態に係る音声対話方法は、ユーザとの音声による対話を行う音声対話装置２０の制御方法であって、音声対話装置２０は、対話の内容を示す対話情報を保持するための複数のスロット３１であって、複数のスロット３１のそれぞれが用語の属性に対応付けられており、それぞれが当該スロット３１に対応付けられた属性を有する用語を保持するための複数のスロット３１と、複数のスロット３１が保持する用語の履歴を記憶している履歴テーブル３２とを備え、制御方法は、ユーザの音声による発話の内容を示す発話データを取得し、取得した発話データに含まれる発話用語を、複数のスロット３１のうち発話用語の属性に対応付けられたスロット３１に保持させる取得ステップと、取得ステップで取得した発話データに、対話情報を制御するための制御用語が含まれる場合に、履歴テーブル３２が記憶している履歴を参照して、複数のスロット３１のそれぞれが保持している用語を、制御用語により特定される過去の時点において当該スロット３１が保持していた用語に変更する変更ステップとを含む。
【０１４９】
これにより、上記音声対話装置２０と同様の効果を奏する。
【０１５０】
以上のように、本開示における技術の例示として、実施の形態を説明した。そのために、添付図面および詳細な説明を提供した。
【０１５１】
したがって、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、上記実装を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
【０１５２】
また、上述の実施の形態は、本開示における技術を例示するためのものであるから、特許請求の範囲またはその均等の範囲において種々の変更、置き換え、付加、省略などを行うことができる。
【産業上の利用可能性】
【０１５３】
本開示は、簡易な方法により、ユーザとの対話の内容を修正することができる音声対話装置として有用である。例えば、本開示は、カーナビゲーション装置、スマートフォン（高機能携帯電話端末）、携帯電話端末、又は、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）のアプリケーションに適用することができる。
【符号の説明】
【０１５４】
１    音声対話システム
１０    表示装置
１１    スピーカ
１２    音声合成部
１３    マイク
１４    音声認識部
２０、２０Ａ    音声対話装置
２１    応答文生成部
２２    発話データ取得部
２３    シーケンス制御部
２４    タスク制御部
２５    操作部
２６    解析部
２７    メモリ
２８    タスク結果解析部
２９、１０６    提示制御部
３１    スロット
３２、３２０    履歴テーブル
４０    タスク処理部
１０１    取得部
１０２    変更部
１０３    保持部
１０４    記憶部
１０５    外部処理制御部
３１０    対話シーケンス
３１１    時刻情報
３１２    発話
３１３    応答
３２１    必須スロット群
３２２    オプションスロット群
３２３    アクション
３２４    復元ポイント
３３０    検索結果
【図１】
2018063272.tif 000003
【図２】
2018063272.tif 000004
【図３】
2018063272.tif 000005
【図４】
2018063272.tif 000006
【図５】
2018063272.tif 000007
【図６】
2018063272.tif 000008
【図７】
2018063272.tif 000009
【図８】
2018063272.tif 000010
【図９】
2018063272.tif 000011