(57)【要約】【課題】新たなドメインを迅速に生成する。【解決手段】本願に係る決定装置は、利用者から受付けた発話の意味を推定する推定モデルであって、対話を通じて学習が行われる推定モデルを用いて、前記発話の意味を推定する推定部と、前記推定部により推定された意味に基づいて、前記利用者に対する応答の内容を決定する決定部とを有することを特徴とする。【選択図】図１
2018151578.tif 000002
【特許請求の範囲】
【請求項１】
利用者から受付けた発話の意味を推定する推定モデルであって、対話を通じて学習が行われる推定モデルを用いて、前記発話の意味を推定する推定部と、
前記推定部により推定された意味に基づいて、前記利用者に対する応答の内容を決定する決定部と
を有することを特徴とする決定装置。
【請求項２】
前記推定部は、前記利用者から受け付けた発話に関連する分野ごとに異なる推定モデルを用いて、前記発話の意味を推定する
ことを特徴とする請求項１に記載の決定装置。
【請求項３】
前記決定部は、前記利用者から受け付けた発話に関連する分野によらずに、前記推定部により推定された意味に応じて、前記利用者に対する応答の内容を決定する
ことを特徴とする請求項２に記載の決定装置。
【請求項４】
前記推定部は、それぞれ異なる分野に対応する複数の推定モデルを用いて、前記発話の意味を推定し、
前記決定部は、複数の推定モデルによって推定された意味のうち、所定の数以上の推定モデルによって推定された意味に基づいて、前記応答の内容を決定する
ことを特徴とする請求項２または３に記載の決定装置。
【請求項５】
前記決定部は、前記推定部により推定された意味に基づいて、前記利用者との対話の状態を判定し、判定結果に基づいて、前記利用者に対する応答の内容を決定する
ことを特徴とする請求項１〜４のうちいずれか１つに記載の決定装置。
【請求項６】
前記決定部は、前記推定部により推定された意味に対して予め対応付けられた内容を前記応答の内容とする
ことを特徴とする請求項１〜５のうちいずれか１つに記載の決定装置。
【請求項７】
前記決定部は、前記推定部により推定された意味が所定の条件を満たしていない場合は、当該所定の条件を満たす意味の発話を前記利用者に対して求める内容を、前記応答の内容として決定する
ことを特徴とする請求項１〜６のうちいずれか１つに記載の決定装置。
【請求項８】
前記推定部は、前記推定モデルとして、前記利用者の属性に応じて前記発話の意味を推定する推定モデルを用いて、前記発話の意味を推定する
ことを特徴とする請求項１〜７のうちいずれか１つに記載の決定装置。
【請求項９】
前記推定部が前記推定モデルを用いて推定した前記意味と、当該意味に応じて前記決定部が決定した内容の応答に対する前記利用者の反応とに基づいて、前記推定モデルを学習する学習部
を有することを特徴とする請求項１〜８のうちいずれか１つに記載の決定装置。
【請求項１０】
前記決定部は、さらに、前記推定部により推定された意味を前記利用者に対して問い合わせる内容を前記応答の内容として決定する
ことを特徴とする請求項９に記載の決定装置。
【請求項１１】
前記推定部は、前記発話の意味を、当該発話が当該意味を有する確度と共に推定し、
前記決定部は、前記推定部により推定された確度が所定の閾値以下となる場合は、前記推定部により推定された意味を前記利用者に対して問い合わせる内容を前記応答の内容として決定する
ことを特徴とする請求項１０に記載の決定装置。
【請求項１２】
前記推定部により推定された意味の内容が、適切であるか否かを判定する判定部
を有し、
前記学習部は、前記判定部による判定結果に基づいて、前記推定モデルの学習を実行する
ことを特徴とする請求項９〜１１のうちいずれか１つに記載の決定装置。
【請求項１３】
前記推定部は、前記推定モデルとして、前記利用者との対話を用いて強化学習が行われる推定モデルを用いて、前記発話の意味を推定する
ことを特徴とする請求項１〜１２のうちいずれか１つに記載の決定装置。
【請求項１４】
決定装置が実行する決定方法であって、
利用者から受付けた発話の意味を推定する推定モデルであって、対話を通じて学習が行われる推定モデルを用いて、前記発話の意味を推定する推定工程と、
前記推定工程により推定された意味に基づいて、前記利用者に対する応答の内容を決定する決定工程と
を含むことを特徴とする決定方法。
【請求項１５】
利用者から受付けた発話の意味を推定する推定モデルであって、対話を通じて学習が行われる推定モデルを用いて、前記発話の意味を推定する推定手順と、
前記推定手順により推定された意味に基づいて、前記利用者に対する応答の内容を決定する決定手順と
をコンピュータに実行させるための決定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、決定装置、決定方法および決定プログラムに関する。
【背景技術】
【０００２】
従来、利用者の発話に対して応答を出力する技術が知られている。このような技術の一例として、対話データを学習することにより、対話モデルを生成する技術が知られている。また、発話や応答の内容に応じたドメインごとに対話モデルを生成する技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１０５４３６号公報
【非特許文献】
【０００４】
【非特許文献１】Kim  et  al.,  Domainless  Adaptation  by  Constrained  Decoding  on  a  Schema  Lattice,  In  COLING2016
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来技術では、新たなドメインを迅速に生成することができるとは言い難い。
【０００６】
例えば、従来技術においては、利用者の発話を意味表現に変換する意味理解部と、意味表現から応答を生成する対話管理部により構成される対話モデルが生成され、利用者の発話の意図を正確に意味表現へと変換するために、教師あり学習で意味理解部の学習を行い、強化学習により対話管理部を学習するといった学習戦略が採用される。しかしながら、このような学習戦略では、意味理解部の学習に比較的多くの学習データが必要となるため、新たなドメインを追加する際に対話モデルを迅速に生成することができない。
【０００７】
本願は、上記に鑑みてなされたものであって、新たなドメインを迅速に生成することを目的とする。
【課題を解決するための手段】
【０００８】
本願に係る決定装置は、利用者から受付けた発話の意味を推定する推定モデルであって、対話を通じて学習が行われる推定モデルを用いて、前記発話の意味を推定する推定部と、前記推定部により推定された意味に基づいて、前記利用者に対する応答の内容を決定する決定部とを有することを特徴とする。
【発明の効果】
【０００９】
実施形態の一態様によれば、新たなドメインを迅速に生成できる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施形態に係る情報提供装置が実行する処理の一例を示す図である。
【図２】図２は、実施形態に係る情報提供装置の構成例を示す図である。
【図３】図３は、実施形態に係る推定モデルデータベースに登録される情報の一例を示す図である。
【図４】図４は、実施形態に係るルールデータベースに登録される情報の一例を示す図である。
【図５】図５は、実施形態に係る情報処理装置が実行する処理の概念を示す図である。
【図６】図６は、実施形態に係る情報提供装置が実行する決定処理の流れの一例を示すフローチャートである。
【図７】図７は、実施形態に係る情報提供装置が実行する強化学習の流れの一例を示すフローチャートである。
【図８】図８は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、本願に係る決定装置、決定方法および決定プログラムを実施するための形態（以下、「実施形態」と記載する。）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る決定装置、決定方法および決定プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略する。
【００１２】
〔１−１．情報提供装置の概要〕
まず、図１を用いて、決定装置の一例となる情報提供装置が実行する決定処理の一例について説明する。図１は、実施形態に係る情報提供装置が実行する処理の一例を示す図である。なお、以下の説明では、情報提供装置１０が実行する処理として、利用者Ｕの発話に対する応答の内容を決定する決定処理と、決定した内容の応答を出力する出力処理との一例について説明する。すなわち、情報提供装置１０は、利用者Ｕとの対話を実現する対話システムである。
【００１３】
情報提供装置１０は、インターネット等の所定のネットワークＮ（例えば、図２を参照。）を介して、利用者端末１００、第１外部サーバ２００および第２外部サーバ３００と通信可能な情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。なお、情報提供装置１０は、ネットワークＮを介して、任意の数の利用者端末１００、第１外部サーバ２００および第２外部サーバ３００と通信可能であってよい。
【００１４】
利用者端末１００は、対話システムで対話を行う利用者Ｕが使用する情報処理装置であり、ＰＣ（Personal  Computer）、サーバ装置、スマートデバイスといった情報処理装置により実現される。例えば、利用者端末１００は、利用者Ｕが発話した音声を取得すると、所定の外部サーバ（図示は、省略）に音声データを出力し、利用者Ｕの発話のテキストデータを取得する。そして、利用者端末１００は、テキストデータを発話として情報提供装置１０へと送信する。なお、利用者端末１００は、利用者Ｕが入力した文字列を発話として情報提供装置１０へと送信してもよい。
【００１５】
このような場合、情報提供装置１０は、発話として受信したテキストデータを解析し、内容を推定する。そして、情報提供装置１０は、推定した内容に応じて応答となるテキストを生成し、生成したテキストデータやテキストデータを音声として出力するための音声データを利用者端末１００へと送信する。この結果、利用者端末１００は、各種テキストの読み上げ技術や、受信した音声データを再生することで、利用者Ｕとの対話を実現する。
【００１６】
第１外部サーバ２００および第２外部サーバ３００（以下、「各外部サーバ２００、３００」と記載する場合がある。）は、各種のサービスを提供する情報処理装置であり、例えば、サーバ装置やクラウドシステムにより実現される。例えば、第１外部サーバ２００は、天気予報に関する情報を配信するサービスを提供しており、ＡＰＩ（Application  Programming  Interface）を介して、情報提供装置１０に各種天気予報に関する情報（例えば、所定の地域の天気や気温を示す情報）を配信する。また、第２外部サーバ３００は、例えば、電子商取引に関するサービスを提供する。
【００１７】
〔１−２．決定処理について〕
ここで、利用者Ｕとの対話を円滑にするため、予め生成された対話モデルを用いて利用者Ｕとの対話を実演する技術が知られている。このような技術の一例として、発話の内容が天気に関する内容であるか、時計に関する内容であるかというように、発話の内容が属するドメインを推定し、ドメインごとに生成された対話モデルを用いて、利用者Ｕの発話に対して自然な内容の応答を出力する技術が知られている。
【００１８】
しかしながら、従来技術では、新たなドメインを迅速に追加することができない。例えば、従来技術として、利用者の発話の内容を推定し、推定した内容を示す意味表現を生成する言語理解処理を実行する推定モデルと、意味表現から利用者との会話の状態を特定する状態追跡処理および利用者の会話の状態に応じて、応答の内容を決定する応答決定処理を実行する対話管理モデルとにより構成される対話システムが知られている。そして、従来技術では、利用者との円滑な対話を実現するため、推定モデルを教師あり学習により学習し、対話管理モデルを強化学習により学習していた。
【００１９】
しかしながら、教師あり学習には、比較的多くのデータを必要とするため、新たなドメインを追加する際に、そのドメインと関連する多くの発話データが必要となる。このため、学習データの収集や学習に時間を要する結果、迅速に新たなドメインを追加することができない。
【００２０】
そこで、情報提供装置１０は、以下の決定処理を実行する。まず、情報提供装置１０は、利用者Ｕから受付けた発話の意味を推定する推定モデルであって、対話を通じて学習が行われる推定モデルを用いて、発話の意味を推定する。そして、情報提供装置１０は、推定された意味に基づいて、利用者Ｕに対する応答の内容を決定する。
【００２１】
例えば、情報提供装置１０は、発話に関連する分野ごと、すなわち、ドメインごとに異なる推定モデルを保持する。そして、情報提供装置１０は、推定モデルを用いて利用者Ｕの発話の意味を推定する。その後、情報提供装置１０は、発話に関連するドメインによらず、推定された意味に応じて、利用者Ｕに対する応答の内容を決定する。例えば、情報提供装置１０は、利用者Ｕの発話の意味と、出力する応答の内容とをあらかじめ記憶し、推定された意味に対して予め対応付けられた内容を応答の内容として決定する。
【００２２】
すなわち、情報提供装置１０は、利用者Ｕとの対話を通して、発話の意味を推定する推定モデルをＱ学習やバンディッドアルゴリズム等といった強化学習により学習する。このような強化学習を用いて推定モデルの学習を行った場合、ある程度の精度で発話の意味を推定する推定モデルを教師あり学習と比較して少ない学習データで構成することができるとともに、利用者Ｕとの対話を通じて推定精度を順次向上させることができる。そこで、情報提供装置１０は、利用者Ｕの発話の意味を推定する処理については、発話内容が属するドメインごとに、強化学習を行う推定モデルにより実現する。
【００２３】
一方、推定モデルの精度がある程度高い場合、応答内容はドメインに寄らず、所定のルールベースでも実現できると考えられる。そこで、情報提供装置１０は、推定モデルにより発話の意味を推定した場合は、ドメインによらず共通の対話管理モデルを用いて、利用者Ｕに対する応答の内容を決定する。そして、情報提供装置１０は、決定した内容の応答を出力することで、利用者Ｕとの対話を実現する。
【００２４】
なお、以下の説明では、情報提供装置１０は、利用者Ｕとの対話を通じた強化学習を用いて推定モデルの学習を行う処理について記載するが、実施形態は、これに限定されるものではない。情報提供装置１０は、利用者Ｕとの対話を通じて行われる学習であれば、任意の学習手法を用いて、推定モデルの学習を行ってよい。
【００２５】
〔１−３．決定処理の一例〕
ここで、図１を用いて、情報提供装置１０が実行する処理の一例について説明する。まず、情報提供装置１０は、利用者端末１００から発話＃１を受付ける（ステップＳ１）。このような場合、情報提供装置１０は、ドメインごとに異なる推定モデルであって、発話の意味を強化学習する推定モデルを用いて、発話＃１の意味を推定する（ステップＳ２）。すなわち、情報提供装置１０は、発話＃１から意味表現を生成する。
【００２６】
例えば、情報提供装置１０は、発話＃１の内容に応じて、発話の内容が属するドメインを判定するドメイン判定処理を実行する（ステップＳ３）。例えば、情報提供装置１０は、発話＃１に含まれる単語等に応じて、発話の内容が属するドメインを推定する。より具体的には、情報提供装置１０は、発話に含まれるテキストに基づいて発話をいずれかのドメインに分類する分類モデルを用いて、発話の分類を実行する。なお、情報提供装置１０は、対話システムにおいて発話の内容が属するドメインを判定する技術であれば、任意の周知技術を採用してよい。
【００２７】
続いて、情報提供装置１０は、判定したドメインの推定モデルを用いて、発話＃１の意味を推定する言語理解処理を実行する（ステップＳ４）。例えば、情報提供装置１０は、発話＃１のドメインがドメイン＃１であると判定した場合は、ドメイン＃１に対応する推定モデル＃１を用いて、発話＃１の内容の意味＃１を推定する。なお、情報提供装置１０は、強化学習により学習が進むモデルであって、発話のテキストデータから発話の内容の意味を推定するように学習が行われるモデルであれば、任意の種別のモデルを推定モデルとして採用してよい。また、情報提供装置１０は、ドメインごとに異なる種別のモデルを採用してもよい。このような推定モデルは、例えば、ＳＶＭ（Support  Vector  Machine）やＤＮＮ（Deep  Neural  Network）等、任意の学習器又は分類器等のモデルにより実現される。
【００２８】
そして、情報提供装置１０は、推定された意味に基づいて、利用者Ｕとの対話の状態を追跡する状態追跡処理を実行する（ステップＳ５）。そして、情報提供装置１０は、各ドメイン共通で所定のルールに基づき応答内容を決定する応答決定処理を実行する（ステップＳ６）。
【００２９】
ここで、対話システムにおいては、「地域Ａの天気予報を教えて」や「Ｂ駅までの行き方を教えて」等といった処理の命令が含まれる場合がある。このように、利用者Ｕの発話＃１の意味に、所定の情報を収集して提供する旨が含まれる場合、情報提供装置１０は、応答を作成するための情報を、例えば、第１外部サーバ２００等、所定のサーバに対して要求する（ステップＳ８）。この結果、情報提供装置１０は、地域Ａの天気予報や、Ｂ駅までの乗換案内等といった応答に含まれる各種の情報を取得し（ステップＳ９）、取得した情報を用いて、各種の応答を生成する（ステップＳ１０）。そして、情報提供装置１０は、生成した応答、すなわち、発話＃１に対する応答＃１を利用者端末１００へと出力する（ステップＳ１１）。
【００３０】
ここで、情報提供装置１０は、利用者端末１００から、応答＃１に続く発話＃２を受付ける（ステップＳ１２）。このような発話＃２の内容は、利用者Ｕが応答＃１の内容に満足しているか否か、発話＃１の内容を誤って解釈していたか否か等、発話の内容の意味が適切に推定されたか否かの判断の指標となりうる。そこで、情報提供装置１０は、発話＃２の内容と、前回発話＃１から推定した意味＃１とに基づいて、前回の応答作成時に用いた推定モデル＃１の強化学習を実行する（ステップＳ１３）。すなわち、情報提供装置１０は、推定モデルを用いて推定した意味と、その意味に応じて決定した内容の応答に対する利用者Ｕの反応とに基づいて、推定モデルの強化学習を行う。
【００３１】
例えば、情報提供装置１０は、発話＃１を強化学習におけるコントローラの状態観測の結果とし、意味＃１をコントローラの行動とし、発話＃２に基づく報酬をコントローラに対して設定する。より具体的な例を挙げると、情報提供装置１０は、発話＃２が発話＃１と同様の内容であったり、応答＃１が誤っている旨の内容等が含まれる場合は、負の報酬を設定し、発話＃２が発話＃１とは異なる内容であったり、応答＃１が正しい旨の内容等が含まれる場合は、正の報酬を設定する。そして、情報提供装置１０は、推定モデル＃１の強化学習を行うことで、発話から意味を推定する精度を向上させる。
【００３２】
なお、情報提供装置１０は、ステップＳ１３の処理を、発話＃２に対するステップＳ２の処理（すなわち、応答を生成する処理）と平行して実行してもよく、先駆けて実行してもよい。また、情報提供装置１０は、利用者Ｕとの対話を保持し、所定の期間内（例えば、夜間等）に保持した対話を用いて推定モデルの学習を行ってもよい。
【００３３】
すなわち、情報提供装置１０は、利用者Ｕの発話から意味を推定するフロントエンドの処理において、利用者Ｕとの対話を用いた強化学習を行うことで、試行錯誤的に利用者Ｕとの対話を実現する。このため、情報提供装置１０は、ドメインの追加を行う場合等にも、ある程度の学習を行った推定モデルを準備すればよいので、迅速なドメインの追加を実現できる。また、情報提供装置１０は、状態追跡処理や応答決定処理の内容を簡素化することができる。
【００３４】
〔１−４．スロットフィリングの採用〕
ここで、情報提供装置１０は、応答決定処理をルールベースで実現する。この際、情報提供装置１０は、所謂スロットフィリングの技術を用いて、利用者Ｕに対する応答を生成してもよい。より具体的には、情報提供装置１０は、推定モデルを用いて推定された意味が所定の条件を満たしていない場合は、所定の条件を満たす意味の発話を利用者Ｕに対して求める内容を、応答の内容として決定してもよい。
【００３５】
例えば、情報提供装置１０は、乗換案内を実行するための条件として、出発地と到着地の情報が必要である旨をあらかじめ記憶する。このような場合、情報提供装置１０は、推定した意味に出発地の情報と到着地の情報とが含まれるか否かを判定する。そして、情報提供装置１０は、例えば、利用者Ｕの発話に出発地である「Ｂ駅」が含まれない場合や、推定モデルの精度により「Ｂ駅」を認識することができなかった場合、欠落した出発地の情報を得るため、「出発地はどこですか？」などといった応答を出力してもよい。
【００３６】
なお、このようなスロットフィリングに関する処理の実行は、例えば、推定モデルが有する機能であってもよい。例えば、推定モデルは、ドメインに応じた各種の処理と、その処理を実行するための情報の項目とをあらかじめ対応付けて記憶する。例えば、推定モデルは、処理が「経路案内」である場合には、項目「出発地」および「到着地」を記憶する。そして、推定モデルは、利用者Ｕの発話から、各処理の項目に対応する情報を推定し、ある処理について推定した情報により全ての項目が満たされた場合は、その処理を実行する旨の情報を意味表現として出力してもよい。
【００３７】
また、推定モデルが推定する内容は、対話モデルにおいてどのような処理構成を採用するかにより、任意の構成が採用可能である。例えば、情報提供装置１０は、推定モデルとして、発話に含まれる単語の中から応答を作成するために必要な単語を抽出することで、発話の意味を推定するモデルを採用してもよく、発話の内容から利用者Ｕが所望する処理の内容等を推定し、推定結果を出力するようなモデルを採用してもよい。すなわち、情報提供装置１０は、対話システムにおいて、利用者Ｕの発話が明示的或いは暗示的に示す情報であって、発話に対する応答の内容を決定したり、応答として含まれる情報を取得するために必要な情報であれば、任意の情報を発話から推定するモデルを推定モデルとして採用してよい。
【００３８】
〔１−５．利用者の属性に応じた意味推定〕
また、情報提供装置１０は、推定モデルとして、利用者Ｕの属性に応じて発話の意味を推定する推定モデルを用いて、発話の意味を推定してもよい。例えば、利用者Ｕの発話に含まれる意味は、利用者Ｕの属性に応じて変化するとも考えられる。そこで、情報提供装置１０は、利用者Ｕのデモグラフィック属性、サイコグラフィック属性、各種のペルソナ、過去の会話履歴等を利用者Ｕの属性として取得し、推定モデルの強化学習の際に、強化学習におけるコントローラの状態観測の結果として、発話と利用者Ｕの属性とを採用する。そして、情報提供装置１０は、例えば、発話＃２から意味＃２を推定する際に、属性モデルに発話＃２と利用者Ｕの属性とを入力することで、利用者Ｕの属性に応じた意味の推定を実現してもよい。
【００３９】
〔１−６．意味推定のバリエーション〕
また、情報提供装置１０は、全ての推定モデルを用いて、発話の意味の推定およびドメインの選択を行ってもよい。例えば、情報提供装置１０は、それぞれ異なる分野に対応する複数の推定モデルを用いて、発話の意味を推定する。そして、情報提供装置１０は、複数の推定モデルによって推定された意味のうち、所定の数以上の推定モデルによって推定された意味に基づいて、応答の内容を決定する。
【００４０】
例えば、情報提供装置１０は、推定モデル＃１〜推定モデル＃３のそれぞれを用いて、発話＃１の意味を推定する。ここで、情報提供装置１０は、推定モデル＃１が発話＃１の意味として「意味＃１」および「意味＃２」を推定し、推定モデル＃２が発話＃１の意味として「意味＃２」および「意味＃３」を推定し、推定モデル＃３が発話＃１の意味として「意味＃１」および「意味＃２」を推定したものとする。
【００４１】
このような場合、「意味＃２」については、全ての推定モデルが発話＃１の意味であると推定しているため、「意味＃１」や「意味＃３」よりも発話＃１の意味としてより確度が高いと考えられる。そこで、情報提供装置１０は、各推定モデル＃１〜＃３が出力した意味のうち「意味＃２」を用いて、利用者Ｕに対する応答＃１の生成を行ってもよい。なお、情報提供装置１０は、全ての推定モデルが出力した意味を採用する必要はなく、例えば、全推定モデルのうち、出力した推定モデルの数の割合が所定の閾値を超える意味を採用してもよい。また、情報提供装置１０は、採用した意味を推定した推定モデルと対応するドメインを、発話のドメインとして採用してもよい。また、情報提供装置１０は、最も確度が高い意味を推定した推定モデルを対応するドメインを、発話のドメインとして採用してもよい。
【００４２】
〔１−７．利用者への問合せ〕
また、情報提供装置１０は、意味の推定結果を適時利用者Ｕに開示することで、推定結果が正しいか否かの確認を行うことで、推定モデルの強化学習に必要なデータを対話的に取得してもよい。例えば、情報提供装置１０は、所定のタイミングで、発話から推定した意味の内容と、利用者Ｕから受付けた発話の意味が推定モデルにより推定した意味で合っているか否かの問合せとを応答の内容としてもよい。より具体的な例を挙げると、情報提供装置１０は、発話＃１から推定した意味が「意味＃１」である場合、「意味＃１で合っていますか？」等といった応答を出力してもよい。
【００４３】
また、情報提供装置１０は、推定された意味の確度を利用することで、利用者に確認を行うか否かを判定してもよい。例えば、情報提供装置１０は、推定した意味の確度が所定の閾値以下となる場合にのみ、意味の問い合わせを出力することで、対話におけるユーザエクスペリメントの低下を防いでもよい。例えば、情報提供装置１０は、発話の意味を、その発話がその意味を有する確度と共に推定する推定モデルを用いて、発話＃１の意味＃１と確度＃１とを推定する。そして、情報提供装置１０は、推定された確度＃１が所定の閾値以下となる場合は、意味＃１を利用者Ｕに対して問い合わせる内容を応答の内容として決定してもよい。
【００４４】
〔１−８．外部連携について〕
ここで、情報提供装置１０は、発話に対応するドメインと関連する分野の外部サーバ等に適宜アクセスを行い、推定した意味に矛盾が含まれるか否かを判定してもよい。また、情報提供装置１０は、推定した意味に矛盾が含まれるか否かの判定結果に基づいて、推定モデルの強化学習を実現してもよい。
【００４５】
例えば、情報提供装置１０は、推定モデル＃１を用いて意味＃１を推定した場合、所定のタイミングで、意味＃１が適切であるか否かを判定するための情報を第２外部サーバ３００から取得する（ステップＳ１４）。例えば、情報提供装置１０は、ドメイン＃１が電子商取引に関連するドメインである場合は、電子商取引に関するサービスを提供する第２外部サーバ３００にアクセスし、取引対象の種別や販売数等、電子商取引に関する情報を取得する。
【００４６】
そして、情報提供装置１０は、取得した情報と、意味＃１とを比較することで、意味＃１に矛盾や乖離が含まれるか否かを判定する。例えば、情報提供装置１０は、意味＃１が「取引対象＃１を５００個購入」といった意味を有するが、第２外部サーバ３００から取得した購入履歴において取引対象＃１を購入する数が５個を上回ることが無い場合、推定した意味＃１と現実の情報との間に矛盾や乖離が含まれると判定し、意味＃１が誤りであると判定する。そして、情報提供装置１０は、判定結果に基づいて、推定モデル＃１の強化学習を行ってもよい（ステップＳ１５）。
【００４７】
なお、このような推定した意味と実際の情報との間の矛盾や乖離を判定する技術については、任意の技術が採用可能である。例えば、情報提供装置１０は、意味＃１と、各種外部サーバから取得する情報との間の乖離性を示す乖離度を算出し、算出した乖離度が所定の閾値を超える場合は、乖離や矛盾が生じたと判定してもよい。
【００４８】
〔２．情報提供装置の構成〕
以下、上記した情報提供装置１０が有する機能構成の一例について説明する。図２は、実施形態に係る情報提供装置の構成例を示す図である。図２に示すように、情報提供装置１０は、通信部２０、記憶部３０、および制御部４０を有する。
【００４９】
通信部２０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。そして、通信部２０は、ネットワークＮと有線または無線で接続され、利用者端末１００との間で情報の送受信を行う。
【００５０】
記憶部３０は、例えば、ＲＡＭ（Random  Access  Memory)、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部３０は、推定モデルデータベース３１およびルールデータベース３２を記憶する。
【００５１】
推定モデルデータベース３１には、ドメインごとの推定モデルが登録される。例えば、図３は、実施形態に係る推定モデルデータベースに登録される情報の一例を示す図である。図３に示すように、推定モデルデータベース３１には、「モデルＩＤ（Identifier）」、「ドメイン」、および「モデルデータ」といった項目を有する情報が登録される。
【００５２】
ここで、「モデルＩＤ」とは、モデルの識別子である。また、「ドメイン」とは、対応付けられた「モデルＩＤ」が示すモデルがどのドメインの発話の意味を推定するモデルであるかを示す情報である。また、「モデルデータ」とは、対応付けられた「モデルＩＤ」が示すモデルを構成する各種パラメータ等のデータである。
【００５３】
例えば、図３に示す例では、推定モデルデータベース３１には、モデルＩＤ「モデル＃１」、ドメイン「ドメイン＃１」、およびモデルデータ「モデルデータ＃１」が対応付けて登録されている。このような情報は、モデルＩＤ「モデル＃１」が示すモデルが、ドメイン「ドメイン＃１」が示すドメインに属する発話の意味を推定するモデルであり、そのモデルの各種パラメータ等がモデルデータ「モデルデータ＃１」である旨を示す。なお、図３に示す例では、「モデル＃１」、「ドメイン＃１」、「モデルデータ＃１」等といった概念的な値を記載したが、実際には、推定モデルデータベース３１には、モデルをやドメインを識別する文字列、モデルを構築するための各種パラメータ等のデータが登録されることとなる。
【００５４】
図２に戻り、説明を続ける。ルールデータベース３２には、発話の意味に応じてどのような内容の応答を出力するかを定めるルールが登録される。例えば、図４は、実施形態に係るルールデータベースに登録される情報の一例を示す図である。図４に示すように、ルールデータベース３２には、「ルールＩＤ」、「状態」、および「応答内容」といった項目を有する情報が登録される。
【００５５】
ここで、「ルールＩＤ」とは、ルールの識別子である。また、「状態」とは、利用者Ｕとの対話の状態を示す情報である。また、「応答内容」とは、対応付けられた「条件」が示す条件が満たされた場合に、決定される応答の内容である。例えば、図４に示す例では、ルールＩＤ「ルール＃１」、状態「状態＃１」、および応答内容「応答内容＃１」が対応付けて登録されている。このような情報は、ルールＩＤ「ルール＃１」が示すルールが、状態「状態＃１」が示す状態となった場合に応答内容「応答内容＃１」を応答の内容として出力するルールである旨を示す。より具体的には、このようなルールは、利用者Ｕとの対話の状態（すなわち、ステート）が「状態＃１」となった場合は、「応答内容＃１」が示す内容の応答を生成して出力する旨を示す。
【００５６】
なお、「応答内容」は、応答として出力する音声のテキストデータのみならず、どのような外部サーバからどのような情報を収集し、収集した情報を用いてどのようなテキストデータを生成するかといった情報が含まれるものとする。例えば、「応答内容＃１」とは、例えば、各種外部サーバから天気予報や乗換案内の情報を収集し、収集した情報を含む定型文の応答を生成する旨を示す。また、図４に示す例では、「ルール＃１」、「状態＃１」、「処理＃１」等といった概念的な値を記載したが、実際には、ルールデータベース３２には、ルールを識別する文字列、状態を識別する識別子、意味を示す意味表現や処理の具体的な内容を示す情報が登録されることとなる。
【００５７】
図２に戻り、説明を続ける。制御部４０は、コントローラ（controller）であり、例えば、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等のプロセッサによって、情報提供装置１０内部の記憶装置に記憶されている各種プログラムがＲＡＭ等を作業領域として実行されることにより実現される。また、制御部４０は、コントローラ（controller）であり、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されてもよい。図２に示すように、制御部４０は、分類部４１、推定部４２、決定部４３、生成部４４、判定部４５、および学習部４６を有する。
【００５８】
分類部４１は、利用者Ｕの発話を対応するドメインに分類する。例えば、分類部４１は、利用者端末１００から、利用者Ｕが発声した音声を変換したテキストデータを受付ける。なお、例えば、分類部４１は、利用者端末１００から利用者Ｕが発声した音声データを受付け、受付けた音声データをテキストデータに変換してもよい。また、分類部４１は、音声データをテキストデータへと変換する所定の外部サーバを介して、利用者端末１００から利用者Ｕが発声した音声のテキストデータを受付けてもよい。
【００５９】
このような場合、分類部４１は、利用者Ｕの発話の内容と対応するドメインを特定する。例えば、分類部４１は、各種の文字解析技術や分類技術を用いて、利用者Ｕの発話の内容やどのような分野に属する内容であるかを判定し、判定結果を推定部４２に通知する。なお、分類部４１は、発話の分類処理を、ＳＶＭ等の任意の分類モデルにより実現してよい。
【００６０】
推定部４２は、利用者Ｕから受付けた発話の意味を推定する推定モデルであって、強化学習により学習される推定モデルを用いて、発話の意味を推定する。例えば、推定部４２は、利用者Ｕから受け付けた発話に関連する分野ごとに異なる推定モデルを用いて、発話の意味を推定する。
【００６１】
例えば、推定部４２は、分類部４１により発話に対応すると判定されたドメインの通知を受付けると、通知されたドメインと対応する推定モデルを推定モデルデータベース３１から読み出す。すなわち、推定部４２は、発話の意味を推定する推定モデルであって、強化学習により学習が行われる推定モデルを読み出す。そして、推定部４２は、利用者Ｕの発話のテキストデータを推定モデルに入力することにより、発話の内容の意味を示す意味表現を生成する。そして、推定部４２は、生成した意味表現を決定部４３に出力する。
【００６２】
なお、推定部４２は、推定モデルとして、利用者Ｕの属性に応じて発話の意味を推定する推定モデルを用いて、発話の意味を推定してもよい。例えば、推定部４２は、発話元の利用者Ｕの各種属性を示す属性情報を、利用者端末１００や所定の外部サーバ等から取得する。そして、推定部４２は、発話のテキストデータと、属性情報とを推定モデルに入力することで、発話の意味を推定してもよい。
【００６３】
決定部４３は、推定された意味に基づいて、利用者Ｕに対する応答の内容を決定する。例えば、決定部４３は、利用者Ｕから受け付けた発話に関連する分野によらずに、推定された意味に応じて、利用者Ｕに対する応答の内容を決定する。より具体的には、決定部４３は、推定部４２がドメインに応じた推定モデルにより推定した発話の意味を示す意味表現を取得する。このような場合、決定部４３は、推定された意味に基づいて、利用者Ｕとの対話の状態を判定する。
【００６４】
例えば、決定部４３は、利用者Ｕとの会話がどのような状態であるかを示すステートマシンを保持し、推定部４２によって生成された意味表現が示す意味に基づいて、ステートマシンが示す状態を更新する。そして、決定部４３は、更新後の状態と対応する応答内容を、ルールデータベース３２から特定する。
【００６５】
また、決定部４３は、例えば、特定した応答内容が天気予報や乗換案内等といった外部サーバから取得する情報を含む場合、対応する外部サーバ（例えば、第１外部サーバ２００等）から情報を取得する。より具体的には、決定部４３は、発言の意味として推定部４２により推定された出発地や到着地の情報を用いて、乗換案内の検索結果等を取得する。そして、決定部４３は、取得した検索結果の内容を含む定型文等を生成し、生成した定型文を応答の内容とする。
【００６６】
このように、決定部４３は、発言に対応するドメインによらず、推定された意味に対して予め対応付けられた内容を応答の内容とする。なお、決定部４３は、例えば、推定された意味が所定の条件を満たしていない場合は、所定の条件を満たす意味の発話を利用者Ｕに対して求める内容を、応答の内容として決定してもよい。例えば、決定部４３は、スロットフィリングの技術を用いて、検索に必要な各種の情報がそろっていない場合は、かかる情報の入力を利用者Ｕに対して求める内容を応答の内容として決定してもよい。このような処理は、例えば、ルールデータベース３２に、情報検索に必要な一部の検索クエリのみが取得されている旨の状態に対し、応答内容として、必要な他の検索クエリの入力を要求する定型文とが対応付けて登録されることにより実現される。
【００６７】
また、決定部４３は、推定された意味を利用者Ｕに対して問い合わせる内容を応答の内容として決定してもよい。例えば、決定部４３は、利用者Ｕの発話から推定された意味表現では、ステートマシンが示す状態を更新させることができない場合は、利用者Ｕに対して意味表現が示す意味で合っているか否かを問い合わせる内容を応答の内容としてもよい。また、決定部４３は、ルールデータベース３２に登録されたルールによらず、所定のタイミングで、意味表現が示す意味で合っているか否かを問い合わせる内容を応答の内容としてもよい。
【００６８】
なお、どのような状態において、どのような意味表現が取得された際に、どのような状態へとステートを更新するかについては、対話システムの構成に応じて任意の設定が可能であり、ステートマシンを用いた周知の対話システムの技術が適用可能である。
【００６９】
生成部４４は、決定部４３が決定した内容の応答を生成する。例えば、生成部４４は、決定部４３が決定した内容の定型文を読み上げるための音声データを生成し、生成した音声データを利用者端末１００へと送信する。
【００７０】
判定部４５は、推定された意味の内容が、適切であるか否かを判定する。例えば、判定部４５は、ドメイン「電子商取引」について、推定部４２が推定した発話から、「取引対象＃Ａ」、「５００個」、「注文する」であった場合、第２外部サーバ３００にアクセスし、取引対象＃Ａの購入履歴を参照する。そして、判定部４５は、取引対象＃Ａが購入される際の平均的な購入数と、推定された購入数とを比較し、購入数に所定の数以上の乖離があった場合は、推定した意味に矛盾や乖離が含まれると判定する。
【００７１】
なお、上述した処理以外にも、判定部４５は、ドメインに対応する外部サーバが管理する情報と、推定された意味との比較結果に基づいて、推定された意味に矛盾や乖離が含まれるか否かを判定してもよい。また、判定部４５は、上述した判定処理を決定部４３が応答の内容を決定する前に実行してもよい。このような場合、決定部４３は、応答の内容に矛盾や乖離が存在すると判定部４５によって判定された場合は、応答の作成を行うための情報を収集する処理や、取引対象の注文などといった応答の作成に伴う各種の処理を実行せずに、利用者Ｕに対して再度の発話を求める文章等を応答内容として決定しても良い。
【００７２】
学習部４６は、推定モデルを用いて推定した意味と、その意味に応じて決定した内容の応答に対する利用者Ｕの反応とに基づいて、推定モデルの強化学習を行う。例えば、学習部４６は、利用者Ｕの発話＃１に対し、推定モデル＃１を用いることで応答＃１が出力された場合、利用者Ｕが応答＃１に対して発生した発話＃２を取得する。このような場合、学習部４６は、発話＃２の内容に基づいて、利用者Ｕが応答＃１に満足しているか否かを判定する。例えば、学習部４６は、発話＃２から推定部４２が推定した意味が、応答＃１に対する同意や好意的な内容を示しているか否かを判定する。
【００７３】
そして、学習部４６は、利用者Ｕが応答＃１に満足していると判定した場合は、正の報酬を設定し、利用者Ｕが応答＃１に満足していないと判定した場合は、負の報酬を設定する。そして、学習部４６は、応答＃１の生成に用いた推定モデル＃１の強化学習を行う。この結果、学習部４６は、利用者Ｕとの対話を介して、推定モデルの強化学習を実現できる。
【００７４】
なお、学習部４６は、判定部４５による判定結果に基づいて、推定モデルの強化学習を実行してもよい。例えば、学習部４６は、発話＃１から推定モデル＃１が推定した意味＃１に矛盾や乖離が含まれると判定された場合は、負の報酬を設定し、推定モデル＃１の強化学習を行ってもよい。
【００７５】
ここで、図５は、実施形態に係る情報処理装置が実行する処理の概念を示す図である。例えば、情報提供装置１０は、利用者Ｕの発話から、ドメインごとに異なる推定モデルを用いた言語理解処理＃１〜＃４を実行することで、意味表現を生成する。そして、情報提供装置１０は、意味表現から利用者Ｕとの会話の状態を追跡する状態追跡処理を実行するとともに、状態に応じて応答内容を決定する応答決定処理を実行する。そして、情報提供装置１０は、応答決定処理の結果、決定した内容の応答を利用者Ｕに出力する。
【００７６】
このような処理の流れの下、情報提供装置１０は、処理のフロントエンドとなる言語理解処理＃１〜＃４については、ドメインごとに強化学習を行うことで、発話から意味表現を生成する精度の向上を図る。そして、情報提供装置１０は、状態追跡処理や応答決定処理といった対話管理処理については、ルールベースでドメイン共通の汎用的な処理を実行する。
【００７７】
このような情報提供装置１０において、新たなドメインの追加を行う場合は、利用者Ｕとの会話を通じて強化学習が行われる言語理解処理を追加する。この結果、情報提供装置１０は、教師あり学習等、比較的多くのデータを用いてモデルの学習を行わずともよいので、ドメインの追加を迅速かつ容易に実現することができる。
【００７８】
〔３．機能構成のバリエーションについて〕
なお、図２に示した推定部４２は、それぞれ異なる分野に対応する複数の推定モデルを用いて、発話の意味を推定してもよい。例えば、推定部４２は、推定モデルデータベース３１に登録された全ての推定モデルを用いて、発話＃１の意味を推定する。このような場合、決定部４３は、複数の推定モデルによって推定された意味のうち、所定の数以外の推定モデルによって推定された意味に基づいて、応答の内容を決定してもよい。例えば、決定部４３は、過半数の推定モデルによって共通して推定された内容の意味に基づき、応答の内容を決定してもよい。
【００７９】
また、複数の推定モデルを用いて意味の推定を行う場合、情報提供装置１０は、分類部４１を有していなくともよい。また、例えば、分類部４１は、発言＃１が属する可能性が所定の閾値を超えるドメインが複数存在する場合は、それらのドメインを推定部４２に通知する。このような場合、推定部４２は、通知された複数のドメインと対応する複数の推定モデルを用いて、発言の内容を推定してもよい。また、学習部４６は、意味の推定を行った複数の推定モデルのうち、応答の生成に用いられた意味を推定した推定モデルについて、利用者Ｕの反応に応じた強化学習を行ってもよい。
【００８０】
また、情報提供装置１０は、発話から意味と意味の確度とを推定する推定モデルを用いてもよい。このような場合、推定部４２は、推定モデルが確度とともに推定した複数の意味のうち、確度が所定の閾値を超える意味のみを推定結果として採用してもよい。また、決定部４３は、推定モデルによって推定された全ての意味について、確度が所定の閾値以下となる場合は、発話の内容が推定された各意味で合っているか否かを問い合わせる内容を、応答の内容として決定してもよい。
【００８１】
〔４．情報提供装置が実行する処理の流れの一例〕
続いて、図６、図７を用いて、情報提供装置１０が実行する処理の流れの一例を説明する。図６は、実施形態に係る情報提供装置が実行する決定処理の流れの一例を示すフローチャートである。また、図７は、実施形態に係る情報提供装置が実行する強化学習の流れの一例を示すフローチャートである。
【００８２】
まず、図６を用いて、決定処理の流れの一例を説明する。例えば、情報提供装置１０は、利用者Ｕの発話を受付けると、発話が属するドメインを特定する（ステップＳ１０１）。続いて、情報提供装置１０は、特定したドメインと対応する推定モデルであって、発話の意味を強化学習する推定モデルを選択する（ステップＳ１０２）。そして、情報提供装置１０は、選択した推定モデルを用いて、発話の意味を推定する（ステップＳ１０３）。また、情報提供装置１０は、推定した意味に基づいて、ドメイン共通の処理により、応答内容を決定する（ステップＳ１０４）。そして、情報提供装置１０は、決定した応答を出力し（ステップＳ１０５）、処理を終了する。
【００８３】
続いて、図７を用いて、強化学習の流れの一例を説明する。まず、情報提供装置１０は、応答に対する利用者の発話を取得する（ステップＳ２０１）。続いて、情報提供装置１０は、発話が応答に対して好意的であるか否かを判定する（ステップＳ２０２）。そして、情報提供装置１０は、判定結果に基づく報酬を設定し、応答を出力した際に用いた推定モデルの強化学習を行い（ステップＳ２０３）、処理を終了する。
【００８４】
〔５．変形例〕
上記では、情報提供装置１０による決定処理や強化学習の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、情報提供装置１０が実行する提供処理や決定処理のバリエーションについて説明する。
【００８５】
〔５−１．同音異義語、異音同義語の推定について〕
情報提供装置１０は、発話から意味を適切に推定することができるのであれば、強化学習において任意の学習を行ってよい。例えば、情報提供装置１０は、発話の中に異なる意味が複数存在する単語（すなわち、同音異義語が存在する単語）が含まれる場合は、推定した意味で合っているか否かを利用者Ｕに対して問い合わせる応答を出力し、かかる応答に対する利用者Ｕの発話が好意的な内容であるか否かに基づいて、推定モデルの強化学習を行ってもよい。また、情報提供装置１０は、利用者Ｕに意味の問い合わせを行った際に、正しい意味を示す発話を受付けた場合は、かかる発話が示す意味を推定するように、推定モデルの強化学習を行ってもよい。
【００８６】
〔５−２．ドメイン判定処理について〕
また、情報提供装置１０は、ドメイン判定処理に用いる分類モデルの強化学習を行ってもよい。すなわち、情報提供装置１０は、利用者Ｕとの対話を通じて学習が行われる分類モデルを用いて、発話が属するドメインの分類を行ってもよい。また、情報提供装置１０は、分類モデルと、発話が属するドメインの推定モデルとの強化学習を同時に行ってもよい。
【００８７】
〔５−３．応答決定処理について〕
上述した処理では、情報提供装置１０は、所定のルールに基づいて応答内容を決定する応答決定処理を実行した。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置１０は、状態追跡処理および応答決定処理を実行するモデルを準備し、教師あり学習や利用者との対話を用いた強化学習を行うことで、対話管理を実現してもよい。
【００８８】
〔５−４．装置構成〕
記憶部３０に登録された各データベース３１、３２は、外部のストレージサーバに保持されていてもよい。また、情報提供装置１０は、発話を分類する分類サーバ、ドメインごとに発話の意味を推定する１台または複数台の推定サーバ、推定結果に基づいて応答の内容を決定する決定サーバ、推定モデルの強化学習を行う学習サーバとが連携して動作することにより、実現されてもよい。このような場合、分類サーバには、図２に示す分類部４１が配置され、推定サーバには、推定部４２が配置され、決定サーバには、決定部４３および生成部４４が配置され、学習サーバには、判定部４５および学習部４６が配置されていてもよい。また、ドメインに対応する複数の推定サーバが存在する場合、各推定サーバには、対応するドメインの推定モデルが保持されるとともに、各推定モデルの強化学習を行う学習部が配置されていてもよい。
【００８９】
〔５−５．その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、逆に、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【００９０】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【００９１】
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【００９２】
〔５−６．プログラム〕
また、上述した実施形態に係る情報提供装置１０は、例えば図８に示すような構成のコンピュータ１０００によって実現される。図８は、ハードウェア構成の一例を示す図である。コンピュータ１０００は、出力装置１０１０、入力装置１０２０と接続され、演算装置１０３０、一次記憶装置１０４０、二次記憶装置１０５０、出力ＩＦ（Interface）１０６０、入力ＩＦ１０７０、ネットワークＩＦ１０８０がバス１０９０により接続された形態を有する。
【００９３】
演算装置１０３０は、一次記憶装置１０４０や二次記憶装置１０５０に格納されたプログラムや入力装置１０２０から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置１０４０は、ＲＡＭ等、演算装置１０３０が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置１０５０は、演算装置１０３０が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ＲＯＭ(Read  Only  Memory)、ＨＤＤ（Hard  Disk  Drive）、フラッシュメモリ等により実現される。
【００９４】
出力ＩＦ１０６０は、モニタやプリンタといった各種の情報を出力する出力装置１０１０に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、ＵＳＢ（Universal  Serial  Bus）やＤＶＩ（Digital  Visual  Interface）、ＨＤＭＩ（登録商標）（High  Definition  Multimedia  Interface）といった規格のコネクタにより実現される。また、入力ＩＦ１０７０は、マウス、キーボード、およびスキャナ等といった各種の入力装置１０２０から情報を受信するためのインタフェースであり、例えば、ＵＳＢ等により実現される。
【００９５】
なお、入力装置１０２０は、例えば、ＣＤ（Compact  Disc）、ＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto-Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置１０２０は、ＵＳＢメモリ等の外付け記憶媒体であってもよい。
【００９６】
ネットワークＩＦ１０８０は、ネットワークＮを介して他の機器からデータを受信して演算装置１０３０へ送り、また、ネットワークＮを介して演算装置１０３０が生成したデータを他の機器へ送信する。
【００９７】
演算装置１０３０は、出力ＩＦ１０６０や入力ＩＦ１０７０を介して、出力装置１０１０や入力装置１０２０の制御を行う。例えば、演算装置１０３０は、入力装置１０２０や二次記憶装置１０５０からプログラムを一次記憶装置１０４０上にロードし、ロードしたプログラムを実行する。
【００９８】
例えば、コンピュータ１０００が情報提供装置１０として機能する場合、コンピュータ１０００の演算装置１０３０は、一次記憶装置１０４０上にロードされたプログラムを実行することにより、制御部４０の機能を実現する。
【００９９】
〔６．効果〕
上述したように、情報提供装置１０は、利用者Ｕから受付けた発話の意味を推定する推定モデルであって、対話を通じて学習が行われる推定モデルを用いて、発話の意味を推定する。そして、情報提供装置１０は、推定された意味に基づいて、利用者Ｕに対する応答の内容を決定する。このように、情報提供装置１０は、対話システムにおいて利用者Ｕとの対話により学習される推定モデルを用いて、利用者Ｕの発話の意味を推定するので、学習データの数を削減する結果、新たなドメインの追加を容易にすることができる。
【０１００】
また、情報提供装置１０は、利用者Ｕから受け付けた発話に関連する分野ごとに異なる推定モデルを用いて、発話の意味を推定する。また、情報提供装置１０は、利用者Ｕから受け付けた発話に関連する分野によらずに、推定された意味に応じて、利用者Ｕに対する応答の内容を決定する。このため、情報提供装置１０は、新たなドメインの追加を行う際に、対話システムにおいて利用者Ｕとの対話により学習される推定モデルを追加することで、新たなドメインの追加を実現できるので、新たなドメインの追加を容易にすることができる。
【０１０１】
また、情報提供装置１０は、それぞれ異なる分野に対応する複数の推定モデルを用いて、発話の意味を推定し、複数の推定モデルによって推定された意味のうち、所定の数以上の推定モデルによって推定された意味に基づいて、応答の内容を決定する。このため、情報提供装置１０は、発話の意味の推定精度を向上させることができる。
【０１０２】
また、情報提供装置１０は、推定された意味に基づいて、利用者Ｕとの対話の状態を判定し、判定結果に基づいて、利用者Ｕに対する応答の内容を決定する。このため、情報提供装置１０は、一問一答等といった応答ではなく、利用者Ｕとの対話の流れを考慮した応答を出力できる。
【０１０３】
また、情報提供装置１０は、推定された意味に対して予め対応付けられた内容を応答の内容とする。このため、情報提供装置１０は、各ドメイン共通のルールベースで、応答を生成することができるので、新たなドメインの追加を容易にすることができる。
【０１０４】
また、情報提供装置１０は、推定された意味が所定の条件を満たしていない場合は、その所定の条件を満たす意味の発話を利用者Ｕに対して求める内容を、応答の内容として決定する。このため、情報提供装置１０は、応答に必要な情報を効率良く取得することができる。
【０１０５】
また、情報提供装置１０は、推定モデルとして、利用者Ｕの属性に応じて発話の意味を推定する推定モデルを用いて、発話の意味を推定する。このため、情報提供装置１０は、利用者Ｕの属性を考慮して、発話の意味を推定することができる。
【０１０６】
また、情報提供装置１０は、推定モデルを用いて推定した意味と、その意味に応じて決定した内容の応答に対する利用者Ｕの反応とに基づいて、推定モデルの学習を行う。このため、情報提供装置１０は、利用者Ｕとの対話を介して、推定モデルの学習を実現できる。
【０１０７】
また、情報提供装置１０は、推定された意味を利用者Ｕに対して問い合わせる内容を応答の内容として決定する。例えば、情報提供装置１０が用いる推定モデルは、発話の意味を、その発話がその意味を有する確度と共に推定する。そして、情報提供装置１０は、推定された確度が所定の閾値以下となる場合は、推定された意味を利用者Ｕに対して問い合わせる内容を応答の内容として決定する。このため、情報提供装置１０は、推定モデルの学習に必要な情報を利用者から得ることができる。
【０１０８】
また、情報提供装置１０は、推定された意味の内容が、適切であるか否かを判定する。そして、情報提供装置１０は、判定結果に基づいて、推定モデルの学習を実行する。このため、情報提供装置１０は、例えば、推定した意味に矛盾や乖離が含まれるか否かに応じて、推定モデルの学習を実現するので、発話の意味の推定精度を向上させることができる。
【０１０９】
例えば、情報提供装置１０は、推定モデルとして、利用者Ｕとの対話を用いて強化学習が行われる推定モデルを用いて、発話の意味を推定する。このため、情報提供装置１０は、新たなドメインの追加を容易にすることができる。
【０１１０】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【０１１１】
また、上記してきた「部（section、module、unit）」は、「手段」や「回路」などに読み替えることができる。例えば、推定部は、推定手段や推定回路に読み替えることができる。
【符号の説明】
【０１１２】
１０  情報提供装置
２０  通信部
３０  記憶部
３１  推定モデルデータベース
３２  ルールデータベース
４０  制御部
４１  分類部
４２  推定部
４３  決定部
４４  生成部
４５  判定部
４６  学習部
１００  利用者端末
２００  第１外部サーバ
３００  第２外部サーバ
【図１】
2018151578.tif 000003
【図２】
2018151578.tif 000004
【図３】
2018151578.tif 000005
【図４】
2018151578.tif 000006
【図５】
2018151578.tif 000007
【図６】
2018151578.tif 000008
【図７】
2018151578.tif 000009
【図８】
2018151578.tif 000010