特許第6624539号(P6624539)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 株式会社トレードワークスの特許一覧 ▶ 株式会社リーガル・テクノロジーズの特許一覧

特許6624539クラス分類と回帰分類を組み合わせたAIチャットボットの構築方法
<>
  • 特許6624539-クラス分類と回帰分類を組み合わせたAIチャットボットの構築方法 図000005
  • 特許6624539-クラス分類と回帰分類を組み合わせたAIチャットボットの構築方法 図000006
  • 特許6624539-クラス分類と回帰分類を組み合わせたAIチャットボットの構築方法 図000007
  • 特許6624539-クラス分類と回帰分類を組み合わせたAIチャットボットの構築方法 図000008
  • 特許6624539-クラス分類と回帰分類を組み合わせたAIチャットボットの構築方法 図000009
  • 特許6624539-クラス分類と回帰分類を組み合わせたAIチャットボットの構築方法 図000010
  • 特許6624539-クラス分類と回帰分類を組み合わせたAIチャットボットの構築方法 図000011
  • 特許6624539-クラス分類と回帰分類を組み合わせたAIチャットボットの構築方法 図000012
  • 特許6624539-クラス分類と回帰分類を組み合わせたAIチャットボットの構築方法 図000013
  • 特許6624539-クラス分類と回帰分類を組み合わせたAIチャットボットの構築方法 図000014
  • 特許6624539-クラス分類と回帰分類を組み合わせたAIチャットボットの構築方法 図000015
  • 特許6624539-クラス分類と回帰分類を組み合わせたAIチャットボットの構築方法 図000016
  • 特許6624539-クラス分類と回帰分類を組み合わせたAIチャットボットの構築方法 図000017
  • 特許6624539-クラス分類と回帰分類を組み合わせたAIチャットボットの構築方法 図000018
  • 特許6624539-クラス分類と回帰分類を組み合わせたAIチャットボットの構築方法 図000019
  • 特許6624539-クラス分類と回帰分類を組み合わせたAIチャットボットの構築方法 図000020
  • 特許6624539-クラス分類と回帰分類を組み合わせたAIチャットボットの構築方法 図000021
  • 特許6624539-クラス分類と回帰分類を組み合わせたAIチャットボットの構築方法 図000022
  • 特許6624539-クラス分類と回帰分類を組み合わせたAIチャットボットの構築方法 図000023
  • 特許6624539-クラス分類と回帰分類を組み合わせたAIチャットボットの構築方法 図000024
  • 特許6624539-クラス分類と回帰分類を組み合わせたAIチャットボットの構築方法 図000025
  • 特許6624539-クラス分類と回帰分類を組み合わせたAIチャットボットの構築方法 図000026
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6624539
(24)【登録日】2019年12月6日
(45)【発行日】2019年12月25日
(54)【発明の名称】クラス分類と回帰分類を組み合わせたAIチャットボットの構築方法
(51)【国際特許分類】
   G06F 16/90 20190101AFI20191216BHJP
【FI】
   G06F16/90 100
