(57)【特許請求の範囲】
【請求項１】
１以上の入力パターンと、これに対する回答情報とを予め対応付けて記憶した回答データベースと、前記１以上の入力パターンと前記回答情報の対応関係を教師データとして教師あり学習を行うことにより得られた人工知能アルゴリズムにより、利用者の入力に応じた回答情報を自動的に提供する回答生成装置と、
前記利用者又は／及び他の利用者の過去の入力及び入力順序を教師データとして、前記回答生成装置とは異なる学習を行うことにより得られた人工知能アルゴリズムにより次に前記利用者がする前記入力を予測して、当該予測の結果を次の入力候補として前記利用者に自動的に表示する入力候補表示装置と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記情報処理装置は、さらに、前記利用者の利用が好ましい形態を呈するよう定められた報酬を設定してなされた強化学習を行うことにより得られた人工知能アルゴリズムにより、前記回答生成装置又は／及び前記入力候補表示装置の動作を制御することを特徴とする、
請求項１に記載の情報処理装置。
【請求項３】
前記情報処理装置は、さらに、前記利用者の入力履歴を抽出し、抽出された前記入力履歴の全部又は一部を引用し、前記引用に前記利用者が追記をすることにより問い合わせを生成することができる問い合わせ生成装置を具備することを特徴とする、
請求項１又は請求項２に記載の情報処理装置。
【請求項４】
１以上の入力パターンと、これに対する回答情報とを予め対応付けて記憶した回答データベースと、前記１以上の入力パターンと前記回答情報の対応関係を教師データとして教師あり学習を行うことにより得られた人工知能アルゴリズムにより、利用者の入力に応じた回答情報を自動的に提供する回答生成ステップと、
前記利用者又は／及び他の利用者の過去の入力及び入力順序を教師データとして、前記回答生成ステップとは異なる学習を行うことにより得られた人工知能アルゴリズムにより、次に前記利用者がする前記入力を予測して、当該予測の結果を次の入力候補として前記利用者に自動的に表示する入力候補表示ステップと、
を備える情報処理方法。
【請求項５】
１以上の入力パターンと、これに対する回答情報とを予め対応付けて記憶した回答データベースと、前記１以上の入力パターンと前記回答情報の対応関係を教師データとして教師あり学習を行うことにより得られた人工知能アルゴリズムにより、利用者の入力に応じた回答情報を自動的に提供する回答生成ステップと、
前記利用者又は／及び他の利用者の過去の入力及び入力順序を教師データとして、前記回答生成ステップとは異なる学習を行うことにより得られた人工知能アルゴリズムにより、次に前記利用者がする前記入力を予測して、当該予測の結果を次の入力候補として前記利用者に自動的に表示する入力候補表示ステップと、
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の人工知能アルゴリズムを組み合わせて動作させることにより、利用者が問い合わせたい疑問ないし課題に効率的に回答する情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
人工知能技術を用いて、利用者からの問い合わせに対して自動的に適切な回答情報を提供することのできるＡＩチャットボットの利用が広がっている。このようなＡＩチャットボットを用いることにより、利用者からの多種多様な問い合わせに対して、人手をかけることなく、適切な回答情報を提供することができる。
例えば、特許文献１には、機械学習処理によりテキスト入力と回答情報との関係を学習し、学習結果である知識データに基づいてテキスト入力に適した回答情報を生成する（入力と入力に対する回答とのパターンであるチャットパターンの情報を保有し、これをもとに回答を生成する）、いわゆるＡＩチャットボットサーバー装置が記載されている。
また、直前の入力のみならず、それ以前の入力も再帰的に入力することにより、文脈を考慮して回答テキストを生成する人工知能（再帰的ニューラルネットワーク）を用いる例もある。
ＡＩチャットボットによる自動回答は、単に雑談の相手をするだけではなく、コールセンターにおける問い合わせの受付けや、法律、医療などの高度な専門分野に関する回答など、幅広い用途が考えられる。
【０００３】
また、非特許文献３には、機械学習の手法により、文章同士の類似性を認識する学習アルゴリズムであるＤｏｃ２Ｖｅｃの概要が記載されている。ＡＩチャットボットを構築する際には、このような認識アルゴリズムをベースに適切な回答情報を確率的に選択している。
【０００４】
また、特許文献２には、自然言語による問い合わせに回答するのではなく、利用者に選択肢を提示して対話をする情報提供システムが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第６２１８０５７号公報
【特許文献２】特開２０１９−０８２９６４号公報
【非特許文献３】Ｑｕｏｃ  Ｌｅ，  Ｔｏｍａｓ  Ｍｉｋｏｌｏｖ，  “Ｄｉｓｔｒｉｂｕｔｅｄ  Ｒｅｐｒｅｓｅｎｔａｔｉｏｎｓ  ｏｆ  Ｓｅｎｔｅｎｃｅｓ  ａｎｄ  Ｄｏｃｕｍｅｎｔｓ”，  Ｐｒｏｃ．  ｏｆ  ｔｈｅ  ３１ｓｔ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｍａｃｈｉｎｅ  Ｌｅａｒｎｉｎｇ，  ＰＭＬＲ  ３２（２），  ２０１４年，  ｐｐ．１１８８−１１９６
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＡＩチャットボットを始めとする対話システムにおいては、通常１０文字から２０文字程度の短いテキストの入力がなされるが、そのような短い文章のみから発話の意味を認識して回答することは困難である。特に、日本語の文字列は英語の文字列と異なり、助詞の出現頻度が高く、また語順の入れ替えによって意味が大きく変容するため、非特許文献３のように、１文の中に出現する単語の頻度や共起性で文字列の特徴量を抽出する方法が必ずしも好適とは言えない。
また、文脈を考慮して回答することを考慮して、再帰型のニューラルネットワークを用いて構築される人工知能チャットボットには、入力やそれに伴う処理量が増えることによってサーバー装置に高い負荷がかかるといった問題がある。また、勾配消失や勾配爆発が起きるなどして、期待通りの学習結果が得られるとは限らないといった問題もある。
そこで、特許文献２のように、チャットボットが受け付ける入力を予め定めた選択肢のみに限定し、その範囲で確実に動作するチャットボットが構築されることもある。しかし、予めプログラムされた選択肢の範囲内で動作するチャットボットは、すべての会話遷移パターンを予めプログラムすることがサービス提供側にとって負担となるし、動作としても単調なものにとどまるといった欠点がある。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明者らは鋭意研究をした結果、テキスト入力の内容を判別して回答情報を提供するＡＩチャットボットの動作を補助するために、利用者が次にする入力を予測するためのアルゴリズム又は人工知能を併せて配置し、ＡＩチャットボットがテキスト入力への回答情報のみならず、利用者が次にすると予測される入力候補を選択肢として表示し、利用者に、テキスト入力による問いかけか、選択肢による問いかけのいずれかの方法による入力をさせることにより、スムーズに対話をすることができる情報処理装置を構築することができることを見出し、本発明に至った。
【０００８】
開示の技術によれば、１以上の入力パターンと、これに対する回答情報とを予め対応付けて記憶した回答データベースと、前記１以上の入力パターンと前記回答情報の対応関係を教師データとして教師あり学習を行うことにより得られた人工知能アルゴリズムにより、利用者の入力に応じた回答情報を自動的に提供する回答生成装置と、
所定のアルゴリズムにより次に前記利用者がする前記入力を予測して、当該予測の結果を次の入力候補として前記利用者に自動的に表示する入力候補表示装置と、
を備えることを特徴とする情報処理装置が提供される。
【発明の効果】
【０００９】
本発明によれば、上述した人工知能の技術的な限界を克服し、利用者にとって有用なチャットボットを低コストで構築することが可能となる。通常、企業への問い合わせや質問を受け付けるチャットボットを利用する利用者は、問い合わせによって解決したい課題を有していると考えられる。そして、同じ課題を持っている利用者の入力や選択肢の選択には、共通する特徴が存在する可能性が高い。そこで、本発明は、この特徴を人工知能が学習するなどして入力予測をするアルゴリズムを構築して、ＡＩチャットボットの利便性を高めるものである。入力予測をする人工知能は、問いかけや選択肢の選択という特徴を説明変数とし、利用者が持っている課題を目的変数として数理モデルを構築することにより、ＡＩチャットボットが目的に対して最適に動作することを可能とするものである。
【図面の簡単な説明】
【００１０】
【図１】情報処理装置の一実施形態としてネットワークに接続された構成を示す図である。
【図２】情報処理装置のハードウェア構成を示す図である。
【図３】情報処理装置の機能的構成を示す機能ブロック図である。
【図４】情報処理装置が実行する処理の流れを示すフロー図である。
【図５】情報処理装置を構成する回答装置１５の機能的構成を示す機能ブロック図である。
【図６】回答データベース１５ｃのデータ形式を示す図である。
【図７】回答学習用教師データ１５ｅのデータ形式を示す図である。
【図８】形態素解析によって生成された形態素解析の結果を示す図である。
【図９】Ｗｏｒｄ２ｖｅｃの結果に基づくベクトル出力の例を示す図である。
【図１０】情報処理装置を構成する候補表示装置１６の機能的構成を示す機能ブロック図である。
【図１１】入力データベース１６ｂのデータ形式を示す図である。
【図１２】入力履歴データベース１６ｃのデータ形式を示す図である。
【図１３】利用者が操作する端末装置のインターフェースを示す図である。
【図１４】入力パターンを数値に置き換える方法を示す図である。
【図１５】情報処理装置を構成する強化学習装置１７の機能的構成を示す機能ブロック図である。
【図１６】強化学習装置１７の機能を組み込んだ情報処理装置の構成例である。
【図１７】強化学習用データベース１７ｅのデータ形式を示す図である。
【図１８】問い合わせ生成装置１８の機能的構成を示す機能ブロック図である。
【図１９】問い合わせ生成装置１８の処理の流れを示すフロー図である。
【図２０】問い合わせフォーム保存部１８ｂに保存されている、問い合わせフォームの例である。
【図２１】問い合わせ生成装置１８により問い合わせを作成するためのインターフェースを示す図である。
【図２２】問い合わせ生成装置１８の機能を組み込んだ情報処理装置の構成例である。
【発明を実施するための形態】
【００１１】
（実施例１）
以下、図面を参照しながら、本発明の実施形態について説明する。
【００１２】
［ネットワークに接続された情報処理装置の構成］
図１は、情報処理装置の一実施形態としてネットワークに接続された構成を示す図である。
利用者は、端末装置３０を用いて情報処理装置１０（以下、単に「装置１０」と記す）にアクセスし、サービスを受ける。アクセスは、インターネット等のネットワーク２０を介してなされる。利用者は、不特定の多数であってもよい。図１には接続態様の例として３台の端末装置３０を記載しているが、接続する情報端末の数はこれに限定されず、例えば４台以上の任意の数であっても良い。
【００１３】
装置１０は、端末装置３０からの入力を受け付け、これに対応した回答情報を生成して、端末装置３０に送信する。なお、入力はテキスト入力のほか、音声データやその他のデータ（静止画データ、音声データ、動画データ、位置情報データなどのマルチモーダルデータ）であってもよいが、チャットボットの入力はテキスト（文字情報）である場合がほとんどであることから、以降は、テキスト入力を受け付けることを前提とする。
【００１４】
装置１０は後述する図３に記載する回答生成装置１５（以下、単に「回答装置１５」と記す）と入力候補表示装置１６（以下、単に「候補表示装置１６」と記す）を含む。回答装置１５は、利用者の入力に応じた回答を生成する情報処理装置である。候補表示装置１６は、利用者が次に入力すると予測される入力候補を表示する情報処理装置である。回答装置１５と候補表示装置１６の動作については後述する。
なお、図１に示す装置１０は１台で構成され、回答装置１５と候補表示装置１６は装置１０の構成要素として記載されているが、本発明はこの構成に限定されない。例えば、装置１０、回答装置１５、候補表示装置１６は、複数台の情報処理装置で構成されていても良い。
【００１５】
端末装置３０は、利用者が利用するＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、スマートフォン、タブレット端末、ウェアラブル端末等のコンピュータである。端末装置３０は、有線または無線のネットワーク２０に接続し、装置１０と通信を行うことができる。装置１０が提供する情報提供は、端末装置３０に搭載される、チャットサービスを利用するためのクライアントソフトウェアで動作する。このクライアントソフトウェアは、例えば、汎用のウェブブラウザ、あるいは専用のチャットクライアントソフトウェアであり、後述する図１３はそのインターフェース例である。
【００１６】
上記の構成により、端末装置３０の利用者は、所定の操作を行うことにより、装置１０が提供する情報提供サービスを利用することができる。
【００１７】
また、端末装置３０と装置１０の情報通信は、チャットサーバー装置４０を経由してもよい。一般的には、チャットサーバー装置４０は、ある利用者Ａと別の利用者Ｂとの間のチャット対話を実現する。利用者Ａによって入力されたテキストデータと、利用者Ｂによって入力されたテキストデータは、両利用者が共有するチャットルーム（仮想的な部屋）において表示される。利用者Ａおよび利用者Ｂは、このチャットルームで交わされるテキストによる対話を画面等に表示させることができる。本実施例においては、チャット利用者の一方が、仮想的な利用者である装置１０である。具体的には、装置１０のプログラムは、ＡＰＩ（アプリケーション・プログラム・インターフェース）を介して、チャットルーム内のテキストデータを取得したり、チャットルームにテキストデータを送信したりする。これにより、端末装置３０と装置１０との間のチャットを行うことが可能となる。
【００１８】
［情報処理装置のハードウェア構成］
次に、本実施形態の装置１０のハードウェア構成について図２を用いて説明する。
【００１９】
装置１０は、一般的なコンピュータの構成を有しており、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０ａ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０ｂ、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０ｃと、記憶部１０ｄと、ネットワークＩ／Ｆ（Ｉｎｔｅｒｆａｃｅ）部１０ｅ、入力部１０ｆ、表示部１０ｇ、及びバス１０ｈ等を有する。
【００２０】
ＣＰＵ１０ａは、ＲＯＭ１０ｃや記憶部１０ｄ等に記憶されたプログラムやデータをＲＡＭ１０ｂ上に読み出し、処理を実行することにより、装置１０全体の制御や機能を実現する演算装置である。ＲＡＭ１０ｂは、ＣＰＵ１０ａのワークエリア等として用いられる揮発性のメモリである。ＲＯＭ１０ｃは、例えば、装置１０の起動時に実行されるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）、及び各種設定等が記憶された不揮発性のメモリである。
【００２１】
記憶部１０ｄは、ＯＳ（Ｏｐｅｒａｔｉｎｇ Ｓｙｓｔｅｍ）や、各種のアプリケーションプログラム等を記憶する、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等のストレージ装置である。
【００２２】
ネットワークＩ／Ｆ部１０ｅは、装置１０をネットワーク２０に接続し、チャットサーバー装置４０や端末装置３０等と通信を行うための通信インターフェースである。
【００２３】
入力部１０ｆは、例えばキーボード、マウス、カメラ、マイク等の入力装置であり、装置１０の運用者が、装置１０に各種操作信号を入力するために用いられる。表示部１０ｇは、例えばディスプレイ等の表示装置であり、装置１０による処理結果等を表示する。なお、入力部１０ｆ、表示部１０ｇ等は、必要なときに装置１０に接続して利用する形態であってもよい。
【００２４】
バス１０ｈは、上記の各構成に共通に接続され、例えば、アドレス信号、データ信号、及び各種の制御信号等を伝達する。
【００２５】
なお、本実施形態の装置１０は、上記構成に限定されず、ハードウェアの構成が別々のコンピュータにより実現されてもよい。また、装置１０が提供する情報提供サービスが、端末装置３０にインストールされたアプリケーションにより動作する場合、本実施形態の装置１０のハードウェア構成の一部が端末装置３０のハードウェアによって実現されてもよい。
【００２６】
［情報処理装置の機能的構成］
図３は、装置１０の機能的構成を示す機能ブロック図である。
【００２７】
受信部１１は、端末装置３０から、直接又はチャットサーバー装置４０を介して、テキスト入力を受け付ける。
【００２８】
送信生成部１２は、受信部１１においてテキスト入力を検知したときに、回答装置１５及び候補表示装置１６に処理要求を発し、当該処理要求に従って回答装置１５は回答情報を生成し、候補表示装置１６は入力候補を生成してそれぞれ戻り値として送信生成部１２に戻す。送信生成部１２は、受け取った戻り値を組み合わせて、端末装置３０に送信する送信データを生成する。
【００２９】
送信部１３は、送信生成部１２が生成した送信データを送信する。送信されたデータは、直接又はチャットサーバー装置４０を介して、端末装置３０に送信される。
【００３０】
ログデータベース１４は、端末装置３０と装置１０との間でやりとりされるチャットの全記録、すなわち、受信部１１が受信し、又は送信部１３が送信した全情報を蓄積する。このデータベースは、チャットがテキストのみで行われる場合には、端末装置３０側から受信部１１が受信したテキストのデータと、送信部１３から端末装置３０に送られるテキストデータとのすべてを格納する。また、チャットが、テキスト以外のデータを含む場合、それらのマルチモーダルデータのすべてがログデータベース１４に格納される。なお、ログデータベース１４を、装置１０の外の装置に設けて一体として機能させてもよい。
このように、ログデータベース１４にチャットの全記録を残すことにより、後述する回答データベース１５ｃ、回答学習用教師データ１５ｅ、入力データベース１６ｂを生成するために活用したり、ログデータをビッグデータとして、分析対象として活用することができるようになる。
【００３１】
回答装置１５は、送信生成部１２の処理要求を受け、入力に対して適切な回答を生成し、送信生成部１２に送信する。回答装置１５の機能構成は後述する。
【００３２】
候補表示装置１６は、送信生成部１２の処理要求を受け、適切な入力候補を生成し、送信生成部１２に送信する。候補表示装置１６の機能構成は後述する。
［送信データ生成の手順］
【００３３】
次に、図４を用いて、装置１０が端末装置３０からのテキスト入力を受信し、回答情報を生成して端末装置３０に送信する処理の流れについて説明する。
【００３４】
まず、ステップＳ０１において、受信部１１は端末装置３０からのテキスト入力の受信を検知する。
【００３５】
そして、ステップＳ０２では、送信生成部１２が送信データの生成を開始する。送信生成部１２は、回答装置１５と候補表示装置１６に対して、受信したデータをもとに処理要求を発する。
【００３６】
次に、ステップＳ０３において、処理要求を受けた回答装置１５が回答情報を生成する。
【００３７】
次に、ステップＳ０４において、回答装置１５にて生成された回答情報が、送信生成部１２に受け渡される。
【００３８】
ステップＳ０５では、処理要求を受けた候補表示装置１６が入力候補を生成する。ステップＳ０５はステップＳ０３と同時に動作を開始してもよい。
【００３９】
次に、ステップＳ０６において、候補表示装置１６にて生成された入力候補データが、送信生成部１２に受け渡される。
【００４０】
次に、ステップＳ０７において、送信生成部１２は、回答装置１５の生成した回答と、候補表示装置１６が生成した入力予測を組み合わせて、受け渡された回答と入力候補を含む送信用データを生成する。
【００４１】
最後に、ステップＳ０８において、送信部１３は生成された送信用データを端末装置３０に送信し、この処理が終了する。
［回答装置１５の機能構成と回答生成の手順］
【００４２】
次に、図５を用いて回答装置１５の機能構成を説明する。
【００４３】
回答推論部１５ａは、回答用人工知能アルゴリズム保存部１５ｄに保存された回答用人工知能アルゴリズムをもとに回答を生成する機能を有する。その具体的な処理手順及び推論方法は後述する。
【００４４】
回答学習演算部１５ｂは、回答学習用教師データ１５ｅのデータを教師データとして、所定の機械学習アルゴリズムに基づいて学習処理を行い、学習処理の結果を出力する。所定の機械学習のアルゴリズムは、例えばニューラルネットワークを利用することができる。ニューラルネットワークを用いる場合、ＴＦ−ＩＤＦやＯｋａｐｉ  ＢＭ２５などのアルゴリズムによって文書の特徴量を検出して学習結果を生成することができる。
回答学習演算部１５ｂは、学習処理の結果である回答学習モデルを回答用人工知能アルゴリズム保存部１５ｄに保存する。なお、回答学習演算部１５ｂは、一度得られた重み係数を、例えば、バックプロパゲーション（誤差逆伝播法）を用いて更新してもよい。バックプロパゲーションは、出力側から入力側に向かって進みながら、各ニューロンの重みを局所誤差が小さくなるように修正する手法である。これにより、回答用人工知能アルゴリズムを目的に対してより誤差の少ないものに近づけることができる。
【００４５】
回答データベース１５ｃは、入力されたテキストに対応する回答情報の集合である。回答データベース１５ｃは、図６のように、回答指標ｉと、回答指標ｉに対応する入力パターンと回答情報の形式を取る。回答指標は、システム上回答情報を識別するために付与される任意の値であり、各入力パターンと回答情報のペアに対して一意の値が付与される。回答情報は、例えば、回答用に生成されたテキスト情報、ＵＲＬ、画像データ、動画データなどのデータそのものであってもよく、また、代入可能な変数を含んでよい。回答情報として用いるテキスト等の情報は、例えばウェブ検索などによって外部から情報を取得するアルゴリズムによって動的に生成してもよいし、又は、入力テキストを参照してマルコフ連鎖モンテカルロ法等の公知のアルゴリズムによって動的に生成してもよい。
【００４６】
回答用人工知能アルゴリズム保存部１５ｄは、回答推論部１５ａが推論のために用いる回答用人工知能アルゴリズムを記憶する。回答用人工知能アルゴリズム学習モデルの一例は、前述の回答学習演算部１５ｂにおける学習処理の結果得られる重み係数の集合であるパラメーター値群で、後述するＤｏｃ２Ｖｅｃを用いて学習する場合は、文書ごとに算出されるベクトルデータの形式をとる。
【００４７】
回答学習用教師データ１５ｅは、機械学習の教師データとなるデータの集合であり、各データは、図７のように、入力パターンとなるテキスト情報と、この入力パターンに対応する回答の指標番号ｉを一つの単位とする。なお、回答指標は回答データベース１５ｃで付与されたものと同一のものが付与される。また、回答データベース１５ｃにおいて保存される入力パターンは代表的なもの１つのみであるが、回答学習用教師データ１５ｅにおいて保存される学習用教師データの入力パターンは、類似の表現例パターン（入力パターン）を複数保有する点で回答データベース１５ｃと異なる。例えば、図７の回答指標１００００１に相当する入力パターンは、「会社命令での半自宅待機だが労働基準法などには抵触しないか,半自宅待機の扱い,会社命令の待機」と、カンマ区切りで３つの類似の表現例が保存されている。機械学習においては、回答学習用教師データ内の複数の表現例のいずれかに近似するテキストであれば、それが対応する回答指標の回答情報によって回答すべきテキスト入力であると判断できるように、学習データが生成される。
上記のペアの集合は、学習のための正例のデータであるが、適宜、学習のための負例のデータを準備してもよい。
【００４８】
次に、回答推論部１５ａが推論をする手順を説明する。回答推論部１５ａは、テキスト入力を受け付けたとき、入力されたテキストと最も近似する入力パターンを検索する。そして、最も近似する入力パターンに対応する回答指標ｉが、入力に最も適した回答を示す指標であることになる。
【００４９】
ここでは、例として、Ｄｏｃ２Ｖｅｃを用いて学習済みモデルを作成する手順を示す。Ｄｏｃ２Ｖｅｃでは、文単位、ページ単位、またはファイル単位等の所定の単位でベクトル化することができる。また、Ｄｏｃ２Ｖｅｃは、例えば、自然言語分析のライブラリであるｇｅｎｓｉｍを用いて実装される。
上記の最も近似する回答指標ｉを求めるために、まず、あらかじめ、回答学習用教師データ１５ｅの入力パターンとなるテキストを形態素解析により分解する。
ここで、形態素解析とは、自然言語で書かれた文字列を形態素（言語で意味を持つ最小単位）に分割する、コンピュータによる自然言語処理技術である。このような形態素解析については、公知の技術を用いることができる。
図８は、回答指標１００００１の「会社命令での半自宅待機だが労働基準法などには抵触しないか」という文章を形態素解析した結果の例である。形態素解析により、文章を意味上の最小単位に分解し、品詞ごとに分類することが可能となる。
【００５０】
次に、形態素解析した単語を機械学習の手法によってベクトル化する。Ｄｏｃ２Ｖｅｃは、回答学習用教師データ１５ｅを学習データとして、形態素解析された単語に付与されたベクトルと文章を識別するために付与する識別ＩＤをもとに、各文章に対応するベクトルデータを算出する。図９は、前記回答指標１００００１の「会社命令での半自宅待機だが労働基準法などには抵触しないか」をＤｏｃ２Ｖｅｃの学習アルゴリズムによって１００次元のベクトルデータに変換した例である。回答学習演算部１５ｂは、作成した回答用人工知能アルゴリズムを回答用人工知能アルゴリズム保存部１５ｄに保存する。
文章のベクトル化によって、文章同士の類似度を定量的に把握することが可能となる。
回答推論部１５ａは、処理要求を受け取ると、入力されたテキストを形態素解析処理し、ベクトルデータに変換する。次に、既に計算された各回答候補のベクトルデータと当該入力されたテキストのベクトルデータのコサイン類似度を計算し、コサイン類似度の最も高い入力に対応する回答指標ｉを特定する。コサイン類似度は、ベクトル
0006624539.tif 000002
、
0006624539.tif 000003
として、以下の式によって求めることができる。
0006624539.tif 000004
【００５１】
コサイン類似度の最も高い入力に対応する回答指標ｉが特定されると、回答推論部１５ａは、回答データベース１５ｃから、回答指標の値に対応する回答を読み出す。
【００５２】
つまり、回答推論部１５ａは、入力の特徴と、回答用人工知能アルゴリズム保存部１５ｄに記憶された回答用人工知能アルゴリズムとに基づき、回答データベース１５ｃに記憶されている回答のうちから最適なものを推定し、推定に基づき適切な回答を送信する。
【００５３】
以上の構成により、回答推論部１５ａは、仮に入力されたテキストが想定される入力候補に完全または部分一致しなくても、入力されたテキストに対する回答情報を精度よく特定することができる。
【００５４】
なお、ある実施例では、回答推論部１５ａが類似度計算をする際に閾値を設定し、閾値以下の値である場合には適切な回答が存在しない旨の回答をするとともに、類似度が高い入力候補を抽出して図１３の次の入力候補３０１ｃとして表示させることもできる。閾値を設定することにより、利用者に誤った回答を提示することを予防でき、また、閾値以下であっても類似度が高い入力候補を選択肢として表示することにより、利用者に自身が入力したいと考えるテキスト入力をさせることが可能となる。
［候補表示装置１６の機能構成と回答推論の手順］
【００５５】
次に、図１０を用いて候補表示装置１６の機能構成を説明する。
【００５６】
候補推論部１６ａは、入力データベース１６ｂ、又は入力履歴データベース１６ｃをもとに次に利用者が選択すると予測される入力を推論する機能を有する。
【００５７】
入力データベース１６ｂは、入力テキストのデータである。入力データベース１６ｂを構成するデータは、図１１のように、入力候補となるテキストと、この想定される入力候補に対応する回答の指標番号と、付加情報としてのタグ情報（アノテーション）を一つの単位とする。アノテーションは、入力予測をしたり、機械学習をするために用いる付加的な情報である。アノテーションとして保存されるのは、当該入力候補が属するカテゴリを示す文字列、当該テキストの文脈を示す情報、入力候補テキストから抽出された単語及びその類義語などである。なお、一つの入力パターンに対して付加されるアノテーションの数に限定はない。
【００５８】
入力履歴データベース１６ｃは、すべての利用者が過去に入力したテキスト入力を入力順序に従って履歴データとして保存したデータベースである。図１２は、入力履歴データベース１６ｃに保存されるデータの例であり、過去のテキスト入力の履歴を利用者ごとに保存したものである。入力履歴データベース１６ｃは、ログデータベース１４から抽出してもよい。また、ユーザーを識別するためのｕｓｅｒＩＤは個人情報保護の観点から、実際の利用者と関連付けることのできない匿名化処理された記号であってもよい。
【００５９】
候補推論部１６ａは、入力データベース１６ｂをもとに、現在の利用者が次にどの入力を候補として表示するのが適切であるかを推論する。
【００６０】
候補推論部１６ａの推論は、例えば、直前に入力されたテキストに付加されたアノテーションと、入力データベース１６ｂに保存されている各入力に付加されたアノテーションを参照して比較し、一致数の多い入力候補を優先して抽出することによりすることができる。
また、候補推論部１６ａは、入力履歴データベース１６ｃを参照し、統計的に予測をしてもよい。統計的に予測する手順は、過去のテキスト入力と、当該テキスト入力のｎ個前のテキスト入力を抽出し、入力履歴データベース１６ｃから同じ組み合わせのテキスト入力の並びを検索して抽出する。そして、抽出された過去履歴の中から、次のテキスト入力を統計的に予測する。例えば、「入力されたテキストがＡ、その２個前がＢ、Ｃという順序」であった場合、候補推論部１６ａは、入力履歴データベース１６ｃから「Ｂ、Ｃ、Ａ」の入力の組み合わせを検索する。検索にあたっては、並び順を考慮して「Ｂ、Ｃ、Ａ」のみを抽出してもよいし、並び順を考慮せず、「Ａ、Ｂ、Ｃ」「Ｂ、Ｃ、Ａ」「Ａ、Ｃ、Ｂ」「Ｂ、Ａ、Ｃ」「Ｃ、Ａ、Ｂ」「Ｃ、Ｂ、Ａ」のすべてを抽出してもよい。そして、抽出された入力履歴の次の入力履歴を多い順に抽出することによって入力候補を抽出する。例えば、「Ｂ、Ｃ、Ａ」と一致する組み合わせと、その次に続く１個のテキスト入力を抽出したところ、「Ａ、Ｂ、Ｃ、Ｄ」「Ｂ、Ｃ、Ａ、Ｅ」「Ａ、Ｃ、Ｂ、Ｄ」「Ｂ、Ａ、Ｃ、Ｆ」「Ｃ、Ａ、Ｂ、Ｄ」「Ｃ、Ｂ、Ａ、Ｆ」という検索結果が得られたとする。この場合、「Ｂ、Ｃ、Ａ」の組み合わせに続く入力候補として統計的に最も多いのはＤであるから、Ｄを第一順位の入力候補と判断する。この場合、次に出現回数の多いＦを第二順位の入力候補と判断してもよい。
上記のアルゴリズムは一例であり、これ以外のアルゴリズムによって入力候補を表示してもよいし、候補推論部１６ａの予測アルゴリズムが過度に固定的になることを防止するために、入力候補の一部にランダムに抽出された入力候補を混在させる構成としてもよい。
【００６１】
また、上記のように統計的なアプローチで入力予測をするアルゴリズムのほか、協調フィルタリングや機械学習によって構築されたアルゴリズムによって入力予測をしてもよい。例えば、利用者の利用履歴データが相当数蓄積された状況であれば、協調フィルタリング、すなわち、多くの利用者の利用データから、ある利用者と嗜好の類似した他の利用者の情報を用いて自動的に推論を行う方法論によって、より精度の高い予測をすることが考えられる。また、機械学習のアルゴリズムは、線形回帰、決定木、ロジスティック回帰、ｋ−ｍｅａｎｓ法、Ｎｅａｒｅｓｔ  Ｎｅｉｇｈｂｏｒ法、ＳＶＭ（Ｓｕｐｐｏｒｔ  ｖｅｃｔｏｒ  ｍａｃｈｉｎｅ）、ランダムフォレスト等のほか、ニューラルネットワークを利用することが考えられる。
機械学習によって次の候補の推論をする方法は実施例２において後述する。
【００６２】
次に、上記の手順で生成された回答と次の入力候補を含んだ送信用データが、利用者の端末装置３０に送信され、それが端末装置３０のインターフェースに表示される方法を説明する。
図１３は、利用者が操作する端末装置３０のインターフェースの例である。３０１ａは利用者のテキスト入力であり、３０１ｂは入力に対する回答情報であり、３０１aと３０１ｂはチャットサービスにおける会話の履歴である。図１３は上部のテキストほど古く、下部のテキストほど新しい表示例であるが、３０１aと３０１ｂの表示例はこの例に限られず、例えば、上部のテキストほど新しく、下部のテキストほど古くてもよい。
端末装置の利用者は、表示された次の入力候補３０１ｃの中から選択をすることによりテキスト入力をしてもよいし、入力候補を無視して自身が入力したいと考えるテキストを３０１ｄの入力エリアから入力してもよい。
利用者がテキストを入力すると、装置１０は入力されたテキストに対応する送信データを生成して端末装置３０に送信し、送信データを受信した端末装置３０は、回答を３０１ｂに、その次に入力されることが予測される入力候補を３０１ｃに表示する。
候補表示装置１６は、回答生成装置１５が確実に認識するもののみを候補として表示するので、利用者は、入力候補を選択し続けていくことにより、確実に会話を進めることができる。また、利用者は、入力候補にないテキストを入力することもでき、これによって自分が知りたい回答情報にダイレクトにアクセスすることもできる。
これにより、「問い合わせしたい選択肢を見つけることができない」「該当する回答情報がなく有意な回答情報が得られない」といった、従来のチャットボットの欠点を補うＡＩチャットボットを構築することが可能となる。
【００６３】
上述した一連の処理を実行することができる機能を装置１０が備えていればよく、本発明は図３に示す機能的構成に限定されない。上記一連の処理は、ハードウェアにより実行させることも、ソフトウェアにより実行させることもできる。また、１つの機能ブロックは、ハードウェア単体で構成されてもよいし、ソフトウェア単体で構成されてもよく、またはこれらの組み合わせで構成されてもよい。
【００６４】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータなどにネットワークや記憶媒体からインストールされる。なお、プログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理を含んでもよい。
【００６５】
（実施例２）
実施例２として、候補推論部１６ａが、回答生成装置１５とは異なる学習を行うことにより得られた人工知能アルゴリズムにより、次の候補を推論する方法について説明する。
【００６６】
ここでは、回帰による推論手法について説明する。回帰する方法は、例えば、線形回帰、多項式回帰やロジスティック回帰などがあり、ニューラルネットワークによって回帰分析結果を最適化するためには、最小二乗法やバックプロパゲーションなどにより予測の精度が最も高くなるように重み係数を調整して学習モデルを生成する。これらの回帰による推論には公知の手法を用いることができるため、詳細な説明は省略し、線形回帰によって予測をする際に、どのような形式でデータを入力するかを説明する。回帰予測の対象となるのは定量的な数値であるが、候補推論部１６ａが扱う入力パターンは、前述の通り文字列のデータであり、このままの形式では回帰予測の対象となりえないため、どのような方法で入力値を定量化するかは、期待する予測結果を得るために重要となる。
【００６７】
図１４は、入力パターンを数値に置き換える方法を示す図である。
数値に置き換える際には、図１１のタグ情報を変換キーとして用いる。例えば、図１１のタグ１、タグ２、タグ３は、相談分野の大項目、中項目、小項目を表すタグである。前述の通り、図１１に記載されている各入力パターンに対して付加されるアノテーションの数に限定はなく、また、入力パターンごとに付与されるタグの数にはばらつきがあるが、本実施例による回帰分析をする場合には、最初のタグ１、タグ２、タグ３は分野を表すタグを保存する領域として予め確保しておき、すべての入力パターンにタグ１、タグ２、タグ３が付加されることとする。
そして、同じ名称のタグには同じ正の数値を割り当てて、タグ１の数値には１００を、タグ２の数値には１０を、タグ３の数値には１をそれぞれ乗じて足し合わせることによって入力パターンを数値化する。例えば、「労働」に１、「退職」に３、「退職届」に２の数値を割り当てた場合、回答指標１００００４の入力パターン「口頭で退職の意思を表明した場合、重ねて退職届を出す必要はあるか」は、１３２と数値化することができる。
タグごとに割り当てる数値は、同じ単語に同じ数値が重複して割り当てられないよう、任意に決定される。なお、タグ１、タグ２、タグ３の内部で１０種類以上の単語がある場合には、整数ではなく小数を割り当てる。例えば、タグ１の種類として、労働、離婚、相続、といった異なる単語が存在するとして、その種類が１０種類以内であれば、労働に１、離婚に２、相続に３、というように整数の値を割り当ててよいが、１０種類以上の場合には、０．１、０．２という要領で小数値を割り当ててもよいが、このような処理をすると後述する文脈の違いが値の差として検出しにくくなるため、９．５、９．０、８．5といった要領で大きい数字から順に割り当てたり、タグ１に割り当てる桁数を２に増やしたり、タグ１の上に更に大きな項目を設けて、タグ１の種類を減らすなど、適宜割り当てのアルゴリズムやデータ形式を変更することが望ましい。
そして、同じ数値に変換された入力パターンが複数ある場合は、小数点以下の値に異なる値を割り振ることにより区別する。例えば、回答指標１００００４と同様に１３２と数値化された入力パターンがある場合は、１３２．１、１３２．２というように重複のない値となるように数値を割り当てる。なお、１０以上の種類がある場合は小数点第二位以下の桁を用いる。
【００６８】
この方法により文字列データを数値化するメリットは、似たトピックであるほど値が近く、異なるトピックであれば値が大きく異なるように、各入力パターンを数値化することができる点にある。
例えば、労働のトピックと離婚のトピックは１００前後の値の差が生じることになるが、同じ労働のトピック内であれば値の差は相対的に小さくなり、タグ１、タグ２、タグ３のすべてが一致する入力パターンの数値の違いは１よりも小さくなる。
【００６９】
このような数値化のロジックを用いて、図１２の入力履歴データベース１６ｃの入力履歴を変換することにより、各利用者の入力履歴を数列化することができる。この数列は、入力が同じ話題の中でとどまっている場合には値の変化が少なく、別の会話に遷移した場合には値の変化が大きくなるため、対話の文脈を回帰分析の対象とするために適したデータとなる。
【００７０】
候補推論部１６ａが回帰予測を行う場合、候補推論部１６ａは利用者の入力を数値化し、入力履歴データベース１６ｃのデータを数値化して回帰分析を行うことにより、利用者の次の入力を表す数値を予測する。次に、予測された値に該当する回答指標ｉを入力データベース１６ｂから探索し、特定する。予測によって得られた回答指標ｉは実施例１の応答候補生成のステップ（図４のＳ０５）における候補生成装置のアルゴリズムと併用して用いることもできるし、実施例１の候補生成装置のアルゴリズムを代替するものとして用いてもよい。また、前述のとおり、機械学習の予測アルゴリズムは、線形回帰に限られず、決定木、ロジスティック回帰、ｋ−ｍｅａｎｓ法、Ｎｅａｒｅｓｔ  Ｎｅｉｇｈｂｏｒ法、ＳＶＭ（Ｓｕｐｐｏｒｔ  ｖｅｃｔｏｒ  ｍａｃｈｉｎｅ）のほか、ニューラルネットワークを利用することが考えられるし、一つのアルゴリズムのみを用いるのではなく、複数のアルゴリズムを併用してもよい。利用者には複数の入力候補が提示されるが、その際に別々のアルゴリズムによって生成した入力候補を並列的に提示してもよい。
【００７１】
（実施例３）
また、実施例３として、候補表示装置１６を補助するために、強化学習装置１７を用いて入力予測をする実施形態を説明する。
【００７２】
強化学習は、ある環境内における行動主体が、現在の状態を観測し、試行錯誤を通じて取るべき行動を決定する学習方法であり、教師の代わりに、報酬という情報を手がかりに試行錯誤の回数を重ねながら自律的、能動的な改善を図って最適な出力へと向かう方法である。行動主体は、行動を選択することで環境から報酬を得て、一連の行動を通じて報酬が最も多く得られるような方策を学習する。強化学習の手法としては、Ｑ学習、ＴＤ学習などある。
Ｑ学習の場合、行動価値関数Ｑ（ｓ，ａ）の一般的な更新式である行動価値テーブルは、以下の数式（更新式）によって更新される。
【００７３】
Ｑ(ｓt+1,ａt+1)←Ｑ(ｓt,ａt)＋α｛ｒt+1＋γmaxＱ(ｓt+1,ａ) −Ｑ(ｓt,ａt)｝
【００７４】
上記の更新式において、ｓtは時刻ｔにおける環境を表し、ａtは時刻ｔにおける行動を表す。行動ａtにより、環境はｓt+1に遷移する。ｒt+1は、その環境の変化によって受領する報酬を表す。更新式の中のｍａｘの付いた項は、状態ｓt+1の下で最も価値Qの高い行動ａを選んだ場合の価値Ｑに割引率γ（０＜γ≦１）を乗じたものであり、αは学習速度係数（０＜α≦１）である。Ｑ学習において、Qは、その状態での即時的に得られる報酬の価値と、見積もられた次の状態の価値の和であり、短期的に得られる報酬だけを考えない点に特徴がある。更新式は、学習過程の中で、状態ｓのとき、最も価値の高いQとなる行動ａが時刻ｔにおける最適な行動であるとして選択することを、その後の時刻ｔ＋１においても実行し、これを繰り返すことを意味している。
強化学習においては、教師であるルールが存在しないため、学習当初は各々の状態ｓと行動ａの組合せについて、正しい価値Q（ｓ,ａ）の値は分かっていない。したがって、すべての状態とそのときに取り得る行動のｓ,ａの組について、初期の価値Q（ｓ,ａ）をランダムに決めておく。そして、報酬が付与されたときに、ある環境における最良の行動価値が、それ以前の環境における行動価値に順次伝搬するように行動価値関数を更新する。このプロセスを繰り返すことによって、時刻ｔにおける行動ａの行動価値関数Ｑを、時刻ｔ＋１における最良の行動価値に近づけるように最適化する。
【００７５】
次に、強化学習を実行する方法について説明する。図１５は、強化学習装置１７の構成を示す図である。強化学習装置１７は、報酬計算部１７ａと、関数更新部１７ｂと、関数保存部１７ｃと、報酬保存部１７ｄとを有する。
【００７６】
報酬計算部１７ａは、観測された状態変数に基づいて報酬を計算する。ある実施例では、状態変数は、（ア）候補推論部１６ａが出力した入力候補の種類、（イ）候補推論部１６ａが出力した各入力候補が選択される統計的な確率、（ウ）（イ）の分布状況である。行動価値関数Ｑ（ｓ，ａ）は、かかる状態変数を入力した場合に、最適な出力をするように強化学習がなされることによって得られる。ここで、本発明における出力は、例えば提示する入力候補の数と、統計的に抽出された入力候補とランダムに抽出された入力候補の割合である。本発明においては次に入力されると予測される入力候補を候補表示装置１６が予測するが、ここで予測された入力候補をどのように利用者に提示するかによって、装置１０の利便性が変化する。例えば、候補表示装置１６が、入力候補を２~３個に絞り込むことができた場合には、提示する入力候補の数を減らして利用者が選択する際に迷わないようにすべきであるし、逆に入力候補の数が多い場合など、予測が成功していない可能性を考慮して、ランダムに抽出された入力候補も含めて、提示する選択肢を増やした方がよい場合もある。強化学習装置１７は、このように候補表示装置１６とは異なるアルゴリズムにより装置１０の利便性を高めるために動作する。
【００７７】
報酬は、チャットボットの対話がシステムの想定する望ましい状態まで続いて終了した場合に最も高く付与される。また、会話の開始から望ましい状態への到達が早いほど報酬を高く設定してもよい。逆に、一定時間以上回答がない場合や、会話が想定以上に長く続いている場合にはマイナスの報酬を与えたり、短時間に異常な回数のテキスト入力がなされたような場合には、報酬がゼロになる設定をしてもよい。かかる報酬体系の設定方法により、対話をシステム提供者が望ましく、かつ、利用者にとって満足度が高いよう決定する、振る舞いの決定法アルゴリズムが構築される。他方、対話中には報酬を与えず、対話終了時に満足度に応じた報酬を与えるようにしてもよい。
報酬計算部１７ａは、報酬更新イベントが発生した際に行動価値関数Ｑを更新する。報酬更新イベントは、チャットボットの対話がシステムの想定する望ましい状態まで続いて終了した場合（例えば、第３の実施形態に記載するような問い合わせ機能を用いて、利用者が問い合わせ行動を実施した場合）や、一定時間（例えば、１０分間）利用者からの入力がなかった場合などである。例えば、利用者が問い合わせを実施するというイベントが発生し、そのイベントに報酬１０が設定されていた場合には、その結果及びその他のパラメーター（例えば、利用開始からイベント発生までの時間など）に応じて報酬を決定する。
【００７８】
関数更新部１７ｂは、報酬計算部１７ａによって計算される報酬に従って、次の行動を決定するための関数を更新する。Ｑ学習の場合、更新式で表される行動価値関数Ｑ（ｓt,ａt)を、次の行動を決定するための関数として用いる。
【００７９】
関数保存部１７ｃは、関数更新部１７ｂが決定、更新した行動価値関数を保存する。
【００８０】
報酬保存部１７ｄは、報酬計算部１７ａが用いる報酬を保存する。報酬は、システム管理者が自由に定めることができる。
【００８１】
図１７は、強化学習装置１７が強化学習する場合の動作を示す図である。なお、図１７に示す動作は、例えば図４に示すステップＳ０５とＳ０６の間に実行される。
【００８２】
報酬計算部１７ａは、特徴量に基づいて、報酬増大基準を満たすか否かを判断する（ステップＳ１０１）。
報酬増大基準を満たす場合（ステップＳ１０１：Ｙｅｓ）、報酬計算部１７ａは、報酬を増大させる（ステップＳ１０２）。報酬増大基準を満たさない場合（ステップＳ１０１：Ｎｏ）、報酬計算部１７ａは、報酬を減少させる（ステップＳ１０３）。
【００８３】
報酬計算部１７ａが報酬を計算すると、関数更新部１７ｂは、計算された報酬に基づいて、行動価値関数を更新する（ステップＳ１０４）。ステップＳ１０１からステップＳ１０４に示す動作は、報酬付与イベントが発生する場合ごとに実行される。ステップＳ１０１〜ステップＳ１０４の動作によって行動価値関数が更新されると、それ以降は更新された行動価値関数に基づいて最適と判断された行動が決定されることになる。
【００８４】
強化学習装置１７は、このように構築されたアルゴリズムを用いることで、対話の終了までに獲得できる報酬を最大化するように振る舞いを決定できる。また、特に後述する実施例３のように、利用者に一定の問い合わせを促すことを主たる目的とするチャットボットを構築する場合には、利用者が問い合わせをした場合に付与される報酬を相対的に高く設定することにより、より望ましい入力候補の提供をすることが可能となる。
【００８５】
図１６は強化学習装置１７の機能を組み込んだ装置１０の構成例であるが、本実施形態の装置１０は、上記構成に限定されず、強化学習装置１７は、装置１０とはハードウェアの構成が別々のコンピュータにより実現されてもよい。
【００８６】
以上、Ｑ学習によって強化学習を行う例について説明したが、他の公知の方法、例えば、ガウス過程（Ｇａｕｓｓｉａｎ  ｐｒｏｃｅｓｓ）モデル、ＤＱＮ（Ｄｅｅｐ  Ｑ−Net）、などのディープニューラルネットワークに基づくモデル、またはその他のモデルを用いて強化学習を行ってもよい。
また、本実施例ではいくつかのパラメーター変数を最適化するために強化学習を行う方法を示したが、強化学習の対象はパラメーター変数を最適化に限られず、入力候補の選択や、利用者の挙動から同じ文脈で会話を継続すべきか、他の文脈に遷移すべきか、換言すれば、同じアノテーションの付加された入力候補を多く出すか、別のアノテーションの付加された入力候補を出すかの判断を強化学習アルゴリズムによって判断させてもよい。また、実施例２において説明したように、複数の予測アルゴリズムによって入力候補を生成した場合に、どの生成結果を重視すべきかを試行し、予測精度の高いアルゴリズムによって生成された生成結果を多く利用者に提示するようなパラメーター変数の調整を実施してもよい。
【００８７】
以上のように、チャットボットを構築する際に複数の人工知能アルゴリズムを組み合わせることにより、チャットボットの動作をより緻密に調整することが可能となる。
通常、文脈を理解するＡＩチャットボットを構築する場合には、再帰的ニューラルネットワークによる学習がなされることがある。例えば、「おなかがすいた」「中華料理のレストラン」という一連の入力がなされた場合に、連続する入力を総合的に認識して、中華料理のレストランを探していることを理解する動作を実現するために再帰的ニューラルネットワークが用いられることがある。再帰的ニューラルネットワークは、直近の入力だけでなく、それ以前の入力も考慮して次の行動を選択することができるため、「中華料理のレストラン」という入力だけでは理解できない「レストランを探す」という意図を認識することが可能となる。しかし、単一の人工知能で文脈を理解させる場合には、膨大な学習データが必要となるし、そのための計算負担も膨大なものとなる。また、この方法では利用者ごとに入力にバラツキがある場合への対処も学習によって吸収しなければならないし、学習データを増やしすぎることによって生じる過学習に対応する必要も生ずる。
他方で、本発明によると、人工知能アルゴリズムを組み合わせることにより、入力を認識するための人工知能は利用者の入力を精度よく認識できるよう集中して学習処理をすることができるようになるし、入力予測においては会話の流れをもとに次の入力を提示することのみに集中し、また、パラメーターの調整をする強化学習においては、回答データが増えすぎてかえって利用者が必要とする情報を探しづらくなる状況を避けるために入力候補の提示数を最適化することのみに集中することができるようになる。
本発明のように複数の人工知能を適切に配置することにより、より機能の高いチャットボットの構築が可能となる。
【００８８】
（実施例４）
また、実施例４として、利用者がチャットボットを利用した履歴データをもとに、履歴データの生成や問い合わせ用の相談票を自動で生成する機能を設けることが考えられる。
【００８９】
図１８は、自動問い合わせ生成装置１８の構成図である。自動問い合わせ生成装置１８は、問い合わせ生成部１８ａと問い合わせフォーム保存部１８ｂで構成される。
【００９０】
問い合わせ生成部１８ａは、図１９に記載されている処理手順に従って、問い合わせを自動で生成する。
【００９１】
問い合わせフォーム保存部１８ｂは、問い合わせ生成部１８ａが利用する問い合わせフォームを保存する。図２０は、問い合わせフォーム保存部１８ｂに保存されている、問い合わせフォームの例である。問い合わせフォームは、例えば、ｈｔｍｌ言語によって記述される。
【００９２】
図２１は、自動問い合わせ生成装置１８により問い合わせを自動生成する場合の、端末装置３０のインターフェースに表示される自動問い合わせ生成画面１８０の例である。自動問い合わせ生成画面は、問い合わせフォーム保存部１８ｂに保存されている問い合わせフォームに自動的に追加された情報に、利用者が必要な事項を追記する体裁となっている。
【００９３】
次に、図１９にしたがって問い合わせ用の相談票を自動で生成する手順を説明する。
まず、利用者が問い合わせの作成を開始する（ステップＳ２０１）。問い合わせは、例えばチャットボット内の会話で「問い合わせを開始する」と発話するなどすることにより開始することができる。問い合わせの作成を開始すると、問い合わせ生成部１８ａは問い合わせフォームデータベース１８ｂから相談内容に応じた問い合わせフォームを選択する（ステップＳ２０２）とともに、ログデータベース１４から、当該利用者の過去のテキスト入力を取得し（ステップＳ２０３）、また、入力候補データベースから関連する入力候補を取得して（ステップＳ２０４）、図２１の自動問い合わせ生成画面１８０の「問い合わせ内容」表示部１８０ａに過去のテキスト入力を、「関連するタグを追加で選択」表示部１８０ｂに関連する入力パターンを表示する（ステップＳ２０５、ステップＳ２０６）。この際、利用者は、問い合わせに記入したくないテキスト入力を×ボタンを押して削除することができる。また、「関連するタグを追加で選択」表示部１８０ｂで選択されたタグは、「問い合わせ内容」表示部１８０ａに追加される。「問い合わせ内容」表示部１８０ａに追加されたタグを削除したい場合は×ボタンを押して削除することができる。
さらに、追加質問部分１８０ｃには、利用者の年齢、性別、都道府県や、問い合わせに回答するために通常必要な質問項目が自動的に表示される。この質問項目は、問い合わせフォームデータベース１８ｂに予め保存されている問い合わせフォームに付随する質問項目である。利用者は、必要に応じて表示された必要項目を選択する（ステップＳ２０７）。
さらに、問い合わせ内容表示部１８０ｄに質問事項を記入（ステップＳ２０８）した上で作成ボタン１８０ｅを押す（ステップＳ２０９）ことにより、問い合わせが電子的に生成される（ステップＳ２１０）。
作成された問い合わせは、電子メールに添付して送信したり、利用者が事後の相談をするために印刷したりして活用できる。
かかる機能により、利用者は自身の状況や相談内容を一から文章で入力することを要せずに、容易に問合せを生成することができるようになる。また、通常必要な質問項目が表示されることにより、相談に回答するために通常必要な情報を入力し忘れることにより生ずる再質問の手間を省くことができ、利用者がより簡便かつ迅速に回答を受領することができるようになる。
【００９４】
図２２は自動問い合わせ生成装置１８の機能を組み込んだ装置１０の構成例であるが、本実施形態の装置１０は、上記構成に限定されず、自動問い合わせ生成装置１８は、装置１０とはハードウェアの構成が別々のコンピュータにより実現されてもよい。
【産業上の利用可能性】
【００９５】
本発明は、単一の人工知能に機械学習させるだけでは利便性の高いＡＩチャットボットを構築できない場合に、複数の人工知能アルゴリズムを組み合わせることにより、ＡＩチャットボットをシステム全体の目的に最適化して利便性を高めることができる。本発明は、特に各種コールセンターやヘルプデスクへの問い合わせのように、利用者が問い合わせるべき課題を持って利用するＡＩチャットボットを構築する際に、利用者が効率的に課題解決のための情報にアクセスできるシステムの構築をする際などに好適に利用可能である。
【要約】
【課題】利用者が問い合わせたい疑問ないし課題に効率的に回答する情報処理装置を提供する。
【解決手段】本発明の情報処理装置は、１以上の入力パターンと、これに対する回答情報とを予め対応付けて記憶した回答データベースと、１以上の入力パターンと回答情報の対応関係を教師データとして教師あり学習を行うことにより得られた人工知能アルゴリズムにより、利用者の入力に応じた回答情報を自動的に提供する回答生成装置と、所定のアルゴリズム又は回答生成装置とは異なる学習を行うことにより得られた人工知能アルゴリズムにより次に利用者がする入力を予測して、当該予測の結果を次の入力候補として利用者に自動的に表示する入力候補表示装置とを備える。
【選択図】図２２【図１】
0006624539.tif 000005
【図２】
0006624539.tif 000006
【図３】
0006624539.tif 000007
【図４】
0006624539.tif 000008
【図５】
0006624539.tif 000009
【図６】
0006624539.tif 000010
【図７】
0006624539.tif 000011
【図８】
0006624539.tif 000012
【図９】
0006624539.tif 000013
【図１０】
0006624539.tif 000014
【図１１】
0006624539.tif 000015
【図１２】
0006624539.tif 000016
【図１３】
0006624539.tif 000017
【図１４】
0006624539.tif 000018
【図１５】
0006624539.tif 000019
【図１６】
0006624539.tif 000020
【図１７】
0006624539.tif 000021
【図１８】
0006624539.tif 000022
【図１９】
0006624539.tif 000023
【図２０】
0006624539.tif 000024
【図２１】
0006624539.tif 000025
【図２２】
0006624539.tif 000026