IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ カラクリ株式会社の特許一覧

特許7466143情報処理装置、学習提案プログラム、及び学習提案方法
<>
  • 特許-情報処理装置、学習提案プログラム、及び学習提案方法 図1
  • 特許-情報処理装置、学習提案プログラム、及び学習提案方法 図2
  • 特許-情報処理装置、学習提案プログラム、及び学習提案方法 図3
  • 特許-情報処理装置、学習提案プログラム、及び学習提案方法 図4
  • 特許-情報処理装置、学習提案プログラム、及び学習提案方法 図5
  • 特許-情報処理装置、学習提案プログラム、及び学習提案方法 図6
  • 特許-情報処理装置、学習提案プログラム、及び学習提案方法 図7
  • 特許-情報処理装置、学習提案プログラム、及び学習提案方法 図8
  • 特許-情報処理装置、学習提案プログラム、及び学習提案方法 図9
  • 特許-情報処理装置、学習提案プログラム、及び学習提案方法 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-04
(45)【発行日】2024-04-12
(54)【発明の名称】情報処理装置、学習提案プログラム、及び学習提案方法
(51)【国際特許分類】
   G06F 16/90 20190101AFI20240405BHJP
   G06F 16/35 20190101ALI20240405BHJP
   G06N 20/00 20190101ALI20240405BHJP
