(57)【要約】【課題】ユーザが意図しない対話の実行を抑制することを課題とする。【解決手段】対話装置は、ユーザにより入力された複数の情報それぞれについて、該情報から推定される複数のカテゴリのうち、推定精度が最も高いカテゴリを特定する。そして、対話装置は、特定したカテゴリが属するドメインに基づく発話を実行する。一方、対話装置は、特定したカテゴリが属するドメインが直近のドメインと異なる場合は、ドメインの切替を実行する。そして、対話装置は、切替後のドメインに基づく発話を実行する。【選択図】図１１
2020087352.tif 000002
【特許請求の範囲】
【請求項１】
ユーザにより入力された複数の情報それぞれについて、該情報の推定カテゴリである複数のカテゴリと、該複数のカテゴリのうち、第１の条件を満たすカテゴリとを特定し、
特定した前記第１の条件を満たすカテゴリに基づき、複数の話題から前記ユーザとの対話に用いる何れかの話題である第一の話題を選択し、
前記第一の話題に基づいた対話処理が実行された後、前記第一の話題が妥当でないと判断した場合、前記複数の情報に含まれる少なくとも何れかの情報について、該情報の推定カテゴリである複数のカテゴリと、該複数のカテゴリのうち、第２の条件を満たすカテゴリとを特定し、
特定した前記第２の条件を満たすカテゴリに基づき、前記複数の話題から前記ユーザとの対話に用いる他の話題を選択する、
処理をコンピュータが実行することを特徴とする対話制御方法。
【請求項２】
前記情報から前記カテゴリを推定するように学習された第１の学習モデルを用いて、前記ユーザにより入力された情報から複数のカテゴリを取得し、
取得された前記複数のカテゴリのうち推定精度が最も高いカテゴリを選択し、
選択された前記カテゴリが属する話題に応じた内容を、前記ユーザに対して応答する、処理を前記コンピュータが実行する請求項１に記載の対話制御方法。
【請求項３】
選択された前記カテゴリが属する前記話題が直近の話題と異なる場合に妥当な話題ではないと判定し、
前記第１の学習モデルによる取得された前記複数のカテゴリのうち、２番目に推定精度が高いカテゴリを、前記第２の条件を満たすカテゴリと特定し、
特定された前記カテゴリが属する話題を、前記他の話題として選択する、処理を前記コンピュータが実行することを特徴とする請求項２に記載の対話制御方法。
【請求項４】
選択された前記カテゴリが属する前記話題が直近の話題と異なる場合に妥当な話題ではないと判定し、
カテゴリの推定順から対話シナリオを推定するように学習された第２の学習モデルを用いて、妥当ではないと判定された前記話題までに入力された情報ごとの各カテゴリから対話シナリオを推定し、
推定された前記対話シナリオが属する話題を、前記他の話題として選択する、処理を前記コンピュータが実行することを特徴とする請求項２に記載の対話制御方法。
【請求項５】
前記第一の話題が妥当である場合、前記カテゴリの推定順から次に入力される情報のカテゴリを推定するように学習された第３の学習モデルを用いて、前記話題までに入力された情報ごとの各カテゴリから前記次のカテゴリを推定し、
推定された前記次のカテゴリに対応する内容を前記ユーザに応答する、処理を前記コンピュータが実行することを特徴とする請求項１に記載の対話制御方法。
【請求項６】
前記第一の話題が妥当である場合、前記第１の条件を満たすカテゴリにしたがって、前記コンピュータとは異なる外部装置から情報を取得して、前記ユーザに応答する、処理を前記コンピュータが実行することを特徴とする請求項１に記載の対話制御方法。
【請求項７】
前記ユーザが実際に入力した情報を説明変数とし、当該情報から推定された前記推定精度が最も高いカテゴリを目的変数とする学習データを生成し、
生成した前記学習データを用いて、前記第１の学習モデルの再学習を実行する、処理を前記コンピュータが実行することを特徴とする請求項２に記載の対話制御方法。
【請求項８】
前記ユーザが実際に入力した情報から推定された複数のカテゴリの推定順を説明変数とし、前記複数のカテゴリに対応する応答を行った後にユーザが実際に入力した情報のカテゴリを目的変数とする学習データを生成し、
生成した前記学習データを用いて、前記第３の学習モデルの再学習を実行する、処理を前記コンピュータが実行することを特徴とする請求項５に記載の対話制御方法。
【請求項９】
ユーザにより入力された複数の情報それぞれについて、該情報の推定カテゴリである複数のカテゴリと、該複数のカテゴリのうち、第１の条件を満たすカテゴリとを特定し、
特定した前記第１の条件を満たすカテゴリに基づき、複数の話題から前記ユーザとの対話に用いる何れかの話題である第一の話題を選択し、
前記第一の話題に基づいた対話処理が実行された後、前記第一の話題が妥当でないと判断した場合、前記複数の情報に含まれる少なくとも何れかの情報について、該情報の推定カテゴリである複数のカテゴリと、該複数のカテゴリのうち、第２の条件を満たすカテゴリとを特定し、
特定した前記第２の条件を満たすカテゴリに基づき、前記複数の話題から前記ユーザとの対話に用いる他の話題を選択する、
処理をコンピュータに実行させることを特徴とする対話制御プログラム。
【請求項１０】
ユーザにより入力された複数の情報それぞれについて、該情報の推定カテゴリである複数のカテゴリと、該複数のカテゴリのうち、第１の条件を満たすカテゴリとを特定する第１特定部と、
特定した前記第１の条件を満たすカテゴリに基づき、複数の話題から前記ユーザとの対話に用いる何れかの話題である第一の話題を選択する第１選択部と、
前記第一の話題に基づいた対話処理が実行された後、前記第一の話題が妥当でないと判断した場合、前記複数の情報に含まれる少なくとも何れかの情報について、該情報の推定カテゴリである複数のカテゴリと、該複数のカテゴリのうち、第２の条件を満たすカテゴリとを特定する第２特定部と、
特定した前記第２の条件を満たすカテゴリに基づき、前記複数の話題から前記ユーザとの対話に用いる他の話題を選択する第２選択部と
を有することを特徴とする対話制御装置。
【請求項１１】
ユーザにより入力された情報を受け付けると、前記情報に基づき、複数の話題から何れかの話題を選択し、
前記何れかの話題に基づいた対話処理が実行された後、前記ユーザにより入力された新たな情報を受け付けると、前記新たな情報に基づき、前記何れかの話題が妥当であるか否かの判定を行い、
前記何れかの話題が妥当ではないと判断した場合、前記新たな情報に基づき、前記複数の話題から他の話題を選択し、
前記ユーザが意図する対話内容が、前記他の話題に応じた内容に関するかどうかを確認する問い掛けを実行する、
処理をコンピュータが実行することを特徴とする対話制御方法。
【請求項１２】
ユーザにより入力された情報を受け付けると、前記情報に基づき、複数の話題から何れかの話題を選択する選択部と、
前記何れかの話題に基づいた対話処理が実行された後、前記ユーザにより入力された新たな情報を受け付けると、前記新たな情報に基づき、前記何れかの話題が妥当であるか否かの判定を行う判定部と、
前記何れかの話題が妥当ではないと判断した場合、前記新たな情報に基づき、前記複数の話題から他の話題を選択する選択部と、
前記ユーザが意図する対話内容が、前記他の話題に応じた内容に関するかどうかを確認する問い掛けを実行する対話実行部と、
を有することを特徴とする対話制御装置。
【請求項１３】
対話処理の実行中に、ユーザにより入力された第一の情報を受け付けると、前記第一の情報のカテゴリを特定し、
検索先となりうるシステムを識別するシステム情報をカテゴリに対応付けて記憶する記憶部を参照して、特定した前記カテゴリに対応付けられたシステム情報を特定し、
前記対話処理の実行中に、前記第一の情報よりも後に前記ユーザにより入力された第二の情報を受け付けると、前記第二の情報を含む検索条件を、特定した前記システム情報により識別される検索先となりうるシステムに送信し、
送信した前記検索条件に応じた検索結果を受け付けると、受け付けた前記検索結果を前記ユーザに提示する、
処理をコンピュータが実行することを特徴とする情報提示方法。
【請求項１４】
対話処理の実行中に、ユーザにより入力された第一の情報を受け付けると、前記第一の情報のカテゴリを特定する第１特定部と、
検索先となりうるシステムを識別するシステム情報をカテゴリに対応付けて記憶する記憶部を参照して、特定した前記カテゴリに対応付けられたシステム情報を特定する第２特定部と、
前記対話処理の実行中に、前記第一の情報よりも後に前記ユーザにより入力された第二の情報を受け付けると、前記第二の情報を含む検索条件を、特定した前記システム情報により識別される検索先となりうるシステムに送信する送信部と、
送信した前記検索条件に応じた検索結果を受け付けると、受け付けた前記検索結果を前記ユーザに提示する提示部と、
を有することを特徴とする情報提示装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対話制御方法、対話制御プログラム、対話制御装置、情報提示方法および情報提示装置に関する。
【背景技術】
【０００２】
ＦＡＱ（Frequently  Asked  Questions）システムやＷｅｂページの検索などに、タスク指向型の対話システムや一問一答型のチャットボットなどの対話システムが利用されている。近年では、ユーザ発話とユーザ発話への応答発話との対話関係を学習し、学習後の学習モデルを用いて、ユーザ発話から応答内容を選択して発話する対話システムが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−２９６６８号公報
【特許文献２】特開２００９−４８３０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、１つのユーザ発話には複数の意図が含まれる場合があるが、従来手法では、複数の意図から１つの意図に断定して対話を進めるので、途中で意図の間違いに気づくことができず、ユーザが意図しない対話が進んでしまう。このため、ユーザの不快度が大きくなり、対話の途中で終了されるなど利便性の低下に繋がる。
【０００５】
一つの側面では、ユーザが意図しない対話の実行を抑制することができる対話制御方法、対話制御プログラム、対話制御装置、情報提示方法および情報提示装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
第１の案では、対話制御方法は、ユーザにより入力された複数の情報それぞれについて、該情報の推定カテゴリである複数のカテゴリと、該複数のカテゴリのうち、第１の条件を満たすカテゴリとを特定する処理をコンピュータが実行する。対話制御方法は、特定した前記第１の条件を満たすカテゴリに基づき、複数の話題から前記ユーザとの対話に用いる何れかの話題である第一の話題を選択する処理をコンピュータが実行する。対話制御方法は、前記第一の話題に基づいた対話処理が実行された後、前記第一の話題が妥当でないと判断した場合、前記複数の情報に含まれる少なくとも何れかの情報について、該情報の推定カテゴリである複数のカテゴリと、該複数のカテゴリのうち、第２の条件を満たすカテゴリとを特定する処理をコンピュータが実行する。対話制御方法は、特定した前記第２の条件を満たすカテゴリに基づき、前記複数の話題から前記ユーザとの対話に用いる他の話題を選択する処理をコンピュータが実行する。
【発明の効果】
【０００７】
一実施形態によれば、ユーザが意図しない対話の実行を抑制することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施例１にかかる対話システムの全体構成例を示す図である。
【図２】図２は、実施例１にかかる対話装置の機能構成を示す機能ブロック図である。
【図３】図３は、意図用の学習データＤＢに記憶される情報の例を示す図である。
【図４】図４は、シナリオ用の学習データＤＢに記憶される情報の例を示す図である。
【図５】図５は、ドメインＤＢに記憶される情報の例を示す図である。
【図６】図６は、シナリオＤＢに記憶される情報の例を示す図である。
【図７】図７は、対話ＤＢに記憶される情報の例を示す図である。
【図８】図８は、意図推定を説明する図である。
【図９】図９は、ドメイン判定を説明する図である。
【図１０】図１０は、会話予測を説明する図である。
【図１１】図１１は、ドメイン切替を説明する図である。
【図１２】図１２は、具体例を説明する図である。
【図１３】図１３は、対話処理の流れを示すフローチャートである。
【図１４】図１４は、外部ＤＢとの連携を説明する図である。
【図１５】図１５は、意図ラベル推定の再学習を説明する図である。
【図１６】図１６は、シナリオ推定の再学習を説明する図である。
【図１７】図１７は、ハードウェア構成例を説明する図である。
【発明を実施するための形態】
【０００９】
以下に、本願の開示する対話制御方法、対話制御プログラム、対話制御装置、情報提示方法および情報提示装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾がない範囲内で適宜組み合わせることができる。
【実施例１】
【００１０】
［全体構成］
図１は、実施例１にかかる対話システムの全体構成例を示す図である。図１に示すように、この対話システムは、ユーザ端末１と対話装置１０とがネットワークを介して相互に通信可能に接続されるシステムである。なお、ネットワークには、有線や無線を問わず、専用線やインターネットなどの各種通信網を採用することができる。また、本実施例では、対話装置１０とユーザとが１対１である対話を一例にして説明するが、１対多の会話であっても、複数のユーザを含むグループを１つのユーザとして処理することで、同様に処理することができる。
【００１１】
ユーザ端末１は、ユーザが利用するコンピュータ装置の一例であり、例えばパーソナルコンピュータ、スマートフォン、携帯電話などである。ユーザ端末１は、Ｗｅｂブラウザや専用のアプリケーションを用いて対話装置１０にアクセスし、音声入力や文字入力などにより、対話を実行する。例えば、ユーザ端末１は、対話装置１０に各種問い合わせを実行い、問い合わせ結果を取得する。
【００１２】
対話装置１０は、ユーザ端末１との間でＷｅｂ通信などを確立して、ユーザ端末１と対話を実行する対話制御装置や情報提示装置の一例である。この対話装置１０は、チャットボットなどの対話システムを実現し、ユーザに対して自律型の対話制御を実行する。例えば、対話装置１０は、ユーザの発話「会議室の空きを教えて」が入力されると、「Ａ会議室と、Ｂ会議室が空いています。」などの応答を発話する。
【００１３】
このようなシステムにおける対話装置１０は、ユーザにより入力された複数の情報それぞれについて、該情報の推定カテゴリである複数のカテゴリと、該複数のカテゴリのうち、第１の条件を満たすカテゴリとを特定する。そして、対話装置１０は、特定した第１の条件を満たすカテゴリに基づき、複数の話題からユーザとの対話に用いる何れかの話題を選択する。その後、対話装置１０は、選択した話題が妥当でないと判断した場合、複数の情報に含まれる少なくとも何れかの情報について、該情報の推定カテゴリである複数のカテゴリと、該複数のカテゴリのうち、第２の条件を満たすカテゴリとを特定する。そして、対話装置１０は、特定した第２の条件を満たすカテゴリに基づき、複数の話題からユーザとの対話に用いる他の話題を選択する。
【００１４】
例えば、対話装置１０は、ユーザから入力された発話（以降ではユーザ発話と記載する場合がある）から、ユーザの意図を複数推定する。そして、対話装置１０は、最も確率の高い意図を選択し、選択した意図に基づいた内容をユーザに応答（発話）する。その後、対話装置１０は、次のユーザ発話を受け付けると、当該ユーザ発話からユーザの意図を複数推定する。その後、対話装置１０は、推定した意図と前回推定された意図とが異なる場合、今回推定された意図のうち、確率が１番高い意図ではなく、２番目に確率の高い意図に基づいた内容をユーザに応答する。
【００１５】
このようにすることで、対話装置１０は、ユーザ発話の履歴から対話の流れを推定しつつ、対話の流れの変化や推定結果の間違いを迅速に検出して、ユーザが意図しない対話の実行を抑制することができる。
【００１６】
［機能構成］
図２は、実施例１にかかる対話装置１０の機能構成を示す機能ブロック図である。図２に示すように、対話装置１０は、通信部１１、記憶部１２、制御部２０を有する。なお、ユーザ端末１は、一般的なコンピュータ装置と同様の構成を有するので、詳細な説明は省略する。
【００１７】
通信部１１は、ユーザ端末１との間の通信を制御する処理部であり、例えば通信インタフェースなどである。例えば、通信部１１は、ユーザ端末１との間でＷｅｂ通信やチャットボットによる通信を確立し、対話に関するデータの送受信を実行する。
【００１８】
記憶部１２は、データや制御部２０が実行するプログラムを記憶する記憶装置の一例であり、例えばメモリやハードディスクなどである。この記憶部１２は、意図用の学習データＤＢ１３、シナリオ用の学習データＤＢ１４、ドメインＤＢ１５、シナリオＤＢ１６、対話ＤＢ１７、学習結果ＤＢ１８、対話ログＤＢ１９を記憶する。
【００１９】
意図用の学習データＤＢ１３は、ユーザ発話からユーザの意図を推定する学習モデルを学習するための学習データを記憶するデータベースである。具体的には、意図用の学習データＤＢ１３は、意図推定用の学習モデルを学習するための教師データを記憶する。
【００２０】
図３は、意図用の学習データＤＢ１３に記憶される情報の例を示す図である。図３に示すように、意図用の学習データＤＢ１３は、「意図ラベル、データ（問い合わせ内容）」を対応付けて記憶する。ここで記憶される「意図ラベル」は、学習データの正解情報であり、いわゆる目的変数に該当する。「データ（問い合わせ内容）」は、学習データのデータ情報であり、いわゆる説明変数に該当する。図３の例では、ユーザ発話「会議室を予約して」に対しては、意図ラベル「会議室を予約したい」が正解情報として設定されていることを示す。すなわち、ユーザ発話が「会議室を予約して」である場合、ユーザの意図が「会議室を予約したい」であると学習される。
【００２１】
シナリオ用の学習データＤＢ１４は、意図の流れから対話のシナリオを推定する学習モデルを学習するための学習データを記憶するデータベースである。具体的には、シナリオ用の学習データＤＢ１４は、シナリオ推定用の学習モデルを学習するための教師データを記憶する。
【００２２】
図４は、シナリオ用の学習データＤＢ１４に記憶される情報の例を示す図である。図４に示すように、シナリオ用の学習データＤＢ１４は、「ラベル、データ」を対応付けて記憶する。ここで記憶される「ラベル」は、学習データの正解情報であり、いわゆる目的変数に該当する。「データ」は、学習データのデータ情報であり、いわゆる説明変数に該当する。
【００２３】
図４の例では、会話の意図ラベルが「会議室を予約したい」、「場所を指定したい」、「日程を決めたい」、「会議室のプロジェクター」の流れである場合に、「会議室予約シナリオ」として学習することを示す。また、会話の意図ラベルが「パソコンを予約したい」、「機器を指定したい」、「スペックを指定したい」、「無線ＬＡＮを指定したい」の流れである場合に、「パソコン予約シナリオ」として学習することを示す。
【００２４】
ドメインＤＢ１５は、ユーザとの対話の範囲を示すドメインに関する情報を記憶するデータベースである。すなわち、ドメインＤＢ１５は、ユーザとの対話における話題に関する情報を記憶する。図５は、ドメインＤＢ１５に記憶される情報の例を示す図である。図５に示すように、ドメインＤＢ１５は、一例として、会議室予約ドメインに属する情報と機器予約ドメインに属する情報とを記憶する。
【００２５】
図５の例では、会議室予約ドメインは、意図ラベルとして「会議室を予約したい」、「場所を指定したい」、「日程を決めたい」を含む。また、意図ラベル「会議室を予約したい」には、意図データとして、「会議室を予約して」、「会議室を予約したい」、「会議室を確保したい」が含まれる。また、意図ラベル「場所を指定したい」には、意図データとして、「会議室をおねがい」、「会議室をよろしく」、「どこでもいいです」が含まれる。また、意図ラベル「日程を決めたい」には、意図データとして、「１１／２１でお願い」、「明後日でよろしく」、「来週火曜日空いてますか」が含まれる。
【００２６】
シナリオＤＢ１６は、各ドメインに含まれる対話のシナリオを記憶するデータベースである。図６は、シナリオＤＢ１６に記憶される情報の例を示す図である。図６に示すように、シナリオＤＢ１６は、「ドメイン、シナリオ」を対応付けて記憶する。ここで記憶される「ドメイン」は、ドメインＤＢ１５のドメインと同一であり、「シナリオ」は、ドメインに属する対話シナリオである。図６の例では、ドメイン「会議室予約ドメイン」には、「会議室予約シナリオ」が含まれることを示す。なお、１つのドメインには、１つ以上のシナリオが含まれる。
【００２７】
対話ＤＢ１７は、対話装置１０がユーザ発話に応答する応答内容に関する情報を記憶するデータベースである。図７は、対話ＤＢ１７に記憶される情報の例を示す図である。図７に示すように、対話ＤＢ１７は、「キーワード、応答内容、意図ラベル、ドメイン」を対応付けて記憶する。ここで記憶される「キーワード」は、ユーザ発話に含まれるキーワードである。「応答内容」は、ユーザ発話に対して応答する内容である。「意図ラベル」は、ユーザ発話から推定された意図ラベルである。「ドメイン」は、ユーザ発話から推定されたドメインを示す。
【００２８】
図７の例では、「会議室」と「予約」が含まれるユーザ発話を受け付け、意図ラベルが「会議室を予約して」と推定され、ドメインが「会議室予約ドメイン」と推定された場合は、対話装置１０が「〇〇を予約します。」を応答することを示す。なお、〇〇は、実際に予約した会議室の名称等が挿入される。
【００２９】
なお、応答内容を特定または選択する手法は、図７に示す対話ＤＢ１７に限定されるものではなく、公知の一般的な様々な手法を採用することができる。例えば、ユーザ発話と応答内容とを１対１で予め対応付けて記憶する手法、ユーザ発話に含まれるキーワードを用いて自動で応答内容を生成する手法、過去の履歴から応答内容を選択する手法などを採用することができる。
【００３０】
学習結果ＤＢ１８は、学習結果を記憶するデータベースである。例えば、学習結果ＤＢ１８は、制御部２０による学習された意図推定用の学習モデルやシナリオ推定用の学習モデルを記憶する。例えば、学習結果ＤＢ１８は、学習データの推定結果（分類結果）、機械学習やディープラーニングによって学習された各種パラメータを記憶する。
【００３１】
対話ログＤＢ１９は、ユーザ端末１と対話装置１０との対話履歴を記憶するデータベースである。例えば、対話ログＤＢ１９は、ユーザ発話、対話装置１０の応答内容、推定された意図ラベル、推定されたドメインやシナリオなどを対応付けて記憶する。
【００３２】
制御部２０は、対話装置１０全体を司る処理部であり、例えばプロセッサなどである。この制御部２０は、学習部３０、対話処理部４０を有する。なお、学習部３０、対話処理部４０は、プロセッサなどの電子回路の一例やプロセッサが実行するプロセスの一例である。
【００３３】
学習部３０は、意図学習部３１とシナリオ学習部３２を有し、意図推定用の学習モデルやシナリオ推定用の学習モデルを学習する処理部である。なお、学習モデルには、ＬＳＴＭ（Long  Short-term  Memory）やＲＮＮ（Recurrent  Neural  Network）などが用いられる。
【００３４】
意図学習部３１は、意図用の学習データＤＢ１３に記憶される学習データを用いた教師有学習を実行して、意図推定用の学習モデルを生成する処理部である。例えば、意図学習部３１は、データ「会議室を予約して」が入力された場合に、意図レベル「会議室を予約したい」が推定されるように学習モデルを学習し、データ「会議室を確保したい」が入力された場合に、意図レベル「会議室を予約したい」が推定されるように学習モデルを学習する。本実施例では、意図学習部３１は、１つの入力データに対して１０個の意図を推定するように、学習モデルを学習する。
【００３５】
なお、意図学習部３１は、学習が完了すると、学習結果を学習結果ＤＢ１８に格納する。また、学習を終了するタイミングは、所定数の学習データを用いた学習が終了した場合、学習データを入力したときの出力値と正解情報との誤差が所定値以下となった場合など、任意に設定することができる。
【００３６】
シナリオ学習部３２は、シナリオ用の学習データＤＢ１４に記憶される学習データを用いた教師有学習を実行して、シナリオ推定用の学習モデルを生成する処理部である。例えば、シナリオ学習部３２は、「会議室を予約したい」、「場所を指定したい」、「日程を決めたい」、「会議室のプロジェクター」の順で意図が検出された場合に、「会議室予約シナリオ」と推定されるように学習モデルを学習する。
【００３７】
また、シナリオ学習部３２は、シナリオ用の学習データＤＢ１４に記憶される学習データを用いた「会議室を予約したい」、「場所を指定したい」、「日程を決めたい」の意図の流れを説明変数、「会議室のプロジェクター」を目的変数として学習することで、意図の流れ（推定順）から次の意図を推定する学習モデルを生成することもできる。つまり、３つのユーザ意図から、未だ発話されていない４番目のユーザ発話の意図を推定する学習モデルを生成することもできる。例えば、シナリオ学習部３２は、シナリオ用の学習データＤＢ１４に記憶される学習データの３つまでを説明変数、４つ目を目的変数として学習する。
【００３８】
なお、シナリオ学習部３２は、学習が完了すると、学習結果を学習結果ＤＢ１８に格納する。また、学習を終了するタイミングは、所定数の学習データを用いた学習が終了した場合、学習データを入力したときの出力値と正解情報との誤差が所定値以下となった場合など、任意に設定することができる。
【００３９】
また、本実施例では、４つの意図の流れからシナリオを推定する学習モデルの生成を例示したが、これに限定されるものではない。例えば、２つの意図の流れからシナリオを推定する学習モデルであってもよく、２つの意図の流れから推定する学習モデル、３つの意図の流れから推定する学習モデルのように、複数の学習モデルを生成することもできる。
【００４０】
対話処理部４０は、意図推定部４１、ドメイン判定部４２、会話予測部４３、ドメイン切替部４４、応答部４５を有し、ユーザ端末１との対話を実行する処理部である。具体的には、対話処理部４０は、ユーザ発話から意図を推定し、推定された意図に属するドメインの範囲内で、対話を実行する。このとき、対話処理部４０は、意図の流れからユーザが次に発話する意図を推定し、提案型の発話を実行する。
【００４１】
一方で、対話処理部４０は、ユーザ発話ごとの意図の推定からドメインの正否を判定し、推定されたドメインがユーザの意図と異なる場合は、ドメインの切替を行って、ユーザ意図に沿ったドメインに切り替えて対話を実行する。このようにして、対話処理部４０は、ユーザの意図に沿った対話を実現する。
【００４２】
意図推定部４１は、ユーザ発話の内容からユーザの意図を推定する処理部である。例えば、意図推定部４１は、学習結果ＤＢ１８から学習結果を読み出して、学習済みの意図推定用の学習モデルを構築する。そして、意図推定部４１は、ユーザ発話を検出すると、発話内容を学習済みの意図推定用の学習モデルに入力して、当該学習モデルの出力結果をとして、１０個の「意図ラベル、推定精度」を取得する。
【００４３】
図８は、意図推定を説明する図である。図８に示すように、意図推定部４１は、ユーザ発話「無線ＬＡＮが使えるのを予約したいです。」を検出すると、発話内容である「無線ＬＡＮが使えるのを予約したいです。」を学習済みモデルに入力する。そして、意図推定部４１は、学習済みモデルの出力結果として、「会議室を予約したい、８６％」、「日程を決めたい、６５％」などを取得する。その後、意図推定部４１は、推定結果をドメイン判定部４２に出力する。
【００４４】
ドメイン判定部４２は、対話中であるユーザ端末１との間のドメインが適切か否かを判定する処理部である。具体的には、ドメイン判定部４２は、意図推定部４１から推定結果を取得し、最も推定精度が高い意図ラベルを選択する。そして、ドメイン判定部４２は、ドメインＤＢ１５を参照して、選択した意図ラベルに対応付けられるドメインを特定する。
【００４５】
その後、ドメイン判定部４２は、特定したドメインが前回特定された直近のドメインと同じ場合は、会話予測部４３や応答部４５に応答処理を指示する。また、ドメイン判定部４２は、特定したドメインが前回特定されたドメインと異なる場合は、ドメイン切替部４４にドメイン切替処理を指示する。なお、ドメイン切替のタイミングは、前回と異なるドメインが特定されたタイミングや前回と異なるドメインが所定回数連続して特定されたタイミングなど任意に設定することができる。
【００４６】
図９は、ドメイン判定を説明する図である。図９に示すように、ドメイン判定部４２は、意図推定部４１の推定結果から、推定精度が最も高い意図ラベル「会議室を予約する」を特定する。続いて、ドメイン判定部４２は、ドメインＤＢ１５を参照して、意図ラベル「会議室を予約する」が属するドメイン「会議室予約ドメイン」を特定する。
【００４７】
そして、ドメイン判定部４２は、対話中のユーザ端末１との間の対話において特定されたドメインのうちの直近のドメインと、今回特定したドメイン「会議室予約ドメイン」とが一致する場合、ドメインの判定が適切と判定する（パターン１）。その後は、ドメイン「会議室予約ドメイン」の範囲内で応答処理が実行される。
【００４８】
一方、ドメイン判定部４２は、対話中のユーザ端末１との間の対話において特定されたドメインのうちの直近のドメインと、今回特定したドメイン「会議室予約ドメイン」とが異なる場合、ドメインの判定が適切ではないと判定する（パターン２）。その後は、ドメインの切替処理が実行される。
【００４９】
なお、ドメイン判定部４２は、今回特定したドメイン「会議室予約ドメイン」が対話の最初に特定されたドメインである場合、この対話のドメインを「会議室予約ドメイン」に決定する。その後は、ドメイン「会議室予約ドメイン」の範囲内で応答処理が実行される。
【００５０】
会話予測部４３は、ユーザ発話の履歴から次のユーザ発話を予測し、次のユーザ発話が実行される前に、ユーザに対して提案型の発話を実行する処理部である。具体的には、会話予測部４３は、ドメイン判定部４２により応答処理の開始が指示されると、意図推定部４１によって推定された各ユーザ発話の意図を学習済みの学習モデルに入力して、次のユーザ発話の意図を推定する。そして、会話予測部４３は、推定された次のユーザ発話の意図に対応する内容を、ユーザに応答する。
【００５１】
図１０は、会話予測を説明する図である。図１０に示すように、意図推定部４１によって、ユーザ発話「無線ＬＡＮを使えるのを予約したいです。」の意図ラベルとして「予約したい」が推定され、ユーザ発話「１日中使いたいです。」の意図ラベルとして「場所を指定したい」が推定され、ユーザ発話「１１／２１でお願いします。」の意図ラベルとして「日程を決めたい」が推定されたとする。
【００５２】
この場合、会話予測部４３は、意図ラベル「予約したい」、「場所を指定したい」、「日程を決めたい」の意図の推定順を学習モデルに入力し、推定結果として意図ラベル「会議室のプロジェクター」を取得する。つまり、会話予測部４３は、学習結果を用いて、「予約したい」、「場所を指定したい」、「日程を決めたい」の発生順から次に発生する意図ラベルを「会議室のプロジェクター」と推定する。そして、会話予測部４３は、推定された意図ラベル「会議室のプロジェクター」を応答部４５に出力する。
【００５３】
その後、応答部４５によって、次のユーザ発話が発生する前に、意図ラベル「会議室のプロジェクター」に対応する発話が実行される。例えば、会話予測部４３は、ドメインＤＢ１５を参照し、現在の会議室予約ドメイン内で、意図ラベル「会議室のプロジェクター」と対応付けられる意図データ「プロジェクターを予約したいです。」を特定する。そして、応答部４５は、意図データ「プロジェクターを予約したいです。」を誘導する内容である「プロジェクターが必要ですか」を、ユーザに対して発話する。
【００５４】
ドメイン切替部４４は、ドメイン判定部４２によって、推定されたドメインが不適切と判定された場合に、ドメインの切替を実行する処理部である。具体的には、ドメイン切替部４４は、ドメインが不適切と判定された場合に、当該ドメインの推定までに得られた意図ラベルの推定結果を用いて適切なドメインの選定を実行し、ドメインの切替を実行する。
【００５５】
図１１は、ドメイン切替を説明する図である。図１１に示すように、ドメイン切替部４４は、ユーザ発話１からユーザ発話３に対してドメイン「会議室予約」が推定された状態で、次のユーザ発話４に対して、ドメイン「会議室予約」とは異なるドメイン「機器予約」が推定された場合に、ドメイン切替を実行する。具体的には、ドメイン切替部４４は、パターン１、パターン２、パターン３のいずれかを用いてドメイン切替を実行する。なお、パターン１は、条件１の一例であり、パターン２とパターン３は、条件２の一例である。
【００５６】
（パターン１）
ドメイン切替部４４は、ドメイン切替の契機となったユーザ発話４の一つ前のユーザ発話３から推定された複数の意図ラベルを用いて、ドメイン切替を実行する。図１１の例では、ドメイン切替部４４は、ユーザ発話３から推定された１０個の意図ドメインのうち、実際の応答に使用された最も推定精度が高い意図ラベル「日程を決めたい」ではなく、２番目に推定精度が高い意図ラベル「パソコンを予約したい」を特定する。そして、ドメイン切替部４４は、ドメインＤＢ１５を参照し、意図ラベル「パソコンを予約したい」が属するドメインを特定し、特定したドメインに切り替える。
【００５７】
（パターン２）
また、ドメイン切替部４４は、ドメイン切替の契機となったユーザ発話４までの各ユーザ発話の意図の流れを用いて、ドメイン切替を実行する。具体的には、ドメイン切替部４４は、ユーザ発話１からユーザ発話４それぞれにおいて、最も推定精度が高い意図ラベルを学習済みのモデルに入力して、シナリオを推定する。図１１の場合、ドメイン切替部４４は、ユーザ発話１から推定された意図ラベル「会議室を予約したい」、ユーザ発話２から推定された意図ラベル「場所を指定したい」、ユーザ発話３から推定された意図ラベル「日程を決めたい」、ユーザ発話４から推定された意図ラベル「パソコンを予約したい」を学習済みの学習モデルに入力する。
【００５８】
そして、ドメイン切替部４４は、推定結果としてシナリオを取得する。続いて、ドメイン切替部４４は、シナリオＤＢ１６を参照して、推定されたシナリオが属するドメインを特定し、特定したドメインに切り替える。
【００５９】
（パターン３）
また、ドメイン切替部４４は、ドメイン切替の契機となったユーザ発話４までの各ユーザ発話から推定された意図レベルを組み合わせて、ドメイン切替を実行する。図１１の場合、ドメイン切替部４４は、ユーザ発話１から推定された複数の意図ラベルから１つを選択し、ユーザ発話２から推定された複数の意図ラベルから１つを選択し、ユーザ発話３から推定された複数の意図ラベルから１つを選択し、ユーザ発話４から推定された複数の意図ラベルから１つを選択する。そして、ドメイン切替部４４は、選択した４つの意図ラベルを学習済みの学習モデルに入力し、推定されたシナリオを取得する。
【００６０】
このように、ドメイン切替部４４は、各ユーザ発話から推定された意図ラベルを用いて、複数の意図ラベルの組み合わせを生成し、学習済みの学習モデルを用いて、各組み合わせから推定されるシナリオおよび推定値を取得する。そして、ドメイン切替部４４は、推定された複数のシナリオのうち推定精度（推定値）が最も高いシナリオを選択する。その後、ドメイン切替部４４は、シナリオＤＢ１６を参照して、選択されたシナリオが属するドメインを特定し、特定したドメインに切り替える。
【００６１】
なお、ドメイン切替部４４は、切替後のドメインを各処理部に通知する。また、ドメイン切替部４４は、パターン１を実行して、ドメインが切り替わらなかった場合に、パターン２またはパターン３を実行するなど、各パターンを組み合わせることもできる。
【００６２】
図２に戻り、応答部４５は、ユーザ発話に対する応答を実行する処理部である。具体的には、応答部４５は、意図推定部４１の推定結果、ドメイン判定部４２の判定結果、会話予測部４３の予測結果、ドメイン切替部４４の切替結果に応じた内容を、応答としてユーザに発話する。
【００６３】
詳細には、応答部４５は、ドメイン判定部４２によりドメインが適切と判定され、会話予測部４３により会話予測が実行されなかった場合、対話ＤＢ１７などを用いて、最新のユーザ発話に対して応答する。一例を挙げると、応答部４５は、「予約が完了しました。」や「了解しました」などの返事を応答する。
【００６４】
また、応答部４５は、ドメイン判定部４２によりドメインが適切と判定された場合に、それまでの推定された意図ラベルの流れを、学習済みのシナリオ推定用の学習モデルに入力する。そして、応答部４５は、推定されたシナリオに沿った内容をユーザ発話に対して応答する。一例を挙げると、応答部４５は、「会議室予約シナリオ」と推定された場合、プロジェクターやパソコンなどの付属機器の要否を問い合わせる内容を発話する。
【００６５】
また、応答部４５は、ドメイン判定部４２によりドメインが適切と判定され、会話予測部４３により会話予測が実行された場合、予測結果にしたがった応答を実行する。例えば、応答部４５は、ユーザ発話に対して意図ラベル「会議室のプロジェクター」が予測されたとする。この場合、応答部４５は、ユーザ発話に対して「了解しました」などの返事を発話した後、次のユーザ発話が実行される前に、ユーザに対して、「プロジェクターが必要ですか」などの提案メッセージを発話する。
【００６６】
また、応答部４５は、ドメイン切替部４４によってドメイン切替が発生した場合、切替後のドメインが適切かをユーザに問い合わせる。例えば、応答部４５は、ドメインが「会議室予約」から「機器予約」に切り替わった場合、ユーザに対して、「機器予約ですか」のメッセージを発話する。その後、応答部４５は、「はい」などの肯定的なユーザ発話が検出されると、「何を予約しますか」などのように、ユーザの更なる発話を促すメッセージを発話する。一方、応答部４５は、「いいえ」などの否定的なユーザ発話が検出されると、ドメイン切替部４４に再度の切替処理を要求したり、「どのような用件ですか」などのように会話の意図を問い合わせるメッセージを発話したりすることができる。
【００６７】
［具体例］
次に、具体的な会話を用いた具体例を説明する。図１２は、具体例を説明する図である。図１２に示すように、ユーザは、貸出ＰＣの予約を行うつもりで、「無線ＬＡＮを使えるのを予約したいです」と発話する。対話装置１０は、このユーザ発話「無線ＬＡＮを使えるのを予約したいです」を意図データとして、学習済みの学習モデルに入力し、意図ラベルの推定結果を取得する。
【００６８】
そして、対話装置１０は、推定結果のうち最も推定精度が高い意図ラベルを選択し、選択した意図ラベルが属するドメイン「会議室予約」を特定する。続いて、対話装置１０は、ドメイン「会議室予約」の範囲内で応答内容「わかりました。何か条件はありますか？」を選択して発話する。
【００６９】
さらに、ユーザは、引き続き貸出ＰＣの予約を行うつもりで、「１日中使いたいです。」と発話する。対話装置１０は、このユーザ発話「１日中使いたいです。」を意図データとして、学習済みの学習モデルに入力し、意図ラベルの推定結果を取得する。
【００７０】
そして、対話装置１０は、推定結果のうち最も推定精度が高い意図ラベルを選択し、選択した意図ラベルが属するドメイン「会議室予約」を特定する。続いて、対話装置１０は、ドメイン「会議室予約」が前回と一致することから、ドメイン「会議室予約」の範囲内で対話を継続し、応答内容「Ａ会議室を予約しました。プロジェクターは必要ですか？」を選択して発話する。
【００７１】
さらに、ユーザは、引き続き貸出ＰＣの予約を行うつもりで、「マウスはついていますか？」と発話する。対話装置１０は、このユーザ発話「マウスはついていますか？」を意図データとして、学習済みの学習モデルに入力し、意図ラベルの推定結果を取得する。
【００７２】
そして、対話装置１０は、推定結果において、ドメイン「会議室予約」の推定精度が低いことを特定すると、今までに推定されたドメインが適切ではなかったと判定し、「すみません・・・」などの応答を発話するとともに、ドメイン切替を実行して推定結果の見直しを行う。
【００７３】
その後、対話装置１０は、切替対象のドメインを「機器予約」と推定すると、ドメイン「機器予約」を問い合わせるメッセージとして「もしかして、パソコンの予約ですか？」などをユーザに対して発話する。このように、対話装置１０は、話題の推定や話題の適用可否を迅速に実行し、適切な話題切替を実現する。
【００７４】
［処理の流れ］
図１３は、対話処理の流れを示すフローチャートである。なお、学習部３０による学習は完了しているものとする。図１３に示すように、対話装置１０は、ユーザから対話要求を受け付けると（Ｓ１０１：Ｙｅｓ）、チャットボットの画面などを表示して、対話を開始する（Ｓ１０２）。
【００７５】
続いて、意図推定部４１は、ユーザ発話を検出すると（Ｓ１０３：Ｙｅｓ）、ユーザ発話を学習済みの学習モデルに入力して、意図（意図ラベル）を推定する（Ｓ１０４）。続いて、ドメイン判定部４２は、推定された意図ラベルのうち、推定精度が最も高い意図ラベルを選択し、ドメインを特定する（Ｓ１０５）。
【００７６】
そして、ドメイン判定部４２により特定されたドメインを維持すると判定されると（Ｓ１０６：Ｙｅｓ）、応答部４５は、ユーザ発話に対する返事などの応答を発話する（Ｓ１０７）。続いて、会話予測部４３は、現在までに推定された意図ラベルを学習済みの学習モデルに入力して会話予測を実行する（Ｓ１０８）。
【００７７】
ここで、会話が予測された場合（Ｓ１０９：Ｙｅｓ）、応答部４５は、予測された内容に基づく発話を実行する（Ｓ１１０）。そして、ユーザにより対話終了の操作が行われた場合（Ｓ１１１：Ｙｅｓ）、対話装置１０は対話を終了し、対話を継続する場合（Ｓ１１１：Ｎｏ）、対話装置１０はＳ１０３以降を繰り返す。また、会話が予測されなかった場合（Ｓ１０９：Ｎｏ）、Ｓ１１０を実行することなく、Ｓ１１１が実行される。
【００７８】
また、Ｓ１０６において、ドメイン判定部４２によりドメイン維持と判定されなかった場合（Ｓ１０６：Ｎｏ）、ドメイン切替部４４は、これまでに推定された意図ラベルの推定結果を用いて、別のドメインを推定する（Ｓ１１２）。
【００７９】
続いて、応答部４５は、ドメイン切替部４４により推定された別のドメインが適切か否かを問い合わせるメッセージをユーザに発話して、ドメインの確認を実行する（Ｓ１１３）。
【００８０】
その後、ドメイン切替部４４は、切替後のドメインを許容するユーザ発話を検出すると（Ｓ１１４：Ｙｅｓ）、推定された別のドメインに変更する（Ｓ１１５）。一方、切替後のドメインを許容しないユーザ発話が検出されると（Ｓ１１４：Ｎｏ）、現ドメインの維持や再度の切替が実行される（Ｓ１１６）。これらの後は、Ｓ１０３以降が実行される。なお、図１３の処理において、処理中に対話終了の操作がユーザによって実行されると、処理順に関係なく、対話処理が終了する。
【００８１】
［効果］
実施例１にかかる対話装置１０は、学習結果を用いることで、プッシュ型の発話を実行することができ、ユーザに対して自律的に発話を行うことができる。また、対話装置１０は、ユーザ発話の繋がりを学習することができるので、ユーザとの対話の話題（ドメイン）を適切に選択することができる。
【００８２】
また、対話装置１０は、意図の予測では精度の高い順に候補を複数提示することができ、過去（直近）の対話履歴からユーザが本当に言いたかったことを推測しなおすことができるので、自然な対話を実現することができる。この結果、対話装置１０は、機械的な会話によるユーザの不信感を低減することができるので、ユーザの利便性を向上させることができる。
【実施例２】
【００８３】
上記実施例１では、対話装置１０が内部に記憶する情報を用いて、ユーザとの対話を実行する例を説明したが、これに限定されるものではない。例えば、対話装置１０は、ユーザ発話から推定した意図レベルの結果に応じて、外部サーバや外部ＤＢから情報を収集して応答することもできる。
【００８４】
図１４は、外部ＤＢとの連携を説明する図である。前提として、対話装置１０は、意図ラベルと参照先の外部ＤＢとの対応付けた連携ＤＢを記憶する。なお、連携ＤＢが記憶する外部ＤＢに関する情報は、外部ＤＢを検索可能なシステム情報の一例であり、例えばホスト名、ＵＲＬ（Uniform  Resource  Locator）、ＩＰ（Internet  Protocol）アドレスなどの識別情報であり、ログインＩＤなどを含めることもできる。
【００８５】
そして、対話装置１０は、対話処理の実行中に、ユーザから受け付けた第一の情報よりも後にユーザにより入力された第二の情報を受け付けると、第二の情報を含む検索条件を、特定したシステム情報により識別される検索先となりうるシステムに送信する。そして、対話装置１０は、送信した検索条件に応じた検索結果を受け付けると、受け付けた検索結果をユーザに提示する。
【００８６】
例えば、対話装置１０の意図推定部４１は、ユーザからユーザ発話「試験に関する情報を知りたい」が入力されると、学習済みの学習モデルを用いて、ユーザ発話「試験に関する情報を知りたい」から意図ラベル「試験情報を知りたい」を特定する。続いて、対話装置１０の応答部４５は、連携ＤＢを参照して、意図ラベル「試験情報を知りたい」に対応付けられる外部ＤＢとして、受講情報ＤＢを特定する。
【００８７】
その後、対話装置１０の応答部４５は、ユーザからユーザ発話「〇〇試験の申し込み日を知りたい」を受け付けると、ユーザ発話から検索キーワードとして「〇〇試験」と「申し込み日」を抽出する。そして、対話装置１０の応答部４５は、検索キーワードを用いて受講情報ＤＢを検索し、検索結果として「１１月３０日から１２月２０日まで」を取得する。その後、対話装置１０の応答部４５は、検索結果「１１月３０日から１２月２０日まで」をユーザに対して発話する。なお、検索キーワードの抽出方法は、形態素解析で得られる単語を用いるなど、公知の様々な手法を用いることができる。
【００８８】
具体例を説明すると、図１４に示すように、対話装置１０は、ユーザ発話「申込のキャンセルをしたい」を受け付けると、学習済みの学習モデルに入力して、意図ラベル「キャンセルしたい」を推定する。すると、対話装置１０の応答部４５は、連携ＤＢを参照して、意図ラベル「キャンセルしたい」に対応付けられるＤＢ「受講情報」にアクセスしてキャンセル情報を取得し、「キャンセル期間は〇から〇までです。」を応答する。
【００８９】
また、対話装置１０は、ユーザ発話「〇〇のキャンセル待ちの状況を教えて」を受け付けると、学習済みの学習モデルに入力して、意図ラベル「キャンセル待ちの状況を知りたい」を推定する。すると、対話装置１０の応答部４５は、連携ＤＢを参照して、意図ラベル「キャンセル待ちの状況を知りたい」に対応付けられるＤＢ「申込受付情報」にアクセスして受付情報を取得し、「１２人がキャンセル待ちをしています。」を応答する。
【００９０】
また、対話装置１０は、ユーザ発話「６月に川崎で開催される〇〇試験〜」を受け付けると、学習済みの学習モデルに入力して、意図ラベル「○○試験の日程を教えて」を推定する。すると、対話装置１０の応答部４５は、連携ＤＢを参照して、意図ラベル「○○試験の日程を教えて」に対応付けられるＤＢ「日程情報」にアクセスして日程情報を取得し、「申込期間が〜、試験期間が〜」を応答する。
【００９１】
このように、対話装置１０は、ユーザ意図に応じて、外部装置から情報を取得して応答することができるので、ユーザの意図や要望に適切に対応することができる。
【実施例３】
【００９２】
ところで、対話装置１０は、ユーザとの対話履歴から新たな学習データ（教師データ）を生成して、学習済みの学習モデルに対して再度の学習を定期的に繰り返すことで、学習モデルの推定精度を継続的に更新することができる。
【００９３】
図１５は、意図ラベル推定の再学習を説明する図である。図１５に示すように、意図推定部４１は、ユーザ発話「無線ＬＡＮが使えるのを予約したいです。」を検出すると学習済みの意図推定用の学習モデルを用いて、推定結果として、「会議室を予約したい、８６％」、「日程を決めたい、６５％」などを取得する。
【００９４】
この場合、意図学習部３１は、ユーザ発話「無線ＬＡＮが使えるのを予約したいです。」を説明変数、推定精度が最も高い意図ラベル「会議室を予約したい」を目的変数とする教師データを生成する。そして、意図学習部３１は、データ「無線ＬＡＮが使えるのを予約したいです。」を入力して、意図ラベル「会議室を予約したい」が出力されるように、学習済みの意図推定用の学習モデルを再度学習する。
【００９５】
図１６は、シナリオ推定の再学習を説明する図である。図１６に示すように、シナリオ学習部３２は、ユーザ発話が４回実行された場合、１回目、２回目、３回目、４回目のユーザ発話それぞれから推定された推定精度が最も高い意図ラベルの組み合わせ（流れ）を説明変数とし、４回目のユーザ発話で推定されたドメインを説明変数とする教師データを生成する。
【００９６】
図１６の場合、シナリオ学習部３２は、「正解情報、データ」として「機器予約、（会議室を予約したい、場所を指定したい、日程を決めたい、パソコンを予約したい）」を生成する。そして、シナリオ学習部３２は、意図ラベル「会議室を予約したい、場所を指定したい、日程を決めたい、パソコンを予約したい」の順で入力された場合に、シナリオが「機器予約」と推定されるように、シナリオ予測用の学習モデルの再学習を実行する。
【００９７】
なお、シナリオ学習部３２は、１回目から３回目までの意図ラベルを説明変数、４回目までの意図ラベルを目的変数とする教師データを生成することもできる。例えば、シナリオ学習部３２は、「正解情報、データ」として「パソコンを予約したい、（会議室を予約したい、場所を指定したい、日程を決めたい）」を生成する。そして、シナリオ学習部３２は、意図ラベル「会議室を予約したい、場所を指定したい、日程を決めたい」の順で入力された場合に、４番目の意図ラベルとして「パソコンを予約したい」が推定されるように、学習済みの学習モデルの再学習を実行する。
【００９８】
このようにすることで、対話装置１０は、ユーザとの間で実際にやり取りされた対話履歴から新たな学習データを生成して、学習済みの各学習モデルを定期的に学習して更新することができる。したがって、学術的なデータや統計的なデータのみを用いて学習する場合に比べて、より人間らしい意図を学習モデルに取り込むことができるので、人間らしい対話に近づくことができる。
【実施例４】
【００９９】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
【０１００】
［データや数値等］
上記実施例で用いた数値、データ例、ラベルの設定内容値、チャットボット画面の表示例、メッセージ内容等は、あくまで一例であり、任意に変更することができる。なお、意図ラベルは、カテゴリの一例であり分類できる指標であれば他の情報を用いることもできる。ドメインは、話題の一例である。また、ユーザ発話に限らず、ユーザがキーボードで入力した入力内容についても同様に処理することができる。
【０１０１】
上述した実施例では、チャットボットを用いた例を説明したが、これに限定されるものではなく、例えば一般的なＷｅｂブラウザなどを用いることもできる。また、インターネットなどに限らず、イントラネットなども採用することができる。例えば、一般ユーザによるＦＡＱに限らず、社内のＦＡＱにも適用することができる。
【０１０２】
［システム］
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０１０３】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、学習部３０と対話処理部４０とを別々の装置で実現することもできる。なお、意図推定部４１は、第１特定部の一例であり、ドメイン判定部４２は、第１選択部の一例であり、ドメイン切替部４４は、第２特定部と第２選択部の一例である。応答部４５は、第１特定部、第２特定部、送信部、提示部の一例である。
【０１０４】
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１０５】
［ハードウェア］
図１７は、ハードウェア構成例を説明する図である。図１７に示すように、対話装置１０は、通信装置１０ａ、ＨＤＤ（Hard  Disk  Drive）１０ｂ、メモリ１０ｃ、プロセッサ１０ｄを有する。また、図１７に示した各部は、バス等で相互に接続される。
【０１０６】
通信装置１０ａは、ネットワークインタフェースカードなどであり、他のサーバとの通信を行う。ＨＤＤ１０ｂは、図２に示した機能を動作させるプログラムやＤＢを記憶する。
【０１０７】
プロセッサ１０ｄは、図２に示した各処理部と同様の処理を実行するプログラムをＨＤＤ１０ｂ等から読み出してメモリ１０ｃに展開することで、図２等で説明した各機能を実行するプロセスを動作させる。すなわち、このプロセスは、対話装置１０が有する各処理部と同様の機能を実行する。具体的には、プロセッサ１０ｄは、学習部３０と対話処理部４０等と同様の機能を有するプログラムをＨＤＤ１０ｂ等から読み出す。そして、プロセッサ１０ｄは、学習部３０と対話処理部４０等と同様の処理を実行するプロセスを実行する。
【０１０８】
このように対話装置１０は、プログラムを読み出して実行することで対話方法を実行する情報処理装置として動作する。また、対話装置１０は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、対話装置１０によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【符号の説明】
【０１０９】
１０  対話装置
１１  通信部
１２  記憶部
１３  意図用の学習データＤＢ
１４  シナリオ用の学習データＤＢ
１５  ドメインＤＢ
１６  シナリオＤＢ
１７  対話ＤＢ
１８  学習結果ＤＢ
１９  対話ログＤＢ
２０  制御部
３０  学習部
３１  意図学習部
３２  シナリオ学習部
４０  対話処理部
４１  意図推定部
４２  ドメイン判定部
４３  会話予測部
４４  ドメイン切替部
４５  応答部
【図１】
2020087352.tif 000003
【図２】
2020087352.tif 000004
【図３】
2020087352.tif 000005
【図４】
2020087352.tif 000006
【図５】
2020087352.tif 000007
【図６】
2020087352.tif 000008
【図７】
2020087352.tif 000009
【図８】
2020087352.tif 000010
【図９】
2020087352.tif 000011
【図１０】
2020087352.tif 000012
【図１１】
2020087352.tif 000013
【図１２】
2020087352.tif 000014
【図１３】
2020087352.tif 000015
【図１４】
2020087352.tif 000016
【図１５】
2020087352.tif 000017
【図１６】
2020087352.tif 000018
【図１７】
2020087352.tif 000019