以下、本発明の実施形態を図面に基づいて説明する。
<1.第1実施形態>
<1-1.システム構成>
図1は、本発明に係る会話処理システム1の構成を示す概略図である。図1に示すように、当該会話処理システム1は、コンピュータ50(ユーザによって利用される情報処理装置)とサーバ90とを備える。
本システム1における各要素50,90は、それぞれ、ネットワーク108を介して互いに通信可能に接続される。ネットワーク108は、LAN(Local Area Network)およびインターネットなどによって構成される。また、当該ネットワーク108に対する接続態様は、有線接続であってもよく、あるいは無線接続であってもよい。
サーバ90は、コンピュータ50とは別に設けられた外部装置(外部サーバ)である。サーバ90は、ユーザからの質問メッセージQ10に対応する想定質問(ユーザから質問されることが想定される質問)に関連付けられた回答情報A100(図3等参照)をコンピュータ50(当該ユーザ)に返答する会話処理サービスを提供するサーバである。当該サーバ90は、ユーザとの間で擬似的に会話(チャット)を成立させる自動対話プログラム等を有しており、当該自動対話プログラム等を用いて、当該回答情報A100をコンピュータ50に返答する。当該サーバ90は、チャットボットサーバなどとも称される。また、会話処理システム1は、チャットボットシステムなどとも称される。
<1-2.コンピュータ50の構成>
図2は、コンピュータ50の概略構成を示す機能ブロック図である。
コンピュータ50は、他の装置(チャットボットサーバ90等)との間でのネットワーク通信が可能な情報入出力端末装置(情報処理装置)である。ここでは、コンピュータ50として、スマートフォンを例示する。ただし、これに限定されず、コンピュータ50は、タブレット型端末あるいは所謂パーソナルコンピュータなどであってもよい。
コンピュータ50は、図2の機能ブロック図に示すように、通信部54、格納部55、操作部56およびコントローラ(制御部)59等を備えており、これらの各部を複合的に動作させることによって、各種の機能を実現する。
通信部54は、ネットワークを介したネットワーク通信を行うことが可能である。このネットワーク通信では、たとえば、TCP/IP(Transmission Control Protocol / Internet Protocol)等の各種のプロトコルが利用される。当該ネットワーク通信を利用することによって、コンピュータ50は、所望の相手先(チャットボットサーバ90等)との間で各種データの授受を行うことが可能である。通信部54は、各種データを送信する送信部54aと各種データを受信する受信部54bとを有する。
格納部55は、ハードディスクドライブ(HDD)および/または半導体メモリ等の記憶装置で構成される。
操作部56は、コンピュータ50に対する操作入力を受け付ける操作入力部56aと、各種情報(チャット画面200(図4)等)の表示出力を行う表示部56bとを備えている。
図2のコントローラ(制御部)59は、コンピュータ50に内蔵され、コンピュータ50を統括的に制御する制御装置である。コントローラ59は、CPUおよび各種の半導体メモリ(RAMおよびROM)等を備えるコンピュータシステムとして構成される。コントローラ59は、CPUにおいて、記憶部(半導体メモリ等)内に格納されている所定のプログラムを実行することによって、各種の処理部を実現する。なお、当該プログラム(詳細にはプログラムモジュール群)は、USBメモリなどの可搬性の記録媒体に記録され、当該記録媒体から読み出されてコンピュータ50にインストールされてもよい。あるいは、当該プログラムは、ネットワーク108等を経由してダウンロードされてコンピュータ50にインストールされるようにしてもよい。
コンピュータ50には、ユーザからの質問メッセージQ10に対する回答動作を対話形式(チャット形式)で実行することが可能なアプリケーションソフトウエアプログラム(会話処理アプリケーションとも称する)がインストールされている。当該会話処理アプリケーションは、チャットボットサーバ90と連携することによって当該回答動作を実現する。
コントローラ59は、当該プログラム等の実行により、通信制御部41と入力制御部42と表示制御部43と抽出部44と取得部45と判定部46とを含む各種の処理部を実現する。
通信制御部41は、通信部54等と協働して、チャットボットサーバ90等との通信動作を制御する処理部である。たとえば、通信制御部41は、通信部54(詳細には送信部54a)等と協働して、ユーザからの質問メッセージQ10をチャットボットサーバ90に送信する。また、通信制御部41は、通信部54(詳細には受信部54b)等と協働して、当該質問メッセージQ10に対応する想定質問Q50に関連付けられた回答情報A100をチャットボットサーバ90から受信する。
入力制御部42は、ユーザによる操作入力を操作入力部56aと協働して受け付ける動作(操作入力動作)等を制御する制御部である。たとえば、入力制御部42は、操作入力部56aと協働して、チャット画面200(図4等)において、ユーザからの質問メッセージQ10(質問メッセージQ10の入力操作)を受け付ける。
表示制御部43は、表示部56b(図1)における各種情報(チャット画面200(図4)等)の表示動作を制御する処理部である。たとえば、当該表示制御部43は、当該チャット画面200を用いて、ユーザからの質問メッセージQ10に対する回答メッセージを当該ユーザに通知(提示)する。
抽出部44は、チャットボットサーバ90から受信された回答情報A100内の複数の回答メッセージ400(図8参照)の中から、質問行為情報(次述)に対応する単一の回答メッセージを抽出する処理(以下、回答メッセージ抽出処理とも称する)を実行する処理部である。
取得部45は、ユーザによる質問行為に関する情報(質問行為情報)を取得する取得動作を制御する処理部である。
判定部46は、各種の判定処理を実行する処理部である。
なお、ここでは、主にコントローラ59のCPUにてソフトウエアプログラムを実行することによって、上述の各種の動作が実行されているが、これに限定されず、コンピュータ50(詳細には、コントローラ59の内部あるいは外部)にて設けられた専用ハードウエア等を用いて、上述の各種の動作が実行されるようにしてもよい。たとえば、通信制御部41、入力制御部42、表示制御部43、抽出部44、取得部45および判定部46(図2)等の全部または一部が、1または複数の専用ハードウエアを用いて実現されてもよい。
<1-3.回答管理テーブル300について>
会話処理システム1の動作について説明する前に、回答管理テーブル300(図8参照)について説明する。
チャットボットサーバ90には、回答管理テーブル300(301)が格納されている。図8は、回答管理テーブル301(300)を示す図である。
回答管理テーブル300においては、想定される質問(想定質問)Q50と当該想定質問Q50に対応する回答情報A100とが関連付けられて規定(登録)されている。
ここでは、複数の想定質問Q51~Q53と当該複数の想定質問Q51~Q53に対応する複数の回答情報A101~A103とが、回答管理テーブル301においてそれぞれ関連付けられて規定されている(図8参照)。
具体的には、回答管理テーブル301においては、想定質問Q51(自動車通勤の要求に関する質問)と、当該想定質問Q51に対応する回答情報A101とが関連付けられて規定されている。また、回答管理テーブル301においては、想定質問Q52(翻訳依頼に関する質問)と、当該想定質問Q52に対応する回答情報A102とが関連付けられて規定されている。さらに、回答管理テーブル301においては、想定質問Q53(バスの時刻表閲覧に関する質問)と、当該想定質問Q53に対応する回答情報A103とが関連付けられて規定されている。なお、各回答情報A100(A101~A103)は、テキストデータで構成される。
また、この会話処理システム1では、会話処理システム1の各利用ユーザの所属企業における雇用形態と勤続年数とに基づいて、複数の利用ユーザが複数の社員種別(複数の社員種別グループ)に予め分類されている。具体的には、複数の利用ユーザが、入社2年目以上の正社員(勤続年数1年以上の正社員)と入社1年目の正社員(勤続年数1年未満の正社員)と派遣社員との3つの社員種別(3つの社員種別グループ「G1」,「G2」,「G3」)に分類されている。より具体的には、入社2年目以上の正社員は社員種別グループG1に分類され、入社1年目の正社員は社員種別グループG2に分類され、派遣社員は社員種別グループG3に分類されている。
回答管理テーブル300(301)においては、当該3つの社員種別(従業員種別)に基づいて、各回答情報A101~A103が予め規定されている。具体的には、各回答情報A101~A103において、当該3つの社員種別(3つの社員種別グループ「G1」,「G2」,「G3」)に応じた回答メッセージ400が予め規定されている。これらの規定内容は、会話処理システム1の管理者等によって回答管理テーブル300に登録されればよい。
回答情報A101(想定質問Q51に対応する回答情報)においては、当該3つの社員種別に応じた3つの回答メッセージ411~413(図9参照)が、それぞれ、想定質問Q51に対する回答メッセージとして規定されている。図9は、回答情報A101を示す図である。
回答メッセージ411は、入社2年目以上の正社員向け(社員種別グループG1に属するユーザ向け)のメッセージである。ここでは、回答メッセージ411は、「駐車場利用申請が必要です。」の文字列で構成されている。
回答メッセージ412は、入社1年目の正社員向け(社員種別グループG2に属するユーザ向け)のメッセージである。ここでは、回答メッセージ412は、「駐車場利用資格がありません。就業規則をご確認ください。」の文字列で構成されている。
回答メッセージ413は、派遣社員向け(社員種別グループG3に属するユーザ向け)のメッセージである。ここでは、回答メッセージ413は、「駐車場を利用できません。」の文字列で構成されている。
このように、この会話処理システム1では、一の回答情報A100に一の回答メッセージのみが規定されるのではなく、一の回答情報A100(A101)に複数の回答メッセージ411~413が規定される。
また、当該回答情報A101(図9)においては、当該複数の回答メッセージ411~413と複数の属性情報500(501~503)とがそれぞれ関連付けられて規定されている。属性情報(属性データ)500(501~503)は、各回答メッセージ411~413の属性(詳細には、回答メッセージ400を分類する分類属性)を示す情報(データ)である。
属性情報501は、当該属性情報501に関連付けられた回答メッセージが入社2年目以上の正社員向け(社員種別グループG1に属するユーザ向け)であることを示す情報である。ここでは、社員種別グループG1のグループ名と同じ文字列「G1」が属性情報501として用いられる。
属性情報502は、当該属性情報502に関連付けられた回答メッセージが入社1年目の正社員向け(社員種別グループG2に属するユーザ向け)であることを示す情報である。ここでは、社員種別グループG2のグループ名と同じ文字列「G2」が属性情報502として用いられる。
属性情報503は、当該属性情報503に関連付けられた回答メッセージが派遣社員向け(社員種別グループG3に属するユーザ向け)であることを示す情報である。ここでは、社員種別グループG3のグループ名と同じ文字列「G3」が属性情報503として用いられる。
回答管理テーブル301においては、各属性情報501~503と各回答メッセージ411~413とが一連の文字列として規定されることによって、各属性情報501~503と各回答メッセージ411~413とが関連付けられる。各一連の文字列は、各回答メッセージ(回答用文字列)400に加えて各属性情報500をも含むことから、回答用拡張型文字列M100(図9参照)などとも称される。すなわち、各回答用拡張型文字列M100は、各属性情報500と各回答用文字列(ここでは回答メッセージ400)とで構成される。
詳細には、回答用拡張型文字列M111(M100)は、属性情報501と回答メッセージ411とを含む一連の文字列であり、回答用拡張型文字列M112(M100)は、属性情報502と回答メッセージ412とを含む一連の文字列である。また、回答用拡張型文字列M113(M100)は、属性情報503と回答メッセージ413とを含む一連の文字列である。
また、図9に示されるように、各回答用拡張型文字列M100には、2種類の区別情報(デリミタとも称される)D10,D20もが規定されている。
区別情報D10は、複数の回答用拡張型文字列M100(M111~M113)を互いに区別するための情報である。当該区別情報D10としては、所定の種類の記号(符号)が用いられる。ここでは、当該区別情報D10として始め角括弧が用いられる。
区別情報D20は、各回答用拡張型文字列M100(M111~M113)内において、回答メッセージ400と属性情報500とを区別するための情報である。当該区別情報D20としては、区別情報D10とは異なる種類の記号(符号)が用いられる。ここでは、当該区別情報D20として終わり角括弧が用いられる。
このように、回答情報A101(図8)においては、3つの回答メッセージ411~413と3つの属性情報501~503とを含む3つの回答用拡張型文字列M111~M113が規定されている。
また、回答情報A102(想定質問Q52に対応する回答情報)(図8)においては、2つの回答用拡張型文字列M121,M122(M100)が規定されている。
回答用拡張型文字列M121においては、1つの回答メッセージ421に対して2つの属性情報501,502が関連付けられて規定されている。詳細には、回答用拡張型文字列M121においては、回答メッセージ421と属性情報501とが関連付けられて規定されているとともに、回答メッセージ421と属性情報502とが関連付けられて規定されている。回答メッセージ421は、入社2年目以上の正社員および入社1年目の正社員向け(すなわち、正社員向け)のメッセージである。換言すれば、回答メッセージ421は、社員種別グループG1,G2のいずれかに属するユーザ向けのメッセージである。ここでは、回答メッセージ421は、「依頼方法はこちらです。<https://*****/>」の文字列で構成されている。
回答用拡張型文字列M122においては、回答メッセージ422と属性情報503とが関連付けられて規定されている。回答メッセージ422は、派遣社員向けのメッセージである。換言すれば、回答メッセージ422は、社員種別グループG3に属するユーザ向けのメッセージである。ここでは、回答メッセージ422は、「担当の正社員にご相談ください。」の文字列で構成されている。
回答情報A103(想定質問Q53に対応する回答情報)においては、属性情報500は規定されておらず、回答メッセージ431(1つの回答メッセージ431のみ)が想定質問Q53に対する回答メッセージとして規定されている。当該回答メッセージ431は、全社員(正社員と派遣社員との双方)向けのメッセージである。ここでは、回答メッセージ431は、「こちらです。<https://**********/>」の文字列で構成されている。
以上のような回答情報A100を規定した回答管理テーブル301(300)が、チャットボットサーバ90内に予め登録されている。
そして、後述するように、チャットボットサーバ90は、ユーザからの質問メッセージQ10に対応する一の想定質問Q50に関連付けられた回答情報A100を当該回答管理テーブル301(図8)の中から抽出してコンピュータ50に送信する。
<1-4.動作>
つぎに、会話処理システム1の動作について説明する。図3は、会話処理システム1の概略動作を示す図である。
コンピュータ50は、ユーザからの質問メッセージQ10を受け付けると、当該質問メッセージQ10をチャットボットサーバ90に送信する。上述したように、チャットボットサーバ90には、想定質問Q50に対応する回答情報A100が関連付けられて予め登録されている(図8参照)。また、当該回答情報A100には、当該想定質問Q50に対して複数の回答メッセージ400(411~413)が予め規定されている。
チャットボットサーバ90は、当該質問メッセージQ10をコンピュータ50から受信すると、当該質問メッセージQ10に対応する想定質問Q50に関連付けられた回答情報A100をコンピュータ50に送信(返信)する。コンピュータ50は、当該回答情報A100を受信するとともに、当該ユーザによる質問行為に関する情報(質問行為情報)を取得する。そして、コンピュータ50は、当該質問行為情報に対応する単一の回答メッセージ(412)を、当該回答情報A100内の複数の回答メッセージ411~413の中から抽出してユーザに通知する。
このような動作の詳細について、以下に説明する。
まず、コンピュータ50は、ユーザ(ここではユーザU1)による起動操作に応答して会話処理アプリケーションを起動する。
当該会話処理アプリケーションの起動が完了すると、コンピュータ50は、ユーザ情報入力画面(不図示)を表示部54b(図1)に表示し、当該ユーザ情報入力画面においてユーザ情報(ユーザ識別情報)(ユーザID等)の入力操作をユーザ(U1)から受け付ける。当該ユーザ情報は、後述するように、質問行為情報の取得動作(ステップS15)において用いられる。ユーザ情報の入力操作が受け付けられると、コンピュータ50は、チャット画面200(201)を表示部54bに表示する(図4参照)。
また、コンピュータ50は、会話処理アプリケーションの起動完了に応答して、図6の動作を開始する。図6は、コンピュータ50の動作(回答抽出動作等)を示すフローチャートである。また、図7は、会話処理システム1の動作の一例を示すタイミングチャートである。
まず、コンピュータ50は、チャット画面200(201)においてユーザU1からの質問メッセージQ10を受け付ける(ステップS11)。ここでは、ユーザU1は、チャット画面201において質問メッセージQ11(「自動車通勤がしたいです」)を入力し(図5参照)、コンピュータ50は、ユーザU1からの当該質問メッセージQ11を受け付ける。
そして、コンピュータ50は、ユーザU1によって入力された質問メッセージQ11をチャットボットサーバ90に送信する(ステップS12)(図3も参照)。
チャットボットサーバ90は、コンピュータ50から質問メッセージQ11を受信する(ステップS51(図7参照))と、自然言語解析処理等を用いて当該質問メッセージQ11(質問メッセージQ11の内容)を解析する(ステップS52)。
そして、チャットボットサーバ90は、当該質問メッセージQ11に対応する想定質問Q50に関連付けられた回答情報A100を回答管理テーブル301(300)(図8参照)の中から抽出する(ステップS53)。
具体的には、チャットボットサーバ90は、自然言語解析処理等を用いて、質問メッセージQ11に対応する一の想定質問Q50を回答管理テーブル301内の複数の想定質問Q51~Q53(図8)の中から抽出する。ここでは、自動車通勤の要求に関する想定質問Q51が抽出される。そして、チャットボットサーバ90は、当該想定質問Q51に関連付けられた回答情報A100(ここでは回答情報A101)を回答管理テーブル301の中から抽出する。
その後、チャットボットサーバ90は、当該回答情報A101をコンピュータ50に送信する(ステップS54)。詳細には、チャットボットサーバ90において複数の回答メッセージ411~413のうちのいずれかの回答メッセージ400が回答情報A101から抽出されてコンピュータ50に送信されるのではなく、回答情報A101全体(複数の回答メッセージ411~413を含む回答情報A101)がコンピュータ50に送信される。
コンピュータ50は、回答情報A101をチャットボットサーバ90から受信する(ステップS13(図6))と、区別情報D10(図9参照)に基づいて、回答情報A101内に複数の回答メッセージ400(複数の回答用拡張型文字列M100)が存在するか否かを判定する(ステップS14)。
たとえば、回答情報A101内に複数の区別情報D10が存在する場合、コンピュータ50は、回答情報A101内に複数の回答メッセージ400が存在する旨をステップS14において判定する。ここでは、回答情報A101内に3つの区別情報D10が存在しており(図8参照)、回答情報A101内に3つの回答メッセージ400が存在する旨がステップS14において判定される。そして、処理はステップS14からステップS15へと進む。
なお、回答情報A100内に区別情報D10が存在しない場合は、回答情報A101内に複数の回答メッセージ400が存在しない旨(回答情報A101内に単一の回答メッセージのみが存在する旨)がステップS14において判定され、処理はステップS14からステップS17(後述)へと進む。たとえば、バスの時刻表を見たい旨の質問メッセージQ10が受け付けられた場合、想定質問Q53に関連付けられた回答情報A103(区別情報D10を有しない回答情報)(図8参照)がチャットボットサーバ90からコンピュータ50に送信される(ステップS54)。この場合、回答情報A103内に複数の回答メッセージ400が存在しない旨がステップS14において判定され、処理はステップS14からステップS17へと進む。
ステップS15において、コンピュータ50は、ユーザによる質問行為(詳細には、質問行為の主体(質問行為者))に関する質問行為情報を取得する。ここでは、質問行為を行った質問者(質問行為者)に対して予め(質問メッセージQ11が受け付けられる前において)付与された分類情報が質問行為情報として取得される。具体的には、コンピュータ50は、上述のユーザ情報入力画面(不図示)において入力されたユーザ情報(ユーザID)に基づいて、ユーザU1(質問者)の社員種別情報(社員種別グループ)を分類情報として取得する。
より具体的には、会話処理システム1は、分類情報管理サーバ(不図示)をも有している。分類情報管理サーバには、分類情報管理テーブル900(901)(図10参照)が格納されている。図10は、分類情報管理テーブル901を示す図である。
当該分類情報管理テーブル901においては、会話処理システム1の各利用ユーザのユーザ情報(ユーザID)と各利用ユーザの分類情報(詳細には社員種別グループG1~G3)とが対応付けて登録されている。なお、上述したように、ここでは、会話処理システム1の利用ユーザの所属企業における雇用形態と勤続年数とに基づいて、入社2年目以上の正社員は社員種別グループG1に分類され、入社1年目の正社員は社員種別グループG2に分類され、派遣社員は社員種別グループG3に分類されている。
コンピュータ50は、ユーザU1のユーザ情報(「userU1」)を分類情報管理サーバに送信する。分類情報管理サーバは、ユーザU1のユーザ情報をコンピュータ50から受信すると、当該ユーザ情報に対応する分類情報(社員種別グループ(ここではG2))を分類情報管理テーブル901の中から抽出する。換言すれば、ユーザU1に対して当該ユーザU1の雇用形態と勤続年数とに基づき付与された社員種別グループが抽出される。そして、分類情報管理サーバは、抽出した分類情報(複数の社員種別グループG1~G3のうち当該ユーザU1(質問者)の所属グループを示す情報)をコンピュータ50に送信し、コンピュータ50は、当該分類情報を分類情報管理サーバから受信して取得する(ステップS15)。
そして、処理はステップS15からステップS16へと進む。
ステップS16において、コンピュータ50は、当該質問行為情報(詳細には、ユーザU1の社員種別グループG2)とチャットボットサーバ90からの回答情報A101とに基づいて、回答メッセージ抽出処理を実行する。回答メッセージ抽出処理は、当該回答情報A101内の複数の回答メッセージ411~413の中から単一の回答メッセージ(質問者に回答すべき回答メッセージ)を抽出する処理である。
具体的には、コンピュータ50は、質問行為情報(ここでは社員種別グループG2)に対応する回答メッセージ400を回答情報A101内の複数の回答メッセージ411~413の中から抽出する。
より具体的には、コンピュータ50は、まず、質問行為情報に対応する属性情報500を回答情報A101の中から抽出する。詳細には、コンピュータ50は、区別情報D10(図9参照)を用いて、複数の回答用拡張型文字列M111~M113を回答情報A101の中から抽出するとともに、区別情報D20(図9参照)を用いて、抽出した回答用拡張型文字列M111~M113の中から複数の属性情報500(501~503)を抽出する。そして、コンピュータ50は、抽出した複数の属性情報501~503の中から、質問行為情報(社員種別グループG2)に対応する属性情報500を抽出する。ここでは、社員種別グループG2と同じ文字列「G2」を有する属性情報502(図9参照)が抽出される。
そして、コンピュータ50は、回答情報A101において当該属性情報502に関連付けられた回答メッセージ412(すなわち、入社1年目の正社員向け(社員種別グループG2に属するユーザ向け)の回答メッセージ412)を複数の回答メッセージ411~413の中から抽出する。詳細には、コンピュータ50は、当該属性情報502を含む回答用拡張型文字列M112内において、属性情報502に関連付けられた回答メッセージ412を抽出する。
その後、処理はステップS16からステップS17へと進み、コンピュータ50は、回答メッセージ抽出処理(ステップS16)によって抽出した回答メッセージ412をユーザU1(質問者)に通知する。具体的には、コンピュータ50は、チャット画面201(200)において、当該回答メッセージ412(「駐車場利用資格がありません。就業規則をご確認ください。」)を表示する(図11参照)。
以上のように、第1実施形態では、チャットボットサーバ90の回答管理テーブル301において、回答情報A101内に複数の回答メッセージ411~413が予め規定されている(図8参照)。コンピュータ50は、ユーザからの質問メッセージQ10に対応する想定質問Q50に関連付けられた回答情報A101をチャットボットサーバ90から受信する(ステップS13)と、質問行為情報に対応する単一の回答メッセージ412を、当該回答情報A101内の複数の回答メッセージ411~413の中から抽出する(ステップS16)。そして、当該単一の回答メッセージ412が当該ユーザに通知される(ステップS17)(図11も参照)。したがって、ユーザに通知される回答メッセージ400が質問行為情報(ここでは、当該ユーザに対して付与された分類情報)に応じて切り替えられるので、ユーザからの質問メッセージQ10に対して柔軟に回答することが可能である。
特に、上記第1実施形態では、チャットボットサーバ90は、回答管理テーブル300内の回答情報A100の規定内容にかかわらず、ユーザからの質問メッセージQ10に対応する想定質問Q50に関連付けられた一の回答情報A100をコンピュータ50に送信し、コンピュータ50は、当該一の回答情報A100を受信する。ただし、当該一の回答情報A100(たとえばA101)には、一の回答メッセージのみが規定されるのではなく、複数の回答メッセージ400(411~413)が予め規定される(図8参照)。そして、コンピュータ50は、質問行為情報に対応する単一の回答メッセージ(412)を、当該回答情報A101内の複数の回答メッセージ411~413の中から抽出してユーザに通知する。したがって、チャットボットサーバ90の動作(質問メッセージQ10の想定質問Q50に対応する一の回答情報A100を回答管理テーブル300の中から抽出してコンピュータ50に返信する動作)自体を変更することなく、ユーザからの質問メッセージQ10に対して柔軟に回答することを実現することが可能である。
なお、上記第1実施形態では、コンピュータ50において、チャットボットサーバ90から回答情報A100が受信された(ステップS13)後に質問行為情報(社員種別グループ)が取得されている(ステップS15)が、これに限定されない。たとえば、チャットボットサーバ90から回答情報A100が受信される前(たとえば、ユーザ情報入力画面においてユーザ情報が入力された直後(ステップS11の直前))に質問行為情報が取得されてもよい。
<2.第2実施形態>
第2実施形態は、第1実施形態の変形例である。以下では、第1実施形態との相違点を中心に説明する。
上記第1実施形態では、質問行為を行った質問者に対して付与された分類情報(質問行為の主体に関する情報)が質問行為情報として取得されている。
これに対して、この第2実施形態では、質問行為が行われた日付を示す質問日情報(質問行為の時期に関する情報)が、質問行為情報として取得される。
この第2実施形態においても、図6の動作がコンピュータ50において実行される。なお、ここでは、ユーザU1がチャット画面200(202)において質問メッセージQ14(「次の停電はいつですか?」)と入力する(図12参照)ことを想定する。また、ここでは、ユーザU1による質問日は2018年7月31日であることを想定する。
コンピュータ50は、ユーザU1から当該質問メッセージQ14(Q10)を受け付ける(ステップS11)と、当該質問メッセージQ14をチャットボットサーバ90に送信する(ステップS12)。
チャットボットサーバ90は、質問メッセージQ14をコンピュータ50から受信する(ステップS51(図7))と、当該質問メッセージQ14に対応する想定質問Q50に関連付けられた回答情報A100を回答管理テーブル300の中から抽出する(ステップS53)。
図13は、第2実施形態に係る回答管理テーブル300(302)を示す図である。
ここでは、2つの想定質問Q54,Q55と当該2つの想定質問Q54,Q55に対応する2つの回答情報A104,A105とが、回答管理テーブル302において関連付けられて規定されている。具体的には、回答管理テーブル302においては、想定質問Q54(停電日に関する質問)と当該想定質問Q54に対応する回答情報A104(A100)とが互いに関連付けられて規定されている。また、回答管理テーブル302においては、想定質問Q55(避難訓練日に関する質問)と当該想定質問Q55に対応する回答情報A105(A100)とが互いに関連付けられて規定されている。
当該回答情報A104(A100)には、2018年8月1日と2018年8月17日とにおいてそれぞれ停電が発生することに基づいて、2つの回答用拡張型文字列M141,M142(M100)が規定されている。
回答用拡張型文字列M141(M100)においては、回答メッセージ441(400)と属性情報511(500)とが互いに関連付けられて規定されている。回答メッセージ441は、8月1日に停電が発生する旨のメッセージである。ここでは、当該回答メッセージ441は、「8月1日に東京サイトで停電があります。」の文字列で構成されている。また、回答メッセージ441にて示された停電日を示す日付情報「2018.8.1」が属性情報511として規定されている。
回答用拡張型文字列M142(M100)においては、回答メッセージ442(400)と属性情報512(500)とが互いに関連付けられて規定されている。回答メッセージ442は、8月17日に停電が発生する旨のメッセージである。ここでは、当該回答メッセージ442は、「8月17日に大阪サイトで停電があります。」の文字列で構成されている。また、回答メッセージ442にて示された停電日と同じ日付情報「2018.8.17」が属性情報512として規定されている。
また、回答情報A105(A100)には、2018年10月1日と2018年12月15日とにおいてそれぞれ避難訓練が行われることに基づいて、2つの回答用拡張型文字列M151,M152(M100)が規定されている。
回答用拡張型文字列M151(M100)においては、回答メッセージ451(400)と属性情報521(500)とが互いに関連付けられて規定されている。回答メッセージ451は、2018年10月1日に避難訓練が行われる旨のメッセージである。ここでは、当該回答メッセージ451は、「10月1日に地震発生時の避難訓練があります。」の文字列で構成されている。また、回答メッセージ451にて示された避難訓練日を示す日付情報「2018.10.1」が属性情報521として規定されている。
回答用拡張型文字列M152(M100)においては、回答メッセージ452(400)と属性情報522(500)とが互いに関連付けられて規定されている。回答メッセージ452は、2018年12月15日に避難訓練が行われる旨のメッセージである。ここでは、当該回答メッセージ452は、「12月15日に火災発生時の避難訓練があります。」の文字列で構成されている。また、回答メッセージ452にて示された避難訓練日を示す日付情報「2018.12.15」が属性情報522として規定されている。
チャットボットサーバ90は、質問メッセージQ14に対応する想定質問Q50に関連付けられた回答情報A100を当該回答管理テーブル302(図13)の中から抽出して(ステップS53)コンピュータ50に送信する(ステップS54)。
具体的には、まず、チャットボットサーバ90は、質問メッセージQ14をコンピュータ50から受信する(ステップS51(図7))と、自然言語解析処理等を用いて当該質問メッセージQ14を解析する(ステップS52)。
そして、チャットボットサーバ90は、当該質問メッセージQ14に対応する想定質問Q54(停電日に関する質問Q54)を複数の想定質問Q54,Q55の中から抽出するとともに、当該想定質問Q54に関連付けられた回答情報A104を回答管理テーブル302の中から抽出する(ステップS53)。その後、チャットボットサーバ90は、当該回答情報A104をコンピュータ50に送信する(ステップS54)。
コンピュータ50は、当該回答情報A104をチャットボットサーバ90から受信する(ステップS13(図6))と、当該回答情報A104内に複数の区別情報D10(図13)が存在することに基づいて、当該回答情報A104内に複数の回答メッセージ400が存在する旨をステップS14において判定する。
そして、処理はステップS14からステップS15へと進み、コンピュータ50は、質問行為情報を取得する(ステップS15)。具体的には、コンピュータ50は、質問メッセージQ14の入力日(ここでは、2018年7月31日)を取得する機能を有しており、ユーザU1による質問行為が行われた日付(2018年7月31日)を示す質問日情報を質問行為情報として取得する。
その後、コンピュータ50は、当該質問行為情報(詳細には質問日情報)とチャットボットサーバ90からの回答情報A104とに基づいて、回答メッセージ抽出処理を実行する(ステップS16)。
具体的には、コンピュータ50は、区別情報D10(図13参照)を用いて、2つの回答用拡張型文字列M141,M142を回答情報A101の中から抽出するとともに、区別情報D20(図13参照)を用いて、抽出した回答用拡張型文字列M141,M142の中から2つの属性情報511,512を抽出する。そして、コンピュータ50は、抽出した2つの属性情報511,512の中から、質問日情報(2018年7月31日)に対応する属性情報500を抽出する。詳細には、コンピュータ50は、質問日情報(2018年7月31日)の後における直近の日付を示す属性情報511(「2018.8.1」)を複数の属性情報511,512の中から抽出する。そして、コンピュータ50は、回答情報A104(詳細には、当該属性情報511を含む回答用拡張型文字列M141)において当該属性情報511に関連付けられた回答メッセージ441を複数の回答メッセージ441,442の中から抽出する。
その後、処理はステップS16からステップS17へと進み、コンピュータ50は、抽出した回答メッセージ441をユーザU1(質問者)に通知する。具体的には、コンピュータ50は、当該回答メッセージ441(「8月1日に東京サイトで停電があります。」)をチャット画面202に表示する(図14参照)。
このように、第2実施形態では、質問行為が行われた日付を示す質問日情報が、質問行為情報として取得される。
なお、これに限定されず、質問行為が行われた場所を示す質問場所情報が、質問行為情報として取得されてもよい。
ここでは、東京サイトで停電がある旨の回答メッセージと大阪サイトで停電がある旨の回答メッセージとが回答情報A100に規定されている(図13も参照)ことを想定する。この場合、属性情報500としては、各回答メッセージ400において示された停電場所(東京サイト、大阪サイト)が規定される。詳細には、2つの回答用拡張型文字列M100(「[東京サイト]8月1日に東京サイトで停電があります。」、「[大阪サイト]8月17日に大阪サイトで停電があります。」)が回答情報A100に規定される。
たとえば、ユーザが東京サイトにおいて質問メッセージQ14(図12参照)を入力した場合、コンピュータ50は、当該ユーザの位置情報(当該質問メッセージQ10の受付時の位置情報)を取得し、当該位置情報(当該質問メッセージQ10の受付時の位置情報)に基づいて、質問場所情報(ここでは東京サイト)を質問行為情報として取得する。そして、コンピュータ50は、当該質問場所情報(東京サイト)に対応する回答メッセージ(「8月1日に東京サイトで停電があります。」)を抽出して当該ユーザに通知する。
このように、質問場所情報が質問行為情報として取得されてもよい。
あるいは、質問行為が行われた時刻を示す質問時刻情報が、質問行為情報として取得されてもよい。
ここでは、或る会議室において10時00分に会議が開始される旨の回答メッセージと、当該或る会議室において15時00分に会議が開始される旨の回答メッセージとが回答情報A100に規定されていることを想定する。なお、この場合における属性情報500としては、各回答メッセージにて示された会議開始時刻が規定される。詳細には、2つの回答用拡張型文字列M100(「[10:00]10時00分に開始される会議があります。」、「[15:00]15時00分に開始される会議があります。」)が回答情報A100に規定される。
たとえば、当該或る会議室を利用したいユーザが、当該或る会議室における次の会議の開始時刻を問い合わせる質問メッセージQ10を13時00分に入力した場合、コンピュータ50は、当該質問時刻情報(ここでは13時00分)を質問行為情報として取得する。そして、コンピュータ50は、当該質問時刻情報(13時00分)の後における直近の時刻を示す属性情報500に関連付けられた回答メッセージ(「15時00分に開始される会議があります。」)を抽出して当該ユーザに通知する。
このように、質問時刻情報が質問行為情報として取得されてもよい。
<3.第3実施形態>
第3実施形態は、第1実施形態の変形例である。以下では、第1実施形態との相違点を中心に説明する。
上記第1実施形態では、複数の回答メッセージ400(チャットボットサーバ90において規定された回答情報A100内の複数の回答メッセージ400)の中から単一の回答メッセージが抽出されてユーザ(質問者)に通知されている。
ここにおいて、当該複数の回答メッセージ400の中から単一の回答メッセージが抽出されないこともある。たとえば、質問者が複数の社員種別グループG1~G3のいずれにも属しない場合、質問行為情報(社員種別グループ)に対応する回答メッセージ400が存在せず、複数の回答メッセージ400の中から単一の回答メッセージが抽出されない。
この第3実施形態では、このような場合、コンピュータ50(会話処理アプリケーション)において問合せ先通知メッセージ700(次述)を生成してユーザに通知する処理が例外処理(チャットボットサーバ90内の回答情報A100に規定された回答メッセージ400をユーザに通知する処理(原則処理)に対する例外処理)として実行される。
当該問合せ先通知メッセージ700は、ユーザからの質問メッセージQ10に対応する想定質問Q50に関する問合せ先を当該ユーザ(質問者)に通知するメッセージである。ここでは、業務担当者の名称が当該問合せ先として通知され、当該問合せ先通知メッセージ700は、担当者通知メッセージなどとも称される。ただし、これに限定されず、担当部署の名称あるいは担当者の電話番号などが当該問合せ先として通知されてもよい。
図16は、第3実施形態に係る回答管理テーブル300(303)を示す図である。
当該回答管理テーブル303においては、第1実施形態(回答管理テーブル301(図8))と同様に、3つの想定質問Q51~Q53と当該3つの想定質問Q51~Q53に対応する3つの回答情報A100とがそれぞれ関連付けられて規定されている。
ただし、当該回答管理テーブル303では、回答情報A111(A100)において、3つの回答用拡張型文字列M111~M113に加えて、回答用拡張型文字列M114が更に規定されている。
当該回答用拡張型文字列M114(M100)も、他の回答用拡張型文字列M111~M113と同様に、属性情報500と回答用文字列とで構成される。
ただし、回答用拡張型文字列M114においては、回答用文字列として、回答メッセージ400に代えて問合せ先特定用文字列601(「駐車場管理」)が規定されている。問合せ先特定用文字列601(600)は、想定質問Q51に関する問合せ先を問合せ先管理テーブル800(次述)(図17参照)において特定(抽出)するための文字列(回答用文字列)である。ここでは、問合せ先特定用文字列601として、想定質問Q51に関する問合せ先の担当業務名(「駐車場管理」)が規定されている。
また、回答用拡張型文字列M114においては、属性情報550(500)として、文字列「Info」が回答用文字列(601)に関連付けられて規定されている。当該文字列「Info」は、後続する文字列(ここでは「駐車場管理」)が例外処理用文字列(例外処理(問合せ先通知メッセージ700の通知処理)に用いられる文字列)であることを示している。換言すれば、当該文字列「Info」は、後続の回答用文字列(601)が例外処理用の情報(「例外処理用情報」)であることを表す属性情報である。
図17は、問合せ先管理テーブル800等を示す図である。当該問合せ先管理テーブル800においては、業務内容(業務種別)ごとの担当者(問合せ先)が規定されている。当該問合せ先管理テーブル800は、コンピュータ50内に格納されている。
当該問合せ先管理テーブル800においては、複数の問合せ先(ここでは複数の担当者)と当該複数の問合せ先のそれぞれを特定するための複数の問合せ先特定用文字列とがそれぞれ対応付けて登録されている。当該問合せ先管理テーブル800は、問合せ先特定用テーブルなどとも称される。
問合せ先管理テーブル800には、複数の問合せ先として複数の担当者が登録されており、複数の問合せ先特定用文字列として複数の業務(業務種別)が登録されている。詳細には、各業務種別と当該各業務の担当者とが対応付けて登録されている。すなわち、各業務の担当者が(業務ごとに)それぞれ登録されている。
たとえば、当該問合せ先管理テーブル800においては、業務種別(問合せ先特定用文字列)「駐車場管理」と当該業務種別「駐車場管理業務」の担当者(問合せ先)「鈴木」とが対応付けて登録されている。また、当該問合せ先管理テーブル800においては、業務種別「翻訳管理」と当該業務種別「翻訳管理業務」の担当者「田中」とが対応付けて登録されている。
後述するように、問合せ先管理テーブル800と回答管理テーブル303内の回答用拡張型文字列M114とを用いることによって、想定質問Q51に関する問合せ先が特定される。
再び、図16を参照する。
回答管理テーブル303の中段の回答情報A112(A100)において、2つの回答用拡張型文字列M121,M122に加えて、回答用拡張型文字列M123(M100)が更に規定されている。当該回答用拡張型文字列M123においては、想定質問Q52に関する問合せ先を特定するための問合せ先特定用文字列602(詳細には、業務種別「翻訳管理」)と属性情報550(「Info」)とが互いに関連付けられて規定されている。
このような回答管理テーブル303がチャットボットサーバ90に登録されている。そして、後述するように、複数の回答メッセージ400の中から単一の回答メッセージが抽出されない場合、コンピュータ50において当該問合せ先特定用文字列600を用いて問合せ先通知メッセージ700が生成されてユーザに通知される。
図15は、第3実施形態に係るコンピュータ50の動作を示すフローチャートである。図15に示されるように、第3実施形態においては、ステップS11~S17に加えてステップS21,S22の処理が実行される。
ここでは、ユーザU100がチャット画面200(201)において質問メッセージQ11(「自動車通勤がしたいです」)を入力する(図5参照)ことを想定する。ただし、ここでは、当該ユーザU100(質問者)は関係会社からの出向社員等であり、当該ユーザU100に対しては3つの社員種別グループG1~G3のいずれも付与されていない。
コンピュータ50は、当該質問メッセージQ11を受け付ける(ステップS11)と、当該質問メッセージQ11をチャットボットサーバ90に送信する(ステップS12)。チャットボットサーバ90は、質問メッセージQ11を受信すると、当該質問メッセージQ11に対応する想定質問Q51に関連付けられた回答情報A111(図16)を回答管理テーブル303の中から抽出して(ステップS53(図7))コンピュータ50に送信する(ステップS54)。
そして、コンピュータ50は、当該回答情報A111を受信する(ステップS13)と、質問行為情報(詳細には、社員種別情報)を取得する(ステップS15)。ただし、ここでは、ユーザU100(質問者)が3つの社員種別グループG1~G3のいずれにも属しない(未分類である)旨の質問行為情報(分類情報)が取得される。
その結果、ステップS16の回答メッセージ抽出処理においては、質問行為情報に対応する回答メッセージ400が回答情報A111(図16)内の複数の回答メッセージ411~413の中から抽出されない。
詳細には、コンピュータ50は、区別情報D10,D20を用いて複数の属性情報500(501~503,550)を抽出し、抽出した複数の属性情報501~503,550の中から、質問行為情報に対応する属性情報500を抽出する。ただし、ここでは、ユーザU100が3つの社員種別グループG1~G3のいずれにも属しない(未分類である)旨の質問行為情報が取得されており、質問行為情報に対応する属性情報500が抽出されない。
この場合、コンピュータ50は、単一の回答メッセージ400が抽出されない旨をステップS21において判定し、処理をステップS21からステップS22へと進める。
そして、コンピュータ50は、問合せ先通知メッセージ700(図17参照)をユーザU100(質問者)に通知する(ステップS22)。換言すれば、コンピュータ50は、チャットボットサーバ90内の回答情報A111に規定された回答メッセージ400をユーザに通知する処理(原則処理)に対する例外処理として、問合せ先通知メッセージ700の通知処理を実行する。
具体的には、コンピュータ50においては、問合せ先通知メッセージ700(図17参照)の雛形が予め準備(格納)されている。コンピュータ50は、当該雛形に基づいて、問合せ先通知メッセージ700をユーザU100に通知する。
当該担当者通知メッセージ700の雛形には、問合せ先を示す変更可能部分725(図17参照)が含まれている。換言すれば、担当者通知メッセージ700の変更可能部分725が未入力の状態で、当該担当者通知メッセージ700はコンピュータ50に格納されている。
単一の回答メッセージ400が抽出されない旨がステップS21において判定された場合、コンピュータ50は、問合せ先管理テーブル800(図17)を用いて特定した問合せ先(問合せ先を示す内容)を当該変更可能部分725に入力して担当者通知メッセージ700を生成し、当該問合せ先通知メッセージ700をユーザに通知する(ステップS22)。
具体的には、まず、コンピュータ50は、回答情報A111(図16)において属性情報550(「Info」)に関連付けられた問合せ先特定用文字列601(例外処理情報)(「駐車場管理」)を当該回答情報A111の中から抽出する。
そして、コンピュータ50は、当該問合せ先特定用文字列601(「駐車場管理」)に対応する問合せ先(ここでは「鈴木」)を問合せ先管理テーブル800(図17)内の複数の問合せ先の中から特定(抽出)する。
このようにして、コンピュータ50は、問合せ先管理テーブル800と回答管理テーブル303内の回答用拡張型文字列M114(属性情報550、問合せ先特定用文字列601)とを用いることによって、想定質問Q51に関する問合せ先を特定する。
その後、コンピュータ50は、担当者通知メッセージ700の雛形における変更可能部分725(図17参照)を当該問合せ先(問合せ先を示す内容)「鈴木」に変更して、当該担当者通知メッセージ700(想定質問Q51に応じた担当者通知メッセージ)を生成する。換言すれば、コンピュータ50は、問合せ先通知メッセージ700を完成させる。
そして、コンピュータ50は、生成した担当者通知メッセージ700をユーザU100に通知する。具体的には、コンピュータ50は、当該担当者通知メッセージ700(「担当者は鈴木さんです。」)をチャット画面203(200)において表示し(図18参照)、担当者への連絡を当該ユーザU100に促す。
このように、第3実施形態では、コンピュータ50において担当者通知メッセージ700の雛形が格納されており、回答情報A100において単一の回答メッセージ400が抽出されない場合、当該雛形に基づいて担当者通知メッセージ700がユーザに通知される(ステップS22(図15))(図18も参照)。したがって、質問行為情報に対応する回答メッセージ400が抽出されない場合であっても、チャットボットサーバ90内の回答情報A100にて規定された複数の回答メッセージ400とは異なるメッセージがユーザに通知されるので、ユーザからの質問メッセージQ10に対してより柔軟に回答することが可能である。
ここにおいて、社内における業務担当者(問合せ先)の変更頻度は、就業規則等の変更頻度よりも高いことが多い。すなわち、業務担当者を通知する担当者通知メッセージ700の変更頻度は、就業規則等に関するメッセージ(回答メッセージ411~413等)の変更頻度よりも高い。
このような担当者通知メッセージ700が仮にチャットボットサーバ90内の回答管理テーブル300に登録されている場合には、回答管理テーブル300への管理者のアクセス頻度が比較的高い。
会話処理システムの中には、回答管理テーブル300へのアクセス(通信)に対して課金されるものもある。このような場合、課金金額を抑制するためには、回答管理テーブル300へのアクセスを抑制することが好ましい。
これに対して、上記第3実施形態では、担当者通知メッセージ700の雛形がコンピュータ50(会話処理アプリケーション)側に存在しており、当該担当者通知メッセージ700がコンピュータ50にて生成されてユーザに通知される。それ故、管理者は、業務担当者の変更に際して、チャットボットサーバ90内の回答管理テーブル300へとアクセスすることなく、会話処理アプリケーション側の問合せ先管理テーブル800(図17)において担当者名を変更するだけで済む。したがって、回答管理テーブル300へのアクセスに対して課金される場合において、回答管理テーブル300へのアクセスの機会を低減することが可能である。
また、個人名(担当者名)等を記述した問合せ先管理テーブル800(図17)が、社外のチャットボットサーバ90ではなく、社内の会話処理アプリケーション側に格納されているので、個人情報の漏洩などのセキュリティリスクを低減することも可能である。
なお、上記第3実施形態では、問合せ先特定用文字列600と属性情報550とが回答情報A100(A111,A112)において規定されている(図16参照)が、これに限定されず、問合せ先特定用文字列600と属性情報550との双方が回答情報A100において規定されていなくてもよい。この場合において、複数の回答メッセージ400の中から単一の回答メッセージが抽出されないときには、コンピュータ50内において予め設けられたメッセージ(予備回答メッセージなどとも称される)がユーザ(質問者)に通知されてもよい。具体的には、各想定質問Q51,Q52に共通のメッセージ(「担当者に問い合わせてください。」等)がユーザ(質問者)に通知されてもよい。
また、ここでは、上記第3実施形態が第1実施形態の変形例として例示されているが、これに限定されず、上記第3実施形態の思想が上記第2実施形態に適用されてもよい。
たとえば、上記第2実施形態において、次回の停電日に関する質問メッセージQ10(Q14(図12参照))が2018年8月18日以降に受け付けられた場合、質問日情報に対応する回答メッセージ400が回答情報A104(図13参照)に存在せず、単一の回答メッセージが抽出されない。このような場合に、コンピュータ50において担当者通知メッセージ700が生成されてユーザ(質問者)に通知されるようにしてもよい。
また、上記第3実施形態では、問合せ先管理テーブル800(図17)がコンピュータ50内に格納されているが、これに限定されず、当該問合せ先管理テーブル800がコンピュータ50以外の装置(チャットボットサーバ90等)に格納されていてもよい。
<4.変形例等>
以上、この発明の実施の形態について説明したが、この発明は上記説明した内容のものに限定されるものではない。
たとえば、上記各実施形態等では、回答用拡張型文字列M100において回答メッセージ400と属性情報500とが区別されて(別個に)規定されている(図8等参照)が、これに限定されず、回答用拡張型文字列M100において回答メッセージ400と属性情報500とが区別されずに規定されてもよい。
図19は、この改変例に係る回答管理テーブル300(304)を示す図である。
当該回答管理テーブル304では、各想定質問Q51,Q52に対応する各回答情報A121,A122において、属性情報500が回答メッセージ400内に含まれており、回答メッセージ400と属性情報500とが区別されずに回答用拡張型文字列M100が構成されている。
たとえば、回答情報A121内の回答用拡張型文字列M171(M100)においては、社員種別グループG1を示す属性情報571(文字列「入社2年目以上の正社員」)が回答メッセージ451(社員種別グループG1に属するユーザ向けのメッセージ)に含まれている。また、回答情報A121内の回答用拡張型文字列M172(M100)においては、社員種別グループG2を示す属性情報572(文字列「入社1年目の正社員」)が回答メッセージ452(社員種別グループG2に属するユーザ向けのメッセージ)に含まれている。さらに、回答用拡張型文字列M173(M100)においては、社員種別グループG3を示す属性情報573(文字列「派遣社員」)が回答メッセージ453(社員種別グループG3に属するユーザ向けのメッセージ)に含まれている。
ユーザからの質問メッセージQ11(図5参照)が受け付けられた(ステップS11)場合、チャットボットサーバ90は、当該質問メッセージQ11に対応する想定質問Q51に関連付けられた回答情報A121(図19)をコンピュータ50に送信する(ステップS54(図7))。
コンピュータ50は、当該回答情報A121をチャットボットサーバ90から受信する(ステップS13(図6))と、質問行為情報(詳細には、社員種別情報)を取得する(ステップS15)。
図20は、この改変例に係る分類情報管理テーブル900(902)を示す図である。当該分類情報管理テーブル902においては、各ユーザのユーザ情報と当該各ユーザの社員種別を示す文字列とが対応付けて登録されている。コンピュータ50は、質問者(たとえばユーザU1)のユーザ情報(userU1)に基づいて、当該質問者の社員種別情報(文字列「入社1年目の正社員」)を質問行為情報として取得する(ステップS15)。
そして、コンピュータ50は、当該社員種別情報とチャットボットサーバ90からの回答情報A121(図18参照)とに基づいて、回答メッセージ抽出処理を実行する(ステップS16)。具体的には、コンピュータ50は、当該回答情報A121に含まれる複数の回答用拡張型文字列M171~M173の中から、当該社員種別情報(文字列「入社1年目の正社員」)を含む回答用拡張型文字列(ここでは回答用拡張型文字列M172)を抽出する(ステップS16)。なお、ここでは、各回答用拡張型文字列M170の末尾には、改行コード(不図示)が区別情報D10として埋め込まれており、コンピュータ50は、当該改行コードを用いて複数の回答用拡張型文字列M171~M173を互いに区別しつつ回答情報A121から抽出するものとする。
そして、コンピュータ50は、抽出した回答用拡張型文字列M172(すなわち、回答メッセージ452)をユーザU1(質問者)に通知する(ステップS17)。
このように、回答用拡張型文字列M100において回答メッセージ400と属性情報500とが区別されずに規定されていてもよい。
また、上記各実施形態等においては、テキストメッセージを用いてユーザとの会話(チャット)を行うテキストチャット形式での会話処理が例示されているが、これに限定されず、音声メッセージを用いてユーザとの会話(チャット)を行う音声チャット形式での会話処理が行われてもよい。