以下に、本願に係る抽出装置、評価装置、抽出方法および抽出プログラムを実施するための形態(以下、「実施形態」と記載する。)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る抽出装置、評価装置、抽出方法および抽出プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略する。
[実施形態]
〔1.情報提供装置の概要について〕
まず、図1を用いて、抽出装置、評価装置、および学習装置の一例である情報提供装置が実行する処理の一例について説明する。図1は、実施形態に係る情報提供装置が実行する処理の一例を示す図である。
図1では、情報提供装置10は、インターネット等の所定のネットワークN(例えば、図2参照)を介して、対話装置200と相互に通信可能である。なお、情報提供装置10は、利用者が利用する端末装置100と通信可能であってもよい。また、情報提供装置10は、端末装置100や対話装置200以外にも、各種の外部サーバと相互に通信可能であるものとする。
端末装置100は、スマートフォンやタブレット等のスマートデバイスであり、3G(3rd Generation)やLTE(Long Term Evolution)等の無線通信網を介して任意のサーバ装置と通信を行うことができる携帯端末装置である。なお、端末装置100は、スマートデバイスのみならず、デスクトップPC(Personal Computer)やノートPC等の情報処理装置であってもよい。なお、端末装置100は、利用者が発生した音声(いわゆる「発話」)を取得すると、取得した発話音声を対話装置200へと送信し、対話装置200から送信される応答を取得すると、取得した応答を音声として出力する装置であれば、スマートスピーカ等、任意の装置が採用可能である。
対話装置200は、利用者との間の対話を実現する対話処理を実行する情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。例えば、対話装置200は、端末装置100から発話を受付けると、受付けた発話に応じた応答を生成し、生成した応答を音声で出力するためのデータを端末装置100へと送信する。
ここで、対話装置200が実現する対話処理の一例について説明する。なお、以下に示す対話処理は、あくまで一例であり、実施形態を限定するものではない。例えば、端末装置100は、利用者が発した音声を発話として取得する(ステップS1)。より具体的な例を挙げると、端末装置100は、ビームフォーミング等の各種音声抽出技術を用いて、発話の音声データを取得する。このような場合、端末装置100は、取得した音声データを所定の変換サーバ(図示は省略)へと送信する。このような場合、変換サーバは、音声データから発話のテキストデータを生成し、生成したテキストデータを端末装置100へと送信する。そして、端末装置100は、テキストデータを発話として対話装置200へと送信する(ステップS2)。
一方、対話装置200は、各種の意図解析技術を用いて、発話として受付けたテキストデータを解析し、発話が示す利用者の意図を推定する。そして、対話装置200は、推定した意図に応じた各種の処理を実行し、実行結果を示すテキストデータを生成する。すなわち、対話装置200は、応答を生成する(ステップS3)。そして、対話装置200は、応答として生成したテキストデータを端末装置100に送信する(ステップS4)。この結果、端末装置100は、テキストデータの読み上げを行ったり、テキストデータを画面上に表示することで、発話に対する応答を利用者に対して提供する(ステップS5)。
このような対話装置200が実現する対話処理においては、応答の内容に対して利用者が満足したか否かという評価が重要になる。例えば、ある応答に対して利用者が満足したか否かという情報は、対話装置200が実行する対話処理の精度を向上させるための情報として採用可能である。しかしながら、利用者に対して応答に満足したか否かを問い合わせた場合には、ユーザーエクスペリメンスを毀損する恐れがある。
ここで、対話に対して利用者が満足しているか否かを適切に評価するため、利用者が満足したか否かを示すラベルが付与されたラベル付き対話のデータを準備し、各種モデルにラベル付き対話のデータが有する特徴を教師あり若しくは教師なし学習により学習させ、学習済モデルを用いて対話の評価を行うといった手法が考えられる。しかしながら、このようなモデルの学習には、ラベル付き対話のデータが比較的多く必要となるが、ラベル付き対話のデータを作成するのは、手間がかかるという問題がある。
例えば、ラベル付き対話のデータを作成するには、クラウドソージング等の手作業により作成される場合がある。しかしながら、対話の中には、多くの発話と応答とを含む対話(すなわち、長い対話)も存在するため、手作業によりラベルを付与するのは、困難となる場合がある。このため、学習に用いるラベル付き対話のデータを自動的に獲得することができれば、学習を効率的に行うことができ、対話処理の精度を向上させることができると考えられる。
そこで、情報提供装置10は、対話処理における利用者の発話と応答とを利用して、対話処理に対して利用者が満足したか否かを自動的に評価するための評価処理を実行する。また、情報提供装置10は、評価処理を行う際に用いる発話を抽出する抽出処理を実行する。また、情報提供装置10は、対話を行うためのモデルを学習する学習装置を実行する。そして、情報提供装置10は、抽出装置、評価装置、および学習装置に基づいて、対話装置200による対話処理の精度を向上させる。
〔1−1.情報提供装置が実行する処理の一例〕
以下、情報提供装置10が実行する処理の一例について説明する。まず、情報提供装置10は、対話装置200から対話処理における発話と応答との履歴である対話履歴を取得する(ステップS6)。そして、情報提供装置10は、対話履歴に基づいて、対話を評価する(ステップS7)。
より具体的には、情報提供装置10は、利用者による発話、その発話に対する応答、およびその応答に対する利用者の発話といった一連の連続する複数の発話と複数の応答とを含む対話履歴をセッションとして抽出する。ここで、情報提供装置10は、任意の基準により定められた複数の発話および応答を1つのセッションとして採用してよい。
例えば、情報提供装置10は、利用者からの発話が無い状態が所定の時間(例えば、30分)以上経過した場合は、それまでに利用者から受付けた発話および利用者に提供した応答を1つのセッションに含まれる発話および応答としてもよい。また、情報提供装置10は、利用者が対話処理を行うためのアプリケーションを起動させてから、アプリケーションをスリープ若しくは終了させるまでに取得された発話および応答を1つのセッションとしてもよい。すなわち、セッションとは、利用者による評価単位となりえる一連の対話であれば、任意の単位でまとめられた発話および応答を含むものであってよい。
そして、情報提供装置10は、セッションにおける対話の評価を行う。より具体的には、情報提供装置10は、セッションにおける応答や発話に基づいて、セッションにおける対話に利用者が満足したか否かを推定する。例えば、情報提供装置10は、セッションに対する利用者の評価の指標となる複数の特徴のうち、それぞれ異なる種別の特徴に基づいてセッションを評価する複数のモデルの評価結果を用いて、セッションの評価を行う。
例えば、1つのセッションの中に含まれる発話に同一若しくは類似する内容の発話が含まれている場合、そのセッションにおける対話に対して利用者が満足していないと推定される。例えば、利用者が旅館での求職を意図して「旅館の仕事」と発話した際に、対話装置200が「旅館」という単語から宿泊施設の検索を利用者が意図していると誤判定し、「宿泊施設を案内します」といった応答を返してしまう場合がある。このような意図に反する応答が出力された場合、利用者が音声認識が上手くいかなかったと推定して再度「旅館の仕事」と発話し、対話装置200が再度「宿泊施設を案内します」といった応答を返してしまう場合がある。このように、1つのセッションにおいて類似する発話の繰り返しは、そのセッションに対して利用者があまり満足していない旨を示唆していると考えられる。
そこで、情報提供装置10は、同一または類似する発話の繰り返しに基づいてセッションを評価するモデルを生成する(ステップS7−1)。例えば、情報提供装置10は、セッションに含まれる発話や応答の文字列を入力した際に、そのセッションに含まれる発話の繰り返しに基づいて、セッションに対して利用者がどれくらい満足していないか、すなわち、利用者の不満足度を示すスコアである第1不満足度を出力する繰り返し評価モデルM1を生成する。例えば、このような繰り返し評価モデルは、同一発話(あるいは同一文字列)が含まれるセッション、若しくは、類似発話(あるいは類似文字列)が含まれるセッションが入力された場合は、同一発話(あるいは同一文字列)が含まれないセッション、若しくは、類似発話(あるいは類似文字列)が含まれないセッションが含まれないセッションが入力された場合よりもより高い値の第1不満足度を出力する。ここで、「類似発話」とは、「旅館の仕事」と「ホテルの仕事」等、意味が類似する発話である。なお、繰り返し評価モデルM1は、セッションが有する文字列そのものではなく、文字列から生成した画像が有する特徴に基づいて、セッションの評価を行うが、このような処理の詳細については、後述する。
また、例えば、「違う」といった発話に対して「申し訳ありません」や「ごめんなさい」等といった謝罪を示す応答が提供される場合がある。このような謝罪を示す応答(以下、「謝罪応答」と総称する場合がある。)がセッションに含まれている場合、そのセッションに対して利用者があまり満足していないと推定される。そこで、情報提供装置10は、謝罪応答が含まれているか否かに基づいて、セッションを評価するモデルを生成する(ステップS7−2)。例えば、情報提供装置10は、より多くの謝罪応答が含まれているセッションに対して、より高い値の第2不満足度を出力し、より謝罪応答が含まれていないセッションに対して、より低い値の第2不満足度を出力する謝罪評価モデルM2を生成する。
また、利用者の発話には、セッションに対する利用者の印象を示唆する発話が含まれるが、このような利用者の印象を示唆する発話は、セッションの評価の指標となる発話、すなわち、指標発話として採用することができる。例えば、利用者の「使えない」や「アンインストール」等といった発話は、応答に対する利用者の非好意的な評価を示す発話、すなわち、unfavorableなフィードバックであると考えられる。このような非好意的な評価を示す発話(以下、「非好意的指標発話」と記載する。)が多く含まれるセッションは、利用者の満足度が低いと推定される。また、利用者の「すごいね」や「よくできる」といった発話は、応答に対する利用者の好意的な評価を示す発話、すなわち、favorableなフィードバックであると考えられる。このような好意的な評価を示す発話(以下、「好意的指標発話」と記載する。)が多く含まれるセッションは、利用者の満足度が高いと推定される。
すなわち、このような好意的指標発話や非好意的指標発話(以下、「指標発話」と総称する場合がある。)は、セッションに対する利用者の満足度の指標となりえる。そこで、情報提供装置10は、好意的指標発話や非好意的指標発話といった各種指標発話に基づいて、セッションを評価するモデルを生成する。
例えば、情報提供装置10は、非好意的指標発話に基づいてセッションを評価するモデルを生成する(ステップS7−3)。例えば、情報提供装置10は、セッションに含まれる発話に「使えない」や「アンインストール」等といったあらかじめ設定された非好意的指標発話がより多く含まれているセッションに対して、より高い値の第3不満足度を出力し、非好意的指標発話がより含まれていないセッションに対して、より低い値の第3不満足度を出力する非好意的指標発話評価モデルM3を生成する。
また、情報提供装置10は、好意的指標発話に基づいてセッションを評価するモデルを生成する(ステップS7−4)。例えば、情報提供装置10は、セッションに含まれる発話に「すごいね」や「よくできている」等といったあらかじめ設定された好意的指標発話がより多く含まれているセッションに対して、より高い値の第1満足度を出力し、好意的指標発話がより含まれていないセッションに対して、より低い値の第1満足度を出力する好意的指標発話評価モデルM4を生成する。なお、上述した非好意的指標発話や好意的指標発話は、後述する処理により、セッションから適宜自動的に抽出された発話であってもよい。
なお、情報提供装置10は、任意の公知技術を用いて、各モデルの学習を行ってよい。例えば、情報提供装置10は、バックプロパゲーションや強化学習、GAN(Generative Adversarial Network)等の技術を用いて、各モデルの学習を行えばよい。
そして、情報提供装置10は、各モデルが出力した各不満足度および満足度に基づいて、入力されたセッションを評価する(ステップS7−5)。例えば、情報提供装置10は、評価対象となるセッションを抽出し、抽出したセッションを繰り返し評価モデルM1、謝罪評価モデルM2、非好意的指標発話評価モデルM3、および好意的指標発話評価モデルM4のそれぞれに入力する。そして、情報提供装置10は、第1不満足度、第2不満足度、および第3不満足度の和から第1満足度を減算した値を不満足度スコアとして算出する。すなわち、情報提供装置10は、不満足度スコアとして、セッションに対して利用者が満足していない程高くなるスコアを算出する。なお、「不満足」とは、例えば、利用者がセッションにおける応答に対してイライラ(frustrated)している場合のみならず、利用者が呆れている場合等、セッションに対して非好意的な主観を有する任意の状態を含む概念である。
また、情報提供装置10は、対話履歴から抽出される各セッションから不満足度スコアをそれぞれ算出する。そして、情報提供装置10は、各セッションのうち不満足度スコアが高い方から所定の数のセッションを抽出し、抽出したセッションを利用者の満足度が低いセッションである低満足セッションとする。また、情報提供装置10は、不満足度スコアが低い方から順に所定の数のセッションを抽出し、抽出したセッションを利用者の満足度が高いセッションである高満足セッションとする。なお、情報提供装置10は、不満足度スコアが所定の閾値を超えるセッションを低満足セッションとし、不満足度スコアが所定の閾値を下回るセッションを高満足セッションとしてもよい。このような処理を実行することで、情報提供装置10は、セッションに対して利用者が満足しているか否かを評価する処理を実現する。
そして、情報提供装置10は、評価結果に基づいて、対話モデルを更新する(ステップS8)。例えば、情報提供装置10は、ある発話と、その発話に対する応答とが低満足セッションに含まれる場合、その発話に対してその応答を出力する確率を下げ、ある発話と、その発話に対する応答とが高満足セッションに含まれる場合、その発話に対してその応答を出力する確率を上げるように、応答を生成するための対話モデルを更新する。すなわち、情報提供装置10は、利用者がより満足するように、対話モデルの更新を行う。
このように、情報提供装置10は、対話サービスにおける利用者の発話と応答とを含むセッションを取得し、セッションに対する利用者の評価の指標となる複数の特徴のうちそれぞれ異なる種別の特徴に基づいてセッションを評価する複数のモデルM1〜M4の評価結果を用いて、セッションを評価する。この結果、情報提供装置10は、複数の観点から総合的にセッションを評価するので、評価の精度を向上させることができる。また、情報提供装置10は、クラウドソージング等といった人手によるセッションの評価を行わずとも、セッションの評価を自動で実現できるので、対話に対する評価を容易にすることができる。
〔1−2.情報提供装置が実行する処理について〕
なお、上述した例では、情報提供装置10が実行する処理の一例として、セッションに含まれる発話の繰り返しの有無、謝罪応答の有無、好意的指標発話や非好意的指標発話の有無に応じて、セッションの評価を行う処理の一例について記載した。しかしながら、実施形態は、これに限定されるものではない。
例えば、以下に説明するように、情報提供装置10は、様々な観点からセッションの評価を行ってよい。また、情報提供装置10は、このようなセッションの評価を行うため、セッションに含まれる発話から各種の指標発話を自動的に抽出してもよい。また、情報提供装置10は、このようなセッションの評価を行うため、利用者が対話サービスを利用する期間や頻度(以下、「エンゲージメント」と記載する場合がある。)を推定してもよい。また、情報提供装置10は、対話の履歴に基づいて、発話から応答を生成するための対話モデルの学習を行ってもよい。
すなわち、情報提供装置10は、以下に説明する各種の処理を組み合わせることで、図1に示すセッションの評価を実現すればよい。なお、以下に説明する各種の処理は、任意の組み合わせで実施してよい。
〔1−3.利用者の主観について〕
上述した説明では、情報提供装置10は、応答に対する利用者の好意的な印象若しくは非好意的な印象を示す各種指標発話を用いて、セッションの評価を行った。ここで、「好意的な印象」や「非好意的な印象」とは、利用者の好きか嫌いかといった印象のみならず、応答が正しい若しくは正しくないといった印象等、応答に対する利用者の肯定的な各種の印象や否定的な各種の印象をも含む概念である。
また、上述した説明では、情報提供装置10は、セッションに対して利用者が満足していたか否かを評価した。ここで、情報提供装置10は、満足したか否かという2値の評価のみならず、任意の態様の評価を行ってよい。例えば、情報提供装置10は、不満足度スコアの値そのものを評価結果としてもよい。また、情報提供装置10は、不満足度ではなく、利用者の満足度が高い程値が高くなり、満足度が低い程値が低くなるスコア、すなわち、満足度を算出するよう学習が行われたモデルM1〜M3を利用してもよい。また、情報提供装置10は、不満足度スコアではなく、利用者が満足した度合を示す満足度スコアをセッションごとに算出してもよい。
なお、上述した説明では、情報提供装置10は、利用者がセッションに対して「満足」したか「不満足」であったかを評価した。ここで、「満足」や「不満足」という概念は、利用者がセッションに対してイライラしているか否か等、セッションに対する利用者の好意的な各種の印象もしくは非好意的な印象をも含む概念である。
すなわち、上述した「好意的」や「満足」といった記載は、利用者による好意的な各種の印象を示すものであり、「非好意的」や「不満足」といった記載は、利用者による非好意的な各種の印象を示すものである。情報提供装置10は、応答に対する利用者の印象を示す各種指標発話に基づいて、セッションを評価するのであれば、利用者の印象の種別によらず、実施形態に記載した各種の処理により、任意の印象を軸とした評価を実現してよい。
〔1−4.指標発話に基づく評価について〕
上述した説明では、情報提供装置10は、好意的指標発話や非好意的指標発話といった各種指標発話に基づいて、セッションに利用者が満足しているか否かの評価を行った。ここで、各種の指標発話は、その指標発話が出現するまでの対話や応答等といった対象に対して利用者が好意的な印象を有しているか否かといった発話であり、セッションの評価の指標となりうる発話である。
ここで、指標発話は、指標発話が示す利用者の印象の対象によらず、セッションの評価の指標となりえる発話であれば、任意の対象に対する利用者の印象を示す発話が採用可能である。例えば、情報提供装置10は、単一の応答に対する利用者の印象を示す発話(すなわち、フィードバックとなる発話)を指標発話としてもよく、一連の対話やセッション全体に対する利用者の印象を示す発話を指標発話として採用してもよい。すなわち、情報提供装置10は、応答に対する対話サービスに対する利用者の評価を示す発話を指標発話とするのであれば、対話サービスにおける任意の対象に対する利用者の印象を示す発話を指標発話として採用してもよい。
〔2.情報提供装置の構成〕
以下、情報提供装置10が実行する各種の処理を実現する情報提供装置10が有する機能構成の一例について説明する。図2は、実施形態に係る情報提供装置の構成例を示す図である。図2に示すように、情報提供装置10は、通信部20、記憶部30、および制御部40を有する。
〔2−1.通信部について〕
通信部20は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部20は、ネットワークNと有線または無線で接続され、端末装置100および対話装置200との間で情報の送受信を行う。
〔2−2.記憶部について〕
記憶部30は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部30は、セッションログデータベース31、セッション評価データベース32、指標発話データベース33、エンゲージメントデータベース34、およびモデルデータベース35を記憶する。
以下、図3〜図7を用いて、記憶部30が記憶する各データベース31〜35の一例について説明する。セッションログデータベース31には、対話履歴がセッションごとに登録される。例えば、図3は、実施形態に係るセッションログデータベースに登録される情報の一例を示す図である。図3に示すように、セッションログデータベース31には、「セッションID(Identifier)」、「対話時刻」、「利用者ID」、および「対話内容」といった項目を有する情報が登録される。なお、図3に示す情報以外にも、対話処理における発話および応答に関する情報であれば、任意の情報がセッションログデータベース31に登録されていてよい。
ここで、「セッションID」とは、セッションを識別するための情報である。また、「対話時刻」とは、「セッションID」が示すセッションに含まれる対話が行われた日時を示す情報であり、例えば、セッションに含まれる最初の発話が取得された日時を示す情報である。また、「利用者ID」とは、「セッションID」が示すセッションに含まれる発話を行った利用者を識別する識別子である。また、「対話内容」とは、「セッションID」が示すセッションに含まれる発話および応答の内容を時系列順に並べた情報である。
例えば、図3に示す例では、セッションID「セッション#1」、対話時刻「対話時刻#1」、利用者ID「利用者#1」、対話内容「Usr:旅館の仕事 sys:宿泊施設を案内します・・・(中略)・・・」といった情報が登録されている。このような情報は、セッションID「セッション#1」が示すセッションに含まれる対話が行われた日時が「対話時刻#1」であり、そのセッションにおいて発話した利用者が「利用者#1」が示す利用者である旨を示す。また、セッションID「セッション#1」が示すセッションには、利用者の発話「旅館の仕事」が含まれ、このような発話に対する応答が「宿泊施設を案内します」であった旨を示す。
なお、図3に示す例では、「セッション#1」、「対話時刻#1」、「利用者#1」といった概念的な値を記載したが、実際には、セッションを識別する文字列や数値、日時を示す数値、利用者を識別する文字列や数値等がセッションログデータベース31に登録されることとなる。
セッション評価データベース32には、セッションに対する評価結果が登録される。例えば、図4は、実施形態に係るセッション評価データベースに登録される情報の一例を示す図である。図4に示すように、セッション評価データベース32には、「セッションID」、「セッション種別」、および「不満足度スコア」といった項目を有する情報が登録される。なお、セッション評価データベース32に登録される情報は、これに限定されるものではなく、セッションに対する評価に関する情報であれば、任意の情報が登録されていてよい。また、セッション評価データベース32は、例えば、セッションログデータベース31と統合されていてもよい。
ここで、「セッション種別」とは、対応付けられた「セッションID」が示すセッションにおける対話に対して利用者が満足したと推定されるか否かを示す情報であり、例えば、セッションに対して付与されるラベルである。例えば、「セッション種別」は、利用者が満足していない(例えば、不満足度スコアが高い)と推定される場合は、「低満足セッション」が、利用者が満足した(例えば、不満足度スコアが低い)と推定される場合は、「高満足セッション」が、そのどちらでもない(例えば、不満足度スコアが所定の範囲内に収まる場合)と推定される場合は、「中性セッション」が採用される。また、「不満足度スコア」とは、対応付けられた「セッションID」が示すセッションに対して付与された不満足度スコアの値である。
例えば、図4に示す例では、セッション評価データベース32には、セッションID「セッション#1」、セッション種別「低満足セッション」、および不満足度スコア「150」が対応付けて登録されている。このような情報は、セッションID「セッション#1」が示すセッションのセッション種別が「低満足セッション」であり、不満足度スコアが「150」であった旨を示す。なお、セッションの評価が行われていない場合は、セッション種別が「未評価」となり、不満足度スコアが算出されていない場合は、不満足度スコアが「未評価」となる。
指標発話データベース33には、各種の指標発話が登録される。例えば、図5は、実施形態に係る指標発話データベースに登録される情報の一例を示す図である。図5に示すように、指標発話データベース33には、「指標発話」、「指標種別」、「指標スコア」および「登録元」といった項目を有する情報が登録される。なお、図5に示す情報以外にも、指標発話データベース33には、指標発話に関する各種の情報が登録されていてよい。
ここで、「指標発話」とは、非好意的指標発話や好意的指標発話等、その発話が含まれるセッションにおける対話に対して利用者が満足しているか否かの指標となる発話の文字列である。また、「指標種別」とは、対応付けられた指標発話が非好意的指標発話であるか好意的指標発話であるかを示す情報である。また、「指標スコア」とは、対応付けられた「指標発話」が含まれるセッションにおける対話に対して利用者が満足していない度合を示すスコアである。また、「登録元」とは、対応付けられた指標発話が予め設定された指標発話、すなわち、シードとなる指標発話であるか、セッションから抽出処理によって自動的に抽出された指標発話であるかを示す情報であり、セッションから抽出された指標発話である場合、抽出元となったセッションのセッションIDが登録される。
例えば、図5に示す例では、指標発話データベース33には、指標発話「よくできている」、指標種別「好意的」、指標スコア「−150」および登録元「事前登録」が対応付けて登録されている。このような情報は、「よくできている」という文字列が指標発話として登録されており、指標発話の種別が「好意的」、すなわち、好意的指標発話であり、指標スコアが「−150」である旨を示す。また、このような情報は、「よくできている」という好意的指標発話が、予め事前登録された指標発話、すなわち、シードとなる指標発話である旨を示す。
エンゲージメントデータベース34には、利用者による対話サービスの利用態様を示す情報が登録される。より具体的には、エンゲージメントデータベース34には、利用期間や利用頻度といった情報、すなわち、利用者がどれくらい対話サービスを利用するかを示すエンゲージメント情報が登録される。例えば、図6は、実施形態に係るエンゲージメントデータベースに登録される情報の一例を示す図である。図6に示すように、エンゲージメントデータベース34には、「利用者ID」、「エンゲージメント履歴」、および「予測エンゲージメント」といった項目を有する情報が登録される。なお、図6に示す情報以外にも、エンゲージメントに関する情報であれば、任意の情報がエンゲージメントデータベース34に登録されていてよい。
ここで、「エンゲージメント履歴」とは、対応付けられた「利用者ID」が示す利用者による対話サービスの利用期間の履歴である履歴期間、および、利用者による対話サービスの利用頻度の履歴である「履歴頻度」を示す情報である。また、「予測エンゲージメント」とは、対応付けられた「利用者ID」が示す利用者による将来の利用期間である「予測期間」、および利用者による将来の利用頻度である「予測頻度」を示す情報である。
また、「履歴期間」とは、例えば、過去の所定の期間において利用者が連続して対話サービスを利用した期間を示す情報であり、例えば、所定の期間(例えば、数日間)を空けずに利用者が対話サービスを利用した最長の期間を示す情報である。また、「履歴頻度」とは、履歴期間の間に利用者が対話サービスを利用した頻度を示す情報であり、例えば、履歴期間の間に利用者が対話サービスを利用した回数(例えば、セッションの数)を履歴期間で除算した値である。また、「予測期間」とは、将来の所定の期間において利用者が連続して対話サービスを利用すると推定される期間を示す情報である。また、「予測頻度」とは、将来の所定の期間において利用者が対話サービスを利用すると推定される頻度を示す情報である。
例えば、図6に示す例では、利用者ID「利用者#1」、エンゲージメント履歴「履歴期間#1 履歴頻度#1」、予測エンゲージメント「予測期間#1 予測頻度#1」が対応付けて登録されている。このような情報は、利用者ID「利用者#1」が示す利用者のエンゲージメント履歴が「履歴期間#1」および「履歴頻度#1」であり、予測エンゲージメントが「予測期間#1」および「予測頻度#1」である旨を示す。
なお、図6に示す例では、「履歴期間#1」、「履歴頻度#1」、「予測期間#1」、「予測頻度#1」といった概念的な値を記載したが、実際には、各種の期間や頻度を示す数値が登録されることとなる。
モデルデータベース35には、各種のモデルが登録される。例えば、図7は、実施形態に係るモデルデータベースに登録される情報の一例を示す図である。図7に示すように、モデルデータベース35には、「モデルID」、「モデル種別」、および「モデルデータ」といった項目を有する情報が登録される。なお、図7に示す情報以外にも、モデルデータベース35には、モデルに関する各種の情報が登録されていてよい。
ここで、「モデルID」とは、モデルを識別する識別子である。また、「モデル種別」とは、モデルがどのようなモデルであるかを示す情報である。また、「モデルデータ」とは、モデルのデータである。なお、図7に示す例では、「モデルデータ#1」といった概念的な値を記載したが、実際には、モデルを構成する各種のパラメータ等の情報が登録される。
例えば、図7に示す例では、モデルデータベース35には、セッションに繰り返しが含まれているか否かに基づいてセッションを評価する「繰り返し評価モデル」、セッションに謝罪応答が含まれているか否かに基づいてセッションを評価する「謝罪評価モデル」、セッションに非好意的指標発話が含まれているか否かに基づいてセッションを評価する「非好意的指標発話評価モデル」、およびセッションに好意的指標発話が含まれているか否かに基づいてセッションを評価する「好意的指標発話評価モデル」が登録されている。
また、モデルデータベース35には、利用者が満足したと推定される対話、利用者が満足していないと推定される対話、および、そのどちらでもない対話の特徴を学習した「3値評価モデル」が登録されている。また、モデルデータベース35には、対話サービスの利用態様が所定の条件を満たす利用者の発話を含むセッションの特徴を学習した「エンゲージメントセッション評価モデル」が登録されている。また、モデルデータベース35には、疑似的に生成されたセッションであって、同一又は類似の発話を含むセッションの特徴を学習した「反復発話評価モデル」が登録されている。
また、モデルデータベース35には、対話装置200が使用するモデルであって、発話に対する応答を生成するための「対話モデル」が登録されている。また、モデルデータベース35には、利用者を疑似的に再現するモデルであって、応答が入力された場合に、その応答に対する発話を出力する「利用者模型モデル」が登録されている。
なお、モデルデータベース35には、各モデルのモデルデータとして、任意の形式のモデルの情報が登録される。例えば、各モデルは、SVM(Support Vector Machine)やDNN(Deep Neural Network)により実現されてもよい。ここで、DNNは、CNN(Convolutional Neural Network)やRNN(Recurrent Neural Network)であってもよい。また、RNNは、LSTM(Long short-term memory)等であってもよい。すなわち、各モデルは、任意の形式のモデルが採用可能である。また、各モデルは、例えば、CNNとRNNとを組み合わせたモデル等、複数のモデルを組み合わせることで実現されるモデルであってもよい。
〔2−3.制御部について〕
図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、指標発話抽出処理部50、セッション評価処理部60、エンゲージメント予測処理部70、および強化学習処理部80を有する。
セッション取得部41は、セッションの取得を行う。例えば、セッション取得部41は、対話装置200から対話履歴を取得すると、取得した対話履歴をセッションごとに分割する。例えば、セッション取得部41は、処理対象となる利用者を選択し、選択した利用者の発話を含む発話履歴を抽出する。続いて、セッション取得部41は、抽出した発話履歴における各応答と発話との間の時間を特定する。そして、セッション取得部41は、ある応答から次の発話までの間の時間が所定の期間よりも長い場合は、その応答がセッションにおける最後の応答であると判定し、判定結果に基づいて、利用者との対話をセッションに分割する。そして、セッション取得部41は、各セッションにセッションIDと利用者の利用者IDとを付与して、セッションログデータベース31に登録する。
利用態様特定部42は、利用者の利用態様を特定する。例えば、利用態様特定部42は、処理対象となる利用者を選択し、所定の期間内(例えば、過去半年)における利用者の対話サービスの利用態様を特定する。より具体的には、利用態様特定部42は、所定の期間内における履歴期間と履歴頻度とを特定する。そして、利用態様特定部42は、特定した履歴期間と履歴頻度とをエンゲージメント履歴として、利用者の利用者IDと対応付けてエンゲージメントデータベース34に登録する。
〔2−4.抽出処理について〕
指標発話抽出処理部50は、セッションの評価に用いる指標発話をセッションから抽出する抽出処理を実行する。以下、図8〜図11を用いて、指標発話抽出処理部50が実行する処理の概念、および、指標発話抽出処理部50が有する機能構成の一例を説明する。
〔2−4−1.共起性に基づく抽出処理について〕
例えば、指標発話抽出処理部50は、指標発話との共起性に基づいて、新たな指標発話の抽出を行う。例えば、図8は、シードとなる指標発話から新たな指標発話を抽出する処理の概念を示す図である。例えば、あるセッションに好意的指標発話が含まれる場合、同一のセッションには好意的指標発話が含まれやすいと考えられる。また、あるセッションに非好意的指標発話が含まれる場合、同一のセッションには、非好意的指標発話が含まれやすいと推定される。すなわち、同一のセッション内においては、好意的指標発話同士が共起しやすく、非好意的指標発話同士が共起しやすいと考えられる。
そこで、指標発話抽出処理部50は、対話サービスにおける利用者の発話と発話に対する応答との履歴から、対話サービスに対する利用者の評価の指標となる発話であって、予め設定された指標発話を特定し、特定した指標発話との共起性に基づいて、利用者の発話から新たな指標発話の抽出を行う。例えば、指標発話抽出処理部50は、予め登録されたシード非好意的指標発話やシード好意的指標発話との共起性に基づいて、各発話から新たな指標発話を抽出し、指標発話データベース33に登録する。
例えば、「すごい」という文字列がシード好意的指標発話として指標発話データベース33に登録されている場合、指標発話抽出処理部50は、セッションログデータベース31から「すごい」という文字列が発話に含まれるセッションを全て抽出する。また、指標発話抽出処理部50は、抽出したセッションに含まれる発話ごとに、その発話が含まれるセッションの数を計数する。すなわち、指標発話抽出処理部50は、発話ごとに、シード好意的指標発話との共起回数を計数する。
また、例えば、「馬鹿野郎」という文字列がシード非好意的指標発話として指標発話データベース33に登録されている場合、指標発話抽出処理部50は、セッションログデータベース31から「馬鹿野郎」という文字列が発話に含まれるセッションを全て抽出する。また、指標発話抽出処理部50は、抽出したセッションに含まれる発話ごとに、その発話が含まれるセッションの数を計数する。すなわち、指標発話抽出処理部50は、発話ごとに、シード非好意的指標発話との共起回数を計数する。
そして、指標発話抽出処理部50は、計数した共起回数の比を発話ごとに算出する。より具体的には、指標発話抽出処理部50は、シード非好意的指標発話との共起回数をシード好意的指標発話との共起回数で除算した値を発話ごとに算出する。そして、指標発話抽出処理部50は、比率が上位N個(Nは、任意の数)の発話を新たな非好意的指標発話として抽出し、比率が下位N個の発話を新たな好意的指標発話として抽出する。また、指標発話抽出処理部50は、抽出した非好意的指標発話や好意的指標発話を指標発話データベース33に登録する。
ここで、指標発話抽出処理部50は、共起ネットワーク上の活性伝播に基づいて、シード指標発話から新たな指標発話を抽出してもよい。例えば、指標発話抽出処理部50は、シード指標発話と同一のセッションに含まれる発話の共起ネットワークを生成する。例えば、指標発話抽出処理部50は、各発話をノードとし、同一のセッションに含まれる発話同士をリンクで接続したネットワークを生成する。なお、共起ネットワークの生成については、任意の公知技術が採用可能である。
続いて、指標発話抽出処理部50は、共起ネットワークからシード指標発話と対応するノードを特定し、各ノードごとに、シード指標発話と対応するノードとの間の距離(例えば、リンクを辿るホップ数)を算出する。そして、指標発話抽出処理部50は、シード非好意的指標発話と対応するノードとの距離が近く、シード好意的指標発話と対応するノードとの距離が遠いノードと対応する発話を新たな非好意的指標発話とする。また、指標発話抽出処理部50は、シード好意的指標発話と対応するノードとの距離が近く、シード非好意的指標発話と対応するノードとの距離が遠いノードと対応する発話を新たな好意的指標発話とする。
例えば、指標発話抽出処理部50は、シード好意的指標発話からの距離が所定の閾値未満となり、かつ、シード非好意的指標発話からの距離が所定の閾値以上となるノードを特定し、特定したノードと対応する発話を新たな好意的指標発話として抽出する。また、指標発話抽出処理部50は、シード好意的指標発話からの距離が所定の閾値以上となり、かつ、シード非好意的指標発話からの距離が所定の閾値未満となるノードを特定し、特定したノードと対応する発話を新たな非好意的指標発話として抽出する。そして、指標発話抽出処理部50は、抽出した各指標発話を指標発話データベース33に登録する。
なお、指標発話抽出処理部50は、上述した抽出処理によって抽出した指標発話を新たなシード指標発話とし、新たなシード指標発話を用いて上述した抽出処理を実行することで、さらに新たな指標発話の抽出を行ってもよい。
〔2−4−2.利用態様に基づく抽出処理について〕
また、例えば、指標発話抽出処理部50は、利用者の対話サービスにおける利用態様に基づいて、新たな指標発話の抽出を行う。例えば、図9は、対話サービスにおける利用態様に基づいて、新たな指標発話を抽出する処理の概念を示す図である。
例えば、対話サービスを継続して利用する期間、すなわち、利用期間が長い利用者や、対話サービスの利用頻度が高い利用者は、対話サービスに満足していると推定される。このため、利用期間が長い利用者や利用頻度が高い利用者は、好意的(好意的)な発言、すなわち、好意的指標発話を多く発話すると推定される。一方、利用期間が短い利用者や利用頻度が短い利用者は、非好意的(非好意的)な発言、すなわち、非好意的指標発話を多く発話すると推定される。
そこで、指標発話抽出処理部50は、対話サービスの利用態様が所定の条件を満たす利用者の発話を含むセッションを取得し、取得されたセッションにおける出現頻度に基づいて、対話サービスに対する利用者の評価の指標となる指標発話を抽出する。例えば、指標発話抽出処理部50は、エンゲージメントデータベース34を参照し、エンゲージメント履歴が所定の条件を満たす利用者を特定する。
例えば、指標発話抽出処理部50は、履歴期間と履歴頻度とがそれぞれ所定の閾値を超える利用者を好意的利用者として特定し、履歴期間と履歴頻度とがそれぞれ所定の閾値未満となる利用者を非好意的利用者として特定する。また、指標発話抽出処理部50は、好意的利用者の発話を含むセッションと、非好意的利用者の発話を含むセッションとを特定し、特定したセッションに含まれる発話を抽出する。
そして、指標発話抽出処理部50は、抽出した発話ごとに、好意的利用者のセッションにおける出現頻度と、非好意的利用者のセッションにおける出現頻度とをそれぞれ算出する。例えば、指標発話抽出処理部50は、発話が好意的利用者の発話を含むセッションに出現した回数を好意的利用者の発話を含むセッションの総数で除算した値を、好意的利用者のセッションにおける出現頻度として算出する。また、例えば、指標発話抽出処理部50は、発話が非好意的利用者の発話を含むセッションに出現した回数を非好意的利用者の発話を含むセッションの総数で除算した値を、非好意的利用者のセッションにおける出現頻度として算出する。
また、指標発話抽出処理部50は、非好意的利用者のセッションにおける出現頻度を好意的利用者のセッションにおける出現頻度で除算した値、すなわち、出現頻度の比率を発話ごとに算出する。そして、指標発話抽出処理部50は、算出した比率が上位N個の発話を新たな非好意的指標発話とし、下位N個の発話を新たな好意的指標発話として抽出する。
〔2−4−3.評価結果に基づく抽出処理について〕
また、例えば、指標発話抽出処理部50は、セッションの評価結果に基づいて、新たな指標発話の抽出を行う。例えば、図10は、セッションの評価結果に基づいて、新たな指標発話を抽出する処理の概念を示す図である。
例えば、セッションには後述する評価処理によって評価結果が付与されている場合がある。また、セッションには、クラウドソージング等といった人手による評価結果が付与されている場合がある。このようなセッションに対する評価結果は、そのセッションに含まれる発話から指標発話を抽出する指標となりえる。
例えば、利用者による満足度が高いセッション(すなわち、高満足セッション)には、好意的指標発話が多く含まれていると推定される。一方、利用者による満足度が低いセッション(すなわち、低満足セッション)には、非好意的指標発話が多く含まれていると推定される。
そこで、指標発話抽出処理部50は、評価が所定の条件を満たすセッションに含まれる発話のうち出現頻度が所定の条件を満たす発話を、発話が含まれるセッションに対する利用者の評価が好意的であるか否か、すなわち、セッションに対して利用者が満足しているか否かの指標となる指標発話として抽出する。例えば、指標発話抽出処理部50は、高満足セッションおよび低満足セッションに含まれる発話をそれぞれ抽出し、抽出した発話ごとに、低満足セッションにおける出現頻度と高満足セッションにおける出現頻度とを算出する。
そして、指標発話抽出処理部50は、低満足セッションにおける出現頻度を高満足セッションにおける出現頻度で除算した値を出現頻度の比率として算出する。そして、指標発話抽出処理部50は、算出した比率が上位N個の発話を新たな非好意的指標発話とし、下位N個の発話を新たな好意的指標発話として抽出する。
〔2−4−4.指標発話抽出処理部の機能構成について〕
次に、図11を用いて、指標発話抽出処理部50が有する機能構成の一例について説明する。図11は、実施形態に係る指標発話抽出処理部の機能構成の一例を示す図である。図11に示すように、指標発話抽出処理部50は、指標発話特定部51、発話抽出部52、およびネットワーク生成部53を有する。
指標発話特定部51は、対話サービスにおける利用者の発話と応答との履歴から、対話サービスに対する利用者の評価の指標となる発話であって、予め設定された指標発話を特定する。例えば、指標発話特定部51は、指標発話データベース33を参照し、指標発話を識別する。なお、指標発話特定部51は、予め登録された指標発話を識別してもよく、セッションから抽出された指標発話を識別してもよい。
そして、指標発話特定部51は、セッションログデータベース31を参照し、識別した指標発話を含むセッションを検索する。すなわち、指標発話特定部51は、セッションの履歴のうち、利用者の発話に好意的指標発話若しくは非好意的指標発話が含まれるセッションを特定する。そして、指標発話特定部51は、特定したセッション、すなわち、指標発話を含むセッションを発話抽出部52に通知する。
なお、指標発話特定部51は、図8に示す共起ネットワークから指標発話を特定する場合、ネットワーク生成部53に対して、指標発話を含むセッションを通知する。そして、指標発話特定部51は、ネットワーク生成部53により生成された共起ネットワークに含まれる各ノードのうち、識別した指標発話と対応するノード、すなわち、指標発話データベース33に登録された好意的指標発話や非好意的指標発話と対応するノードを特定する。そして、指標発話特定部51は、共起ネットワークと、特定したノードとを発話抽出部52に通知する。
発話抽出部52は、各セッションから指標発話を抽出する。例えば、発話抽出部52は、図8に示すように、シードとなる指標発話との共起性に基づいて、セッションの履歴に含まれる発話から新たな指標発話を抽出する。
例えば、発話抽出部52は、指標発話特定部51により特定されたセッション、すなわち、指標発話が含まれるセッションをセッションログデータベース31から抽出する。そして、発話抽出部52は、発話ごとに、好意的指標発話との共起性を特定し、好意的指標発話との共起性が所定の閾値を超える発話を新たな好意的指標発話として抽出する。また、発話抽出部52は、発話ごとに、非好意的指標発話との共起性を特定し、特定した共起性が所定の閾値を超える発話を新たな非好意的指標発話として抽出する。
例えば、発話抽出部52は、抽出したセッションに含まれる発話ごとに、好意的指標発話が含まれるセッションでの出現回数、および、非好意的指標発話が含まれるセッションでの出現回数を計数する。すなわち、発話抽出部52は、好意的指標発話が同一のセッション内に含まれる回数と、非好意的指標発話が同一のセッション内に含まれる回数とを発話ごとに計数する。そして、発話抽出部52は、計数した各回数の比が所定の条件を満たす発話を新たな指標発話として抽出する。例えば、発話抽出部52は、非好意的指標発話が含まれるセッションでの出現回数を好意的指標発話が含まれるセッションでの出現回数で除算した値を比率として算出し、比率が上位N個の発話を新たな非好意的指標発話とし、比率が下位N個の発話を新たな好意的指標発話とする。
なお、発話抽出部52は、単純に、好意的指標発話が含まれるセッションでの出現回数が所定の閾値を超える発話を新たな好意的指標発話としてもよい。また、発話抽出部52は、非好意的指標発話が含まれるセッションでの出現回数が所定の閾値を超える発話を新たな非好意的指標発話としてもよい。
また、発話抽出部52は、共起ネットワークと指標発話に対応するノードとの通知を受付けた場合、共起ネットワークに基づいて、指標発話との共起性が所定の条件を満たす発話を指標発話として抽出する。すなわち、発話抽出部52は、共起ネットワーク上における指標発話との距離が所定の条件を満たす発話を新たな指標発話として抽出する。
例えば、発話抽出部52は、共起ネットワーク上における好意的指標発話との距離が所定の閾値以下となる発話を新たな好意的指標発話として抽出してもよい。また、例えば、発話抽出部52は、共起ネットワーク上における非好意的指標発話との距離が所定の閾値以下となる発話を、非好意的指標発話として抽出してもよい。また、例えば、発話抽出部52は、好意的指標発話との距離が所定の閾値以下となり、かつ、非好意的指標発話との距離が所定の閾値以上となる発話を新たな好意的指標発話として抽出してもよい。また、例えば、発話抽出部52は、非好意的指標発話との距離が所定の閾値以下となり、かつ、好意的指標発話との距離が所定の閾値以上となる発話を新たな非好意的指標発話として抽出してもよい。
例えば、発話抽出部52は、共起ネットワークに含まれるノードごとに、好意的指標発話と対応するノードとの距離、および、非好意的指標発話と対応するノードとの距離を特定する。そして、発話抽出部52は、非好意的指標発話と対応するノードとの距離が所定の閾値以下となり、かつ、好意的指標発話と対応するノードとの距離が所定の閾値を超えるノードと対応する発話を新たな非好意的指標発話とする。また、発話抽出部52は、好意的指標発話と対応するノードとの距離が所定の閾値以下となり、かつ、非好意的指標発話と対応するノードとの距離が所定の閾値を超えるノードと対応する発話を新たな好意的指標発話とする。
また、発話抽出部52は、図9に示す処理を実行する場合、対話サービスの利用態様が所定の条件を満たす利用者の発話と応答とを含むセッションを取得し、取得したセッションにおける出現頻度に基づいて、指標発話を抽出する。例えば、発話抽出部52は、エンゲージメントデータベース34を参照し、所定の期間内における利用者のエンゲージメント履歴を特定する。より具体的な例を挙げると、発話抽出部52は、処理日時と直近の数か月間における履歴期間と履歴頻度とを特定する。
そして、発話抽出部52は、履歴期間が所定の閾値よりも長く、かつ、履歴頻度が所定の閾値よりも高い利用者を好意的利用者として特定する。また、発話抽出部52は、履歴期間が所定の閾値よりも短く、かつ、履歴頻度が所定の閾値よりも低い利用者を非好意的利用者として特定する。なお、発話抽出部52は、予測エンゲージメントとして登録された予測期間および予測頻度が所定の閾値を超えるか否かに基づいて、好意的利用者や非好意的利用者を特定してもよい。
そして、発話抽出部52は、非好意的利用者のセッションにおける出現頻度を好意的利用者のセッションにおける出現頻度で除算した値を、発話ごとに算出する。そして、発話抽出部52は、算出した値が上位N個の発話を新たな非好意的指標発話とし、算出した値が下位N個の発話を新たな好意的指標発話として抽出する。
すなわち、発話抽出部52は、利用態様が所定の条件を満たす利用者、すなわち、好意的利用者の発話を含むセッションにおける出現頻度が所定の閾値を超える発話を、新たな好意的指標発話として抽出する。また、発話抽出部52は、利用態様が所定の条件を満たさない利用者、すなわち、非好意的利用者の発話を含むセッションにおける出現頻度が所定の閾値を超える発話を、新たな非好意的指標発話として抽出する。
また、発話抽出部52は、図10に示す処理を実行する場合、評価が所定の条件を満たすセッションから出現頻度が所定の条件を満たす発話を指標発話として抽出する。例えば、発話抽出部52は、セッション評価データベース32を参照し、高満足セッションと低満足セッションとを特定する。また、発話抽出部52は、セッションログデータベース31を参照し、高満足セッションと低満足セッションとを抽出する。
そして、発話抽出部52は、発話ごとに、低満足セッションにおける出現頻度と高満足セッションにおける出現頻度との割合を算出し、割合が所定の条件を満たす発話を新たな指標発話として抽出する。例えば、発話抽出部52は、低満足セッションにおける出現頻度を高満足セッションにおける出現頻度で除算した値を算出し、算出した値が上位N個の発話を新たな非好意的指標発話とし、算出した値が下位N個の発話を新たな好意的指標発話として抽出する。
なお、発話抽出部52は、上述した各種の処理により抽出した指標発話を、指標発話データベース33に登録する。このように、指標発話データベース33に登録された指標発話は、登録後の処理において、シードとなる指標発話やセッションを評価するための指標発話として利用される。
ネットワーク生成部53は、発話と応答との履歴から、共起性を有する発話若しくは応答を接続する共起ネットワークを生成する。例えば、ネットワーク生成部53は、セッションログデータベース31を参照し、セッションに含まれている各発話を特定する。そして、ネットワーク生成部53は、各発話と対応するノードを設定し、各発話の共起性に基づいて、各発話と対応するノード間を接続した共起ネットワークを生成する。そして、ネットワーク生成部53は、共起ネットワークを指標発話特定部51に提供する。
〔2−5.評価処理について〕
図2に戻り、説明を続ける。セッション評価処理部60は、セッションを評価する評価処理を実行する。以下、図12〜図21を用いてセッション評価処理部60が実行する評価の概念、および、セッション評価処理部60が有する機能構成の一例を説明する。
〔2−5−1.指標発話に基づく評価処理について〕
例えば、セッション評価処理部60は、セッションに含まれる指標発話に基づいて、セッションの評価を行う。例えば、図12は、指標発話に基づいてセッションを評価する処理の概念を示す図である。例えば、あるセッションに好意的指標発話が多く含まれる場合、そのセッションに含まれる各応答に対する利用者の印象が良いと推定されるので、そのセッションに対する利用者の満足度は高いと推定される。また、あるセッションに非好意的指標発話が多い場合、そのセッションに含まれる各応答に対する利用者の印象が悪いと推定されるので、そのセッションに対する利用者の満足度は低いと推定される。
そこで、セッション評価処理部60は、セッションに含まれる非好意的指標発話の出現頻度や好意的指標発話の出現頻度に基づいて、セッションの評価を行う。例えば、セッション評価処理部60は、セッション評価データベース32を参照し、評価が行われていないセッションを評価対象として選択する。なお、セッション評価処理部60は、評価が行われたセッションを評価対象として選択してもよい。例えば、セッション評価処理部60は、評価が行われてから所定の期間が経過したセッションを評価対象として選択し直してもよい。
続いて、セッション評価処理部60は、評価対象のセッションをセッションログデータベース31から抽出し、指標発話データベース33を参照して、抽出したセッションに含まれる指標発話を特定する。そして、セッション評価処理部60は、非好意的指標発話の出現頻度の合計と、好意的指標発話の出現頻度の合計との比率を算出する。例えば、セッション評価処理部60は、処理対象となるセッションに含まれる発話のうち、非好意的指標発話として登録された発話を全て特定し、特定した発話の総数を非好意的指標発話の出現頻度の合計として特定する。また、セッション評価処理部60は、処理対象となるセッションに含まれる発話のうち、好意的指標発話として登録された発話を全て特定し、特定した発話の総数を好意的指標発話の出現頻度の合計として特定する。
そして、セッション評価処理部60は、非好意的指標発話の出現頻度の合計を、好意的指標発話の出現頻度の合計で除算した値を比率として算出する。また、セッション評価処理部60は、他のセッションに対しても同様に比率を算出し、算出した値が上位N個のセッションを低満足セッションとして抽出し、算出した値が下位N個のセッションを高満足セッションとして抽出する。
ここで、各指標発話が示唆する利用者の満足度には、差異があると考えられる。例えば、「すごいね」という発話を行った利用者は、「いいね」という発話を行った利用者よりも、対話サービスに満足しているとも考えられる。そこで、セッション評価処理部60は、指標発話が示唆する利用者の満足度の程度を考慮して、セッションの評価を行ってもよい。
例えば、指標発話データベース33には、対応する指標発話を発した利用者がどれくらい対話サービスに満足しているか、若しくは、満足していないかを示す指標スコアが付与されている(例えば、図5参照)。このような指標スコアは、例えば、クラウドソージングにより人手で提供されたものでも良く、例えば、セッションに付与される不満足度スコアと各指標発話との出現頻度との関係性から自動的に算出されたものであってもよい。例えば、情報提供装置10は、不満足度スコアがより高いセッションに多く含まれる非好意的指標発話ほどより高い値の指標スコアを算出してもよく、不満足度スコアがより低いセッションに多く含まれる好意的指標発話ほどより高い値の指標スコアを算出してもよい。
このような指標スコアが付与されている場合、セッション評価処理部60は、以下の処理を実行する。まず、セッション評価処理部60は、評価対象のセッションをセッションログデータベース31から抽出し、指標発話データベース33を参照して、抽出したセッションに含まれる指標発話を特定する。
そして、セッション評価処理部60は、処理対象となるセッションに含まれる非好意的指標発話の指標スコアの合計と、好意的指標発話の指標スコアの合計との比率を算出する。例えば、セッション評価処理部60は、処理対象となるセッションに含まれる非好意的指標発話の指標スコアの合計を、好意的指標発話の指標スコアの合計で除算した値を比率として算出する。なお、セッション評価処理部60は、各指標発話の指標スコアの絶対値の合計から、比率の算出を行ってもよい。また、セッション評価処理部60は、他のセッションに対しても同様に比率を算出し、算出した値が上位N個のセッションを低満足セッションとし、算出した値が下位N個のセッションを高満足セッションとする。その後、セッション評価処理部60は、評価結果をセッション評価データベース32に登録する。
〔2−5−2.指標発話に基づく評価処理について〕
また、例えば、セッション評価処理部60は、セッションに含まれる指標発話に基づいて、セッションを評価するモデルを用いて、セッションの評価を行う。例えば、図13は、指標発話に基づいてセッションを評価する処理の概念を示す図である。
例えば、セッション評価処理部60は、セッションログデータベース31を参照し、高満足セッションと高満足セッション以外のセッションとを学習データとして抽出する。例えば、セッション評価処理部60は、図12に示す処理による評価結果に基づいて、高満足セッションであると評価されたセッションをセッションログデータベース31から抽出する。また、セッション評価処理部60は、高満足セッションであると評価されたセッション以外のセッションをセッションログデータベース31から抽出する。
そして、セッション評価処理部60は、抽出した学習データを用いて、好意的指標発話評価モデルM4の学習を行う。例えば、セッション評価処理部60は、高満足セッションに含まれる発話および応答の文字列を入力した際に、所定の閾値よりも高い値の第1満足度を出力し、高満足セッション以外のセッションに含まれる発話および応答の文字列を入力した際に、所定の閾値よりも低い値の第1満足度を出力するように、好意的指標発話評価モデルM4の学習を行う。なお、セッション評価処理部60は、高満足セッションに含まれる発話および応答の文字列を入力した際に、高満足セッションである旨の値を出力し、高満足セッション以外のセッションに含まれる発話および応答の文字列を入力した際に、高満足セッションではない旨の値を出力するように、好意的指標発話評価モデルM4の学習を行ってもよい。
なお、高満足セッションには、好意的指標発話が多く含まれていると推定される。このため、上述した学習を行った場合、好意的指標発話評価モデルM4は、評価対象となる対象セッションに好意的指標発話が多く含まれるほど、より高い値の第1満足度を出力し、評価対象となる対象セッションに好意的指標発話が含まれないほど、より低い値の第1満足度を出力することとなる。
また、セッション評価処理部60は、セッションログデータベース31を参照し、低満足セッションと低満足セッション以外のセッションとを学習データとして抽出する。そして、セッション評価処理部60は、抽出した学習データを用いて、非好意的指標発話評価モデルM3の学習を行う。例えば、セッション評価処理部60は、低満足セッションに含まれる発話および応答の文字列を入力した際に、所定の閾値よりも高い値の第3不満足度を出力し、低満足セッション以外のセッションに含まれる発話および応答の文字列を入力した際に、所定の閾値よりも低い値の第3不満足度を出力するように、非好意的指標発話評価モデルM3の学習を行う。なお、セッション評価処理部60は、低満足セッションに含まれる発話および応答の文字列を入力した際に、低満足セッションである旨の値を出力し、低満足セッション以外のセッションに含まれる発話および応答の文字列を入力した際に、低満足セッションではない旨の値を出力するように、非好意的指標発話評価モデルM3の学習を行ってもよい。
なお、低満足セッションには、非好意的指標発話が多く含まれていると推定される。このため、上述した学習を行った場合、非好意的指標発話評価モデルM3は、評価対象となる対象セッションに非好意的指標発話が多く含まれるほど、より高い値の第3不満足度を出力し、評価対象となる対象セッションに非好意的指標発話が含まれないほど、より低い値の第3不満足度を出力することとなる。
そして、セッション評価処理部60は、非好意的指標発話評価モデルM3や好意的指標発話評価モデルM4を用いて、セッションを評価する。例えば、セッション評価処理部60は、評価対象となる対象セッションの発話や応答の文字列を非好意的指標発話評価モデルM3や好意的指標発話評価モデルM4に入力し、第3不満足度および第1満足度を取得する。そして、セッション評価処理部60は、第3不満足度や第1満足度に基づいて、セッションを評価する。
例えば、セッション評価処理部60は、第3不満足度が所定の閾値を超える場合は、対象セッションを低満足セッションと評価してもよい。また、セッション評価処理部60は、第1満足度が所定の閾値を超える場合は、対象セッションを高満足セッションと評価してもよい。また、セッション評価処理部60は、第3不満足度が所定の閾値を超え、かつ、第1満足度が所定の閾値未満となる場合は、対象セッションを低満足セッションと評価してもよい。また、セッション評価処理部60は、第3不満足度が所定の閾値未満となり、かつ、第1満足度が所定の閾値以上となる場合は、対象セッションを高満足セッションと評価してもよい。また、セッション評価処理部60は、図1に示した処理により、対象セッションを評価してもよい。
〔2−5−3.3値学習に基づく評価処理について〕
ここで、セッションに限らず各種の対話において、好意的指標発話に先駆けて行われた対話は、利用者の満足度が高く、非好意的指標発話に先駆けて行われた対話は、利用者の満足度が低いと推定される。また、指標発話が示す利用者の印象は、指標発話よりも後の対話ではなく、指標発話の直前の対話に対するものであると考えられる。
そこで、セッション評価処理部60は、指標発話と対応する一連の対話を抽出し、抽出した対話を用いて、入力された対話に対する利用者の評価を推定するモデルの学習を行ってもよい。例えば、セッション評価処理部60は、指標発話に先駆けてやり取りされた発話と応答とを抽出し、抽出した発話の特徴をモデルに学習させ、学習済のモデルを用いてセッションの評価を行ってもよい。また、セッション評価処理部60は、利用者による印象が好意的でも非好意的でもない(すなわち、満足もしていないが不満足でもない)中性的な対話の特徴を合わせてモデルに学習させてもよい。
例えば、図14は、3種類の対話の特徴を学習させた3値評価モデルを用いてセッションを評価する処理の一例を示す図である。例えば、セッション評価処理部60は、セッションログデータベース31を参照し、非好意的指標発話が含まれるセッションを特定する。続いて、セッション評価処理部60は、非好意的指標発話と、非好意的指標発話の直前に行われた所定の数の発話および応答とを非好意的対話例UDとしてセッションから抽出する。例えば、セッション評価処理部60は、「意味がわからない」という非好意的指標発話の直前に行われた2つの発話およびこれらの発話に対する応答とを抽出し、「意味がわからない」という非好意的指標発話とともに非好意的対話例UDとして抽出する。
また、セッション評価処理部60は、セッションログデータベース31を参照し、好意的指標発話が含まれるセッションを特定する。続いて、セッション評価処理部60は、好意的指標発話と、好意的指標発話の直前に行われた所定の数の発話および応答とを好意的対話例FDとしてセッションから抽出する。例えば、セッション評価処理部60は、「賢いね」という好意的指標発話の直前に行われた2つの発話およびこれらの発話に対する応答とを抽出し、「賢いね」という好意的指標発話とともに好意的対話例FDとして抽出する。
また、セッション評価処理部60は、指標発話ではない発話を中性発話として1つ選択し、選択した中性発話を含むセッションから、中性発話の直前に行われた所定の数の発話および応答とを中性対話例NDとしてセッションから抽出する。例えば、セッション評価処理部60は、「明日の天気」という中性発話の直前に行われた2つの発話およびこれらの発話に対する応答とを抽出し、「明日の天気」という中性発話とともに中性対話例NDとして抽出する。
そして、セッション評価処理部60は、非好意的対話例UD、中性対話例ND、および好意的対話例FDが有する特徴を3値評価モデルM5に学習させる。例えば、セッション評価処理部60は、非好意的対話例UDに含まれる発話および応答の文字列を入力した場合は、入力された発話および応答が非好意的対話例である旨を示す値を出力し、中性対話例NDに含まれる発話および応答の文字列を入力した場合は、入力された発話および応答が中性対話例である旨を示す値を出力し、好意的対話例FDに含まれる発話および応答の文字列を入力した場合は、入力された発話および応答が好意的対話例である旨を示す値を出力するように、3値評価モデルM5の学習を行う。すなわち、セッション評価処理部60は、入力された対話を、利用者が満足しているか(好意的対話であるか)、満足していないか(非好意的対話であるか)、それ以外であるか(中性対話であるか)の3つに分類するモデルを学習する。
そして、セッション評価処理部60は、生成した3値評価モデルM5を用いて、対象セッションの評価を行う。例えば、セッション評価処理部60は、3値評価モデルM5に対象セッションに含まれる発話および応答の文字列を入力し、3値評価モデルM5の出力に基づいて、対象セッションに利用者が満足しているか(すなわち、高満足セッションであるか)、利用者が満足していないか(すなわち、低満足セッションであるか)、それ以外であるか(すなわち、中性セッションであるか)を評価する。
なお、セッション評価処理部60は、各対話例を抽出する際、指標発話や中性発話の直前に行われた任意の数の発話および応答を抽出してよい。このように、指標発話や中性発話の直前に行われた発話および応答が有する特徴をモデルに学習させることで、モデルによる対話に対する評価、ひいては、セッションに対する評価の精度を向上させることができる。
〔2−5−4.エンゲージメントに基づく評価処理について〕
図15は、エンゲージメントに基づいてセッションを評価する処理の一例を示す図である。例えば、対話に対する満足度が高い利用者は、利用期間や利用頻度が高くなり、対話に対する満足度が低い利用者は、利用期間や利用頻度が低くなると考えられる。このため、利用期間や利用頻度等のエンゲージメントが高い利用者の発話を含むセッションは、満足度が高く、エンゲージメントが低い利用者の発話を含むセッションは、満足度が低いと推定される。そこで、セッション評価処理部60は、セッションに含まれる発話を行った利用者のエンゲージメントに基づいて、そのセッションを評価する。
例えば、セッション評価処理部60は、エンゲージメントデータベース34を参照し、所定期間内における履歴期間および履歴頻度が所定の閾値を超える利用者を特定する。続いて、セッション評価処理部60は、特定した利用者の発話を含むセッションをセッションログデータベース31から抽出し、抽出したセッションをエンゲージメントが高いユーザーのセッションとする。
一方、セッション評価処理部60は、エンゲージメントデータベース34を参照し、所定期間内における履歴期間および履歴頻度が所定の閾値未満となる利用者を特定する。続いて、セッション評価処理部60は、特定した利用者の発話を含むセッションをセッションログデータベース31から抽出し、抽出したセッションをエンゲージメントが低いユーザーのセッションとする。
そして、セッション評価処理部60は、エンゲージメントが高いユーザーのセッションと、エンゲージメントが低いユーザーのセッションとが有する特徴をエンゲージメントセッション評価モデルM6に学習させる。例えば、セッション評価処理部60は、エンゲージメントが高いユーザーのセッションに含まれる発話および応答を入力した場合は、セッションに対する利用者の満足度が高い旨を示す値を出力し、エンゲージメントが低いユーザーのセッションに含まれる発話および応答を入力した場合は、セッションに対する利用者の満足度が低い旨を示す値を出力するように、エンゲージメントセッション評価モデルM6を学習する。
例えば、セッション評価処理部60は、エンゲージメントが高いユーザーのセッションに含まれる発話および応答を入力した場合は、所定の閾値よりも高い値の評価スコアを出力し、エンゲージメントが低いユーザーのセッションに含まれる発話および応答を入力した場合は、所定の閾値よりも低い値の評価スコアを出力するように、エンゲージメントセッション評価モデルM6を学習する。すなわち、セッション評価処理部60は、エンゲージメントに基づいて抽出された学習データを用いて、入力されたセッションを、利用者の満足度が高いセッション若しくは利用者の満足度が低いセッションに分類するエンゲージメントセッション評価モデルM6を学習する。
そして、セッション評価処理部60は、エンゲージメントセッション評価モデルM6を用いて、対象セッションを評価する。例えば、セッション評価処理部60は、対象セッションに含まれる発話および応答の文字列を入力した際に、エンゲージメントセッション評価モデルM6が出力した評価スコアに基づいて、対象セッションに対して利用者が満足しているか否かを評価する。
〔2−5−5.繰り返し発話に基づく評価処理について〕
また、図16は、繰り返し発話に基づいてセッションを評価する処理の概念を示す図である。例えば、同一又は類似の発話がセッション内で繰り返されている場合、そのセッションに対する利用者の満足度は低く、同一又は類似の発話がセッション内で繰り返されていない場合、そのセッションに対する利用者の満足度は高いと推定される。そこで、セッション評価処理部60は、セッションに含まれる繰り返し発話に基づいて、セッションを評価してもよい。
例えば、セッション評価処理部60は、対象セッションに含まれる発話から、表記が類似するペアの数を表記類似ペア数として計数する。例えば、セッション評価処理部60は、Jaccard係数、Dice係数、Simpson係数等といった類似度が所定の閾値を超えるペアの数や、レーベンシュタイン距離等の各種編集距離に基づく類似度が所定の閾値を超えるペアの数を計数する。また、セッション評価処理部60は、word2vecやGloVe等を用いて、意味の類似度が所定の閾値を超えるペアの数を意味類似ペア数として算出してもよい。
そして、セッション評価処理部60は、対象セッションから抽出された表記類似ペア数や意味類似ペア数の値が所定の閾値を超える場合は、対象セッションを低満足セッションと評価し、対象セッションから抽出された表記類似ペア数や意味類似ペア数の値が所定の閾値を下回る場合は、対象セッションを高満足セッションと評価する。
また、セッション評価処理部60は、繰り返し発話を含むセッションの特徴をモデルに学習させることで、対象セッションを評価する反復発話評価モデルM7の学習を行ってもよい。例えば、セッション評価処理部60は、繰り返し発話を含むセッション(例えば、各ペア数が所定の閾値を超えるセッション)を入力した際に、入力されたセッションが低満足セッションである旨を出力するように反復発話評価モデルM7を学習させてもよい。また、セッション評価処理部60は、このような反復発話評価モデルM7を用いて、対象セッションの評価を行ってもよい。
〔2−5−6.繰り返し発話の自動生成について〕
ここで、セッション評価処理部60は、繰り返し発話を含むセッションを自動生成し、生成したセッションの特徴を反復発話評価モデルM7に学習させてもよい。例えば、図17は、自動生成したデータの特徴を学習させたモデルを用いてセッションを評価する処理の概念を示す図である。例えば、セッション評価処理部60は、セッションログデータベース31を参照し、いずれかの発話をシード発話として抽出する。例えば、セッション評価処理部60は、「今日の天気は」といった発話をシード発話として抽出する。
続いて、セッション評価処理部60は、抽出したシード発話から、シード発話と類似する発話を複数生成する。例えば、セッション評価処理部60は、音声認識のミスやタイプミス等を模倣するため、「今日の天気は」といったシード発話の文字列に含まれる単語や文字をランダムに削除、若しくは音が類似する単語や文字列に置換した発話を複数生成する。より具体的な例を挙げると、セッション評価処理部60は、「今日の天気は」というシード発話の文字列から、「今日の電気は」、「業の電気は」、「今日を電気は」といった文字列を複製発話として生成する。
また、セッション評価処理部60は、セッションログデータベース31からシード発話とは異なる発話を混在発話として1つ若しくは複数抽出する。例えば、セッション評価処理部60は、「牡羊座の運勢」といった発話を混在発話として抽出する。そして、セッション評価処理部60は、シード発話と、シード発話から生成した複数の複製発話と、混在発話とをランダムに並び替えて、疑似的な発話からなるセッションを反復セッションRSとして生成する。例えば、図17に示す例では、セッション評価処理部60は、シード発話である「今日の天気は」という文字列を利用者の発話「Usr:今日の天気は」として含み、複製発話である「今日の電気は」という文字列を利用者の発話「Usr:今日の電気は」として含み、混在発話である「牡羊座の運勢」という文字列を利用者の発話「Usr:牡羊座の運勢」として含み、シード発話である「今日の天気は」という文字列を利用者の発話「Usr:今日の天気は」として再度含み、複製発話である「業の天気は」という文字列および「今日を電気は」を利用者の発話「Usr:業の天気は」および「Usr:今日を電気は」として含む反復セッションRSを生成する。
すなわち、セッション評価処理部60は、疑似的に繰り返し発話を含むセッションを生成する。なお、セッション評価処理部60は、複数のシード発話を抽出し、各シード発話から複製発話を生成してもよい。
また、セッション評価処理部60は、セッションログデータベース31を参照し、ランダムに複数の発話を抽出する。そして、セッション評価処理部60は、抽出した発話をランダムに並び替えたセッションを非反復セッションNRSとして生成する。そして、セッション評価処理部60は、反復セッションRSと、非反復セッションNRSとを学習データとして、反復発話評価モデルM7の学習を行う。例えば、セッション評価処理部60は、反復セッションRSが入力された場合に、利用者が満足していない旨を示すスコアを出力し、非反復セッションNRSが入力された場合に、利用者が満足している旨を示すスコアを出力するように、反復発話評価モデルM7の学習を行う。
そして、セッション評価処理部60は、反復発話評価モデルM7を用いて、対象セッションを評価する。例えば、セッション評価処理部60は、対象セッションを入力した際に、反復発話評価モデルM7が出力するスコアの値に基づいて、対象セッションに対して利用者が満足しているか否かを評価する。
〔2−5−7.画像を用いた繰り返し発話の評価について〕
ここで、セッション評価処理部60は、画像を用いた繰り返し発話の評価を行ってもよい。例えば、図18は、画像を用いた繰り返し発話の評価の概念を示す図である。例えば、縦方向および横方向に同じ数の領域を設定した正方形の画像を設定し、あるセッションに含まれる発話の文字列の各文字を画像の縦方向および横方向に対応付け、縦方向および横方向に同じ文字が対応付けられた領域を塗りつぶした画像を生成した場合、かかる画像は、発話の文字列に含まれる同一文字の分布を示す分布画像となる。このような分布画像には、発話の文字列に繰り返しが含まれる場合、斜線を構成するように塗りつぶされた領域が含まれる。すなわち、あるセッションに類似する発話が含まれる場合、分布画像には斜線が現れることとなる。
近年、画像解析技術の進歩により、DNN等を用いたモデルによる類似画像の判定精度が向上している。このため、単純にセッションに含まれる発話の文字列の特徴を学習するよりも、分布画像が有する特徴を学習した方が、繰り返し発話を含むセッションの特徴を精度良く学習できると考えられる。
そこで、セッション評価処理部60は、分布画像が有する特徴を繰り返し評価モデルM1に学習させ、繰り返し評価モデルM1を用いて、対象セッションの評価を行ってもよい。例えば、セッション評価処理部60は、図16に示すように、表記類似ペアや意味類似ペアの数が所定の閾値を超えるセッションを繰り返し発話を含むセッションとしてセッションログデータベース31から抽出する。なお、セッション評価処理部60は、図17に示す手法により生成した反復セッションRSを繰り返し発話を含むセッションとして取得してもよい。そして、セッション評価処理部60は、繰り返し発話を含むセッションの各発話から、分布画像を生成する。
一方、セッション評価処理部60は、図16に示すように、表記類似ペアや意味類似ペアの数が所定の閾値を下回るセッションを繰り返し発話を含まないセッションとしてセッションログデータベース31から抽出する。なお、セッション評価処理部60は、図17に示す手法により生成した非反復セッションNRSを繰り返し発話を含まないセッションとして取得してもよい。そして、セッション評価処理部60は、繰り返し発話を含まないセッションの各発話から、分布画像を生成する。
そして、セッション評価処理部60は、生成した分布画像が有する特徴を繰り返し評価モデルM1に学習させる。例えば、セッション評価処理部60は、繰り返し発話を含むセッションの各発話から生成した分布画像が入力された場合は、利用者が満足していない旨を示すスコアを出力し、繰り返し発話を含まないセッションの各発話から生成した分布画像が入力された場合は、利用者が満足している旨を示すスコアを出力するように、繰り返し評価モデルM1の学習を行う。
続いて、セッション評価処理部60は、対象セッションに含まれる各発話から、分布画像を生成し、生成した分布画像を繰り返し評価モデルM1に入力する。そして、セッション評価処理部60は、繰り返し評価モデルM1が出力スコアに基づいて、対象セッションに対して利用者が満足しているか否かを評価する。
〔2−5−8.謝罪応答に基づいた評価について〕
また、図19は、謝罪応答に基づいてセッションを評価する処理の概念を示す図である。図19に示すように、謝罪応答が含まれるセッションに対する利用者の満足度は低く、謝罪応答が含まれないセッションに対する利用者の満足度は高いと推定される。そこで、セッション評価処理部60は、謝罪応答に基づいたセッションの評価を行ってもよい。
例えば、セッション評価処理部60は、セッションログデータベース31を参照し、予め登録された所定の謝罪応答が含まれるセッションを抽出する。また、セッション評価処理部60は、所定の謝罪応答が含まれないセッションを抽出する。そして、セッション評価処理部60は、抽出したセッションが有する特徴を謝罪評価モデルM2に学習させる。例えば、セッション評価処理部60は、謝罪応答を含むセッションが入力された場合は、利用者が満足していない旨を示すスコアを出力し、謝罪応答を含まないセッションが入力された場合は、利用者が満足している旨を示すスコアを出力するように、謝罪評価モデルM2の学習を行う。
続いて、セッション評価処理部60は、対象セッションを謝罪評価モデルM2に入力する。そして、セッション評価処理部60は、謝罪評価モデルM2が出力スコアに基づいて、対象セッションに対して利用者が満足しているか否かを評価する。
〔2−5−9.各評価基準の組み合わせについて〕
なお、セッション評価処理部60は、上述した各評価手法を組み合わせることで、対象セッションの評価を行ってもよい。例えば、図20は、複数の評価手法を組み合わせてセッションを評価する処理の概念を示す図である。図20に示すように、セッション評価処理部60は、繰り返し評価モデルM1、謝罪評価モデルM2、非好意的指標発話評価モデルM3、好意的指標発話評価モデルM4、3値評価モデルM5、エンゲージメントセッション評価モデルM6、および反復発話評価モデルM7を生成する。そして、セッション評価処理部60は、各モデルM1〜M7のそれぞれに対象セッションや対象セッションから生成した分布画像を入力し、対象セッションを評価する。
例えば、繰り返し評価モデルM1は、対象セッションの分布画像が繰り返しセッションの分布画像と類似する場合、すなわち、対象セッションに発話の繰り返しがあると、利用者の満足度が低い旨の評価を出力する。また、謝罪評価モデルM2は、対象セッションに謝罪発話が含まれると、利用者の満足度が低い旨の評価を出力する。また、非好意的指標発話評価モデルM3は、対象セッションに非好意的指標発話が含まれると、利用者の満足度が低い旨の評価を出力する。また、好意的指標発話評価モデルM4は、対象セッションに好意的指標発話が含まれると、利用者の満足度が高い旨の評価を出力する。
また、3値評価モデルM5は、対象セッションに利用者が満足している対話と特徴が類似する対話が含まれると、利用者の満足度が高い旨の評価を出力する。また、エンゲージメントセッション評価モデルM6は、対象セッションの特徴が、エンゲージメントが高い利用者の発話を含むセッションと特徴が類似する場合、すなわち、満足度が高い利用者の発話を含むセッションと類似する場合は、利用者の満足度が高い旨の評価を出力する。また、反復発話評価モデルM7は、対象セッションに発話の繰り返しがあると、利用者の満足度が低い旨の評価を出力する。
セッション評価処理部60は、これら各モデルM1〜M7による評価結果の組み合わせに基づいて、対象セッションを評価する。例えば、セッション評価処理部60は、対象セッションに対する利用者の満足度が高いと判定したモデルの数と、利用者の満足度が低いと判定したモデルの数とを計数し、満足度が高いと判定したモデルの数が満足度が低いと判定したモデルの数よりも多い場合は、対象セッションに対する利用者の満足度が高いと判定してもよい。すなわち、セッション評価処理部60は、多数決により、対象セッションの評価を行ってもよい。
また、セッション評価処理部60は、各モデルM1〜M7のうち、一部のモデルの評価結果を用いて、対象セッションの評価を行ってもよい。また、例えば、セッション評価処理部60は、各モデルM1〜M7が出力するスコアを統合してもよい。例えば、セッション評価処理部60は、モデルM1、M2、M3、M7のスコアの和から、モデルM4〜M6のスコアを減算したスコアを算出し、算出したスコアの値に基づいて、対象セッションを評価してもよい。
また、セッション評価処理部60は、各モデルM1〜M7を用いた評価結果をさらに学習してもよい。例えば、セッション評価処理部60は、利用者の満足度が高いと評価されたセッションと、利用者の満足度が低いと評価されたセッションとを学習データとして、モデルに学習させ、かかるモデルを用いて、対象セッションの評価を行ってもよい。また、指標発話抽出処理部50は、このようなセッション評価処理部60による評価結果に基づいて、指標発話の抽出を行ってもよい。例えば、指標発話抽出処理部50は、セッション評価処理部60によって満足度が高いと評価されたセッション、すなわち、高満足セッションから好意的指標発話を抽出し、セッション評価処理部60によって満足度が低いと評価されたセッション、すなわち、低満足セッションから非好意的指標発話を抽出してもよい。
〔2−5−10.ラベル付きデータの自動拡張について〕
ここで、セッション評価処理部60は、各モデルM1〜M7の学習に用いるセッションのデータを自動拡張してもよい。例えば、図21は、ラベル付きセッションを自動拡張する処理の概念を示す図である。
例えば、セッション評価処理部60は、利用者の満足度が低いセッション、すなわち、低満足セッションに含まれる各発話をそれぞれ抽出し、セッションログデータベース31から、抽出した各発話と類似する他の発話を検索する。また、セッション評価処理部60は、低満足セッションに含まれる各応答をそれぞれ抽出し、セッションログデータベース31から、抽出した各応答と類似する他の応答を検索する。
そして、セッション評価処理部60は、検索した発話および応答とを組み合わせることで、新たなセッションを疑似的に生成し、生成した新たなセッションを低満足セッションとして、モデルM1〜M7の学習時における学習データとして採用してもよい。
〔2−5−11.セッション評価処理部の機能構成について〕
次に、図22を用いて、セッション評価処理部60が有する機能構成の一例について説明する。図22は、実施形態に係るセッション評価処理部の機能構成の一例を示す図である。図22に示すように、セッション評価処理部60は、学習データ抽出部61、学習部62、画像生成部63、発話群生成部64、および評価部65を有する。
学習データ抽出部61は、学習データとなるセッションの抽出を行う。例えば、学習データ抽出部61は、図12に示すように、好意的指標発話の出現頻度や、好意的指標発話の指標スコアの合計が所定の条件を満たすセッションを、好意的指標発話評価モデルM4の学習データとなる高満足セッションとして抽出する。また、学習データ抽出部61は、高満足セッション以外のセッションを、好意的指標発話評価モデルM4の学習データとなる高満足セッション以外のセッションとして抽出する。
また、例えば、学習データ抽出部61は、図12に示すように、非好意的指標発話の出現頻度や、非好意的指標発話の指標スコアの合計が所定の条件を満たすセッションを、非好意的指標発話評価モデルM3の学習データとなる高満足セッションとして抽出する。また、学習データ抽出部61は、低満足セッション以外のセッションを、非好意的指標発話評価モデルM3の学習データとなる低満足セッション以外のセッションとして抽出する。
なお、学習データ抽出部61は、セッション評価データベース32を参照し、高満足セッションおよび低満足セッションを特定し、特定した高満足セッションおよび低満足セッションを非好意的指標発話評価モデルM3および好意的指標発話評価モデルM4の学習データとして、セッションログデータベース31から抽出してもよい。
また、学習データ抽出部61は、図15に示すように、利用者のエンゲージメントに基づいて、エンゲージメントセッション評価モデルM6の学習データとなるセッションの抽出を行ってもよい。例えば、学習データ抽出部61は、エンゲージメントデータベース34を参照し、各利用者の利用態様、すなわち、履歴期間と履歴頻度とを特定する。そして、学習データ抽出部61は、特定された利用態様が所定の条件を満たす利用者を特定し、特定した利用者の発話を含むセッションをセッションログデータベース31から抽出する。
例えば、学習データ抽出部61は、履歴期間や履歴頻度が所定の閾値を超える利用者を特定し、特定した利用者の発話を含むセッションを、エンゲージメントが高いユーザーのセッションとして、セッションログデータベース31から抽出する。また、学習データ抽出部61は、履歴期間や履歴頻度が所定の閾値を下回る利用者を特定し、特定した利用者の発話を含むセッションを、エンゲージメントが低いユーザーのセッションとして、セッションログデータベース31から抽出する。そして、学習データ抽出部61は、抽出した各セッションを、エンゲージメントセッション評価モデルM6の学習データとしてもよい。
すなわち、学習データ抽出部61は、利用態様が前記所定の条件を満たす利用者の発話を含むセッションを、利用者の満足度が高いという第1属性を有する学習データとして抽出する。また、学習データ抽出部61は、利用態様が所定の条件を満たさない利用者の発話を含むセッションを、利用者の満足度が低いという第2属性を有する学習データとして抽出する。
また、学習データ抽出部61は、図16に示すように、セッションログデータベース31から、表記類似ペアの数や意味類似ペアの数が多いセッションを低満足セッションとして抽出し、表記類似ペアの数や意味類似ペアの数が少ないセッションを高満足セッションとして抽出する。そして、学習データ抽出部61は、抽出したセッションを、繰り返し評価モデルM1や反復発話評価モデルM7の学習データの元となるセッションとしてもよい。
また、学習データ抽出部61は、図19に示すように、セッションログデータベース31から、謝罪応答が含まれるセッションと、謝罪応答が含まれないセッションとを、謝罪評価モデルM2の学習データとして抽出する。
なお、上述した処理に限らず、学習データ抽出部61は、各モデルM1〜M7の学習に有用なセッションを学習データとして抽出してもよい。例えば、学習データ抽出部61は、セッション評価データベース32に登録されたセッションの評価結果に基づいて、高満足セッションや低満足セッションを各モデルM1〜M7の学習データとして抽出してもよい。
学習部62は、各モデルM1〜M7の学習を行う。例えば、学習部62は、図13に示すように、学習データ抽出部61によって抽出された学習データとして、非好意的指標発話評価モデルM3および好意的指標発話評価モデルM4の学習を行う。
例えば、学習部62は、図13に示すように、評価が所定の条件を満たすセッションが有する特徴を非好意的指標発話評価モデルM3や好意的指標発話評価モデルM4に学習させる。例えば、学習部62は、学習データ抽出部61により抽出された高満足セッションと、高満足セッション以外のセッションを学習データとして好意的指標発話評価モデルM4の学習を行う。すなわち、学習部62は、入力された対象セッションを高満足セッションとそれ以外のセッションとに分類する好意的指標発話評価モデルM4を学習する。
また、学習部62は、学習データ抽出部61により抽出された低満足セッションと、低満足セッション以外のセッションを学習データとして非好意的指標発話評価モデルM3の学習を行う。すなわち、学習部62は、入力された対象セッションを低満足セッションとそれ以外のセッションとに分類する非好意的指標発話評価モデルM3を学習する。
また、学習部62は、発話群生成部64により生成された対話例を学習データとして、図14に示すように、3値評価モデルM5の学習を行う。すなわち、学習部62は、指標発話と対応する一連の対話を学習データとして、3値評価モデルM5の学習を行う。例えば、発話群生成部64は、非好意的指標発話の直前に行われた所定の数の発話および応答を非好意的対話例UDとして抽出し、好意的指標発話の直前に行われた所定の数の発話および応答とを好意的対話例FDとして抽出し、中性発話の直前に行われた所定の数の発話および応答とを中性対話例NDとして抽出する。このような場合、学習部62は、非好意的対話例UD、好意的対話例FD、および中性対話例NDを学習データとして、対象セッションの評価を行う3値評価モデルM5の学習を行う。すなわち、学習部62は、対象セッションにおける対話に対する利用者の評価を推定するモデルの学習を行う。
例えば、学習部62は、非好意的対話例UDを、利用者による評価が非好意的である対話の学習データとする。また、学習部62は、好意的対話例FDを、利用者による評価が好意的である対話の学習データとする。また、学習部62は、中性対話例NDを、利用者による評価が中立的である対話の学習データとする。そして、学習部62は、学習データが有する特徴を3値評価モデルM5に学習させることで、利用者による評価が非好意的な対話、好意的な対話、あるいは中立的な対話へと入力された対話を分類するモデルを実現する。
また、学習部62は、図15に示すように、学習データ抽出部61により抽出されたエンゲージメントが高いユーザーのセッションやエンゲージメントが低いユーザーのセッションを学習データとして、エンゲージメントセッション評価モデルM6の学習を行う。すなわち、学習部62は、入力された対象セッションを、エンゲージメントが高いユーザーによるセッションと類似するセッション(以下、「第1属性のセッション」と記載する。)、もしくは、エンゲージメントが低いユーザーによるセッションと類似するセッション(以下、「第2属性のセッション」と記載する。)に分類するエンゲージメントセッション評価モデルM6の学習を行う。
ここで、エンゲージメントが高いユーザーによるセッションは、利用者による満足度が高いと推定され、エンゲージメントが低いユーザーによるセッションは、利用者による満足度が低いと推定される。このため、第1属性のセッションは、利用者による評価が好意的なセッション、すなわち、高満足セッションであり、第2属性のセッションは、利用者による評価が非好意的なセッション、すなわち、低満足セッションであると言える。このため、学習部62は、対象コンテンツに対する利用者の印象が好意的であるか非好意的であるかを判定するエンゲージメントセッション評価モデルM6を学習することができる。
また、学習部62は、図17や図18に示すように、繰り返し発話を含むセッションを学習データとして、反復発話評価モデルM7や繰り返し評価モデルM1の学習を行う。例えば、学習部62は、図17に示す手法により発話群生成部64がシード発話や混在発話から生成した反復セッションRSと、非反復セッションNRSとを取得すると、取得した反復セッションRSと、非反復セッションNRSとを学習データとして、反復発話評価モデルM7の学習を行う。すなわち、学習部62は、対象セッションを、繰り返し発話を含むセッション、または、繰り返し発話を含まないセッションに分類する反復発話評価モデルM7の学習を行う。
ここで、繰り返し発話を含むセッションは、利用者の印象が非好意的であり、繰り返し発話を含まないセッションは、利用者の印象が好意的であると推定される。このため、学習部62は、対象コンテンツに対する利用者の印象が好意的であるか非好意的であるかを判定する反復発話評価モデルM7を学習することができる。
また、学習部62は、画像生成部63が繰り返し発話を含むセッションから生成した分布画像、および画像生成部63が繰り返し発話を含まないセッションから生成した分布画像を学習データとして取得する。このような場合、学習部62は、これらの分布画像を学習データとして、繰り返し評価モデルM1の学習を行う。より具体的には、学習部62は、入力された画像を、繰り返し発話を含むセッションから生成した分布画像に類似する画像、もしくは、繰り返し発話を含まないセッションから生成した分布画像に類似する画像に分類する繰り返し評価モデルM1の学習を行う。
ここで、繰り返し発話を含むセッションの分布画像には、斜線が現れやすく、繰り返し発話を含まないセッションの分布画像には、斜線が表れにくい。さらに、繰り返し発話を含むセッションは、利用者の印象が非好意的であり、繰り返し発話を含まないセッションは、利用者の印象が好意的であると推定される。このため、学習部62は、対象セッションの発話文字列を縦横に対応付けた分布画像を分類することで、対象セッションに対する利用者の印象が好意的であるか非好意的であるかを判定する繰り返し評価モデルM1を学習することができる。
また、学習部62は、図19に示すように、学習データ抽出部61が抽出したセッションを学習データとして、謝罪評価モデルM2の学習を行う。例えば、学習部62は、入力された対象セッションを、謝罪応答が含まれるセッションと類似するセッション、若しくは、謝罪応答が含まれないセッションと類似するセッションに分類する謝罪評価モデルM2の学習を行う。
ここで、謝罪応答を含むセッションは、利用者の印象が非好意的であり、謝罪応答を含まないセッションは、利用者の印象が好意的であると推定される。このため、学習部62は、謝罪応答に基づいて、対象セッションに対する利用者の印象が好意的であるか非好意的であるかを判定する謝罪評価モデルM2を学習することができる。
なお、学習部62は、図21に示すように、学習データとして取得した低満足セッションから、新たな低満足セッションを生成し、学習データに加えてもよい。例えば、学習部62は、学習データとして取得したセッションに含まれる各発話および各応答と類似する発話および応答をそれぞれセッションログデータベース31から抽出し、抽出した発話および応答を組み合わせることで、新たな学習データを生成してもよい。
ここで、学習部62は、新たな学習データの生成に対し、生成元となった学習データと同じラベルを付与すればよい。例えば、学習部62は、好意的指標発話が多いセッション、エンゲージメントが高いユーザーのセッション、好意的対話例FD、非反復セッションNRS等、利用者の印象が好意的な対話例から、利用者の印象が好意的な対話例を新たに生成し、学習データとしてもよい。また、例えば、学習部62は、非好意的指標発話が多いセッション、エンゲージメントが低いユーザーのセッション、非好意的対話例ND、反復セッションRS等、利用者の印象が非好意的な対話例から、利用者の印象が非好意的な対話例を新たに生成し、学習データとしてもよい。
画像生成部63は、分布画像の生成を行う。例えば、画像生成部63は、学習データ抽出部61によって抽出された繰り返し発話を含むセッションや、繰り返し発話を含まないセッションを取得する。また、画像生成部63は、発話群生成部64により、図17に示すように生成された反復セッションRSや非反復セッションNRSを取得する。なお、画像生成部63は、図21に示すように、取得したセッションから新たなセッションを生成してもよい。
そして、画像生成部63は、取得したセッションに含まれる発話の文字が相互に同一か否かを示す分布画像を生成する。すなわち、画像生成部63は、セッションにおける同一文字の分布を示す画像を生成する。例えば、画像生成部63は、セッションに含まれる発話の文字列を画像の縦方向の各領域と横方向の各領域とに対応付けた場合に、縦方向と横方向とに同一の文字が対応付けられた領域に対して所定の色彩を付した画像を生成する。
発話群生成部64は、非好意的対話例UD、好意的対話例FDおよび中性対話例NDの抽出を行う。すなわち、発話群生成部64は、対話サービスにおける履歴から指標発話を特定し、特定した指標発話と対応する一連の対話を対話群として抽出する。例えば、発話群生成部64は、指標発話から所定の数だけ前の応答および発話を学習データとして抽出する。なお、指標発話よりも前の応答や発話から、いくつの応答や発話を対話例として抽出するかについては、任意の設定が可能である。
例えば、発話群生成部64は、セッションログデータベース31を参照し、好意的指標発話を含むセッションを特定する。続いて、発話群生成部64は、好意的指標発話から所定の数だけ前の応答および発話を好意的対話例FDとして抽出する。同様に、発話群生成部64は、非好意的指標発話を含むセッションを特定し、非好意的指標発話から所定の数だけ前の応答および発話を非好意的対話例UDとして抽出する。また、発話群生成部64は、中性発話を含むセッションを特定し、中性発話から所定の数だけ前の応答および発話を中性対話例NDとして抽出する。
また、発話群生成部64は、反復セッションRS(すなわち、第1発話群)および非反復セッションNRS(すなわち、第2発話群)を生成する。例えば、発話群生成部64は、対話サービスにおける履歴からいずれかの発話を選択し、選択した発話と同一又は類似する発話を複数含む発話群を生成する。
より具体的な例を挙げると、発話群生成部64は、シード発話をセッションログデータベース31から抽出し、シード発話と類似する複製発話を複数生成する。また、発話群生成部64は、セッションログデータベース31から混在発話を抽出する。そして、発話群生成部64は、シード発話と、複数の複製発話と、混在発話とをランダムに並び替えて、疑似的な発話からなるセッションを反復セッションRSとして生成する。また、発話群生成部64は、セッションログデータベース31を参照し、ランダムに複数の発話を抽出し、抽出した発話をランダムに並び替えたセッションを非反復セッションNRSとして生成する。
なお、発話群生成部64は、非好意的対話例UD、好意的対話例FDもしくは中性対話例ND(以下、「対話例」と総称する)に含まれる発話および応答と類似する発話および応答を抽出し、抽出した発話および応答を組み合わせることで、新たな対話例を生成してもよい。例えば、発話群生成部64は、図21に示す手法により、非好意的対話例UDから新たな非好意的対話例UDを生成してもよく、好意的対話例FDから新たな好意的対話例FDを生成してもよく、中性対話例NDから新たな中性対話例NDを生成してもよい。また、発話群生成部64は、反復セッションRSから新たな反復セッションRSを生成してもよく、非反復セッションNRSから新たな非反復セッションNRSを生成してもよい。
評価部65は、セッションの評価を行う。例えば、評価部65は、セッションログデータベース31から評価対象となる対象セッションを選択する。そして、評価部65は、指標発話データベース33を参照し、指標発話抽出処理部50により抽出された指標発話やシードとなる指標発話の出現頻度に基づいて、対象セッションを評価する。
例えば、評価部65は、非好意的指標発話や好意的指標発話が含まれているか否かに基づいて、対象セッションを評価する。例えば、評価部65は、図12に示すように、対象セッションについて、非好意的指標発話の出現頻度と好意的指標発話の出現頻度との比に基づいて、対象セッションが低満足セッションであるか高満足セッションであるかを評価する。また、評価部65は、非好意的指標発話の指標スコアの合計と、好意的指標発話の指標スコアの合計との比に基づいて、対象セッションが低満足セッションであるか高満足セッションであるかを評価してもよい。
ここで、セッションの評価に用いられる指標発話には、指標発話抽出処理部50により抽出された指標発話、すなわち、シードとなる指標発話との共起性により抽出された指標発話が含まれる。このため、評価部65は、例えば、非好意的指標発話との共起性が所定の条件を満たす発話の出現頻度や、好意的指標発話との共起性が所定の条件を満たす発話の出現頻度に基づいて、対象セッションの評価を行うこととなる。
また、セッションの評価に用いられる指標発話には、指標発話抽出処理部50により利用者のエンゲージメントに基づいて抽出された指標発話が含まれる。すなわち、指標発話には、利用態様が所定の条件を満たす利用者のセッションでの出現頻度や、利用態様が所定の条件を満たさない利用者のセッションでの出現頻度に基づいて抽出された指標発話が含まれる。このため、評価部65は、利用態様が所定の条件を満たす利用者の発話と、利用態様が所定の条件を満たさない利用者の発話とに基づいて、対象セッションを評価することとなる。
また、セッションの評価に用いられる指標発話には、低満足セッションにおける出現頻度と高満足セッションにおける出現頻度との比に基づいて抽出された指標発話が含まれる。このため、評価部65は、低満足セッションにおける出現頻度が所定の条件を満たす発話と、高満足セッションにおける出現頻度が所定の条件を満たす発話とに基づいて、対象セッションを評価することとなる。
また、評価部65は、図13に示すように、高満足セッションが有する特徴を学習した好意的指標発話評価モデルM4を用いて、対象セッションを評価してもよい。また、評価部65は、低満足セッションが有する特徴を学習した非好意的指標発話評価モデルM3を用いて、対象セッションを評価してもよい。例えば、評価部65は、非好意的指標発話評価モデルM3や好意的指標発話評価モデルM4をモデルデータベース35から読出し、非好意的指標発話評価モデルM3や好意的指標発話評価モデルM4に対象セッションを入力する。そして、評価部65は、非好意的指標発話評価モデルM3や好意的指標発話評価モデルM4が出力するスコアに基づいて、対象セッションの評価を行ってもよい。例えば、評価部65は、非好意的指標発話評価モデルM3により、非好意的指標発話が含まれるセッションに類似すると分類された場合は、対象セッションを低満足セッションと評価し、好意的指標発話評価モデルM4により、好意的指標発話が含まれるセッションに類似すると分類された場合は、対象セッションを高満足セッションと評価してもよい。
また、評価部65は、図14に示すように、非好意的対話例UD、中性対話例ND、および好意的対話例FDの特徴を学習した3値評価モデルM5を用いて、対象セッションの評価を行ってもよい。例えば、評価部65は、モデルデータベース35から読み出した3値評価モデルM5に対象セッションを入力し、3値評価モデルM5による分類結果に基づいて、対象セッションを評価してもよい。例えば、評価部65は、3値評価モデルM5により、対象セッションが非好意的対話例UDに類似すると分類された場合は、対象セッションを低満足セッションと評価し、好意的対話例FDに類似すると分類された場合は、対象セッションを高満足セッションと評価してもよい。
また、評価部65は、図15に示すように、利用態様が所定の条件を満たす利用者の発話を含むセッションとの類似性に基づいて、対象セッションを評価してもよい。例えば、評価部65は、エンゲージメントが高いユーザのセッションと、エンゲージメントが低いユーザーのセッションとの特徴を学習したエンゲージメントセッション評価モデルM6に対象セッションを入力し、エンゲージメントセッション評価モデルM6の分類結果に基づいて、対象セッションを評価してもよい。例えば、評価部65は、エンゲージメントセッション評価モデルM6により、対象セッションがエンゲージメントが高いユーザーのセッションに類似すると分類された場合は、対象セッションを高満足セッションと評価してもよい。
また、評価部65は、図16〜18に示すように、繰り返し発話に基づいて、対象セッションを評価してもよい。例えば、評価部65は、対象セッションに同一又は類似の文字列が繰り返し出現している場合は、対象セッションを低満足セッションと評価し、対象セッションに同一又は類似の文字列が繰り返し出現していない場合は、対象セッションを高満足セッションと評価してもよい。
また、評価部65は、文字列の類似度や意味的な類似度が所定の閾値を超える発話の対の数に基づいて、対象セッションを評価してもよい。例えば、評価部65は、図16に示すように、対象セッションに含まれる表記類似ペア数や意味類似ペア数の数が所定の閾値を超える場合は、対象セッションを低満足セッションと評価し、表記類似ペア数や意味類似ペア数の数が所定の閾値を下回る場合は、対象セッションを高満足セッションと評価してもよい。
また、評価部65は、図17に示すように、繰り返し発話を含むセッションの特徴を学習した反復発話評価モデルM7を用いて、対象セッションを評価してもよい。例えば、評価部65は、反復発話評価モデルM7に対象セッションを入力し、反復発話評価モデルM7が、対象セッションを反復セッションRSに類似するセッションに分類した場合は、対象セッションを低満足セッションと評価し、対象セッションを非反復セッションNRSに類似するセッションに分類した場合は、対象セッションを高満足セッションと評価してもよい。
また、評価部65は、図18に示すように、繰り返し発話を含むセッションにおける発話から生成した分布画像の特徴を学習することで、繰り返し発話を含むセッションの特徴を学習した繰り返し評価モデルM1を用いて、対象セッションを評価してもよい。例えば、画像生成部63は、対象セッションに含まれる発話の分布画像を生成する。そして、画像生成部63は、分布画像に基づいて、対象セッションの評価を行う。
例えば、評価部65は、対象画像を繰り返し評価モデルM1に入力し、繰り返し評価モデルM1が、対象セッションの分布画像を、繰り返し発話を含むセッションの分布画像と類似する画像に分類した場合は、対象セッションを低満足セッションと評価してもよい。また、例えば、評価部65は、対象画像を繰り返し評価モデルM1に入力し、繰り返し評価モデルM1が、対象セッションの分布画像を、繰り返し発話を含まないセッションの分布画像と類似する画像に分類した場合は、対象セッションを高満足セッションと評価してもよい。
なお、評価部65は、公知の画像解析技術を用いて、対象セッションの分布画像に斜線が含まれているか否かを判定し、斜線が含まれていると判定した場合は、対象セッションを低満足セッションと評価してもよい。すなわち、評価部65は、繰り返し評価モデルM1を用いずに、対象セッションの分布画像から、対象セッションに繰り返し発話が含まれているか否かを判定し、判定結果に基づいて、対象セッションを評価してもよい。
また、評価部65は、謝罪応答が含まれているか否かに基づいて、対象セッションを評価してもよい。例えば、評価部65は、対象セッションに含まれる謝罪応答の数が所定の閾値を超える場合は、対象セッションを低満足セッションと評価してもよい。また、評価部65は、図19に示すように、謝罪評価モデルM2に対象セッションを入力し、謝罪評価モデルM2が対象セッションを謝罪応答が含まれるセッションに類似するセッションに分類した場合は、対象セッションを低満足セッションと評価してもよい。また、評価部65は、謝罪評価モデルM2が対象セッションを謝罪応答が含まれないセッションに類似するセッションに分類した場合は、対象セッションを高満足セッションと評価してもよい。
また、評価部65は、複数のモデルを用いて、対象セッションの評価を行ってもよい。例えば、評価部65は、図20に示すように、セッションに対する利用者の評価の指標となる複数の特徴のうちそれぞれ異なる種別の特徴に基づいてセッションを評価する複数のモデルM1〜M7の評価結果を用いて、対象セッションを評価してもよい。
なお、このように、複数のモデルM1〜M7の評価結果を用いてセッションを評価する場合、任意のモデルの組み合わせが採用可能である。例えば、評価部65は、図1に示すように、繰り返し評価モデルM1、謝罪評価モデルM2、非好意的指標発話評価モデルM3、および好意的指標発話評価モデルM4のそれぞれに対象セッション(および対象セッションの対象画像)を入力し、各モデルM1〜M3が出力したスコアの和から、好意的指標発話評価モデルM4が出力したスコアの値を減算した値を算出する。そして、評価部65は、対象セッションのうち、算出した値が高い方から所定の数のセッションを低満足セッションと評価し、算出した値が低い方から所定の数のセッションを高満足セッションと評価してもよい。
なお、各モデルM1〜M3が出力したスコアの和から、好意的指標発話評価モデルM4が出力したスコアの値を減算した値を算出した場合、対象セッションに対して利用者が満足している場合は、負の値が算出され、対象セッションに対して利用者が満足していない場合は、正の値が算出されることとなる。そこで、評価部65は、算出した値が正の値であるか負の値であるかに応じて、対象セッションを評価してもよい。
また、評価部65は、例えば、セッションに含まれる発話に同一又は類似する発話が繰り返し含まれているか否かに基づいてセッションを評価する繰り返し評価モデルM1や反復発話評価モデルM7による評価結果を少なくとも用いてもよい。また、評価部65は、セッションに含まれる応答に謝罪を示す所定の応答が含まれているか否かに基づいてセッションを評価する謝罪評価モデルM2の評価結果を少なくとも用いてもよい。
また、評価部65は、セッションに含まれる発話に非好意的指標発話が含まれているか否かに基づいてセッションを評価する非好意的指標発話評価モデルM3の評価結果を少なくとも用いてもよい。また、評価部65は、セッションに含まれる発話に好意的指標発話が含まれているか否かに基づいてセッションを評価する好意的指標発話モデルM4の評価結果を少なくとも用いてもよい。
ここで、非好意的指標発話評価モデルM3や好意的指標発話評価モデルM4は、学習データとなるセッションを抽出する際に、指標発話をあらかじめ設定もしくは抽出しておく必要がある。しかしながら、このように指標発話の設定や抽出をあらかじめ行うのは、手間がかかる。そこで、評価部65は、繰り返し評価モデルM1と、謝罪評価モデルM2との評価結果のみに基づいて、対象コンテンツの評価を行ってもよい。例えば、評価部65は、繰り返し評価モデルM1のスコアと、謝罪評価モデルM2のスコアとの和を算出し、和の値が大きい方から順に所定の数の対象セッションを低満足セッションと評価し、和の値が小さい方から順に所定の数の対象セッションを高満足セッションと評価してもよい。
なお、複数のモデルM1〜M7を用いて対象セッションを評価する場合、評価部65は、各モデルM1〜M7の評価結果に所定の重みを設定してもよい。例えば、評価部65は、各モデルM1〜M7出力するスコアの値に各モデルM1〜M7ごとの所定の係数を積算し、係数を積算した各スコアの値を統合してもよい。なお、評価部65は、対象セッションの評価を行った場合は、評価結果をセッション評価データベース32に登録する。このような評価結果は、例えば、指標発話の抽出に利用されてもよく、他のセッションの評価に利用されてもよい。
〔2−6.予測処理について〕
図2に戻り、説明を続ける。エンゲージメント予測処理部70は、将来の利用者の対話サービスの利用態様を予測する予測処理を実行する。以下、図23〜図25を用いて、エンゲージメント予測処理部70が実行する処理の概念、および、エンゲージメント予測処理部70が有する機能構成の一例を説明する。
〔2−6−1.指標発話に基づく予測処理について〕
例えば、エンゲージメント予測処理部70は、将来の対話サービスの利用態様の予測対象となる利用者(以下、「対象利用者」と記載する。)のセッションに含まれる指標発話に基づいて、予測処理を実行する。例えば、図23は、指標発話に基づいて将来の利用態様を予測する処理の概念を示す図である。
図23に示すように、好意的指標発話が多い利用者は、対話サービスに対して好意的な印象を有すると考えられる。このように、対話サービスに対して好意的な印象を有する利用者は、自ずと対話サービスを利用する結果、利用期間や利用頻度等のエンゲージメントが高い利用者になると推定される。一方、非好意的指標発話が多い利用者は、対話サービスに対して非好意的な印象を有すると考えられる。このように、対話サービスに対して非好意的な印象を有する利用者は、対話サービスを利用しなくなり、エンゲージメントが低い利用者になると推定される。
そこで、エンゲージメント予測処理部70は、利用者の発話を含むセッションにおける指標発話の出現頻度に基づいて、その利用者の将来のエンゲージメントを予測する。例えば、エンゲージメント予測処理部70は、対象利用者の発話を含むセッションであって、予測処理の実行時から所定の期間内(以下、「観測期間」と記載する。)に行われた対話を含むセッションを抽出する。
続いて、エンゲージメント予測処理部70は、観測期間におけるセッションに含まれる好意的指標発話および非好意的指標発話を抽出し、観測期間における好意的指標発話の出現頻度の合計、および、観測期間における非好意的指標発話の出現頻度の合計を算出する。そして、エンゲージメント予測処理部70は、観測期間における好意的指標発話の出現頻度の合計を観測期間における非好意的指標発話の出現頻度の合計で除算したスコアを算出し、算出したスコアが高い程、将来におけるエンゲージメントが高い利用者であると判定する。
なお、エンゲージメント予測処理部70は、好意的指標発話や非好意的指標発話の指標スコアの値を考慮してもよい。例えば、エンゲージメント予測処理部70は、観測期間における好意的指標発話の指標スコアの合計、および、観測期間における非好意的指標発話の指標スコアの合計を算出する。そして、エンゲージメント予測処理部70は、観測期間における好意的指標発話の指標スコアの合計を観測期間における非好意的指標発話の指標スコアの合計で除算したスコアを算出し、算出したスコアが高い程、将来におけるエンゲージメントが高い利用者であると判定してもよい。そして、エンゲージメント予測処理部70は、予測結果をエンゲージメントデータベース34に登録する。
なお、このような処理によって予測された将来におけるエンゲージメントは、指標発話の抽出やセッションの評価に利用される。例えば、指標発話抽出処理部50は、図9に示す処理において、エンゲージメント予測処理部70によって予測された将来のエンゲージメントが高い利用者を好意的利用者とし、エンゲージメント予測処理部70によって予測された将来のエンゲージメントが低い利用者を非好意的利用者とすることで、各利用者の発話から指標発話の抽出を行ってもよい。また、例えば、セッション評価処理部60は、図15に示す処理おいて、エンゲージメント予測処理部70によって予測された将来のエンゲージメントが高い利用者のセッションや、他の利用者のセッションから、エンゲージメントセッション評価モデルM6を学習し、学習したエンゲージメントセッション評価モデルM6を用いて、対象セッションの評価を行ってもよい。
〔2−6−2.評価結果に基づく予測処理について〕
また、例えば、エンゲージメント予測処理部70は、セッションの評価結果に基づいて、予測処理を実行してもよい。例えば、図24は、評価結果に基づいて将来の利用態様を予測する処理の概念を示す図である。
例えば、図24に示すように、評価処理によって満足度が高いと評価されたセッション、すなわち、高満足セッションが多い利用者は、対話サービスに対して好意的な印象を有すると推定されるため、将来におけるエンゲージメントが高くなると考えられる。一方、評価処理によって満足度が低いと評価されたセッション、すなわち低満足セッションが多い利用者は、対話サービスに対して非好意的な印象を有すると推定されるため、将来におけるエンゲージメントが低くなると考えられる。
そこで、エンゲージメント予測処理部70は、対象利用者の発話を含むセッションに対する評価結果に基づいて、その利用者の将来のエンゲージメントを予測する。例えば、エンゲージメント予測処理部70は、対象利用者の発話を含むセッションであって、観測期間に行われた対話を含むセッションを抽出する。続いて、エンゲージメント予測処理部70は、抽出したセッションに対する評価結果を取得する。例えば、エンゲージメント予測処理部70は、セッション評価データベース32を参照し、セッション評価処理部60による評価結果を取得する。
そして、エンゲージメント予測処理部70は、評価結果に統計値に基づいて、予測期間における対象利用者のエンゲージメントを予測する。例えば、エンゲージメント予測処理部70は、抽出したセッションのうち高満足セッションの割合と低満足セッションとの割合とを算出する。そして、エンゲージメント予測処理部70は、高満足セッションの割合が高い程、対象利用者を将来におけるエンゲージメントが高い利用者であると判定してもよい。また、例えば、エンゲージメント予測処理部70は、抽出したセッションのうち高満足セッションの数が所定の閾値を超える場合は、対象利用者を将来におけるエンゲージメントが高い利用者であると判定してもよい。
また、例えば、エンゲージメント予測処理部70は、高満足セッションに正のスコアを、低満足セッションに負のスコアを割り当てるとともに、より新しいセッションにより大きな係数を設定する。そして、エンゲージメント予測処理部70は、各セッションのスコアと係数との積の値を合計したスコアが、所定の閾値を超えるか否かに基づいて、対象利用者の将来におけるエンゲージメントを推定してもよい。なお、エンゲージメント予測処理部70は、高満足セッションに負のスコアを、低満足セッションに正のスコアを割り当てるとともに、より新しいセッションにより大きな係数を設定し、各セッションのスコアと係数との積の値を合計したスコアが、所定の閾値以下となるか否かに基づいて、対象利用者の将来におけるエンゲージメントを推定してもよい。
〔2−6−3.エンゲージメント予測処理部の機能構成について〕
次に、図25を用いて、エンゲージメント予測処理部70が有する機能構成の一例について説明する。図25は、実施形態に係るエンゲージメント予測処理部の機能構成の一例を示す図である。図25に示すように、エンゲージメント予測処理部70は、推定部71を有する。
推定部71は、対象利用者の発話を含むセッションに対する評価結果に基づいて、対象利用者による将来の対話サービスの利用態様を推定する。例えば、推定部71は、観測期間における好意的指標発話の指標スコアの合計、すなわち、利用者による評価がどれくらい好意的であるかを示す好意的スコアを算出する。また、推定部71は、観測期間における非好意的指標発話の指標スコアの合計、すなわち、利用者による評価がどれくらい非好意的であるかを示す非好意的スコアを算出する。そして、推定部71は、好意的好意的スコアおよび非好意的スコアの比に基づいて、対象利用者の将来のエンゲージメント、すなわち、利用態様の推定を行う。
また、推定部71は、対象利用者の観測期間における各セッションが高満足セッションであるか、低満足セッションであるかを特定する。そして、推定部71は、高満足セッションおよび低満足セッションの数や割合等に基づいて、対象利用者の将来の利用態様の推定を行う。
〔2−7.各処理の関連性について〕
ここで、図26を用いて、指標発話抽出処理部50が実行する抽出処理、セッション評価処理部60が実行する評価処理、およびエンゲージメント予測処理部70が実行する予測処理の関連性について説明する。図26は、実施形態に係る情報提供装置が実行する処理の関連性の一例を示す図である。
まず、抽出処理と評価処理との関係性について説明する。例えば、評価が高いセッションには、好意的指標発話が含まれやすく、低評価セッションには、非好意的指標発話が含まれやすいと推定される。このため、セッションの評価結果は、指標発話の抽出処理に利用することができる。より具体的には、情報提供装置10は、上述した評価処理によりセッションの評価を進めることで、指標発話の抽出量や抽出精度を向上させることができる。一方、好意的指標発話が含まれるセッションは、評価が高いと推定され、非好意的指標発話が含まれるセッションは、評価が低いと推定される。このため、指標発話の抽出結果は、セッションの評価処理に利用することができる。より具体的には、情報提供装置10は、上述した抽出処理により指標発話を抽出することで、セッションの評価精度を向上させることができる。
続いて、抽出処理と予測処理との関係性について説明する。例えば、エンゲージメントが高い利用者は好意的指標発話を発話した頻度が高く、エンゲージメントが低い利用者は、非好意的指標発話を発話した頻度が低いと推定される。このため、エンゲージメントの予測結果は、指標発話の抽出処理に利用することができる。より具体的には、情報提供装置10は、エンゲージメントの予測を行うことで、指標発話の抽出量や抽出精度を向上させることができる。一方、好意的指標発話が多い利用者はエンゲージメントが高く、非好意的指標発話が多い利用者はエンゲージメントが低いと推定される。このため、指標発話の抽出結果は、エンゲージメントの予測処理に利用することができる。より具体的には、情報提供装置10は、指標発話の抽出を行うことで、エンゲージメントの予測精度を向上させることができる。
続いて、評価処理と予測処理との関係性について説明する。例えば、評価が高いセッションが多い利用者のエンゲージメントは高く、評価が低いセッションが多い利用者のエンゲージメントは低いと推定される。このため、セッションの評価結果は、エンゲージメントの予測処理に利用することができる。より具体的には、情報提供装置10は、セッションの評価を行うことで、エンゲージメントの予測精度を向上させることができる。一方、エンゲージメントが高い利用者は、セッションの評価が高く、エンゲージメントが低い利用者は、セッションの評価が低いと推定される。このため、エンゲージメントの予測結果は、セッションの評価処理に利用することができる。より具体的には、情報提供装置10は、エンゲージメントの予測を行うことで、セッションの評価精度を向上させることができる。
このように、上述した各種の抽出処理、評価処理、および予測処理は、相互にブートストラップの関係性を有する。そこで、情報提供装置10は、各処理を順番に繰り返し実行することで、各処理の精度を漸進的に向上させることができる。例えば、情報提供装置10は、抽出処理と予測処理、抽出処理と評価処理、あるいは、評価処理と予測処理を交互に実行してもよい。また、情報提供装置10は、各処理を順番に繰り返し実行してもよい。
〔2−8.強化学習処理について〕
図2に戻り、説明を続ける。強化学習処理部80は、対話装置200が用いる対話モデルの強化学習を実行する。
〔2−8−1.強化学習の一例について〕
例えば、図27は、対話モデルの強化学習を実行する処理の概念を示す図である。対話装置200は、対話モデルM10を用いて、利用者の発話に対する応答を生成する。ここで、対話サービスにおいては、応答に対し、利用者が全く新規な内容(それまでのセンテンスとは異なるセンテンス)の発話を行う場合もあれば、応答に対する評価を含む発話を行う場合もある。例えば、上述した好意的指標発話や非好意的指標発話は、直前に行われた応答に対する評価であると考えられる。すると、対話モデルM10を強化学習におけるエージェント、利用者を強化学習による環境と見做した場合、利用者が発話した各種の指標発話は、エージェントに対する報酬であると見做すことができる。
そこで、強化学習処理部80は、対話モデルM10に対する指標発話に基づく報酬を設定することで、対話モデルM10の強化学習を実現する。より具体的には、強化学習処理部80は、応答モデルM10に対する発話のうち、対話サービスに対する評価の指標となる指標発話を取得し、取得した指標発話に基づく報酬を設定することで、応答モデルM10の強化学習を行う。
例えば、強化学習処理部80は、セッションログデータベース31を参照し、セッションに含まれる好意的指標発話および非好意的指標発話を特定する。そして、強化学習処理部80は、好意的指標発話が特定された場合、特定された好意的指標発話の直前の応答に対する報酬として、正の報酬を設定し、対話モデルM10の学習を行う。また、強化学習処理部80は、非好意的指標発話が特定された場合、特定された非好意的指標発話の直前の応答に対する報酬として、負の報酬を設定し、対話モデルM10の学習を行う。
また、強化学習処理部80は、利用者の発話を模倣する利用者模型モデルM20を生成し、利用者模型モデルM20と対話モデルM10とに仮想的な対話を行わせ、利用者模型モデルM20が出力した指標発話に応じた報酬を設定し、対話モデルM10の強化学習を行ってもよい。例えば、強化学習処理部80は、所定の対話規則や、セッションログデータベース31に登録されたセッションを学習データとして、利用者模型モデルM20を生成する。続いて、強化学習処理部80は、利用者模型モデルM20が生成した発話を対話モデルM10に入力し、対話モデルM10が出力した応答を利用者模型モデルM20に入力する。
また、強化学習処理部80は、対話モデルM10と利用者模型モデルM20との仮想的な対話を繰り返し実行させる。そして、強化学習処理部80は、利用者模型モデルM20が発話として指標発話を出力した場合は、指標発話に応じた報酬を設定し、設定した報酬に基づいて、対話モデルM10の強化学習を行う。
〔2−8−2.強化学習処理部が有する機能構成の一例〕
次に、図28を用いて、強化学習処理部80が有する機能構成の一例について説明する。図28は、実施形態に係る強化学習処理部の機能構成の一例を示す図である。図28に示すように、強化学習処理部80は、指標発話取得部81、報酬設定部82、および強化学習部83を有する。
指標発話取得部81は、対話モデルM10に対する発話のうち、対話サービスに対する評価の指標となる指標発話を取得する。より具体的には、指標発話取得部81は、利用者や利用者模型モデルM20が出力した発話から、好意的指標発話や非好意的指標発話を取得する。例えば、指標発話取得部81は、セッションログデータベース31を参照し、指標発話を取得する。また、指標発話取得部81は、利用者模型モデルM20が出力した発話のうち、指標発話を取得する。
報酬設定部82は、指標発話取得部18が取得した指標発話に応じた報酬を設定する。例えば、報酬設定部82は、取得された指標発話の指標スコアに応じた報酬を設定する。より具体的には、報酬設定部82は、取得された指標発話が好意的指標発話である場合は、正の報酬を設定し、取得された指標発話が非好意的指標発話である場合は、負の報酬を設定する。
強化学習部83は、報酬設定部82が設定した報酬を用いて、対話モデルM10の強化学習を行う。例えば、強化学習部83は、指標発話取得部81がセッションからある指標発話を抽出した場合、その指標発話の直前の応答を特定し、特定した応答を対話モデルM10が出力した際の報酬が、その指標発話に基づく報酬であるものとして、対話モデルM10の強化学習を行う。
また、例えば、強化学習部83は、対話モデルM10が生成した応答に対して指標発話を出力する発話モデル、すなわち、利用者模型モデルM20が出力した指標発話に基づく報酬を用いて、対話モデルM10の強化学習を行う。例えば、強化学習部83は、セッションログデータベース31に登録された各セッションの内容や、対話規則を用いて、利用者模型モデルM20の学習を行う。このような利用者模型モデルM20は、例えば、対話モデルM10の学習と同様の学習手法が採用可能である。
続いて、強化学習部83は、利用者模型モデルM20と対話モデルM10とに仮想的な対話を実行させる。そして、強化学習部83は、利用者模型モデルM20が指標発話を出力した場合は、報酬設定部82が設定した報酬に基づいて、対話モデルM10の強化学習を実行する。
〔3.情報提供装置が実行する処理の流れの一例〕
続いて、図29〜図37を用いて、情報提供装置10が実行する各処理の流れの一例を説明する。
〔3−1.利用態様に基づく処理の流れの一例〕
まず、図29を用いて、情報提供装置10が利用態様に基づいて実行する処理の流れの一例を説明する。図29は、実施形態に係る情報提供装置が利用態様に基づいて実行する処理の流れの一例を示すフローチャートである。
まず、情報提供装置10は、各利用者の対話サービスの利用態様を特定する(ステップS101)。続いて、情報提供装置10は、特定結果が所定の条件を満たす利用者を特定する(ステップS102)。そして、情報提供装置10は、特定した利用者の発話を含むセッションを抽出する(ステップS103)。また、情報提供装置10は、このようにして抽出したセッションを学習データとして、エンゲージメントセッション評価モデルM6の学習を行い(ステップS104)、処理を終了する。
なお、情報提供装置10は、抽出したセッションの評価を行ってもよい(ステップS105)。例えば、情報提供装置10は、エンゲージメントが高い利用者のセッションを抽出した場合、それらのセッションを高満足セッションであると評価してもよい。また、情報提供装置10は、このようにして抽出したセッションから指標発話を抽出してもよい(ステップS106)。例えば、情報提供装置10は、エンゲージメントが高い利用者のセッションにおける出現頻度が所定の条件を満たす発話を好意的指標発話として抽出し、エンゲージメントが低い利用者のセッションにおける出現頻度が所定の条件を満たす発話を非好意的指標発話として抽出してもよい。
〔3−2.指標発話を抽出する処理の流れの一例〕
次に、図30を用いて、情報提供装置10が指標発話を抽出する処理の流れの一例を説明する。図30は、実施形態に係る情報提供装置が指標発話を抽出する処理の流れの一例を示すフローチャートである。
まず、情報提供装置10は、利用態様が所定の条件を満たす利用者のセッションを取得し(ステップS201)、取得したセッションにおける出現頻度に基づいて、指標発話を抽出する(ステップS202)。そして、情報提供装置10は、指標発話との共起性に基づいて、新たな指標発話をさらに抽出し(ステップS203)、処理を終了する。
なお、情報提供装置10は、抽出した指標発話に基づいて、セッションの評価を行ってもよい(ステップS204)。例えば、情報提供装置10は、好意的指標発話を多く含むセッションを高満足セッションと評価し、非好意的指標発話を多く含むセッションを低満足セッションと評価してもよい。また、情報提供装置10は、指標発話の出現頻度に基づいて、利用者の利用態様を推定してもよい(ステップS205)。例えば、情報提供装置10は、好意的指標発話を多く発話する利用者を、エンゲージメントが高い利用者と推定し、非好意的指標発話を多く含む利用者を、エンゲージメントが低い利用者と推定してもよい。
〔3−3.セッションを評価する処理の流れの一例〕
次に、図31を用いて、情報提供装置10がセッションを評価する処理の流れの一例を説明する。図31は、実施形態に係る情報提供装置がセッションを評価する処理の流れの一例を示すフローチャートである。
まず、情報提供装置10は、評価対象となるセッションを取得し(ステップS301)、取得したセッションにおける指標発話の出現頻度に基づいて、セッションを評価する(ステップS302)。例えば、情報提供装置10は、好意的指標発話を多く含むセッションを高満足セッションと評価し、非好意的指標発話を多く含むセッションを低満足セッションと評価する。そして、情報提供装置10は、評価結果に対応するラベルが付与された学習データとして、セッションの特徴を学習し(ステップS303)、処理を終了する。例えば、情報提供装置10は、高満足セッションや低満足セッションの特徴を、各モデルM3、M4に学習させる。
なお、情報提供装置10は、セッションの評価結果に基づいて、セッションから新たな指標発話の抽出を行ってもよい(ステップS304)。例えば、情報提供装置10は、高満足セッションでの出現頻度が高い発話を好意的指標発話として抽出し、低満足セッションでの出現頻度が高い発話を非好意的指標発話として抽出してもよい。また、情報提供装置10は、セッションの評価結果に基づいて、利用者の利用態様を推定してもよい(ステップS305)。例えば、情報提供装置10は、高満足セッションが多い利用者をエンゲージメントが高い利用者とし、低満足セッションが多い利用者をエンゲージメントが低い利用者と推定してもよい。
〔3−4.画像に基づいてセッションを評価する処理の流れの一例〕
次に、図32を用いて、情報提供装置10が画像に基づいてセッションを評価する処理の流れの一例を説明する。図32は、実施形態に係る情報提供装置が画像に基づいてセッションを評価する処理の流れの一例を示すフローチャートである。
まず、情報提供装置10は、評価対象となるセッションを取得し(ステップS401)、取得したセッションに含まれる発話の文字が相互に同一か否かを示す画像、すなわち、分布画像を生成する(ステップS402)。そして、情報提供装置10は、生成した分布画像に基づいて、セッションを評価する(ステップS403)。例えば、情報提供装置10は、分布画像に斜線が含まれている場合は、繰り返し評価モデルM1によって繰り返しが含まれると分類された場合は、対象セッションを低満足セッションと評価する。そして、情報提供装置10は、評価結果に対応するラベルが付与された学習データとして、セッションの特徴を学習し(ステップS404)、処理を終了する。
なお、情報提供装置10は、セッションの評価結果に基づいて、セッションから新たな指標発話の抽出を行ってもよい(ステップS405)。また、情報提供装置10は、セッションの評価結果に基づいて、利用者の利用態様を推定してもよい(ステップS406)。
〔3−5.発話の繰り返しに基づいてセッションを評価する処理の流れの一例〕
次に、図33を用いて、情報提供装置10が発話の繰り返しに基づいてセッションを評価する処理の流れの一例を説明する。図33は、実施形態に係る情報提供装置が発話の繰り返しに基づいてセッションを評価する処理の流れの一例を示すフローチャートである。
まず、情報提供装置10は、評価対象となるセッションを取得し(ステップS501)、取得したセッションに含まれる発話の文字列の繰り返しに基づいて、セッションを評価する(ステップS502)。例えば、情報提供装置10は、文字列が同一または類似する発話の数や、意味が同一又は類似する発話の数が所定の閾値を超える場合は、低満足セッションであると評価する。そして、情報提供装置10は、評価結果に対応するラベルが付与された学習データとして、セッションの特徴を学習し(ステップS503)、処理を終了する。
なお、情報提供装置10は、セッションの評価結果に基づいて、セッションから新たな指標発話の抽出を行ってもよい(ステップS504)。また、情報提供装置10は、セッションの評価結果に基づいて、利用者の利用態様を推定してもよい(ステップS505)。
〔3−6.発話を報酬とした強化学習の処理の流れの一例〕
次に、図34を用いて、情報提供装置10が発話を報酬として実行する強化学習の流れの一例を説明する。図34は、実施形態に係る情報提供装置が発話を報酬として実行する強化学習の流れの一例を示すフローチャートである。
まず、情報提供装置10は、対話モデルM10に対して発話を入力し(ステップS601)、対話モデルM10が出力した応答を利用者模型モデルM20に入力することで、応答に対する指標発話を取得する(ステップS602)。そして、情報提供装置10は、利用者模型モデルM20から取得した指標発話を報酬として、対話モデルM10の強化学習を実行し(ステップS603)、処理を終了する。
〔3−7.共起性に基づいて指標発話を抽出する処理の流れの一例〕
次に、図35を用いて、情報提供装置10が共起性に基づいて指標発話を抽出する処理の流れの一例を説明する。図35は、実施形態に係る情報提供装置が共起性に基づいて指標発話を抽出する処理の流れの一例を示すフローチャートである。
まず、情報提供装置10は、セッションの履歴から指標発話を特定し(ステップS701)、発話ごとに、各セッションにおける指標発話との共起性を特定する(ステップS702)。そして、情報提供装置10は、特定した共起性に基づいて、新たな指標発話を抽出する(ステップS703)。例えば、情報提供装置10は、好意的指標発話との共起性が高い発話を新たな好意的指標発話として抽出し、非好意的指標発話との共起性が高い発話を新たな非好意的指標発話として抽出する。
なお、情報提供装置10は、このようにして新たに抽出した指標発話との共起性に基づいて、さらに新たな指標発話を抽出してもよい(ステップS704)。また、情報提供装置10は、このようにして新たに抽出した指標発話に基づいて、セッションを評価を行ってもよく(ステップS705)、指標発話の出現頻度に基づいて、利用者の利用態様を推定してもよい(ステップS706)。
〔3−8.3値評価モデルを用いて、セッションを評価する処理の流れの一例〕
次に、図36を用いて、3値評価モデルM5を用いてセッションを評価する処理の流れの一例を説明する。図36は、実施形態に係る情報提供装置が3値評価モデルを用いてセッションを評価する処理の流れの一例を示すフローチャートである。
まず、情報提供装置10は、セッションの履歴から好意的指標発話、非好意的指標発話および中性発話を特定し(ステップS801)、各指標発話から所定の数だけ前の発話および応答を学習データとして抽出する(ステップS802)。すなわち、情報提供装置10は、好意的対話例FD、中性対話例ND、および非好意的対話例UDを生成する。また、情報提供装置10は、抽出した学習データに含まれる指標発話に応じたラベルを付与し(ステップS803)、学習データを用いて、3値評価モデルM5の学習を行う(ステップS804)。その後、情報提供装置10は、3値評価モデルM5を用いて、セッションの評価を行い(ステップS805)、処理を終了する。
〔3−9.複数のモデルを用いて、セッションを評価する処理の流れの一例〕
次に、図37を用いて、複数のモデルM1〜M7を用いてセッションを評価する処理の流れの一例を説明する。図37は、実施形態に係る情報提供装置が複数のモデルを用いてセッションを評価する処理の流れの一例を示すフローチャートである。
例えば、情報提供装置10は、評価対象となるセッションを取得し(ステップS901)、それぞれ異なる特徴を学習した複数のモデルM1〜M7にセッションを評価させる(ステップS902)。そして、情報提供装置10は、各モデルM1〜M7の評価結果を統合し、セッションを評価して(ステップS903)、処理を終了する。
〔4.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、逆に、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
〔5.プログラム〕
また、上述した実施形態に係る情報提供装置10は、例えば図38に示すような構成のコンピュータ1000によって実現される。図38は、ハードウェア構成の一例を示す図である。コンピュータ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の機能を実現する。また、例えば、コンピュータ1000が端末装置100として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部40の機能を実現する。
〔6.実験結果について〕
次に、図39〜図47を用いて、上述した情報提供装置10の実験結果の一例について説明する。
〔6−1.データについて〕
まず、情報提供装置10の実験に用いたセッションデータの一例について説明する。以下の実験においては、少なくとも2つ以上の発話や応答を含む4000個のセッションに対し、クラウドソージングによりラベルの付与を行った。具体的には、トレーニング用セッション(Training)を2000個、調整用セッション(Validation)を1000個、およびテスト用セッション(Test)を1000個準備した。また、7人の判定者に対して各セッションを提示し、利用者がイライラ(frustrated)していると判断される場合は、「Yes」、利用者がイライラしていないと判断される場合は、「No」のラベルを各セッションに付与させた。
例えば、図39は、セッションデータに対するラベル付の結果の一例を示す図である。例えば、図39に示す例では、少なくとも1人の判定者が「Yes」のラベルを付与したセッションをFL(Frustration Level)1、少なくとも2人の判定者が「Yes」のラベルを付与したセッションをFL2、少なくとも3人の判定者が「Yes」のラベルを付与したセッションをFL3、少なくとも4人の判定者が「Yes」のラベルを付与したセッションをFL4と記載した。また、図39では、トレーニング用セッション、調整用セッション、およびテスト用セッションのうち、FL1〜FL4に分類されたセッションの数を記載した。
〔6−2.第1実験について〕
続いて、上述したセッションデータを用いた第1実験の内容について説明する。第1実験においては、実験対象としてProp_Dで示す方式およびProp_Uで示す方式を設定し、比較対象となるベースラインとして、BL_S1、BL_S2、およびBL_SSで示す方式を設定した。
ここで、Prop_Dは、図1に示すように、繰り返し評価モデルM1、謝罪評価モデルM2、非好意的指標発話評価モデルM3、および好意的指標発話評価モデルM4を用いた判定手法である。例えば、Prop_Dにおいては、テストセッションを各モデルM1〜M4に入力して不満足度スコアを算出した。また、Prop_Dにおいては、算出した不満足度スコアの値が高い方から順に50万のセッションを低満足セッション(すなわち、ラベルが「Yes」)であると判定し、不満足度スコアの値が高い方から順に50万のセッションを高満足セッション(すなわち、ラベルが「No」)であると判定した。
ここで、Prop_Dにおいては、繰り返し評価モデルM1の学習を行う際に、図17に示した手法を用いて、学習データを生成し、図18に示すように、生成した学習データの分布画像が有する特徴を繰り返し評価モデルM1に学習させた。また、Prop_Dにおいては、謝罪評価モデルM2の学習を行う際に、図19に示した手法を用いて、学習データを生成し、学習データが有する特徴を謝罪評価モデルM2に学習させた。また、Prop_Dにおいては、図13に示した手法を用いて、好意的指標発話評価モデルM3および非好意的指標発話評価モデルM4の学習を行った。また、Prop_Dにおいては、繰り返し評価モデルM1として画像分類を行うモデルを採用し、モデルM2〜M4として、LSTMを用いて入力された情報の分類を行うモデルを採用した。
また、Prop_Uは、図1に示す各モデルM1〜M4のうち、繰り返し評価モデルM1および謝罪評価モデルM2のみを用いた判定手法である。このような判定手法は、モデルの学習に指標発話が必要ないため、予め人手でデータを作成する必要がなく、Unsupervisedな手法となる。例えば、Prop_Uでは、対象セッションを繰り返し評価モデルM1および謝罪評価モデルM2に入力し、各モデルM1、M2が出力した満足度の和を不満足度スコアとして算出した。また、Prop_Uでは、算出した不満足度スコアの値が高い方から順に50万のセッションを低満足セッション(すなわち、ラベルが「Yes」)であると判定し、不満足度スコアの値が高い方から順に50万のセッションを高満足セッション(すなわち、ラベルが「No」)であると判定した。
また、BL_S1は、上述したトレーニング用セッションを用いて学習を行い、調整用セッションを用いて、調整を行ったモデルを用いた。また、BL_S1では、上述したProp_DやProp_Uと同様に、LSTMを用いて入力された情報の分類を行うモデルを採用した。
また、BL_S2では、トレーニング用セッションを用いて学習を行い、調整用セッションを用いて調整を行ったSVMを用いた。また、BL_S2では、上述したBL_S1で利用したモデルのLSTM層の出力をSVMに入力し、SVMの出力を分類結果として採用した。
また、BL_SSでは、トレーニング用セッションに加え、ラベルが付与されていない百万個のセッションを用いて学習が行われたトランスダクティブSVM(TSVM)を用いた。また、調整用セッションおよびテスト用セッションは、ラベルを無視することで、ラベルが付与されていないセッションとして学習に利用した。
ここで、第1実験においては、上述した各種の手法によりFL1〜FL4に分類されたセッションの分類を行い、分類結果のアキュラシー(正確性)、プレシジョン(適合率)、リコール(再現率)、および適合率と再現率との調和平均であるF1値を算出した。図40は、第1実験の結果を示す図である。なお、図40に示す例では、Prop_Dとの有意差がある手法にアスタリスクを、Prop_Uとの有意差がある手法にシャープを付した。図40に示すように、F1値を比較対象とした場合、FL1、FL2、およびFL3に分類されたセッションデータの分類結果においては、Prop_Dによる分類結果の精度が最も良くなった。
〔6−3.第2実験について〕
続いて、上述した各モデルが精度にどれくらい寄与しているかを判断するため、以下の第2実験を行った。第2実験においては、Prop_Dにおいて繰り返し評価モデルM1を取り除いたw/o−Rep、Prop_Dにおいて謝罪評価モデルM2を取り除いたw/o−Apo、Prop_Dにおいて非好意的指標発話評価モデルM3を取り除いたw/o−Unf、Prop_Dにおいて好意的指標発話評価モデルM4を取り除いたw/o−Favという方式を設定した。
また、第2実験においては、図1に示す4つのモデルM1〜M4を利用しないw/o−RAUFという方式を設定した。w/o−RAUFでは、50万個の高満足セッションと50万個の低満足セッションとを学習データとし、入力されたセッションを高満足セッション(すなわち、ラベルが「No」のセッション)もしくは低満足セッション(すなわち、ラベルが「Yes」のセッション)に分類するモデルの学習を行い、学習したモデルを用いてセッションの分類を行った。
また、第2実験においては、w/o−CandRetという方式を設定した。w/o−CandRetでは、予め取得されたセッションの履歴に対し、上述した各モデルM1〜M4を用いて不満足度スコアを算出し、算出したスコアが多い方から順に50万個のセッションをラベルが「Yes」のセッションとして抽出し、算出したスコアが低い方から順に50万個のセッションをラベルが「No」のセッションとして抽出した。そして、w/o−CandRetでは、生成した学習データを用いて、入力されたセッションを分類するモデルの学習を行い、学習したモデルを用いてセッションの分類を行った。
そして、第2実験においても、上述した各種の手法によりFL1〜FL4に分類されたセッションの分類を行い、分類結果のアキュラシー(正確性)、プレシジョン(適合率)、リコール(再現率)、およびF1値を算出した。図41は、第2実験の結果を示す図である。図41に示すように、F1値を比較対象とした場合、Prop_Dの精度が最も高く、また、各モデルM1〜M4のいずれかを利用しない場合に、精度が低下してしまうことが分かった。この結果、いずれのモデルM1〜M4も、セッションの分類精度の向上に寄与していることが分かった。
〔6−4.第3実験について〕
続いて、上述したProp_Dにおいて、分類精度に対する学習データの量の寄与を判断するため、以下の第3実験を行った。なお、以下の説明では、使用した学習データの量を添え字のkで示すものとする。例えば、Prop_D_kは、k/2個の高満足セッションとk/2個の低満足セッションとを用いて各モデルM1〜M4を学習し、学習した各モデルM1〜M4を用いて、テストセッションの分類を行った旨を示す。また、第3実験においては、kの値を50万(500k)、100万(1M)、200万(2M)、300万(3M)、および400万(4M)と変更することで、学習データの量の各手法における精度への寄与を調べた。
図42は、第3実験におけるProp_Dの結果を示す図である。なお、図42では、kを1Mとした際との有意差を有する結果にアスタリスクを付与した。図42に示すように、Prop_Dにおいては、テストセッションの分類に係わらず、k=2Mとした場合に最も精度が高くなることがわかった。これは、学習データが200万よりも少ないと精度の向上の余地があり、学習データが200万を超えると過学習が生じてしまうためとも考えられる。
〔6−5.第4実験について〕
ここで、上述したProp_Dでは、繰り返し発話や謝罪、および指標発話に基づく評価を行うモデルとして、ニューラルネットワークを利用していた。ここで、各認識にニューラルネットワークを利用することの効果を検査するため、以下の第4実験を行った。例えば、第4実験では、Prop_Dの手法において、ニューラルネットワークの代わりに、編集距離を用いて繰り返し発話に基づくセッションの評価を行い、繰り返し発話や指標発話に基づく評価を文字列マッチングにより行う手法をProp_Sとして実行した。
図43は、第4実験におけるProp_Sの結果を示す図である。なお、図43では、FL2、FL3、FL4において、Prop_Dと有意差を有する結果が得られた。図40、図41に示すProp_Dの結果と図43に示すProp_Sの結果とを比較すると、Prop_Sにおいては、Prop_Dよりも適合率が高く、再現率およびF1値が低くなっている。すなわち、Prop_Sは、Prop_Dよりも精度が低くなっていると考えられる。このため、Prop_Dにおいて、セッションを評価する際にニューラルネットワークを利用することで、精度の向上を実現することができる。
〔6−6.第5実験について〕
次に、Prop_Dにおいて評価に用いられる各モデルの出力を融合させ、汎化能力(未学習データに対する予測能力)を向上させたモデルを用いて、セッションの評価を行う第5実験を行った。より具体的には、第5実験においては、アンサンブルの手法を用いて、Prop_Dの精度をさらに向上させた手法をProp_Eとして実験した。
図44は、第5実験におけるProp_Eの結果を示す図である。なお、図44では、Prop_Eの結果と、Prop_D_2Mの結果とを並べて記載した。図44に示すように、Prop_Eの結果は、Prop_D_2Mの結果と比較して、F1値が高くなっている。このため、Prop_Eのように、アンサンブルの手法を用いることで、セッションを評価する精度をさらに向上させることができる。
〔7.実施形態の効果について〕
以下、上述した各処理を実行する情報提供装置10の効果の一例について説明する。
〔7−1.利用態様に基づく学習データの抽出について〕
上述したように、情報提供装置10は、利用者による対話サービスの利用態様を特定する。そして、情報提供装置10は、対話サービスにおける発話と応答とを含むセッションを評価するための学習データとして、特定された利用態様が所定の条件を満たす利用者の発話を含むセッションを対話サービスの履歴から抽出する。
このように、情報提供装置10は、各利用者のエンゲージメントに基づいて、セッションを評価するモデルを学習するための学習データを抽出する。このため、情報提供装置10は、例えば、セッションに対して利用者が満足しているか否かを判定するモデルを学習するための学習データを、人手を介さずに自動で抽出することができる。このような処理の結果、情報提供装置10は、多くの学習データを容易に準備することができるので、モデルの精度を向上させる結果、セッションの評価精度を改善することができる。
また、情報提供装置10は、利用態様として、利用者による対話サービスの利用期間を特定し、利用期間が所定の条件を満たす利用者の発話を含むセッションを学習データとして抽出する。また、情報提供装置10は、利用態様として、利用者による対話サービスの利用頻度を特定し、利用頻度が所定の条件を満たす利用者の発話を含むセッションを学習データとして抽出する。このため、情報提供装置10は、例えば、利用者の満足度が低いセッションを抽出することを目的として学習データを抽出する場合、エンゲージメントが高い利用者、すなわち、対話サービスに対する評価が高い利用者のセッションを不例として抽出し、エンゲージメントが低い利用者、すなわち、対話サービスに対する評価が低い利用者のセッションを正例として抽出するので、学習に適したデータを容易に準備することができる結果、セッションの評価精度を改善することができる。
また、情報提供装置10は、抽出されたセッションが有する特徴をモデルに学習させる。このため、情報提供装置10は、セッションの評価精度を改善することができる。
また、情報提供装置10は、利用態様が所定の条件を満たす利用者の発話を含むセッションを第1属性を有する学習データとして抽出するとともに、利用態様が所定の条件を満たさない利用者の発話を含むセッションを第2属性を有する学習データとして抽出する。そして、情報提供装置10は、抽出された学習データを用いて、入力されたセッションを第1属性を有するデータ若しくは第2属性を有するデータのいずれかに分類するモデルを学習する。
例えば、情報提供装置10は、利用態様が所定の条件を満たす利用者の発話を含むセッションを、その利用者による評価が好意的な学習データとして抽出するとともに、利用態様が所定の条件を満たさない利用者の発話を含むセッションをその利用者による評価が非好意的な学習データとして抽出する。そして、情報提供装置10は、抽出された学習データを用いて、入力されたセッションに対する利用者の評価が好意的であるか非好意的であるかを判定するモデルを学習する。このため、情報提供装置10は、セッションの評価精度を改善することができる。
また、情報提供装置10は、特定された利用態様に基づいて、利用者の発話を含むセッションを評価する。そして、情報提供装置10は、評価が所定の条件を満たすセッションを学習データとして抽出する。このため、情報提供装置10は、セッションの評価精度を改善することができる。
また、情報提供装置10は、評価が所定の条件を満たすセッションに含まれる発話と類似する発話、若しくは、そのセッションに含まれる応答と類似する応答を対話サービスの履歴から抽出し、抽出した発話若しくは応答を用いた新たなセッションを評価が所定の条件を満たすセッションとして生成する。そして、情報提供装置10は、生成された新たなセッションが有する特徴をモデルに学習させる。このように、情報提供装置10は、利用態様が所定の条件を満たすセッションから、類似するセッションを学習データとして生成し、生成した学習データを用いてモデルの学習を行う。このため、情報提供装置10は、モデルの判定精度を向上させる結果、セッションの評価精度を改善することができる。
また、情報提供装置10は、評価が所定の条件を満たすセッションを対話サービスの履歴から抽出し、抽出したセッションに含まれる発話のうち出現頻度が所定の条件を満たす発話を、その発話が含まれるセッションに対する利用者の評価が好意的であるか否かの指標となる指標発話として抽出する。例えば、情報提供装置10は、評価が所定の条件を満たすセッションにおける出現頻度と、評価が所定の条件を満たさないセッションにおける出現頻度との比が所定の条件を満たす発話を指標発話として抽出する。このため、情報提供装置10は、利用者の利用態様に基づいて、指標発話の抽出を行うことができる。なお、このような指標発話は、セッションの評価に利用することができる。このため、情報提供装置10は、指標発話に基づいたセッションの評価精度を改善することができる。
また、情報提供装置10は、利用者の利用態様に加えて、謝罪を示す所定の応答がセッションに含まれているか否かに基づいて、そのセッションを評価する。また、情報提供装置10は、利用者の利用態様に加えて、セッションに対する利用者の評価が好意的であるか否かの指標となる指標発話が含まれているか否かに基づいて、そのセッションを評価する。このため、情報提供装置10は、セッションの評価精度をさらに改善することができる。
また、情報提供装置10は、利用者による対話サービスの利用態様を特定し、特定された利用態様に基づいて、その利用者の発話を含むセッションを評価する。このため、情報提供装置10は、人手を介さずにセッションを適切に評価することができる。
〔7−2.利用態様に基づく指標発話の抽出について〕
また、情報提供装置10は、対話サービスの利用態様が所定の条件を満たす利用者の発話とその発話に対する応答とを含むセッションを取得する。そして、情報提供装置10は、取得されたセッションにおける出現頻度に基づいて、対話サービスに対する利用者の評価の指標となる指標発話を抽出する。このような指標発話は、セッションの評価に利用することができる。このため、情報提供装置10は、セッションの評価精度を改善することができる。
また、情報提供装置10は、対話サービスの利用期間が所定の条件を満たす利用者の発話を含むセッションを取得する。また、情報提供装置10は、対話サービスの利用頻度が所定の条件を満たす利用者の発話を含むセッションを取得する。そして、情報提供装置10は、利用態様が所定の条件を満たす利用者の発話を含むセッションにおける出現頻度と、利用態様が所定の条件を満たさない利用者の発話を含むセッションにおける出現頻度との比が所定の条件を満たす発話を指標発話として抽出する。
また、情報提供装置10は、利用態様が所定の条件を満たす利用者の発話を含むセッションにおける出現頻度が所定の閾値を超える発話を、対話サービスを利用者が好意的に評価している旨を示す好意的指標発話として抽出する。また、情報提供装置10は、利用態様が所定の条件を満たさない利用者の発話を含むセッションにおける出現頻度が所定の閾値を超える発話を、対話サービスを利用者が非好意的に評価している旨を示す非好意的指標発話として抽出する。これらの処理の結果、情報提供装置10は、利用者の発話から指標発話を適切に抽出することができるので、セッションの評価精度を改善することができる。
また、情報提供装置10は、抽出された指標発話の出現頻度に基づいて、セッションを評価する。このため、情報提供装置10は、セッションの評価精度を改善することができる。
また、情報提供装置10は、評価対象となるセッションについて、利用態様が所定の条件を満たす利用者の発話を含むセッションにおける出現頻度が所定の閾値を超える発話と、利用態様が所定の条件を満たさない利用者の発話を含むセッションにおける出現頻度が所定の閾値を超える発話と基づいて、評価対象となるセッションを評価する。このため、情報提供装置10は、適切にセッションを評価することができる。
また、情報提供装置10は、評価が所定の条件を満たすセッションが有する特徴をモデルに学習させる。このため、情報提供装置10は、セッションを評価するモデルを実現することができる。
また、情報提供装置10は、対話サービスにおける履歴から抽出された指標発話を特定し、特定した指標発話に対応する一連の対話を学習データとして抽出する。そして、情報提供装置10は、抽出された学習データの特徴をモデルに学習させる。例えば、情報提供装置10は、非好意的対話例UDや好意的対話例FDの特徴をモデルに学習させる。このため、情報提供装置10は、セッションを評価するモデルを実現することができる。
〔7−3.指標発話に基づくセッションの評価について〕
また、情報提供装置10は、対話サービスにおける利用者の発話と応答とを含むセッションを取得する。そして、情報提供装置10は、対話サービスに対する利用者の評価の指標となる指標発話に基づいて、取得されたセッションを評価する。このため、情報提供装置10は、セッションを自動的に精度良く学習することができる。
また、情報提供装置10は、対話サービスに対する利用者の評価が好意的である旨を示す好意的指標発話と、対話サービスに対する利用者の評価が非好意的である旨を示す非好意的指標発話とに基づいて、セッションを評価する。そして、例えば、情報提供装置10は、好意的指標発話の出現頻度と、非好意的指標発話の出現頻度との比に基づいて、セッションを評価する。また、例えば、情報提供装置10は、好意的指標発話が含まれるセッションにおいて対話サービスに対する利用者の評価がどれくらい好意的であるかを示す好意的スコアと、非好意的指標発話が含まれるセッションにおいて対話サービスに対する利用者の評価がどれくらい非好意的であるかを示す非好意的スコアとの比に基づいて、セッションを評価する。このため、情報提供装置10は、セッションを自動的に精度良く学習することができる。
また、情報提供装置10は、利用者による評価が好意的な高満足セッションであるか否かを評価する。そして、情報提供装置10は、高満足セッションが有する特徴をモデルに学習させる。また、情報提供装置10は、利用者による評価が非好意的な低満足セッションであるか否かを評価する。そして、情報提供装置10は、低満足セッションが有する特徴をモデルに学習させる。
また、情報提供装置10は、対話サービスにおける履歴から指標発話を特定し、特定した指標発話から所定の数だけ前の応答および発話を学習データとして抽出する。そして、情報提供装置10は、抽出された学習データの特徴をモデルに学習させる。例えば、情報提供装置10は、対話サービスに対する利用者の評価が好意的である旨を示す好意的指標発話から所定の数だけ前の応答および発話を好意的対話例として抽出し、対話サービスに対する利用者の評価が非好意的である旨を示す非好意的指標発話から所定の数だけ前の応答および発話を非好意的対話例として抽出し、対話サービスに対する利用者の評価が好意的でも非好意的でもない旨を示す中性発話から所定の数だけ前の応答および発話を中性対話例として抽出する。そして、情報提供装置10は、抽出された好意的対話例と、非好意的対話例と、中性対話例とが有する特徴をモデルに学習させる。
また、情報提供装置10は、指標発話と、謝罪を示す所定の応答がセッションに含まれているか否かに基づいて、そのセッションを評価する。上述した各種の処理の結果、情報提供装置10は、様々な観点からセッションを適切に評価するモデルを学習することができる。この結果、情報提供装置10は、セッションの評価精度を向上させることができる。
また、情報提供装置10は、利用者の発話を含むセッションに対する評価結果に基づいて、その利用者による将来の対話サービスの利用態様を推定する。例えば、情報提供装置10は、評価として、利用者による評価がどれくらい好意的であるかを示す好意的スコア、若しくは、利用者による評価がどれくらい非好意的であるかを示す非好意的スコアを算出し、好意的スコアと非好意的スコアとの比に基づいて、利用者による将来の対話サービスの利用態様を推定する。このため、情報提供装置10は、利用者の利用態様を適切に推定することができる。
また、情報提供装置10は、評価が所定の条件を満たすセッションから出現頻度が所定の条件を満たす発話を指標発話として抽出する。例えば、情報提供装置10は、セッションに対する利用者による評価が好意的であるか非好意的であるかを評価し、利用者による評価が好意的であると評価されたセッションにおける出現頻度と、利用者による評価が非好意的であると評価されたセッションにおける出現頻度との比が所定の条件を満たす発話を指標発話として抽出する。このため、情報提供装置10は、新たな指標発話を適切に抽出することができる。
〔7−4.分布画像に基づくセッションの評価について〕
また、情報提供装置10は、対話サービスにおける利用者の発話とその発話に対する応答とを含むセッションを取得する。また、情報提供装置10は、セッションに含まれる発話の文字が相互に同一か否かを示す画像を生成する。そして、情報提供装置10は、生成された画像に基づいて、取得されたセッションを評価する。
ここで、セッションに同一または類似の発話が繰り返し含まれる場合、上述した画像には、所定の模様が含まれることとなる。すると、画像に所定の模様が含まれると推定される場合には、セッションに同一または類似の発話が繰り返し含まれると推定することができる。このように、同一または類似の発話が繰り返し含まれるセッションは、利用者による評価が低いと推定される。このため、情報提供装置10は、生成された画像に基づいて、取得されたセッションを適切に評価することができる。
また、情報提供装置10は、画像として、セッションにおける同一文字の分布を示す画像を生成する。例えば、情報提供装置10は、セッションに含まれる発話の文字列を画像の縦方向の各領域と横方向の各領域とに対応付けた場合に、縦方向と横方向とに同一の文字が対応付けられた領域に対して所定の色彩を付した画像を生成する。そして、情報提供装置10は、画像に基づいて、セッションに同一又は類似する文字列が繰り返し出現しているか否かを判定し、判定結果に基づいて、セッションを評価する。例えば、情報提供装置10は、セッションに同一又は類似する文字列が繰り返し出現している場合は、そのセッションに対して利用者による評価が非好意的である旨の評価を付与する。このため、情報提供装置10は、セッションを適切に評価することができる。
また、情報提供装置10は、同一又は類似する文字列が繰り返し出現するセッションから生成された画像が有する特徴をモデルに学習させる。そして、情報提供装置10は、学習が行われたモデルを用いて、画像からその画像の元となったセッションを評価する。ここで、文字を学習させたモデルよりも、画像を学習させたモデルの方が判定精度を向上させやすいことが知られている。このため、情報提供装置10は、セッションの評価精度を向上させることができる。
また、情報提供装置10は、対話サービスにおける履歴からいずれかの発話を選択し、選択した発話と同一又は類似する発話を複数含む発話群を生成する。そして、情報提供装置10は、生成された発話群から画像を生成し、生成した画像が有する特徴をモデルに学習させる。このため、情報提供装置10は、モデルの学習データを増大させる結果、モデルの精度を向上させることができる。
〔7−5.繰り返し発話に基づくセッションの評価について〕
また、情報提供装置10は、対話サービスにおける利用者の発話とその発話に対する応答とを含むセッションを取得する。そして、情報提供装置10は、セッションに含まれる発話の文字列の繰り返しに基づいて、取得されたセッションを評価する。このため、情報提供装置10は、人手を介さずとも、セッションを精度良く評価することができる。
例えば、情報提供装置10は、セッションから文字列の類似度が所定の閾値を超える発話の対を抽出し、抽出した対の数に基づいて、セッションを評価する。また、情報提供装置10は、セッションから意味的な類似度が所定の閾値を超える発話の対を抽出し、抽出した対の数に基づいて、セッションを評価する。そして、情報提供装置10は、セッションから抽出した対の数が所定の閾値を超える場合は、セッションに対して利用者による評価が非好意的である旨の評価を付与する。このため、情報提供装置10は、セッションを適切に評価することができる。
また、情報提供装置10は、同一又は類似する文字列が繰り返し出現するセッションが有する特徴を学習したモデルを用いて、セッションを評価する。例えば、情報提供装置10は、対話サービスにおける履歴からいずれかの発話を選択し、選択した発話と同一又は類似する発話を複数含む発話群を生成する。また、情報提供装置10は、生成した発話群が有する特徴をモデルに学習させる。そして、情報提供装置10は、学習が行われたモデルを用いて、セッションを評価する。
また、情報提供装置10は、選択した発話と同一又は類似する発話を複数含む第1発話群を生成するとともに、対話サービスにおける履歴からそれぞれ異なる複数の発話を選択し、選択した発話からなる第2発話群とを生成し、第1発話群が有する特徴と第2発話群が有する特徴とをモデルに学習させる。また、情報提供装置10は、発話群が有する特徴をモデルに学習させることで、入力されたセッションに対して利用者による評価が非好意的であるか否かを判定するモデルの学習を行う。このため、情報提供装置10は、精度良くセッションの評価を行うことができる。
また、情報提供装置10は、評価が所定の条件を満たすセッションから、出現頻度が所定の条件を満たす発話を、対話サービスに対する利用者の評価となる指標となる指標発話として抽出する。このため、情報提供装置10は、新たな指標発話を自動で抽出することができる。
〔7−6.発話を報酬とした強化学習について〕
また、情報提供装置10は、入力された発話に対する応答を生成することで対話サービスを実現する対話モデルに対する発話のうち、その対話サービスに対する評価の指標となる指標発話を取得し、取得された指標発話に基づく報酬を設定することで、対話モデルの強化学習を行う。このため、情報提供装置10は、人手を介さずとも、対話サービスを実現する対話モデルの学習を実現することができ、対話モデルの精度を向上させることができる。
また、情報提供装置10は、対話サービスに対する利用者の評価が好意的である旨を示す好意的指標発話、若しくは、対話サービスに対する利用者の評価が非好意的である旨を示す非好意的指標発話を取得し、好意的指標発話が取得された場合は、対話モデルに対して正の報酬を設定し、非好意的指標発話が取得された場合は、対話モデルに対して負の報酬を設定する。このため、情報提供装置10は、適切に対話モデルの強化学習を実現することができる。
また、情報提供装置10は、対話モデルが生成した応答に対して指標発話を出力する発話モデルが出力した指標発話を取得する。例えば、情報提供装置10は、発話モデルとして、対話サービスにおける利用者と対話モデルとの対話の履歴が有する特徴を学習したモデルが出力した指標発話を取得する。このため、情報提供装置10は、例えば、セッションの履歴が無くとも、対話モデルの強化学習を実現することができる。
〔7−7.共起性に基づいた指標発話の抽出について〕
また、情報提供装置10は、対話サービスにおける利用者の発話とその発話に対する応答との履歴から、対話サービスに対する利用者の評価の指標となる発話であって、予め設定された指標発話を特定する。そして、情報提供装置10は、特定された指標発話との共起性に基づいて、履歴に含まれる発話から新たな指標発話を抽出する。上述したように、このような指標発話は、セッションの評価に用いることができる。この結果、情報提供装置10は、セッションの評価精度を向上させることができる。
また、情報提供装置10は、対話サービスに対する利用者の評価が好意的である旨を示す好意的指標発話を特定し、好意的指標発話との共起性が所定の閾値を超える発話を新たな好意的指標発話として抽出する。また、情報提供装置10は、対話サービスに対する利用者の評価が非好意的である旨を示す非好意的指標発話を特定し、非好意的指標発話との共起性が所定の閾値を超える発話を新たな非好意的指標発話として抽出する。
また、情報提供装置10は、対話サービスに対する利用者の評価が好意的である旨を示す好意的指標発話が同一のセッション内に含まれる回数と、対話サービスに対する利用者の評価が非好意的である旨を示す非好意的指標発話が同一のセッション内に含まれる回数とを利用者の発話ごとに計数し、計数した各回数の比が所定の条件を満たす発話を新たな指標発話として抽出する。
また、情報提供装置10は、発話と応答との履歴から、共起性を有する発話若しくは応答を接続する共起ネットワークを生成し、共起ネットワークから指標発話を特定し、共起ネットワーク上における指標発話との距離が所定の条件を満たす発話を新たな指標発話として抽出する。例えば、情報提供装置10は、共起ネットワークから対話サービスに対する利用者の評価が好意的である旨を示す好意的指標発話を特定し、共起ネットワーク上における好意的指標発話との距離が所定の閾値以下となる発話を新たな好意的指標発話として抽出する。また、情報提供装置10は、好意的指標発話との距離が所定の閾値以下となり、かつ、対話サービスに対する利用者の評価が非好意的である旨を示す非好意的指標発話との共起ネットワーク上における距離が所定の閾値以上となる発話を、新たな好意的指標発話として抽出する。
また、情報提供装置10は、共起ネットワークから対話サービスに対する利用者の評価が非好意的である旨を示す非好意的指標発話を特定し、共起ネットワーク上における非好意的指標発話との距離が所定の閾値以下となる発話を新たな非好意的指標発話として抽出する。例えば、情報提供装置10は、非好意的指標発話との距離が所定の閾値以下となり、かつ、対話サービスに対する利用者の評価が好意的である旨を示す好意的指標発話との共起ネットワーク上における距離が所定の閾値以上となる発話を、新たな非好意的指標発話として抽出する。これらの処理の結果、情報提供装置10は、利用者の印象を示す指標発話を精度良く抽出することができる。
また、情報提供装置10は、抽出された指標発話が含まれているか否かに基づいて、対話サービスにおける発話と応答とを含むセッションを評価する。このため、情報提供装置10は、セッションの評価精度を向上させることができる。
〔7−8.対話例を用いたセッションの評価について〕
また、情報提供装置10は、対話サービスの履歴のうち、対話サービスに対する利用者の評価の指標となる指標発話に対応する一連の対話を抽出する。すなわち、情報提供装置10は、各種の対話例を抽出する。例えば、情報提供装置10は、指標発話から所定の数だけ前の発話および応答を対話例として抽出する。そして、情報提供装置10は、抽出された対話を用いて、入力された対話に対する利用者の評価を推定するモデルを学習する。
このように、情報提供装置10は、セッションではなく、各種の対話例を抽出し、抽出した対話例の特徴をモデルに学習させる。このような対話例の抽出は、各種の指標発話があれば、セッションの抽出よりも容易に実現することができる。この結果、情報提供装置10は、容易にセッションの評価を実現することができる。
また、情報提供装置10は、対話サービスに対する利用者の評価が好意的である旨を示す好意的指標発話から所定の数だけ前の発話および応答を抽出し、抽出された発話および応答を、利用者による評価が好意的である対話の学習データとして、モデルの学習を行う。また、情報提供装置10は、対話サービスに対する利用者の評価が非好意的である旨を示す非好意的指標発話から所定の数だけ前の発話および応答を抽出し、抽出された発話および応答を、利用者による評価が非好意的である対話の学習データとして、モデルの学習を行う。また、情報提供装置10は、対話サービスに対する利用者の評価が中立的である旨を示す中立指標発話から所定の数だけ前の発話および応答を抽出し、抽出された発話および応答を、利用者による評価が中立的である対話の学習データとして、モデルの学習を行う。このため、情報提供装置10は、モデルによるセッションの評価精度を向上させることができる。
また、情報提供装置10は、対話サービスにおける利用者の発話と応答とを含むセッションを取得する。そして、情報提供装置10は、学習が行われたモデルを用いて、取得されたセッションの評価を行う。このため、情報提供装置10は、セッションの評価を実現することができる。
また、情報提供装置10は、評価が所定の条件を満たすセッションから出現頻度が所定の条件を満たす発話を、指標発話として抽出する。例えば、情報提供装置10は、セッションに対する利用者による評価が好意的であるか非好意的であるかを評価し、利用者による評価が好意的であると評価されたセッションにおける出現頻度と、利用者による評価が非好意的であると評価されたセッションにおける出現頻度との比が所定の条件を満たす発話を指標発話として抽出する。このため、情報提供装置10は、新たな指標発話の抽出を自動的に行うことができる。
〔7−9.複数のモデルを用いたセッションの評価について〕
また、情報提供装置10は、対話サービスにおける利用者の発話と応答とを含むセッションを取得する。そして、情報提供装置10は、セッションに対する利用者の評価の指標となる複数の特徴のうちそれぞれ異なる種別の特徴に基づいてセッションを評価する複数のモデルの評価結果を用いて、セッションを評価する。このため、情報提供装置10は、セッションの評価精度を向上させることができる。
また、情報提供装置10は、セッションに含まれる発話に同一又は類似する発話が繰り返し含まれているか否かに基づいて、セッションを評価するモデルの評価結果を少なくとも用いる。また、情報提供装置10は、セッションに含まれる応答に謝罪を示す所定の応答が含まれているか否かに基づいて、セッションを評価するモデルの評価結果を少なくとも用いる。また、情報提供装置10は、セッションに含まれる発話に、対話サービスを利用者が非好意的に評価している旨を示す非好意的指標発話が含まれているか否かに基づいて、セッションを評価するモデルの評価結果を少なくとも用いる。また、情報提供装置10は、セッションに含まれる発話に、対話サービスを利用者が好意的に評価している旨を示す好意的指標発話が含まれているか否かに基づいて、セッションを評価するモデルの評価結果を少なくとも用いる。このため、情報提供装置10は、セッションの評価精度を向上させることができる。
また、情報提供装置10は、セッションに含まれる発話に同一又は類似する発話が繰り返し含まれているか否かに基づいてセッションを評価するモデルが出力した評価値と、セッションに含まれる応答に謝罪を示す所定の応答が含まれているか否かに基づいてセッションを評価するモデルが出力した評価値との和の値に基づいて、セッションを評価する。このため、情報提供装置10は、人手を介さずともセッションを評価可能な複数のモデルを用いて、セッションを評価することができる。
また、情報提供装置10は、セッションに含まれる発話に同一又は類似する発話が繰り返し含まれているか否かに基づいてセッションを評価するモデルが出力した評価値と、セッションに含まれる応答に謝罪を示す所定の応答が含まれているか否かに基づいてセッションを評価するモデルが出力した評価値と、セッションに含まれる発話に対話サービスを利用者が非好意的に評価している旨を示す非好意的指標発話が含まれているか否かに基づいてセッションを評価するモデルが出力した評価値との和から、セッションに含まれる発話に対話サービスを利用者が好意的に評価している旨を示す好意的指標発話が含まれているか否かに基づいてセッションを評価するモデルが出力した評価値を減算した値に基づいて、セッションを評価する。例えば、情報提供装置10は、値が正の値であるか負の値であるかに応じて、セッションを評価する。このため、情報提供装置10は、精度良くセッションを評価することができる。
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、抽出部は、抽出手段や抽出回路に読み替えることができる。