(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-05
(45)【発行日】2024-11-13
(54)【発明の名称】自動応答システム、自動応答方法及び自動応答プログラム
(51)【国際特許分類】
G06F 16/90 20190101AFI20241106BHJP
G06F 16/904 20190101ALI20241106BHJP
G06F 40/56 20200101ALI20241106BHJP
H04L 51/04 20220101ALI20241106BHJP
【FI】
G06F16/90 100
G06F16/904
G06F40/56
H04L51/04
(21)【出願番号】P 2020044753
(22)【出願日】2020-03-13
【審査請求日】2023-01-16
【前置審査】
(73)【特許権者】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】毛利 隆軌
【審査官】成瀬 博之
(56)【参考文献】
【文献】国際公開第2019/220518(WO,A1)
【文献】特開2009-104409(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06F 40/20-40/58
H04L 51/00-51/58
H04L 67/00-67/75
G06Q 10/00-99/00
G06F 3/048-3/04895
(57)【特許請求の範囲】
【請求項1】
チャットボット機能を提供する自動応答システムであって、
ユーザ端末から送信された質問情報を受信する受信部と、
受信された前記質問情報に対する応答情報を前記ユーザ端末に送信する送信部と、
前記ユーザ端末から受信した前記質問情報に含まれる要素に基づき、前記質問情報に含まれる前記要素と前記応答情報とが対応付けられた内部登録情報に基づき前記応答情報を取得する通常モードと、前記質問情報に含まれる前記要素と連携する外部システムに関する情報に基づき前記外部システムから前記応答情報を取得する外部連携モードとのどちらにより前記応答情報を取得するかを判断する連携判断部と、
前記連携判断部により前記外部連携モードによる前記応答情報の取得と判断された場合に、前記外部システムに関する前記情報に基づき前記外部システムと通信を確立し、前記外部システムから前記応答情報を取得する連携部と、
を備え
、
前記連携判断部は、前記ユーザ端末から受信された前記質問情報に含まれるキーワードと前記外部システムに関する情報とが対応付けられて登録されている場合に、当該質問情報に対応する応答情報を前記外部連携モードで取得すると判断し、
前記連携部は、前記外部システムに関する情報に含まれている、前記外部システムのサービスの利用の際に前記ユーザ端末に聞き返しが必要となる聞き返し情報に基づいて、前記外部連携モードの実行開始時に、前記ユーザ端末に対して、前記外部システムとの通信を確立する際の前記外部システムのサービスの利用に必要な必要情報の入力を要求する処理を行い、複数の前記外部システムのうち、前記質問情報に含まれる前記キーワードに対応する前記外部システムに前記質問情報を送信し、前記外部システムから前記質問情報に対応する応答情報を取得する、
自動応答システム。
【請求項2】
前記連携部は、前記外部連携モードにおいて、前記外部システムから取得された前記応答情報に基づき、次に前記ユーザ端末から受信された質問情報を当該外部システムに送信し、当該外部システムから当該質問情報に対応する応答情報を取得する、
請求項1に記載の自動応答システム。
【請求項3】
前記連携部は、前記チャットボット機能により実現する対話型通信の実行中に前記外部システム又は前記ユーザ端末から取得された取得情報が所定の終了条件を満たす場合には前記外部連携モードを前記通常モードに切り替え、前記取得情報が前記終了条件を満たさない場合には前記外部連携モードを継続させる、
請求項1
又は2に記載の自動応答システム。
【請求項4】
前記終了条件は、前記外部システムから全ての情報の送信が完了したことを示す情報を受信することである、
請求項
3に記載の自動応答システム。
【請求項5】
前記終了条件は、前記ユーザ端末から前記外部連携モードを終了させることを示す情報を受信することである、
請求項
3又は4に記載の自動応答システム。
【請求項6】
前記質問情報に含まれる前記要素と前記応答情報とが対応付けられた前記内部登録情報を記憶する記憶部、
を更に備える請求項1
~5のいずれか1項に記載の自動応答システム。
【請求項7】
前記質問情報に含まれる前記要素は、ユーザにより選択された選択肢、ユーザにより入力された質問内容、またはキーワードを含む、
請求項1
~6のいずれか1項に記載の自動応答システム。
【請求項8】
チャットボット機能を提供する自動応答方法であって、
ユーザ端末から送信された質問情報を受信する工程と、
受信された前記質問情報に対する応答情報を前記ユーザ端末に送信する工程と、
前記ユーザ端末から受信した前記質問情報に含まれる要素に基づき、前記質問情報に含まれる前記要素と前記応答情報とが対応付けられた内部登録情報に基づき前記応答情報を取得する通常モードと、前記質問情報に含まれる前記要素と連携する外部システムに関する情報に基づき前記外部システムから前記応答情報を取得する外部連携モードとのどちらにより前記応答情報を取得するかを判断する工程と、
前記外部連携モードによる前記応答情報の取得と判断された場合に、前記外部システムに関する前記情報に基づき前記外部システムと通信を確立する工程と、
前記外部システムから前記応答情報を取得する工程と、
を含
み、
前記ユーザ端末から受信された前記質問情報に含まれるキーワードと前記外部システムに関する情報とが対応付けられて登録されている場合に、当該質問情報に対応する応答情報を前記外部連携モードで取得すると判断し、
前記外部システムに関する情報に含まれている、前記外部システムのサービスの利用の際に前記ユーザ端末に聞き返しが必要となる聞き返し情報に基づいて、前記外部連携モードの実行開始時に、前記ユーザ端末に対して、前記外部システムとの通信を確立する際の前記外部システムのサービスの利用に必要な必要情報の入力を要求する処理を行い、
複数の前記外部システムのうち、前記質問情報に含まれる前記キーワードに対応する前記外部システムに前記質問情報を送信し、前記外部システムから前記質問情報に対応する応答情報を取得する、
自動応答方法。
【請求項9】
チャットボット機能を提供するための処理を行うコンピュータに、
ユーザ端末から送信された質問情報を受信する処理と、
受信された前記質問情報に対する応答情報を前記ユーザ端末に送信する処理と、
前記ユーザ端末から受信した前記質問情報に含まれる要素に基づき、前記質問情報に含まれる前記要素と前記応答情報とが対応付けられた内部登録情報に基づき前記応答情報を取得する通常モードと、前記質問情報に含まれる前記要素と連携する外部システムに関する情報に基づき前記外部システムから前記応答情報を取得する外部連携モードとのどちらにより前記応答情報を取得するかを判断する処理と、
前記外部連携モードによる前記応答情報の取得と判断された場合に、前記外部システムに関する前記情報に基づき前記外部システムと通信を確立する処理と、
前記外部システムから前記応答情報を取得する処理と、
前記ユーザ端末から受信された前記質問情報に含まれるキーワードと前記外部システムに関する情報とが対応付けられて登録されている場合に、当該質問情報に対応する応答情報を前記外部連携モードで取得すると判断する処理と、
前記外部システムに関する情報に含まれている、前記外部システムのサービスの利用の際に前記ユーザ端末に聞き返しが必要となる聞き返し情報に基づいて、前記外部連携モードの実行開始時に、前記ユーザ端末に対して、前記外部システムとの通信を確立する際の前記外部システムのサービスの利用に必要な必要情報の入力を要求する処理を行い、複数の前記外部システムのうち、前記質問情報に含まれる前記キーワードに対応する前記外部システムに前記質問情報を送信し、前記外部システムから前記質問情報に対応する応答情報を取得する処理と、
を実行させる自動応答プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自動応答システム、自動応答方法及び自動応答プログラムに関する。
【背景技術】
【0002】
今日において、ユーザから入力されたテキスト、音声又は画像のパターン認識をクラウド経由で行い、会話、質問等に対する応答、機械制御等を行う、いわゆるチャットボットが知られている。このようなチャットボットとして、ユーザとの間で対話(チャット)形式のやり取りを行うことにより情報を送受する対話型通信を行うものが知られている。
【0003】
例えば、対話型通信を行うシステムにおいて、必要な情報を漏れなく取得することを目的とし、探索の対象に関する質問と、絞り込みの進行状況に関する情報と、質問に対する回答案内に関する情報とを互いに異なる態様で表示させる技術が開示されている(特許文献1)。
【発明の概要】
【発明が解決しようとする課題】
【0004】
通常、ユーザからの質問に対する応答は、チャットボットを実現するシステム内で予め登録されたFAQテーブル等の内部登録情報に基づき取得される。しかし、質問の内容によっては外部システムから取得した情報が必要となる場合がある。従来技術においては、シナリオ情報が外部システムとの連携を十分に考慮した構成を有していないため、シナリオ情報に基づく対話型通信を行う際に外部システムとの連携を柔軟に行うことが困難であった。
【0005】
本発明は、上述の課題に鑑みてなされたものであり、外部システムとの連携を柔軟に行うことが可能な自動応答システム、自動応答方法及び自動応答プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上述した課題を解決し、目的を達成するために、本発明は、チャットボット機能を提供する自動応答システムであって、ユーザ端末から送信された質問情報を受信する受信部と、受信された質問情報に対する応答情報をユーザ端末に送信する送信部と、ユーザ端末から受信した質問情報に含まれる要素に基づき、質問情報に含まれる要素と応答情報とが対応付けられた内部登録情報に基づき応答情報を取得する通常モードと、質問情報に含まれる要素と連携する外部システムに関する情報に基づき外部システムから応答情報を取得する外部連携モードとのどちらにより応答情報を取得するかを判断する連携判断部と、連携判断部により外部連携モードによる応答情報の取得と判断された場合に、外部システムに関する情報に基づき外部システムと通信を確立し、外部システムから応答情報を取得する連携部と、を備え、連携判断部は、ユーザ端末から受信された質問情報に含まれるキーワードと外部システムに関する情報とが対応付けられて登録されている場合に、当該質問情報に対応する応答情報を外部連携モードで取得すると判断し、連携部は、外部システムに関する情報に含まれている、外部システムのサービスの利用の際にユーザ端末に聞き返しが必要となる聞き返し情報に基づいて、外部連携モードの実行開始時に、ユーザ端末に対して、外部システムとの通信を確立する際の外部システムのサービスの利用に必要な必要情報の入力を要求する処理を行い、複数の外部システムのうち、質問情報に含まれるキーワードに対応する外部システムに質問情報を送信し、外部システムから質問情報に対応する応答情報を取得することを特徴とする。
【発明の効果】
【0007】
本発明によれば、外部システムとの連携を柔軟に行うことが可能となる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施の形態の自動応答システムを含むシステム構成の一例を示す図である。
【
図2】
図2は、実施の形態のチャットボットサービスサーバ及び外部連携サーバのハードウェア構成の一例を示す図である。
【
図3】
図3は、実施の形態の自動応答システムの機能構成の一例を示す図である。
【
図4】
図4は、実施の形態のFAQテーブルのデータ構成の一例を示す図である。
【
図5】
図5は、実施の形態の外部連携テーブルのデータ構成の一例を示す図である。
【
図6】
図6は、実施の形態のシナリオ情報のデータ構成の一例を示す図である。
【
図7】
図7は、実施の形態の自動応答システムにおける自動応答処理の一例を示すシーケンス図である。
【
図8】
図8は、実施の形態の通常モードと外部連携モードとを切り替える際の処理の一例を示すフローチャートである。
【
図9】
図9は、実施の形態の通常モードにおける対話型通信のメインルーチンの一例を示すフローチャートである。
【
図10】
図10は、実施の形態の通常モードにおける対話型通信の第1のサブルーチンの一例を示すフローチャートである。
【
図11】
図11は、実施の形態の通常モードにおける対話型通信の第2のサブルーチンの一例を示すフローチャートである。
【
図12】
図12は、実施の形態のFAQテーブル、外部連携テーブル及びシナリオテーブルの登録処理の一例を示すシーケンス図である。
【
図13】
図13は、実施の形態の外部連携登録画面の一例を示す図である。
【
図14】
図14は、実施の形態のシナリオ登録画面、FAQテーブル、シナリオテーブル及び連携先テーブルの対応関係の一例を示す図である。
【
図15】
図15は、実施の形態の外部連携モードにおける表示画面の一例を示す図である。
【発明を実施するための形態】
【0009】
以下、自動応答システム、自動応答方法及び自動応答プログラムの適用例となる実施の形態を説明する。
【0010】
(システム構成)
図1は、実施の形態の自動応答システム1を含むシステム構成の一例を示す図である。自動応答システム1は、いわゆるチャットボットを利用して、ユーザ端末3を使用するユーザからの質問等に対して自動的又は半自動的に応答するためのシステムである。
【0011】
図1に示す例においては、自動応答システム1はネットワーク2を介してユーザ端末3及び管理者端末4と通信可能に接続し、ネットワーク5を介して外部システム6A,6B,…と通信可能に接続している。以下、複数の外部システム6A,6B,…のそれぞれを区別する必要が無い場合には外部システム6と記載する場合がある。
【0012】
ユーザ端末3はユーザが使用する端末装置であり、例えばPC(Personal Computer)、タブレット端末、スマートフォン等である。管理者端末4は自動応答システム1により実現されるやり取りの内容を管理する管理者が使用する端末装置であり、例えばPC、タブレット端末、スマートフォン等である。外部システム6は所定の情報を提供可能なコンピュータシステムであり、例えば1又は複数のコンピュータ(サーバ、PC等)により構成されるシステムである。ネットワーク2,5は例えばインターネット、LAN(Local Area Network)等である。ネットワーク2,5は互いに独立していてもよいし、重複、連携等するものであってもよい。ユーザ端末3及び管理者端末4はそれぞれ複数であってもよい。外部システム6の数は特に限定されるべきものではなく、1であっても3以上であってもよい。
【0013】
本実施の形態の自動応答システム1はチャットボットサービスサーバ11及び外部連携サーバ12を有する。チャットボットサービスサーバ11は予め登録されたシナリオ情報に基づきユーザ端末3との間で対話型通信を確立し、ユーザ端末3から送信された質問情報に対する応答情報を、当該質問情報を送信したユーザ端末3に送信するための処理を行う。外部連携サーバ12は適切な応答情報を生成するために外部システム6から必要な情報を取得するための処理を行う。
【0014】
(ハードウェア構成)
図2は、実施の形態のチャットボットサービスサーバ11及び外部連携サーバ12のハードウェア構成の一例を示す図である。本例のチャットボットサービスサーバ11及び外部連携サーバ12はコンピュータにより構築され、CPU21、ROM22、RAM23、HD24、HDD(Hard Disk Drive)コントローラ25、ディスプレイ26、外部機器接続I/F(Interface)28、ネットワークI/F29、データバス30、キーボード31、ポインティングデバイス32、DVD-RW(Digital Versatile Disk Rewritable)ドライブ34及びメディアI/F36を備えている。
【0015】
CPU21はチャットボットサービスサーバ11又は外部連携サーバ12全体の動作を制御する。ROM22はIPL(Initial Program Loader)等のCPU21の駆動に用いられるプログラムを記憶する。RAM23はCPU21のワークエリアとして使用される。HD24はプログラム等の各種データを記憶する。HDDコントローラ25はCPU21の制御に従いHD24に対する各種データの読み出し又は書き込みを制御する。ディスプレイ26はカーソル、メニュー、ウィンドウ、文字、画像等の各種情報を表示する。外部機器接続I/F28は各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USB(Universal Serial Bus)メモリ、プリンタ等である。ネットワークI/F29はネットワーク2,5を利用してデータ通信をするためのインターフェースである。バスライン30はCPU21等の各構成要素を電気的に接続するためのアドレスバス、データバス等である。キーボード31は文字、数値、各種指示等の入力のための複数のキーを備えた入力手段の一種である。ポインティングデバイス32は各種指示の選択や実行、処理対象の選択、カーソルの移動等を行う入力手段の一種である。DVD-RWドライブ34は着脱可能な記録媒体の一例としてのDVD-RW33に対する各種データの読み出し又は書き込みを制御する。なお、DVD-RWに限らず、DVD-R等であってもよい。メディアI/F36はフラッシュメモリ等の記録メディア35に対するデータの読み出し又は書き込み(記憶)を制御する。
【0016】
(機能構成)
図3は、実施の形態の自動応答システム1の機能構成の一例を示す図である。自動応答システム1は通信部101、連携判断部102、検索部103、連携部104、登録部105、FAQテーブル131(内部登録情報)、外部連携テーブル132(外部連携情報)、及びシナリオテーブル133(シナリオ情報)を有する。これらの機能部101~105及びテーブル131~133は、例えば
図2に示すハードウェア構成の構成要素21~36及びプログラムの協働により構成される。
【0017】
通信部101は不特定多数のユーザ端末3A,3B,3Cとの間で情報を送受する対話型通信を実行するための処理を行う。対話型通信とは、ユーザ端末とチャットボットとの間で対話(チャット)形式のやり取りを行うことにより情報を送受するためのものである。以下、複数のユーザ端末3A,3B,3Cのそれぞれを区別する必要が無い場合にはユーザ端末3と記載する場合がある。本例の通信部101はユーザ端末3から送信された情報を受信する受信部111と、ユーザ端末3へ情報を送信する送信部112とを有する。受信部111はユーザ端末3から質問情報を受信する。送信部112は受信された質問情報に対する応答情報を、当該質問情報を送信したユーザ端末3に送信する。
【0018】
図3に示す例では、対話型通信を行うための手段が互いに異なる3台のユーザ端末3A,3B,3Cが示されている。ユーザ端末3Aはブラウザ(インターネットブラウザ)41を利用して対話型通信を確立する。ユーザ端末3Bは特定のSNS(Social Networking Service)等のコミュニケーションツール42を利用して対話型通信を確立する。ユーザ端末3Cはブラウザ41又は/及び特定のコミュニケーションツール42を利用して対話型通信を確立する。このように、対話型通信を確立するためのユーザ端末3側の手段は任意に設定され得る。
【0019】
連携判断部102は受信部111が受信した質問情報に対する応答情報を取得する際に外部システム6との連携が必要であるか否かを判断する。連携判断部102はユーザ端末3から受信された質問情報に含まれるキーワードに基づき、通常モード又は外部連携モードのいずれを実行するかを判断する。また、連携判断部102は、対話型通信において取得された質問情報とシナリオテーブル133とに基づいて判断することもできる。通常モードとは、質問情報に含まれる要素(例えばユーザにより選択された選択肢、ユーザにより入力されたフリーワード等)と応答情報とを対応付けたFAQテーブル131に基づき応答情報を取得するモードである。外部連携モードとは、質問情報に含まれる要素と連携すべき外部システム6に関する情報とを対応付けた外部連携テーブル132に基づき外部システム6と連携して応答情報を取得するモードである。
【0020】
検索部103は連携判断部102により通常モードを実行すると判断された場合に、FAQテーブル131から応答情報を取得する。また、検索部103はFAQテーブル131に加えシナリオテーブル133を参照して応答情報を取得してもよい。
【0021】
連携部104は連携判断部102により外部連携モードを実行すると判断された場合に、外部システム6から情報を取得するための処理を行う。本実施の形態の連携部104はチャットボットサービスサーバ11が有する連携制御部115と外部連携サーバ12が有する連携処理部116とを含む。連携制御部115は連携判断部102により外部連携モードを実行すると判断された場合に、外部連携テーブル132から連携すべき外部システム6に関する情報を取得する。連携処理部116は連携制御部115により取得された外部システム6に関する情報に基づき、対象となる外部システム6と通信を確立し、当該外部システム6から必要な情報を取得するための処理を行う。なお、当該連携部104の構成は一例であり、連携制御部115と連携処理部116とは同一のハードウェアに搭載されてもよい。
【0022】
登録部105はユーザ端末3以外の特定の端末である管理者端末4から送信された登録情報に基づき、FAQテーブル131、外部連携テーブル132及びシナリオテーブル133を登録(生成、編集、削除等を含む)するための処理を行う。本実施形態の登録部105はFAQテーブル131及びシナリオテーブル133を登録するための処理を行う内部登録部121と、外部連携テーブル132を登録するための処理を行う外部登録部122とを含む。
【0023】
(テーブルのデータ構成)
図4は、実施の形態のFAQテーブル131のデータ構成の一例を示す図である。本例のFAQテーブル131は「質問ID」、「質問内容」及び「応答情報」を対応付けている。「質問ID」は「質問内容」と「応答情報」との組み合わせ(本例ではFAQテーブル131の行)を特定するための識別情報である。「質問内容」は対話型通信においてユーザにより入力された質問の内容を示す情報であり、質問情報に含まれる「要素」の一例である。「質問内容」は、例えば、複数の選択肢の中からユーザにより選択された選択肢、ユーザにより入力されたフリーワード、それらの類義語等であり得る。「応答情報」は質問内容に対応する応答の内容を示す情報であり、ここではインターネットで閲覧可能なホームページのURL等を示す情報が例示されている。
【0024】
図5は、実施の形態の外部連携テーブル132のデータ構成の一例を示す図である。本例の外部連携テーブル132は連携先テーブル135及び必要情報テーブル136を含む。
【0025】
本例の連携先テーブル135は適切な応答情報を取得するために利用すべき外部サービス(外部システム6により提供されるサービス)へのアクセス方法を示す情報であり、「外部サービスURL」、「連携ID」、「種別」、「キーワード」及び「呼び出しID」を対応付けている。「外部サービスURL」は外部システム6により提供される外部サービスへアクセスするためのURLである。「外部サービスURL」は、例えば、外部システム6A,6B,…毎に割り当てられた、所定のホームページにアクセルするためのURL等であり得る。「連携ID」は「キーワード」と「種別」と「呼び出しID」との組み合わせ(本例では連携先テーブル135の行)を特定するための識別情報である。「種別」は呼び出しIDの種別を示す情報である。ここでは「呼び出しID」の種別が関数(function)であることが例示されている。「キーワード」は対話型通信においてユーザが選択、入力等可能な語句、文節、文章等であり、質問情報に含まれる「要素」の一例である。「呼び出しID」は外部サービス内で目的の情報を取得するために必要な情報であり、例えば、「外部サービスURL」に対応するホームページにおける特定のリンク先を示す情報等であり得る。上記のような連携先テーブル135が外部システム6A,6B,…毎に生成されてもよい。
【0026】
必要情報テーブル136は外部システム6と通信を確立する(外部サービスを利用する)ために必要なパラメータ(必要情報)を、外部システム6A,6B,…毎(本例では外部サービスURL及び呼び出しID毎)に特定するためのテーブルである。本例の必要情報テーブル136は「外部サービスURL」、「呼び出しID」、「パラメータ」、「種別」、「聞き返し情報」、「ユーザ入力情報」及び「終了メッセージ」を対応付けている。必要情報テーブル136における「外部サービスURL」及び「呼び出しID」は上記連携先テーブル135における「外部サービスURL」及び「呼び出しID」と対応している。「パラメータ」は外部システム6(外部サービス)から必要な情報を取得するために必要な(外部システム6が要求する)情報であり、本例では「呼び出しID」毎に定められている。
図5に示す例では、URL:https://△△△△△.net/api/に対応する外部サービス内で呼び出しID:HttpConnector?code=02に対応する情報を取得するためには、ユーザの名前、組織名及びメールアドレスが必要であることが示されている。「種別」は「パラメータ」の種別(入力条件等)を示す情報である。「聞き返し情報」はユーザに「パラメータ」の入力を促すためにユーザ端末3に出力される文字や音声を示す情報である。「ユーザ入力」はユーザ端末3に入力されたパラメータを示す情報である。「終了メッセージ」は全てのパラメータが取得された後にユーザ端末3に出力されるメッセージを示す情報である。
【0027】
図6は、実施の形態のシナリオ情報133のデータ構成の一例を示す図である。本例のシナリオ情報133は「シナリオID」、「タイトル」、「表示文章」、「種別」及び「質問ID/連携ID」を対応付けている。「シナリオID」は一纏りのシナリオ毎に付された識別情報であり、「タイトル」と「表示文章」と「種別」と「質問ID/連携ID」との組み合わせ(本例ではシナリオテーブル133の行)を特定可能な情報である。「タイトル」は一纏りのシナリオ毎に付され、質問のカテゴリ等を示す情報である。「表示文章」はこれに対応付けられた「タイトル」(「シナリオID」)のシナリオを実行する際にユーザ端末3に表示されるメッセージを示す情報である。ここでは、ユーザに対して複数の選択肢の中から1又は複数の選択肢を選択するように促す文章が表示される例が示されている。また、ここでは、
図5の連携先テーブル135に含まれる「連携ID」01~04に対応する4つの「キーワード」と、
図4のFAQテーブル131に含まれる「質問ID」0001,0002に対応する2つの「質問内容」とを選択肢として表示させるシナリオの例が示されている。このとき表示される選択肢は質問情報に含まれる「要素」に該当する。「種別」は通常モードを実行するか(通常)、外部連携モードを実行するか(外部連携)を示す情報である。ここでは、「連携ID」01~04に対応する選択肢が選択された場合に外部連携モードを実行し、「質問ID」0001,0002に対応する選択肢が選択された場合に通常モードを実行する例が示されている。「質問ID/連携ID」は
図4のFAQテーブル131に含まれる「質問ID」又は
図5の連携先テーブル135に含まれる「連携ID」に対応する情報である。
【0028】
(自動応答処理フロー)
図7は、実施の形態の自動応答システム1における自動応答処理の一例を示すシーケンス図である。ユーザがユーザ端末3を操作して質問文を入力すると(S1)、ユーザ端末3のブラウザ41又はコミュニケーションツール(以下、ツールと略記する)42は質問文をチャットボットサービスサーバ11の受信部111に送信する(S2)。ユーザは質問文を直接入力してもよいし、表示されたシナリオの選択肢から選択することによって入力してもよい。受信部111は連携判断部102に対し質問文111を渡すと共に、外部連携の要否を判断するよう要求する(S3)。連携判断部102は質問文111に含まれる要素及びシナリオテーブル133に基づき、外部連携の要否、すなわち通常モードと外部連携モードのどちらを実行するかを判断する(S4)。
【0029】
通常モードを実行すると判断された場合、受信部111は検索部103に対して応答情報の検索を要求する(S5)。検索部103はFAQテーブル131から質問文に含まれる要素に対応する応答情報を検索し(S6)、応答情報を送信部112に渡す(S7)。送信部112は受け取った応答情報に基づく応答メッセージを生成し(S8)、応答メッセージをユーザ端末3のブラウザ41又はツール42に送信する(S9)。ブラウザ41又はツール42は受信した応答メッセージを表示する(S10)。
【0030】
外部連携モードを実行すると判断された場合、連携判断部102は連携制御部115に対して質問文を渡すと共に外部連携を要求する(S11)。連携制御部115は外部連携の要求を受け取ると、外部連携テーブル132から連携すべき外部システム6に関する情報(外部連携情報)を取得する(S12)。その後、連携制御部115は連携すべき外部システム6と連携(通信)を確立するためのAPI(Application Programming Interface)を呼び出すと共に、外部連携サーバ12の連携処理部116に質問文を送信する(S13)。連携処理部116は受信した質問文に含まれる要素と外部連携テーブル132とに基づき、聞き返し(
図5に例示するパラメータの取得)の要否を判断する(S14)。
【0031】
聞き返しが必要と判断された場合、連携処理部116は外部連携状態情報を「継続」に設定し、聞き返し情報を連携制御部115に送信する(S15)。連携制御部115は送信部112に対し、聞き返し情報を渡すと共にユーザ端末3への送信を要求する(S16)。送信部112は受け取った聞き返し情報をブラウザ41又はツール42に送信する(S17)。ブラウザ41又はツール42は受信した聞き返し情報を表示する(S18)。ユーザがブラウザ41又はツール42に対して聞き返し情報に対する回答情報(パラメータ等)を入力すると(S19)、ブラウザ41又はツール42は回答情報を受信部111に送信する(S20)。受信部111は連携制御部115に対し、受信した回答情報を受け渡すと共に連携処理部116への送信を要求する(S21)。連携制御部115は受け取った回答情報を連携処理部116に送信する(S22)。そして、連携処理部116は上記S15~S22の処理を必要な回数だけ繰り返し、全てのパラメータを取得する。
【0032】
聞き返しが不要と判断された場合、又は聞き返しが完了した場合(全てのパラメータを取得した場合)、連携処理部116は外部システム6に対し必要な情報を取得するためのリクエストを生成し(S23)、リクエストを外部システム6に送信し(S24)、外部システム6からリクエストに対するレスポンスを受信する(S25)。このとき、連携処理部116は外部システム6からのレスポンスに基づき外部連携状態を継続するか、終了するかを判断する。例えば、要求した情報を全て取得できた場合等には終了と判断し、外部システム6から更なる情報入力が要求された場合等には継続と判断する。
【0033】
連携処理部116は外部連携状態を終了すると判断すると(S26)、外部システム6から受信したレスポンスに基づく応答メッセージを生成し(S27)、応答メッセージを連携制御部115に送信する(S28)。このとき、連携処理部116は外部連携状態情報を「終了」に設定する。連携制御部115は連携処理部116からの応答メッセージを送信部112に転送し(S29)、送信部112は応答メッセージをユーザ端末3のブラウザ41又はツール42に送信する(S30)。ブラウザ41又はツール42は受信した応答メッセージを表示する(S31)。その後、ユーザがブラウザ41又はツール42に新たな質問文を入力すると(S32)、ブラウザ41又はツール42は質問文を取得部111に送信する(S33)。取得部111は外部連携状態情報に基づき外部連携の要否を判断する(S34)。このとき外部連携状態情報が「終了」であれば通常モードが実行され、「継続」であれば外部連携モードを実行(継続)する。すなわち、外部連携モードにおいては、次にユーザ端末3から受信された質問情報についても、この質問情報を外部システムに送信し、外部システムから質問情報に対応する応答情報を取得する。その後、モードに応じて、ステップS5~S10の処理、又は、S11~S34の処理が繰り返される。
【0034】
図8は、実施の形態の通常モードと外部連携モードとを切り替える際の処理の一例を示すフローチャートである。連携処理部116はモード情報を取得すると(S101)、現在通常モードと外部連携モードのどちらが実行中であるかを判断する(S102)。ステップS102において通常モードが実行中である場合(S102:通常モード)、すなわちモード情報が「通常」である場合、連携処理部116は変数nをn=1に設定し(S103)、n個目の登録キーワードで質問文を検索し(S104)、質問文に登録キーワードが含まれているか否かを判断する(S105)。登録キーワードとは、例えば、連携先テーブル135に登録された「キーワード」である。
【0035】
ステップS105において質問文に登録キーワードが含まれていない場合(S105:No)、連携判断部102は次の登録キーワードがあるか否かを判断する(S106)。ステップS106において次の登録キーワードがない場合(S106:No)、連携判断部102は通常モードを実行すべきと判断し、モード情報を「通常」に更新した後(S107)、本ルーチンを終了させる。ステップS106において次の登録キーワードがある場合(S106:Yes)、連携判断部102は変数nをn=n+1に設定し(S108)、ステップS104を再度実行する。ステップS105において質問文に登録キーワードが含まれている場合(S105:Yes)、連携判断部102は外部連携モードを実行すべきと判断し、モード情報を「外部連携」に更新した後(S109)、本ルーチンを終了させる。
【0036】
ステップS102において外部連携モードが実行中である場合(S102:外部連携モード)、すなわちモード情報が「外部連携」である場合、連携処理部116は外部連携状態情報を取得し(S110)、外部連携状態情報が「継続」か「終了」のいずれであるかを判断する(S111)。ステップS111において外部連携状態情報が「継続」である場合(S111:継続)、現在の外部連携状態を維持したまま本ルーチンを終了させる。ステップS111において外部連携状態情報が「終了」である場合(S111:終了)、連携処理部116はモード情報を「通常」に変更した後(S112)、本ルーチンを終了させる。
【0037】
(通常モードにおける対話型通信の例)
図9は、実施の形態の通常モードにおける対話型通信のメインルーチンの一例を示すフローチャートである。
図10は、実施の形態の通常モードにおける対話型通信の第1のサブルーチンの一例を示すフローチャートである。
図11は、実施の形態の通常モードにおける対話型通信の第2のサブルーチンの一例を示すフローチャートである。自動応答システム1は、例えば、企業等のホームページを提供しており、このホームページ内でユーザの質問に応答するチャットボットを実現する。
【0038】
ユーザはユーザ端末3のブラウザ41又はコミュニケーションツール42(以下ブラウザ等41と略記する)を起動し、ネットワーク2を介してチャットボットサービスサーバ11にアクセスする。これにより、企業等のホームページがユーザ端末3のブラウザ41等に表示される。このホームページ上にチャットボットを用いた質問受付ボタン等が設けられており、ユーザは、例えば企業の製品等に対して質問がある場合、マウス装置等の入力装置を用いてホームページ上の質問受付ボタン等を操作する。チャットボットサービスサーバ11のCPU21は質問受付ボタン等の操作を検出すると、ユーザ端末3に、例えば質問回答用のチャット画面を表示して、
図9に示すフローチャートの処理をスタートさせる。
【0039】
図9のフローチャートがスタートすると、ブラウザ41等は検索方法の選択メニューをチャット画面に表示する(S201)。ここでは、「全てのカテゴリから検索」、「カテゴリから選んで検索」及び「よくある質問から検索」との検索方法が文字表示される例が示されている。ユーザはキーボード、ポインティングデバイス等の入力装置を操作して所望の検索方法を指定する。なお、この例ではユーザが文字入力(テキスト入力)を行うこととして説明を進めるが、入力音声を音声認識してテキスト変換し、チャット画面に表示してもよい。
【0040】
ステップS201においてユーザが「全てのカテゴリから検索」を選択した場合、ブラウザ41等は、例えば「質問を投稿してください」等の質問の入力を促すメッセージをチャット画面に表示し、質問投稿待ちの状態に移行する(S202)。ユーザはキーボード等の入力装置を操作して所望の質問文を入力する。
【0041】
ユーザにより質問文が入力されると、チャットボットサービスサーバ11の検索部103は質問文の形態素解析を行い、ユーザの質問文に含まれる複数の単語を取得する。このとき、取得された各単語の類義語を取得してもよい。
【0042】
検索部103は質問文に含まれる単語又はその類義語に基づきFAQテーブル131を検索し、1つの回答候補を検索したか、2つ以上の回答候補を検索したか、又は回答候補が検索できなかったかを判別する(S203)。
【0043】
ステップS203において回答候補が1つの場合(S203:候補が1つ)、
図10に示すサブルーチンに移行し、ブラウザ41等は検索した回答候補に対応する応答と共に、チャット画面の初期画面(検索方法の選択画面)に表示画面を戻すか否かを選択するためのフィードバックボタンをチャット画面に表示する(S221)。
【0044】
検索部103はフィードバックボタンの操作の有無を監視し(S222)、「Yes」のフィードバックボタンの操作を検出した場合、ブラウザ41等は、例えば「ありがとうございました」等のメッセージをチャット画面に表示して(S223)、ステップS201に処理を戻す。これに対して、「No」のフィードバックボタンが操作されたということは、ユーザの質問に対する回答が表示されておらず、また、ユーザは検索方法の選択画面にチャット画面を戻すことも拒否していることを意味する。従って、検索部103が「No」のフィードバックボタンの操作を検出した場合、
図11に示すサブルーチンに移行し、ブラウザ41等は、例えば「申し訳ございません」等の、今の段階では質問に対する回答を表示できないことに対する謝罪のメッセージをチャット画面に表示させる(S231)。このとき、謝罪のメッセージと共に、例えばヘルプデスクの電話番号、メールアドレス等をチャット画面に表示してもよい。
【0045】
ステップS203において応答候補が2つ以上の場合(S203:候補が2つ以上)、ブラウザ41等は各回答候補に対応する「表示選択ボタン」と、表示された各回答候補の中には自分の質問に対応する回答が存在しないことを示す「回答無しボタン」をチャット画面に表示する(S204)。検索部102は「表示選択ボタン」及び「回答無しボタン」の選択操作の有無を監視する(S205)。ステップS205において「表示選択ボタン」の操作を検出した場合(S205:候補を選択)、
図10に示すサブルーチンに移行し、上記ステップS221以降の処理が実行される。ステップS205において「回答無しボタン」の操作を検出した場合(S205:該当するものが存在しない)、
図11に示すサブルーチンに移行し、上記ステップS231以降の処理が実行される。
【0046】
ステップS203において応答候補が検出できなかった場合(S203:候補が検出できなかった)、ブラウザ41等は、例えば「すみません。該当する回答が見つかりませんでした。検索する方法や言葉を変えて再度検索してください。」等の謝罪及び再検索を促すメッセージをチャット画面に表示し(S206)、ステップS201に処理を戻す。
【0047】
ステップS201においてユーザが「よくある質問から選ぶ」を選択した場合、ブラウザ41等は、例えば「よくある質問リスト(3件)」、「別の方法で検索する」等をチャット画面に表示し(S207)、検索部102はユーザによる入力操作を監視する(S208)。
【0048】
ステップS208において、よくある質問リストの中から1つが選択された場合(S208:よくある質問を選択)、上記ステップS221以降の処理が実行される。ステップS208において別の検索方法で検索することが選択された場合(S208:別の方法で検索を選択)、ステップS201に処理を戻す。
【0049】
ステップS201においてユーザが「カテゴリから選ぶ」を選択した場合、ブラウザ41等は、例えばカテゴリ一覧等をチャット画面に表示する(S209)。ユーザがカテゴリ一覧からカテゴリを選択すると、ブラウザ41等は、例えば「質問を投稿してください」等の質問の入力を促すメッセージをチャット画面に表示し、質問投稿待ちの状態に移行する(S210)。ユーザはキーボード等の入力装置を操作して所望の質問文を入力する。このとき、検索部102は選択されたカテゴリに絞って検索を行う。
【0050】
ユーザにより質問文が入力されると、検索部103は質問文の形態素解析を行い、ユーザの質問文に含まれる複数の単語を取得する。このとき、取得された各単語の類義語を取得してもよい。
【0051】
検索部103は質問文に含まれる単語又はその類義語に基づきFAQテーブル131等を検索し、1つの回答候補を検索したか、2つ以上の回答候補を検索したか、又は回答候補が検索できなかったかを判別する(S211)。
【0052】
ステップS211において回答候補が1つの場合(S211:候補が1つ)、
図10に示すサブルーチンに移行し、上記ステップS221以降の処理が実行される。ステップS211において回答候補が2つ以上の場合(S211:候補が2つ以上)、ブラウザ41等は各回答候補に対応する「表示選択ボタン」と、表示された各回答候補の中には自分の質問に対応する回答が存在しないことを示す「回答無しボタン」とをチャット画面に表示する(S212)。検索部102は「表示選択ボタン」及び「回答無しボタン」の選択操作の有無を監視する(S213)。ステップS213において「表示選択ボタン」の操作を検出した場合(S213:候補を選択)、
図10に示すサブルーチンに移行し、上記ステップS221以降の処理が実行される。ステップS213において「回答無しボタン」の操作を検出した場合(S213:該当するものが存在しない)、
図11に示すサブルーチンに移行し、上記ステップS231以降の処理が実行される。
【0053】
ステップS211において応答候補が検出できなかった場合(S211:候補が検出できなかった)、ブラウザ41等は、例えば「すみません。該当する回答が見つかりませんでした。検索する方法や言葉を変えて再度検索してください。」等の謝罪及び再検索を促すメッセージをチャット画面に表示し(S214)、ステップS201に処理を戻す。
【0054】
(テーブル登録処理)
図12は、実施の形態のFAQテーブル131、外部連携テーブル132及びシナリオテーブル133の登録処理の一例を示すシーケンス図である。
【0055】
ステップS51~S56はFAQテーブル131を登録するための処理の流れを例示している。管理者が管理者端末4のブラウザ45に対してFAQテーブル131を登録するためのFAQ登録画面の表示を指示すると(S51)、ブラウザ45はチャットボットサービスサーバ11の内部登録部121に対してFAQ登録画面を要求する(S52)。内部登録部121はブラウザ45に対して所定の情報を送信し、ブラウザ45は内部登録部121からの情報に基づきFAQ登録画面を表示する(S53)。管理者がブラウザ45に対してFAQに関する情報を入力し、それらの情報の登録を指示すると(S54)、ブラウザ45は入力されたFAQ情報を内部登録部121に送信する(S55)。内部登録部121はブラウザ45から受信したFAQ情報に基づきFAQテーブル131を登録する(S56)。
【0056】
ステップS57~S72は外部連携テーブル132及びシナリオテーブル133を登録するための処理の流れを例示している。管理者が管理者端末4のブラウザ45に対して外部連携テーブル132を登録するための外部連携登録画面の表示を指示すると(S57)、ブラウザ45はチャットボットサービスサーバ11の内部登録部121に対して外部連携登録画面を要求する(S58)。内部登録部121はブラウザ45に対して所定の情報を送信し、ブラウザ45は内部登録部121からの情報に基づき外部連携登録画面を表示する(S59)。管理者がブラウザ45に対して外部連携に関する外部連携情報を入力し、それらの情報の登録を指示すると(S60)、ブラウザ45は入力された外部連携情報を外部登録部122に送信する(S61)。外部登録部122はブラウザ45から受信した外部連携情報に基づき、シナリオを登録するためのシナリオ登録画面を表示させるための情報をブラウザ45に送信し、ブラウザ45は外部登録部122から受信した情報に基づきシナリオ登録画面を表示する(S62)。また、外部登録部122はブラウザ45から受信した外部連携情報に基づき外部連携テーブルを登録する(S63)。
【0057】
管理者が管理者端末4のブラウザ45に対してシナリオ登録画面の表示を指示すると(S64)、ブラウザ45はチャットボットサービスサーバ11の内部登録部121に対してシナリオ登録画面を要求する(S65)。内部登録部121はブラウザ45からの要求を受信すると、外部登録部122に対して外部連携テーブル132に登録された情報の取得を要求する(S66)。外部登録部122は内部登録部121に対して外部連携テーブル132に登録されたキーワードを要求への応答として渡す(S67)。内部登録部121は外部登録部122から受け取ったキーワードをブラウザ45に送信し、ブラウザ45は受信したキーワードを含む質問一覧を表示させる(S68)。管理者はブラウザ45に表示された質問一覧に対してタイトル等を設定し、質問を選択してシナリオに登録するよう指示する(S69)。ブラウザ45は管理者からの指示に応じてメッセージを表示し(S70)、管理者から指示された内容を含むシナリオ情報を内部登録部121に送信する(S71)。内部登録部121はブラウザ45から受信したシナリオ情報に基づきシナリオテーブル133を登録する(S72)。
【0058】
図13は、実施の形態の外部連携登録画面201の一例を示す図である。本例の外部連携登録画面201はサービスURL入力部202、種別入力部203、キーワード入力部204、呼び出しID入力部205及び登録ボタン206を有する。
【0059】
サービスURL入力部202は、
図5に示す外部連携テーブル132の連携先テーブル135における「外部サービスURL」を入力するための部分である。種別入力部203は連携先テーブル135における「種別」を入力するための部分である。キーワード入力部204は連携先テーブル135における「キーワード」を入力するための部分である。呼び出しID入力部205は連携先テーブル135における「呼び出しID」を入力するための部分である。登録ボタン206は上記入力部202~205に入力された情報を確定するための操作部である。なお、外部連携登録画面201の構成はこれに限られるものではなく、例えば
図5に示す必要情報テーブル136における「パラメータ」、「聞き返し情報」等を入力するための部分を更に有してもよい。
【0060】
図14は、実施の形態のシナリオ登録画面211、FAQテーブル131、シナリオテーブル133及び連携先テーブル135の対応関係の一例を示す図である。
【0061】
シナリオ登録画面211は管理者端末4からの要求に応じて管理者端末4に表示される。管理者は管理者端末4のブラウザ45を介してシナリオ登録画面211に任意の情報を入力することによりシナリオテーブル133を作成、編集、削除等することができる。
図14に例示するシナリオ登録画面211はタイトル入力部212、表示文章入力部213、選択肢入力部214、追加ボタン215及び保存ボタン216を有する。
【0062】
タイトル入力部211はシナリオテーブル133における「タイトル」に対応する語句、文章等を入力するための部分である。「タイトル」は、上述したように、一纏りのシナリオ毎に付され、質問のカテゴリ等を示す情報である。
【0063】
表示文章入力部213はシナリオテーブル133における「表示文章」に対応する文章等を入力するための部分である。「表示文章」は、上述したように、これに対応付けられた「タイトル」(「シナリオID」)のシナリオを実行する際にユーザ端末3に表示されるメッセージを示す情報である。
【0064】
選択肢入力部214は「タイトル」のシナリオを実行する際にユーザに提示される選択肢を入力するための部分である。本例のシナリオ登録画面211は「選択してください」という表示の下部の枠内に表示された複数の選択肢の候補の中から管理者が任意に選択肢を選択できるように構成されている。追加ボタン215は管理者により選択された選択肢を確定するための操作部である。ここでは「〇〇展示会の開催概要」と「〇〇展示会の資料請求」という選択肢が選択された後に追加ボタン215が押下された状態が例示されている。
【0065】
なお、
図14に示す例では図示されていないが、シナリオ登録画面211は更に「シナリオID」を入力するための入力部、シナリオテーブル133における「種別」を入力するための入力部、「質問ID/連携ID」を入力するための入力部等に有してもよい。
【0066】
保存ボタン216はシナリオ登録画面211に入力された情報を確定し、確定された情報をシナリオテーブル133に登録するための操作部である。
【0067】
図14に示すように、シナリオテーブル133の「質問ID/連携ID」と、FAQテーブル131の「質問ID」又は連携先テーブル135の「連携ID」とが対応付けられている。このように、シナリオテーブル133とFAQテーブル131と連携先テーブル135(外部連携テーブル132)とが対応付けられている。
【0068】
上記のように、本実施の形態のシナリオテーブル133は、対話型通信の実行中に取得される質問情報に含まれる要素と、内部登録情報又は外部連携情報のどちらを参照すべきかを示す情報とを対応付けている。「質問情報に含まれる要素」とは、本実施の形態においては、管理者が予め登録した複数の選択肢の中からユーザが選択した選択肢、ユーザが任意に入力したフリーワード等である。「内部登録情報」とは、本実施の形態においては、FAQテーブル131である。「外部連携情報」とは、本実施の形態においては、外部連携テーブル132(連携先テーブル135及び必要情報テーブル136)である。このようなシナリオテーブル133を利用することにより通常モードと外部連携モードの切り替えを柔軟且つ効率的に行うことが可能となる。
【0069】
(外部連携モードにおける対話型通信の例)
図15は、実施の形態の外部連携モードにおける表示画面221の一例を示す図である。表示画面221はシナリオテーブル133に基づく対話型通信の実行中にユーザ端末3のブラウザ41又はコミュニケーションツール42を介して表示される。本例の表示画面211には、第1の対話222、第2の対話223、第3の対話224及び結果表示225Aが順次表示されていく状態が示されている。
【0070】
第1の対話222において、チャットボットサービスサーバ11からユーザに対して質問の入力が要求され、これに対してユーザ端末3から回答がなされている。本例では、チャットボットサービスサーバ11から3つの選択肢の提示及びフリーワードの入力(直接入力)の提案がなされ、ユーザ端末3から1つの選択肢(〇〇展示会)が選択された状態が示されている。表示画面211には直接入力部226が設けられており、ユーザはフリーワード(任意の語句、文章等)を直接入力部226に入力できるようになされているため、直接入力部226に「〇〇展示会」を入力してもよい。
【0071】
第2の対話223において、チャットボットサービスサーバ11から「〇〇展示会」に関連する3つの選択肢が提示され、ユーザ端末3により1つの選択肢(〇〇展示会の資料請求)が選択されている。また、ユーザは「〇〇展示会の資料請求」を直接入力部226に入力してもよい。
【0072】
第3の対話224において、チャットボットサービスサーバ11から外部連携モードを実行するために必要なパラメータの入力が要求され、ユーザ端末3から各パラメータの入力がなされている。本例では、〇〇展示会の資料請求を行うためには外部システム6との連携が必要であり、当該外部システム6と連携する(外部システム6に対して資料請求を行う)ためにはユーザの名前、組織名及びメールアドレスが必要である状況が示されている。
【0073】
上記第3の対話224における状況は
図14に示すシナリオテーブル133の上から2行目のシナリオに対応している。シナリオテーブル133の上から2行目の「質問ID/連携ID:02」は連携先テーブル135の「連携ID:02」に対応している。そして、
図5の外部連携テーブル132(連携先テーブル135及び必要情報テーブル136)に示すように、「連携ID:02」に対応する「呼び出しID:HttpConnector?code=02」は「パラメータ:名前、組織名及びメールアドレス」と対応付けられている。すなわち、シナリオテーブル133に含まれる情報に基づき外部連携に必要なパラメータを取得することができる。自動応答システム1の連携部104(
図3参照)はシナリオテーブル133及び外部連携テーブル132から取得される情報に基づき、ユーザ端末3のユーザに対して上記パラメータの入力を要求するための処理を行う。これにより、対話型通信の中でユーザに外部連携の開始や終了を認識させることなくスムーズにシナリオを進めることができる。
【0074】
結果表示225Aにおいて、チャットボットサービスサーバ11から資料請求が正常に完了し、シナリオの最初に戻る旨の通知がなされた状態が例示されている。なお、結果表示225Aの代わりに、結果表示225Bのように、外部システム6との連携状態を維持する選択肢(〇〇展示会についてさらに調べる)をユーザが選択できるようになされてもよい。これにより、外部連携モードと通常モードの切り替えが不要に行われることを抑制することができる。
【0075】
上記のようなシナリオテーブル133を利用することによりチャットボットサービスサーバ11は外部システム6との連携を柔軟に行うことが可能となる。また、管理者端末4によりシナリオテーブル133等を任意に登録可能とすることにより、外部システム6との連携をより柔軟に行うことが可能となる。
【0076】
上述の実施の形態は一例として提示したものであり、本発明の範囲を限定することは意図していない。この新規な実施の形態はその他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことも可能である。また、実施の形態及び実施の形態の変形は発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0077】
1 自動応答システム
2,5 ネットワーク
3,3A,3B,3C ユーザ端末
4 管理者端末
6,6A,6B 外部システム
11 チャットボットサービスサーバ
12 外部連携サーバ
21 CPU
22 ROM
23 RAM
24 HD
25 HDDコントローラ
26 ディスプレイ
28 外部機器接続I/F
29 ネットワークI/F
30 バスライン
31 キーボード
32 ポインティングデバイス
33 DVD-RW
34 メディア
36 メディアI/F
41 ブラウザ
42 コミュニケーションツール
45 ブラウザ
101 通信部
102 連携判断部
103 検索部
104 連携部
105 登録部
111 受信部
112 送信部
115 連携制御部
116 連携処理部
121 内部登録部
122 外部登録部
131 FAQテーブル
132 外部連携テーブル
133 シナリオ
135 連携先テーブル
136 必要情報テーブル
201 外部連携登録画面
202 サービスURL入力部
203 種別入力部
204 キーワード入力部
205 呼び出しID入力部
211 シナリオ登録画面
212 タイトル入力部
213 表示文章入力部
214 選択肢入力部
215 追加ボタン
216 保存ボタン
221 表示画面
222 第1の対話
223 第2の対話
224 第3の対話
225A,225B 結果表示
226 直接入力部
【先行技術文献】
【特許文献】
【0078】