(57)【要約】【課題】チャットルームでユーザがメッセージをやり取りするメッセージサービス上で動作する、チャットボットが同一メッセージサービス上で１つだけ存在し得る場合において、ユーザが所望する、当該メッセージサービス上に存在しないチャットボットによるメッセージ応答を可能にする。【解決手段】ユーザＡがチャットルームにチャットボットｃを招待し、ユーザＡと異なるユーザＢが追加すべきチャットボットｂを特定する。メッセージサービスの動作を制御する動作制御部は、チャットボットｃがチャットボットｂの機能を継承できる場合、チャットボットｃに「チャットボットｂは使用できます」とのメッセージを応答させるように制御するとともに、チャットボットｂに処理を実行させる。【選択図】図１２
2020155000.tif 000002
【特許請求の範囲】
【請求項１】
チャットルームでユーザがメッセージをやり取りするメッセージサービス上で動作する、ユーザとメッセージをやり取りするチャットボットを利用可能な状態とする操作手段と、
ユーザ毎に前記チャットボットを登録する登録手段と、
第１ユーザの前記操作手段の操作により同一のチャットルームで１つの第１チャットボットが利用可能な状態にある場合において、前記第１ユーザ以外の第２ユーザのメッセージに対し、前記第１チャットボットによって、前記登録手段で前記第２ユーザが登録した第２チャットボットの機能を実行させる制御手段と、
を備えるメッセージ提供装置。
【請求項２】
前記チャットボット毎に、他のチャットボットの機能継承に関する情報を記憶する記憶手段をさらに備え、
前記制御手段は、前記機能継承に関する情報に基づき、前記第２ユーザのメッセージに対して前記第２チャットボットに応答させる
請求項１に記載のメッセージ提供装置。
【請求項３】
前記制御手段は、前記第１チャットボットと、前記第２チャットボットとが機能継承の関係にある場合に、前記第２ユーザのメッセージに対して前記第２チャットボットに応答させる
請求項２に記載のメッセージ提供装置。
【請求項４】
前記制御手段は、前記第２ユーザのメッセージに対し、前記第１チャットボットによって、前記第２チャットボットを異なるメッセージサービスにおいて利用可能な状態にして応答させる
請求項１に記載のメッセージ提供装置。
【請求項５】
前記制御手段は、前記異なるメッセージサービスにおいて、前記第１チャットボットによって、前記第２ユーザのメッセージを前記第２チャットボットに代替送信させる
請求項４に記載のメッセージ提供装置。
【請求項６】
前記制御手段は、前記第１チャットボットによって、前記異なるメッセージサービスに前記第２ユーザを誘導させる
請求項４に記載のメッセージ提供装置。
【請求項７】
コンピュータを、
ユーザ間でメッセージをやり取りするメッセージサービス上で動作する、ユーザとメッセージをやり取りするチャットボットを利用可能な状態とする操作手段と、
ユーザ毎に前記チャットボットを登録する登録手段と、
第１ユーザの前記操作手段の操作により１つの第１チャットボットが利用可能な状態である場合において、前記第１ユーザ以外の第２ユーザのメッセージに対し、前記第１チャットボットによって、前記登録手段で前記第２ユーザが登録した第２チャットボットに応答させる制御手段
として動作させるためのプログラム。
【請求項８】
チャットルームでユーザがメッセージをやり取りするメッセージサービス上で動作する、ユーザとメッセージをやり取りするチャットボットを利用可能な状態とするステップと、
ユーザ毎に前記チャットボットを登録するステップと、
第１ユーザの操作により１つの第１チャットボットが利用可能な状態にある場合において、前記第１ユーザ以外の第２ユーザのメッセージに対し、前記第１チャットボットによって、前記第２ユーザが登録した第２チャットボットの機能を実行させて画面に表示させるステップと、
を備える表示制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メッセージ提供装置、プログラム、及び表示制御方法に関する。
【背景技術】
【０００２】
特許文献１には、ユーザからの動作指示の結果を報告するメッセージを、そのメッセージの宛て先を明示して通知するメッセージ通知装置が記載されている。動作指示検出部は、メッセージから動作指示を検出するとともに、該メッセージを書き込んだメンバを指示者として特定し、報告メッセージ表示部は、該動作指示に従って動作した結果についてのメッセージを、該指示者を宛て先として明記した状態で家族伝言板に表視させる。
【０００３】
チャットやＳＮＳ（ソーシャルネットワーキングサービス）等の、ユーザ間でメッセージをやり取りするメッセージサービスでは、このメッセージサービス上で動作する、音声や文字を介した、人間との対話をシミュレーションする目的で設計された（擬人化）ソフトウェアロボットプログラム（以下、これを「チャットボット」という）が提案されている。チャットボットは、ユーザから入力されたメッセージから特定の単語や語句を検出し、それに合う予め用意された応答を出力するように動作する。チャットボットとしては、企業や店鋪などの、広告用または商業用に割り当てられたメッセンジャーサービスアカウントが運用するものもあり、ユーザは自然なメッセージのやり取りを通じてチャットルーム内でチャットボットと会話を楽しみ、また、チャットボットに対して種々のサービスを実行させることができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１６４５２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、チャットルームにおいて複数のユーザがチャットを使用する場合において、複数のユーザがそれぞれチャットボットを当該チャットルームで利用可能な状態とする（以下、これを「招待」という）と、同一のチャットルームに複数のチャットボットが存在することになるため、あるユーザがチャットボットに対してメッセージを送っても、当該ユーザが意図しない別のチャットボットが当該メッセージに応答してしまうおそれがある。
【０００６】
他方で、同一のチャットルーム上で１つだけチャットボットが存在し得るように制限すると、当該チャットボットは招待したユーザ以外のユーザからのメッセージに応答できず、利便性が低下する。
【０００７】
本発明は、チャットルームでユーザがメッセージをやり取りするメッセージサービス上で動作する、ユーザとメッセージをやり取りするチャットボットがメッセージサービス上の同一のチャットルームで１つだけ存在し得る場合において、ユーザが所望する、当該メッセージサービス上に存在しないチャットボットによる機能の実行を可能にする技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
請求項１に記載の発明は、チャットルームでユーザがメッセージをやり取りするメッセージサービス上で動作する、ユーザとメッセージをやり取りするチャットボットを利用可能な状態とする操作手段と、ユーザ毎に前記チャットボットを登録する登録手段と、第１ユーザの前記操作手段の操作により同一のチャットルームで１つの第１チャットボットが利用可能な状態にある場合において、前記第１ユーザ以外の第２ユーザのメッセージに対し、前記第１チャットボットによって、前記登録手段で前記第２ユーザが登録した第２チャットボットの機能を実行させる制御手段とを備えるメッセージ提供装置である。  
【０００９】
請求項２に記載の発明は、前記チャットボット毎に、他のチャットボットの機能継承に関する情報を記憶する記憶手段をさらに備え、前記制御手段は、前記機能継承に関する情報に基づき、前記第２ユーザのメッセージに対して前記第２チャットボットに応答させる請求項１に記載のメッセージ提供装置である。
【００１０】
請求項３に記載の発明は、前記制御手段は、前記第１チャットボットと、前記第２チャットボットとが機能継承の関係にある場合に、前記第２ユーザのメッセージに対して前記第２チャットボットに応答させる請求項２に記載のメッセージ提供装置である。
【００１１】
請求項４に記載の発明は、前記制御手段は、前記第２ユーザのメッセージに対し、前記第１チャットボットによって、前記第２チャットボットを異なるメッセージサービスにおいて利用可能な状態にして応答させる請求項１に記載のメッセージ提供装置である。
【００１２】
請求項５に記載の発明は、前記制御手段は、前記異なるメッセージサービスにおいて、前記第１チャットボットによって、前記第２ユーザのメッセージを前記第２チャットボットに代替送信させる請求項４に記載のメッセージ提供装置である。
【００１３】
請求項６に記載の発明は、前記制御手段は、前記第１チャットボットによって、前記異なるメッセージサービスに前記第２ユーザを誘導させる請求項４に記載のメッセージ提供装置である。
【００１４】
請求項７に記載の発明は、コンピュータを、ユーザ間でメッセージをやり取りするメッセージサービス上で動作する、ユーザとメッセージをやり取りするチャットボットを利用可能な状態とする操作手段と、ユーザ毎に前記チャットボットを登録する登録手段と、第１ユーザの前記操作手段の操作により１つの第１チャットボットが利用可能な状態である場合において、前記第１ユーザ以外の第２ユーザのメッセージに対し、前記第１チャットボットによって、前記登録手段で前記第２ユーザが登録した第２チャットボットに応答させる制御手段として動作させるためのプログラムである。
【００１５】
請求項８に記載の発明は、チャットルームでユーザがメッセージをやり取りするメッセージサービス上で動作する、ユーザとメッセージをやり取りするチャットボットを利用可能な状態とするステップと、ユーザ毎に前記チャットボットを登録するステップと、第１ユーザの操作により１つの第１チャットボットが利用可能な状態にある場合において、前記第１ユーザ以外の第２ユーザのメッセージに対し、前記第１チャットボットによって、前記第２ユーザが登録した第２チャットボットの機能を実行させて画面に表示させるステップとを備える表示制御方法である。
【発明の効果】
【００１６】
請求項１，７，８に記載の発明によれば、チャットルームでユーザがメッセージをやり取りするメッセージサービス上で動作する、ユーザとメッセージをやり取りするチャットボットが同一メッセージサービス上で１つだけ存在し得る場合において、ユーザが所望する、当該メッセージサービス上に存在しないチャットボットによるメッセージ応答が可能である。
【００１７】
請求項２，３に記載の発明によれば、さらに、機能継承に関する情報に基づいたメッセージ応答が可能である。
【００１８】
請求項４，５，６に記載の発明によれば、さらに、異なるメッセージサービスにおいてメッセージ応答が可能である。
【図面の簡単な説明】
【００１９】
【図１】実施形態のシステム構成図である。
【図２】実施形態の機能ブロック図である。
【図３】実施形態の構成ブロック図である。
【図４】実施形態の設定情報登録説明図である。
【図５】実施形態の設定情報テーブルの説明図である。
【図６】同一ユーザによるプリンタの切替説明図である。
【図７】１つのチャットボットによる複数プリンタの切替説明図である。
【図８】実施形態の複数チャットボットのそれぞれとプリンタとの対応付け説明図である。
【図９】実施形態のユーザ毎のチャットボット登録説明図である。
【図１０】参考例の画面表示説明図である。
【図１１】実施形態の機能継承テーブル説明図である。
【図１２】実施形態のユーザ端末の画面説明図（その１）である。
【図１３】実施形態のユーザ端末の画面説明図（その２）である。
【図１４Ａ】実施形態のユーザ端末の画面説明図（その３）である。
【図１４Ｂ】実施形態のユーザ端末の画面説明図（その４）である。
【図１５】実施形態のユーザ端末の画面説明図（その５）である。
【図１６Ａ】実施形態のユーザ端末の画面説明図（その６）である。
【図１６Ｂ】実施形態のユーザ端末の画面説明図（その７）である。
【図１７】変形例のシステム構成図である。
【図１８】変形例のユーザ端末の画面説明図である。
【発明を実施するための形態】
【００２０】
以下、図面に基づき本発明の実施形態について、チャットボットとして、ユーザからのメッセージに応じて印刷の処理を実行するサービス（以下プリントサービス）を提供するチャットボットを例にとり説明する。
【００２１】
図１は、実施形態におけるメッセージサービスシステムの全体構成図を示す。 メッセージサービスシステムは、ユーザ端末Ａ（１０Ａ）〜ユーザ端末Ｃ（１０Ｃ）、チャットサービスサーバ１４、ボットサーバＡ（１６Ａ）〜ボットサーバＢ（１６Ｂ）、及びプリンタＡ（１８Ａ）〜プリンタＣ（１８Ｃ）を備える。
【００２２】
ユーザ端末Ａ（１０Ａ）〜ユーザ端末Ｃ（１０Ｃ）は、メッセージサービスのユーザが利用する端末であり、スマートフォンやタブレット端末、ＰＣ（パーソナルコンピュータ）等の情報端末である。図では、ユーザ端末Ａ（１０Ａ）、ユーザ端末Ｂ（１０Ｂ）、ユーザ端末Ｃ（１０Ｃ）の３台を示しているが、その数は任意である。ユーザは、ユーザ端末Ａ（１０Ａ）〜ユーザ端末Ｃ（１０Ｃ）を操作してクラウド１２上のチャットサービスサーバ１４にアクセスし、他のユーザやチャットボットとメッセージをやり取りする。以下では、ユーザＡがユーザ端末Ａを操作し、ユーザＢがユーザ端末Ｂを操作し、ユーザＣがユーザ端末Ｃを操作するものとする。ユーザ端末Ａ（１０Ａ）〜ユーザ端末Ｃ（１０Ｃ）とチャットサービスサーバ１４は、有線あるいは無線の通信ネットワークでデータ送受信可能に接続される。通信ネットワークの一例はインターネット等の公衆回線であるが、専用回線でもよい。
【００２３】
チャットサービスサーバ１４は、クラウド１２上に配置されたクラウドサーバであり、チャットサービスを提供するサーバである。チャットサービスサーバ１４は、１又は複数のサーバコンピュータで構成される。チャットサービスサーバ１４は、ユーザ端末Ａ〜ユーザ端末Ｃに対するメッセージの送受信処理、及びメッセージ送受信の表示画面表示等、メッセージのやり取りに関する処理全般を実行する。チャットサービスサーバ１４は、２人のユーザ間のメッセージのやり取りを処理する他に、３人以上のユーザでグループを形成し、グループ内でのメッセージのやり取りを処理することができる（グループチャット）。さらに、チャットサービスサーバ１４は、ボットサーバＡ（１６Ａ）、ボットサーバＢ（１６Ｂ）と協働し、ボットサーバ１６Ａ、ボットサーバ１６Ｂにより提供されるチャットボットに対するメッセージのやり取りを処理する。ユーザとチャットボットとのメッセージのやり取りには、１人のユーザとチャットボットとのメッセージのやり取り、及び複数のユーザとチャットボットとのメッセージのやり取りが含まれる。
【００２４】
ボットサーバＡ（１６Ａ）、ボットサーバＢ（１６Ｂ）は、本実施形態におけるメッセージ提供装置として機能する。ボットサーバＡ（１６Ａ）、ボットサーバＢ（１６Ｂ）は、ユーザとの間でメッセージをやり取りするチャットボットのソフトウェアロボットプログラムがインストールされ、当該プログラムを実行する。これらのボットサーバＡ（１６Ａ）、ボットサーバＢ（１６Ｂ）は、企業や店鋪などの、広告用または商業用に割り当てられたメッセンジャーサービスアカウントがそれぞれ運用するものであってもよい。
【００２５】
ボットサーバＡ（１６Ａ）及びボットサーバＢ（１６Ｂ）は、チャットサービスサーバ１４と特定ＡＰＩ（Application Programming Interface：アプリケーションプログラミングインタフェース）を介して協働し、ユーザとのメッセージをやり取りし、ユーザからのメッセージに自動応答してメッセージを返信する。特定ＡＰＩは、チャットサービスサーバ１４を利用するためのＡＰＩである。ＡＰＩの形式は任意であるが、例えばＪＳＯＮ（Javascript Object Notation：ジャバスクリプト  オブジェクト  ノーテイション）形式のＡＰＩとし、規定のフォーマットのＪＳＯＮデータをチャットサービスサーバ１４の特定ＵＲＬに対してＰＯＳＴやＧＥＴで送信し、結果がＪＳＯＮ形式のデータとして返ってくる。
【００２６】
ボットサーバＡ（１６Ａ）、ボットサーバＢ（１６Ｂ）は、ユーザからのメッセージに特定の処理を実行する動作を求める動作指示が含まれている場合に、当該動作指示に応じて特定のサービス内容を実行する。本実施形態において、ボットサーバＡ（１６Ａ）は、ユーザからのメッセージにプリントを実行するプリント指示が含まれている場合に、このプリント指示に応じてプリンタＡ（１８Ａ）、プリンタＢ（１８Ｂ）あるいはプリンタＣ（１８Ｃ）を動作させてプリント処理する「プリントボット」として機能する。他方、ボットサーバ１６Ｂは、ユーザからの動作指示に応じて任意のサービスを提供し得る。図では、ボットサーバＡ（１６Ａ）、ボットサーバＢ（１８Ｂ）の２台を示しているが、その数は任意である。１台のボットサーバで複数のチャットボットを構成し得る。
【００２７】
チャットボット（あるいはプリントボット）としてのボットサーバＡは、予めユーザ毎に登録された、ソフトウェアロボットプログラムの動作に関する設定情報に従ってプリンタＡ〜プリンタＣを駆動してプリント処理を実行する。これらの設定情報は、プリンタＡ〜プリンタＣを動作させるための動作条件ということもできる。例えば、ユーザＡはユーザ端末Ａを操作してプリンタＡを動作させるための設定情報を入力して登録し、ユーザＢはユーザ端末Ｂを操作してプリンタＢを動作させるための設定情報を入力して登録する。
【００２８】
プリンタＡ（１８Ａ）、プリンタＢ（１８Ｂ）、プリンタＣ（１８Ｃ）は、ボットサーバＡからの指令によりプリント処理を実行する。なお、プリンタの数は３台に限定されず、４台以上であってもよい。
【００２９】
図２は、ボットサーバＡ（１６Ａ）の機能ブロック図である。ボットサーバＡは、機能ブロックとして、通信部１６０、メッセージ受付部１６１、内容解析部１６２、動作制御部１６３、応答メッセージ作成部１６４、ユーザ情報記憶部１６５、設定情報記憶部１６６、メッセージ記憶部１６７、及びＡＰＩゲートウェイ１６８を備える。
【００３０】
通信部１６０は、チャットサービスサーバ１４及びプリンタＡ、Ｂと通信する。通信部１６０は、ＡＰＩゲートウェイ１６８を介してチャットサービスサーバ１４と通信し、メッセージを交換する。通信部１６０は、ＡＰＩゲートウェイ１６８を介してチャットサービスサーバ１４から受信したメッセージ、すなわちユーザ端末Ａ〜ユーザ端末Ｃからのメッセージをメッセージ受付部１６１に出力する。また、通信部１６０は、応答メッセージ作成部１６４で作成された応答メッセージをＡＰＩゲートウェイ１６８を介してチャットサービスサーバ１４に送信（つまりユーザ端末Ａ〜ユーザ端末Ｃに送信）する。さらに、通信部１６０は、動作制御部１６３からの指令に従い、プリンタＡ、プリンタＢにプリント指令を出力してプリンタＡ，Ｂを駆動する。
【００３１】
メッセージ受付部１６１は、通信部１６０からのメッセージを受け付け、内容解析部１６２に出力する。メッセージには、設定情報の登録に関するメッセージが含まれる。メッセージ受付部１６１は、受け付けたメッセージをメッセージ記憶部１６７に順次記憶する。
【００３２】
内容解析部１６２は、受け付けたメッセージの内容を解析して動作制御部１６３に出力する。具体的には、受け付けたメッセージに含まれるユーザ識別子（ユーザＩＤ）を認識するとともに、メッセージに含まれるテキスト部分を抽出してその構文解析を実行する。構文解析の方法は任意であり、例えば、入力メッセージを形態素単位に分解した後、名詞や形容詞、動詞、疑問代名詞をキーワードとして抽出する。内容解析部１６２は、メッセージのテキスト部分に動作指示が含まれている場合に、その動作指示の内容を解析して動作制御部１６３に出力する。本実施形態における動作指示には、プリンタＡ、Ｂ、Ｃに対するプリント指示や、プリンタＡ、Ｂ、Ｃの設定情報についての指示が含まれる。
【００３３】
動作制御部１６３は、制御手段として機能し、内容解析部１６２で得られた解析結果に基づき、ユーザとプリンタＡ、Ｂ、Ｃとを対応付けて設定情報記憶部１６６に登録する。また、動作制御部１６３は、通信部１６０を介してプリンタＡ、Ｂ、Ｃにプリント指令を出力する。
【００３４】
応答メッセージ作成部１６４は、内容解析部１６２における解析結果に応じて応答メッセージを作成し、通信部１６０を介してチャットサービスサーバ１４に送信する。
【００３５】
ユーザ情報記憶部１６５は、チャットサービスサーバ１４を利用するユーザの情報、特に、ボットサーバＡで実現されるチャットボットを利用するユーザの情報をテーブルとして記憶する。チャットボットは、チャットサービスサーバ１４で実現されるチャットサービス上で特定のアカウントが割り当てられており、このアカウントを指定してユーザが一定の操作を行うことでチャットボットの利用が確定される。ユーザ情報は、例えばユーザＩＤである。各ユーザの権限についての情報を記憶してもよい。
【００３６】
設定情報記憶部１６６は、ボットサーバＡで実現されるチャットボットを利用するユーザ毎の設定情報をテーブルとして記憶する。設定情報の項目は、例えば使用するプリンタの識別情報、カラーモード、用紙サイズ、部数等であるが、テーブルとして記憶される設定情報はこれに限定されない。設定情報は、ボットサーバＡが提供するサービスの内容に応じて決定され得る。プリントサービスの場合には、プリントに関する情報であり、検索サービスの場合には、検索条件に関する情報である。設定情報は、サービスの内容を規定する情報であり、複数の項目を含み得る。
【００３７】
ユーザは、ユーザ端末に表示されたメニューを操作してチャットボットとプリンタとを関連付けて登録する。ユーザ毎のチャットボットとプリンタとの対応関係は設定情報記憶部１６６にテーブルとして記憶される。また、ユーザは、ユーザ端末に表示されたメニューを操作してチャットルームに当該ユーザが登録したチャットボットを招待することで当該チャットルームにおいてチャットボットを利用可能な状態にする。具体的には、ユーザは、ユーザ端末に表示されたメニューから「招待」のメニューを選択操作し、所望のチャットボットを特定することで招待する。チャットサービスにおける他のユーザあるいはチャットルームにチャットボットを招待する技術は公知である。動作制御部１６３は、ユーザがチャットボットを招待すると、招待されたことを示すフラグを当該チャットボットに付加して設定情報記憶部１６６に記憶する。動作制御部１６３は、設定情報記憶部１６６に記憶されたテーブルを参照することで、ユーザ毎の登録チャットボット、及びどのチャットボットがチャットルームに招待されているかを識別する。
【００３８】
メッセージ記憶部１６７は、メッセージ受付部１６１で受け付けたユーザからのメッセージを履歴として記憶する。
【００３９】
図３は、ボットサーバＡの構成ブロック図を示す。ボットサーバＡは、１又は複数のサーバコンピュータから構成され、１又は複数のＣＰＵ１６ｂ、ＲＯＭ１６Ｃ、ＲＡＭ１６ｄ、通信インタフェース（Ｉ／Ｆ）１６ｅ、入出力Ｉ／Ｆ１６ｆ、及び記憶装置１６ｇを備える。
【００４０】
１又は複数のＣＰＵ１６ｂは、ＲＯＭ１６Ｃあるいは記憶装置１６ｇに記憶されたボットアプリを読み出し、ＲＡＭ１６ｄをワーキングメモリとして用いることでチャットボットの機能を実現する。すなわち、ユーザからのメッセージに自動応答し、ユーザからのメッセージに動作指示が含まれている場合に当該動作指示に応じてプリンタＡ、Ｂ、Ｃを駆動する。ＣＰＵ１６ｂは、ボットアプリを実行することで、図２におけるメッセージ受付部１６１、内容解析部１６２、動作制御部１６３、応答メッセージ作成部１６４、及びＡＰＩゲートウェイ１６８を実現する。ＣＰＵ１６ｂは、操作手段、制御手段、及び登録手段として機能する。
【００４１】
通信Ｉ／Ｆ１６ｅは、チャットサービスサーバ１４とのメッセージのやり取りを行うとともに、プリンタＡ，Ｂに対してプリント指令を出力する。
【００４２】
入出力Ｉ／Ｆ１６ｆは、キーボードマウス等の入力装置、表示装置等の出力装置とデータを送受信する。
【００４３】
記憶装置１６ｇは、ＨＤＤ（Hard Disk Drive：ハードディスクドライブ）やＳＳＤ（Solid State Drive：ソリッドステートドライブ）等の不揮発性メモリで構成され、ボットアプリを記憶する他に、ユーザ情報テーブル、設定情報テーブル、及びメッセージ管理テーブルを記憶する。記憶装置１６ｇは、図２におけるユーザ情報記憶部１６５，設定情報記憶部１６６，及びメッセージ記憶部１６７を実現する。
【００４４】
なお、本実施形態では、チャットボットの機能を実現するためのソフトウェアロボットプログラムをＣＰＵにより実行しているが、チャットボットの一部をプログラムの実行による処理ではなく、ハードウェア処理により実現してもよい。ハードウェア処理は、例えばＡＳＩＣやＦＰＧＡ（フィールドプログラマブルゲートアレイ）などの回路を用いて行ってもよい。
【００４５】
次に、ユーザＡ及びユーザＢを例にとり、設定情報の登録について説明する。
【００４６】
図４は、ユーザＡ及びユーザＢによる設定登録処理を模式的に示す。
【００４７】
ユーザＡ及びユーザＢは、チャットサービス上で特定のアカウントが割り当てられたチャットボットに対しての利用に対応する特定の操作を行うと、ボットサーバＡ（１６Ａ）は、ユーザＡ及びユーザＢにそれぞれユーザ識別子（ユーザＩＤ）を割り当てるとともに、プリンタＡ〜プリンタＣについても一意に特定するためのプリンタ識別子（プリンタＩＤ）を割り当てる。ユーザＩＤは、ユーザＡ及びユーザＢのチャットサービス上のアカウントをそのまま援用してもよい。
【００４８】
次に、ユーザＡは、チャットサービスサーバ１４を経由してボットサーバＡ（１６Ａ）に対してメッセージを送信し、プリンタＡ、プリンタＢ、またはプリンタＣを特定した上で、設定情報を登録させる。例えば、ユーザＡは、プリンタＡを特定した上で、設定情報として
カラーモード：カラー
用紙サイズ：Ａ４
部数：１部
を指定するメッセージを送信する。ボットサーバＡは、これらのメッセージを受信すると、そのメッセージ内容を解析し、設定情報として解釈するとユーザＡとプリンタＡとを対応付けた上で上記の設定情報を設定情報テーブルに記録する。
【００４９】
ユーザＢについても同様であり、チャットサービスサーバ１４を経由してボットサーバＡ（１６Ａ）に対してメッセージを送信し、プリンタＡまたはプリンタＢを特定した上で、設定情報を登録させる。例えば、ユーザＢは、プリンタＢを特定した上で、設定情報として
カラーモード：白黒
用紙サイズ：レター（ｌｅｔｔｅｒ）
部数：２部
を指定するメッセージを送信する。ボットサーバＡは、これらのメッセージを受信すると、そのメッセージ内容を解析し、設定情報として解釈するとユーザＢとプリンタＢとを対応付けた上で上記の設定情報を設定情報テーブルに記録する。
【００５０】
図５は、設定情報記憶部１６６に記憶される設定情報テーブルの一例を示す。ユーザ毎に、プリンタ、色（カラーモード）、サイズ（用紙サイズ）、コピー数（部数）が対応付けて記録される。より詳しくは、ユーザの識別情報毎に、プリンタの識別情報、色（カラーモード）、サイズ（用紙サイズ）、コピー数（部数）が対応付けて記録される。
【００５１】
他方で、ユーザＡは、プリンタＡのみならず、プリンタＢを用いて異なる設定情報を登録したいと欲する場合も少なくない。例えば、図６に示すように、プリンタＡについて設定情報を登録した後に、プリンタＢについて異なる設定情報を登録する等である。プリンタＡについて、その設定情報として
カラーモード：カラー
用紙サイズ：Ａ４
部数：１部
を登録し、プリンタＢについて、その設定情報として
カラーモード：白黒
用紙サイズ：レター（ｌｅｔｔｅｒ）
部数：２部
を登録する。ボットサーバＡは、ユーザＡについてプリンタＡ及びその設定情報を対応付けるとともに、ユーザＡとプリンタＢ及びその設定情報を対応付けて設定情報テーブルに登録する。そして、ユーザＡからの指示に応じてプリンタＡとプリンタＢを切り替えて駆動する。
【００５２】
図７は、ボットサーバＡで実現されるチャットボットの処理を模式的に示す。チャットボットは、プリンタＡ及びプリンタＢの２つのプリンタと連携してユーザＡに対してプリントサービスを提供する。チャットボットは、ユーザＡとプリンタＡ及びプリンタＢを対応付け、ユーザＡからのメッセージを受け取り、その内容を解析してメッセージ内容がプリンタＡを示している場合にはプリンタＡに切り替えてプリントサービスを実行する。また、メッセージ内容がプリンタＢを示している場合にはプリンタＢに切り替えてプリントサービスを実行する。
【００５３】
このとき、ユーザＡは、プリントサービス内容に応じてプリンタＡとプリンタＢを切り替える操作をしなければならず煩雑となる。例えば、プリンタＡでプリントする場合にはチャットボットに対して
「＠プリンタＡ  プリントして」
とのメッセージを送信し、他方で、プリンタＢでプリントする場合にはチャットボットに対して
「＠プリンタＢ  プリントして」
とのメッセージを送信しなければならず、どのプリンタにどのような設定情報が対応付けられているかに留意しつつ適切なメッセージを送信する必要があり、煩雑化する。特に、チャットボットがプリンタＡ、プリンタＢに加えプリンタＣ、さらにはそれ以上のプリンタと連携してプリントサービスを提供する場合には、切り替えるべきプリンタ数に応じて切替動作が煩雑化してしまう。
【００５４】
複数のプリンタのいずれかをデフォルトに設定し、プリント指示に対してデフォルトのプリンタを用いる構成も考えられるが、デフォルト以外のプリンタを用いる場合には同様に切替動作が必要となる。
【００５５】
そこで、ボットサーバＡで実現されるチャットボットを複数のチャットボットとし、複数のチャットボットのそれぞれが１又は複数のプリンタと連携する構成とすることで、ユーザによるプリンタ切替動作の煩雑化を抑制できる。
【００５６】
図８は、ボットサーバＡで実現される複数のチャットボットの処理を模式的に示す。
【００５７】
ボットサーバＡにより、チャットボットａ〜ｃの３つのチャットボットが実現される。チャットボットａ〜ｃは、プリンタと連携し、ユーザからのメッセージに応じてプリンタを駆動する点で、同一の機能を有する。チャットボットａ〜ｃは、全て同一のソフトウェアロボットプログラムで構成される。これらのソフトウェアロボットプログラムはそれぞれ別個にインストールされていてもよく、同一プログラムを構成する互いに異なるプログラムモジュールとして構成されていてもよい。
【００５８】
チャットボットａは、例えばプリンタＡと連携し、ユーザからのメッセージに応じてプリンタＡを駆動してプリントサービスを提供する。
【００５９】
チャットボットｂは、例えばプリンタＢと連携し、ユーザからのメッセージに応じてプリンタＢを駆動してプリントサービスを提供する。
【００６０】
チャットボットｃは、例えばプリンタＣと連携し、ユーザからのメッセージに応じてプリンタＣを駆動してプリントサービスを提供する。
【００６１】
ユーザは、プリンタＡでのプリントを所望する場合にはチャットボットａに対して「プリントして」等の動作指示のメッセージを送信し、プリンタＢでのプリントを所望する場合にはチャットボットｂに対して「プリントして」等の動作指示のメッセージを送信し、プリンタＣでのプリントを所望する場合にはチャットボットｃに対して「プリントして」等の動作指示のメッセージを送信するだけで、所望のプリンタでプリントし得る。
【００６２】
なお、チャットボットａ〜ｃとプリンタＡ〜Ｃとの連携関係は固定ではなく、ユーザ毎に動的に設定し得る。例えば、ユーザＢについてはチャットボットａがプリンタＢと連携するとともにチャットボットｃがプリンタＣと連携し、ユーザＣについてはチャットボットａがプリンタＡと連携する等である。
【００６３】
図９は、本実施形態におけるユーザ毎のチャットボットとプリンタとの連携関係の一例を示す。ユーザＡについては、
チャットボットａとプリンタＡ
チャットボットｂとプリンタＢ
チャットボットｃとプリンタＣ
が連携する。ユーザＢについては、
チャットボットａとプリンタＤ
チャットボットｂとプリンタＥ
が連携する。ユーザＣについては、
チャットボットａとプリンタＦ
が連携する。チャットボットａ〜ｃは、ユーザ毎のプリンタの対応関係を設定情報テーブルに登録する。そして、ユーザからのメッセージに含まれるユーザＩＤから、設定情報テーブルを参照して対応するプリンタを特定し、当該プリンタを駆動する。
【００６４】
図８及び図９では、１つのチャットボットが１つのプリンタと連携している場合を示したが、必ずしもこれに限定されるものではなく、１つのチャットボットが複数のプリンタと連携してもよい。
【００６５】
ユーザＡ、ユーザＢ、ユーザＣは、それぞれ他のユーザとチャットルームでメッセージをやり取りする際に、予め登録したチャットボットを当該チャットルームに招待して利用可能な状態にする。例えば、ユーザＡがユーザＢとメッセージをやり取りする場合に、登録しているチャットボットａ〜ｃの中でチャットボットａを招待して利用可能な状態に設定する。同様に、ユーザＢが登録しているチャットボットｂを招待して利用可能な状態に設定する。同一チャットルームにおいて、複数のユーザがそれぞれ登録しているチャットボットの中から所望のチャットボットを招待すると、結果として同一チャットルームにおいて複数のチャットボットが利用可能な状態に設定されることになる。この場合、あるユーザがチャットボットに対してメッセージを送っても、当該ユーザが意図しない別のチャットボットが当該メッセージに応答してしまうおそれがある。
【００６６】
この場合、同一チャットルーム上で１つだけチャットボットが存在し得るように制限することが考えられる。例えば、ユーザＡがチャットボットｃを招待すると、それ以後は、ユーザＢあるいはユーザＣによるチャットボットの招待を制限する等である。しかし、この場合には、ユーザＢから「プリントして」等のメッセージを送信しても、招待されて利用可能な状態にあるチャットボットはユーザＡに係るチャットボットｃであり、チャットボットｃはユーザＢのメッセージに応答できず、印刷処理が実行されないことになるので利便性が低下してしまう。
【００６７】
図１０は、ユーザＡが操作するユーザ端末Ａに表示される参考画面例を示す。ユーザＡ、ユーザＢ，及びユーザＣが同一チャットルームに参加してメッセージをやり取りする画面であり、ユーザＢがチャットボットｂを当該チャットルームに招待して利用可能な状態としている場合である。
【００６８】
画面には、
「ユーザＢがチャットボットｂを招待しました」
とのメッセージが表示され、ユーザＢがチャットボットｂを招待したことが示される。
【００６９】
そして、表象図形（以下、「アイコン」という）１０２で示されるユーザＢが写真を送信し、この写真を視認したアイコン１００で示されるユーザＡが
「プリント」
とのメッセージを送信してプリント指示しても、このチャットルームにおいて利用可能な状態にあるチャットボットｂはメッセージに応答せず、印刷処理が実行されない。
【００７０】
このため、ユーザＡは、自己が登録したチャットボットａをチャットルームに招待して利用可能な状態としたいが、チャットボットｂが既に利用可能な状態となっているためチャットボットａを招待することができず、プリント指示を実行させることができない。
【００７１】
そこで、本実施形態では、設定情報記憶部１６６に、チャットルーム毎及びチャットボット毎に、他のチャットボットの機能を継承し得るか否かの情報を記憶しておき、動作制御部１６３がこの機能継承情報を参照することで、チャットルームに招待されていないチャットボットの機能を継承して当該チャットルームに招待されたチャットボットで機能を実行するように制御する。
【００７２】
図１１は、設定情報記憶部１６６に記憶される機能継承情報テーブルの一例を示す。機能継承テーブルは、チャットルーム毎及びチャットボット毎に、他のチャットボット（但し、ユーザにより登録されているチャットボット）の機能を継承し得るか否かの情報を関連付けて規定するテーブルである。
【００７３】
例えば、チャットルームＡにおいて、チャットボットｃは、チャットボットａの機能を継承し、チャットボットｂの機能は継承しない。また、他のチャットルームＢにおいて、チャットボットｂはいずれのチャットボットの機能も継承しない。さらに、チャットルームＣにおいて、チャットボットｃは、チャットボットａ及びチャットボットｂの機能を継承する。ここで、チャットボットｃがチャットボットａの機能を継承するとは、チャットボットｃがあたかもチャットボットａのように応答することを意味し、より詳細には、チャットボットｃがチャットボットａに対して処理の実行を指示し、チャットボットａが当該指示に応じて処理を実行し、チャットボットｃがチャットボットａの実行結果をメッセージとして送信することを意味する。チャットボットｃがメッセージに対して応答し、実際の処理はチャットボットａが処理するといえる。
【００７４】
図１１では、チャットルーム毎に機能継承情報を規定しているが、あるチャットルームの機能継承情報のみを規定してもよい。
【００７５】
図１２は、本実施形態のユーザＡが操作するユーザ端末Ａに表示される画面例を示す。ユーザＡ、ユーザＢ，及びユーザＣが同一チャットルームに参加してメッセージをやり取りする画面であり、ユーザＡがチャットボットｃを当該チャットルームに招待して利用可能な状態としている場合である。また、図１２の機能継承テーブルにおけるチャットルームＣで示すように、チャットボットｃは、チャットボットｂの機能を継承可能であるとする。
【００７６】
画面には、
「ユーザＡがチャットボットｃを招待しました」
とのメッセージが表示され、ユーザＡがチャットボットｃを招待したことが示される。図１２では２０４がチャットボットｃに該当する。
【００７７】
そして、表象図形（以下、「アイコン」という）１０２で示されるユーザＢが
「チャットボットの追加」
とのメッセージを送信する。
【００７８】
このメッセージを受信した動作制御部１６３は、チャットボットｃに応答させるように制御し、アイコン２０４で示されるチャットボットｃが、
「追加するチャットボットＩＤを教えて下さい」
とのメッセージを応答する。
【００７９】
このメッセージに対し、ユーザＢは自己が登録しているチャットボットｂを特定して
「チャットボットｂ」
とのメッセージを送信する。
【００８０】
このメッセージを受信した動作制御部１６３は、機能継承テーブルを参照してチャットボットｃがチャットボットｂの機能を継承し得るか否かを判定する。チャットボットｃがチャットボットｂの機能を継承できる場合、動作制御部１６３は、チャットボットｃから
「チャットボットｂは使用できます」
とのメッセージを応答させるように制御する。
【００８１】
図１３は、他の画面例を示す。
【００８２】
画面には、
「ユーザＡがチャットボットｃを招待しました」
とのメッセージが表示され、ユーザＡがチャットボットｃを招待したことが示される。
【００８３】
そして、アイコン１０２で示されるユーザＢが
「チャットボットの追加」
とのメッセージを送信する。
【００８４】
このメッセージを受信した動作制御部１６３は、チャットボットｃに応答させるように制御し、機能継承テーブルを参照してチャットボットｃが機能継承し得るチャットボットｂを特定する。そして、動作制御部１６３は、チャットボットｃから
「チャットボットｂは使用できます」
とのメッセージを応答させるように制御する。機能継承とは、機能を受け継ぐことである。受け継ぐ機能の例として、出力先のプリンタの設定等がある。
【００８５】
この後、ユーザＡが写真を送信し、これに対してユーザＢが
「プリント」
とのメッセージを送信すると、チャットボットｃがチャットボットｂに対して印刷処理の実行を指示し、チャットボットｂはこの指示に応じて印刷処理を完了する。アイコン２０４で示されるチャットボットｃは、チャットボットｂで印刷処理が完了すると、
「ユーザＢ，プリンタＥで出力しました」
とのメッセージを応答する。ここで、プリンタＥは、チャットボットｂに関連付けられたプリンタである（図９参照）。
【００８６】
ユーザＢはチャットボットｂをチャットルームに招待して利用可能な状態にしていないにもかかわらず、自己のメッセージに応答してチャットボットｂが印刷処理を実行している点に留意されたい。
【００８７】
図１２及び図１３では、チャットルームにチャットボットが１つだけ存在している。同一チャットルーム上で１つだけチャットボットが存在し得ることを前提としているが、あるチャットルームでは１つだけチャットボットが存在し得るものの、別のチャットルームでは複数のチャットルームの存在を許容し得る場合、当該別のチャットルームを用いてユーザからのメッセージに応答し得る。
【００８８】
また、図１２及び図１３では、図１１に示す機能継承テーブルに基づいてチャットボットｃがチャットボットｂの機能を継承しているが、チャットボットｃがチャットボットｂの機能を継承できない場合にはチャットボットｂにおいて印刷処理を実行することができない問題が生じる。さらに、図１１に示すような機能継承テーブルを予め設定情報記憶部１６６に記憶しておく必要もある。そこで、このような課題を解決すべく、別のチャットルームを用いることで機能継承テーブルを用いることなくユーザからのメッセージに応答し得る。
【００８９】
図１４Ａ及び図１４Ｂは、この場合の画面例を示す。図１４Ａは、１つのチャットボットが存在し得るチャットルームＡでの画面例であり、図１４Ｂは、複数のチャットボットが存在し得るチャットルームＢでの画面例である。チャットルームＢは、チャットルームＡとは異なるメッセージサービスに相当する。
【００９０】
図１４Ａにおいて、画面には、
「ユーザＡがチャットボットｃを招待しました」
「ユーザＢがチャットボットｂを招待しました」
とのメッセージが表示され、ユーザＡがチャットボットｃを招待したこと、及びこれに続いてユーザＢがチャットボットｂを招待したことが示される。
【００９１】
しかし、チャットルームＡでは１つのチャットボットのみが許容され、２つ以上のチャットボットの存在は制限される。このため、動作制御部１６３は、最初に招待されたチャットボットｃから
「チャットボットｂをチャットルームＢに移動します」
とのメッセージを応答させてチャットルームＢを作成し、さらに、
「チャットボットｂを削除します」
とのメッセージを送信してチャットルームＡに対するチャットボットｂの招待を削除する。図１４Ａには、「ユーザＢがチャットボットｂを招待しました」というメッセージが表示されているが、「チャットボットｂを削除します」というメッセージに表示されているように、チャットルームにはチャットボットが１つしか存在していない。
【００９２】
図１４Ｂは、動作制御部１６３で作成されるチャットルームＢの画面例であり、図１４Ａにおいて、
「チャットボットｂをチャットルームＢに移動します」
とのメッセージを応答させた後に、チャットルームにチャットボットｂを自動的に招待して利用可能な状態にする。そして、
「チャットボットｃがチャットボットｂを招待しました」
とのメッセージを送信する。
【００９３】
再び図１４Ａに戻り、ユーザＡが写真を送信し、これに対してユーザＢが
「プリント」
とのメッセージを送信すると、チャットボットｃが
「チャットボットｂに印刷指示します」
とのメッセージを応答する。
【００９４】
再び図１４Ｂに移行し、図１４Ａにおいてチャットボットｃが
「チャットボットｂに印刷指示します」
とのメッセージを応答すると、動作制御部１６３は、ユーザＡから送信された写真をチャットルームＢに送信するとともに、チャットボットｃから
「チャットボットｂ、ユーザＢからの印刷依頼です」
とのメッセージを送信させるように制御する。すなわち、チャットボットｃは、ユーザＢからのメッセージをユーザＢに代わって代理送信する。
【００９５】
チャットルームに招待されて利用可能な状態にあるチャットボットｂは、チャットボットｃからのメッセージに対し
「印刷します」
とのメッセージを応答して印刷処理を実行し、写真の印刷処理が完了すると
「印刷完了しました」
とのメッセージを送信する。チャットボットｃは、このメッセージに対して
「ユーザＢに印刷完了を通知します」
とのメッセージを応答する。
【００９６】
再び図１４Ａに戻り、チャットボットｂでの印刷が完了すると、チャットルームＡにおいて、チャットボットｃは
「チャットボットｂの印刷が完了しました」
とのメッセージを送信する。
【００９７】
この場合にも、ユーザＢはチャットボットｂを利用可能な状態にしていないにもかかわらず、自己のメッセージに応答してチャットボットｂで印刷処理が実行される。また、動作制御部１６３は、図１１に示されるような機能継承テーブルを参照する必要がない。さらに、チャットルームＢが新たに作成されるものの、ユーザＢはチャットルームＢにおいて別途、チャットボットｂに対して印刷指示する必要がない。すなわち、チャットルームＢでのメッセージのやり取りは、チャットボット同士のやり取りである。
【００９８】
図１４Ｂでは、チャットルームＢにおいてチャットボットｃがチャットボットｂに対して印刷依頼のメッセージを送信し、チャットボットｂはこのメッセージに応答して印刷処理を実行しているが、チャットボットｂがチャットボットｃからの印刷依頼のメッセージに対して出力権限を有せず、チャットボットｂを登録したユーザＢからのメッセージのみに応答して出力するように制御する場合もあり得る。この場合、動作制御部１６３は、チャットボットｃからチャットボットｂに対して印刷依頼のメッセージを送信するのではなく、ユーザＢを招待するように制御する。
【００９９】
図１５は、この場合の画面例を示す。図１４Ｂと同様に、チャットルームＢにおける画面例である。図１４Ｂと同様に、動作制御部１６３は、
「チャットボットｃがチャットボットｂを招待しました」
とのメッセージを送信する。そして、ユーザＡから送信された写真をチャットルームＢに送信するとともに、チャットボットｃから
「チャットボットｂ、ユーザＢからの印刷依頼です」
とのメッセージを送信させるように制御する。
【０１００】
チャットルームに招待されて利用可能な状態にあるチャットボットｂは、チャットボットｃからのメッセージに対し、出力権限がない場合には
「チャットボットｃ、あなたには印刷権限がありません」
とのメッセージを応答して印刷処理を実行しない。動作制御部１６３は、チャットボットｃに対して
「ユーザＢを招待します」
とのメッセージを送信させるように制御し、ユーザＢをチャットルームＢに招待する。招待が完了すると、
「チャットボットｃがユーザＢを招待しました」
とのメッセージを送信する。
【０１０１】
これにより、ユーザＢ及びチャットボットｂがともにチャットルームＢに招待されたことになるので、ユーザＢからの指示に応じてチャットボットｂでの印刷処理が可能になる。具体的には、チャットボットｃは、
「ユーザＢ、チャットボットｂへの印刷指示をお願いします」
とのメッセージを送信してユーザＢに促す。ユーザＢは、このメッセージに応じて
「プリント」
とのメッセージを送信する。チャットボットｂは、ユーザＢからのメッセージに対して
「印刷します」
と応答し、写真を印刷処理する。印刷処理が完了すると
「印刷完了しました」
とのメッセージを送信する。また、チャットボットｃは、チャットボットｂでの印刷処理が完了すると、
「チャットルームＡに印刷完了を通知します」
とのメッセージを送信する。
【０１０２】
なお、図１５では、チャットルームＢにユーザＢも招待されており、チャットルームＢにおいて印刷指示もしているので、チャットボットｃによる
「チャットルームＡに印刷完了を通知します」
とのメッセージ送信は省略し得る。
【０１０３】
また、図１４Ａ及び図１４Ｂでは、ユーザＢが印刷指示を行っているが、ユーザＢが複数回の印刷指示を行った場合、動作制御部１６３は、２回目以降の印刷指示についてはさらに別のチャットルームを作成して当該印刷指示を処理してもよい。
【０１０４】
図１６Ａ及び図１６Ｂは、この場合の画面例を示す。図１６ＡはチャットルームＡでの画面例であり、図１６ＢはチャットルームＣでの画面例である。なお、チャットルームＢの画面例は、図１４Ｂに示す画面例と同様であるので図示は省略する。
【０１０５】
まず、図１６Ａに示すように、画面には、
「ユーザＡがチャットボットｃを招待しました」
「ユーザＢがチャットボットｂを招待しました」
とのメッセージが表示され、ユーザＡがチャットボットｃを招待したこと、及びこれに続いてユーザＢがチャットボットｂを招待したことが示される。
【０１０６】
しかし、チャットルームＡでは１つのチャットボットのみが許可され、２つ以上のチャットボットの存在は制限される。このため、動作制御部１６３は、最初に招待されたチャットボットｂから
「チャットボットｂをチャットルームＢに移動します」
とのメッセージを応答させてチャットルームＢを作成し、さらに、
「チャットボットｂを削除します」
とのメッセージを削除してチャットルームＡに対するチャットボットｂの招待を削除する。
【０１０７】
次に、ユーザＡが写真Ａを送信し、これに対してユーザＢが
「プリント」
とのメッセージを送信すると、チャットボットｃが
「チャットボットｂに印刷指示します」
とのメッセージを応答する。
【０１０８】
チャットルームＢにおいてチャットボットｂでの印刷が完了すると、チャットルームＡにおいて、チャットボットｃは
「チャットボットｂの印刷が完了しました」
とのメッセージを送信する。
【０１０９】
この後、ユーザＡがさらに写真Ｂを送信し、これに対してユーザＢが２回目の印刷指示として
「これもプリント」
とのメッセージを送信すると、動作制御部１６３は、チャットボットｃに対して
「ユーザＢ、ファイルをチャットルームＣに転送したので、チャットルームＣでチャットボットｂに印刷指示して下さい」
とのメッセージを応答させるように制御し、かつ、チャットルームＡ、チャットルームＢと異なる第３のチャットルームＣを作成して写真Ｂを転送する。
【０１１０】
図１６Ｂにおいて、チャットボットｃから写真Ｂが転送され、さらに、
「ユーザＢ、チャットボットｂへの印刷指示をお願いします」
とのメッセージが送信される。
【０１１１】
ユーザＢは、このメッセージに対して
「プリント」
とのメッセージを送信すると、チャットボットｂがメッセージに応答して印刷処理を実行する。印刷処理が完了すると、
「印刷完了しました」
とのメッセージを送信する。また、チャットボットｃは、
「チャットルームＡに印刷完了を通知します」
とのメッセージを送信する。
【０１１２】
以上、本発明の実施形態について説明したが、本発明はこれらの実施形態に限定されるものではなく、種々の変形が可能である。以下、変形例について説明する。
【０１１３】
＜変形例１＞
実施形態では、チャットボットとして、ユーザからのメッセージに応じてプリントサービスを提供するチャットボットを例にとり説明しているが、これ以外にもチャットボットは任意のサービスを提供し得る。これらのサービスを例示すると以下の通りである。
・音楽、ニュース記事、宿泊施設、書籍、料理レシピ等の検索サービス
・チケット予約サービス
・フリーマーケットへの出品／検索／取引連絡サービス
・他言語への翻訳サービス
【０１１４】
図１７は、翻訳サービスを実行する場合のシステム構成図を示す。図１と異なり、プリンタＡ（１８Ａ）、プリンタＢ（１８Ｂ）、プリンタＣ（１８Ｃ）に代えて、外部機器として翻訳エンジンＡ（１９Ａ）、翻訳エンジン（１９Ｂ）、翻訳エンジンＣ（１９Ｃ）が備えられる。翻訳エンジンＡは、日本語を英語に翻訳するプログラム（及び当該プログラムがインストールされた翻訳機器）であり、翻訳エンジンＢは、日本語を中国語に翻訳するプログラム（及び当該プログラムがインストールされた翻訳機器）であり、翻訳エンジンＣは、日本語をスペイン後に翻訳するプログラム（及び当該プログラムがインストールされた翻訳機器）である。
【０１１５】
ユーザＡが、翻訳エンジンＡを選択し、英訳に続いて元の日本語を表示するようなフォーマットを設定情報として設定して登録する。これにより、ユーザＡがチャットボットに対して
「今日は空いていますか？」
とのメッセージを送信すると、チャットボットは、翻訳エンジンＡを駆動して
「Are you free today?」
「今日は空いていますか？」
とのメッセージを自動応答する。
【０１１６】
１つのチャットボットが連携する翻訳エンジン数に上限（例えば２つ）あり、既に翻訳エンジンＡ及び翻訳エンジンＢと連携しており、ユーザが翻訳エンジンＣによる翻訳を所望した場合、新たにチャットボットを追加して、追加チャットボットと翻訳エンジンＣを対応付ける。
【０１１７】
同一チャットルームに１つのチャットボットしか存在し得ないように制限する場合、図１１に示すような機能継承テーブルに従って他のチャットボットに翻訳処理させ、あるいいは別のチャットルームに誘導して他のチャットボットに翻訳処理させ得る。
【０１１８】
検索サービスの場合には、外部機器として翻訳エンジンに代えて検索エンジンが使用され得る。この場合の設定情報は検索条件であり、例えば宿泊施設の検索では、日数、料金、ホテルのグレード、人数等が含まれ得る。検索条件の切替回数が上限に達した場合、新たにチャットボットを追加して、追加チャットボットと特定検索条件の検索エンジンを対応付ける。プリンタと印刷条件の組合せは、検索エンジンと検索条件の組合せに置換され得る。
【０１１９】
＜変形例２＞
実施形態では、図１４Ｂに示すようにチャットルームＢでは２つのチャットボットの存在を許容しているが、チャットルームＢもチャットルームＡと同様に１つのチャットボットの存在に制限する場合には、動作制御部１６３は、チャットルームＢにおいてチャットボットｂのみを招待し、チャットボットｂに対してチャットルームＡにおいてなされているユーザＢからのメッセージをそのままチャットルームＢに反映させて印刷指示してもよい。
【０１２０】
＜変形例３＞
実施形態では、動作制御部１６３がチャットボット間の機能継承や別チャットルームの作成、及び別チャットルームへのユーザの誘導を実行しているが、動作制御部１６３とは別の制御部あるいは制御モジュールがチャットボット管理エージェントとしてこれらの処理を実行してもよい。
【０１２１】
＜変形例４＞
実施形態において、ユーザＡがチャットボットｃをチャットルームＡに招待し、その後にユーザＢから印刷指示が送信された場合に、動作制御部１６３は、ユーザＢからの指示はユーザＢが登録しているもののチャットルームには招待していないチャットボットｂに対する印刷指示であると解釈し、当該印刷指示を実行するために一時的にチャットボットｃとチャットボットｂを交換（スワップ）してもよい。
【０１２２】
図１８は、この場合の画面例を示す。画面には、
「ユーザＡがチャットボットｃを招待しました」
「ユーザＢがチャットボットｂを招待しました」
とのメッセージが表示され、ユーザＡがチャットボットｃを招待したこと、及びこれに続いてユーザＢがチャットボットｂを招待したことが示される。
【０１２３】
しかし、このチャットルームでは１つのチャットボットのみが許容され、２つ以上のチャットボットの存在は制限される。このため、動作制御部１６３は、最初に招待されたチャットボットｃから
「チャットボットｂを削除します」
とのメッセージを送信してチャットルームに対するチャットボットｂの招待を削除する。
【０１２４】
次に、ユーザＡが写真を送信し、これに対してユーザＢが
「プリント」
とメッセージを送信すると、動作制御部１６３は、ユーザＢからの印刷指示は、削除されたチャットボットｂに対する印刷指示であると解釈し、チャットボットｃを一時的にチャットボットｂに交換する。このため、チャットボットｃは
「チャットボットｂと交代します」
とのメッセージを送信し、チャットボットｃを削除して代わりにチャットボットｂをチャットルームに招待する。
【０１２５】
チャットルームに招待されたアイコン２０２で示されるチャットボットｂは、ユーザＢからの指示に対し
「印刷します」
とのメッセージを応答して印刷処理を実行する。印刷処理が完了すると、
「印刷が完了しました」
とのメッセージを送信する。
【０１２６】
印刷処理が完了すると、動作制御部１６３は、再びチャットボットｂをチャットボットｃに交換する。すなわち、チャットボットｂは
「チャットボットｃと交代します」
とのメッセージを送信し、チャットボットｂを削除して代わりにチャットボットｃを再びチャットルームに招待する。
【０１２７】
図１８において、チャットルームにおいて利用可能な状態となっているのはチャットボットｃあるいはチャットボットｂのいずれか１つである点に留意されたい。動作制御部１６３は、ユーザＢによるチャットボットｂの招待の操作により、ユーザＢがチャットボットｂを利用する意思を有していることを客観的に検知し得る。
【符号の説明】
【０１２８】
１０Ａ  ユーザ端末Ａ、１０Ｂ  ユーザ端末Ｂ、１０Ｃ  ユーザ端末Ｃ、１２  クラウド、１４  チャットサービスサーバ、１６Ａ  ボットサーバＡ、１６Ｂ  ボットサーバ１６Ｂ、１８Ａ  プリンタＡ、１８Ｂ  プリンタＢ、１８Ｃ  プリンタＣ。
【図１】
2020155000.tif 000003
【図２】
2020155000.tif 000004
【図３】
2020155000.tif 000005
【図４】
2020155000.tif 000006
【図５】
2020155000.tif 000007
【図６】
2020155000.tif 000008
【図７】
2020155000.tif 000009
【図８】
2020155000.tif 000010
【図９】
2020155000.tif 000011
【図１０】
2020155000.tif 000012
【図１１】
2020155000.tif 000013
【図１２】
2020155000.tif 000014
【図１３】
2020155000.tif 000015
【図１４Ａ】
2020155000.tif 000016
【図１４Ｂ】
2020155000.tif 000017
【図１５】
2020155000.tif 000018
【図１６Ａ】
2020155000.tif 000019
【図１６Ｂ】
2020155000.tif 000020
【図１７】
2020155000.tif 000021
【図１８】
2020155000.tif 000022