【請求項の数】5
【全頁数】24
(21)【出願番号】特願2019-181656(P2019-181656)
(22)【出願日】2019年10月1日
【審査請求日】2019年10月1日
【早期審査対象出願】
(73)【特許権者】
【識別番号】515180804
【氏名又は名称】株式会社トレードワークス
(73)【特許権者】
【識別番号】518237484
【氏名又は名称】株式会社リーガル・テクノロジーズ
(74)【代理人】
【識別番号】110000855
【氏名又は名称】特許業務法人浅村特許事務所
(72)【発明者】
【氏名】勝部 泰之
(72)【発明者】
【氏名】中原 和幸
【審査官】 甲斐 哲雄
(56)【参考文献】
【文献】 特開2012−150524(JP,A)
【文献】 特開2019−125145(JP,A)
【文献】 特開2012−068985(JP,A)
【文献】 特表2019−521415(JP,A)
【文献】 特許第6569846(JP,B2)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00−16/958
G06F 13/00
(57)【特許請求の範囲】
【請求項1】
1以上の入力パターンと、これに対する回答情報とを予め対応付けて記憶した回答データベースと、前記1以上の入力パターンと前記回答情報の対応関係を教師データとして教師あり学習を行うことにより得られた人工知能アルゴリズムにより、利用者の入力に応じた回答情報を自動的に提供する回答生成装置と、
前記利用者又は/及び他の利用者の過去の入力及び入力順序を教師データとして、前記回答生成装置とは異なる学習を行うことにより得られた人工知能アルゴリズムにより次に前記利用者がする前記入力を予測して、当該予測の結果を次の入力候補として前記利用者に自動的に表示する入力候補表示装置と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記情報処理装置は、さらに、前記利用者の利用が好ましい形態を呈するよう定められた報酬を設定してなされた強化学習を行うことにより得られた人工知能アルゴリズムにより、前記回答生成装置又は/及び前記入力候補表示装置の動作を制御することを特徴とする、
請求項1に記載の情報処理装置。
【請求項3】
前記情報処理装置は、さらに、前記利用者の入力履歴を抽出し、抽出された前記入力履歴の全部又は一部を引用し、前記引用に前記利用者が追記をすることにより問い合わせを生成することができる問い合わせ生成装置を具備することを特徴とする、
請求項1又は請求項2に記載の情報処理装置。
【請求項4】
1以上の入力パターンと、これに対する回答情報とを予め対応付けて記憶した回答データベースと、前記1以上の入力パターンと前記回答情報の対応関係を教師データとして教師あり学習を行うことにより得られた人工知能アルゴリズムにより、利用者の入力に応じた回答情報を自動的に提供する回答生成ステップと、
前記利用者又は/及び他の利用者の過去の入力及び入力順序を教師データとして、前記回答生成ステップとは異なる学習を行うことにより得られた人工知能アルゴリズムにより、次に前記利用者がする前記入力を予測して、当該予測の結果を次の入力候補として前記利用者に自動的に表示する入力候補表示ステップと、
を備える情報処理方法。
【請求項5】
1以上の入力パターンと、これに対する回答情報とを予め対応付けて記憶した回答データベースと、前記1以上の入力パターンと前記回答情報の対応関係を教師データとして教師あり学習を行うことにより得られた人工知能アルゴリズムにより、利用者の入力に応じた回答情報を自動的に提供する回答生成ステップと、
前記利用者又は/及び他の利用者の過去の入力及び入力順序を教師データとして、前記回答生成ステップとは異なる学習を行うことにより得られた人工知能アルゴリズムにより、次に前記利用者がする前記入力を予測して、当該予測の結果を次の入力候補として前記利用者に自動的に表示する入力候補表示ステップと、
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の人工知能アルゴリズムを組み合わせて動作させることにより、利用者が問い合わせたい疑問ないし課題に効率的に回答する情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【0002】
人工知能技術を用いて、利用者からの問い合わせに対して自動的に適切な回答情報を提供することのできるAIチャットボットの利用が広がっている。このようなAIチャットボットを用いることにより、利用者からの多種多様な問い合わせに対して、人手をかけることなく、適切な回答情報を提供することができる。
例えば、特許文献1には、機械学習処理によりテキスト入力と回答情報との関係を学習し、学習結果である知識データに基づいてテキスト入力に適した回答情報を生成する(入力と入力に対する回答とのパターンであるチャットパターンの情報を保有し、これをもとに回答を生成する)、いわゆるAIチャットボットサーバー装置が記載されている。
また、直前の入力のみならず、それ以前の入力も再帰的に入力することにより、文脈を考慮して回答テキストを生成する人工知能(再帰的ニューラルネットワーク)を用いる例もある。
AIチャットボットによる自動回答は、単に雑談の相手をするだけではなく、コールセンターにおける問い合わせの受付けや、法律、医療などの高度な専門分野に関する回答など、幅広い用途が考えられる。
【0003】
また、非特許文献3には、機械学習の手法により、文章同士の類似性を認識する学習アルゴリズムであるDoc2Vecの概要が記載されている。AIチャットボットを構築する際には、このような認識アルゴリズムをベースに適切な回答情報を確率的に選択している。
【0004】
また、特許文献2には、自然言語による問い合わせに回答するのではなく、利用者に選択肢を提示して対話をする情報提供システムが記載されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許第6218057号公報
【特許文献2】特開2019−082964号公報
【非特許文献3】Quoc Le, Tomas Mikolov, “Distributed Representations of Sentences and Documents”, Proc. of the 31st International Conference on Machine Learning, PMLR 32(2), 2014年, pp.1188−1196
【発明の概要】
【発明が解決しようとする課題】
【0006】
AIチャットボットを始めとする対話システムにおいては、通常10文字から20文字程度の短いテキストの入力がなされるが、そのような短い文章のみから発話の意味を認識して回答することは困難である。特に、日本語の文字列は英語の文字列と異なり、助詞の出現頻度が高く、また語順の入れ替えによって意味が大きく変容するため、非特許文献3のように、1文の中に出現する単語の頻度や共起性で文字列の特徴量を抽出する方法が必ずしも好適とは言えない。
また、文脈を考慮して回答することを考慮して、再帰型のニューラルネットワークを用いて構築される人工知能チャットボットには、入力やそれに伴う処理量が増えることによってサーバー装置に高い負荷がかかるといった問題がある。また、勾配消失や勾配爆発が起きるなどして、期待通りの学習結果が得られるとは限らないといった問題もある。
そこで、特許文献2のように、チャットボットが受け付ける入力を予め定めた選択肢のみに限定し、その範囲で確実に動作するチャットボットが構築されることもある。しかし、予めプログラムされた選択肢の範囲内で動作するチャットボットは、すべての会話遷移パターンを予めプログラムすることがサービス提供側にとって負担となるし、動作としても単調なものにとどまるといった欠点がある。
【課題を解決するための手段】
【0007】
上記課題を解決するため、本発明者らは鋭意研究をした結果、テキスト入力の内容を判別して回答情報を提供するAIチャットボットの動作を補助するために、利用者が次にする入力を予測するためのアルゴリズム又は人工知能を併せて配置し、AIチャットボットがテキスト入力への回答情報のみならず、利用者が次にすると予測される入力候補を選択肢として表示し、利用者に、テキスト入力による問いかけか、選択肢による問いかけのいずれかの方法による入力をさせることにより、スムーズに対話をすることができる情報処理装置を構築することができることを見出し、本発明に至った。
【0008】
開示の技術によれば、1以上の入力パターンと、これに対する回答情報とを予め対応付けて記憶した回答データベースと、前記1以上の入力パターンと前記回答情報の対応関係を教師データとして教師あり学習を行うことにより得られた人工知能アルゴリズムにより、利用者の入力に応じた回答情報を自動的に提供する回答生成装置と、
所定のアルゴリズムにより次に前記利用者がする前記入力を予測して、当該予測の結果を次の入力候補として前記利用者に自動的に表示する入力候補表示装置と、
を備えることを特徴とする情報処理装置が提供される。
【発明の効果】
【0009】
本発明によれば、上述した人工知能の技術的な限界を克服し、利用者にとって有用なチャットボットを低コストで構築することが可能となる。通常、企業への問い合わせや質問を受け付けるチャットボットを利用する利用者は、問い合わせによって解決したい課題を有していると考えられる。そして、同じ課題を持っている利用者の入力や選択肢の選択には、共通する特徴が存在する可能性が高い。そこで、本発明は、この特徴を人工知能が学習するなどして入力予測をするアルゴリズムを構築して、AIチャットボットの利便性を高めるものである。入力予測をする人工知能は、問いかけや選択肢の選択という特徴を説明変数とし、利用者が持っている課題を目的変数として数理モデルを構築することにより、AIチャットボットが目的に対して最適に動作することを可能とするものである。
【図面の簡単な説明】
【0010】
図1】情報処理装置の一実施形態としてネットワークに接続された構成を示す図である。
図2】情報処理装置のハードウェア構成を示す図である。
図3】情報処理装置の機能的構成を示す機能ブロック図である。
図4】情報処理装置が実行する処理の流れを示すフロー図である。
図5】情報処理装置を構成する回答装置15の機能的構成を示す機能ブロック図である。
図6】回答データベース15cのデータ形式を示す図である。
図7】回答学習用教師データ15eのデータ形式を示す図である。
図8】形態素解析によって生成された形態素解析の結果を示す図である。
図9】Word2vecの結果に基づくベクトル出力の例を示す図である。
図10】情報処理装置を構成する候補表示装置16の機能的構成を示す機能ブロック図である。
図11】入力データベース16bのデータ形式を示す図である。
図12】入力履歴データベース16cのデータ形式を示す図である。
図13】利用者が操作する端末装置のインターフェースを示す図である。
図14】入力パターンを数値に置き換える方法を示す図である。
図15】情報処理装置を構成する強化学習装置17の機能的構成を示す機能ブロック図である。
図16】強化学習装置17の機能を組み込んだ情報処理装置の構成例である。
図17】強化学習用データベース17eのデータ形式を示す図である。
図18】問い合わせ生成装置18の機能的構成を示す機能ブロック図である。
図19】問い合わせ生成装置18の処理の流れを示すフロー図である。
図20】問い合わせフォーム保存部18bに保存されている、問い合わせフォームの例である。
図21】問い合わせ生成装置18により問い合わせを作成するためのインターフェースを示す図である。
図22】問い合わせ生成装置18の機能を組み込んだ情報処理装置の構成例である。
【発明を実施するための形態】
【0011】
(実施例1)
以下、図面を参照しながら、本発明の実施形態について説明する。
【0012】
[ネットワークに接続された情報処理装置の構成]
図1は、情報処理装置の一実施形態としてネットワークに接続された構成を示す図である。
利用者は、端末装置30を用いて情報処理装置10(以下、単に「装置10」と記す)にアクセスし、サービスを受ける。アクセスは、インターネット等のネットワーク20を介してなされる。利用者は、不特定の多数であってもよい。図1には接続態様の例として3台の端末装置30を記載しているが、接続する情報端末の数はこれに限定されず、例えば4台以上の任意の数であっても良い。
【0013】
装置10は、端末装置30からの入力を受け付け、これに対応した回答情報を生成して、端末装置30に送信する。なお、入力はテキスト入力のほか、音声データやその他のデータ(静止画データ、音声データ、動画データ、位置情報データなどのマルチモーダルデータ)であってもよいが、チャットボットの入力はテキスト(文字情報)である場合がほとんどであることから、以降は、テキスト入力を受け付けることを前提とする。
【0014】
装置10は後述する図3に記載する回答生成装置15(以下、単に「回答装置15」と記す)と入力候補表示装置16(以下、単に「候補表示装置16」と記す)を含む。回答装置15は、利用者の入力に応じた回答を生成する情報処理装置である。候補表示装置16は、利用者が次に入力すると予測される入力候補を表示する情報処理装置である。回答装置15と候補表示装置16の動作については後述する。
なお、図1に示す装置10は1台で構成され、回答装置15と候補表示装置16は装置10の構成要素として記載されているが、本発明はこの構成に限定されない。例えば、装置10、回答装置15、候補表示装置16は、複数台の情報処理装置で構成されていても良い。
【0015】
端末装置30は、利用者が利用するPC(Personal Computer)、スマートフォン、タブレット端末、ウェアラブル端末等のコンピュータである。端末装置30は、有線または無線のネットワーク20に接続し、装置10と通信を行うことができる。装置10が提供する情報提供は、端末装置30に搭載される、チャットサービスを利用するためのクライアントソフトウェアで動作する。このクライアントソフトウェアは、例えば、汎用のウェブブラウザ、あるいは専用のチャットクライアントソフトウェアであり、後述する図13はそのインターフェース例である。
【0016】
上記の構成により、端末装置30の利用者は、所定の操作を行うことにより、装置10が提供する情報提供サービスを利用することができる。
【0017】
また、端末装置30と装置10の情報通信は、チャットサーバー装置40を経由してもよい。一般的には、チャットサーバー装置40は、ある利用者Aと別の利用者Bとの間のチャット対話を実現する。利用者Aによって入力されたテキストデータと、利用者Bによって入力されたテキストデータは、両利用者が共有するチャットルーム(仮想的な部屋)において表示される。利用者Aおよび利用者Bは、このチャットルームで交わされるテキストによる対話を画面等に表示させることができる。本実施例においては、チャット利用者の一方が、仮想的な利用者である装置10である。具体的には、装置10のプログラムは、API(アプリケーション・プログラム・インターフェース)を介して、チャットルーム内のテキストデータを取得したり、チャットルームにテキストデータを送信したりする。これにより、端末装置30と装置10との間のチャットを行うことが可能となる。
【0018】
[情報処理装置のハードウェア構成]
次に、本実施形態の装置10のハードウェア構成について図2を用いて説明する。
【0019】
装置10は、一般的なコンピュータの構成を有しており、例えば、CPU(Central Processing Unit)10a、RAM(Random Access Memory)10b、ROM(Read Only Memory)10cと、記憶部10dと、ネットワークI/F(Interface)部10e、入力部10f、表示部10g、及びバス10h等を有する。
【0020】
CPU10aは、ROM10cや記憶部10d等に記憶されたプログラムやデータをRAM10b上に読み出し、処理を実行することにより、装置10全体の制御や機能を実現する演算装置である。RAM10bは、CPU10aのワークエリア等として用いられる揮発性のメモリである。ROM10cは、例えば、装置10の起動時に実行されるBIOS(Basic Input/Output System)、及び各種設定等が記憶された不揮発性のメモリである。
【0021】
記憶部10dは、OS(Operating System)や、各種のアプリケーションプログラム等を記憶する、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)等のストレージ装置である。
【0022】
ネットワークI/F部10eは、装置10をネットワーク20に接続し、チャットサーバー装置40や端末装置30等と通信を行うための通信インターフェースである。
【0023】
入力部10fは、例えばキーボード、マウス、カメラ、マイク等の入力装置であり、装置10の運用者が、装置10に各種操作信号を入力するために用いられる。表示部10gは、例えばディスプレイ等の表示装置であり、装置10による処理結果等を表示する。なお、入力部10f、表示部10g等は、必要なときに装置10に接続して利用する形態であってもよい。
【0024】
バス10hは、上記の各構成に共通に接続され、例えば、アドレス信号、データ信号、及び各種の制御信号等を伝達する。
【0025】
なお、本実施形態の装置10は、上記構成に限定されず、ハードウェアの構成が別々のコンピュータにより実現されてもよい。また、装置10が提供する情報提供サービスが、端末装置30にインストールされたアプリケーションにより動作する場合、本実施形態の装置10のハードウェア構成の一部が端末装置30のハードウェアによって実現されてもよい。
【0026】
[情報処理装置の機能的構成]
図3は、装置10の機能的構成を示す機能ブロック図である。
【0027】
受信部11は、端末装置30から、直接又はチャットサーバー装置40を介して、テキスト入力を受け付ける。
【0028】
送信生成部12は、受信部11においてテキスト入力を検知したときに、回答装置15及び候補表示装置16に処理要求を発し、当該処理要求に従って回答装置15は回答情報を生成し、候補表示装置16は入力候補を生成してそれぞれ戻り値として送信生成部12に戻す。送信生成部12は、受け取った戻り値を組み合わせて、端末装置30に送信する送信データを生成する。
【0029】
送信部13は、送信生成部12が生成した送信データを送信する。送信されたデータは、直接又はチャットサーバー装置40を介して、端末装置30に送信される。
【0030】
ログデータベース14は、端末装置30と装置10との間でやりとりされるチャットの全記録、すなわち、受信部11が受信し、又は送信部13が送信した全情報を蓄積する。このデータベースは、チャットがテキストのみで行われる場合には、端末装置30側から受信部11が受信したテキストのデータと、送信部13から端末装置30に送られるテキストデータとのすべてを格納する。また、チャットが、テキスト以外のデータを含む場合、それらのマルチモーダルデータのすべてがログデータベース14に格納される。なお、ログデータベース14を、装置10の外の装置に設けて一体として機能させてもよい。
このように、ログデータベース14にチャットの全記録を残すことにより、後述する回答データベース15c、回答学習用教師データ15e、入力データベース16bを生成するために活用したり、ログデータをビッグデータとして、分析対象として活用することができるようになる。
【0031】
回答装置15は、送信生成部12の処理要求を受け、入力に対して適切な回答を生成し、送信生成部12に送信する。回答装置15の機能構成は後述する。
【0032】
候補表示装置16は、送信生成部12の処理要求を受け、適切な入力候補を生成し、送信生成部12に送信する。候補表示装置16の機能構成は後述する。
[送信データ生成の手順]
【0033】
次に、図4を用いて、装置10が端末装置30からのテキスト入力を受信し、回答情報を生成して端末装置30に送信する処理の流れについて説明する。
【0034】
まず、ステップS01において、受信部11は端末装置30からのテキスト入力の受信を検知する。
【0035】
そして、ステップS02では、送信生成部12が送信データの生成を開始する。送信生成部12は、回答装置15と候補表示装置16に対して、受信したデータをもとに処理要求を発する。
【0036】
次に、ステップS03において、処理要求を受けた回答装置15が回答情報を生成する。
【0037】
次に、ステップS04において、回答装置15にて生成された回答情報が、送信生成部12に受け渡される。
【0038】
ステップS05では、処理要求を受けた候補表示装置16が入力候補を生成する。ステップS05はステップS03と同時に動作を開始してもよい。
【0039】
次に、ステップS06において、候補表示装置16にて生成された入力候補データが、送信生成部12に受け渡される。
【0040】
次に、ステップS07において、送信生成部12は、回答装置15の生成した回答と、候補表示装置16が生成した入力予測を組み合わせて、受け渡された回答と入力候補を含む送信用データを生成する。
【0041】
最後に、ステップS08において、送信部13は生成された送信用データを端末装置30に送信し、この処理が終了する。
[回答装置15の機能構成と回答生成の手順]
【0042】
次に、図5を用いて回答装置15の機能構成を説明する。
【0043】
回答推論部15aは、回答用人工知能アルゴリズム保存部15dに保存された回答用人工知能アルゴリズムをもとに回答を生成する機能を有する。その具体的な処理手順及び推論方法は後述する。
【0044】
回答学習演算部15bは、回答学習用教師データ15eのデータを教師データとして、所定の機械学習アルゴリズムに基づいて学習処理を行い、学習処理の結果を出力する。所定の機械学習のアルゴリズムは、例えばニューラルネットワークを利用することができる。ニューラルネットワークを用いる場合、TF−IDFやOkapi BM25などのアルゴリズムによって文書の特徴量を検出して学習結果を生成することができる。
回答学習演算部15bは、学習処理の結果である回答学習モデルを回答用人工知能アルゴリズム保存部15dに保存する。なお、回答学習演算部15bは、一度得られた重み係数を、例えば、バックプロパゲーション(誤差逆伝播法)を用いて更新してもよい。バックプロパゲーションは、出力側から入力側に向かって進みながら、各ニューロンの重みを局所誤差が小さくなるように修正する手法である。これにより、回答用人工知能アルゴリズムを目的に対してより誤差の少ないものに近づけることができる。
【0045】
回答データベース15cは、入力されたテキストに対応する回答情報の集合である。回答データベース15cは、図6のように、回答指標iと、回答指標iに対応する入力パターンと回答情報の形式を取る。回答指標は、システム上回答情報を識別するために付与される任意の値であり、各入力パターンと回答情報のペアに対して一意の値が付与される。回答情報は、例えば、回答用に生成されたテキスト情報、URL、画像データ、動画データなどのデータそのものであってもよく、また、代入可能な変数を含んでよい。回答情報として用いるテキスト等の情報は、例えばウェブ検索などによって外部から情報を取得するアルゴリズムによって動的に生成してもよいし、又は、入力テキストを参照してマルコフ連鎖モンテカルロ法等の公知のアルゴリズムによって動的に生成してもよい。
【0046】
回答用人工知能アルゴリズム保存部15dは、回答推論部15aが推論のために用いる回答用人工知能アルゴリズムを記憶する。回答用人工知能アルゴリズム学習モデルの一例は、前述の回答学習演算部15bにおける学習処理の結果得られる重み係数の集合であるパラメーター値群で、後述するDoc2Vecを用いて学習する場合は、文書ごとに算出されるベクトルデータの形式をとる。
【0047】
回答学習用教師データ15eは、機械学習の教師データとなるデータの集合であり、各データは、図7のように、入力パターンとなるテキスト情報と、この入力パターンに対応する回答の指標番号iを一つの単位とする。なお、回答指標は回答データベース15cで付与されたものと同一のものが付与される。また、回答データベース15cにおいて保存される入力パターンは代表的なもの1つのみであるが、回答学習用教師データ15eにおいて保存される学習用教師データの入力パターンは、類似の表現例パターン(入力パターン)を複数保有する点で回答データベース15cと異なる。例えば、図7の回答指標100001に相当する入力パターンは、「会社命令での半自宅待機だが労働基準法などには抵触しないか,半自宅待機の扱い,会社命令の待機」と、カンマ区切りで3つの類似の表現例が保存されている。機械学習においては、回答学習用教師データ内の複数の表現例のいずれかに近似するテキストであれば、それが対応する回答指標の回答情報によって回答すべきテキスト入力であると判断できるように、学習データが生成される。
上記のペアの集合は、学習のための正例のデータであるが、適宜、学習のための負例のデータを準備してもよい。
【0048】
次に、回答推論部15aが推論をする手順を説明する。回答推論部15aは、テキスト入力を受け付けたとき、入力されたテキストと最も近似する入力パターンを検索する。そして、最も近似する入力パターンに対応する回答指標iが、入力に最も適した回答を示す指標であることになる。
【0049】
ここでは、例として、Doc2Vecを用いて学習済みモデルを作成する手順を示す。Doc2Vecでは、文単位、ページ単位、またはファイル単位等の所定の単位でベクトル化することができる。また、Doc2Vecは、例えば、自然言語分析のライブラリであるgensimを用いて実装される。
上記の最も近似する回答指標iを求めるために、まず、あらかじめ、回答学習用教師データ15eの入力パターンとなるテキストを形態素解析により分解する。
ここで、形態素解析とは、自然言語で書かれた文字列を形態素(言語で意味を持つ最小単位)に分割する、コンピュータによる自然言語処理技術である。このような形態素解析については、公知の技術を用いることができる。
図8は、回答指標100001の「会社命令での半自宅待機だが労働基準法などには抵触しないか」という文章を形態素解析した結果の例である。形態素解析により、文章を意味上の最小単位に分解し、品詞ごとに分類することが可能となる。
【0050】
次に、形態素解析した単語を機械学習の手法によってベクトル化する。Doc2Vecは、回答学習用教師データ15eを学習データとして、形態素解析された単語に付与されたベクトルと文章を識別するために付与する識別IDをもとに、各文章に対応するベクトルデータを算出する。図9は、前記回答指標100001の「会社命令での半自宅待機だが労働基準法などには抵触しないか」をDoc2Vecの学習アルゴリズムによって100次元のベクトルデータに変換した例である。回答学習演算部15bは、作成した回答用人工知能アルゴリズムを回答用人工知能アルゴリズム保存部15dに保存する。
文章のベクトル化によって、文章同士の類似度を定量的に把握することが可能となる。
回答推論部15aは、処理要求を受け取ると、入力されたテキストを形態素解析処理し、ベクトルデータに変換する。次に、既に計算された各回答候補のベクトルデータと当該入力されたテキストのベクトルデータのコサイン類似度を計算し、コサイン類似度の最も高い入力に対応する回答指標iを特定する。コサイン類似度は、ベクトル

