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