【FI】
G06F16/90 100
G06F16/35
G06N20/00
【請求項の数】 7
(21)【出願番号】P 2020045131
(22)【出願日】2020-03-16
(65)【公開番号】P2021149138
(43)【公開日】2021-09-27
【審査請求日】2023-02-15
(73)【特許権者】
【識別番号】518127510
【氏名又は名称】カラクリ株式会社
(74)【代理人】
【識別番号】110002815
【氏名又は名称】IPTech弁理士法人
(72)【発明者】
【氏名】吉田 雄紀
【審査官】酒井 恭信
(56)【参考文献】
【文献】特許第6591024(JP,B1)
【文献】特開2011-018327(JP,A)
【文献】国際公開第2013/080406(WO,A1)
【文献】特開2017-204018(JP,A)
【文献】特開2019-020995(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00 - 16/958
G06N 20/00 - 20/20
(57)【特許請求の範囲】
【請求項1】
入力される質問文が、ユーザから実際に入力された質問文と、予め記憶されている質問パターンとのどちらからサンプルされたものかを判別する分類器に、前記ユーザから実際に入力された質問文を複数入力することで、前記分類器に入力した前記ユーザから実際に入力された質問文が、前記ユーザから実際に入力された質問文率密度分布からサンプルされたことと、前記質問パターンの確率密度分布からサンプルされたこととの比を、密度比として、前記分類器から出力させ、前記度比を利用し、前記質問パターンの確率密度分布よりも前記ユーザから実際に入力された質問文の確率密度分布で多く出現する質問文を、前記分類器に入力した前記ユーザから実際に入力された質問文の中から抽出する抽出手段と、
前記抽出された質問文を管理者に提示する提示手段と
を具備する情報処理装置。
【請求項2】
前記抽出手段は、前記抽出した質問文をクラスタリングし、
前記提示手段は、前記クラスタリングされた質問文を、前記クラスタリングされた質問文の群のサイズに応じた順序で管理者に提示する請求項記載の情報処理装置。
【請求項3】
前記提示手段は、前記抽出した質問文から予め設定した件数の質問文を所定の規則に従って抽出し、抽出した件数の質問文を管理者に提示する請求項1又は2に記載の情報処理装置。
【請求項4】
前記提示手段は、前記抽出された質問文を管理者に提示し、さらに、入力された質問文に対し、予め記憶されている質問パターンから類似する質問パターンの群を抽出するように学習された機械学習モデルの学習で用いる学習用データとしての質問パターンの見直し、又は追加の検討を促す記載を管理者に提示する請求項1乃至のいずれかに記載の情報処理装置。
【請求項5】
前記提示手段は、前記抽出された質問文を管理者に提示し、さらに、チャットボットで利用される、入力された質問文に対し、予め記憶されている質問パターンから類似する質問パターンの群を抽出するように学習された機械学習モデルの学習で用いる質問パターンと回答パターンとのセットの見直し、又は追加、若しくは質問パターンの追加の検討を促す記載を管理者に提示する請求項1乃至のいずれかに記載の情報処理装置。
【請求項6】
入力される質問文が、ユーザから実際に入力された質問文と、予め記憶されている質問パターンとのどちらからサンプルされたものかを判別する分類器に、前記ユーザから実際に入力された質問文を複数入力することで、前記分類器に入力した前記ユーザから実際に入力された質問文が、前記ユーザから実際に入力された質問文の確率密度分布からサンプルされたことと、前記質問パターンの確率密度分布からサンプルされたこととの比を、密度比として、前記分類器から出力させ、前記度比を利用し、前記質問パターンの確率密度分布よりも前記ユーザから実際に入力された質問文の確率密度分布で多く出現する質問文を、前記分類器に入力した前記ユーザから実際に入力された質問文の中から抽出する処理と、
前記抽出された質問文を管理者に提示する処理と
を情報処理装置のコンピュータに実行させる学習提案プログラム。
【請求項7】
プロセッサを備えるコンピュータによって実行される方法であって、前記プロセッサが、
入力される質問文が、ユーザから実際に入力された質問文と、予め記憶されている質問パターンとのどちらからサンプルされたものかを判別する分類器に、前記ユーザから実際に入力された質問文を複数入力することで、前記分類器に入力した前記ユーザから実際に入力された質問文が、前記ユーザから実際に入力された質問文の確率密度分布からサンプルされたことと、前記質問パターンの確率密度分布からサンプルされたこととの比を、密度比として、前記分類器から出力させ、前記度比を利用し、前記質問パターンの確率密度分布よりも前記ユーザから実際に入力された質問文の確率密度分布で多く出現する質問文を、前記分類器に入力した前記ユーザから実際に入力された質問文の中から抽出し、
前記抽出された質問文を管理者に提示する、学習提案方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、学習提案プログラム、及び学習提案方法に関する。
【背景技術】
【0002】
近年、AI(Artificial Intelligence)技術が注目を浴びている。例えば、ユーザサポートの場面において、AI技術を用い、ユーザからの質問に回答する対話システムが開発されている。例えば、特許文献1では、質問パターンと回答パターンとを複数想定し、複数の質問パターンと回答パターンとを含む様々な会話カードを学習モデルに学習させるようにしている。
【0003】
ところで、検索クエリを分類するタイプのチャットボットを利用した対話システムでは、学習の際に用いられる質問パターンの確率密度分布と、実際にユーザから問い合わせのあった質問の確率密度分布とは、完全に一致しないのが一般的である。これは、訓練データ作成者の発想の限界のみならず、時間経過によって生じるトレンドの変化、又はサービス内容の変化も原因であり、不可避な事象である。この不一致が進行すると、予め設定されている質問パターンでカバーできる質問の範囲が狭くなり、回答の精度が悪化する要因となる。
【先行技術文献】
【特許文献】
【0004】
【文献】特許第6218057号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
回答精度の悪化を防ぐためには、例えば、ユーザから実際に入力されて蓄積されているデータ(以下、ログデータと称する)から、応対がうまくできていない頻出ケースを見つけ出す必要がある。しかしながら、応対がうまくできていない頻出ケースをログデータから見つけ出す作業には労力がかかる。
【0006】
本開示では、応対がうまくできていない頻出ケースをログデータから発見する労力を軽減することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するため、本開示の情報処理装置は、抽出手段と、提示手段とを有する。抽出手段は、ユーザから入力された質問文の確率密度分布と、予め記憶されている質問パターンの確率密度分布との密度比を推定し、前記推定した密度比を利用し、前記質問パターンの確率密度分布よりも前記質問文の確率密度分布で多く出現する質問文を、前記ユーザから入力された質問文から抽出する。提示手段は、前記抽出された質問文を提示する。
【発明の効果】
【0008】
本開示の情報処理装置、学習提案プログラム、及び学習提案方法によれば、応対がうまくできていない頻出ケースをログデータから発見する労力を軽減することができる。
【図面の簡単な説明】
【0009】
図1図1は、本実施形態に係る対話システムの構成例を表すブロック図である。
図2図2は、図1に示されるサーバ装置及び管理者端末の機能構成の例を示すブロック図である。
図3図3は、図1に示される管理者端末がチャットボットを学習させるための質問を提示する際の処理部の動作の例を表すフローチャートである。
図4図4は、「質問パターンの確率密度分布」と、「入力された質問文の確率密度分布」との例を表す模式図である。
図5図5は、図1に示される管理者端末における質問文の表示例を表す図である。
図6図6は、図3のステップS102に示される質問文抽出の具体例1を説明するフローチャートである。
図7図7は、図3のステップS102に示される質問文抽出の具体例2を説明するフローチャートである。
図8図8は、第2の実施形態に係るサーバ装置及び管理者端末の機能構成の例を示すブロック図である。
図9図9は、図8に示されるサーバ装置がチャットボットを学習させるための質問を管理者端末に提示する際の処理部の動作の例を表すフローチャートである。
図10図10は、図1に示される管理者端末における質問文のその他の表示例を表す図である。
【発明を実施するための形態】
【0010】
以下、図面を参照しながら、実施の形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本開示の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本開示の必須構成要件であるとは限らない。
【0011】
(第1の実施形態)
<システム構成>
まず、図1を用いて本開示に係る対話システムの構成について説明する。図1は、本実施形態に係る対話システム1の構成例を表すブロック図である。図1に示される対話システム1は、サーバ装置10、管理者端末20、及びユーザ端末30を備える。サーバ装置10、管理者端末20、及びユーザ端末30は、例えば、インターネット、及び/又は通信事業者が提供する通信網等のネットワークを介して接続されている。
【0012】
サーバ装置10は、ユーザ端末30を介してユーザから問い合わせられる質問に対し、検索クエリを分類するチャットボットを用いて返答する装置である。サーバ装置10は、コンピュータ、及びメインフレーム等により実現される。なお、サーバ装置10は、1台のコンピュータにより実現されてもよいし、複数台のコンピュータが組み合わされて実現されてもよい。
【0013】
管理者端末20は、サーバ装置10を管理するための端末であり、情報処理装置の一例である。管理者端末20は、ユーザ端末30から入力された質問文に基づき、サーバ装置10で運用されるチャットボットを学習させるための質問を管理者に提案する。管理者端末20は、対話システム1を用いたサービスを提供するサービス提供者が所有する、例えば、コンピュータにより実現される。管理者端末20は、インターネット、LAN(Local Area Network)等のネットワークを介してサーバ装置10に接続可能である。管理者端末20とサーバ装置10との間の接続は、有線でもよいし無線でもよい。
【0014】
ユーザ端末30は、対話システム1を用いたサービスを利用するユーザが使用する端末である。ユーザは、ユーザ端末30を介してサーバ装置10に対する質問文を入力する。ユーザ端末30は、入力された質問に対するサーバ装置10からの返信をディスプレイに表示する。ユーザ端末30は、例えば、スマートフォン、コンピュータ、又はヘッドマウントディスプレイ等の装置により実現される。
【0015】
ユーザ端末30は、例えば、サーバ装置10、又は別途サーバ(不図示)が提供する動作環境(API(Application Programing Interface)、プラットフォーム等)を利用してサーバ装置10にアクセスする。また、ユーザ端末30は、インストールされた専用のアプリケーションソフトウェアによってサーバ装置10にアクセスしてもよい。ユーザ端末30とサーバ装置10との間の接続は、有線でもよいし無線でもよい。
【0016】
<サーバ装置及び管理者端末の構成>
次に、サーバ装置10及び管理者端末20の構成について説明する。図2は、図1に示されるサーバ装置10及び管理者端末20の機能構成の例を示すブロック図である。図2に示されるサーバ装置10は、例えば、処理部11、記憶部12、及び通信インタフェース13を備える。処理部11、記憶部12、及び通信インタフェース13は、例えば、バスを介して互いに通信可能に接続されている。
【0017】
処理部11は、例えば、プロセッサであり、CPU(Central Processing Unit)、CPUが処理を実行する際に用いるメモリを備える。メモリは、いわゆる主記憶装置であり、例えば、DRAM(Dynamic Random Access Memory)等により構成される。CPUは、例えば、記憶部12に記憶されているプログラムをメモリに読み込む。CPUは、メモリに読み込まれたプログラムを実行する。これにより、処理部11は、プログラムに対応する種々の機能を実現する。
【0018】
記憶部12は、種々の情報を記憶するHDD(hard disk drive)、又はSSD(solid state drive)等の不揮発性の記憶回路を備える、いわゆる補助記憶装置である。なお、記憶部12は、CD-ROM、DVD、及びフラッシュメモリ等の可搬性記憶媒体との間で種々の情報を読み書きする駆動装置等であってもよい。また、記憶部12は、必ずしも単独の回路により実現されなくてもよい。記憶部12は、例えば、複数の記憶回路により実現されてもよい。
【0019】
記憶部12は、ユーザとの対話処理に係るプログラム(図示せず)を記憶している。プログラムは、例えば、記憶部12に予め記憶されていてもよい。また、例えば、非一過性の記憶媒体に記憶されて配布され、非一過性の記憶媒体から読み出されて記憶部12にインストールされてもよい。
【0020】
記憶部12は、例えば、機械学習により生成された学習済みモデル122を記憶している。学習済みモデル122は、検索クエリを分類するチャットボットを実現するためのモデルである。学習済みモデル122は、例えば、該当するサービスの提供が開始される前であればいつ記憶部12に記憶されても構わない。
【0021】
学習済みモデル122は、学習用データに基づき、モデル学習プログラムに従って機械学習モデルに機械学習を行わせることにより得られる。本実施形態において、学習済みモデル122は、例えば、入力される質問に対し、所定の回答を出力するように学習されている。このとき、学習用データは、例えば、質問パターンを入力データとし、この質問パターンに対する回答パターンを正解出力データとする。
【0022】
本実施形態に係る機械学習モデルは、例えば、複数の関数が合成されたパラメータ付き合成関数である。パラメータ付き合成関数は、複数の調整可能な関数、及びパラメータの組合せにより定義される。本実施形態に係る機械学習モデルは、上記の要請を満たす如何なるパラメータ付き合成関数であってもよいが、多層のネットワークモデル(以下、多層化ネットワークと呼ぶ)であるとする。多層化ネットワークを用いる学習済みモデル122は、質問を入力する入力層と、質問に対する回答を出力する出力層と、入力層と出力層との間に設けられる少なくとも1層の中間層あるいは隠れ層とを有する。学習済みモデル122は、人工知能ソフトウェアの一部であるプログラムモジュールとしての利用が想定される。
【0023】
本実施形態に係る多層化ネットワークとしては、例えば、深層学習(Deep Learning)の対象となる多層ニューラルネットワークである深層ニューラルネットワーク(Deep Neural Network:DNN)が用いられ得る。DNNとしては、例えば、画像を対象とする畳み込みニューラルネットワーク(Convolution Neural Network:CNN)を用いてもよい。また、自然言語を対象とする自己注意機構付きネットワークを用いてもよい。
【0024】
また、記憶部12は、ユーザ端末30から入力された質問文をログデータ121として記憶している。また、記憶部12は、種々の会話を想定した会話カード123を記憶している。各会話カード123には、会話の種類に応じた複数の質問パターン1231と、回答パターン1232とが記憶されている。
【0025】
通信インタフェース13は、例えば、ネットワークと接続する回路により実現される。通信インタフェース13は、ネットワークを介し、管理者端末20のうち少なくともいずれかと通信する。
【0026】
図2に示される処理部11は、例えば、ユーザとの対話処理に係るプログラムを実行することで、例えば、以下のように動作する。すなわち、処理部11は、記憶部12に記憶されている学習済みモデル122を用い、ユーザからの質問に対し対話形式で回答する。
【0027】
具体的には、例えば、処理部11は、ユーザ端末30から送信される質問文を取得する。質問文は、自然文の形式で取得することが可能である。自然文の形式で質問を可能とすることにより、ユーザは人に問合せているのと同じような感覚で簡単に問合せを行うことが可能となる。なお、キーワード等を示す単語を取得してもよい。
【0028】
処理部11は、取得した質問文を学習済みモデル122に入力する。学習済みモデル122では、入力された質問文と類似する質問パターン1231の群が抽出される。類似する質問パターン1231の群は、例えば、類似度に基づいて抽出される。例えば、取得した質問文と記憶部12に記憶されている質問パターン1231とが比較され、質問文と質問パターンとの類似度が算出される。質問文と質問パターンとの類似度には、質問文と、同じ回答パターンに対応する質問パターンの集合である質問パターン群との類似度が含まれてもよい。また、質問文と質問パターンとの類似度には、質問文と、質問パターンを元にした関数との類似度が含まれてもよい。また、質問文と質問パターンとの類似度には、質問文と、質問パターンを元にしたカテゴリとの類似度が含まれてもよい。
【0029】
類似度は、例えば、自然言語処理を用いて算出される。具体的には、質問文と質問パターンとのキーワードをそれぞれ抽出しておき、キーワードの一致度をキーワード毎の重み等も用いて類似度としてもよい。他にも、質問文と質問パターンとをそれぞれベクトル化し、コサイン類似度を用いて類似度を算出してもよい。
【0030】
学習済みモデル122からは、抽出した質問パターン1231の群に基づき、回答パターン1232と紐づけられた会話カード123の識別番号と、この出力の確信度とが出力される。処理部11は、出力された回答をユーザ端末30へ送信する。処理部11は、入力された質問文をログデータ121として記憶部12に記憶する。
【0031】
質問文と質問パターン1231との類似度を算出するに際して、ユーザ及び/又は管理者が入力した質問パターンを学習用データの候補として機械学習をさせることにより、類似度算出のためのパラメータを更新してもよい。このような機械学習を行うことにより、ユーザの意図にあった回答パターンを提示する精度を向上させることが可能となる。
【0032】
なお、サーバ装置10は、入力インタフェースを有していてもよい。入力インタフェースは、例えば、マウス、キーボード、及び、操作面へ触れることで指示が入力されるタッチパネル等により実現される。入力インタフェースは、操作者からの入力指示を電気信号へ変換し、電気信号を処理部11へ出力する。なお、入力インタフェースは、マウス、及びキーボード等の物理的な操作デバイスに限定されない。入力インタフェースには、例えば、外部の入力機器から入力される電気信号を受け付ける受信ポートが含まれてもよい。
【0033】
また、サーバ装置10は、出力インタフェースを有していてもよい。出力インタフェースは、例えば、表示機器、及び印刷機器等により実現される。表示機器としては、例えば、液晶ディスプレイ、有機ELディスプレイ、LEDディスプレイ、プラズマディスプレイ、及びCRTディスプレイ等、任意のディスプレイが利用可能である。表示機器は、画像データに基づく画像等を表示する。印刷機器は、例えば、プリンタである。印刷機器は、通信に関する所定の情報を所定用紙に印刷する。なお、出力インタフェースは、表示機器、及び印刷機器等の物理的な出力装置に限定されない。出力インタフェースには、例えば、外部の出力装置へ画像データを送信する送信ポートが含まれてもよい。
【0034】
図2に示される管理者端末20は、例えば、処理部21、記憶部22、入力インタフェース23、出力インタフェース24、及び通信インタフェース25を備える。なお、図1で示される管理者端末20の構成はそれぞれ同様である。
【0035】
処理部21は、管理者端末20の中枢として機能するプロセッサである。処理部21は、例えば、CPU、CPUが処理を実行する際に用いるメモリを備える。CPUは、例えば、記憶部22に記憶されているプログラムをメモリに読み込む。CPUは、メモリに読み込まれたプログラムを実行する。これにより、処理部21は、プログラムに対応する種々の機能を実現する。
【0036】
記憶部22は、種々の情報を記憶するHDD、又はSSD等の不揮発性の記憶回路を備える、いわゆる補助記憶装置である。なお、記憶部22は、CD-ROM、DVD、及びフラッシュメモリ等の可搬性記憶媒体との間で種々の情報を読み書きする駆動装置等であってもよい。
【0037】
記憶部22は、本実施形態に係るプログラム、例えば、学習提案プログラム221を記憶している。なお、学習提案プログラム221は、例えば、不図示の所定のサーバからダウンロードされ、記憶部22にインストールされる。
【0038】
入力インタフェース23は、例えば、マウス、キーボード、操作面へ触れることで指示が入力されるタッチパネル、又は音声を入力するマイク等により実現される。入力インタフェース23は、ユーザからの入力指示を電気信号へ変換し、電気信号を処理部21へ出力する。
【0039】
出力インタフェース24は、例えば、表示機器、印刷機器、又はスピーカにより実現される。表示機器としては、例えば、液晶ディスプレイ、及び有機ELディスプレイ等である。表示機器は、例えば、サーバ装置10との間で行われるチャット(対話)の画像を表示する。スピーカは、例えば、サーバ装置10との間で行われるチャット(対話)についての音声を再生する。
【0040】
通信インタフェース25は、例えば、ネットワークと接続する回路により実現される。通信インタフェース25は、ネットワークを介し、サーバ装置10と通信する。
【0041】
図2に示される処理部21は、記憶部22に記憶されている学習提案プログラム221を実行することで、当該プログラムに対応する機能を実現する。例えば、処理部21は、学習提案プログラム221を実行することで、取得部211、抽出部212、及び提示部213の機能を実現する。
【0042】
取得部211は、サーバ装置10の記憶部12に記憶されているログデータ121を取得する。例えば、取得部211は、所定のタイミング(時間、日、曜日等)、又は管理者からの指示に従い、記憶部12に記憶されているログデータ121を取得する。取得部211は、例えば、先に取得してから現在までに記憶部12に新たに蓄積された質問文を取得する。また、取得部211は、例えば、管理者により指定された質問文を記憶部12から取得するようにしてもよい。
【0043】
抽出部212は、ユーザから入力された質問文の確率密度分布と、質問パターン1231の確率密度分布との密度比を推定し、推定した密度比に基づき、ユーザにより入力された質問文から、頻繁に出現し、かつ、既存の質問パターンでカバーされ難い質問文を抽出する。既存の質問パターンでカバーされ難い質問文とは、例えば、既存の質問パターンとの類似度が低い質問文を意味する。
【0044】
提示部213は、抽出部212で抽出された質問文を出力インタフェース24としてのディスプレイに表示し、適切な会話カード123を新規に作成した上での質問パターン1231の追加を提案する。また、提示部213は、適切な会話カード123が既に作成されているにも拘らず回答パターン1232が提示されていない場合には、質問パターン1231の追加を提案する。
【0045】
<提示処理>
管理者端末20が、サーバ装置10に記憶されるログデータ121に基づき、サーバ装置10で運用されるチャットボットを学習させるための質問を管理者に提示する処理を説明する。
図3は、図1に示される管理者端末20がチャットボットを学習させるための質問を提示する際の処理部21の動作の例を表すフローチャートである。
【0046】
まず、処理部21の取得部211は、サーバ装置10からログデータ121を取得する(ステップS101)。具体的には、例えば、取得部211は、所定の時間、又は管理者からの指示に従い、記憶部12に記憶されているログデータ121を取得する。取得部211は、例えば、以前に本処理が実行されてから、現在において本処理が実行されるまでにログデータ121に蓄積されたデータを送信するように、サーバ装置10に対して要求信号を送信する。また、取得部211は、管理者から指示されたログデータをサーバ装置10に要求するようにしてもよい。サーバ装置10は要求信号を受けると、要求された期間に蓄積されたデータを管理者端末20へ送信する。
【0047】
管理者端末20は、サーバ装置10から送信されたデータを受信すると、処理部21の抽出部212により、頻繁に出現し、かつ、既存の質問パターンでカバーされ難い質問文を抽出する(ステップS102)。本実施形態では、抽出部212は、例えば、既存の質問パターンの確率密度分布と、実際に入力される質問文の確率密度分布との密度比推定を用い、頻繁に出現し、かつ、既存の質問パターンでカバーされ難い質問文を抽出する。
【0048】
密度比推定を用いて質問文を抽出する手法は、取得した質問文の確率密度分布と、質問パターン1231の確率密度分布との密度比が推定できれば何でも構わない。例えば、2つの確率密度分布p(x),q(x)があり、それぞれから有限個サンプルされたサンプルu_1,u_2,…,u_nと、v_1,v_2,…,v_mとがある場合に、学習等を終えた後に密度比f(x):=q(x)/p(x)を任意のxに対して即座に推定可能となる手法が用いられてもよい。また、質問文と質問パターン1231とに現れる文字列に対するカウンティング処理により、密度比が推定可能となる手法が用いられてもよい。
【0049】
図4は、「質問パターンの確率密度分布」p(x)と、「入力された質問文の確率密度分布」q(x)との例を表す模式図である。図4において、横軸がデータ空間を表し、縦軸が発生する確率を表す。図4において、実線が「質問パターンの確率密度分布」p(x)を表し、破線が「入力された質問文の確率密度分布」q(x)を表す。図4において、破線:q(x)の値が実線:p(x)を上回っている領域は、密度比f(x):=q(x)/p(x)の値が1より大きい領域である。密度比の値は、実線:p(x)と破線:q(x)との値の差が大きいほど大きくなる。つまり、密度比の値が大きくなるほど、既存の質問パターンではカバーできていない質問文が入力されたことを表す。
【0050】
密度比推定を用いると、入力される質問文をカバー可能な質問パターンが十分に用意されている会話では、p(x)の値が大きくなるため、密度比は小さくなる。そのため、密度比推定を用いた質問文抽出では、すでに十分対応できている質問文が抽出されることは避けられる。また、カバー可能な質問パターンが十分に用意されていない会話であっても入力される質問文が少ない場合にはq(x)の値が小さくなるため、密度比は小さくなる。そのため、密度比推定を用いた質問文抽出では、密度の低い例外的な質問文ばかりが抽出されることも避けられる。
【0051】
管理者端末20は、質問文を抽出すると、処理部21の提示部213により、抽出した質問文を管理者に表示する(ステップS103)。
【0052】
図5は、図1に示される管理者端末20における質問文の表示例を表す図である。図5で示される例では、解析された質問文の件数が表示されると共に、抽出された質問文が、分類された群毎に表示されている。具体的には、1223件の質問文に対して解析が実施され、3つの質問文の群が抽出されたことが表示されている。各質問文群では、5つの質問文が代表して表示されている。5つの質問文の下段には、「質問パターンにあまり登録されていないこのような感じの問い合わせが、全部でxx件ありました。会話カードの内容見直し/新規追加、そして質問パターンの追加を検討してみましょう!」と表示されている。質問文が紹介されると共に、質問文に対する対応として、会話カードの内容見直し/新規追加、及び質問パターンの追加が提案される。
【0053】
質問文群を代表する質問文は、例えば、同一の群として判断されたクラスタの中から等確率にランダム抽出した質問文である。なお、代表質問文の抽出は、ランダム抽出に限定されない。例えば、抽出部212は、質問文の表現がなるべくバラつくように5件の質問文を抽出してもよい。また、抽出部212は、クラスタの「中心」付近にいる順に並べ替え、上位5件の質問文を上から表示してもよい。また、抽出される代表質問文は5件に限定されず、5件以上であっても以下であっても構わない。また、図5に示される画面において、「もっと見るボタン」が設けられ、押下される度に、追加で質問文がロードされても構わない。
【0054】
<質問文抽出の具体例1>
本実施形態の質問文抽出の具体例1を説明する。具体例1では、分類器を利用して密度比を推定する場合を説明する。図6は、図3のステップS102に示される質問文抽出の具体例1を説明するフローチャートである。
【0055】
図3で示されるステップS101で質問文を取得すると、抽出部212は、取得した質問文の確率密度分布と、記憶部12に記憶されている質問パターン1231の確率密度分布との密度比を推定する(ステップS1021)。
【0056】
具体的には、例えば、既存の質問パターンについてサンプルされたu_1,u_2,…,u_nと、実際に入力された質問文がサンプルされたv_1,v_2,…,v_mとのn+m個のデータを用い、「入力されたデータが「実際に入力された質問文」と、「既存の質問パターン」とのどちらからサンプルされたものかを二値判別する分類器」を作成する。つまり、例えば、既存の質問パターンについてサンプルされたu_1,u_2,…,u_nと、実際に入力された質問文がサンプルされたv_1,v_2,…,v_mとを入力データとし、「入力されたデータが「実際に入力された質問文」と、「既存の質問パターン」とのどちらからサンプルされたものかを正解出力データとして、分類器を学習させる。ここで作成される分類器は、入力されたデータのサンプル元を即座に判別できるものであればいかなる種類の機械学習モデルであっても構わない。また、機械学習モデルによらず、単語の登場回数、又は単語の特徴を用いた分類方法であってもよい。
【0057】
なお、分類器の作成は、サーバ装置10で実施されても、管理者端末20で実施されても構わない。分類器がサーバ装置10で作成される場合、分類器は、サーバ装置10の作成手段で、質問文と質問パターンとを用いて事前に作成される。作成された分類器は、提示処理が実施される前に予めサーバ装置10から管理者端末20へ送信される。また、作成された分類器は、提示処理が実施される際、つまり、図3のステップS101でログデータが取得される前、ログデータの取得の際、又は、ステップS101と、ステップS102との間にサーバ装置10から管理者端末20へ送信されてもよい。
【0058】
また、分類器が管理者端末20で作成される場合、分類器は、例えば、管理者端末20の作成手段で、提示処理が実施される前に予め作成される。また、分類器は、提示処理が実施される際、つまり、図3のステップS101でログデータが取得される前、ログデータの取得の際、又は、ステップS101と、ステップS102との間に作成が開始されてもよい。
【0059】
例えば、「真の質問パターンの確率密度分布」p(x)と、「真の入力された質問文の確率密度分布」q(x)とを仮定し、「質問パターン」u_1,u_2,…,u_nは、p(x)からサンプルされたものとし、「質問文」v_1,v_2,…,v_mは、q(x)からサンプルされたものと定式化する。抽出部212は、「質問文」v_1,v_2,…,v_mをそれぞれ分類器に入力する。分類器からは、質問文が「実際に入力された質問文の確率密度分布」からサンプルされたことと、「質問パターンの確率密度分布」からサンプルされたこととの比が出力される。分類器から出力された比、つまり、事後確率の比を、密度比f(v_1),f(v_2),…,f(v_m)の推定結果として用いる。
【0060】
ステップS1021で密度比を推定すると、抽出部212は、密度比の値が所定値以上となる質問文を抽出する(ステップS1022)。例えば、算出した密度比f(v_1),f(v_2),…,f(v_m)のうち、所定値よりも値の大きい密度比が算出されたv_iを抽出する。このことは、例えば図5において、「カバーしきれていないカバーすべき質問」からサンプルされた質問文を抽出することを意味する。
【0061】
抽出部212は、ステップS1022で抽出した複数の質問文をクラスタリングする(ステップS1023)。ここでのクラスタリングは、文字列ベースで行ってもよいし、文章のベクトル化を行える任意の手法を用いて得られるベクトルを元に行ってもよい。
【0062】
そして、図3におけるステップS103において、処理部21の提示部213は、クラスタリングされた質問文の群を、群のサイズが大きな順に提示する。図5に示される例によれば、21件が同一の群としてクラスタリングされた所定の手法を用いた支払いに関する5つの質問文が最初に表示されている。その下段に、7件が同一の群としてクラスタリングされた5つの質問文が表示され、その下段に、6件が同一の群としてクラスタリングされた5つの質問文が表示されている。
【0063】
<質問文抽出の具体例2>
本実施形態の質問文抽出の具体例2を説明する。具体例2では、カウンティングを利用して密度比を推定する場合を説明する。図7は、図3のステップS102に示される質問文抽出の具体例2を説明するフローチャートである。
【0064】
図3で示されるステップS101で質問文を取得すると、抽出部212は、取得した質問文と、予め記憶されている質問パターンとのセンテンスを予め設定された文字数の文字列に分割する(ステップS1031)。なお、質問パターンのセンテンスの分割は予め実施しておいても構わない。
【0065】
抽出部212は、取得した質問文と、予め記憶されている質問パターンとを分割した文字列で分析し、「質問パターンの確率密度分布」p(x)での発生が少なく、「入力された質問文の確率密度分布」q(x)での発生が多い文字列を抽出する(ステップS1032)。このとき、抽出部212は、例えば、「質問パターンの確率密度分布」p(x)での発生が所定の指標値よりも小さく、「入力された質問文の確率密度分布」q(x)での発生が所定の指標値よりも大きい文字列を抽出する。
【0066】
抽出部212は、ステップS1032で抽出した複数の文字列をクラスタリングする(ステップS1033)。ここでのクラスタリングは、文字列ベースで行ってもよいし、文章のベクトル化を行える任意の手法を用いて得られるベクトルを元に行ってもよい。
【0067】
抽出部212は、取得した質問文から、抽出した文字列を含む質問文を、クラスタ毎にサンプリングする(ステップS1034)。
【0068】
そして、図3におけるステップS103において、処理部21の提示部213は、サンプリングされた質問文を、群のサイズが大きな順に提示する。提示される内容は、図5に示される表示内容と同様である。
【0069】
以上のように、第1の実施形態では、管理者端末20の抽出部212により、ユーザから入力された質問文の確率密度分布と、予め記憶されている質問パターンの確率密度分布との密度比を推定し、推定した密度比を利用し、質問パターンの確率密度分布よりも前記質問文の確率密度分布で多く出現する質問文を、ユーザから入力された質問文から抽出する。そして、提示部213により、抽出された質問文を管理者へ提示するようにしている。これにより、学習が十分に為されている会話における質問文、及び重要でない例外的な質問文の抽出を避け、学習が不十分な会話、又は学習ができていない会話において問い合わせが多かった質問文が管理者へ提示されることになる。
【0070】
したがって、第1の実施形態に開示の情報処理装置、学習提案プログラム、及び学習提案方法によれば、応対がうまくできていない頻出ケースをログデータから発見する労力を軽減することができる。
【0071】
(第2の実施形態)
第1の実施形態では、管理者端末20が、頻繁に出現し、かつ、既存の質問パターンでカバーされ難い質問文を抽出する場合を例に説明した。第2の実施形態では、サーバ装置10が、頻繁に出現し、かつ、既存の質問パターンでカバーされ難い質問文を抽出する場合を説明する。
【0072】
<サーバ装置及び管理者端末の構成>
第2の実施形態に係るサーバ装置10及び管理者端末20の構成について説明する。図8は、第2の実施形態に係るサーバ装置10及び管理者端末20の機能構成の例を示すブロック図である。図8に示されるサーバ装置10は、例えば、処理部11a、記憶部12a、及び通信インタフェース13を備える。処理部11a、記憶部12a、及び通信インタフェース13は、例えば、バスを介して互いに通信可能に接続されている。
【0073】
処理部11aは、例えば、プロセッサであり、CPU、CPUが処理を実行する際に用いるメモリを備える。メモリは、いわゆる主記憶装置である。CPUは、例えば、記憶部12aに記憶されているプログラムをメモリに読み込む。CPUは、メモリに読み込まれたプログラムを実行する。これにより、処理部11aは、プログラムに対応する種々の機能を実現する。
【0074】
記憶部12aは、種々の情報を記憶するHDD、又はSSD等の不揮発性の記憶回路を備える、いわゆる補助記憶装置である。なお、記憶部12aは、CD-ROM、DVD、及びフラッシュメモリ等の可搬性記憶媒体との間で種々の情報を読み書きする駆動装置等であってもよい。また、記憶部12aは、必ずしも単独の回路により実現されなくてもよい。記憶部12aは、例えば、複数の記憶回路により実現されてもよい。
【0075】
記憶部12aは、ユーザとの対話処理に係るプログラム(図示せず)を記憶している。プログラムは、例えば、記憶部12aに予め記憶されていてもよい。また、例えば、非一過性の記憶媒体に記憶されて配布され、非一過性の記憶媒体から読み出されて記憶部12aにインストールされてもよい。
【0076】
記憶部12aは、本実施形態に係る学習提案プログラム124を記憶している。学習提案プログラム124は、例えば、記憶部12aに予め記憶されていてもよい。また、例えば、非一過性の記憶媒体に記憶されて配布され、非一過性の記憶媒体から読み出されて記憶部12aにインストールされてもよい。
【0077】
記憶部12aは、例えば、機械学習により生成された学習済みモデル122を記憶している。また、記憶部12aは、ユーザ端末30から入力された質問文をログデータ121として記憶している。また、記憶部12aは、種々の会話を想定した会話カード123を記憶している。各会話カード123には、会話の種類に応じた質問パターン1231、及び回答パターン1232が記憶されている。
【0078】
図8に示される処理部11aは、記憶部12aに記憶されている学習提案プログラム124を実行することで、当該プログラムに対応する機能を実現する。例えば、処理部11aは、学習提案プログラム124を実行することで、抽出部111、及び提示部112の機能を実現する。
【0079】
なお、処理部11aは、複数のCPUが組み合わされて形成されていても構わない。すなわち、図8に示される抽出部111、及び提示部112は、例えば、各CPUがプログラムを実行することで実現されても構わない。また、処理部11aは、抽出部111、及び提示部112の機能をそれぞれ有する専用のハードウェア構成により形成されていても構わない。また、処理部11aは、抽出部111、及び提示部112の機能をそれぞれ有する専用のハードウェア回路を組み込んだ特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)、フィールド・プログラマブル・ゲート・アレイ(Field Programmable Gate Array:FPGA)、他の複合プログラマブル論理デバイス(Complex Programmable Logic Device:CPLD)、又は単純プログラマブル論理デバイス(Simple Programmable Logic Device:SPLD)により形成されていても構わない。
【0080】
抽出部111は、ユーザから入力された質問文の確率密度分布と、質問パターン1231の確率密度分布との密度比を推定し、推定した密度比に基づき、ユーザにより入力された質問文から、頻繁に出現し、かつ、既存の質問パターンでカバーされ難い質問文を抽出する。抽出部111は、例えば、所定の時間、又は管理者からの指示に従い、質問文を抽出する。このとき、抽出部111は、例えば、先の処理から現在の処理までに記憶部12に新たに蓄積された質問文、又は管理者により指定された質問文に基づき、質問文を抽出する。
【0081】
提示部112は、抽出部111で抽出された質問文を管理者端末20のディスプレイに表示させ、適切な会話カード123を新規に作成した上での質問パターン1231の追加を提案する。また、提示部112は、適切な会話カード123が既に作成されているにも拘らず回答パターン1232が提示されていない場合には、質問パターン1231の追加を提案する。
【0082】
図8に示される管理者端末20は、例えば、処理部21a、記憶部22a、入力インタフェース23、出力インタフェース24、及び通信インタフェース25を備える。なお、図1で示される管理者端末20の構成はそれぞれ同様である。
【0083】
処理部21aは、管理者端末20の中枢として機能するプロセッサである。処理部21aは、例えば、CPU、CPUが処理を実行する際に用いるメモリを備える。CPUは、例えば、記憶部22aに記憶されているプログラムをメモリに読み込む。CPUは、メモリに読み込まれたプログラムを実行する。これにより、処理部21aは、プログラムに対応する種々の機能を実現する。例えば、処理部21aは、サーバ装置10から送信される画像データに基づく画像をディスプレイに表示させる。
【0084】
記憶部22aは、種々の情報を記憶するHDD、又はSSD等の不揮発性の記憶回路を備える、いわゆる補助記憶装置である。なお、記憶部22aは、CD-ROM、DVD、及びフラッシュメモリ等の可搬性記憶媒体との間で種々の情報を読み書きする駆動装置等であってもよい。
【0085】
<提示処理>
サーバ装置10が、サーバ装置10に記憶されるログデータ121に基づき、サーバ装置10で運用されるチャットボットを学習させるための質問を管理者端末20に提示する処理を説明する。
【0086】
図9は、図8に示されるサーバ装置10がチャットボットを学習させるための質問を管理者端末20に提示する際の処理部11aの動作の例を表すフローチャートである。
【0087】
まず、処理部11aの抽出部111は、例えば、所定の時間、又は管理者からの指示に従い、頻繁に出現し、かつ、既存の質問パターンでカバーされ難い質問文を抽出する(ステップS201)。このとき、抽出部111は、例えば、先の処理から現在の処理までに記憶部12に新たに蓄積された質問文、又は管理者により指定された質問文に基づき、質問文を抽出する。第2の実施形態においても第1の実施形態と同様に、抽出部111は、例えば、既存の質問パターンの確率密度分布と、実際に入力される質問文の確率密度分布との密度比推定を用い、頻繁に出現し、かつ、既存の質問パターンでカバーされ難い質問文を抽出する。
【0088】
密度比推定を用いて質問文を抽出する手法は、取得した質問文の確率密度分布と、質問パターン1231の確率密度分布との密度比が推定できれば何でも構わない。例えば、2つの密度分布p(x),q(x)があり、それぞれから有限個サンプルされたサンプルu_1,u_2,…,u_nと、v_1,v_2,…,v_mとがある場合に、学習等を終えた後に密度比f(x):=q(x)/p(x)を任意のxに対して即座に推定可能となる手法が用いられてもよい。また、質問文と質問パターン1231とに現れる文字列に対するカウンティング処理により、密度比が推定可能となる手法が用いられてもよい。
【0089】
サーバ装置10は、質問文を抽出すると、処理部11aの提示部112により、抽出した質問文を管理者へ提示するように、画像データを管理者端末20へ送信する(ステップS202)。
【0090】
管理者端末20は、サーバ装置10から送信された画像データを受信すると、画像データに基づく画像をディスプレイに表示する。ディスプレイに表示される画像は、図5に示される内容と同様である。
【0091】
以上のように、第2の実施形態では、サーバ装置10の抽出部111により、ユーザから入力された質問文の確率密度分布と、予め記憶されている質問パターンの確率密度分布との密度比を推定し、推定した密度比を利用し、質問パターンの確率密度分布よりも前記質問文の確率密度分布で多く出現する質問文を、ユーザから入力された質問文から抽出する。そして、提示部112により、抽出された質問文を、管理者端末20を使用する管理者へ提示するようにしている。これにより、学習が十分に為されている会話における質問文、及び重要でない例外的な質問文の抽出を避け、学習が不十分な会話、又は学習ができていない会話において問い合わせが多かった質問文が管理者へ提示されることになる。
【0092】
したがって、第2の実施形態に開示の情報処理装置、学習提案プログラム、及び学習提案方法によれば、応対がうまくできていない頻出ケースをログデータから発見する労力を軽減することができる。
【0093】
<その他の変形例>
上記実施形態では、抽出された質問文が図5に示されるように管理者へ提示される場合を例に説明したが、上記実施形態は、以下の場合にも適用可能である。図10は、図1に示される管理者端末20における質問文のその他の表示例を表す図である。図10によれば、会話カード見直しボタン241、会話カード追加ボタン242、及び質問パターン追加ボタン243がクラスタ毎に表示されている。管理者により会話カード見直しボタン241が押下されると、該当するクラスタにおいて、会話カード123の見直し画面が展開される。管理者により会話カード追加ボタン242が押下されると、該当するクラスタにおいて、会話カード123の追加画面が展開される。管理者により質問パターン追加ボタン243が押下されると、該当するクラスタにおいて、既存の会話カード123に対する質問パターン1231の追加画面が展開される。提示部112、又は提示部213により会話カード見直しボタン241、会話カード追加ボタン242、及び質問パターン追加ボタン243が管理者端末20のディスプレイに表示されることで、質問文の提示画面から効率的に会話カード123の見直し、会話カード123の追加、又は質問パターン1231の追加を効率的に実施することが可能となる。
【0094】
上記実施形態では、検索クエリを分類するタイプのチャットボットの機械学習モデルを学習させるためのデータを管理者へ提示する例について説明したが、上記実施形態は、チャットボットの機械学習モデル以外の機械学習モデルを学習させるためのデータを提示する場合にも適用可能である。このとき、データの提示は、学習済みモデルを作成する際の学習、又は学習済みモデルの再学習で適応可能である。学習済みモデルを作成するにおいては、ログデータは、例えば、一般に公開されている何らかのデータで代用され得る。
【0095】
以上、本開示のいくつかの実施形態を説明したが、これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものとする。
【0096】
<付記>
実施形態で説明した事項を、以下に付記する。
【0097】
(付記1)
ユーザから入力された質問文の確率密度分布と、予め記憶されている質問パターンの確率密度分布との密度比を推定し、推定した密度比を利用し、質問パターンの確率密度分布よりも質問文の確率密度分布で多く出現する質問文を、ユーザから入力された質問文から抽出する抽出手段(111,212)と、
抽出された質問文を提示する提示手段(112,213)と
を具備する情報処理装置。
【0098】
(付記1)によれば、学習が不十分な会話、又は学習ができていない会話において問い合わせが多かった質問を管理者へ提示可能なため、応対がうまくできていない頻出ケースをログデータから発見する労力を軽減することができる。
【0099】
(付記2)
抽出手段は、ユーザから入力された質問文と質問パターンとを分類する分類器の出力から密度比を推定する(付記1)に記載の情報処理装置。
【0100】
(付記2)によれば、分類器からの出力を用いて迅速に密度比を推定することが可能となる。
【0101】
(付記3)
抽出手段は、抽出した質問文をクラスタリングし、
提示手段は、クラスタリングされた質問文を、群のサイズに応じた順序で提示する(付記2)に記載の情報処理装置。
【0102】
(付記3)によれば、関連する質問文がまとめられて提示されるため、管理者が学習用データを管理する労力を軽減させることができる。
【0103】
(付記4)
抽出手段は、ユーザから入力された質問文に含まれる文字列、及び質問パターンに含まれる文字列の回数の比に基づき、ユーザから入力された質問文の確率密度分布での発生が多く、質問パターンの確率密度分布での発生が少ない文字列を抽出する(付記1)に記載の情報処理装置。
【0104】
(付記4)によれば、負荷の軽い計算で迅速に密度比を推定することが可能となる。
【0105】
(付記5)
抽出手段は、抽出した文字列をクラスタリングし、クラスタリングした文字列を含む質問文を、ユーザから入力された質問文から抽出し、
提示手段は、クラスタリングされた質問文を、群のサイズに応じた順序で提示する(付記4)に記載の情報処理装置。
【0106】
(付記5)によれば、関連する質問文がまとめられて提示されるため、管理者が学習用データを管理する労力を軽減させることができる。
【0107】
(付記6)
提示手段は、抽出した質問文から予め設定した件数の質問文を所定の規則に従って抽出し、抽出した件数の質問文を提示する(付記1)乃至(付記5)のいずれかに記載の情報処理装置。
【0108】
(付記6)によれば、抽出された質問文が、管理者が視認しやすい態様で表示されることになる。
【0109】
(付記7)
提示手段は、抽出された質問文を提示し、機械学習モデルの学習で用いる学習用データの見直し、又は追加の検討を促す記載を提示する(付記1)乃至(付記6)のいずれかに記載の情報処理装置。
【0110】
(付記7)によれば、学習が不十分な会話、又は学習ができていない会話において問い合わせが多かった質問の、学習用データへの追加検討が効率的に成されることになる。
【0111】
(付記8)
提示手段は、抽出された質問文を提示し、チャットボットの機械学習モデルの学習で用いる会話カードの見直し、又は追加、若しくは質問パターンの追加の検討を促す記載を提示する(付記1)乃至(付記6)のいずれかに記載の情報処理装置。
【0112】
(付記8)によれば、学習が不十分な会話、又は学習ができていない会話において問い合わせが多かった質問に基づく、会話カードの見直し、又は追加、若しくは質問パターンの追加検討が効率的に成されることになる。
【符号の説明】
【0113】
1…対話システム
10…サーバ装置
11…処理部
111…抽出部
112…提示部
11a…処理部
12…記憶部
121…ログデータ
122…学習済みモデル
123…会話カード
1231…質問パターン
1232…回答パターン
124…学習提案プログラム
12a…記憶部
13…通信インタフェース
20…管理者端末
21…処理部
211…取得部
212…抽出部
213…提示部
21a…処理部
22…記憶部
221…学習提案プログラム
22a…記憶部
23…入力インタフェース
24…出力インタフェース
241…会話カード見直しボタン
242…会話カード追加ボタン
243…質問パターン追加ボタン
25…通信インタフェース
30…ユーザ端末

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10