として、以下の式によって求めることができる。
【0051】
コサイン類似度の最も高い入力に対応する回答指標iが特定されると、回答推論部15aは、回答データベース15cから、回答指標の値に対応する回答を読み出す。
【0052】
つまり、回答推論部15aは、入力の特徴と、回答用人工知能アルゴリズム保存部15dに記憶された回答用人工知能アルゴリズムとに基づき、回答データベース15cに記憶されている回答のうちから最適なものを推定し、推定に基づき適切な回答を送信する。
【0053】
以上の構成により、回答推論部15aは、仮に入力されたテキストが想定される入力候補に完全または部分一致しなくても、入力されたテキストに対する回答情報を精度よく特定することができる。
【0054】
なお、ある実施例では、回答推論部15aが類似度計算をする際に閾値を設定し、閾値以下の値である場合には適切な回答が存在しない旨の回答をするとともに、類似度が高い入力候補を抽出して図13の次の入力候補301cとして表示させることもできる。閾値を設定することにより、利用者に誤った回答を提示することを予防でき、また、閾値以下であっても類似度が高い入力候補を選択肢として表示することにより、利用者に自身が入力したいと考えるテキスト入力をさせることが可能となる。
[候補表示装置16の機能構成と回答推論の手順]
【0055】
次に、図10を用いて候補表示装置16の機能構成を説明する。
【0056】
候補推論部16aは、入力データベース16b、又は入力履歴データベース16cをもとに次に利用者が選択すると予測される入力を推論する機能を有する。
【0057】
入力データベース16bは、入力テキストのデータである。入力データベース16bを構成するデータは、図11のように、入力候補となるテキストと、この想定される入力候補に対応する回答の指標番号と、付加情報としてのタグ情報(アノテーション)を一つの単位とする。アノテーションは、入力予測をしたり、機械学習をするために用いる付加的な情報である。アノテーションとして保存されるのは、当該入力候補が属するカテゴリを示す文字列、当該テキストの文脈を示す情報、入力候補テキストから抽出された単語及びその類義語などである。なお、一つの入力パターンに対して付加されるアノテーションの数に限定はない。
【0058】
入力履歴データベース16cは、すべての利用者が過去に入力したテキスト入力を入力順序に従って履歴データとして保存したデータベースである。図12は、入力履歴データベース16cに保存されるデータの例であり、過去のテキスト入力の履歴を利用者ごとに保存したものである。入力履歴データベース16cは、ログデータベース14から抽出してもよい。また、ユーザーを識別するためのuserIDは個人情報保護の観点から、実際の利用者と関連付けることのできない匿名化処理された記号であってもよい。
【0059】
候補推論部16aは、入力データベース16bをもとに、現在の利用者が次にどの入力を候補として表示するのが適切であるかを推論する。
【0060】
候補推論部16aの推論は、例えば、直前に入力されたテキストに付加されたアノテーションと、入力データベース16bに保存されている各入力に付加されたアノテーションを参照して比較し、一致数の多い入力候補を優先して抽出することによりすることができる。
また、候補推論部16aは、入力履歴データベース16cを参照し、統計的に予測をしてもよい。統計的に予測する手順は、過去のテキスト入力と、当該テキスト入力のn個前のテキスト入力を抽出し、入力履歴データベース16cから同じ組み合わせのテキスト入力の並びを検索して抽出する。そして、抽出された過去履歴の中から、次のテキスト入力を統計的に予測する。例えば、「入力されたテキストがA、その2個前がB、Cという順序」であった場合、候補推論部16aは、入力履歴データベース16cから「B、C、A」の入力の組み合わせを検索する。検索にあたっては、並び順を考慮して「B、C、A」のみを抽出してもよいし、並び順を考慮せず、「A、B、C」「B、C、A」「A、C、B」「B、A、C」「C、A、B」「C、B、A」のすべてを抽出してもよい。そして、抽出された入力履歴の次の入力履歴を多い順に抽出することによって入力候補を抽出する。例えば、「B、C、A」と一致する組み合わせと、その次に続く1個のテキスト入力を抽出したところ、「A、B、C、D」「B、C、A、E」「A、C、B、D」「B、A、C、F」「C、A、B、D」「C、B、A、F」という検索結果が得られたとする。この場合、「B、C、A」の組み合わせに続く入力候補として統計的に最も多いのはDであるから、Dを第一順位の入力候補と判断する。この場合、次に出現回数の多いFを第二順位の入力候補と判断してもよい。
上記のアルゴリズムは一例であり、これ以外のアルゴリズムによって入力候補を表示してもよいし、候補推論部16aの予測アルゴリズムが過度に固定的になることを防止するために、入力候補の一部にランダムに抽出された入力候補を混在させる構成としてもよい。
【0061】
また、上記のように統計的なアプローチで入力予測をするアルゴリズムのほか、協調フィルタリングや機械学習によって構築されたアルゴリズムによって入力予測をしてもよい。例えば、利用者の利用履歴データが相当数蓄積された状況であれば、協調フィルタリング、すなわち、多くの利用者の利用データから、ある利用者と嗜好の類似した他の利用者の情報を用いて自動的に推論を行う方法論によって、より精度の高い予測をすることが考えられる。また、機械学習のアルゴリズムは、線形回帰、決定木、ロジスティック回帰、k−means法、Nearest Neighbor法、SVM(Support vector machine)、ランダムフォレスト等のほか、ニューラルネットワークを利用することが考えられる。
機械学習によって次の候補の推論をする方法は実施例2において後述する。
【0062】
次に、上記の手順で生成された回答と次の入力候補を含んだ送信用データが、利用者の端末装置30に送信され、それが端末装置30のインターフェースに表示される方法を説明する。
図13は、利用者が操作する端末装置30のインターフェースの例である。301aは利用者のテキスト入力であり、301bは入力に対する回答情報であり、301aと301bはチャットサービスにおける会話の履歴である。図13は上部のテキストほど古く、下部のテキストほど新しい表示例であるが、301aと301bの表示例はこの例に限られず、例えば、上部のテキストほど新しく、下部のテキストほど古くてもよい。
端末装置の利用者は、表示された次の入力候補301cの中から選択をすることによりテキスト入力をしてもよいし、入力候補を無視して自身が入力したいと考えるテキストを301dの入力エリアから入力してもよい。
利用者がテキストを入力すると、装置10は入力されたテキストに対応する送信データを生成して端末装置30に送信し、送信データを受信した端末装置30は、回答を301bに、その次に入力されることが予測される入力候補を301cに表示する。
候補表示装置16は、回答生成装置15が確実に認識するもののみを候補として表示するので、利用者は、入力候補を選択し続けていくことにより、確実に会話を進めることができる。また、利用者は、入力候補にないテキストを入力することもでき、これによって自分が知りたい回答情報にダイレクトにアクセスすることもできる。
これにより、「問い合わせしたい選択肢を見つけることができない」「該当する回答情報がなく有意な回答情報が得られない」といった、従来のチャットボットの欠点を補うAIチャットボットを構築することが可能となる。
【0063】
上述した一連の処理を実行することができる機能を装置10が備えていればよく、本発明は図3に示す機能的構成に限定されない。上記一連の処理は、ハードウェアにより実行させることも、ソフトウェアにより実行させることもできる。また、1つの機能ブロックは、ハードウェア単体で構成されてもよいし、ソフトウェア単体で構成されてもよく、またはこれらの組み合わせで構成されてもよい。
【0064】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータなどにネットワークや記憶媒体からインストールされる。なお、プログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理を含んでもよい。
【0065】
(実施例2)
実施例2として、候補推論部16aが、回答生成装置15とは異なる学習を行うことにより得られた人工知能アルゴリズムにより、次の候補を推論する方法について説明する。
【0066】
ここでは、回帰による推論手法について説明する。回帰する方法は、例えば、線形回帰、多項式回帰やロジスティック回帰などがあり、ニューラルネットワークによって回帰分析結果を最適化するためには、最小二乗法やバックプロパゲーションなどにより予測の精度が最も高くなるように重み係数を調整して学習モデルを生成する。これらの回帰による推論には公知の手法を用いることができるため、詳細な説明は省略し、線形回帰によって予測をする際に、どのような形式でデータを入力するかを説明する。回帰予測の対象となるのは定量的な数値であるが、候補推論部16aが扱う入力パターンは、前述の通り文字列のデータであり、このままの形式では回帰予測の対象となりえないため、どのような方法で入力値を定量化するかは、期待する予測結果を得るために重要となる。
【0067】
図14は、入力パターンを数値に置き換える方法を示す図である。
数値に置き換える際には、図11のタグ情報を変換キーとして用いる。例えば、図11のタグ1、タグ2、タグ3は、相談分野の大項目、中項目、小項目を表すタグである。前述の通り、図11に記載されている各入力パターンに対して付加されるアノテーションの数に限定はなく、また、入力パターンごとに付与されるタグの数にはばらつきがあるが、本実施例による回帰分析をする場合には、最初のタグ1、タグ2、タグ3は分野を表すタグを保存する領域として予め確保しておき、すべての入力パターンにタグ1、タグ2、タグ3が付加されることとする。
そして、同じ名称のタグには同じ正の数値を割り当てて、タグ1の数値には100を、タグ2の数値には10を、タグ3の数値には1をそれぞれ乗じて足し合わせることによって入力パターンを数値化する。例えば、「労働」に1、「退職」に3、「退職届」に2の数値を割り当てた場合、回答指標100004の入力パターン「口頭で退職の意思を表明した場合、重ねて退職届を出す必要はあるか」は、132と数値化することができる。
タグごとに割り当てる数値は、同じ単語に同じ数値が重複して割り当てられないよう、任意に決定される。なお、タグ1、タグ2、タグ3の内部で10種類以上の単語がある場合には、整数ではなく小数を割り当てる。例えば、タグ1の種類として、労働、離婚、相続、といった異なる単語が存在するとして、その種類が10種類以内であれば、労働に1、離婚に2、相続に3、というように整数の値を割り当ててよいが、10種類以上の場合には、0.1、0.2という要領で小数値を割り当ててもよいが、このような処理をすると後述する文脈の違いが値の差として検出しにくくなるため、9.5、9.0、8.5といった要領で大きい数字から順に割り当てたり、タグ1に割り当てる桁数を2に増やしたり、タグ1の上に更に大きな項目を設けて、タグ1の種類を減らすなど、適宜割り当てのアルゴリズムやデータ形式を変更することが望ましい。
そして、同じ数値に変換された入力パターンが複数ある場合は、小数点以下の値に異なる値を割り振ることにより区別する。例えば、回答指標100004と同様に132と数値化された入力パターンがある場合は、132.1、132.2というように重複のない値となるように数値を割り当てる。なお、10以上の種類がある場合は小数点第二位以下の桁を用いる。
【0068】
この方法により文字列データを数値化するメリットは、似たトピックであるほど値が近く、異なるトピックであれば値が大きく異なるように、各入力パターンを数値化することができる点にある。
例えば、労働のトピックと離婚のトピックは100前後の値の差が生じることになるが、同じ労働のトピック内であれば値の差は相対的に小さくなり、タグ1、タグ2、タグ3のすべてが一致する入力パターンの数値の違いは1よりも小さくなる。
【0069】
このような数値化のロジックを用いて、図12の入力履歴データベース16cの入力履歴を変換することにより、各利用者の入力履歴を数列化することができる。この数列は、入力が同じ話題の中でとどまっている場合には値の変化が少なく、別の会話に遷移した場合には値の変化が大きくなるため、対話の文脈を回帰分析の対象とするために適したデータとなる。
【0070】
候補推論部16aが回帰予測を行う場合、候補推論部16aは利用者の入力を数値化し、入力履歴データベース16cのデータを数値化して回帰分析を行うことにより、利用者の次の入力を表す数値を予測する。次に、予測された値に該当する回答指標iを入力データベース16bから探索し、特定する。予測によって得られた回答指標iは実施例1の応答候補生成のステップ(図4のS05)における候補生成装置のアルゴリズムと併用して用いることもできるし、実施例1の候補生成装置のアルゴリズムを代替するものとして用いてもよい。また、前述のとおり、機械学習の予測アルゴリズムは、線形回帰に限られず、決定木、ロジスティック回帰、k−means法、Nearest Neighbor法、SVM(Support vector machine)のほか、ニューラルネットワークを利用することが考えられるし、一つのアルゴリズムのみを用いるのではなく、複数のアルゴリズムを併用してもよい。利用者には複数の入力候補が提示されるが、その際に別々のアルゴリズムによって生成した入力候補を並列的に提示してもよい。
【0071】
(実施例3)
また、実施例3として、候補表示装置16を補助するために、強化学習装置17を用いて入力予測をする実施形態を説明する。
【0072】
強化学習は、ある環境内における行動主体が、現在の状態を観測し、試行錯誤を通じて取るべき行動を決定する学習方法であり、教師の代わりに、報酬という情報を手がかりに試行錯誤の回数を重ねながら自律的、能動的な改善を図って最適な出力へと向かう方法である。行動主体は、行動を選択することで環境から報酬を得て、一連の行動を通じて報酬が最も多く得られるような方策を学習する。強化学習の手法としては、Q学習、TD学習などある。
Q学習の場合、行動価値関数Q(s,a)の一般的な更新式である行動価値テーブルは、以下の数式(更新式)によって更新される。
【0073】
Q(st+1,at+1)←Q(st,at)+α{rt+1+γmaxQ(st+1,a) −Q(st,at)}
【0074】
上記の更新式において、stは時刻tにおける環境を表し、atは時刻tにおける行動を表す。行動atにより、環境はst+1に遷移する。rt+1は、その環境の変化によって受領する報酬を表す。更新式の中のmaxの付いた項は、状態st+1の下で最も価値Qの高い行動aを選んだ場合の価値Qに割引率γ(0<γ≦1)を乗じたものであり、αは学習速度係数(0<α≦1)である。Q学習において、Qは、その状態での即時的に得られる報酬の価値と、見積もられた次の状態の価値の和であり、短期的に得られる報酬だけを考えない点に特徴がある。更新式は、学習過程の中で、状態sのとき、最も価値の高いQとなる行動aが時刻tにおける最適な行動であるとして選択することを、その後の時刻t+1においても実行し、これを繰り返すことを意味している。
強化学習においては、教師であるルールが存在しないため、学習当初は各々の状態sと行動aの組合せについて、正しい価値Q(s,a)の値は分かっていない。したがって、すべての状態とそのときに取り得る行動のs,aの組について、初期の価値Q(s,a)をランダムに決めておく。そして、報酬が付与されたときに、ある環境における最良の行動価値が、それ以前の環境における行動価値に順次伝搬するように行動価値関数を更新する。このプロセスを繰り返すことによって、時刻tにおける行動aの行動価値関数Qを、時刻t+1における最良の行動価値に近づけるように最適化する。
【0075】
次に、強化学習を実行する方法について説明する。図15は、強化学習装置17の構成を示す図である。強化学習装置17は、報酬計算部17aと、関数更新部17bと、関数保存部17cと、報酬保存部17dとを有する。
【0076】
報酬計算部17aは、観測された状態変数に基づいて報酬を計算する。ある実施例では、状態変数は、(ア)候補推論部16aが出力した入力候補の種類、(イ)候補推論部16aが出力した各入力候補が選択される統計的な確率、(ウ)(イ)の分布状況である。行動価値関数Q(s,a)は、かかる状態変数を入力した場合に、最適な出力をするように強化学習がなされることによって得られる。ここで、本発明における出力は、例えば提示する入力候補の数と、統計的に抽出された入力候補とランダムに抽出された入力候補の割合である。本発明においては次に入力されると予測される入力候補を候補表示装置16が予測するが、ここで予測された入力候補をどのように利用者に提示するかによって、装置10の利便性が変化する。例えば、候補表示装置16が、入力候補を2~3個に絞り込むことができた場合には、提示する入力候補の数を減らして利用者が選択する際に迷わないようにすべきであるし、逆に入力候補の数が多い場合など、予測が成功していない可能性を考慮して、ランダムに抽出された入力候補も含めて、提示する選択肢を増やした方がよい場合もある。強化学習装置17は、このように候補表示装置16とは異なるアルゴリズムにより装置10の利便性を高めるために動作する。
【0077】
報酬は、チャットボットの対話がシステムの想定する望ましい状態まで続いて終了した場合に最も高く付与される。また、会話の開始から望ましい状態への到達が早いほど報酬を高く設定してもよい。逆に、一定時間以上回答がない場合や、会話が想定以上に長く続いている場合にはマイナスの報酬を与えたり、短時間に異常な回数のテキスト入力がなされたような場合には、報酬がゼロになる設定をしてもよい。かかる報酬体系の設定方法により、対話をシステム提供者が望ましく、かつ、利用者にとって満足度が高いよう決定する、振る舞いの決定法アルゴリズムが構築される。他方、対話中には報酬を与えず、対話終了時に満足度に応じた報酬を与えるようにしてもよい。
報酬計算部17aは、報酬更新イベントが発生した際に行動価値関数Qを更新する。報酬更新イベントは、チャットボットの対話がシステムの想定する望ましい状態まで続いて終了した場合(例えば、第3の実施形態に記載するような問い合わせ機能を用いて、利用者が問い合わせ行動を実施した場合)や、一定時間(例えば、10分間)利用者からの入力がなかった場合などである。例えば、利用者が問い合わせを実施するというイベントが発生し、そのイベントに報酬10が設定されていた場合には、その結果及びその他のパラメーター(例えば、利用開始からイベント発生までの時間など)に応じて報酬を決定する。
【0078】
関数更新部17bは、報酬計算部17aによって計算される報酬に従って、次の行動を決定するための関数を更新する。Q学習の場合、更新式で表される行動価値関数Q(st,at)を、次の行動を決定するための関数として用いる。
【0079】
関数保存部17cは、関数更新部17bが決定、更新した行動価値関数を保存する。
【0080】
報酬保存部17dは、報酬計算部17aが用いる報酬を保存する。報酬は、システム管理者が自由に定めることができる。
【0081】
図17は、強化学習装置17が強化学習する場合の動作を示す図である。なお、図17に示す動作は、例えば図4に示すステップS05とS06の間に実行される。
【0082】
報酬計算部17aは、特徴量に基づいて、報酬増大基準を満たすか否かを判断する(ステップS101)。
報酬増大基準を満たす場合(ステップS101:Yes)、報酬計算部17aは、報酬を増大させる(ステップS102)。報酬増大基準を満たさない場合(ステップS101:No)、報酬計算部17aは、報酬を減少させる(ステップS103)。
【0083】
報酬計算部17aが報酬を計算すると、関数更新部17bは、計算された報酬に基づいて、行動価値関数を更新する(ステップS104)。ステップS101からステップS104に示す動作は、報酬付与イベントが発生する場合ごとに実行される。ステップS101〜ステップS104の動作によって行動価値関数が更新されると、それ以降は更新された行動価値関数に基づいて最適と判断された行動が決定されることになる。
【0084】
強化学習装置17は、このように構築されたアルゴリズムを用いることで、対話の終了までに獲得できる報酬を最大化するように振る舞いを決定できる。また、特に後述する実施例3のように、利用者に一定の問い合わせを促すことを主たる目的とするチャットボットを構築する場合には、利用者が問い合わせをした場合に付与される報酬を相対的に高く設定することにより、より望ましい入力候補の提供をすることが可能となる。
【0085】
図16は強化学習装置17の機能を組み込んだ装置10の構成例であるが、本実施形態の装置10は、上記構成に限定されず、強化学習装置17は、装置10とはハードウェアの構成が別々のコンピュータにより実現されてもよい。
【0086】
以上、Q学習によって強化学習を行う例について説明したが、他の公知の方法、例えば、ガウス過程(Gaussian process)モデル、DQN(Deep Q−Net)、などのディープニューラルネットワークに基づくモデル、またはその他のモデルを用いて強化学習を行ってもよい。
また、本実施例ではいくつかのパラメーター変数を最適化するために強化学習を行う方法を示したが、強化学習の対象はパラメーター変数を最適化に限られず、入力候補の選択や、利用者の挙動から同じ文脈で会話を継続すべきか、他の文脈に遷移すべきか、換言すれば、同じアノテーションの付加された入力候補を多く出すか、別のアノテーションの付加された入力候補を出すかの判断を強化学習アルゴリズムによって判断させてもよい。また、実施例2において説明したように、複数の予測アルゴリズムによって入力候補を生成した場合に、どの生成結果を重視すべきかを試行し、予測精度の高いアルゴリズムによって生成された生成結果を多く利用者に提示するようなパラメーター変数の調整を実施してもよい。
【0087】
以上のように、チャットボットを構築する際に複数の人工知能アルゴリズムを組み合わせることにより、チャットボットの動作をより緻密に調整することが可能となる。
通常、文脈を理解するAIチャットボットを構築する場合には、再帰的ニューラルネットワークによる学習がなされることがある。例えば、「おなかがすいた」「中華料理のレストラン」という一連の入力がなされた場合に、連続する入力を総合的に認識して、中華料理のレストランを探していることを理解する動作を実現するために再帰的ニューラルネットワークが用いられることがある。再帰的ニューラルネットワークは、直近の入力だけでなく、それ以前の入力も考慮して次の行動を選択することができるため、「中華料理のレストラン」という入力だけでは理解できない「レストランを探す」という意図を認識することが可能となる。しかし、単一の人工知能で文脈を理解させる場合には、膨大な学習データが必要となるし、そのための計算負担も膨大なものとなる。また、この方法では利用者ごとに入力にバラツキがある場合への対処も学習によって吸収しなければならないし、学習データを増やしすぎることによって生じる過学習に対応する必要も生ずる。
他方で、本発明によると、人工知能アルゴリズムを組み合わせることにより、入力を認識するための人工知能は利用者の入力を精度よく認識できるよう集中して学習処理をすることができるようになるし、入力予測においては会話の流れをもとに次の入力を提示することのみに集中し、また、パラメーターの調整をする強化学習においては、回答データが増えすぎてかえって利用者が必要とする情報を探しづらくなる状況を避けるために入力候補の提示数を最適化することのみに集中することができるようになる。
本発明のように複数の人工知能を適切に配置することにより、より機能の高いチャットボットの構築が可能となる。
【0088】
(実施例4)
また、実施例4として、利用者がチャットボットを利用した履歴データをもとに、履歴データの生成や問い合わせ用の相談票を自動で生成する機能を設けることが考えられる。
【0089】
図18は、自動問い合わせ生成装置18の構成図である。自動問い合わせ生成装置18は、問い合わせ生成部18aと問い合わせフォーム保存部18bで構成される。
【0090】
問い合わせ生成部18aは、図19に記載されている処理手順に従って、問い合わせを自動で生成する。
【0091】
問い合わせフォーム保存部18bは、問い合わせ生成部18aが利用する問い合わせフォームを保存する。図20は、問い合わせフォーム保存部18bに保存されている、問い合わせフォームの例である。問い合わせフォームは、例えば、html言語によって記述される。
【0092】
図21は、自動問い合わせ生成装置18により問い合わせを自動生成する場合の、端末装置30のインターフェースに表示される自動問い合わせ生成画面180の例である。自動問い合わせ生成画面は、問い合わせフォーム保存部18bに保存されている問い合わせフォームに自動的に追加された情報に、利用者が必要な事項を追記する体裁となっている。
【0093】
次に、図19にしたがって問い合わせ用の相談票を自動で生成する手順を説明する。
まず、利用者が問い合わせの作成を開始する(ステップS201)。問い合わせは、例えばチャットボット内の会話で「問い合わせを開始する」と発話するなどすることにより開始することができる。問い合わせの作成を開始すると、問い合わせ生成部18aは問い合わせフォームデータベース18bから相談内容に応じた問い合わせフォームを選択する(ステップS202)とともに、ログデータベース14から、当該利用者の過去のテキスト入力を取得し(ステップS203)、また、入力候補データベースから関連する入力候補を取得して(ステップS204)、図21の自動問い合わせ生成画面180の「問い合わせ内容」表示部180aに過去のテキスト入力を、「関連するタグを追加で選択」表示部180bに関連する入力パターンを表示する(ステップS205、ステップS206)。この際、利用者は、問い合わせに記入したくないテキスト入力を×ボタンを押して削除することができる。また、「関連するタグを追加で選択」表示部180bで選択されたタグは、「問い合わせ内容」表示部180aに追加される。「問い合わせ内容」表示部180aに追加されたタグを削除したい場合は×ボタンを押して削除することができる。
さらに、追加質問部分180cには、利用者の年齢、性別、都道府県や、問い合わせに回答するために通常必要な質問項目が自動的に表示される。この質問項目は、問い合わせフォームデータベース18bに予め保存されている問い合わせフォームに付随する質問項目である。利用者は、必要に応じて表示された必要項目を選択する(ステップS207)。
さらに、問い合わせ内容表示部180dに質問事項を記入(ステップS208)した上で作成ボタン180eを押す(ステップS209)ことにより、問い合わせが電子的に生成される(ステップS210)。
作成された問い合わせは、電子メールに添付して送信したり、利用者が事後の相談をするために印刷したりして活用できる。
かかる機能により、利用者は自身の状況や相談内容を一から文章で入力することを要せずに、容易に問合せを生成することができるようになる。また、通常必要な質問項目が表示されることにより、相談に回答するために通常必要な情報を入力し忘れることにより生ずる再質問の手間を省くことができ、利用者がより簡便かつ迅速に回答を受領することができるようになる。
【0094】
図22は自動問い合わせ生成装置18の機能を組み込んだ装置10の構成例であるが、本実施形態の装置10は、上記構成に限定されず、自動問い合わせ生成装置18は、装置10とはハードウェアの構成が別々のコンピュータにより実現されてもよい。
【産業上の利用可能性】
【0095】
本発明は、単一の人工知能に機械学習させるだけでは利便性の高いAIチャットボットを構築できない場合に、複数の人工知能アルゴリズムを組み合わせることにより、AIチャットボットをシステム全体の目的に最適化して利便性を高めることができる。本発明は、特に各種コールセンターやヘルプデスクへの問い合わせのように、利用者が問い合わせるべき課題を持って利用するAIチャットボットを構築する際に、利用者が効率的に課題解決のための情報にアクセスできるシステムの構築をする際などに好適に利用可能である。
【要約】
【課題】利用者が問い合わせたい疑問ないし課題に効率的に回答する情報処理装置を提供する。
【解決手段】本発明の情報処理装置は、1以上の入力パターンと、これに対する回答情報とを予め対応付けて記憶した回答データベースと、1以上の入力パターンと回答情報の対応関係を教師データとして教師あり学習を行うことにより得られた人工知能アルゴリズムにより、利用者の入力に応じた回答情報を自動的に提供する回答生成装置と、所定のアルゴリズム又は回答生成装置とは異なる学習を行うことにより得られた人工知能アルゴリズムにより次に利用者がする入力を予測して、当該予測の結果を次の入力候補として利用者に自動的に表示する入力候補表示装置とを備える。
【選択図】図22
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22