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