JP6224857B1 - 分類装置、分類方法および分類プログラム - Google Patents

分類装置、分類方法および分類プログラム Download PDF

Info

Publication number
JP6224857B1
JP6224857B1 JP2017046629A JP2017046629A JP6224857B1 JP 6224857 B1 JP6224857 B1 JP 6224857B1 JP 2017046629 A JP2017046629 A JP 2017046629A JP 2017046629 A JP2017046629 A JP 2017046629A JP 6224857 B1 JP6224857 B1 JP 6224857B1
Authority
JP
Japan
Prior art keywords
classification
utterance
user
response
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017046629A
Other languages
English (en)
Other versions
JP2018151786A (ja
Inventor
伸裕 鍜治
伸裕 鍜治
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yahoo Japan Corp
Original Assignee
Yahoo Japan Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yahoo Japan Corp filed Critical Yahoo Japan Corp
Priority to JP2017046629A priority Critical patent/JP6224857B1/ja
Application granted granted Critical
Publication of JP6224857B1 publication Critical patent/JP6224857B1/ja
Publication of JP2018151786A publication Critical patent/JP2018151786A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】発話の分類精度を向上させる。【解決手段】本願に係る分類装置は、内容に応じて発話を分類する複数の分類モデルであって、それぞれ学習手法が異なる分類モデルのいずれかを用いて、利用者から受付けた発話を分類する分類部と、前記発話に対する応答であって、前記分類部による分類結果に応じたモデルを用いて生成された応答に対する利用者の反応に基づき、前記分類部が分類に用いる分類モデルを選択する選択部とを有することを特徴とする。【選択図】図1

Description

本発明は、分類装置、分類方法および分類プログラムに関する。
従来、利用者の発話に対して応答を出力する対話技術が知られている。このような対話技術の一例として、利用者の発話が有する概念ベクトルと、応答候補の概念ベクトルとの類似度に応じて、出力する応答を選択する技術が知られている。また、利用者の発話の曖昧性に基づいて、利用者に聞き返しを行う技術が知られている。
特開2016−48463号公報 特開2011−54088号公報
しかしながら、上述した従来技術では、利用者の発話と意味が類似する応答を出力したり、利用者の発話が曖昧である場合に聞き返しを行っているに過ぎないので、発話の意図に応じた応答を出力しているとは言えない場合がある。
例えば、利用者との対話を円滑にするためには、利用者の発話の内容に沿った内容の応答を出力するのが望ましい。このため、利用者の発話の内容に応じて発話の意図を分類し、分類結果に応じた応答を出力するといった処理が考えられる。
一方で、利用者の発話には、天気の問合せやアラームの設定等、特定の意図や目的を伴う発話と、雑談等といった特定の意図や目的を伴わない発話とが存在する。しかしながら、利用者の発話が特定の意図や目的を伴う発話であるか否かといった分類は、困難である。また、従来技術でも、利用者の発話が曖昧である場合に聞き返しを行ったり、利用者の発話と類似する内容の応答を出力するに過ぎず、発話の意図が雑談を目的とするのか否かに応じた応答を出力することができない。
本願は、上記に鑑みてなされたものであって、発話の分類精度を向上させることを目的とする。
本願に係る分類装置は、内容に応じて発話を分類する複数の分類モデルであって、それぞれ学習手法が異なる分類モデルのいずれかを用いて、利用者から受付けた発話を分類する分類部と、前記発話に対する応答であって、前記分類部による分類結果に応じたモデルを用いて生成された応答に対する利用者の反応に基づき、前記分類部が分類に用いる分類モデルを選択する選択部とを有することを特徴とする。
実施形態の一態様によれば、発話の分類精度を向上させることができる。
図1は、実施形態に係る情報提供装置が実行する処理の一例を示す図である。 図2は、実施形態に係る情報提供装置の構成例を示す図である。 図3は、実施形態に係る推定モデルデータベースに登録される情報の一例を示す図である。 図4は、実施形態に係るルールデータベースに登録される情報の一例を示す図である。 図5は、実施形態に係る分類モデルデータベースに登録される情報の一例を示す図である。 図6は、実施形態に係る情報処理装置が実行する処理の概念を示す図である。 図7は、実施形態に係る情報提供装置が実行する分類処理の流れの一例を示すフローチャートである。 図8は、実施形態に係る情報提供装置が実行する強化学習の流れの一例を示すフローチャートである。 図9は、ハードウェア構成の一例を示す図である。
以下に、本願に係る分類装置、分類方法および分類プログラムを実施するための形態(以下、「実施形態」と記載する。)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る分類装置、分類方法および分類プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略する。
〔1.決定処理について〕
まず、図1を用いて、分類装置の一例となる情報提供装置が実行する分類処理の一例について説明する。図1は、実施形態に係る情報提供装置が実行する処理の一例を示す図である。なお、以下の説明では、情報提供装置10が実行する処理として、利用者Uの発話を分類する分類処理と、発話に対する応答の内容を分類に応じて決定する決定処理と、決定した内容の応答を出力する出力処理との一例について説明する。すなわち、情報提供装置10は、利用者Uとの対話を実現する対話システムである。
〔1−1.情報提供装置の概要〕
情報提供装置10は、インターネット等の所定のネットワークN(例えば、図2を参照。)を介して、利用者端末100、ログサーバ200と通信可能な情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。なお、情報提供装置10は、ネットワークNを介して、任意の数の利用者端末100、及びログサーバ200と通信可能であってよい。
利用者端末100は、対話システムと対話を行う利用者Uが使用する情報処理装置であり、PC(Personal Computer)、サーバ装置、スマートデバイスといった情報処理装置により実現される。例えば、利用者端末100は、利用者Uが発話した音声を取得すると、所定の外部サーバ(図示は、省略)に音声データを出力し、利用者Uの発話のテキストデータを取得する。そして、利用者端末100は、テキストデータを発話として情報提供装置10へと送信する。なお、利用者端末100は、利用者Uが入力した文字列を発話として情報提供装置10へと送信してもよい。
このような場合、情報提供装置10は、発話として受信したテキストデータを解析し、内容を推定する。そして、情報提供装置10は、推定した内容に応じて応答となるテキストを生成し、生成したテキストデータやテキストデータを音声として出力するための音声データを利用者端末100へと送信する。この結果、利用者端末100は、各種テキストの読み上げ技術や、受信した音声データを再生することで、利用者Uとの対話を実現する。
ログサーバ200は、各種のログデータを管理する情報処理装置であり、例えば、サーバ装置やクラウドシステムにより実現される。例えば、ログサーバ200は、利用者Uの検索クエリの履歴、利用者UがSNS(Social Networking Service)等に投稿した情報、電子商取引を介して利用者Uが購入した取引対象の履歴等、各種のログデータを管理する。なお、ログサーバ200は、ウェブ検索に関連するサービスや、SNSのサービスを提供するサーバ装置であってもよい。
〔1−2.対話モデルについて〕
ここで、情報提供装置10は、利用者Uとの対話を実現するための対話モデルを用いて、利用者Uとの対話を行う。例えば、情報提供装置10は、内容が天気に関する内容であるか、アラームの設定に関する内容であるか、雑談に関する内容であるかというように、発話の内容が属するドメインを推定し、ドメインごとに生成された対話モデルを用いて、利用者Uの発話に対して自然な内容の応答を出力したり、利用者Uの発話に応じた処理を出力する技術が知られている。
例えば、情報提供装置10は、発話の内容を推定し、推定した内容を示す意味表現を生成する言語理解処理を実行する推定モデルをドメインごとに有する。また、情報提供装置10は、意味表現から利用者Uとの会話の状態を特定する状態追跡処理および利用者Uとの会話の状態に応じて、応答の内容を決定する応答決定処理を実行する各ドメイン共通の対話管理モデルを有する。そして、情報提供装置10は、いずれかの推定モデルと対話管理モデルとを組み合わせることで、ドメインごとの対話モデルを実現する。
例えば、情報提供装置10は、発話#1がドメイン#1に属する場合、ドメイン#1の推定モデル#1を用いて、発話#1の意味#1を推定する。続いて、情報提供装置10は、推定された意味に基づいて、利用者Uとの対話の状態を状態を追跡し、各ドメイン共通で所定のルールに基づき、利用者Uとの対話の状態に応じた内容の応答を利用者Uに対して提供する。
例えば、情報提供装置10は、発話#1がアラームの設定と設定時刻とを示す場合は、発話#1が示す設定時刻にアラームを設定し、設定を行った旨の応答を出力する。また、例えば、情報提供装置10は、発話#1が天気予報の問い合わせである場合は、外部サーバから天気予報を収集し、収集した天気予報の内容を応答として出力する。これら以外にも、情報提供装置10は、利用者Uの発話内容に応じた処理を実行し、実行結果を応答として出力する。
ここで、情報提供装置10は、利用者Uとの対話を通して、発話の意味を推定する推定モデルをQ学習やバンディッドアルゴリズム等といった強化学習により学習する。例えば、情報提供装置10は、利用者端末100から、応答#1に続く発話#2を受付ける。このような発話#2の内容は、利用者Uが応答#1の内容に満足しているか否か、発話#1の内容を誤って解釈していたか否か等、発話の内容の意味が適切に推定されたか否かの判断の指標となりうる。そこで、情報提供装置10は、発話#2の内容と、前回発話#1から推定した意味#1とに基づいて、前回の応答作成時に用いた推定モデル#1の強化学習を実行する。すなわち、情報提供装置10は、推定モデルを用いて推定した意味と、その意味に応じて決定した内容の応答に対する利用者Uの反応とに基づいて、推定モデルの強化学習を行う。
例えば、情報提供装置10は、発話#1を強化学習におけるコントローラの状態観測の結果とし、意味#1をコントローラの行動とし、発話#2に基づく報酬をコントローラに対して設定する。より具体的な例を挙げると、情報提供装置10は、発話#2が発話#1と同様の内容であったり、応答#1が誤っている旨の内容等が含まれる場合は、負の報酬を設定し、発話#2が発話#1とは異なる内容であったり、応答#1が正しい旨の内容等が含まれる場合は、正の報酬を設定する。そして、情報提供装置10は、推定モデル#1の強化学習を行うことで、発話から意味を推定する精度を向上させる。
なお、情報提供装置10は、強化学習により学習が進むモデルであって、発話のテキストデータから発話の内容の意味を推定するように学習が行われるモデルであれば、任意の種別のモデルを推定モデルとして採用してよい。また、情報提供装置10は、ドメインごとに異なる種別のモデルを採用してもよい。このような推定モデルは、例えば、SVM(Support Vector Machine)やDNN(Deep Neural Network)等、任意の学習器又は分類器等のモデルにより実現される。
また、上述した構成以外にも、利用者Uとの対話を実現することができるのであれば、情報提供装置10は、任意の構成および学習が行われた対話モデルを採用してもよい。例えば、情報提供装置10は、教師あり学習が行われた推定モデルと、強化学習が行われる対話管理モデルとからなる対話モデルをドメインごとに有し、発話が属するドメインに応じた対話モデルを用いて、利用者Uとの対話を行ってもよい。
〔1−3.決定処理について〕
ここで、特定の意図や目的を伴う発話(以下、「非雑談を意図した発話」と記載する。)のみならず、利用者Uとの雑談を実現する対話システムが考えられる。例えば、利用者Uの発話が雑談を意図したものであるか、天気の問合せ、アラームの設定、ウェブ検索、メールの読み上げ等といった非雑談を意図した発話であるかといった、利用者Uの発話が属するドメインを判定し、判定結果に応じた対話モデルを用いて、応答を行うといった処理が考えられる。
しかしながら、利用者Uの発話内容から、雑談を意図した発話であるか、非雑談を意図した発話であるかを判定するのは、困難である。例えば、「おなかがへった」といった発話が入力された場合、利用者Uが雑談を求めているのか、飲食店の検索を求めているのかの分類が困難である。また、利用者Uの発話が曖昧である場合に、聞き返しを行った場合、利用者Uとの対話を円滑に進めることができないと考えられる。このため、利用者Uとの対話を円滑にすすめるためには、利用者Uの発話の意図が雑談であるか非雑談であるかを判定し、判定結果に応じた対話モデルを用いて、応答を出力するのが望ましい。
そこで、情報提供装置10は、以下の分類処理を実行する。まず、情報提供装置10は、内容に応じて発話を分類する複数の分類モデルであって、それぞれ学習手法が異なる分類モデルのいずれかを用いて、利用者Uから受付けた発話を分類する。このような処理において、情報提供装置10は、発話に対する応答であって、分類結果に応じた対話モデルを用いて生成された応答に対する利用者Uの反応に基づき、分類に用いる分類モデルを選択する。
より具体的には、情報提供装置10は、利用者Uの発話#1を分類し、分類結果に応じた対話モデル、すなわち、雑談を含む各種ドメインに応じた対話モデルを用いて、利用者Uに対する応答#1を生成する。例えば、情報提供装置10は、所定の分類モデルを用いて、利用者Uから受付けた発話#1を雑談に関する発話、または、雑談以外の所定の事象に関する発話のいずれかに分類する。そして、情報提供装置10は、分類したドメインに対応する対話モデルを用いて、発話#1に対する応答#1を生成し、生成した応答#1を利用者Uに提供する。
続いて、情報提供装置10は、応答#1に対する利用者Uの発話#2を用いて、応答#1に対する利用者Uの反応を特定する。例えば、情報提供装置10は、発話#2の内容に基づいて、利用者Uが応答#1に満足しているか否か、応答#1に対する同意や好意的な内容を示しているか否かを判定する。
そして、情報提供装置10は、判定結果に基づいて、応答#1が発話#1への応答としてどれくらい正しかったかを示す確度、すなわち、確度を推定する。例えば、情報提供装置10は、利用者Uが応答#1に対して満足していると推定される場合は、より「1」に近い値の確度を算出し、利用者Uが応答#1に対して満足していないと推定される場合は、より「−1」に近い値の確度を算出する。
そして、情報提供装置10は、算出した確度の値に応じて、発話の分類に用いる分部類モデルを選択する。例えば、情報提供装置10は、確度が所定の閾値を超える場合は、教師あり学習により学習が行われた分類モデルを選択し、選択した分類モデルを用いて、発話の分類を行う。一方、情報提供装置10は、確度が所定の閾値を下回る場合は、強化学習等といった対話を通じて学習が行われる分類モデルを選択し、選択した分類モデルを用いて、発話の分類を行うとともに、利用者Uとの対話を通して、分類モデルの強化学習を行う。例えば、情報提供装置10は、選択された分類モデルを用いて分類した結果に基づいて生成された応答に対する利用者Uの反応に基づいて、選択された分類モデルの強化学習を行う。
なお、以下の説明では、情報提供装置10は、利用者Uとの対話を通じた強化学習を用いて分類モデルの学習を行う処理について記載するが、実施形態は、これに限定されるものではない。情報提供装置10は、利用者Uとの対話を通じて行われる学習であれば、任意の学習手法を用いて、分類モデルの学習を行ってよい。
〔1−4.決定処理の一例について〕
続いて、図1を用いて、情報提供装置10が実行する処理の一例について説明する。まず、情報提供装置10は、利用者端末100から発話#1を受付ける(ステップS1)。このような場合、情報提供装置10は、所定の分類モデル(例えば、教師あり学習を行った分類モデル)を用いて、発話の分類を行い、分類結果に応じた対話モデルを用いて生成した応答#1を出力する(ステップS2)。
ここで、情報提供装置10は、応答#1に対する利用者Uの発話#2を受付ける(ステップS3)。このような場合、情報提供装置10は、応答#1に対する発話#2から、応答#1の確度を示す確度を推定する(ステップS4)。例えば、情報提供装置10は、発話#2に好意的な発言の文字列(例えば、「いいね」や「そうそう」等。)が含まれている場合は、より高い値の確度#1を推定し、発話#2に批判的な発言の文字列が含まれている場合は、より低い値の確度#1を推定する。なお、例えば、情報提供装置10は、発話#2に好意的な発言の文字列が含まれていなくとも、「そうじゃなくて」等といった批判的な発言の文字列が含まれない場合には、応答#1が正しかったものとして、確度の推定を行ってもよい。
なお、情報提供装置10は、推定モデルを用いた確度の算出推定を行ってもよい。例えば、情報提供装置10は、発話#2を所定の分類モデルでいずれかのドメインに分類し、分類したドメインに対応する推定モデルを用いて、発話#2の内容の意味を推定する。そして、情報提供装置10は、推定された意味が好意的な意味であるか批判的な意味であるかに応じて、確度の推定を行ってもよい。また、情報提供装置10は、発言が好意的であるか否かをあらかじめ学習した判定モデルを用いて、発言が好意的であるか否かを判定し、判定結果に応じて確度の推定を行ってもよい。
そして、情報提供装置10は、推定した確度に応じて、教師あり学習を用いた分類モデル、若しくは、強化学習を用いる分類モデルを選択する(ステップS5)。例えば、情報提供装置10は、「−1」から「1」の範囲の確度を算出する。このような場合、情報提供装置10は、確度の値が「0.3」以上である場合は、教師あり学習が行われた分類モデルを選択し、確度の値が「−0.3」以下である場合は、強化学習を行う分類モデルを選択する。なお、情報提供装置10は、確度の値が「0.3」未満であり、「−0.3」を超える場合は、後述するように、利用者Uへの問い合わせを行う。
また、情報提供装置10は、選択した分類モデルを用いて、発話#2を対応するドメインに分類する(ステップS6)。例えば、情報提供装置10は、発話#2を「雑談」、「アラーム」、「天気」、「EC(Electronic Commerce)」といったドメインのうち、ドメイン「天気」に分類する。
そして、情報提供装置10は、分類結果に対応するドメインの応答を生成する対話モデルを用いて、発話に対する応答を生成する(ステップS7)。例えば、情報提供装置10は、分類モデルにより発話#2がドメイン「天気」に分類された場合は、ドメイン「天気」に対応する対話モデル(すなわち、ドメイン「天気」に対応する推定モデルと、ドメイン共通の対話管理モデルとの組合せ)を用いて、発話#2の意味の内容を推定する言語解析処理、利用者Uとの会話の状態を追跡する状態追跡処理、状態に応じて応答の内容を決定する応答決定処理を実行し、発話#2に対応する応答#2を生成する。そして、情報提供装置10は、生成した応答#2を出力する(ステップS8)。
ここで、情報提供装置10は、応答#2に対する利用者Uの発話#3を受付ける(ステップS9)。このような場合、情報提供装置10は、発話#3と応答#2とに基づいて応答#2の確度を推定し、推定した確度に応じた分類モデルを選択し、選択した分類モデルを用いて発話#3をいずれかのドメインに分類し、分類したドメインに対応する対話モデルを用いた応答#4の生成を行う(ステップS4〜ステップS7)。さらに、情報提供装置10は、応答#2を出力する際に選択された分類モデルが強化学習を行う分類モデルであった場合、発話#3の内容と前回の分類結果(すなわち、発話#2の分類結果)とに基づいて、分類モデルの強化学習を行う(ステップS10)。
例えば、情報提供装置10は、発話#2を強化学習におけるコントローラの状態観測の結果とし、発話#2の分類結果(例えば、ドメイン「天気」)をコントローラの行動とし、発話#3に基づく報酬をコントローラに対して設定する。より具体的な例を挙げると、情報提供装置10は、発話#3が発話#2と同様の内容であったり、応答#2が誤っている旨の内容等が含まれる場合は、負の報酬を設定し、発話#3が発話#2とは異なる内容であったり、応答#2が正しい旨の内容等が含まれる場合は、正の報酬を設定する。そして、情報提供装置10は、分類モデルの強化学習を行うことで、発話の分類精度を向上させる。
このように、情報提供装置10は、利用者Uとの対話において、発話の分類精度がある程度保持されるような場合は、教師あり学習により学習が行われた分類モデルを用いて、発話の分類を行う。一方、情報提供装置10は、利用者Uとの対話において、発話の分類精度が低下した場合等は、強化学習を行う分類モデルを用いて、利用者Uの発話をインタラクティブに学習しながら分類する。
ここで、強化学習には、教師あり学習と比較して、比較的少ない学習データである程度の精度を発揮することができるという特徴がある。このため、情報提供装置10は、発話の分類精度が低下した結果、利用者Uとの対話が円滑に進まなくなるような場合は、対話を介して分類モデルの強化学習を行うことで、発話の意図を質問するといったユーザビリティを損なう応答を出力せずとも、発話の分類精度を徐々に向上させることができる。
〔1−5.聞き返しについて〕
ここで、応答の確度が中央値に近い場合、応答の分類精度が良かったのか悪かったのかを正しく選択に反映させることが難しいとも考えられる。情報提供装置10は、確度が所定の範囲内に収まる場合は、利用者Uに対して発話の意図を問い合わせてもよい。例えば、情報提供装置10は、確度の値が「0.3」未満であり、「−0.3」を超える場合は、利用者Uへの問い合わせを行う。
例えば、情報提供装置10は、応答#1の確度が所定の範囲内に収まる場合には、推定モデルを用いて発話#1から推定した意味が合っているか否かを問い合わせる応答を利用者Uに出力してもよい。また、例えば、情報提供装置10は、「すみません。もう一度入力してください。」等といった所定の定型文を応答として出力してもよい。また、このような問合せの結果、利用者Uから得られる発話の内容に基づいて、分類モデルの強化学習を行ってもよい。
〔1−6.分類のバリエーションについて〕
例えば、情報提供装置10は、分類モデルとして、発話と各ドメインの関係性を示すスコアを算出するモデルを用いてもよい。このような場合、例えば、情報提供装置10は、算出されたスコアが最も高いドメインを分類先としてもよい。また、例えば、情報提供装置10は、算出されたスコアが所定の閾値を超える複数のドメインを分類先としてもよい。このような場合、情報提供装置10は、分類先となる複数のドメインに対応する推定モデルを用いて、発話の内容の意味を推定し、推定結果の中から最も多くの推定モデルが共通して推定した意味を用いて、応答の生成を行ってもよい。
また、情報提供装置10は、発話の内容の意味と、発話の内容がその意味を有すると推定される確度とを出力する推定モデルを用いて、各推定モデルが出力する確度に応じたドメインの選択を行ってもよい。例えば、情報提供装置10は、分類モデルとして、以下の処理を行うモデルを採用してもよい。まず、分類モデルは、全てのドメインにそれぞれ個別の選択パラメータを設定する。そして、分類モデルは、全てのドメインの推定モデルを用いて、発話の意味と確度とを取得し、取得した確度と選択パラメータとを用いて、正しい意味を推定する確率が最も高いドメインを選択する。そして、情報提供装置10は、選択したドメインの推定モデルが推定した発話の意味を用いて、応答の生成を行う。このような場合、情報提供装置10は、応答に対する利用者Uの発話に基づき、分類モデルが各ドメインに対して設定した選択パラメータの値を調整することで、分類モデルの学習を行ってもよい。
ここで、情報提供装置10は、発話の内容のみならず、任意の情報を加味して発話の分類を行ってもよい。例えば、情報提供装置10は、利用者Uによる所定のサービスの利用履歴、または、利用者Uの属性の少なくともいずれか一方に基づいて、利用者Uから受付けた発話が所定の事象(すなわち、ドメイン)に関する度合を推定し、推定した度合と分類モデルを用いた分類結果とに基づいて、発話を分類してもよい。
例えば、情報提供装置10は、利用者Uの検索クエリの履歴、電子商取引の履歴、ウェブコンテンツの閲覧履歴等、利用者Uに対して提供される各種サービスの利用履歴を収集する。そして、情報提供装置10は、各ドメインに対し、各ドメインに対応する種別のサービスを利用者Uが利用した頻度や時期に応じたスコアを付与する。また、情報提供装置10は、分類モデルを用いて、発話と各ドメインの関連性を示すスコアを算出する。そして、情報提供装置10は、サービスの利用履歴に基づくスコアと、分類モデルにより算出されたスコアとを統合的に用いて、発話の分類先となるドメインを選択してもよい。
また、情報提供装置10は、発話の表現に応じた選択を行ってもよい。例えば、情報提供装置10は、利用者Uから受付けた発話の表現に基づいて、発話が雑談に関する度合または発話が所定の事象に関する度合を推定し、推定した度合と分類モデルを用いた分類結果とに基づいて、発話を分類してもよい。例えば、情報提供装置10は、利用者Uから受付けた発話の表現が、利用者Uにより投稿された投稿情報の表現と類似する場合は、発話が雑談に関する度合を上昇させ、利用者Uから受付けた発話の表現か、検索クエリの表現と類似する場合は、発話が所定の事象に関する度合を上昇させてもよい。
例えば、図1に示すように、情報提供装置10は、利用者Uから発話#2を受付けた場合は、ログサーバ200から利用者Uの検索クエリの履歴や投稿情報を取得する(ステップS11)。そして、情報提供装置10は、各カテゴリを選択するためのパラメータを調整する(ステップS12)。
例えば、ブログやSNSに投稿された情報、利用者Uの質問に対して他の利用者が回答を投稿するサービスにおけるコメント等、インターネット上に投稿された情報は、雑談に近い表現であると考えられる。そこで、情報提供装置10は、利用者Uの発話の表現が、各種投稿情報の表現と類似する場合は、ドメイン「雑談」が選択されやすくなるように、分類モデルの学習や、各ドメインを選択するパラメータの調整を行ってもよい。
一方、検索クエリ等は、明確な目的が含まれるため、非雑談に近い表現であると考えられる。このため、情報提供装置10は、利用者Uの発話の表現が、検索クエリの表現と類似する場合は、ドメイン「雑談」以外のドメインが選択されやすくなるように、分類モデルの学習や、各ドメインを選択するパラメータの調整を行ってもよい。
〔1−7.雑談と非雑談との組合せ〕
ここで、情報提供装置10は、発話が雑談であるか非雑談であるかを明確に区分できない場合は、雑談と非雑談との組合せを応答として出力してもよい。すなわち、情報提供装置10は、発話が雑談に関する度合および発話が所定の事象に関する度合が所定の条件を満たす場合は、発話を雑談のドメインおよび非雑談のドメインの両方に分類し、分類した各ドメインの対話モデルを用いて生成した応答を組み合わせて出力してもよい。例えば、情報提供装置10は、発話がドメイン「雑談」である確度と、ドメイン「天気」である確度とが同程度になる場合は、ドメイン「雑談」の対話モデルで生成した応答と、ドメイン「天気」の対話モデルで生成した応答とを組み合わせて出力してもよい。より具体的な例を挙げると、情報提供装置10は、「明日の天気は雨です。」といった非雑談の応答を出力するとともに、「晴れるといいねー」などといった雑談の応答を出力してもよい。
〔1−8.利用者の属性に応じた処理〕
また、情報提供装置10は、推定モデルとして、利用者Uの属性に応じて発話の意味を推定する推定モデルを用いて、発話の意味を推定してもよい。例えば、情報提供装置10は、利用者Uのデモグラフィック属性、サイコグラフィック属性、各種のペルソナ、過去の会話履歴等を利用者Uの属性として取得し、推定モデルの強化学習の際に、強化学習におけるコントローラの状態観測の結果として、発話と利用者Uの属性とを採用する。そして、情報提供装置10は、例えば、発話#2から意味#2を推定する際に、属性モデルに発話#2と利用者Uの属性とを入力することで、利用者Uの属性に応じた意味の推定を実現してもよい。
また、情報提供装置10は、利用者Uの属性に応じて、発話の分類を行う分類モデルを用いてもよい。例えば、情報提供装置10は、推定モデルの学習と同様に、利用者Uの属性と、応答の確度とに基づいて、分類モデルの強化学習を行ってもよい。
〔1−9.強化学習について〕
ここで、情報提供装置10は、分類モデルと推定モデルとを同時に強化学習してもよい。例えば、情報提供装置10は、発話#1を分類モデルでドメイン#1に分類し、ドメイン#1の推定モデル#1を用いて発話#1の意味#1を推定し、意味#1に基づいて応答#1を生成する。そして、情報提供装置10は、応答#1に対する発話#2を得た場合は、発話#2が好意的であるか否か等に基づいて、分類モデルと推定モデル#1とを同時に強化学習してもよい。例えば、情報提供装置10は、発話#2が好意的である場合は、発話#1が入力された際に分類モデルが推定モデル#1を選択し、推定モデル#1が意味#1を推定するように、分類モデルと推定モデル#1とを1つのモデルと見做して、強化学習を行ってもよい。
〔2.情報提供装置の構成〕
以下、上記した情報提供装置10が有する機能構成の一例について説明する。図2は、実施形態に係る情報提供装置の構成例を示す図である。図2に示すように、情報提供装置10は、通信部20、記憶部30、および制御部40を有する。
通信部20は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部20は、ネットワークNと有線または無線で接続され、利用者端末100との間で情報の送受信を行う。
記憶部30は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部30は、推定モデルデータベース31、ルールデータベース32、および分類モデルデータベース33を記憶する。
推定モデルデータベース31には、ドメインごとの推定モデルが登録される。例えば、図3は、実施形態に係る推定モデルデータベースに登録される情報の一例を示す図である。図3に示すように、推定モデルデータベース31には、「モデルID(Identifier)」、「ドメイン」、および「モデルデータ」といった項目を有する情報が登録される。
ここで、「モデルID」とは、モデルの識別子である。また、「ドメイン」とは、対応付けられた「モデルID」が示すモデルがどのドメインの発話の意味を推定するモデルであるかを示す情報である。また、「モデルデータ」とは、対応付けられた「モデルID」が示すモデルを構成する各種パラメータ等のデータである。
例えば、図3に示す例では、推定モデルデータベース31には、モデルID「モデル#1」、ドメイン「ドメイン#1」、およびモデルデータ「モデルデータ#1」が対応付けて登録されている。このような情報は、モデルID「モデル#1」が示すモデルが、ドメイン「ドメイン#1」が示すドメインに属する発話の意味を推定するモデルであり、そのモデルの各種パラメータ等がモデルデータ「モデルデータ#1」である旨を示す。なお、図3に示す例では、「モデル#1」、「ドメイン#1」、「モデルデータ#1」等といった概念的な値を記載したが、実際には、推定モデルデータベース31には、モデルをやドメインを識別する文字列、モデルを構築するための各種パラメータ等のデータが登録されることとなる。
図2に戻り、説明を続ける。ルールデータベース32には、発話の意味に応じてどのような内容の応答を出力するかを定めるルールが登録される。例えば、図4は、実施形態に係るルールデータベースに登録される情報の一例を示す図である。図4に示すように、ルールデータベース32には、「ルールID」、「状態」、および「応答内容」といった項目を有する情報が登録される。
ここで、「ルールID」とは、ルールの識別子である。また、「状態」とは、利用者Uとの対話の状態を示す情報である。また、「応答内容」とは、対応付けられた「条件」が示す条件が満たされた場合に、決定される応答の内容である。例えば、図4に示す例では、ルールID「ルール#1」、状態「状態#1」、および応答内容「応答内容#1」が対応付けて登録されている。このような情報は、ルールID「ルール#1」が示すルールが、状態「状態#1」が示す状態となった場合に応答内容「応答内容#1」を応答の内容として出力するルールである旨を示す。より具体的には、このようなルールは、利用者Uとの対話の状態(すなわち、ステート)が「状態#1」となった場合は、「応答内容#1」が示す内容の応答を生成して出力する旨を示す。
なお、「応答内容」は、応答として出力する音声のテキストデータのみならず、どのような外部サーバからどのような情報を収集し、収集した情報を用いてどのようなテキストデータを生成するかといった情報が含まれるものとする。例えば、「応答内容#1」とは、例えば、各種外部サーバから天気予報や乗換案内の情報を収集し、収集した情報を含む定型文の応答を生成する旨を示す。また、図4に示す例では、「ルール#1」、「状態#1」、「処理#1」等といった概念的な値を記載したが、実際には、ルールデータベース32には、ルールを識別する文字列、状態を識別する識別子、意味を示す意味表現や処理の具体的な内容を示す情報が登録されることとなる。
図2に戻り、説明を続ける。分類モデルデータベース33には、教師あり学習による学習が行われた分類モデル、および、強化学習が行われる分類モデルが登録される。例えば、図5は、実施形態に係る分類モデルデータベースに登録される情報の一例を示す図である。図5に示すように、分類モデルデータベース33には、「分類モデルID」、「学習手法」、および「モデルデータ」といった項目を有する情報が登録される。
ここで、「分類モデルID」とは、分類モデルの識別子である。また、「学習手法」とは、対応付けられた「分類モデルID」が示す分類モデルの学習手法である。また、「モデルデータ」とは、対応付けられた「分類モデルID」が示す分類モデルを構成する各種パラメータ等のデータである。例えば、図5に示す例では、分類モデルデータベース33には、分類モデルID「分類モデル#1」、学習手法「強化学習」、およびモデルデータ「分類モデルデータ#1」とが対応づけて登録されている。このような情報は、分類モデルID「分類モデル#1」が示す分類モデルが、学習手法「強化学習」に学習が行われるモデルであり、その分類モデルの各種パラメータ等がモデルデータ「分類モデルデータ#1」である旨を示す。なお、図5に示す例では、「分類モデル#1」、「分類モデルデータ#1」等といった概念的な値を記載したが、実際には、分類モデルデータベース33には、分類モデルを識別する文字列、分類モデルを構築するための各種パラメータ等のデータが登録されることとなる。
図2に戻り、説明を続ける。制御部40は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、情報提供装置10内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部40は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。図2に示すように、制御部40は、選択部41、分類部42、推定部43、決定部44、生成部45、出力部46、および学習部47を有する。
選択部41は、発話に対する応答であって、分類部42による分類結果に応じたモデルを用いて生成された応答に対する利用者の反応に基づき、分類部42が分類に用いる分類モデルを選択する。例えば、選択部41は、利用者Uの最初の発話#1を受付けた場合、強化学習が行われる分類モデル#1または教師あり学習が行われた分類モデル#2のいずれかを選択する。
また、選択部41は、後述する処理により応答#1が出力された後で、利用者Uから発話#2を受付けた場合は、発話#2から利用者Uの応答#1に対する反応を推定し、推定した利用者Uの反応に基づいて、応答#1の確度を推定する。そして、選択部41は、推定した確度に応じて、発話#2を分類する分類モデルを選択する。例えば、選択部41は、確度が所定の閾値を超える場合は、教師あり学習により学習が行われた分類モデル#2を選択する。一方、選択部41は、確度が所定の閾値を下回る場合は、強化学習より学習が行われる分類モデルを選択する。また、選択部41は、確度が所定の範囲内に収まる場合は、出力部46に対して問合せを出力するように指示する。
分類部42は、内容に応じて発話を分類する複数の分類モデルであって、それぞれ学習手法が異なる分類モデルのいずれかを用いて、利用者から受付けた発話を分類する。より具体的には、分類部42は、選択部41が選択した分類モデルを用いて、利用者から受付けた発話を雑談に関する発話、または、雑談以外の所定の事象に関する発話のいずれかに分類する。
例えば、分類部42は、利用者端末100から、利用者Uが発声した音声を変換したテキストデータを受付ける。なお、例えば、分類部42は、利用者端末100から利用者Uが発声した音声データを受付け、受付けた音声データをテキストデータに変換してもよい。また、分類部42は、音声データをテキストデータへと変換する所定の外部サーバを介して、利用者端末100から利用者Uが発声した音声のテキストデータを受付けてもよい。このような場合、分類部42は、利用者Uの発話の内容と対応するドメインを特定する。例えば、分類部42は、選択部41によって選択された分類モデルを用いて、発話を雑談を含むいずれかのドメインに分類する。
なお、分類部42は、利用者Uによる所定のサービスの利用履歴、または、利用者Uの属性の少なくともいずれか一方に基づいて、利用者Uから受付けた発話が所定の事象に関する度合を推定し、推定した度合と分類モデルを用いた分類結果とに基づいて、発話を分類してもよい。例えば、分類部42は、利用者Uに対して提供される各種サービスの利用履歴を収集する。そして、分類部42は、各ドメインに対し、各ドメインに対応する種別のサービスを利用者Uが利用した頻度や時期に応じたスコアを付与する。また、分類部42は、分類モデルを用いて、発話と各ドメインの関連性を示すスコアを算出する。そして、分類部42は、サービスの利用履歴に基づくスコアと、分類モデルにより算出されたスコアとを統合的に用いて、発話の分類先となるドメインを選択してもよい。
また、分類部42は、利用者Uから受付けた発話の表現に基づいて、発話が雑談に関する度合または発話が所定の事象に関する度合を推定し、推定した度合と分類モデルを用いた分類結果とに基づいて、発話を分類してもよい。例えば、分類部42は、利用者Uから受付けた発話の表現が、利用者Uにより投稿された投稿情報の表現と類似する場合は、発話が雑談に関する度合を上昇させ、利用者Uから受付けた発話の表現が、検索クエリの表現と類似する場合は、発話が所定の事象に関する度合を上昇させてもよい。
例えば、分類部42は、ログサーバ200から利用者Uの検索クエリの履歴および投稿情報を取得する。そして、分類部42は、利用者Uから受付けた発話の表現が、検索クエリの表現、または、投稿情報の表現のいずれと類似するかを判定する。また、分類部42は、利用者Uから受付けた発話の表現が検索クエリの表現と類似する場合は、非雑談のドメインのスコアを上昇させ、投稿情報の表現と類似する場合は、雑談のドメインのスコアを上昇させる。そして、分類部42は、分類モデルを用いて発話と各ドメインとの関係を示すスコアを算出し、算出したスコアと、表現に基づくスコアとに基づいて、発話の分類先となるドメインを特定してもよい。
また、分類部42は、発話が雑談に関する度合および発話が所定の事象に関する度合が所定の条件を満たす場合は、発話を雑談に関する発話および所定の事象に関する発話の両方に分類してもよい。例えば、分類部42は、分類部42は、分類モデルを用いて発話と各ドメインとの関係を示すスコアを算出し、雑談のドメインのスコアと、天気のドメインのスコアとが他のドメインのスコアよりも高く、かつ、雑談のドメインのスコアと、天気のドメインのスコアとが同程度である場合は、発話を雑談のドメインと天気のドメインとに分類してもよい。このような場合、情報提供装置10は、分類された各ドメインの対話モデルを用いて生成された応答を組み合わせて出力することとなる。
推定部43は、利用者Uから受付けた発話の意味を推定する推定モデルであって、強化学習により学習される推定モデルを用いて、発話の意味を推定する。例えば、推定部43は、利用者Uから受け付けた発話に関連する分野ごとに異なる推定モデルを用いて、発話の意味を推定する。
例えば、推定部43は、分類部42により発話に対応すると判定されたドメインの通知を受付けると、通知されたドメインと対応する推定モデルを推定モデルデータベース31から読み出す。そして、推定部43は、利用者Uの発話のテキストデータを推定モデルに入力することにより、発話の内容の意味を示す意味表現を生成する。そして、推定部43は、生成した意味表現を決定部44に出力する。
決定部44は、推定された意味に基づいて、利用者Uに対する応答の内容を決定する。例えば、決定部44は、利用者Uから受け付けた発話に関連する分野によらずに、推定された意味に応じて、利用者Uに対する応答の内容を決定する。より具体的には、決定部44は、推定部43がドメインに応じた推定モデルにより推定した発話の意味を示す意味表現を取得する。このような場合、決定部44は、推定された意味に基づいて、利用者Uとの対話の状態を判定する。
例えば、決定部44は、利用者Uとの会話がどのような状態であるかを示すステートマシンを保持し、推定部43によって生成された意味表現が示す意味に基づいて、ステートマシンが示す状態を更新する。そして、決定部44は、更新後の状態と対応する応答内容を、ルールデータベース32から特定する。また、決定部44は、例えば、特定した応答内容が天気予報や乗換案内等といった外部サーバから取得する情報を含む場合、対応する外部サーバから情報を取得する。そして、決定部44は、取得した情報を含む定型文等を生成し、生成した定型文を応答の内容とする。
なお、どのような状態において、どのような意味表現が取得された際に、どのような状態へとステートを更新するかについては、対話システムの構成に応じて任意の設定が可能であり、ステートマシンを用いた周知の対話システムの技術が適用可能である。
生成部45は、決定部44が決定した内容の応答を生成する。例えば、生成部45は、決定部44が決定した内容の定型文を読み上げるための音声データを生成する。
出力部46は、生成部45が生成した応答を利用者端末100へと出力する。また、出力部46は、選択部41が推定した確度が所定の範囲内に収まる場合は、利用者Uに対して発話の意図を問い合わせる応答を出力する。例えば、出力部46は、選択部41から問い合わせを出力するように指示された場合は、前回取得した発話を分類したドメインに関連する事象や、前回取得した発話から推定した意味等が合っているか否かを利用者Uに問い合わせる内容の応答を生成し、生成した応答を利用者端末100へと出力する。
学習部47は、選択された分類モデルを用いて分類した結果に基づいて生成された応答に対する利用者Uの反応に基づいて、選択された分類モデルの強化学習を行う。また、学習部47は、推定モデルを用いて推定した意味と、その意味に応じて決定した内容の応答に対する利用者Uの反応とに基づいて、推定モデルの強化学習を行う。
例えば、学習部47は、強化学習が行われる分類モデル#1により発話#1がドメイン#1に分類され、ドメイン#1に対応する推定モデル#1を用いることで発話#1に対数る応答#1が出力された場合、利用者Uが応答#1に対して発生した発話#2を取得する。このような場合、学習部47は、発話#2の内容に基づいて、利用者Uが応答#1に満足しているか否かを判定する。
そして、学習部47は、利用者Uが応答#1に満足していると判定した場合は、正の報酬を設定し、利用者Uが応答#1に満足していないと判定した場合は、負の報酬を設定する。そして、学習部47は、分類モデル#1および推定モデル#1の強化学習を行う。この結果、学習部47は、利用者Uとの対話を介して、推定モデルの強化学習を実現できる。なお、学習部47は、分類モデル#1および推定モデル#1を一つのモデルと見做して強化学習を実行してもよい。
ここで、図6は、実施形態に係る情報処理装置が実行する処理の概念を示す図である。例えば、情報提供装置10は、分類モデルを用いて分類処理を実行することで、利用者Uの発話を雑談を含むいずれかのドメインに分類する。そして、情報提供装置10は、分類されたドメインに対応する推定モデルを用いた言語理解処理#1〜#4のいずれかを実行することで、意味表現を生成する。そして、情報提供装置10は、意味表現から利用者Uとの会話の状態を追跡する状態追跡処理を実行するとともに、状態に応じて応答内容を決定する応答決定処理を実行する。そして、情報提供装置10は、応答決定処理の結果、決定した内容の応答を利用者Uに出力する。
このような処理の流れの下、情報提供装置10は、利用者Uの発話から応答の確度を推定し、推定した確度に応じて、会話を通した強化学習による分類、または、教師あり学習による分類を行う。そして、情報提供装置10は、強化学習による分類を行った場合は、出力した応答に対する利用者の発話の内容に基づいて、分類処理の強化学習を行う。この結果、情報提供装置10は、教師あり学習では精度よく発話の分類を行うことができない場合、すなわち、利用者の発話に雑談等が含まれる場合は、利用者Uとの会話を介した強化学習により、発話の分類を行う。この結果、情報提供装置10は、発話の意図の推定精度を向上させる結果、利用者Uとの円滑な対話を実現できる。
〔3.情報提供装置が実行する処理の流れの一例〕
続いて、図7、図8を用いて、情報提供装置10が実行する処理の流れの一例を説明する。図7は、実施形態に係る情報提供装置が実行する分類処理の流れの一例を示すフローチャートである。また、図8は、実施形態に係る情報提供装置が実行する強化学習の流れの一例を示すフローチャートである。
例えば、情報提供装置10は、応答に対する発話を取得する(ステップS101)。このような場合、情報提供装置10は、応答の確度を推定する(ステップS102)。そして、情報提供装置10は、確度が所定の範囲内であるか否かを判定する(ステップS103)。ここで、情報提供装置10は、確度が所定の範囲内ではないと判定した場合は(ステップS103:No)、確度が所定の範囲を超えているか否かを判定する(ステップS104)。そして、情報提供装置10は、確度が所定の範囲を超えていると判定した場合は(ステップS104:Yes)、教師あり学習の分類モデルを選択する(ステップS105)。また、情報提供装置10は、確度が所定の範囲を超えていないと判定した場合は(ステップS104:No)、強化学習の分類モデルを選択する(ステップS106)。
そして、情報提供装置10は、分類モデルを選択した場合は(ステップS105、S106)、選択した分類モデルを用いて発話を分類し(ステップS107)、処理を終了する。一方、情報提供装置10は、確度が所定の範囲内である場合は(ステップS103:Yes)、発話の意図を利用者Uに問い合わせ(ステップS108)、処理を終了する。
続いて、図8を用いて、強化学習の流れの一例を説明する。まず、情報提供装置10は、応答に対する利用者Uの発話を取得する(ステップS201)。続いて、情報提供装置10は、発話が応答に対して好意的であるか否かを判定する(ステップS202)。そして、情報提供装置10は、判定結果に基づく報酬を設定し、応答を出力した際に用いた分類モデルの強化学習を行い(ステップS203)、処理を終了する。
〔4.変形例〕
上記では、情報提供装置10による分類処理や強化学習の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、情報提供装置10が実行する提供処理や決定処理のバリエーションについて説明する。
〔4−1.対話モデルについて〕
情報提供装置10は、ドメインごとに複数の推定モデルを有し、推定モデルにより推定された意味に基づいてルールベースで応答を生成した。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置10は、ドメインごとに応答を生成する複数の対話モデルを用いて、応答の生成を行ってもよく、ドメインに応じた応答を生成する1つの対話モデルを用いて、応答の生成を行ってもよい。すなわち、情報提供装置10は、雑談を含むドメインのいずれかに発話を分類し、分類結果に基づいて応答を生成するのであれば、任意の構成により対話システムを実現してよい。
〔4−2.装置構成〕
記憶部30に登録された各データベース31〜33は、外部のストレージサーバに保持されていてもよい。また、情報提供装置10は、発話を分類する分類サーバ、ドメインごとに発話の意味を推定する1台または複数台の推定サーバ、推定結果に基づいて応答の内容を決定する決定サーバ、推定モデルの強化学習を行う学習サーバとが連携して動作することにより、実現されてもよい。このような場合、分類サーバには、図2に示す選択部41および分類部42が配置され、推定サーバには、推定部43が配置され、決定サーバには、決定部44、生成部45、および出力部46が配置され、学習サーバには、学習部47が配置されていてもよい。また、ドメインに対応する複数の推定サーバが存在する場合、各推定サーバには、対応するドメインの推定モデルが保持されるとともに、各推定モデルの強化学習を行う学習部が配置されていてもよい。
〔4−3.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、逆に、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
〔4−4.プログラム〕
また、上述した実施形態に係る情報提供装置10は、例えば図9に示すような構成のコンピュータ1000によって実現される。図9は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ等により実現される。
出力IF1060は、モニタやプリンタといった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力IF1070は、マウス、キーボード、およびスキャナ等といった各種の入力装置1020から情報を受信するためのインタフェースであり、例えば、USB等により実現される。
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置1020は、USBメモリ等の外付け記憶媒体であってもよい。
ネットワークIF1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
演算装置1030は、出力IF1060や入力IF1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
例えば、コンピュータ1000が情報提供装置10として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部40の機能を実現する。
〔5.効果〕
上述したように、情報提供装置10は、内容に応じて発話を分類する複数の分類モデルであって、それぞれ学習手法が異なる分類モデルのいずれかを用いて、利用者Uから受付けた発話を分類する。そして、情報提供装置10は、発話に対する応答であって、分類結果に応じたモデルを用いて生成された応答に対する利用者Uの反応に基づき、分類に用いる分類モデルを選択する。このため、情報提供装置10は、発話の分類精度を向上させることができる。
また、情報提供装置10は、利用者Uの反応に基づいて、応答の確度を推定し、その推定した確度に応じて分類モデルを選択する。例えば、情報提供装置10は、確度が所定の閾値を超える場合は、教師あり学習により学習が行われた分類モデルを選択する。また、情報提供装置10は、確度が所定の閾値を下回る場合は、強化学習等といった対話を通じて学習が行われる分類モデルを選択する。このため、情報提供装置10は、教師あり学習では上手く分類を行えない場合にも、対話を介して分類モデルの強化学習を行うことで、発話の分類精度を徐々に向上させることができる。
また、情報提供装置10は、確度が所定の範囲内に収まる場合は、利用者Uに対して発話の意図を問い合わせる応答を出力する。このため、情報提供装置10は、分類モデルの強化学習を行うための学習データを取得することができる。
また、情報提供装置10は、分類モデルを用いて、利用者Uから受付けた発話を雑談に関する発話、または、雑談以外の所定の事象に関する発話のいずれかに分類する。このため、情報提供装置10は、雑談と非雑談が混ざる対話を精度良く実現することができる。
また、情報提供装置10は、利用者Uによる所定のサービスの利用履歴、または、その利用者Uの属性の少なくともいずれか一方に基づいて、その利用者Uから受付けた発話が所定の事象に関する度合を推定し、推定した度合と分類モデルを用いた分類結果とに基づいて、その発話を分類する。また、情報提供装置10は、利用者Uから受付けた発話の表現に基づいて、その発話が雑談に関する度合またはその発話が所定の事象に関する度合を推定し、推定した度合と分類モデルを用いた分類結果とに基づいて、その発話を分類する。例えば、情報提供装置10は、利用者Uから受付けた発話の表現が、利用者Uにより投稿された投稿情報の表現と類似する場合は、その発話が雑談に関する度合を上昇させ、利用者Uから受付けた発話の表現か、検索クエリの表現と類似する場合は、その発話が所定の事象に関する度合を上昇させる。このため、情報提供装置10は、利用者Uの発話の分類精度をさらに向上させることができる。
また、情報提供装置10は、発話が雑談に関する度合およびその発話が所定の事象に関する度合が所定の条件を満たす場合は、その発話を雑談に関する発話および所定の事象に関する発話の両方に分類する。このため、例えば、情報提供装置10は、雑談であるか非雑談であるかが曖昧な発話に対し、雑談であると推定される場合の応答と非雑談であると推定される場合の応答とを組み合わせて出力できるので、利用者Uとの対話をスムーズに進めることができる。
また、情報提供装置10は、選択された分類モデルを用いた分類結果に基づく応答への利用者Uの反応に基づいて、選択された分類モデルの強化学習を行う。このため、情報提供装置10は、利用者Uとの対話を介して、利用者Uの発話の分類精度を向上させることができる。
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、分類部は、分類手段や分類回路に読み替えることができる。
10 情報提供装置
20 通信部
30 記憶部
31 推定モデルデータベース
32 ルールデータベース
33 分類モデルデータベース
40 制御部
41 選択部
42 分類部
43 推定部
44 決定部
45 生成部
46 出力部
47 学習部
100 利用者端末
200 ログサーバ

Claims (13)

  1. 内容に応じて発話を分類する複数の分類モデルであって、それぞれ学習手法が異なる分類モデルのいずれかを用いて、利用者から受付けた発話を分類する分類部と、
    前記発話に対する応答であって、前記分類部による分類結果に応じたモデルを用いて生成された応答に対する利用者の反応に基づき、前記分類部が分類に用いる分類モデルを選択する選択部と
    を有することを特徴とする分類装置。
  2. 前記選択部は、前記利用者の反応に基づいて、前記応答の確度を推定し、当該推定した確度に応じて前記分類モデルを選択する
    ことを特徴とする請求項1に記載の分類装置。
  3. 前記選択部は、前記確度が所定の閾値を超える場合は、教師あり学習により学習が行われた分類モデルを選択する
    ことを特徴とする請求項2に記載の分類装置。
  4. 前記選択部は、前記確度が所定の閾値を下回る場合は、対話を通じて学習が行われる分類モデルを選択する
    ことを特徴とする請求項2または3に記載の分類装置。
  5. 前記確度が所定の範囲内に収まる場合は、前記利用者に対して前記発話の意図を問い合わせる応答を出力する出力部
    を有することを特徴とする請求項2〜4のうちいずれか1つに記載の分類装置。
  6. 前記分類部は、前記分類モデルを用いて、前記利用者から受付けた発話を雑談に関する発話、または、雑談以外の所定の事象に関する発話のいずれかに分類する
    ことを特徴とする請求項1〜5のうちいずれか1つに記載の分類装置。
  7. 前記分類部は、前記利用者による所定のサービスの利用履歴、または、当該利用者の属性の少なくともいずれか一方に基づいて、当該利用者から受付けた発話が前記所定の事象に関する度合を推定し、推定した度合と前記分類モデルを用いた分類結果とに基づいて、当該発話を分類する
    ことを特徴とする請求項6に記載の分類装置。
  8. 前記分類部は、前記利用者から受付けた発話の表現に基づいて、当該発話が雑談に関する度合または当該発話が前記所定の事象に関する度合を推定し、推定した度合と前記分類モデルを用いた分類結果とに基づいて、当該発話を分類する
    ことを特徴とする請求項6または7に記載の分類装置。
  9. 前記分類部は、前記利用者から受付けた発話の表現が、前記利用者により投稿された投稿情報の表現と類似する場合は、当該発話が雑談に関する度合を上昇させ、前記利用者から受付けた発話の表現か、検索クエリの表現と類似する場合は、当該発話が前記所定の事象に関する度合を上昇させる
    ことを特徴とする請求項8に記載の分類装置。
  10. 前記分類部は、前記発話が雑談に関する度合および当該発話が前記所定の事象に関する度合が所定の条件を満たす場合は、当該発話を前記雑談に関する発話および前記所定の事象に関する発話の両方に分類する
    ことを特徴とする請求項6〜9のうちいずれか1つに記載の分類装置。
  11. 前記選択部により選択された分類モデルを用いて前記分類部が分類した結果に基づいて生成された応答に対する前記利用者の反応に基づいて、当該選択部により選択された分類モデルの強化学習を行う学習部
    を有することを特徴とする請求項1〜10のうちいずれか1つに記載の分類装置。
  12. 分類装置が実行する分類方法であって、
    内容に応じて発話を分類する複数の分類モデルであって、それぞれ学習手法が異なる分類モデルのいずれかを用いて、利用者から受付けた発話を分類する分類工程と、
    前記発話に対する応答であって、前記分類工程による分類結果に応じたモデルを用いて生成された応答に対する利用者の反応に基づき、前記分類工程で分類に用いる分類モデルを選択する選択工程と
    を含むことを特徴とする分類方法。
  13. 内容に応じて発話を分類する複数の分類モデルであって、それぞれ学習手法が異なる分類モデルのいずれかを用いて、利用者から受付けた発話を分類する分類手順と、
    前記発話に対する応答であって、前記分類手順による分類結果に応じたモデルを用いて生成された応答に対する利用者の反応に基づき、前記分類手順で分類に用いる分類モデルを選択する選択手順と
    をコンピュータに実行させるための分類プログラム。
JP2017046629A 2017-03-10 2017-03-10 分類装置、分類方法および分類プログラム Active JP6224857B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017046629A JP6224857B1 (ja) 2017-03-10 2017-03-10 分類装置、分類方法および分類プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017046629A JP6224857B1 (ja) 2017-03-10 2017-03-10 分類装置、分類方法および分類プログラム

Publications (2)

Publication Number Publication Date
JP6224857B1 true JP6224857B1 (ja) 2017-11-01
JP2018151786A JP2018151786A (ja) 2018-09-27

Family

ID=60206005

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017046629A Active JP6224857B1 (ja) 2017-03-10 2017-03-10 分類装置、分類方法および分類プログラム

Country Status (1)

Country Link
JP (1) JP6224857B1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019086679A (ja) * 2017-11-08 2019-06-06 株式会社東芝 対話システム、対話方法および対話プログラム
JP2019109662A (ja) * 2017-12-18 2019-07-04 ヤフー株式会社 分類装置、データ構造、分類方法、およびプログラム
US11455489B2 (en) * 2018-06-13 2022-09-27 Canon Kabushiki Kaisha Device that updates recognition model and method of updating recognition model
JP7400040B2 (ja) 2021-11-17 2023-12-18 株式会社東芝 多次元対話行為選択のための強化学習エージェント
JP7452095B2 (ja) 2020-02-27 2024-03-19 沖電気工業株式会社 データ処理装置、データ処理方法およびプログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7115265B2 (ja) * 2018-11-30 2022-08-09 富士通株式会社 対話制御方法、対話制御プログラム、対話制御装置、情報提示方法および情報提示装置
US11315551B2 (en) * 2019-11-07 2022-04-26 Accent Global Solutions Limited System and method for intent discovery from multimedia conversation

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014098844A (ja) * 2012-11-15 2014-05-29 Ntt Docomo Inc 対話支援装置、対話システム、対話支援方法及びプログラム
JP2015001888A (ja) * 2013-06-17 2015-01-05 富士ゼロックス株式会社 情報処理プログラム及び情報処理装置
JP2015210342A (ja) * 2014-04-25 2015-11-24 日本電信電話株式会社 発話生成手法学習装置、発話生成手法選択装置、発話生成手法学習方法、発話生成手法選択方法、プログラム
JP2016085685A (ja) * 2014-10-28 2016-05-19 日本電信電話株式会社 次発話候補スコアリング装置、方法、及びプログラム
JP2016192020A (ja) * 2015-03-31 2016-11-10 株式会社デンソーアイティーラボラトリ 音声対話装置、音声対話方法及びプログラム
JP2016206894A (ja) * 2015-04-21 2016-12-08 日本電信電話株式会社 情報分類方法、装置、及びプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014098844A (ja) * 2012-11-15 2014-05-29 Ntt Docomo Inc 対話支援装置、対話システム、対話支援方法及びプログラム
JP2015001888A (ja) * 2013-06-17 2015-01-05 富士ゼロックス株式会社 情報処理プログラム及び情報処理装置
JP2015210342A (ja) * 2014-04-25 2015-11-24 日本電信電話株式会社 発話生成手法学習装置、発話生成手法選択装置、発話生成手法学習方法、発話生成手法選択方法、プログラム
JP2016085685A (ja) * 2014-10-28 2016-05-19 日本電信電話株式会社 次発話候補スコアリング装置、方法、及びプログラム
JP2016192020A (ja) * 2015-03-31 2016-11-10 株式会社デンソーアイティーラボラトリ 音声対話装置、音声対話方法及びプログラム
JP2016206894A (ja) * 2015-04-21 2016-12-08 日本電信電話株式会社 情報分類方法、装置、及びプログラム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
中野 幹生、外1名: "音声対話システムの言語・対話処理", 人工知能学会誌, vol. 第17巻,第3号, JPN6017033599, 1 May 2002 (2002-05-01), JP, pages p.271−278 *
中野 幹生、外3名, 対話システム 初版, vol. 第1版, JPN6017033594, 13 February 2015 (2015-02-13), pages p.148,153,168-169,201,212 *
大井 健治、外2名: "知能ロボットの意図理解と応答制御方式", 言語処理学会第8回年次大会発表論文集 PROCEEDINGS OF THE EIGHTH ANNUAL MEETING OF THE ASSOCIATION FO, JPN6017033597, 18 March 2002 (2002-03-18), JP, pages p.275−278 *
西村 竜一、外4名: "10年間の長期運用を支えた音声情報案内システム「たけまるくん」の技術", 人工知能学会誌, vol. 第28巻,第1号, JPN6017033592, 1 January 2013 (2013-01-01), JP, pages p.52−59 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019086679A (ja) * 2017-11-08 2019-06-06 株式会社東芝 対話システム、対話方法および対話プログラム
JP2019109662A (ja) * 2017-12-18 2019-07-04 ヤフー株式会社 分類装置、データ構造、分類方法、およびプログラム
JP7043243B2 (ja) 2017-12-18 2022-03-29 ヤフー株式会社 分類装置、分類方法、およびプログラム
US11455489B2 (en) * 2018-06-13 2022-09-27 Canon Kabushiki Kaisha Device that updates recognition model and method of updating recognition model
JP7452095B2 (ja) 2020-02-27 2024-03-19 沖電気工業株式会社 データ処理装置、データ処理方法およびプログラム
JP7400040B2 (ja) 2021-11-17 2023-12-18 株式会社東芝 多次元対話行為選択のための強化学習エージェント

Also Published As

Publication number Publication date
JP2018151786A (ja) 2018-09-27

Similar Documents

Publication Publication Date Title
JP6224857B1 (ja) 分類装置、分類方法および分類プログラム
US11809829B2 (en) Virtual assistant for generating personalized responses within a communication session
WO2019101083A1 (zh) 一种语音数据处理方法、语音交互设备及存储介质
US10692006B1 (en) Crowdsourced chatbot answers
RU2699399C2 (ru) Система и способ обнаружения орфанных высказываний
JP6556865B2 (ja) データ送信のためのフィードバックコントローラ
US10943070B2 (en) Interactively building a topic model employing semantic similarity in a spoken dialog system
US11928985B2 (en) Content pre-personalization using biometric data
JP6370962B1 (ja) 生成装置、生成方法および生成プログラム
JP7132090B2 (ja) 対話システム、対話装置、対話方法、及びプログラム
JP2018151578A (ja) 決定装置、決定方法および決定プログラム
KR101891498B1 (ko) 대화형 ai 에이전트 시스템에서 멀티 도메인 인텐트의 혼재성을 해소하는 멀티 도메인 서비스를 제공하는 방법, 컴퓨터 장치 및 컴퓨터 판독가능 기록 매체
US20230088445A1 (en) Conversational recommendation method, method of training model, device and medium
US20210232972A1 (en) Methods, mediums, and systems for an unsupervised predictive learning system
JP6824795B2 (ja) 修正装置、修正方法および修正プログラム
KR20200041199A (ko) 챗봇 구동 방법, 장치 및 컴퓨터 판독가능 매체
JP2019012439A (ja) 生成装置、生成方法及び生成プログラム
CN112581203A (zh) 在会话中提供解释性产品推荐
JP2019215823A (ja) 抽出装置、評価装置、抽出方法および抽出プログラム
US20220180865A1 (en) Runtime topic change analyses in spoken dialog contexts
JP7057229B2 (ja) 評価装置、評価方法および評価プログラム
JP7013329B2 (ja) 学習装置、学習方法および学習プログラム
JP7160571B2 (ja) 評価装置、評価方法および評価プログラム
JP2021162997A (ja) 情報処理装置及び情報処理方法
CN115497482B (zh) 一种语音对话方法及相关装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170816

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170905

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171005

R150 Certificate of patent or registration of utility model

Ref document number: 6224857

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350