(57)【要約】      （修正有）【課題】複数のスロットバリュー抽出モデルを自動で作成すること。【解決手段】文字列の候補を示す複数のバリューとバリュー識別子とを対応付けるバリューリストと、文字列の情報を識別する複数のスロットとバリュー識別子とを紐付け、且つ各スロットと各バリュー識別子が回答文に対応付けた回答文リストと、複数のスロットと各スロットに隣接配置される周辺文字列とを対応付けた周辺文字列リストと、複数の想定入力文字列に対応するスロット及びバリューを含む複数のスロットバリュー抽出モデルを記憶する記憶部と、入力文字列と各スロットバリュー抽出モデルとを比較し、想定入力文字列に対応するスロット位置を推定し、その位置のバリューを抽出するスロットバリュー抽出部と、バリューリストと回答文リスト及び周辺文字列リストを基に学習データを作成する学習データ作成部と、学習データを基にスロットバリュー抽出モデルを作成するモデル作成部を備える。【選択図】図１
2019220115.tif 000002
【特許請求の範囲】
【請求項１】
入力される入力用音声を入力文字列の情報に変換し、変換された前記入力文字列の情報を基に回答文又は質問文の情報を含む出力文字列を作成し、作成した前記出力文字列の情報を合成音声に変換し、変換された前記合成音声を出力用音声として出力する音声対話システムであって、
文字列を構成する情報であって、予め想定された文字列の候補を示す複数のバリューと、前記複数のバリューの各々を識別する複数のバリュー識別子とが紐付けられて記憶されたバリューリストと、
前記文字列を構成する情報を識別する識別子を示す複数のスロットの各々と、前記複数のバリュー識別子の各々とが紐付けられて記憶され、且つ前記複数のスロットの各々と前記複数のバリュー識別子の各々とが１以上の回答文に紐付けられて記憶された回答文リストと、
前記複数のスロットの各々と、前記複数のスロットの各々に隣接配置される複数の周辺文字列とが紐付けられて記憶された周辺文字列リストと、
予め想定された複数の想定入力文字列と、前記複数の想定入力文字列の各々に紐付けられた１又は２以上の前記スロット及び前記バリューを含む複数のスロットバリュー抽出モデルを記憶する記憶部と、
前記入力文字列と前記複数のスロットバリュー抽出モデルの中の前記各想定入力文字列との類似度を比較し、類似度の高い想定入力文字列に紐付けられた前記スロットを基に前記入力文字列における前記スロットの位置を推定し、推定した前記スロットの位置に対応した前記バリューを前記入力文字列から抽出するスロットバリュー抽出部と、
前記バリューリストと前記回答文リスト及び前記周辺文字列リストを基に第１の学習データを作成する学習データ作成部と、
前記第１の学習データを基に第１のスロットバリュー抽出モデルを作成し、作成した前記第１のスロットバリュー抽出モデルを、前記複数のスロットバリュー抽出モデルに属するモデルとして前記記憶部に格納するモデル作成部と、を備えることを特徴とする音声対話システム。
【請求項２】
請求項１に記載の音声対話システムであって、
前記学習データ作成部は、
前記回答文リストを基に、前記回答文リストの中の前記回答文に紐付けられた前記バリュー識別子の組み合わせを１又は２以上作成し、前記1又は２以上の組み合わせ毎に前記バリュー識別子の順列を作成し、
前記バリュー識別子の順列の組み合わせ毎に、前記バリュー識別子の順列に属する各要素の前記バリュー識別子に紐付けられた前記バリューを前記各要素のバリューとして前記バリューリストの中からそれぞれ取得し、且つ前記各要素のバリュー識別子に紐付けられた前記スロットを、前記各要素のスロットとして前記回答文リストの中からそれぞれ取得し、さらに、前記各要素のスロットに紐付けられた前記周辺文字列を前記各要素の周辺文字列として前記周辺文字列リストの中からそれぞれ取得し、
前記バリュー識別子の順列の組み合わせ毎に、取得した前記各要素のバリューと取得した前記各要素の周辺文字列とを結合した文字列を前記各要素の文字列として作成し、且つ前記各要素の文字列を結合して複数の想定入力文字列を作成し、
作成した前記複数の想定入力文字列と、前記複数の想定入力文字列の各々の作成に用いた前記各要素のスロット及び前記各要素のバリューを基に、前記各想定入力文字列と、前記各要素のスロット及び前記各要素のバリューとを紐付けたデータを前記第１の学習データとして作成することを特徴とする音声対話システム。
【請求項３】
請求項２に記載の音声対話システムであって、
前記学習データ作成部は、
前記第１の学習データに紐付けられた前記各要素の前記スロットのうち１又は２以上の特定のスロットの組み合わせを作成し、作成した前記特定のスロットの組み合わせから除外されたスロットに紐付けられた学習データを前記第１の学習データの中から除外して、第２の学習データを作成し、
前記モデル作成部は、
前記第２の学習データを基に第２のスロットバリュー抽出モデルを作成し、作成した前記第２のスロットバリュー抽出モデルを、前記複数のスロットバリュー抽出モデルに属するモデルとして前記記憶部に格納することを特徴とする音声対話システム。
【請求項４】
請求項２又は３に記載の音声対話システムであって、
予め設定された１又は２以上の音声出力用文字列に、少なくとも前記各要素のスロットが含まれる確率が紐付けられた対話ログを更に備え、
前記学習データ作成部は、
前記第１の学習データに紐付けられた前記各要素の前記スロットのうち前記対話ログで規定された前記確率が閾値以上のスロットに関する前記想定入力文字列を含むデータを前記第１の学習データの中から抽出して、第３の学習データを作成し、
前記モデル作成部は、
前記第３の学習データを基に第３のスロットバリュー抽出モデルを作成し、作成した前記第３のスロットバリュー抽出モデルを、前記複数のスロットバリュー抽出モデルに属するモデルとして前記記憶部に格納することを特徴とする音声対話システム。
【請求項５】
請求項１〜４のうちいずれか１項に記載の音声対話システムであって、
前記複数のスロットの各々と複数の質問文の各々とが紐付けられて記憶された質問文リストと、
前記スロットバリュー抽出部の抽出による前記バリューと前記バリューリストの中の前記バリューとの類似度を比較し、類似度の高いバリューと紐付けられた前記バリュー識別子を、前記スロットバリュー抽出部の抽出による前記バリューの前記バリュー識別子として推定するバリュー識別子推定部と、
前記バリュー識別子推定部で推定された前記バリュー識別子を基に前記回答文リストを参照し、情報提示に用いる前記スロットの前記バリュー識別子が前記回答文に存在する場合、前記情報提示に用いる前記スロットの前記バリュー識別子に紐付けられた前記回答文を前記出力文字列として出力し、前記情報提示に用いる前記スロットの前記バリュー識別子が前記回答文に存在しない場合、前記質問文リストを参照し、前記情報提示に用いる前記スロットに対して不足している前記スロットに紐付けられた前記質問文を前記出力文字列として出力する回答絞込み部と、を更に備えることを特徴とする音声対話システム。
【請求項６】
文字列を構成する情報であって、予め想定された文字列の候補を示す複数のバリューと、前記複数のバリューの各々を識別する複数のバリュー識別子とが紐付けられて記憶されたバリューリストと、
前記文字列を構成する情報を識別する識別子を示す複数のスロットの各々と、前記複数のバリュー識別子の各々とが紐付けられて記憶され、且つ前記複数のスロットの各々と前記複数のバリュー識別子の各々とが１以上の回答文に紐付けられて記憶された回答文リストと、
前記複数のスロットの各々と、前記複数のスロットの各々に隣接配置される複数の周辺文字列とが紐付けられて記憶された周辺文字列リストと、
前記バリューリストと前記回答文リスト及び前記周辺文字列リストを基に第１の学習データを作成する学習データ作成部と、
前記第１の学習データを基に第１のスロットバリュー抽出モデルを作成するモデル作成部と、を備え、
前記学習データ作成部は、
前記回答文リストを基に、前記回答文リストの中の前記回答文に紐付けられた前記バリュー識別子の組み合わせを１又は２以上作成し、前記１又は２以上の組み合わせ毎に前記バリュー識別子の順列を作成し、
前記バリュー識別子の順列の組み合わせ毎に、前記バリュー識別子の順列に属する各要素のバリュー識別子に紐付けられたバリューを前記各要素のバリューとして前記バリューリストの中からそれぞれ取得し、且つ前記各要素のバリュー識別子に紐付けられたスロットを、前記各要素のスロットとして前記回答文リストの中からそれぞれ取得し、さらに、前記各要素のスロットに紐付けられた前記周辺文字列を前記各要素の周辺文字列として前記周辺文字列リストの中からそれぞれ取得し、
前記バリュー識別子の順列の組み合わせ毎に、取得した前記各要素のバリューと取得した前記各要素の周辺文字列とを結合した文字列を前記各要素の文字列として作成し、且つ前記各要素の文字列を結合して複数の想定入力文字列を作成し、
作成した前記複数の想定入力文字列と、前記複数の想定入力文字列の各々の作成に用いた前記各要素のスロット及び前記各要素のバリューを基に、前記各想定入力文字列と、前記各要素のスロット及び前記各要素のバリューとを紐付けたデータを前記第１の学習データとして作成することを特徴とするモデル作成装置。
【請求項７】
請求項６に記載のモデル作成装置であって、
前記学習データ作成部は、
前記第１の学習データに紐付けられた前記各要素のスロットのうち１又は２以上の特定のスロットの組み合わせを作成し、作成した前記特定のスロットの組み合わせから除外されたスロットに紐付けられた学習データを前記第１の学習データの中から除外して、第２の学習データを作成し、
前記モデル作成部は、
前記第２の学習データを基に第２のスロットバリュー抽出モデルを作成することを特徴とするモデル作成装置。
【請求項８】
請求項６又は７に記載のモデル作成装置であって、
予め設定された１又は２以上の音声出力用文字列に、少なくとも前記各要素のスロットが含まれる確率が紐付けられた対話ログを更に有し、
前記学習データ作成部は、
前記第１の学習データに紐付けられた前記各要素のスロットのうち前記対話ログで規定された前記確率が閾値以上のスロットに関する前記想定入力文字列を含むデータを前記第１の学習データの中から抽出して、第３の学習データを作成し、
前記モデル作成部は、
前記第３の学習データを基に第３スロットバリュー抽出モデルを作成することを特徴とするモデル作成装置。
【請求項９】
文字列を構成する情報であって、予め想定された文字列の候補を示す複数のバリューと、前記複数のバリューの各々を識別する複数のバリュー識別子とが紐付けられて記憶されたバリューリストと、
前記文字列を構成する情報を識別する識別子を示す複数のスロットの各々と、前記複数のバリュー識別子の各々とが紐付けられて記憶され、且つ前記複数のスロットの各々と前記複数のバリュー識別子の各々とが１以上の回答文に紐付けられて記憶された回答文リストと、
前記複数のスロットの各々と、前記複数のスロットの各々に隣接配置される複数の周辺文字列とが紐付けられて記憶された周辺文字列リストと、
前記バリューリストと前記回答文リスト及び前記周辺文字列リストを基に第１の学習データを作成する学習データ作成部と、
前記第１の学習データを基に第１のスロットバリュー抽出モデルを作成するモデル作成部と、を備えたモデル作成装置におけるモデル作成方法であって、
前記学習データ作成部が、前記回答文リストを基に、前記回答文リストの中の前記回答文に紐付けられた前記バリュー識別子の組み合わせを１又は２以上作成し、前記１又は２以上の組み合わせ毎に前記バリュー識別子の順列を作成する順列作成ステップと、
前記学習データ作成部が、前記バリュー識別子の順列の組み合わせ毎に、前記バリュー識別子の順列に属する各要素の前記バリュー識別子に紐付けられたバリューを前記各要素のバリューとして前記バリューリストの中からそれぞれ取得し、且つ前記各要素のバリュー識別子に紐付けられたスロットを、前記各要素のスロットとして前記回答文リストの中からそれぞれ取得し、さらに、前記各要素のスロットに紐付けられた前記周辺文字列を前記各要素の周辺文字列として前記周辺文字列リストの中からそれぞれ取得する取得ステップと、
前記学習データ作成部が、前記バリュー識別子の順列の組み合わせ毎に、取得した前記各要素のバリューと取得した前記各要素の周辺文字列とを結合した文字列を前記各要素の文字列として作成し、且つ前記各要素の文字列を結合して複数の想定入力文字列を作成する想定入力文字列作成ステップと、
前記学習データ作成部が、前記想定入力文字列作成ステップで作成した前記複数の想定入力文字列と、前記複数の想定入力文字列の各々の作成に用いた前記各要素のスロット及び前記各要素のバリューを基に、前記各想定入力文字列と、前記各要素のスロット及び前記各要素のバリューとを紐付けたデータを前記第１の学習データとして作成する第１の学習データ作成ステップと、を含むことを特徴とするモデル作成方法。
【請求項１０】
請求項９に記載のモデル作成方法であって、
前記学習データ作成部が、前記第１の学習データに紐付けられた前記各要素のスロットのうち１又は２以上の特定のスロットの組み合わせを作成し、作成した前記特定のスロットの組み合わせから除外されたスロットに紐付けられた学習データを前記第１の学習データの中から除外して、第２の学習データを作成する第２の学習データ作成ステップと、
前記モデル作成部が、前記第２の学習データ作成ステップで作成された前記第２の学習データを基に第２のスロットバリュー抽出モデルを作成する第２のスロットバリュー抽出モデル作成ステップと、を含むことを特徴とするモデル作成方法。
【請求項１１】
請求項９又は１０に記載のモデル作成方法であって、
予め設定された１又は２以上の音声出力用文字列に、少なくとも前記各要素のスロットが含まれる確率が紐付けられた対話ログを更に備え、
前記学習データ作成部が、前記第１の学習データに紐付けられた前記各要素のスロットのうち前記対話ログで規定された前記確率が閾値以上のスロットに関する前記想定入力文字列を含むデータを前記第１の学習データの中から抽出して、第３の学習データを作成する第３の学習データ作成ステップと、
前記モデル作成部が、前記第３の学習データ作成ステップで作成された前記第３の学習データを基に第３のスロットバリュー抽出モデルを作成する第３のスロットバリュー抽出モデル作成ステップと、を含むことを特徴とするモデル作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声対話システムとモデル作成装置およびその方法に関する。
【背景技術】
【０００２】
従来のテキスト対話システム（以降、従来システム）としては、ユーザに対して複数回の質問文を出力し、ユーザが入力した複数の回答文に基づいて、情報提示するシステムがある。例えば、乗車時間を提示するサービスとして、従来システムを使用する場合、ユーザに出発地と目的地の入力を促し、入力された出発地と目的地の情報に基づいて乗車時間を提示する。
【０００３】
従来システムに関連する技術としては、例えば、特許文献１の記載されている技術が挙げられる。特許文献１には、想定回答及び前記想定回答に導くために聞き返す聞き返し質問を含む複数の応答内容が格納される記憶部と、ユーザ質問を受付ける受付部と、前記受付部が受付けた前記ユーザ質問に基づき前記複数の応答内容を検索して、前記ユーザ質問に対応する、前記想定回答及び前記聞き返し質問の何れか一方を取得する検索部と、前記検索部が取得した応答内容を出力する出力部と、を備える情報検索装置が、記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開2015-225402号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の技術では、ユーザの質問に対する質問順を事前に決めておく必要がある。そこで、ユーザの質問に対して、回答文や質問文を適切に選択して出力する音声対話システムとして、スロットバリュー抽出部と複数のスロットバリュー抽出モデルを備えた音声対話システムの構築が試みられている。しかし、スロットバリュー抽出モデルの作成に使用する多数の想定入力文字列を人手で作成する必要があり、作業が煩雑という課題がある。
【０００６】
本発明の目的は、複数のスロットバリュー抽出モデルを自動で作成することにある。
【課題を解決するための手段】
【０００７】
前記課題を解決するために、本発明は、入力される入力用音声を入力文字列の情報に変換し、変換された前記入力文字列の情報を基に回答文又は質問文の情報を含む出力文字列を作成し、作成した前記出力文字列の情報を合成音声に変換し、変換された前記合成音声を出力用音声として出力する音声対話システムであって、文字列を構成する情報であって、予め想定された文字列の候補を示す複数のバリューと、前記複数のバリューの各々を識別する複数のバリュー識別子とが紐付けられて記憶されたバリューリストと、前記文字列を構成する情報を識別する識別子を示す複数のスロットの各々と、前記複数のバリュー識別子の各々とが紐付けられて記憶され、且つ前記複数のスロットの各々と前記複数のバリュー識別子の各々とが１以上の回答文に紐付けられて記憶された回答文リストと、前記複数のスロットの各々と、前記複数のスロットの各々に隣接配置される複数の周辺文字列とが紐付けられて記憶された周辺文字列リストと、予め想定された複数の想定入力文字列と、前記複数の想定入力文字列の各々に紐付けられた1又は２以上の前記スロット及び前記バリューを含む複数のスロットバリュー抽出モデルを記憶する記憶部と、前記入力文字列と前記複数のスロットバリュー抽出モデルの中の前記各想定入力文字列との類似度を比較し、類似度の高い想定入力文字列に紐付けられた前記スロットを基に前記入力文字列における前記スロットの位置を推定し、推定した前記スロットの位置に対応した前記バリューを前記入力文字列から抽出するスロットバリュー抽出部と、前記バリューリストと前記回答文リスト及び前記周辺文字列リストを基に第１の学習データを作成する学習データ作成部と、前記第１の学習データを基に第１のスロットバリュー抽出モデルを作成し、作成した前記第１のスロットバリュー抽出モデルを、前記複数のスロットバリュー抽出モデルに属するモデルとして前記記憶部に格納するモデル作成部と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、複数のスロットバリュー抽出モデルを自動で作成することができ、結果として、スロットバリュー抽出モデルの作成に要する作業コストを低減することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施の形態１における音声対話システム及びテキスト対話システムの全体構成を示すブロック図である。
【図２】本実施の形態１におけるテキスト対話支援装置及びモデル作成装置が備えるハードウェアの一例を示す構成図である。
【図３】本実施の形態１におけるスロットバリュー抽出モデルの一例を示す構成図である。
【図４】本実施の形態１におけるバリューリストの一例を示す構成図である。
【図５】本実施の形態１における回答文リストの一例を示す構成図である。
【図６】本実施の形態１における質問文リストの一例を示す構成図である。
【図７】本実施の形態１における周辺文字列リストの一例を示す構成図である。
【図８】本実施の形態１における学習データの一例を示す構成図である。
【図９】本実施の形態１における音声対話システムの音声認識処理の一例を示す処理フロー図である。
【図１０】本実施の形態１における音声対話システムの音声合成処理の一例を示す処理フロー図である。
【図１１】本実施の形態１におけるテキスト対話システムの処理の一例を示す処理フロー図である。
【図１２】本実施の形態１におけるモデル作成装置の処理の一例を示す処理フロー図である。
【図１３】本実施の形態２において、特定スロットに関する想定入力文字列のみ除去した学習データを作成する処理の一例を示す処理フロー図である。
【図１４】本実施の形態２における特定のスロットに関する想定入力文字列のみ除去した学習データの一例を示す構成図である。
【図１５】本実施の形態３における対話ログの一例を示す構成図である。
【図１６】本実施の形態３における管理テーブルの一例を示す構成図である。
【図１７】本実施の形態３における学習データの一例を示す構成図である。
【発明を実施するための形態】
【００１０】
（実施の形態１）
以下、図面に基づいて、本発明の一実施の形態を詳述する。
【００１１】
（音声対話システム２０００の構成）
図１は、本発明の実施の形態１に係る音声対話システム２０００の構成の一例を示すブロック図である。本実施の形態１の音声対話システム２０００は、例えば、人間との音声対話を行う、いわゆる対話型ロボット（サービスロボット）であり、対話に係る音声の入出力処理を行う音声処理システム３０００と、対話に関する情報処理を行うテキスト対話システム１０００と、を含んで構成されている。
【００１２】
音声処理システム３０００は、マイク等を有し、音声が入力される音声入力部１０、音声入力部１０から入力された音声１００から、音声以外の音（雑音）を除去し、雑音を除去した音声を文字列の情報（入力文字列２００）に変換する音声認識部２０、テキスト対話システム１０００から出力された出力文字列３００から、合成音声４００を作成する音声合成部６０、スピーカー等を有し、音声合成部６０で作成された合成音声４００から、所定の合成音声を出力する音声出力部７０を備える。
【００１３】
テキスト対話システム１０００は、テキスト対話支援装置１２００及びモデル作成装置１１００を備える。テキスト対話支援装置１２００は、音声処理システム３０００と接続しており、音声処理システム３０００から受信した入力文字列２００に基づき、所定の情報処理を行うことにより、対応する出力文字列３００を音声処理システム３０００に送信する。
【００１４】
テキスト対話支援装置１２００は、スロットバリュー抽出部３０、バリュー識別子推定部４０、回答絞込み部５０、複数のスロットバリュー抽出モデル５００、バリューリスト５１０、回答文リスト５２０、質問文リスト５３０を備える。スロットバリュー抽出部３０は、複数のスロットバリュー抽出モデル５００を参照し、入力文字列２００に含まれる情報に関する識別子（以降、スロットという）を推定し、入力文字列２００からスロットに関する文字列（以降、バリューという）を抽出する。バリュー識別子推定部４０は、バリューと、バリューリスト５１０に事前に登録されたバリューであって、複数の想定されるバリューとの類似度を比較する。バリューリスト５１０の中に、バリューとの類似度が高い、想定されるバリューが存在する場合、バリュー識別子推定部４０は、想定バリューの識別子（以降、バリュー識別子という）を、バリューのバリュー識別子と判定する。
【００１５】
回答絞込み部５０は、情報提示のために必要なスロットのバリュー識別子が揃っているかを判断する。例えば、乗車時間の提示に必要なスロットのバリュー識別子が揃っている場合、回答絞込み部５０は、前記バリュー識別子と紐付いた回答文（乗車時間が記載された文字列）を出力する。一方、前記スロットのバリュー識別子が揃ってない場合、回答絞込み部５０は、不足しているスロット（例、＜出発地＞）に関する入力を促す質問文（例、出発地は？）を出力する。
【００１６】
モデル作成装置１１００は、音声対話システム２０００およびテキスト対話システム１０００の管理者等が利用する情報処理装置であり、スロットバリュー抽出部３０が参照するスロットバリュー抽出モデル５００を作成する。モデル作成装置１１００は、学習データ作成部８０、モデル作成部９０、周辺文字列リスト５４０、複数の学習データ５５０を備える。学習データ作成部８０は、テキスト対話支援装置１２００と情報の送受信を行って、バリューリスト５１０と回答文リスト５０２に記録された情報を取り込み、バリューリスト５１０と回答文リスト５０２及び周辺文字列リスト５４０に記録された情報を基に、スロットバリュー抽出モデル５００の作成に必要な複数の学習データ５５０を作成する。モデル作成部９０は、学習データ５５０に対する変換処理を行って、例えば、機械学習による処理を行って、学習データ５５０からスロットバリュー抽出モデル５００を作成し、作成したスロットバリュー抽出モデル５００をテキスト対話支援装置１２００に送信する。
【００１７】
図２は、テキスト対話支援装置１２００及びモデル作成装置１１００が備えるハードウェアの一例を示す構成図である。図２に示すように、テキスト対話支援装置１２００及びモデル作成装置１１００は、ＣＰＵ（Central Processing Unit）等の、処理の制御を司るプロセッサ１１と、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等の主記憶装置１２と、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）等の補助記憶装置１３と、キーボード、マウス、タッチパネル等の入力装置１４と、モニタ（ディスプレイ）等の出力装置１５と、有線LANカード、無線LANカード、モデム等の通信装置１６、を備える。また、テキスト対話支援装置１２００とモデル作成装置１１００との間は、所定の通信線により直接に、もしくは、ＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）、インターネット、専用線等の通信網を介して接続される。
【００１８】
なお、複数のスロットバリュー抽出モデル５００、バリューリスト５１０、回答文リスト５２０、質問文リスト５３０、周辺文字列リスト５４０、複数の学習データ５５０は、主記憶装置１２又は補助記憶装置１３で構成される記憶部に記憶される。また、スロットバリュー抽出部３０、バリュー識別子推定部４０、回答絞込み部５０、学習データ作成部８０、モデル作成部９０は、例えば、ＣＰＵが、主記憶装置１２又は補助記憶装置１３に記憶される各種処理プログラム（スロットバリュー抽出プログラム、バリュー識別子推定プログラム、回答絞込みプログラム、学習データ作成プログラム、モデル作成プログラム）を実行することにより、その機能を実現することができる。
【００１９】
図３は、スロットバリュー抽出モデルの構成を示す構成図である。図３において、スロットバリュー抽出モデル５００は、ＩＤ５０１、想定入力文字列５０２、スロットとバリュー５０３を含む。ＩＤ５０１は、スロットバリュー抽出モデルを一意に識別する識別子である。想定入力文字列５０２は、事前に想定される入力文字列として定義された情報である。想定入力文字列５０２には、各ＩＤ５０１に対応して、事前に定義された想定入力文字列に関する情報が登録される。例えば、ＩＤ５０１の「１」には、「勝田駅から国分寺駅まで行きたい」の情報が登録される。スロットとバリュー５０３は、想定入力文字列５０２に登録された想定入力文字列の中のスロットとバリューを管理するための情報である。スロットとバリュー５０３には、例えば、ＩＤ５０１の「１」に対応して、「＜出発地＞＝勝田駅」、「＜目的地＞＝国分寺駅」の情報が登録される。ここで、「＜出発地＞」と「＜目的地＞」は、スロットを意味し、「勝田駅」と「国分寺駅」は、バリューを意味する。なお、スロットバリュー抽出モデル５００は、事前に定義した想定入力文字列とスロットとバリューを入力として、機械学習（例えば、Conditional Random Fields法）で作成されることもある。
【００２０】
図４は、バリューリストの構成を示す構成図である。図４において、バリューリスト５１０は、バリュー識別子５１１と、想定されるバリュー５１２を含むデータベースである。バリュー識別子５１１は、バリューを一意に識別する識別子である。バリュー識別子５１１には、例えば、バリューである「東京駅」を識別する識別子として、「＜東京駅＞」の情報が登録される。想定されるバリュー５１２は、事前に想定された（予め想定された）文字列の候補を示す情報である。想定されるバリュー５１２には、事前に想定されたバリューの情報が複数の項目に分かれて登録される。例えば、想定されるバリュー５１２には、バリュー識別子５１１の「＜東京駅＞」に対応して、「東京駅」、「関東の東京駅」の情報が登録される。すなわち、バリューリスト５１０には、文字列を構成する情報であって、予め想定された文字列の候補を示す複数のバリューと、複数のバリューの各々を識別する複数のバリュー識別子とが紐付けられて記憶される。なお、想定されるバリュー５１２には、３以上の項目について、各バリュー識別子５１１に対応した情報が登録される。
【００２１】
図５は、回答文リストの構成を示す構成図である。図５において、回答文リスト５２０は、ＩＤ５２１、スロットとバリュー識別子５２２、回答文５２３を含む。ＩＤ５２１は、回答文を一意に識別する識別子である。スロットとバリュー識別子５２２は、スロットとバリュー識別子との関係を管理するための情報である。スロットとバリュー識別子５２２には、例えば、ＩＤ５２１の「１」に対応して、「＜出発地＞＝＜勝田駅＞」、「＜目的地＞＝＜東京駅＞」の情報が登録される。ここで、「＜出発地＞」と「＜目的地＞」は、スロットを意味し、「＜勝田駅＞」と「＜東京駅＞」は、バリュー識別子を意味する。回答文５２３は、回答文に関する情報である。回答文５２３には、例えば、ＩＤ５２１の「１」に対応して、「乗車時間は約２時間です。」の情報が登録される。すなわち、回答文リスト５２０には、文字列を構成する情報を識別する識別子を示す複数のスロットの各々と、複数のバリュー識別子の各々とが紐付けられて記憶され、且つ複数のスロットの各々と複数のバリュー識別子の各々とが１以上の回答文に紐付けられて記憶される。
【００２２】
図６は、質問文リストの構成を示す構成図である。図６において、質問文リスト５３０は、スロット５３１、質問文５３２を含む。スロット５３１は、質問文５３２を特定するための情報である。スロット５３１には、例えば、「＜目的地＞」の情報が登録される。質問文５３２は、質問文を構成する情報である。質問文５３２には、例えば、スロット５３１の「＜目的地＞」に対応して、「目的地はどこですか？」の情報が登録される。
【００２３】
図７は、周辺文字列リストの構成を示す構成図である。図７において、周辺文字列リスト５４０は、スロット５４１、スロットの周辺文字列５４２を含む。スロット５４１は、スロットの周辺文字列５４２を特定するための情報である。スロット５３１には、例えば、「＜出発地＞」の情報が登録される。スロットの周辺文字列５４２は、スロット５４１に隣接配置される周辺文字列の候補として予め想定された情報である。スロットの周辺文字列５４２には、例えば、「＜出発地＞」に隣接配置される周辺文字列として、「＠から」、「＠から行きたい」の情報が記録される。
【００２４】
図８は、学習データの構成を示す構成図である。図８において、学習データ５５０は、ＩＤ５５１、想定入力文字列５５２、スロットとバリュー５５３を含む。ＩＤ５５１は、学習データを一意に識別する識別子である。想定入力文字列５５２は、事前に想定される入力文字列として定義された情報である。想定入力文字列５５２には、各ＩＤ５５１に対応して、事前に定義された想定入力文字列に関する情報が登録される。例えば、ＩＤ５５１の「１」には、「勝田駅から国分寺駅まで行きたい」の情報が登録される。スロットとバリュー５５３は、想定入力文字列５５２に登録された想定入力文字列の中のスロットとバリューを管理するための情報である。スロットとバリュー５５３には、例えば、ＩＤ５５１の「１」に対応して、「＜出発地＞＝勝田駅」、「＜目的地＞＝国分寺駅」の情報が登録される。ここで、「＜出発地＞」と「＜目的地＞」は、スロットを意味し、「勝田駅」と「国分寺駅」は、バリューを意味する。
【００２５】
（音声対話システム２０００の処理フロー）
次に、本発明の実施の形態１における音声対話システム２０００の処理フローについて説明する。図９に音声対話システム２０００における音声認識処理フローを示す。図９に示すように、マイクを含む音声入力部１０は、音声対話システム２０００の対話相手の音声（入力用音声）１００を取得する（Ｓ１０）。音声認識部２０は、音声入力部１０で取得した音声１００から対話相手の音声以外の音（雑音という）を除去し、音声１００に含まれるテキスト情報を入力文字列２００の情報に変換する（Ｓ１１）。次に、音声認識部２０は、テキスト対話システム１０００に対して入力文字列２００の情報を送信し（Ｓ１２）、ステップＳ１０に移行する。この後、ステップＳ１０〜ステップＳ１２の処理が繰り返される。
【００２６】
次に、図１０に音声対話システム２０００における音声合成処理フローを示す。図１０に示すように、音声合成部６０は、テキスト対話システム１０００の出力文字列３００の情報を受信する（Ｓ２０）。次に、音声合成部６０は、出力文字列３００から合成音声４００を作成する（Ｓ２１）。次に、音声合成部６０は、スピーカーを含む音声出力部７０を使って合成音声（出力用音声）４００を再生し（Ｓ２２）、ステップＳ２０に移行する。この後、ステップＳ２０〜ステップＳ２２の処理が繰り返される。
【００２７】
以上、一連の処理フローにより、音声入力部１０に入力された対話相手の音声１００を入力文字列２００の情報に変換し、変換された入力文字列２００の情報をテキスト対話システム１０００へ送信可能となる。また、テキスト対話システム１０００から出力された出力文字列３００の情報を合成音声４００に変換し、変換された合成音声４００を音声出力部７０から対話相手に向けて再生可能となる。
【００２８】
（テキスト対話システム１０００の処理フロー）
次に、テキスト対話システム１０００の処理フローについて説明する。図１１にテキスト対話システム１０００の基本的な処理フローを示す。図１１に示すように、スロットバリュー抽出部３０は、事前に作成したスロットバリュー抽出モデル５００を参照し、実際の入力文字列２００から、スロットに関する文字列(バリュー)の位置を推定し、推定した位置のバリューを抽出し、バリューとスロットの情報をバリュー識別子推定部４０に転送する（Ｓ３０）。
【００２９】
例えば、スロットバリュー抽出部３０は、入力文字列２００として、「東京駅まで行きたいです」の情報が入力された場合、入力文字列２００と、図３のスロットバリュー抽出モデル５００の想定入力文字列５０２との間の類似度を比較し、想定入力文字列５０２の中から、類似度の高い想定入力文字列として、「東京駅まで行きたい」を選択し、選択された想定入力文字列「東京駅まで行きたい」と紐付いたスロット（例、＜目的地＞）に関して、入力文字列２００の中のスロットの位置を推定する。例えば、想定入力文字列５０２の中のスロットは、「まで行きたい」という文字（以降、スロット周辺文字列という）の前（又は、後ろ）に隣接配置されているので、スロット周辺文字列の前（又は、後ろ）に隣接する入力文字列２００の位置をスロットの位置と推定する。最後に、スロットバリュー抽出部３０は、スロットの位置の単語、例えば、「東京駅」をバリューとして抽出する。なお、機械学習で作成されたスロットバリュー抽出モデルを使用する場合、前述したスロットおよびバリューの抽出方法を使用せず、スロットバリュー抽出部３０が、入力文字列２００におけるスロット及びバリューの推定結果をバリュー識別子推定部４０へ転送する。
【００３０】
次に、バリュー識別子推定部４０は、スロットバリュー抽出部３０から、スロットとバリューの情報を受信した場合、バリューリスト５１０を参照し、受信したバリューと想定されるバリュー５１２との類似度を比較し、類似度が高い場合、想定されるバリュー５１２に対応したバリュー識別子５１１を推定し、推定結果（バリュー識別子）の情報とバリューの情報を回答絞込み部５０に転送する（Ｓ３１）。例えば、受信したバリューが、「東京駅」である場合、バリュー識別子推定部４０は、「＜東京駅＞」をバリュー識別子５１１として推定する。
【００３１】
次に、回答絞込み部５０は、バリュー識別子推定部４０から推定結果（バリュー識別子）の情報（「＜東京駅＞」）とバリューの情報（「東京駅」）を受信した場合、回答文リスト５２０を参照し、情報提示のために必要なスロットのバリュー識別子が揃っているか判断する（Ｓ３２、Ｓ３３）。例えば、乗車時間の提示に必要なスロットのバリュー識別子（例、スロット＜目的地＞のバリュー識別子が＜東京駅＞、スロット＜出発地＞のバリュー識別子が＜勝田駅＞）が揃っている場合、回答絞込み部５０は、バリュー識別子（「＜東京駅＞」、「＜勝田駅＞」）と紐付いた回答文５２３として、例えば、「乗車時間は約2時間です。」の情報を出力し（Ｓ３４）、このルーチンでの処理を終了する。
【００３２】
一方、バリュー識別子が、＜目的地＞を示す「＜東京駅＞」のみであって、乗車時間の提示に必要なスロットのバリュー識別子が揃ってない場合、回答絞込み部５０は、質問文リスト５３０を参照し、不足しているスロット（例、＜出発地＞）に関する入力を促す質問文５３２として、例えば、「出発地はどこですか？」の情報を出力する（Ｓ３５）。次に、回答絞込み部５０は、取得済みバリュー識別子の情報をメモリ（記憶部）に記録し（Ｓ３６）、このルーチンでの処理を終了する。
【００３３】
以上、一連のテキスト対話システム１０００の処理フローにより、ユーザに対して複数回の質問文を出力し、ユーザが入力した複数の回答文に基づいて、適切な情報提示が可能になる。
【００３４】
（モデル作成装置１１００の処理フロー）
次に、本発明の実施の形態１におけるモデル作成装置１１００の処理フローについて説明する。図１２にモデル作成装置１１００の処理フローを示す。図１２に示すように、学習データ作成部８０は、バリューリスト５１０と回答文リスト５２０及び周辺文字列リスト５４０を参照し、参照結果を基に学習データ５５０を作成する。学習データ５５０は、想定入力文字列とスロットとバリューを含むデータである。以下、学習データ５５０の具体的な作成方法について説明する。
【００３５】
（学習データ５５０の作成方法）
学習データ作成部８０は、想定入力文字列を作成する為、回答文リスト５２０から、回答文５２３の中の１つの回答文と紐付いた複数のバリュー識別子を取得する（Ｓ４０）。次に、学習データ作成部８０は、取得した複数のバリュー識別子の中から、N個（N=1〜Nmax(事前に定義された最大値))を選択する組合せを作成し（Ｓ４１）、作成した各組み合毎に、順列を作成する（Ｓ４２）。例えば、回答文５２３と紐付いたバリュー識別子が２個の場合、２個のバリュー識別子として、例えば、「＜勝田駅＞」、「＜東京駅＞」を使った順列として、例えば、M21=[＜勝田駅＞，＜東京駅＞]、M22=[＜東京駅＞，＜勝田駅＞]）を作成し、１個のバリュー識別子を使った順列として、例えば、M11=[＜勝田駅＞]、M12=[＜東京駅＞]）を作成する。
【００３６】
次に、学習データ作成部８０は、全ての回答文に関して、バリュー識別子の順列を作成したか否かを判定する（Ｓ４３）。ステップＳ４３で、否定の判定結果を得た場合、学習データ作成部８０は、ステップＳ４０へ移行し、ステップＳ４０〜ステップＳ４３の処理を繰り返す。一方、ステップＳ４３で、肯定の判定結果を得た場合、学習データ作成部８０は、ステップＳ４２で作成した順列の中から順列を１個選択し（Ｓ４４）、選択した順列のバリュー識別子を１個選択する（Ｓ４５）。
【００３７】
次に、学習データ作成部８０は、順列から選択したバリュー識別子を基にバリューリスト５１０を参照し、バリューリスト５１０の中から、順列、例えば、M21=[＜勝田駅＞，＜東京駅＞]のバリュー識別子（例えば、＜勝田駅＞）と紐付いたバリューとして、想定されるバリュー５１２の中から、例えば、「勝田駅」を取得する（Ｓ４６）。
【００３８】
この際、学習データ作成部８０は、順列から選択したバリュー識別子を基に回答文リスト５２０を参照し、回答文リスト５２０の中から、順列、例えば、M21=[＜勝田駅＞，＜東京駅＞]のバリュー識別子（例えば、＜勝田駅＞）と紐付いたスロットとして、スロットとバリュー識別子５２２の中から、例えば、「＜出発地＞」を取得する（Ｓ４７）。さらに、学習データ作成部８０は、取得したスロット「＜出発地＞」を基に周辺文字列リスト５４０を参照し、周辺文字列リスト５４０の中から、取得したスロット「＜出発地＞」と紐付く周辺文字列として、スロットの周辺文字列５４２の中から、例えば、「＠から」を取得する（Ｓ４８）。
【００３９】
次に、学習データ作成部８０は、ステップＳ４６で取得したバリュー（「勝田駅」）と、ステップＳ４７で取得したスロット（＜出発地＞）と、ステップＳ４８で取得した周辺文字列（「＠から」）を基に、周辺文字列のバリュー挿入位置、例えば、「＠」に、バリュー、例えば、「勝田駅」を挿入した文字列、例えば、C1=「勝田駅から」を作成する（Ｓ４９）。
【００４０】
次に、学習データ作成部８０は、順列内の全バリュー識別子に関して、文字列を作成したか否かを判定する（Ｓ５０）。ステップＳ５０で否定の判定結果を得た場合、学習データ作成部８０は、ステップＳ４５へ移行し、ステップＳ４５〜ステップＳ５０の処理を繰り返す。
【００４１】
この際、学習データ作成部８０は、順列＝M21の中の別のバリュー識別子として、例えば、バリュー識別子（＜東京駅＞）と紐付いたバリューとして、バリューリスト５１０の想定されるバリュー５１２の中から、例えば、「東京駅」を取得する。また、学習データ作成部８０は、別のバリュー識別子として、例えば、バリュー識別子（＜東京駅＞）と紐付いたスロットとして、回答文リスト５２０のスロットとバリュー識別子５２２の中から、例えば、「＜目的地＞」を取得する。さらに、学習データ作成部８０は、取得したスロット「＜目的地＞」を基に周辺文字列リスト５４０を参照し、周辺文字列リスト５４０の中から、取得したスロット「＜目的地＞」と紐付く周辺文字列として、スロットの周辺文字列５４２の中から、周辺文字列として、例えば、「＠まで行きたい」を取得する。この際、学習データ作成部８０は、周辺文字列のバリュー挿入位置に、バリューとして、例えば、「東京駅」を挿入した文字列として、例えば、C2=「東京駅まで行きたい」を作成する。
【００４２】
一方、ステップＳ５０で肯定の判定結果を得た場合、学習データ作成部８０は、各バリュー識別子から作成した文字列を結合し想定入力文字列の情報を作成する（Ｓ５１）。例えば、学習データ作成部８０は、順列に含まれる各バリュー識別子から作成した文字列を結合して、想定入力文字列として、C1+C2=「勝田駅から東京駅まで行きたい」を作成する。
【００４３】
次に、学習データ作成部８０は、全順列に関して、想定入力文字列を作成したか否かを判定する（Ｓ５２）。ステップＳ５２で否定の判定結果を得た場合、学習データ作成部８０は、ステップＳ４５へ移行し、ステップＳ４４〜ステップＳ５２の処理を繰り返す。一方、ステップＳ５２で肯定の判定結果を得た場合、学習データ作成部８０は、複数の想定入力文字列の作成に使用したスロット及びバリューと、想定入力文字列とを紐付けたデータを学習データ（第１の学習データ）５５０として作成し（Ｓ５３）、その後、このルーチンでの処理を終了する。
【００４４】
この際、学習データ作成部８０は、バリュー識別子の順列の組み合わせ毎に、バリュー識別子の順列に属する各要素のバリュー識別子に紐付けられたバリューを各要素のバリューとしてバリューリスト５１０の中からそれぞれ取得し、各要素のバリュー識別子に紐付けられたスロットを、各要素のスロットとして回答文リスト５２０の中からそれぞれ取得し、各要素のスロットに紐付けられた周辺文字列を各要素の周辺文字列として、周辺文字列リスト５４０の中からそれぞれ取得し、取得した各要素のバリューと取得した各要素の周辺文字列とを結合した文字列を各要素の文字列として作成し、各要素の文字列を結合して複数の想定入力文字列を作成し、作成した複数の想定入力文字列と、複数の想定入力文字列の各々の作成に用いた各要素のスロット及び各要素のバリューを基に、各想定入力文字列と、各要素のスロット及び各要素のバリューとを紐付けたデータを第１の学習データ５５０として作成する。
【００４５】
（モデル作成方法）
モデル作成部９０は、学習データ（第１の学習データ）５５０からスロットバリュー抽出モデル（第１のスロットバリュー抽出モデル）５００を作成する。スロットバリュー抽出モデル５００は、事前に定義した想定入力文字列とスロットとバリューが登録されている。例えば、学習データ５５０とスロットバリュー抽出モデル５００が同一であっても良い。また、スロットバリュー抽出モデル５００は、学習データ５５０の想定入力文字列とスロット及びバリューを入力として、機械学習（例えば、Conditional Random Fields法）で作成しても良い。
【００４６】
本実施の形態によれば、複数のスロットバリュー抽出モデルを自動で作成することができ、結果として、スロットバリュー抽出モデルの作成に要する作業コストを低減することができる。
【００４７】
（実施の形態２）
本実施の形態２は、実施の形態１に記載の音声対話システム２０００において、複数のスロットバリュー抽出モデル（第１又は第２のスロットバリュー抽出モデル）を切替えることにより、高精度なスロットバリュー抽出を可能とする。また、複数のスロットバリュー抽出モデルの作成に必要な作業コストを軽減する。
【００４８】
実施の形態１において、情報提示に必要なスロットのバリュー識別子が揃ってない場合、回答絞込み部５０は、質問文リスト５３０を参照して不足しているスロット（例、＜出発地＞）に関する入力を促す質問文（例、出発地はどこですか？）を出力する。これに対して、本実施の形態２のスロットバリュー抽出部３０は、対話相手の入力文字列から高精度にスロットバリュー抽出するため、取得済みのスロットに関する想定入力文字列のみ含まれてないスロットバリュー抽出モデル（第２のスロットバリュー抽出モデル）を使用する。取得済みスロットに関する想定入力文字列のみスロットバリュー抽出モデルに含めないことにより、スロットバリュー抽出部３０は、誤って取得済みスロットを抽出する可能性が無くなる。よって、本実施の形態２のスロットバリュー抽出の精度は、実施の形態１より高くなる。
【００４９】
また、複数のスロットバリュー抽出モデルの作成に必要な作業コストを低減する為、本実施の形態２の学習データ作成部８０は、実施の形態１で作成した学習データ（第１の学習データ）５５０から、特定のスロットに関する想定入力文字列のみ除去した学習データを第２の学習データとして作成する。そして、モデル作成部９０が、第２の学習データから第２のスロットバリュー抽出モデルを作成する。
【００５０】
学習データ作成の処理フローを図１３に示す。図１３に示すように、学習データ作成部８０は、実施の形態１で作成した学習データ５５０に使用された全スロット（M個）の内、N個（N=1〜M-1）のスロットを選択する組合せを作成する。そして、組み合わせ毎に、組み合わせに含まれていないスロットに関する想定入力文字列のみ、学習データ５５０から除去したデータ（第２の学習データ）を作成する。
【００５１】
具体的には、実施の形態１で作成した学習データ５５０の場合、学習データ作成部８０は、全スロット（M=2）の内、N個（N=1〜M-1）のスロットを選択する組合せ、例えば、２種類を作成する（Ｓ６０）。次に、学習データ作成部８０は、ステップＳ６０で作成した組み合わせ（２種類）の中から組み合わせを１つ選択し、選択した組み合わせ毎に、組み合わせに含まれていないスロットに関する想定入力文（想定入力文字列）のみ、学習データ５５０から除去したデータを、図１４に示すように、学習データ（第２の学習データ）５５０（２Ａ、２Ｂ）として作成する（Ｓ６１）。
【００５２】
図１４（ａ）は、図８の学習データ５５０のうち、特定のスロット「＜目的地＞」に関する想定入力文字列のみが除去された学習データ５５０（２Ａ）の例を示す。すなわち、図１４（ａ）の学習データ５５０（２Ａ）は、図８の学習データ５５０のスロットとバリュー５５３の中に、「＜目的地＞」が存在する情報であって、ＩＤ５５１が「１」〜「６」の情報が削除された学習データである。また、図１４（ｂ）は、図８の学習データ５５０のうち、特定のスロット「＜出発地＞」に関する想定入力文字列のみが除去された学習データ５５０（２Ｂ）の例を示す。すなわち、図１４（ｂ）の学習データ５５０（２Ｂ）は、図８の学習データ５５０のスロットとバリュー５５３の中に、「＜出発地＞」が存在する情報であって、ＩＤ５５１が「１」〜「４」と「７」の情報が削除された学習データである。
【００５３】
本実施の形態によれば、実施の形態１に記載の音声対話システム２０００において、複数のスロットバリュー抽出モデルを第１のスロットバリュー抽出モデルから第２のスロットバリュー抽出モデルに切替えることにより、高精度なスロットバリュー抽出モデルの抽出が可能になる。また、複数のスロットバリュー抽出モデルの作成に必要な作業コストを低減することができる。
【００５４】
（実施の形態３）
対話相手の入力文字列から高精度にスロットバリュー抽出するため、本実施の形態３のスロットバリュー抽出部３０は、対話ログに基づいて、使用するスロットバリュー抽出モデルを第１のスロットバリュー抽出モデルから第３のスロットバリュー抽出モデルに切替える。対話ログの一例を図１５に示す。
【００５５】
図１５は、対話ログの構成を示す構成図である。対話ログ５６０は、ＩＤ５６１、質問文５６２、スロット５６３を含む。スロット５６３は、＜出発地＞５６４、＜目的地＞５６５、＜出発時刻＞５６６、＜出発地＞＜目的地＞５６７、＜目的地＞＜出発時刻＞５６８、＜出発時刻＞＜出発地＞５６９、＜出発地＞＜目的地＞＜出発時刻＞５７０を含む。
【００５６】
ＩＤ５６１は、対話ログを一意に識別する識別子である。質問文５６２は、ユーザに対する質問文を管理する情報である。質問文５６２には、例えば、「目的地はどこですか？」の情報が登録される。スロット５６３は、質問文５６２に含まれるスロットの確率（割合）を管理する情報である。スロット５６３には、例えば、ＩＤ５６１の「１」に示すように、「−」（質問文出力無し）の質問文５６２として、「＜出発地＞」の情報が含まれる確率が「２０％」である場合、＜出発地＞５６４には、「２０％」の情報が登録される。ＩＤ５６１の「２」に示すように、「目的地はどこですか？」の質問文５６２として、「＜出発地＞」の情報が含まれる確率が「０％」である場合、＜出発地＞５６４には、「０％」の情報が登録される。また、ＩＤ５６１の「３」に示すように、「出発地はどこですか？」の質問文５６２として、「＜出発地＞」の情報が含まれる確率が「８０％」である場合、＜出発地＞５６４には、「８０％」の情報が登録される。さらに、ＩＤ５６１の「４」に示すように、「出発時刻はいつですか？」の質問文５６２として、「＜出発地＞」の情報が含まれる確率が「０％」である場合、＜出発地＞５６４には、「０％」の情報が登録される。
【００５７】
対話ログは、対話相手の入力文字列に各スロットが含まれる確率とした。例えば、テキスト対話システム１０００の質問文出力が無い状態（ＩＤ５６１の「１」）での対話相手の入力文字列２００は、スロット５６３のうち＜出発地＞５６４に関する文字列のみ含まれる確率が、閾値（例えば、１０％）以上の「２０％」であり、スロット５６３のうち＜目的地＞５６５に関する文字列のみ含まれる確率が、閾値以上の「８０％」である。よって、スロットバリュー抽出の精度向上のため、質問文の出力が無い状態における入力文字列２００のスロットバリュー抽出において、スロットバリュー抽出部３０は、スロット５６３のうち＜出発地＞５６４のみに関する想定入力文字列と、スロット５６３のうち＜目的地＞５６５のみに関する想定入力文字列の両方を登録したスロットバリュー抽出モデル５５０（図１７（ａ）参照）を使用する。
【００５８】
同様に、質問文「目的地はどこですか？」に対する入力文字列２００のスロットバリュー抽出において、スロットバリュー抽出部３０は、スロット５６３のうち＜目的地＞５６５のみに関する想定入力文字列を登録したスロットバリュー抽出モデル５５０（図１７（ｂ）参照）を使用する。
【００５９】
また、質問文「出発地はどこですか？」に対する入力文字列２００のスロットバリュー抽出において、スロットバリュー抽出部３０は、スロット５６３のうち＜出発地＞５６４のみに関する想定入力文字列と、スロット５６３のうち＜出発時刻＞５６６と、＜出発地＞５６４が共に含まれる想定入力文字列を登録したスロットバリュー抽出モデル５５０（図１７（ｃ）参照）を使用する。
【００６０】
また、質問文「出発時刻はいつですか？」に対する入力文字列２００のスロットバリュー抽出において、スロットバリュー抽出部３０は、スロット５６３のうち＜出発時刻＞５６６のみに関する想定入力文字列と、スロット５６３のうち＜出発時刻＞５６６と、＜出発地＞５６４が共に含まれる想定入力文字列とを登録したスロットバリュー抽出モデル５５０（図１７（ｄ）参照）を使用する。
【００６１】
よって、対話ログ５６０に基づいて、特定スロットに関する想定入力文字列を登録したスロットバリュー抽出モデル５５０を管理テーブルで管理する必要がある。
【００６２】
図１６は、管理テーブルの構成を示す構成図である。図１６において、管理テーブル５８０は、質問文とスロットバリュー抽出モデルとの関係を管理するテーブルであって、ＩＤ５８１、質問文５８２、スロットバリュー抽出モデル５８３を含む。ＩＤ５８１は、質問文５８２を一意に識別する識別子である。質問文５８２は、ユーザに対する質問文を管理する情報である。質問文５８２には、例えば、「目的地はどこですか？」の情報が登録される。スロットバリュー抽出モデル５８３は、スロットバリュー抽出モデル（第３のスロットバリュー抽出モデル）５００（３Ａ〜３Ｄ）を作成するための学習データ（第３の学習データ）５５０（３Ａ〜３Ｄ）を特定する情報である。スロットバリュー抽出モデル５８３には、例えば、学習データ５５０（３Ａ）を特定する情報として、「３Ａ」が登録される。
【００６３】
この際、学習データ作成部８０は、複数のスロットバリュー抽出モデル５００の作成に必要な作業コストを軽減するため、対話ログ５６０に基づいた特定スロットに関する学習データを作成する（図１７参照）。一方、モデル作成部９０は、学習データ作成部８０により作成された各種学習データ５５０（３Ａ〜３Ｄ）からスロットバリュー抽出モデル５００（３Ａ〜３Ｄ）を作成する。
【００６４】
図１７は、対話ログに基づいた特定スロットに関する学習データの構成を示す構成図である。図１７（ａ）は、管理テーブル５８０のスロットバリュー抽出モデル５８３の「３Ａ」で特定される学習データ５５０（３Ａ）である。学習データ５５０（３Ａ）は、ＩＤ５５１、想定入力文字列５５２、スロットとバリュー５５３を含む。ＩＤ５５１の「１」に示すように、想定入力５５２には、例えば、目的地のみの情報として、「国分寺駅まで行きたい」が登録され、スロットとバリュー５５３には、例えば、スロットとして、「＜目的地＞」が登録され、バリューとして、「国分寺駅」が登録される。また、ＩＤ５５１の「３」に示すように、想定入力５５２には、出発地のみの情報として、「勝田駅から行きたい」が登録され、スロットとバリュー５５３には、スロットとして、「＜出発地＞」が登録され、バリューとして、「勝田駅」が登録される。
【００６５】
図１７（ｂ）は、管理テーブル５８０のスロットバリュー抽出モデル５８３の「３Ｂ」で特定される学習データ５５０（３Ｂ）である。学習データ５５０（３Ｂ）は、ＩＤ５５１、想定入力文字列５５２、スロットとバリュー５５３を含む。ＩＤ５５１の「１」に示すように、学習データ５５０（３Ｂ）の想定入力５５２には、例えば、目的地のみの情報として、「国分寺駅まで行きたい」が登録され、スロットとバリュー５５３には、例えば、スロットとして、「＜目的地＞」が登録され、バリューとして、「国分寺駅」が登録される。
【００６６】
図１７（ｃ）は、管理テーブル５８０のスロットバリュー抽出モデル５８３の「３Ｃ」で特定される学習データ５５０（３Ｃ）である。学習データ５５０（３Ｃ）は、ＩＤ５５１、想定入力文字列５５２、スロットとバリュー５５３を含む。ＩＤ５５１の「１」に示すように、学習データ５５０（３Ｃ）の想定入力５５２には、例えば、出発時刻と出発地の情報として、「１０時発で勝田駅から行きたい」が登録され、スロットとバリュー５５３には、例えば、スロットとして、「＜出発地＞」が登録され、バリューとして、「勝田駅」が登録されると共に、スロットとして、「＜出発時刻＞」が登録され、バリューとして、「１０時」が登録される。また、ＩＤ５５１の「２」に示すように、学習データ５５０（３Ｃ）の想定入力５５２には、出発地のみの情報として、「勝田駅から行きたい」が登録され、スロットとバリュー５５３には、スロットとして、「＜出発地＞」が登録され、バリューとして、「勝田駅」が登録される。
【００６７】
図１７（ｄ）は、管理テーブル５８０のスロットバリュー抽出モデル５８３の「３Ｄ」で特定される学習データ５５０（３Ｄ）である。学習データ５５０（３Ｄ）は、ＩＤ５５１、想定入力文字列５５２、スロットとバリュー５５３を含む。ＩＤ５５１の「１」に示すように、学習データ５５０（３Ｄ）の想定入力５５２には、例えば、出発時刻と出発地の情報として、「１０時発で勝田駅から行きたい」が登録され、スロットとバリュー５５３には、例えば、スロットとして、「＜出発地＞」が登録され、バリューとして、「勝田駅」が登録されると共に、スロットとして、「＜出発時刻＞」が登録され、バリューとして、「１０時」が登録される。また、ＩＤ５５１の「２」に示すように、学習データ５５０（３Ｄ）の想定入力５５２には、出発時刻のみの情報として、「１０時発に乗りたい」が登録され、スロットとバリュー５５３には、スロットとして、「＜出発時刻＞」が登録され、バリューとして、「１０時」が登録される。
【００６８】
本実施の形態によれば、実施の形態１に記載の音声対話システム２０００において、複数のスロットバリュー抽出モデルを第１のスロットバリュー抽出モデルから第３のスロットバリュー抽出モデルに切替えることにより、高精度なスロットバリュー抽出モデルの抽出が可能になる。また、複数のスロットバリュー抽出モデルの作成に必要な作業コストを軽減することができる。
【００６９】
尚、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は、前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の変更が可能であることはいうまでもない。例えば、バリューリスト５１０、回答文リスト５２０をモデル作成装置１１００に配置することもできる。
【００７０】
本発明は、音声対話システムを備えた対話用ロボットや、テキスト対話システムを備えたチャットボットなど、音声及びテキストを入力とした対話システムに広く適用することができる。
【００７１】
また、上記の各構成、機能等は、それらの一部又は全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Solid  State  Drive）等の記録装置、または、ＩＣ（Integrated  Circuit）カード、ＳＤ（Secure  Digital）メモリカード、ＤＶＤ（Digital  Versatile  Disc）等の記録媒体に記録して置くことができる。
【符号の説明】
【００７２】
１０  音声入力部、１１  プロセッサ（ＣＰＵ）、１２  主記憶装置（メモリ）、１３補助記憶装置、１４  入力装置、１５  出力装置、１６  通信装置、２０  音声認識部、３０  スロットバリュー抽出部、４０  バリュー識別子、５０  回答絞込み部、６０  音声合成部、７０  音声出力部、８０  学習データ作成部、９０  モデル作成部、１００  音声、２００  入力文字列、３００  出力文字列、４００  合成音声、５００  スロットバリュー抽出モデル、５１０  バリューリスト、５２０  回答文リスト、５３０  質問文リスト、５４０  周辺文字列リスト、５５０  学習モデル、５６０  対話ログ、５８０  管理テーブル、１０００  テキスト対話システム、１１００  モデル作成装置、１２００  テキスト対話支援装置、２０００  音声対話システム、３０００  音声処理システム
【図１】
2019220115.tif 000003
【図２】
2019220115.tif 000004
【図３】
2019220115.tif 000005
【図４】
2019220115.tif 000006
【図５】
2019220115.tif 000007
【図６】
2019220115.tif 000008
【図７】
2019220115.tif 000009
【図８】
2019220115.tif 000010
【図９】
2019220115.tif 000011
【図１０】
2019220115.tif 000012
【図１１】
2019220115.tif 000013
【図１２】
2019220115.tif 000014
【図１３】
2019220115.tif 000015
【図１４】
2019220115.tif 000016
【図１５】
2019220115.tif 000017
【図１６】
2019220115.tif 000018
【図１７】
2019220115.tif 000019