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