(57)【要約】【課題】発話の分類精度を向上させる。【解決手段】本願に係る分類装置は、内容に応じて発話を分類する複数の分類モデルであって、それぞれ学習手法が異なる分類モデルのいずれかを用いて、利用者から受付けた発話を分類する分類部と、前記発話に対する応答であって、前記分類部による分類結果に応じたモデルを用いて生成された応答に対する利用者の反応に基づき、前記分類部が分類に用いる分類モデルを選択する選択部とを有することを特徴とする。【選択図】図１
2018151786.tif 000002
【特許請求の範囲】
【請求項１】
内容に応じて発話を分類する複数の分類モデルであって、それぞれ学習手法が異なる分類モデルのいずれかを用いて、利用者から受付けた発話を分類する分類部と、
前記発話に対する応答であって、前記分類部による分類結果に応じたモデルを用いて生成された応答に対する利用者の反応に基づき、前記分類部が分類に用いる分類モデルを選択する選択部と
を有することを特徴とする分類装置。
【請求項２】
前記選択部は、前記利用者の反応に基づいて、前記応答の確度を推定し、当該推定した確度に応じて前記分類モデルを選択する
ことを特徴とする請求項１に記載の分類装置。
【請求項３】
前記選択部は、前記確度が所定の閾値を超える場合は、教師あり学習により学習が行われた分類モデルを選択する
ことを特徴とする請求項２に記載の分類装置。
【請求項４】
前記選択部は、前記確度が所定の閾値を下回る場合は、対話を通じて学習が行われる分類モデルを選択する
ことを特徴とする請求項２または３に記載の分類装置。
【請求項５】
前記確度が所定の範囲内に収まる場合は、前記利用者に対して前記発話の意図を問い合わせる応答を出力する出力部
を有することを特徴とする請求項２〜４のうちいずれか１つに記載の分類装置。
【請求項６】
前記分類部は、前記分類モデルを用いて、前記利用者から受付けた発話を雑談に関する発話、または、雑談以外の所定の事象に関する発話のいずれかに分類する
ことを特徴とする請求項１〜５のうちいずれか１つに記載の分類装置。
【請求項７】
前記分類部は、前記利用者による所定のサービスの利用履歴、または、当該利用者の属性の少なくともいずれか一方に基づいて、当該利用者から受付けた発話が前記所定の事象に関する度合を推定し、推定した度合と前記分類モデルを用いた分類結果とに基づいて、当該発話を分類する
ことを特徴とする請求項６に記載の分類装置。
【請求項８】
前記分類部は、前記利用者から受付けた発話の表現に基づいて、当該発話が雑談に関する度合または当該発話が前記所定の事象に関する度合を推定し、推定した度合と前記分類モデルを用いた分類結果とに基づいて、当該発話を分類する
ことを特徴とする請求項６または７に記載の分類装置。
【請求項９】
前記分類部は、前記利用者から受付けた発話の表現が、前記利用者により投稿された投稿情報の表現と類似する場合は、当該発話が雑談に関する度合を上昇させ、前記利用者から受付けた発話の表現か、検索クエリの表現と類似する場合は、当該発話が前記所定の事象に関する度合を上昇させる
ことを特徴とする請求項８に記載の分類装置。
【請求項１０】
前記分類部は、前記発話が雑談に関する度合および当該発話が前記所定の事象に関する度合が所定の条件を満たす場合は、当該発話を前記雑談に関する発話および前記所定の事象に関する発話の両方に分類する
ことを特徴とする請求項６〜９のうちいずれか１つに記載の分類装置。
【請求項１１】
前記選択部により選択された分類モデルを用いて前記分類部が分類した結果に基づいて生成された応答に対する前記利用者の反応に基づいて、当該選択部により選択された分類モデルの強化学習を行う学習部
を有することを特徴とする請求項１〜１０のうちいずれか１つに記載の分類装置。
【請求項１２】
分類装置が実行する分類方法であって、
内容に応じて発話を分類する複数の分類モデルであって、それぞれ学習手法が異なる分類モデルのいずれかを用いて、利用者から受付けた発話を分類する分類工程と、
前記発話に対する応答であって、前記分類工程による分類結果に応じたモデルを用いて生成された応答に対する利用者の反応に基づき、前記分類工程で分類に用いる分類モデルを選択する選択工程と
を含むことを特徴とする分類方法。
【請求項１３】
内容に応じて発話を分類する複数の分類モデルであって、それぞれ学習手法が異なる分類モデルのいずれかを用いて、利用者から受付けた発話を分類する分類手順と、
前記発話に対する応答であって、前記分類手順による分類結果に応じたモデルを用いて生成された応答に対する利用者の反応に基づき、前記分類手順で分類に用いる分類モデルを選択する選択手順と
をコンピュータに実行させるための分類プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分類装置、分類方法および分類プログラムに関する。
【背景技術】
【０００２】
従来、利用者の発話に対して応答を出力する対話技術が知られている。このような対話技術の一例として、利用者の発話が有する概念ベクトルと、応答候補の概念ベクトルとの類似度に応じて、出力する応答を選択する技術が知られている。また、利用者の発話の曖昧性に基づいて、利用者に聞き返しを行う技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−４８４６３号公報
【特許文献２】特開２０１１−５４０８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来技術では、利用者の発話と意味が類似する応答を出力したり、利用者の発話が曖昧である場合に聞き返しを行っているに過ぎないので、発話の意図に応じた応答を出力しているとは言えない場合がある。
【０００５】
例えば、利用者との対話を円滑にするためには、利用者の発話の内容に沿った内容の応答を出力するのが望ましい。このため、利用者の発話の内容に応じて発話の意図を分類し、分類結果に応じた応答を出力するといった処理が考えられる。
【０００６】
一方で、利用者の発話には、天気の問合せやアラームの設定等、特定の意図や目的を伴う発話と、雑談等といった特定の意図や目的を伴わない発話とが存在する。しかしながら、利用者の発話が特定の意図や目的を伴う発話であるか否かといった分類は、困難である。また、従来技術でも、利用者の発話が曖昧である場合に聞き返しを行ったり、利用者の発話と類似する内容の応答を出力するに過ぎず、発話の意図が雑談を目的とするのか否かに応じた応答を出力することができない。
【０００７】
本願は、上記に鑑みてなされたものであって、発話の分類精度を向上させることを目的とする。
【課題を解決するための手段】
【０００８】
本願に係る分類装置は、内容に応じて発話を分類する複数の分類モデルであって、それぞれ学習手法が異なる分類モデルのいずれかを用いて、利用者から受付けた発話を分類する分類部と、前記発話に対する応答であって、前記分類部による分類結果に応じたモデルを用いて生成された応答に対する利用者の反応に基づき、前記分類部が分類に用いる分類モデルを選択する選択部とを有することを特徴とする。
【発明の効果】
【０００９】
実施形態の一態様によれば、発話の分類精度を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施形態に係る情報提供装置が実行する処理の一例を示す図である。
【図２】図２は、実施形態に係る情報提供装置の構成例を示す図である。
【図３】図３は、実施形態に係る推定モデルデータベースに登録される情報の一例を示す図である。
【図４】図４は、実施形態に係るルールデータベースに登録される情報の一例を示す図である。
【図５】図５は、実施形態に係る分類モデルデータベースに登録される情報の一例を示す図である。
【図６】図６は、実施形態に係る情報処理装置が実行する処理の概念を示す図である。
【図７】図７は、実施形態に係る情報提供装置が実行する分類処理の流れの一例を示すフローチャートである。
【図８】図８は、実施形態に係る情報提供装置が実行する強化学習の流れの一例を示すフローチャートである。
【図９】図９は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、本願に係る分類装置、分類方法および分類プログラムを実施するための形態（以下、「実施形態」と記載する。）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る分類装置、分類方法および分類プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略する。
【００１２】
〔１．決定処理について〕
まず、図１を用いて、分類装置の一例となる情報提供装置が実行する分類処理の一例について説明する。図１は、実施形態に係る情報提供装置が実行する処理の一例を示す図である。なお、以下の説明では、情報提供装置１０が実行する処理として、利用者Ｕの発話を分類する分類処理と、発話に対する応答の内容を分類に応じて決定する決定処理と、決定した内容の応答を出力する出力処理との一例について説明する。すなわち、情報提供装置１０は、利用者Ｕとの対話を実現する対話システムである。
【００１３】
〔１−１．情報提供装置の概要〕
情報提供装置１０は、インターネット等の所定のネットワークＮ（例えば、図２を参照。）を介して、利用者端末１００、ログサーバ２００と通信可能な情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。なお、情報提供装置１０は、ネットワークＮを介して、任意の数の利用者端末１００、及びログサーバ２００と通信可能であってよい。
【００１４】
利用者端末１００は、対話システムと対話を行う利用者Ｕが使用する情報処理装置であり、ＰＣ（Personal  Computer）、サーバ装置、スマートデバイスといった情報処理装置により実現される。例えば、利用者端末１００は、利用者Ｕが発話した音声を取得すると、所定の外部サーバ（図示は、省略）に音声データを出力し、利用者Ｕの発話のテキストデータを取得する。そして、利用者端末１００は、テキストデータを発話として情報提供装置１０へと送信する。なお、利用者端末１００は、利用者Ｕが入力した文字列を発話として情報提供装置１０へと送信してもよい。
【００１５】
このような場合、情報提供装置１０は、発話として受信したテキストデータを解析し、内容を推定する。そして、情報提供装置１０は、推定した内容に応じて応答となるテキストを生成し、生成したテキストデータやテキストデータを音声として出力するための音声データを利用者端末１００へと送信する。この結果、利用者端末１００は、各種テキストの読み上げ技術や、受信した音声データを再生することで、利用者Ｕとの対話を実現する。
【００１６】
ログサーバ２００は、各種のログデータを管理する情報処理装置であり、例えば、サーバ装置やクラウドシステムにより実現される。例えば、ログサーバ２００は、利用者Ｕの検索クエリの履歴、利用者ＵがＳＮＳ（Social  Networking  Service）等に投稿した情報、電子商取引を介して利用者Ｕが購入した取引対象の履歴等、各種のログデータを管理する。なお、ログサーバ２００は、ウェブ検索に関連するサービスや、ＳＮＳのサービスを提供するサーバ装置であってもよい。
【００１７】
〔１−２．対話モデルについて〕
ここで、情報提供装置１０は、利用者Ｕとの対話を実現するための対話モデルを用いて、利用者Ｕとの対話を行う。例えば、情報提供装置１０は、内容が天気に関する内容であるか、アラームの設定に関する内容であるか、雑談に関する内容であるかというように、発話の内容が属するドメインを推定し、ドメインごとに生成された対話モデルを用いて、利用者Ｕの発話に対して自然な内容の応答を出力したり、利用者Ｕの発話に応じた処理を出力する技術が知られている。
【００１８】
例えば、情報提供装置１０は、発話の内容を推定し、推定した内容を示す意味表現を生成する言語理解処理を実行する推定モデルをドメインごとに有する。また、情報提供装置１０は、意味表現から利用者Ｕとの会話の状態を特定する状態追跡処理および利用者Ｕとの会話の状態に応じて、応答の内容を決定する応答決定処理を実行する各ドメイン共通の対話管理モデルを有する。そして、情報提供装置１０は、いずれかの推定モデルと対話管理モデルとを組み合わせることで、ドメインごとの対話モデルを実現する。
【００１９】
例えば、情報提供装置１０は、発話＃１がドメイン＃１に属する場合、ドメイン＃１の推定モデル＃１を用いて、発話＃１の意味＃１を推定する。続いて、情報提供装置１０は、推定された意味に基づいて、利用者Ｕとの対話の状態を状態を追跡し、各ドメイン共通で所定のルールに基づき、利用者Ｕとの対話の状態に応じた内容の応答を利用者Ｕに対して提供する。
【００２０】
例えば、情報提供装置１０は、発話＃１がアラームの設定と設定時刻とを示す場合は、発話＃１が示す設定時刻にアラームを設定し、設定を行った旨の応答を出力する。また、例えば、情報提供装置１０は、発話＃１が天気予報の問い合わせである場合は、外部サーバから天気予報を収集し、収集した天気予報の内容を応答として出力する。これら以外にも、情報提供装置１０は、利用者Ｕの発話内容に応じた処理を実行し、実行結果を応答として出力する。
【００２１】
ここで、情報提供装置１０は、利用者Ｕとの対話を通して、発話の意味を推定する推定モデルをＱ学習やバンディッドアルゴリズム等といった強化学習により学習する。例えば、情報提供装置１０は、利用者端末１００から、応答＃１に続く発話＃２を受付ける。このような発話＃２の内容は、利用者Ｕが応答＃１の内容に満足しているか否か、発話＃１の内容を誤って解釈していたか否か等、発話の内容の意味が適切に推定されたか否かの判断の指標となりうる。そこで、情報提供装置１０は、発話＃２の内容と、前回発話＃１から推定した意味＃１とに基づいて、前回の応答作成時に用いた推定モデル＃１の強化学習を実行する。すなわち、情報提供装置１０は、推定モデルを用いて推定した意味と、その意味に応じて決定した内容の応答に対する利用者Ｕの反応とに基づいて、推定モデルの強化学習を行う。
【００２２】
例えば、情報提供装置１０は、発話＃１を強化学習におけるコントローラの状態観測の結果とし、意味＃１をコントローラの行動とし、発話＃２に基づく報酬をコントローラに対して設定する。より具体的な例を挙げると、情報提供装置１０は、発話＃２が発話＃１と同様の内容であったり、応答＃１が誤っている旨の内容等が含まれる場合は、負の報酬を設定し、発話＃２が発話＃１とは異なる内容であったり、応答＃１が正しい旨の内容等が含まれる場合は、正の報酬を設定する。そして、情報提供装置１０は、推定モデル＃１の強化学習を行うことで、発話から意味を推定する精度を向上させる。
【００２３】
なお、情報提供装置１０は、強化学習により学習が進むモデルであって、発話のテキストデータから発話の内容の意味を推定するように学習が行われるモデルであれば、任意の種別のモデルを推定モデルとして採用してよい。また、情報提供装置１０は、ドメインごとに異なる種別のモデルを採用してもよい。このような推定モデルは、例えば、ＳＶＭ（Support  Vector  Machine）やＤＮＮ（Deep  Neural  Network）等、任意の学習器又は分類器等のモデルにより実現される。
【００２４】
また、上述した構成以外にも、利用者Ｕとの対話を実現することができるのであれば、情報提供装置１０は、任意の構成および学習が行われた対話モデルを採用してもよい。例えば、情報提供装置１０は、教師あり学習が行われた推定モデルと、強化学習が行われる対話管理モデルとからなる対話モデルをドメインごとに有し、発話が属するドメインに応じた対話モデルを用いて、利用者Ｕとの対話を行ってもよい。
【００２５】
〔１−３．決定処理について〕
ここで、特定の意図や目的を伴う発話（以下、「非雑談を意図した発話」と記載する。）のみならず、利用者Ｕとの雑談を実現する対話システムが考えられる。例えば、利用者Ｕの発話が雑談を意図したものであるか、天気の問合せ、アラームの設定、ウェブ検索、メールの読み上げ等といった非雑談を意図した発話であるかといった、利用者Ｕの発話が属するドメインを判定し、判定結果に応じた対話モデルを用いて、応答を行うといった処理が考えられる。
【００２６】
しかしながら、利用者Ｕの発話内容から、雑談を意図した発話であるか、非雑談を意図した発話であるかを判定するのは、困難である。例えば、「おなかがへった」といった発話が入力された場合、利用者Ｕが雑談を求めているのか、飲食店の検索を求めているのかの分類が困難である。また、利用者Ｕの発話が曖昧である場合に、聞き返しを行った場合、利用者Ｕとの対話を円滑に進めることができないと考えられる。このため、利用者Ｕとの対話を円滑にすすめるためには、利用者Ｕの発話の意図が雑談であるか非雑談であるかを判定し、判定結果に応じた対話モデルを用いて、応答を出力するのが望ましい。
【００２７】
そこで、情報提供装置１０は、以下の分類処理を実行する。まず、情報提供装置１０は、内容に応じて発話を分類する複数の分類モデルであって、それぞれ学習手法が異なる分類モデルのいずれかを用いて、利用者Ｕから受付けた発話を分類する。このような処理において、情報提供装置１０は、発話に対する応答であって、分類結果に応じた対話モデルを用いて生成された応答に対する利用者Ｕの反応に基づき、分類に用いる分類モデルを選択する。
【００２８】
より具体的には、情報提供装置１０は、利用者Ｕの発話＃１を分類し、分類結果に応じた対話モデル、すなわち、雑談を含む各種ドメインに応じた対話モデルを用いて、利用者Ｕに対する応答＃１を生成する。例えば、情報提供装置１０は、所定の分類モデルを用いて、利用者Ｕから受付けた発話＃１を雑談に関する発話、または、雑談以外の所定の事象に関する発話のいずれかに分類する。そして、情報提供装置１０は、分類したドメインに対応する対話モデルを用いて、発話＃１に対する応答＃１を生成し、生成した応答＃１を利用者Ｕに提供する。
【００２９】
続いて、情報提供装置１０は、応答＃１に対する利用者Ｕの発話＃２を用いて、応答＃１に対する利用者Ｕの反応を特定する。例えば、情報提供装置１０は、発話＃２の内容に基づいて、利用者Ｕが応答＃１に満足しているか否か、応答＃１に対する同意や好意的な内容を示しているか否かを判定する。
【００３０】
そして、情報提供装置１０は、判定結果に基づいて、応答＃１が発話＃１への応答としてどれくらい正しかったかを示す確度、すなわち、確度を推定する。例えば、情報提供装置１０は、利用者Ｕが応答＃１に対して満足していると推定される場合は、より「１」に近い値の確度を算出し、利用者Ｕが応答＃１に対して満足していないと推定される場合は、より「−１」に近い値の確度を算出する。
【００３１】
そして、情報提供装置１０は、算出した確度の値に応じて、発話の分類に用いる分部類モデルを選択する。例えば、情報提供装置１０は、確度が所定の閾値を超える場合は、教師あり学習により学習が行われた分類モデルを選択し、選択した分類モデルを用いて、発話の分類を行う。一方、情報提供装置１０は、確度が所定の閾値を下回る場合は、強化学習等といった対話を通じて学習が行われる分類モデルを選択し、選択した分類モデルを用いて、発話の分類を行うとともに、利用者Ｕとの対話を通して、分類モデルの強化学習を行う。例えば、情報提供装置１０は、選択された分類モデルを用いて分類した結果に基づいて生成された応答に対する利用者Ｕの反応に基づいて、選択された分類モデルの強化学習を行う。
【００３２】
なお、以下の説明では、情報提供装置１０は、利用者Ｕとの対話を通じた強化学習を用いて分類モデルの学習を行う処理について記載するが、実施形態は、これに限定されるものではない。情報提供装置１０は、利用者Ｕとの対話を通じて行われる学習であれば、任意の学習手法を用いて、分類モデルの学習を行ってよい。
【００３３】
〔１−４．決定処理の一例について〕
続いて、図１を用いて、情報提供装置１０が実行する処理の一例について説明する。まず、情報提供装置１０は、利用者端末１００から発話＃１を受付ける（ステップＳ１）。このような場合、情報提供装置１０は、所定の分類モデル（例えば、教師あり学習を行った分類モデル）を用いて、発話の分類を行い、分類結果に応じた対話モデルを用いて生成した応答＃１を出力する（ステップＳ２）。
【００３４】
ここで、情報提供装置１０は、応答＃１に対する利用者Ｕの発話＃２を受付ける（ステップＳ３）。このような場合、情報提供装置１０は、応答＃１に対する発話＃２から、応答＃１の確度を示す確度を推定する（ステップＳ４）。例えば、情報提供装置１０は、発話＃２に好意的な発言の文字列（例えば、「いいね」や「そうそう」等。）が含まれている場合は、より高い値の確度＃１を推定し、発話＃２に批判的な発言の文字列が含まれている場合は、より低い値の確度＃１を推定する。なお、例えば、情報提供装置１０は、発話＃２に好意的な発言の文字列が含まれていなくとも、「そうじゃなくて」等といった批判的な発言の文字列が含まれない場合には、応答＃１が正しかったものとして、確度の推定を行ってもよい。
【００３５】
なお、情報提供装置１０は、推定モデルを用いた確度の算出推定を行ってもよい。例えば、情報提供装置１０は、発話＃２を所定の分類モデルでいずれかのドメインに分類し、分類したドメインに対応する推定モデルを用いて、発話＃２の内容の意味を推定する。そして、情報提供装置１０は、推定された意味が好意的な意味であるか批判的な意味であるかに応じて、確度の推定を行ってもよい。また、情報提供装置１０は、発言が好意的であるか否かをあらかじめ学習した判定モデルを用いて、発言が好意的であるか否かを判定し、判定結果に応じて確度の推定を行ってもよい。
【００３６】
そして、情報提供装置１０は、推定した確度に応じて、教師あり学習を用いた分類モデル、若しくは、強化学習を用いる分類モデルを選択する（ステップＳ５）。例えば、情報提供装置１０は、「−１」から「１」の範囲の確度を算出する。このような場合、情報提供装置１０は、確度の値が「０．３」以上である場合は、教師あり学習が行われた分類モデルを選択し、確度の値が「−０．３」以下である場合は、強化学習を行う分類モデルを選択する。なお、情報提供装置１０は、確度の値が「０．３」未満であり、「−０．３」を超える場合は、後述するように、利用者Ｕへの問い合わせを行う。
【００３７】
また、情報提供装置１０は、選択した分類モデルを用いて、発話＃２を対応するドメインに分類する（ステップＳ６）。例えば、情報提供装置１０は、発話＃２を「雑談」、「アラーム」、「天気」、「ＥＣ（Electronic  Commerce）」といったドメインのうち、ドメイン「天気」に分類する。
【００３８】
そして、情報提供装置１０は、分類結果に対応するドメインの応答を生成する対話モデルを用いて、発話に対する応答を生成する（ステップＳ７）。例えば、情報提供装置１０は、分類モデルにより発話＃２がドメイン「天気」に分類された場合は、ドメイン「天気」に対応する対話モデル（すなわち、ドメイン「天気」に対応する推定モデルと、ドメイン共通の対話管理モデルとの組合せ）を用いて、発話＃２の意味の内容を推定する言語解析処理、利用者Ｕとの会話の状態を追跡する状態追跡処理、状態に応じて応答の内容を決定する応答決定処理を実行し、発話＃２に対応する応答＃２を生成する。そして、情報提供装置１０は、生成した応答＃２を出力する（ステップＳ８）。
【００３９】
ここで、情報提供装置１０は、応答＃２に対する利用者Ｕの発話＃３を受付ける（ステップＳ９）。このような場合、情報提供装置１０は、発話＃３と応答＃２とに基づいて応答＃２の確度を推定し、推定した確度に応じた分類モデルを選択し、選択した分類モデルを用いて発話＃３をいずれかのドメインに分類し、分類したドメインに対応する対話モデルを用いた応答＃４の生成を行う（ステップＳ４〜ステップＳ７）。さらに、情報提供装置１０は、応答＃２を出力する際に選択された分類モデルが強化学習を行う分類モデルであった場合、発話＃３の内容と前回の分類結果（すなわち、発話＃２の分類結果）とに基づいて、分類モデルの強化学習を行う（ステップＳ１０）。
【００４０】
例えば、情報提供装置１０は、発話＃２を強化学習におけるコントローラの状態観測の結果とし、発話＃２の分類結果（例えば、ドメイン「天気」）をコントローラの行動とし、発話＃３に基づく報酬をコントローラに対して設定する。より具体的な例を挙げると、情報提供装置１０は、発話＃３が発話＃２と同様の内容であったり、応答＃２が誤っている旨の内容等が含まれる場合は、負の報酬を設定し、発話＃３が発話＃２とは異なる内容であったり、応答＃２が正しい旨の内容等が含まれる場合は、正の報酬を設定する。そして、情報提供装置１０は、分類モデルの強化学習を行うことで、発話の分類精度を向上させる。
【００４１】
このように、情報提供装置１０は、利用者Ｕとの対話において、発話の分類精度がある程度保持されるような場合は、教師あり学習により学習が行われた分類モデルを用いて、発話の分類を行う。一方、情報提供装置１０は、利用者Ｕとの対話において、発話の分類精度が低下した場合等は、強化学習を行う分類モデルを用いて、利用者Ｕの発話をインタラクティブに学習しながら分類する。
【００４２】
ここで、強化学習には、教師あり学習と比較して、比較的少ない学習データである程度の精度を発揮することができるという特徴がある。このため、情報提供装置１０は、発話の分類精度が低下した結果、利用者Ｕとの対話が円滑に進まなくなるような場合は、対話を介して分類モデルの強化学習を行うことで、発話の意図を質問するといったユーザビリティを損なう応答を出力せずとも、発話の分類精度を徐々に向上させることができる。
【００４３】
〔１−５．聞き返しについて〕
ここで、応答の確度が中央値に近い場合、応答の分類精度が良かったのか悪かったのかを正しく選択に反映させることが難しいとも考えられる。情報提供装置１０は、確度が所定の範囲内に収まる場合は、利用者Ｕに対して発話の意図を問い合わせてもよい。例えば、情報提供装置１０は、確度の値が「０．３」未満であり、「−０．３」を超える場合は、利用者Ｕへの問い合わせを行う。
【００４４】
例えば、情報提供装置１０は、応答＃１の確度が所定の範囲内に収まる場合には、推定モデルを用いて発話＃１から推定した意味が合っているか否かを問い合わせる応答を利用者Ｕに出力してもよい。また、例えば、情報提供装置１０は、「すみません。もう一度入力してください。」等といった所定の定型文を応答として出力してもよい。また、このような問合せの結果、利用者Ｕから得られる発話の内容に基づいて、分類モデルの強化学習を行ってもよい。
【００４５】
〔１−６．分類のバリエーションについて〕
例えば、情報提供装置１０は、分類モデルとして、発話と各ドメインの関係性を示すスコアを算出するモデルを用いてもよい。このような場合、例えば、情報提供装置１０は、算出されたスコアが最も高いドメインを分類先としてもよい。また、例えば、情報提供装置１０は、算出されたスコアが所定の閾値を超える複数のドメインを分類先としてもよい。このような場合、情報提供装置１０は、分類先となる複数のドメインに対応する推定モデルを用いて、発話の内容の意味を推定し、推定結果の中から最も多くの推定モデルが共通して推定した意味を用いて、応答の生成を行ってもよい。
【００４６】
また、情報提供装置１０は、発話の内容の意味と、発話の内容がその意味を有すると推定される確度とを出力する推定モデルを用いて、各推定モデルが出力する確度に応じたドメインの選択を行ってもよい。例えば、情報提供装置１０は、分類モデルとして、以下の処理を行うモデルを採用してもよい。まず、分類モデルは、全てのドメインにそれぞれ個別の選択パラメータを設定する。そして、分類モデルは、全てのドメインの推定モデルを用いて、発話の意味と確度とを取得し、取得した確度と選択パラメータとを用いて、正しい意味を推定する確率が最も高いドメインを選択する。そして、情報提供装置１０は、選択したドメインの推定モデルが推定した発話の意味を用いて、応答の生成を行う。このような場合、情報提供装置１０は、応答に対する利用者Ｕの発話に基づき、分類モデルが各ドメインに対して設定した選択パラメータの値を調整することで、分類モデルの学習を行ってもよい。
【００４７】
ここで、情報提供装置１０は、発話の内容のみならず、任意の情報を加味して発話の分類を行ってもよい。例えば、情報提供装置１０は、利用者Ｕによる所定のサービスの利用履歴、または、利用者Ｕの属性の少なくともいずれか一方に基づいて、利用者Ｕから受付けた発話が所定の事象（すなわち、ドメイン）に関する度合を推定し、推定した度合と分類モデルを用いた分類結果とに基づいて、発話を分類してもよい。
【００４８】
例えば、情報提供装置１０は、利用者Ｕの検索クエリの履歴、電子商取引の履歴、ウェブコンテンツの閲覧履歴等、利用者Ｕに対して提供される各種サービスの利用履歴を収集する。そして、情報提供装置１０は、各ドメインに対し、各ドメインに対応する種別のサービスを利用者Ｕが利用した頻度や時期に応じたスコアを付与する。また、情報提供装置１０は、分類モデルを用いて、発話と各ドメインの関連性を示すスコアを算出する。そして、情報提供装置１０は、サービスの利用履歴に基づくスコアと、分類モデルにより算出されたスコアとを統合的に用いて、発話の分類先となるドメインを選択してもよい。
【００４９】
また、情報提供装置１０は、発話の表現に応じた選択を行ってもよい。例えば、情報提供装置１０は、利用者Ｕから受付けた発話の表現に基づいて、発話が雑談に関する度合または発話が所定の事象に関する度合を推定し、推定した度合と分類モデルを用いた分類結果とに基づいて、発話を分類してもよい。例えば、情報提供装置１０は、利用者Ｕから受付けた発話の表現が、利用者Ｕにより投稿された投稿情報の表現と類似する場合は、発話が雑談に関する度合を上昇させ、利用者Ｕから受付けた発話の表現か、検索クエリの表現と類似する場合は、発話が所定の事象に関する度合を上昇させてもよい。
【００５０】
例えば、図１に示すように、情報提供装置１０は、利用者Ｕから発話＃２を受付けた場合は、ログサーバ２００から利用者Ｕの検索クエリの履歴や投稿情報を取得する（ステップＳ１１）。そして、情報提供装置１０は、各カテゴリを選択するためのパラメータを調整する（ステップＳ１２）。
【００５１】
例えば、ブログやＳＮＳに投稿された情報、利用者Ｕの質問に対して他の利用者が回答を投稿するサービスにおけるコメント等、インターネット上に投稿された情報は、雑談に近い表現であると考えられる。そこで、情報提供装置１０は、利用者Ｕの発話の表現が、各種投稿情報の表現と類似する場合は、ドメイン「雑談」が選択されやすくなるように、分類モデルの学習や、各ドメインを選択するパラメータの調整を行ってもよい。
【００５２】
一方、検索クエリ等は、明確な目的が含まれるため、非雑談に近い表現であると考えられる。このため、情報提供装置１０は、利用者Ｕの発話の表現が、検索クエリの表現と類似する場合は、ドメイン「雑談」以外のドメインが選択されやすくなるように、分類モデルの学習や、各ドメインを選択するパラメータの調整を行ってもよい。
【００５３】
〔１−７．雑談と非雑談との組合せ〕
ここで、情報提供装置１０は、発話が雑談であるか非雑談であるかを明確に区分できない場合は、雑談と非雑談との組合せを応答として出力してもよい。すなわち、情報提供装置１０は、発話が雑談に関する度合および発話が所定の事象に関する度合が所定の条件を満たす場合は、発話を雑談のドメインおよび非雑談のドメインの両方に分類し、分類した各ドメインの対話モデルを用いて生成した応答を組み合わせて出力してもよい。例えば、情報提供装置１０は、発話がドメイン「雑談」である確度と、ドメイン「天気」である確度とが同程度になる場合は、ドメイン「雑談」の対話モデルで生成した応答と、ドメイン「天気」の対話モデルで生成した応答とを組み合わせて出力してもよい。より具体的な例を挙げると、情報提供装置１０は、「明日の天気は雨です。」といった非雑談の応答を出力するとともに、「晴れるといいねー」などといった雑談の応答を出力してもよい。
【００５４】
〔１−８．利用者の属性に応じた処理〕
また、情報提供装置１０は、推定モデルとして、利用者Ｕの属性に応じて発話の意味を推定する推定モデルを用いて、発話の意味を推定してもよい。例えば、情報提供装置１０は、利用者Ｕのデモグラフィック属性、サイコグラフィック属性、各種のペルソナ、過去の会話履歴等を利用者Ｕの属性として取得し、推定モデルの強化学習の際に、強化学習におけるコントローラの状態観測の結果として、発話と利用者Ｕの属性とを採用する。そして、情報提供装置１０は、例えば、発話＃２から意味＃２を推定する際に、属性モデルに発話＃２と利用者Ｕの属性とを入力することで、利用者Ｕの属性に応じた意味の推定を実現してもよい。
【００５５】
また、情報提供装置１０は、利用者Ｕの属性に応じて、発話の分類を行う分類モデルを用いてもよい。例えば、情報提供装置１０は、推定モデルの学習と同様に、利用者Ｕの属性と、応答の確度とに基づいて、分類モデルの強化学習を行ってもよい。
【００５６】
〔１−９．強化学習について〕
ここで、情報提供装置１０は、分類モデルと推定モデルとを同時に強化学習してもよい。例えば、情報提供装置１０は、発話＃１を分類モデルでドメイン＃１に分類し、ドメイン＃１の推定モデル＃１を用いて発話＃１の意味＃１を推定し、意味＃１に基づいて応答＃１を生成する。そして、情報提供装置１０は、応答＃１に対する発話＃２を得た場合は、発話＃２が好意的であるか否か等に基づいて、分類モデルと推定モデル＃１とを同時に強化学習してもよい。例えば、情報提供装置１０は、発話＃２が好意的である場合は、発話＃１が入力された際に分類モデルが推定モデル＃１を選択し、推定モデル＃１が意味＃１を推定するように、分類モデルと推定モデル＃１とを１つのモデルと見做して、強化学習を行ってもよい。
【００５７】
〔２．情報提供装置の構成〕
以下、上記した情報提供装置１０が有する機能構成の一例について説明する。図２は、実施形態に係る情報提供装置の構成例を示す図である。図２に示すように、情報提供装置１０は、通信部２０、記憶部３０、および制御部４０を有する。
【００５８】
通信部２０は、例えば、ＮＩＣ（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）」は、「手段」や「回路」などに読み替えることができる。例えば、分類部は、分類手段や分類回路に読み替えることができる。
【符号の説明】
【０１１５】
１０  情報提供装置
２０  通信部
３０  記憶部
３１  推定モデルデータベース
３２  ルールデータベース
３３  分類モデルデータベース
４０  制御部
４１  選択部
４２  分類部
４３  推定部
４４  決定部
４５  生成部
４６  出力部
４７  学習部
１００  利用者端末
２００  ログサーバ
【図１】
2018151786.tif 000003
【図２】
2018151786.tif 000004
【図３】
2018151786.tif 000005
【図４】
2018151786.tif 000006
【図５】
2018151786.tif 000007
【図６】
2018151786.tif 000008
【図７】
2018151786.tif 000009
【図８】
2018151786.tif 000010
【図９】
2018151786.tif 000011