IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士ゼロックス株式会社の特許一覧

<>
  • 特許-情報処理装置及びプログラム 図1
  • 特許-情報処理装置及びプログラム 図2
  • 特許-情報処理装置及びプログラム 図3
  • 特許-情報処理装置及びプログラム 図4
  • 特許-情報処理装置及びプログラム 図5
  • 特許-情報処理装置及びプログラム 図6
  • 特許-情報処理装置及びプログラム 図7
  • 特許-情報処理装置及びプログラム 図8
  • 特許-情報処理装置及びプログラム 図9
  • 特許-情報処理装置及びプログラム 図10
  • 特許-情報処理装置及びプログラム 図11
  • 特許-情報処理装置及びプログラム 図12
  • 特許-情報処理装置及びプログラム 図13
  • 特許-情報処理装置及びプログラム 図14
  • 特許-情報処理装置及びプログラム 図15
  • 特許-情報処理装置及びプログラム 図16
  • 特許-情報処理装置及びプログラム 図17
  • 特許-情報処理装置及びプログラム 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-05
(45)【発行日】2022-12-13
(54)【発明の名称】情報処理装置及びプログラム
(51)【国際特許分類】
   H04L 51/04 20220101AFI20221206BHJP
   G06F 3/12 20060101ALI20221206BHJP
   G06Q 10/10 20120101ALI20221206BHJP
   G06Q 50/10 20120101ALI20221206BHJP
【FI】
H04L51/04
G06F3/12 303
G06F3/12 326
G06F3/12 332
G06F3/12 336
G06F3/12 355
G06F3/12 356
G06F3/12 359
G06F3/12 369
G06Q10/10 330
G06Q50/10
【請求項の数】 14
(21)【出願番号】P 2018178263
(22)【出願日】2018-09-25
(65)【公開番号】P2020052481
(43)【公開日】2020-04-02
【審査請求日】2021-09-06
(73)【特許権者】
【識別番号】000005496
【氏名又は名称】富士フイルムビジネスイノベーション株式会社
(74)【代理人】
【識別番号】110001210
【氏名又は名称】弁理士法人YKI国際特許事務所
(72)【発明者】
【氏名】大林 信幸
(72)【発明者】
【氏名】黒川 正樹
(72)【発明者】
【氏名】野村 賢次
(72)【発明者】
【氏名】笹前 守
(72)【発明者】
【氏名】小林 裕次郎
(72)【発明者】
【氏名】武井 優明
(72)【発明者】
【氏名】油布 憲治
【審査官】岩田 玲彦
(56)【参考文献】
【文献】特開2018-128843(JP,A)
【文献】特開2000-041123(JP,A)
【文献】特開2014-168183(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 51/04
G06F 3/12
G06Q 10/10
G06Q 50/10
(57)【特許請求の範囲】
【請求項1】
グループチャットに参加する複数のユーザのそれぞれに対応する出力機器の情報を記憶する記憶手段と、
前記複数のユーザのいずれか一人がデータの出力指示を示す投稿を前記グループチャット上で行った場合に、前記出力指示を示す投稿、又はその投稿を行ったユーザによる前記グループチャット上での他の投稿、に基づき、前記複数のユーザのうち、前記出力指示を示す投稿をしていないユーザを含む1以上の出力先ユーザを特定し、前記記憶手段に記憶された情報に従い、特定した前記1以上の出力先ユーザのそれぞれに対応する出力機器から前記データを出力するための制御を行う制御手段と、
を含む情報処理装置。
【請求項2】
前記複数のユーザのそれぞれに対応する出力機器の性能を示す性能情報を取得する手段、を更に含み、
前記制御手段は、前記出力先ユーザのそれぞれに対応する前記出力機器の中に前記出力指示に対応する出力設定での出力が不可能な性能のものがある場合、その不可能な性能の出力機器で出力可能とするための対処処理を実行する、
請求項1に記載の情報処理装置。
【請求項3】
前記制御手段は、前記対処処理として、前記出力先ユーザに対応する前記出力機器のすべてが満足可能な出力設定を提案する第2の投稿を、前記出力指示を行ったユーザに対して行い、第2の投稿で提案した前記出力設定を受け入れる旨の第3の投稿がそのユーザからあった場合に、第2の投稿で提案した前記出力設定に設定変更する、請求項2に記載の情報処理装置。
【請求項4】
前記制御手段は、前記対処処理として、前記出力先ユーザのそれぞれに対応する前記出力機器のうち前記出力設定での出力が不可能な性能の出力機器ごとに個別に、当該出力機器の性能で出力が可能な出力設定に変更する提案を行う第4の投稿を行い、第4の投稿に対して前記出力指示を行ったユーザ又は当該出力機器に対応付けられたユーザから、その提案を受け入れる旨の第5の投稿があった場合に、その提案した出力設定に変更して前記データを当該出力機器から出力するように制御する、請求項2に記載の情報処理装置。
【請求項5】
前記制御手段は、前記出力指示を行ったユーザから、対処を委せる旨の投稿があった場 合、前記対処処理として、前記出力先ユーザのそれぞれに対応する前記出力機器ごとに、当該出力機器の性能で出力可能な状態に前記データを変換し、変換後の前記データを当該出力機器から出力するように制御する、請求項2に記載の情報処理装置。
【請求項6】
グループチャットに参加する複数のユーザのそれぞれに対応する出力機器の情報を記憶する記憶手段と、
前記複数のユーザのいずれか一人がデータの出力指示を示す投稿を前記グループチャット上で行った場合に、前記記憶手段に記憶された情報に従い、前記複数のユーザのうちの前記出力指示を示す投稿をしていないユーザを含む1以上の出力先ユーザのそれぞれに対応する出力機器から前記データを出力するための制御を行う制御手段と、
を含み、
前記制御手段は、前記グループチャット上でのいずれかの前記ユーザの投稿に応じて、前記グループチャットにおける動作モードを特定モードと非特定モードのいずれかに切り替え、前記特定モードである間にいずれかの前記ユーザがデータの出力指示を示す投稿を行った場合には、前記グループチャットのすべての前記ユーザを前記出力先ユーザとし、それら出力先ユーザそれぞれに対応する前記出力機器ら前記データが出力されるようにする制御を行う、情報処理装置。
【請求項7】
前記制御手段は、前記特定モードにおいて、前記出力機器に対応する種類のデータの投稿があった場合は、そのデータについての出力指示を示す投稿がなくても、そのデータの出力指示がなされたものとみなす制御を行う、請求項6に記載の情報処理装置。
【請求項8】
前記データの投稿に関して、その投稿を行ったユーザと同じユーザからそのデータが出力不要であることを示す投稿があった場合は、そのデータについては、そのデータの出力指示がなされたものとみなす制御は行わない、請求項7に記載の情報処理装置。
【請求項9】
前記制御手段は、前記非特定モードにおいて、前記ユーザからデータの出力指示を示す投稿があった場合、その投稿に出力先のユーザの指定が含まれていれば、その出力先のユーザに対応する出力機器から前記データを出力するよう制御する、請求項6~8のいずれか1項に記載の情報処理装置。
【請求項10】
前記制御手段は、前記非特定モードにおいて、前記ユーザからデータの出力指示を示す投稿があった場合、その投稿に出力先のユーザの指定が含まれていない場合、その出力指示を示す投稿を行ったユーザに対応する出力機器から前記データを出力するよう制御する、請求項6~9のいずれか1項に記載の情報処理装置。
【請求項11】
前記制御手段は、データの出力指示を示す投稿に関して、第1の出力先ユーザに対応する出力機器が前記記憶手段に記憶されていない場合、前記第1の出力先ユーザに対して前記データの出力に関して希望する取扱を尋ねる投稿を行い、この投稿に対して前記第1の出力先ユーザから、第2の出力先ユーザに対応する出力機器から当該データを出力することを希望する旨の投稿があった場合は、前記第1の出力先ユーザ用の出力を前記第2の出力先ユーザに対応する出力機器から行うよう制御する、請求項1~10のいずれか1項に記載の情報処理装置。
【請求項12】
前記制御手段は、データの出力指示を示す投稿に関して、前記グループチャットにおいて第1の出力先ユーザから、第2の出力先ユーザに対応する出力機器から当該データを出力することを希望する旨の投稿があった場合は、前記第1の出力先ユーザ用の出力を前記第2の出力先ユーザに対応する出力機器から行うよう制御する、請求項1~10のいずれか1項に記載の情報処理装置。
【請求項13】
前記制御手段は、前記第1の出力先ユーザから、前記第2の出力先ユーザに対応する出力機器から当該データを出力することを希望する旨の投稿があった場合に、前記第2の出力先ユーザに対して前記第1の出力先ユーザ用の出力を許可するか否かを問い合わせる発言を行い、その発言に対して前記第2の出力先ユーザから許可する旨の発言があった場合に、前記第1の出力先ユーザ用の出力を前記第2の出力先ユーザに対応する出力機器から行うよう制御する、請求項11又は12に記載の情報処理装置。
【請求項14】
コンピュータを、
グループチャットに参加する複数のユーザのそれぞれに対応する出力機器の情報を記憶する記憶手段、
前記複数のユーザのいずれか一人がデータの出力指示を示す投稿前記グループチャット上で行った場合に、前記出力指示を示す投稿、又はその投稿を行ったユーザによる前記グループチャット上での他の投稿、に基づき、前記複数のユーザのうち、前記出力指示を示す投稿をしていないユーザを含む1以上の出力先ユーザを特定し、前記記憶手段に記憶された情報に従い、特定した前記1以上の出力先ユーザのそれぞれに対応する出力機器から前記データを出力するための制御を行う制御手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【0002】
チャットサービス上でのユーザの発言から機器への操作指示を認識し、その機器を操作するソフトウエアロボット(以下、「チャットボット」又は単に「ボット」と呼ぶ)がある。例えば、ユーザが、印刷装置を制御するボットをチャットサービスに登録し、そのボットとの一対一チャットで、ユーザからボットへ印刷を指示するシステムがある。この従来システムでは、ボットにはそのユーザに対応する印刷装置が登録されており、ユーザがボットに印刷指示を行うと、その登録された印刷装置から印刷が行われる。
【0003】
特許文献1に開示される情報提供システムは、ユーザ端末で実行されるインスタントメッセージングアプリケーションを介してユーザが人工知能ソフトウエアプログラムで実現される仮想の友だちの通訳ソフトウエアロボットをユーザが友だちに追加されるようにする。そして、ユーザが通訳ソフトウエアロボットをトークセッションを介して第1言語のメッセージを入力して送信すれば、情報提供システムは、第1言語のメッセージと共に、またはこれに代替して第2言語に翻訳された第2言語のメッセージを生成してユーザ及び対話相手方に提供する。
【0004】
特許文献2に開示された制御サーバは、解析部が解析したメッセージの内容が、所定の電気機器に対する制御指示である場合に、当該制御指示に応じたメッセージであって、電気機器がメッセージの主体であることを連想させる表現を含むメッセージを電子伝言板に書き込む。
【0005】
特許文献3に開示された方法は、インスタントメッセージングアプリケーションを介した情報提供方法において、ユーザ端末のメッセージングアプリケーションを介してユーザがソフトウエアロボットに送信するメッセージを受信し、前記メッセージをクエリとしてデータベースから応答を検索し、前記ユーザ端末のメッセージングアプリケーションを介して前記応答を前記ユーザに送信する。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2015-179519号公報
【文献】特開2015-144027号公報
【文献】特開2014-225268号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
出力機器を操作するボットをグループチャットに参加させる場合を考える。この場合、ボットにはグループチャットのためのグループ共用の出力機器を登録することが考えられる。この場合、ボットはグループチャット上でデータの出力指示を受けると、その出力機器にそのデータを出力させることとなる。しかし、グループチャットに参加するユーザが互いに遠隔の地にいる場合もあり、そのボットに登録された出力機器が、それらユーザのすべてにとって便利であるとは限らない。例えばボットに登録された出力機器が近くにないユーザは、出力機器からのデータの出力を得ることができない。
【0008】
本発明は、グループチャットに参加するボットにグループ共用の出力機器を登録する方式と比べて、グループチャットに参加する一人のユーザから行われた出力指示の発言に応じて、出力指示の発言をしていないユーザを含む個々の出力先ユーザに便利な出力機器から出力できる仕組みを提供する。
【課題を解決するための手段】
【0009】
請求項1に係る発明は、グループチャットに参加する複数のユーザのそれぞれに対応する出力機器の情報を記憶する記憶手段と、前記複数のユーザのいずれか一人がデータの出力指示を示す投稿を前記グループチャット上で行った場合に、前記出力指示を示す投稿、又はその投稿を行ったユーザによる前記グループチャット上での他の投稿、に基づき、前記複数のユーザのうち、前記出力指示を示す投稿をしていないユーザを含む1以上の出力先ユーザを特定し、前記記憶手段に記憶された情報に従い、特定した前記1以上の出力先ユーザのそれぞれに対応する出力機器から前記データを出力するための制御を行う制御手段と、を含む情報処理装置である。
【0010】
請求項2に係る発明は、前記複数のユーザのそれぞれに対応する出力機器の性能を示す性能情報を取得する手段、を更に含み、前記制御手段は、前記出力先ユーザのそれぞれに対応する前記出力機器の中に前記出力指示に対応する出力設定での出力が不可能な性能のものがある場合、その不可能な性能の出力機器で出力可能とするための対処処理を実行する、請求項1に記載の情報処理装置である。
【0011】
請求項3に係る発明は、前記制御手段は、前記対処処理として、前記出力先ユーザに対応する前記出力機器のすべてが満足可能な出力設定を提案する第2の投稿を、前記出力指示を行ったユーザに対して行い、第2の投稿で提案した前記出力設定を受け入れる旨の第3の投稿がそのユーザからあった場合に、第2の投稿で提案した前記出力設定に設定変更する、請求項2に記載の情報処理装置である。
【0012】
請求項4に係る発明は、前記制御手段は、前記対処処理として、前記出力先ユーザのそれぞれに対応する前記出力機器のうち前記出力設定での出力が不可能な性能の出力機器ごとに個別に、当該出力機器の性能で出力が可能な出力設定に変更する提案を行う第4の投稿を行い、第4の投稿に対して前記出力指示を行ったユーザ又は当該出力機器に対応付けられたユーザから、その提案を受け入れる旨の第5の投稿があった場合に、その提案した出力設定に変更して前記データを当該出力機器から出力するように制御する、請求項2に記載の情報処理装置である。
【0013】
請求項5に係る発明は、前記制御手段は、前記出力指示を行ったユーザから、対処を委せる旨の投稿があった場合、前記対処処理として、前記出力先ユーザのそれぞれに対応する前記出力機器ごとに、当該出力機器の性能で出力可能な状態に前記データを変換し、変換後の前記データを当該出力機器から出力するように制御する、請求項2に記載の情報処理装置である。
【0014】
請求項6に係る発明は、グループチャットに参加する複数のユーザのそれぞれに対応する出力機器の情報を記憶する記憶手段と、前記複数のユーザのいずれか一人がデータの出力指示を示す投稿を前記グループチャット上で行った場合に、前記記憶手段に記憶された情報に従い、前記複数のユーザのうちの前記出力指示を示す投稿をしていないユーザを含む1以上の出力先ユーザのそれぞれに対応する出力機器から前記データを出力するための制御を行う制御手段と、を含み、前記制御手段は、前記グループチャット上でのいずれかの前記ユーザの投稿に応じて、前記グループチャットにおける動作モードを特定モードと非特定モードのいずれかに切り替え、前記特定モードである間にいずれかの前記ユーザがデータの出力指示を示す投稿を行った場合には、前記グループチャットのすべての前記ユーザを前記出力先ユーザとし、それら出力先ユーザそれぞれに対応する前記出力機器ら前記データが出力されるようにする制御を行う、情報処理装置である。
【0015】
請求項7に係る発明は、前記制御手段は、前記特定モードにおいて、前記出力機器に対応する種類のデータの投稿があった場合は、そのデータについての出力指示を示す投稿がなくても、そのデータの出力指示がなされたものとみなす制御を行う、請求項6に記載の情報処理装置。
【0016】
請求項8に係る発明は、前記データの投稿に関して、その投稿を行ったユーザと同じユーザからそのデータが出力不要であることを示す投稿があった場合は、そのデータについては、そのデータの出力指示がなされたものとみなす制御は行わない、請求項7に記載の情報処理装置である。
【0017】
請求項9に係る発明は、前記制御手段は、前記非特定モードにおいて、前記ユーザからデータの出力指示を示す投稿があった場合、その投稿に出力先のユーザの指定が含まれていれば、その出力先のユーザに対応する出力機器から前記データを出力するよう制御する、請求項6~8のいずれか1項に記載の情報処理装置である。
【0018】
請求項10に係る発明は、前記制御手段は、前記非特定モードにおいて、前記ユーザからデータの出力指示を示す投稿があった場合、その投稿に出力先のユーザの指定が含まれていない場合、その出力指示を示す投稿を行ったユーザに対応する出力機器から前記データを出力するよう制御する、請求項6~9のいずれか1項に記載の情報処理装置である。
【0019】
請求項11に係る発明は、前記制御手段は、データの出力指示を示す投稿に関して、第1の出力先ユーザに対応する出力機器が前記記憶手段に記憶されていない場合、前記第1の出力先ユーザに対して前記データの出力に関して希望する取扱を尋ねる投稿を行い、この投稿に対して前記第1の出力先ユーザから、第2の出力先ユーザに対応する出力機器から当該データを出力することを希望する旨の投稿があった場合は、前記第1の出力先ユーザ用の出力を前記第2の出力先ユーザに対応する出力機器から行うよう制御する、請求項1~10のいずれか1項に記載の情報処理装置である。
【0020】
請求項12に係る発明は、前記制御手段は、データの出力指示を示す投稿に関して、前記グループチャットにおいて第1の出力先ユーザから、第2の出力先ユーザに対応する出力機器から当該データを出力することを希望する旨の投稿があった場合は、前記第1の出力先ユーザ用の出力を前記第2の出力先ユーザに対応する出力機器から行うよう制御する、請求項1~10のいずれか1項に記載の情報処理装置である。
【0021】
請求項13に係る発明は、前記制御手段は、前記第1の出力先ユーザから、前記第2の出力先ユーザに対応する出力機器から当該データを出力することを希望する旨の投稿があった場合に、前記第2の出力先ユーザに対して前記第1の出力先ユーザ用の出力を許可するか否かを問い合わせる発言を行い、その発言に対して前記第2の出力先ユーザから許可する旨の発言があった場合に、前記第1の出力先ユーザ用の出力を前記第2の出力先ユーザに対応する出力機器から行うよう制御する、請求項11又は12に記載の情報処理装置である。
【0022】
請求項14に係る発明は、コンピュータを、グループチャットに参加する複数のユーザのそれぞれに対応する出力機器の情報を記憶する記憶手段、前記複数のユーザのいずれか一人がデータの出力指示を示す投稿を前記グループチャット上で行った場合に、前記出力指示を示す投稿、又はその投稿を行ったユーザによる前記グループチャット上での他の投稿、に基づき、前記複数のユーザのうち、前記出力指示を示す投稿をしていないユーザを含む1以上の出力先ユーザを特定し、前記記憶手段に記憶された情報に従い、特定した前記1以上の出力先ユーザのそれぞれに対応する出力機器から前記データを出力するための制御を行う制御手段、として機能させるためのプログラムである。
【発明の効果】
【0023】
請求項1又は14に係る発明によれば、グループチャットに参加するチャットボットにグループ共用の出力機器を登録する方式と比べて、グループチャットに参加する一人のユーザから行われたデータ出力指示の発言に応じて、出力指示の発言をしていないユーザを含むそのグループチャットの個々の出力先ユーザに便利な出力機器から出力できる。
【0024】
請求項2、3、4又は5に係る発明によれば、出力先ユーザのそれぞれに対応する出力機器の中に出力指示に対応する出力設定での出力が不可能な性能のものがある場合に、出力指示を行ったユーザ又は出力先ユーザの希望に従ってそれら各出力機器から出力可能な設定に変更することができる。
【0025】
請求項6に係る発明によれば、特定モードである間は、出力指示を行うユーザは出力先を指定しなくても、グループチャットのすべてのユーザに対応する出力機器から出力させることができる。
【0026】
請求項7に係る発明によれば、特定モードにおいては出力機器に対応する種類のデータをグループチャットに投稿すれば、データの出力のための明示的な指示を行わなくても各ユーザの出力機器から出力させることができる。
【0027】
請求項8に係る発明によれば、データを投稿しただけで出力指示とみなされる場合に、投稿した者がその出力指示を取り消すことができる。
【0028】
請求項9に係る発明によれば、非特定モードでは、出力指示に指定された出力先ユーザに対応する出力機器からデータを出力することができる。
【0029】
請求項10に係る発明によれば、非特定モードでは、出力先の指定がない場合、出力指示を行ったユーザに対応する出力機器から出力することができる。
【0030】
請求項11に係る発明によれば、対応する出力機器が記憶手段に記憶されていないユーザから、他のユーザに対応する出力機器からの出力の希望を受けることができる。
【0031】
請求項12に係る発明によれば、自分に対応する出力機器の場所とは別の、他のユーザ(第2の出力先ユーザ)に対応する出力機器に近い場所に居るユーザ(第1の出力先ユーザ)が、当該他のユーザに対応する出力機器からの出力を希望することができる。
【0032】
請求項13に係る発明によれば、第1の出力先ユーザが希望しても、第2の出力先ユーザが望まない場合には、第2の出力先ユーザに対応する出力機器から第1の出力先ユーザのための出力を行わないようにすることができる。
【図面の簡単な説明】
【0033】
図1】実施形態1のシステム構成図である。
図2】実施形態1の機能ブロック図である。
図3】実施形態1の構成ブロック図である。
図4】ユーザ情報テーブルの説明図である。
図5】グループ情報テーブルの説明図である。
図6】チャットボットの処理手順を例示する図である。
図7図6の手順に対応するグループチャットの画面表示の例を示す図である。
図8】印刷設定通りの印刷ができない登録プリンタへの対処を含むチャットボットの処理手順を例示する図である。
図9図8の手順に対応するグループチャットの画面表示の例を示す図である。
図10】印刷設定通りの印刷ができない登録プリンタへの対処を含むチャットボットの処理手順の別の例を示す図である。
図11図10の手順に対応するグループチャットの画面表示の例を示す図である。
図12】印刷設定通りの印刷ができない登録プリンタへの対処を含むチャットボットの処理の別の例における、グループチャットの画面表示の例を示す図である。
図13】会議モードでの処理を含むチャットボットの処理手順を例示する図である。
図14図13の手順に対応するグループチャットの画面表示の例を示す図である。
図15】プリンタ未登録のチャット参加者についての処理を含むチャットボットの処理手順の一部を例示する図である。
図16図15の手順に対応するグループチャットの画面表示の例を示す図である。
図17】登録プリンタとは別のプリンタから出力するための処理を含むチャットボットの処理手順の一部を例示する図である。
図18図17の手順に対応するグループチャットの画面表示の例を示す図である。
【発明を実施するための形態】
【0034】
以下、図面に基づき本発明の実施形態について、チャットボットとして、ユーザからのメッセージに応じて印刷サービスを提供するチャットボットを例にとり説明する。
【0035】
<実施形態1>
図1は、実施形態におけるメッセージサービスシステムの全体構成図を示す。メッセージサービスシステムは、ユーザ端末A(10A)~ユーザ端末C(10C)、チャットサービスサーバ14、ボットサーバA(16A)~ボットサーバB(16B)、及びプリンタa(18a)~プリンタc(18c)を備える。
【0036】
ユーザ端末A(10A)~ユーザ端末C(10C)は、メッセージサービスのユーザが利用する端末であり、スマートフォンやタブレット端末、PC(パーソナルコンピュータ)等の情報端末である。図では、ユーザ端末A(10A)、ユーザ端末B(10B)、ユーザ端末C(10C)の3台を示しているが、その数は任意である。ユーザは、ユーザ端末A(10A)~ユーザ端末C(10C)を操作してクラウド12上のチャットサービスサーバ14にアクセスし、他のユーザやチャットボットとメッセージ等をやり取りする。以下では、ユーザAがユーザ端末Aを操作し、ユーザBがユーザ端末Bを操作し、ユーザCがユーザ端末Cを操作するものとする。ユーザ端末A(10A)~ユーザ端末C(10C)とチャットサービスサーバ14は、有線あるいは無線の通信ネットワークでデータ送受信可能に接続される。通信ネットワークの一例はインターネット等の公衆回線であるが、専用回線でもよい。
【0037】
チャットサービスサーバ14は、クラウド12上に配置されたクラウドサーバであり、チャットサービスを提供するサーバである。チャットサービスサーバ14は、1又は複数のサーバコンピュータで構成される。チャットサービスサーバ14は、ユーザ端末A~ユーザ端末Cに対するメッセージ等の送受信処理、及びメッセージ送受信の表示画面表示等、メッセージのやり取りに関する処理全般を実行する。チャットサービスサーバ14は、2人のメンバ間のメッセージ等のやり取りを処理する他に、3人以上のメンバでグループを形成し、グループ内でのメッセージ等のやり取りを処理することができる。以下では、2人のメンバ間でメッセージ等のやり取りを行なうこと、及びそのやり取りを行なう場のことを、一対一チャット又はピア・ツー・ピアチャットと呼ぶ。また、3人以上のメンバで形成したグループ内でメッセージ等のやり取りを行なうこと、及びそのやり取りを行なう場のことを、グループチャットと呼ぶ。チャットサービスサーバ14は、グループチャットごとに、そのグループチャットに所属するメンバの識別子(例、ユーザID)のリストを保持する。さらに、チャットサービスサーバ14は、ボットサーバA(16A)、ボットサーバB(16B)と協働し、ボットサーバ16A,16Bにより提供されるチャットボットに対するメッセージ等のやり取りを処理する。本実施形態においてチャットボットは、チャット上でメッセージ等のやり取りを行なう「メンバ」の1人として取り扱う。すなわち、メンバには、実在する人物との関連付けがなされたユーザと、チャットボットとの両方が含まれる。ユーザとチャットボットとのメッセージ等のやり取りには、1人のユーザとチャットボットとのメッセージ等のやり取り、及び複数のユーザとチャットボットとのメッセージ等のやり取りが含まれる。すなわち、チャットボットは、ユーザとの一対一チャットに参加する場合もあれば、グループチャットに参加する場合もある。チャットボットは、例えば、チャットに参加しているユーザからの招待に応じて、そのチャットに参加する。
【0038】
チャットにおいてメンバ間でやりとりされるメッセージ等の概念の中には、文字列で表現されたメッセージの他に、いわゆる「スタンプ」のように投稿内容を表す画像や、URL(Uniform Resource Locator)等が含まれる。このようなメッセージ等のことを、チャットに対する「投稿」とも呼ぶ。これはチャットに投稿された情報を示す意味での「投稿」である。また、チャットのメンバが、そのようなメッセージ等をそのチャットに入力する行為のことも「投稿」と呼ぶ。これは行為としての「投稿」である。チャットへの「投稿」行為には、そのチャットに対して文字列のメッセージを書き込む行為、スタンプを送信する行為、URLを貼付する行為、ファイル等のデータをチャットに入力する行為(例えば投稿するデータを選択し、投稿ボタンを押下する行為)、などが含まれる。
【0039】
ボットサーバA(16A)、ボットサーバB(16B)は、ユーザとの間で投稿をやり取りするチャットボットのソフトウエアロボットプログラムがインストールされ、当該プログラムを実行する。これらのボットサーバA(16A)、ボットサーバB(16B)は、企業や店舗などの、広告用または商業用に割り当てられたメッセンジャーサービスアカウントがそれぞれ運用するものであってもよい。
【0040】
ボットサーバA(16A)、ボットサーバB(16B)は、チャットサービスサーバ14と特定API(APIとはApplication Programming Interface:アプリケーションプログラミングインタフェースのこと)を介して協働し、ユーザとメッセージ等の投稿をやり取りし、ユーザからのメッセージに自動応答してメッセージを返信する。特定APIは、チャットサービスサーバ14を利用するためのAPIである。APIの形式は任意であるが、例えばJSON(Javascript(登録商標) Object Notation:ジャバスクリプト オブジェクト ノーテイションの略)形式のAPIとし、規定のフォーマットのJSONデータをチャットサービスサーバ14の特定URLに対してPOSTやGETで送信し、結果がJSON形式のデータとして返ってくる。
【0041】
ボットサーバA(16A)、ボットサーバB(16B)は、ユーザからのメッセージに動作指示が含まれている場合に、当該動作指示に応じて特定のサービス内容を実行する。本実施形態において、ボットサーバA(16A)は、ユーザからのメッセージに印刷指示が含まれている場合に、この印刷指示に応じてプリンタa(18a)、プリンタb(18b)又はプリンタc(18c)を動作させて印刷処理する「プリントボット」として機能する。他方、ボットサーバ16Bは、ユーザからの動作指示に応じて任意のサービスを提供し得る。図1では、ボットサーバA(16A)、ボットサーバB(18B)の2台を示しているが、その数は任意である。また、1台のボットサーバで複数のチャットボットを構成してもよく、複数台のボットサーバで1つのチャットボットを構成してもよい。
【0042】
チャットボット(あるいはプリントボット)としてのボットサーバAは、予めユーザ毎に登録された、ソフトウエアロボットプログラムの動作に関する設定情報に従ってプリンタa、b又はcを駆動して印刷処理を実行する。本実施形態では、ユーザごとに、そのユーザが利用するプリンタをチャットボットに登録することが可能であり、チャットボットは、印刷出力先をユーザ名(又はユーザID)で指定した印刷指示を受けた場合、そのユーザ名に対応付けて登録されたプリンタ(そのユーザについての「登録プリンタ」と呼ぶ)にその印刷指示に係る印刷処理を実行させる。
【0043】
プリンタa(18a)~プリンタc(18c)は、ボットサーバAからの指令により印刷処理を実行する。
【0044】
図2は、ボットサーバA(16A)の機能ブロック図である。ボットサーバAは、機能ブロックとして、通信部160、メッセージ受付部161、内容解析部162、動作制御部163、応答メッセージ作成部164、ユーザ情報記憶部165、グループ情報記憶部166、メッセージ記憶部167、及びAPIゲートウェイ168を備える。
【0045】
通信部160は、チャットサービスサーバ14及びプリンタa~cと通信する。通信部160は、APIゲートウェイ168を介してチャットサービスサーバ14と通信し、投稿を交換する。通信部160は、APIゲートウェイ168を介してチャットサービスサーバ14から受信した投稿、すなわちユーザ端末A~ユーザ端末Cからの投稿をメッセージ受付部161に出力する。また、通信部160は、応答メッセージ作成部164で作成されたメッセージ等の応答を、APIゲートウェイ168を介してチャットサービスサーバ14に送信(つまりユーザ端末A~ユーザ端末Cに送信)する。さらに、通信部160は、動作制御部163からの指令に従い、プリンタa~cに印刷指示を出力してプリンタa~cを駆動する。
【0046】
メッセージ受付部161は、通信部160からの投稿を受け付け、内容解析部162に出力する。チャットにおけるユーザからの投稿の中には、印刷指示やチャットボットからの質問に対する回答が含まれる。メッセージ受付部161は、受け付けた投稿をメッセージ記憶部167に順次記憶する。
【0047】
内容解析部162は、受け付けた投稿のうち、少なくとも文字列で表現されたメッセージの内容を解析して動作制御部163に出力する。具体的には、受け付けたメッセージに含まれるユーザ識別子(ユーザID)を認識するとともに、メッセージに含まれるテキスト部分を抽出してその構文解析を実行する。構文解析の方法は任意であり、例えば、入力メッセージを形態素単位に分解した後、名詞や形容詞、動詞、疑問代名詞をキーワードとして抽出する。内容解析部162は、メッセージのテキスト部分に動作指示が含まれている場合に、その動作指示の内容を解析して動作制御部163に出力する。本実施形態における動作指示には、プリンタa~cに対する印刷指示、会議モード(詳細は後述)の開始及び終了の指示、印刷不要の指示、チャットボットの質問に対する回答としての指示、が含まれる。また、受け付けた投稿がスタンプである場合は、内容解析部162はそのスタンプに対応付けられた意味情報を取得する。スタンプにはあらかじめ当該スタンプが示す意味が定められており、チャットの処理を行うコンピュータは、各スタンプの意味を、そのスタンプ自体から、又はチャットサービスサーバから取得できる。
【0048】
動作制御部163は、内容解析部162で得られた解析結果に基づき、ユーザからの印刷指示を認識した場合、通信部160を介してプリンタa~cに印刷指示を出力する。特に、動作制御部163は、グループチャットで印刷指示を受けた場合、そのグループチャットに参加している各メンバの登録プリンタに印刷を実行させる制御を行う。
【0049】
また、本実施形態のチャットボットは、ユーザがグループチャットで出力先の指定を省略して印刷指示を示す投稿(例:グループチャット上での、印刷指示を意味するメッセージの投稿)を行うと、そのグループチャットに現に参加しているユーザ(以下、参加者と呼ぶ)全員の登録プリンタからその印刷指示の対象の文書を印刷するモードを有している。このモードのことを会議モードと呼ぶ。ここで、グループチャットの各参加者の登録プリンタの性能にはばらつきがあることが一般的である。また参加者の中には、会議モードで印刷指示された文書の印刷が不要な者もいるかも知れない。また参加者の中にはチャットボットにプリンタを登録していない者がいる場合もある。また参加者の中には、登録プリンタはあるが、そのグループチャットに参加している時点では出先におり、その登録プリンタに出力されても困る者もいる可能性がある。このような参加者個別の事情に対処するために、動作制御部163は、応答メッセージ作成部164を介して案内や質問を示す投稿をグループチャットに対して行ったり、そのメッセージに対する参加者からの回答に応じて印刷の設定や印刷要否等の変更を行ったりする。なお、グループチャットに登録されているメンバの全てが常にグループチャットに参加しているとは限らないので、ある時点でのグループチャットの参加者は、そのグループチャットのメンバ全体の部分集合である。
【0050】
応答メッセージ作成部164は、内容解析部162における解析結果や動作制御部163からの指示に応じて応答内容を示す投稿情報を作成し、通信部160を介してその投稿情報をチャットサービスサーバ14に送信する。
【0051】
ユーザ情報記憶部165は、チャットサービスサーバ14を利用するユーザの情報、特に、ボットサーバAで実現されるチャットボットを利用するユーザの情報をテーブルとして記憶する。チャットボットは、チャットサービスサーバ14で実現されるチャットサービス上で特定のアカウントが割り当てられており、このアカウントを指定してユーザが一定の操作(例えば「友達」登録を意味する操作)を行うことでチャットボットの利用が確定される。ユーザ情報記憶部165が記憶するユーザの情報には、例えばユーザID、ユーザの登録プリンタの情報が含まれる。各ユーザの権限についての情報を記憶してもよい。
【0052】
グループ情報記憶部166は、チャットサービスサーバ14が管理している各グループチャットのグループの情報を記憶する。グループの情報には、グループの識別子(以下グループIDとも呼ぶ)と、そのグループを構成するメンバのユーザIDのリストとを含む。
【0053】
メッセージ記憶部167は、メッセージ受付部161で受け付けたユーザからのメッセージを履歴として記憶する。
【0054】
図3は、ボットサーバAの構成ブロック図を示す。ボットサーバAは、1又は複数のサーバコンピュータから構成され、1又は複数のCPU16b、ROM16c、RAM16d、通信インタフェース(I/F)16e、入出力I/F16f、及び記憶装置16gを備える。
【0055】
1又は複数のCPU16bは、ROM16cあるいは記憶装置16gに記憶されたボットアプリを読み出し、RAM16dをワーキングメモリとして用いることでチャットボットの機能を実現する。すなわち、ユーザからのメッセージに自動応答し、ユーザからのメッセージに動作指示が含まれている場合に当該動作指示に応じてプリンタa~cを駆動する。CPU16bは、ボットアプリを実行することで、図2におけるメッセージ受付部161、内容解析部162、動作制御部163、応答メッセージ作成部164、及びAPIゲートウェイ168を実現する。
【0056】
通信I/F16eは、チャットサービスサーバ14とのメッセージのやり取りを行うとともに、プリンタa~cに対して印刷指示を出力する。
【0057】
入出力I/Fは、キーボードマウス等の入力装置、表示装置等の出力装置とデータを送受信する。
【0058】
記憶装置16gは、HDD(Hard Disk Drive:ハードディスクドライブ)やSSD(Solid State Drive:ソリッドステートドライブ)等の不揮発性メモリで構成され、ボットアプリを記憶する他に、ユーザ情報テーブル、グループ情報テーブル及びメッセージ管理テーブルを記憶する。記憶装置16gは、図2におけるユーザ情報記憶部165、グループ情報記憶部166及びメッセージ記憶部167を実現する。
【0059】
なお、本実施形態では、チャットボットを実現するためのソフトウエアロボットプログラムをCPUにより実行しているが、チャットボットの一部をプログラムの実行による処理ではなく、ハードウエア処理により実現してもよい。ハードウエア処理は、例えばASICやFPGA(フィールドプログラマブルゲートアレイ)などの回路を用いて行ってもよい。
【0060】
図4に、ユーザ情報記憶部165に記憶されるユーザ情報テーブルの例を示す。この例のユーザ情報テーブルには、各ユーザのユーザIDに対応付けて、そのユーザの登録プリンタの識別子(プリンタIDと呼ぶ)と、その登録プリンタの性能情報(「プリンタ性能」)とが登録されている。プリンタ性能には、カラー印刷及び両面印刷の機能の有無、印刷可能な最大の用紙サイズ、Nup機能(用紙1ページに印刷データのページをNページ割り付けて印刷する機能。Nは正の整数)の有無等がある。チャットボットでのユーザの識別に用いるユーザIDは、チャットサービスサーバ14における当該ユーザのIDをそのまま用いてもよいし、チャットボット(ボットサーバ)が独自に付与してもよい。ただし、後者の場合、ボットサーバは、自らユーザに付与したユーザIDと、チャットサービスサーバ14におけるそのユーザのIDとの対応関係の情報を保持する。
【0061】
図5に、グループ情報記憶部166に記憶されるグループ情報テーブルの例を示す。例示したグループ情報テーブルには、各グループのグループID(これはそのグループに対応するグループチャットのIDでもある)に対応付けて、そのグループに属するユーザ(すなわちグループのメンバ)のユーザIDのリスト(「メンバリスト」)と、そのグループのグループチャットに現在参加しているユーザのIDのリスト(「現在のチャット参加者」)とが登録されている。なお、メンバリスト及び現在のチャット参加者の情報は、チャットサービスサーバ14から取得する。
【0062】
次に本実施形態においてチャットボット(ボットサーバ16A又は16B)が行う制御の例を説明する。
【0063】
図6は、チャットボットの処理手順の一例を示す。このチャットボットは、あるグループチャットに参加しているものとする。
【0064】
チャットボットは、そのグループチャットにおける各参加者の投稿を監視している。この監視処理では、チャットボット(特に内容解析部162)が、各参加者の投稿の内容を解析して、それら投稿の中からチャットボット宛の動作指示(又はチャットボットの質問に対する回答)を示す投稿を検出する。ここでは、チャットボットが、ある1人の参加者(人間)からの印刷指示を示す投稿を検知(S10)した場合を考える。印刷指示を示す投稿には、印刷して欲しいことの意思表示に加え、印刷対象の文書(対象文書と呼ぶ)の指定、出力先のユーザ(チャットの参加者又はメンバ)の指定が、明示的又は暗黙的に含まれる。
【0065】
例えば、グループチャット(あるいはそのグループチャットが行われる仮想的な場としてのチャットルーム)の設定又はモード(例えば後述する会議モード)によっては、参加者が文書をグループチャットに投稿する操作(この操作には文書の識別情報の入力が含まれる)を行うと、それを暗黙的な印刷指示とみなす。また別の設定又はモードでは、文書を投稿しただけでは印刷指示とはみなさず、その文書を印刷するには、別途明示的に印刷指示を示す投稿を要する。なお、ここで言う「文書」は、印刷画像として出力可能な形式のファイルである。例えば、ワードプロセッサやスプレッドシート等のアプリケーションで作成された文書ファイル、PNGその他各種画像フォーマットの画像ファイル等が「文書」の例である。
【0066】
また、ある設定又はモード(例えば後述する会議モード)では、印刷指示に関して出力先のユーザの指定が明示的にない場合、当該グループチャットの参加者全員を出力先として暗黙的に指定しているものとみなす。また、グループチャットに現在参加していないものも含めてそのグループチャットのメンバ全員を出力先として暗黙的に指定しているものとみなす設定又はモードがあってもよい。また、別の設定又はモードでは、出力先ユーザの明示的な指定がない印刷指示については、その指示を行った本人(の登録プリンタ)を暗黙的な出力先であるとみなす。
【0067】
なお、出力先の明示的な指定は、出力先とするユーザのユーザID、又はそのユーザのチャット上での表示名(これはユーザIDに対応付けられている)の文字列を、印刷指示に対応付けて投稿することで行う。
【0068】
印刷したい旨の意思表示、対象文書の指定、出力先ユーザの指定は、互いに対応付けられていれば、複数の異なる発言(ただし同一ユーザの発言に限る)に分けて行われてもよい。印刷したい旨の意思表示、対象文書の指定、出力先ユーザの指定を互いに対応付ける方法の例としては、例えばそれらを示す投稿を連続して行う方法がある。
【0069】
印刷指示を検知すると、チャットボット(特に動作制御部163)は、その指示に対応する各出力先ユーザの登録プリンタをユーザ情報テーブルから求める(S12)。
【0070】
次に、チャットボットの動作制御部163は、S12で特定した各登録プリンタに対して、対象文書を印刷するよう指示する(S14)。それら各プリンタでの処理が終了すると、チャットボット、特に応答メッセージ作成部164は、印刷結果を伝えるメッセージをグループチャットに投稿する(S16)。
【0071】
印刷が行われるときのグループチャット上でのやりとりの例を図7に示す。図7は、ユーザAが操作するユーザ端末A(符号10Aで示す)に表示されるチャットサービスの画面例である。この画面が示すグループチャットには、ユーザA、B、Cと、チャットボットが参加している。この例では、ユーザAがチャットボットに対して印刷指示を行うものとする。
【0072】
ユーザ端末Aの画面には、チャットサービスサーバ14によりユーザA(図中では「UserA」で示す)を示す表象図形、例えばアイコン100が表示されるとともに、ボットサーバAで実現されるチャットボットを示すアイコン102が表示される。そして、ユーザA及びチャットボットの投稿200が上から下に時系列で表示される。
【0073】
図7の例では、まず、ユーザAが「文書1.doc」という文書を投稿する旨のメッセージを投稿し、そのあとその「文書1.doc」を当該グループチャットの参加者全員に印刷することを求めるメッセージを投稿する。
【0074】
チャットボットは、ユーザAの最初の投稿に含まれる文書「文書1.doc」を、印刷の対象になる可能性があるファイルとして、ユーザAのユーザIDに対応付けて、例えばメモリやストレージに記憶する。そして、チャットボットは、ユーザAの次の投稿を解析することで、その投稿が印刷の指示を示すものであること、その対象が先ほど記憶した文書「文書1.doc」であること、及び出力先が当該グループチャットの参加者全員であることを検知する。これに応じ、チャットボットは、グループチャットの現在の参加者はユーザA、B、Cであることを認識し、内容解析部162により「参加者全員」とはユーザA、B、Cの全員であることを認識する。そして、「ユーザA、B、Cのプリンタから出力します。」との発言をグループチャットに対して行う。またチャットボットは、ユーザA、B、Cの登録プリンタa、b、cをユーザ情報テーブル(図4参照)から求め、「文書1.doc」をそれら各登録プリンタで取扱可能な形式のデータに変換し、変換結果を含む印刷指示をそれら各登録プリンタに送る。
【0075】
各登録プリンタは、受け取った印刷指示を実行することで、「文書1.doc」を用紙に印刷し、印刷が完了すると完了通知をチャットボット(ボットサーバ)に返す。
【0076】
これを受けてチャットボットは、印刷完了を示すメッセージ(「印刷が完了しました。」)をグループチャットに発言する。
【0077】
このように、本実施形態では、ユーザは、グループチャットの各参加者の登録プリンタの識別情報(プリンタ名等)を出力先として指定しなくても、出力先とする参加者を特定可能な情報(例えば「参加者全員に印刷して」)を投稿すれば、それら参加者のプリンタから印刷出力がなされることとなる。
【0078】
<印刷設定に関する処理>
さて、チャットが遠隔のユーザ同士の会話手段である以上、グループチャットの各参加者が登録している登録プリンタは別々のプリンタである蓋然性が高く、性能もまちまちでると考えられる。
【0079】
一方、チャットボットは、ユーザから、印刷指示に対応する印刷設定(印刷パラメータ)をチャットでユーザから受け付ける機能を有する。印刷設定には、カラー/白黒印刷の指定、両面/片面印刷の指定、用紙サイズ、Nup、倍率(拡大・縮小)等の項目がある。
【0080】
したがって、グループチャットの参加者の登録プリンタの中には、ユーザからの印刷指示に付随する印刷設定での印刷を、性能不足のために実行できないものもあり得る。例えば、カラー印刷が指定された印刷指示がグループチャットで行われたが、その印刷指示の出力先に(明示的又は暗黙的に)指定されたユーザの登録プリンタが白黒印刷しかできないものである場合、そのプリンタではその印刷指示通りのカラー印刷はできず(その代わりに白黒で印刷)、プリンタによっては印刷自体を行わない場合もあり得る。
【0081】
そこで、本実施形態では、グループチャットでの印刷指示の出力先のユーザの登録プリンタの中に、指定された印刷設定を満たせない性能のプリンタがある場合に、チャットボットがそのグループチャットの参加者とチャットすることでその問題に対処する。すなわち、チャットボットは、印刷指示を行った参加者、又は出力先に指定された参加者とチャットすることで、当初の印刷設定を満たせない性能のプリンタでも印刷指示が実行できるようにするために、印刷設定を変更する等の対処処理を行う。
【0082】
このためのチャットボット(特に動作制御部163)の処理手順の一例を、図8に示す。
【0083】
図8の手順では、チャットボットは、自分が参加しているグループチャットのある1人の参加者(人間)からの印刷指示を示す投稿を検知(S20)した場合を考える。印刷指示の投稿には、出力先ユーザの指定、対象文書の指定、印刷設定等が明示的又は暗黙的に含まれる。
【0084】
チャットボットは、ユーザ情報テーブルから各出力先ユーザの登録プリンタを特定し、それら各登録プリンタの性能情報を取得する(S22)。次にチャットボットは、印刷設定とそれら各登録プリンタの性能情報とを比較して、出力先の登録プリンタの中に印刷設定通りの印刷が実行できない性能のものがあるかどうかを判定する(S24)。この判定の結果がNo、すなわち出力先の登録プリンタのすべてがその印刷設定通りの印刷が可能な性能を持つ場合、チャットボットは、それら各登録プリンタに対して、その印刷設定でその対象文書を印刷するよう指示する(S32)。
【0085】
S24の判定結果がYes、すなわち出力先の登録プリンタの中に印刷設定通りの印刷が実行できない性能のもの(以下「性能不足プリンタ」と呼ぶ)がある場合、チャットボットは、出力先のうちの性能不足プリンタのすべてが実行可能な印刷設定を求める。例えば、ユーザから指定された印刷設定の項目のうち性能不足プリンタが実行できない項目を、その性能不足プリンタの性能で実行可能な範囲の最高の値に変更するという処理を、すべての性能不足プリンタについて行うことで、性能不足プリンタのすべてが実行可能な印刷設定が求められた。このように求められた印刷設定は、出力先の登録プリンタのすべてが実行可能な印刷設定である。
【0086】
チャットボットは、そのグループチャットの中で、あるいは印刷指示を行った参加者(以下「指示者」と呼ぶ)との一対一チャットで、出力先の参加者の登録プリンタの中に、その指示者から指定された印刷設定通りの印刷が不可能なものであることを示す投稿を行う。そして、チャットボットは、この印刷指示についての印刷設定を、求めた出力先の登録プリンタのすべてが実行可能な印刷設定へと変更することを提案する投稿を、そのグループチャット又は指示者との一対一チャットで、その指示者に対して行う(S26)。グループチャット内でのこの提案の投稿は、指示者に対するメンション(すなわち指示者のユーザ名を発言の宛先として指定する文字列)を含んでいてもよい。
【0087】
指示者は、その提案の投稿をみて、その提案を受け入れるかどうかを示す投稿をそのグループチャット又はその一対一チャットに対して行う。チャットボットは、指示者のその投稿の内容を解析して、その投稿がその提案を受け入れる旨を示すか否かを判定する(S28)。指示者の投稿が、提案を受け入れる旨のものであった場合、チャットボットは、当該印刷指示に対応する印刷設定の内容をS26で提案したものに変更し(S30)、出力先の各登録プリンタに対してその変更後の印刷設定で対象文書を印刷するよう指示する(S32)。
【0088】
S28で、指示者からの投稿が提案の受け入れを拒否するものであった場合、あるいは所定の時間待っても、指示者から提案を受け入れる旨を示す投稿がなかった場合、図8の例では、チャットボットは、そのグループチャットに対して、印刷指示に係る印刷が実行できない旨を示す投稿を行い(S34)、出力先の各登録プリンタへの印刷指示は行わない。
【0089】
図8の処理に対応するグループチャット上でのやりとりの例を図9に示す。図9は、ユーザAが操作するユーザ端末A(10A)に表示されるチャットサービスの画面例である。この画面が示すグループチャットには、ユーザA、B、Cと、チャットボットが参加している。この例では、ユーザAが指示者であるとする。
【0090】
図9の例では、まず、ユーザAが「文書1.doc」という文書を投稿し、そのあとその「文書1.doc」を当該グループチャットの参加者全員にカラーで印刷することを求める内容の投稿を行う。
【0091】
チャットボットは、ユーザAの最初の投稿に含まれる文書「文書1.doc」を、印刷の対象になる可能性があるファイルとして、ユーザAのユーザIDに対応付けて、例えばメモリやストレージに記憶する。またチャットボットは、その文書「文書1.doc」を調べて、その文書がA3サイズのページを含むことを検知する。そして、チャットボットは、ユーザAの次の投稿を解析することで、その投稿が印刷の指示を示すものであること、その対象が先ほど記憶した文書「文書1.doc」であること、及び出力先が当該グループチャットの参加者全員であること、カラー印刷が指定されたこと、を検知する。
【0092】
これに応じ、チャットボットは、グループチャットの現在の参加者はユーザA、B、Cであることから、内容解析部162により「参加者全員」とはユーザA、B、Cであることを認識する。またチャットボットは、ユーザA、B、Cの登録プリンタa、b、cをユーザ情報テーブル(図4参照)から求め、それらプリンタa、b、cの性能情報を取得する。そしてチャットボットは、それらプリンタa、b、cが、指示者の指定した印刷設定(カラー印刷、A3サイズ)を実行できるかどうか判定する。この例では、プリンタb及びcが、カラー印刷とA3サイズに対応していないことが分かったとする。この場合チャットボットは、「ユーザB、Cのプリンタはカラー、A3がプリント不可です。」というメッセージを、例えばそのグループチャット上に投稿する。
【0093】
またチャットボットは、印刷設定におけるカラー印刷を白黒印刷に、A3をA4に変更することでプリンタb、cでも印刷可能になることを見いだし、白黒、A4への変更を指示者に対して提案するメッセージ、例えば「白黒、A4に変更すれば全員印刷できます。設定を変更しますか?」とのメッセージを、グループチャット(あるいは指示者であるユーザAとの一対一チャット)に対して投稿する。
【0094】
指示者(この例ではユーザA)は、その提案の発言に対する回答をグループチャット又は一対一チャットでチャットボットに対して行う。図示例ではユーザAは、提案された設定変更を受け入れることを意味する「変更OK」というメッセージをグループチャットに対して投稿している。
【0095】
チャットボットは、ユーザAによる「変更OK」とのメッセージを解析して、先の提案が受け入れられたと判断し、「白黒、A4でユーザA、B、Cのプリンタから出力します。」とのメッセージをグループチャットに対して投稿する。そして、チャットボットは、その提案に対応する変更後の印刷設定でユーザA、B、Cのプリンタa、b、cに対して「文書1.doc」の印刷を指示し、各プリンタでの印刷が完了すると、印刷が完了したことを示す投稿をグループチャットに対して行う。
【0096】
次に、図10を参照して、印刷指示の出力先のユーザの登録プリンタの中に性能不足プリンタがある場合に、チャットボットが行う対処処理の別の例を説明する。
【0097】
図8及び図9の例では、性能不足プリンタがある場合に、すべての出力先の登録プリンタに適用する印刷設定を、性能不足プリンタが実行可能な印刷設定に変更することを指示者に提案した。これに対して、図10の例では、当初の印刷設定通りに印刷可能な出力先については印刷設定は変更せず、性能不足プリンタについてのみ、印刷設定の変更を提案する。また、この例では、印刷設定変更の提案は、指示者ではなく、性能不足プリンタを登録している参加者に対して行い、その参加者から提案に対する回答を受ける。
【0098】
図10の処理手順のうち、チャットボットがグループチャットにて参加者から印刷設定を伴う印刷指示を受け、出力先の各ユーザの登録プリンタの性能情報を取得する(S20、S22)までは、図8の手順と同じである。この後、チャットボットは、S22で特定した出力先の登録プリンタごとに、S40~S49の処理を実行する。
【0099】
すなわち、チャットボットは、注目する登録プリンタの性能情報と指示者が指定した印刷設定とを比較し、そのプリンタで印刷設定通りの印刷が可能か判定する(S40)。この判定の結果がYesの場合、チャットボットは、その登録プリンタに対してその印刷設定で対象文書の印刷を指示する(S48)。
【0100】
S40の判定結果がNoの場合、チャットボットは、印刷設定のうちその登録プリンタの性能では実行できない各項目について、その項目の値を例えばその性能で実行可能な最高値に変更する設定変更を、その登録プリンタに対応する参加者に対してチャットで提案する(S42)。この提案は、当該グループチャット上で行ってもよいし、その参加者との一対一チャットで行ってもよい。
【0101】
参加者は、チャットボットからのチャットでのその提案の投稿に対して、そのチャット上で回答を行う。チャットボットは、その回答の内容を解析し、設定変更の提案が受け入れられたかどうかを判定する(S44)。提案が受け入れられた場合、チャットボットは、印刷設定をS42で提案したものに変更し(S46)、その変更後の印刷設定で対象文書を印刷するよう、その登録プリンタに指示する(S48)。S44で変更の提案が受け入れられなかったと判定した場合、チャットボットは、グループチャット又は一対一チャットで、当該登録プリンタに対応する参加者については印刷ができない旨を示す投稿を行う(S49)。
【0102】
図10の処理に対応するグループチャット上でのやりとりの例を図11に示す。図11もユーザ端末A(10A)に表示されるチャットサービスの画面例であり、この画面が示すグループチャットには、ユーザA、B、Cと、チャットボットが参加しており、ユーザAが指示者であるとする。
【0103】
図11の例では、ユーザAが「文書1.doc」という文書を投稿し、そのあとその「文書1.doc」を当該グループチャットの参加者全員に、カラー、両面、A4、2upで印刷することを求める投稿を行う。
【0104】
チャットボットは、ユーザAのこれらの投稿から、文書「文書1.doc」を「カラー、両面、A4、2up」の印刷設定で印刷する印刷指示を認識する。
【0105】
これに応じ、チャットボットは、グループチャットの現在の参加者はユーザA、B、Cであることから、内容解析部162により「参加者全員」とはユーザA、B、Cであることを認識する。またチャットボットは、ユーザA、B、Cの登録プリンタa、b、cをユーザ情報テーブルから求め、それらプリンタa、b、cの性能情報を取得する。そしてチャットボットは、それらプリンタa、b、cが、指示者の指定した印刷設定を実行できるかどうか判定する。この例では、プリンタaは、その印刷設定通りの印刷が可能な性能を持つが、プリンタbはその印刷設定のうち2upのみが不可であり、プリンタcは両面印刷のみが不可であるとする。
【0106】
この場合、チャットボットは、グループチャット上で、例えばメンションの形でユーザAに対して「印刷します。」とのメッセージを投稿し、プリンタaに対してその印刷設定での印刷を指示する。
【0107】
またチャットボットは、プリンタbについては印刷設定のうち2upの指定をなしにすれば印刷可能なので、グループチャット上でユーザBに対して、「2up印刷は不可です。2upなしに変更しますか?」という提案のメッセージを投稿する。またプリンタcについては印刷設定のうち両面の指定を片面に変更すれば印刷可能なので、チャットボットは、グループチャット上でユーザCに対して、「両面印刷は不可です。片面印刷に変更しますか?」という提案のメッセージを投稿する。
【0108】
図示例では、ユーザB(アイコン104で示す)及びユーザC(アイコン106で示す)は、共に「変更OK」の回答をグループチャットに投稿する。
【0109】
これら回答に応じて、チャットボットは、ユーザB及びCに対して印刷を実行する旨を知らせる投稿を行い、それぞれ変更後の印刷設定で印刷を実行するようプリンタb及びcに指示を行う。
【0110】
以上、図10及び図11を参照して説明した例では、チャットボットは、性能不足プリンタに関する提案に対する回答を、そのプリンタを登録プリンタとしているユーザから受け付けたが、この代わりに指示者から回答を受け付けるようにしてもよい。
【0111】
次に、図12のチャット画面の例を参照して、印刷指示の出力先のユーザの登録プリンタの中に性能不足プリンタがある場合にチャットボットが行う対処処理の更に別の例を説明する。
【0112】
この例は、図10及び図11を用いて説明した例と似ている。異なる点は、チャットボットが「Botにおまかせ」機能を持つ点である。すなわち、図12で説明する例では、ユーザが性能不足プリンタについての設定変更をユーザが検討せずに、チャットボットに委せることができる。
【0113】
この例では、ユーザAが「文書1.doc」という文書を投稿し、そのあとその「文書1.doc」を当該グループチャットの参加者全員に、カラー、両面、A3、2upで印刷することを求める投稿を行う。
【0114】
チャットボットは、ユーザAのこれらの投稿から、文書「文書1.doc」を「カラー、両面、A3、2up」の印刷設定で印刷する印刷指示を認識する。
【0115】
これに応じ、チャットボットは、グループチャットの現在の参加者はユーザA、B、Cであることから、内容解析部162により「参加者全員」とはユーザA、B、Cであることを認識する。またチャットボットは、ユーザA、B、Cの登録プリンタa、b、cをユーザ情報テーブルから求め、それらプリンタa、b、cの性能情報を取得する。そしてチャットボットは、それらプリンタa、b、cが、指示者の指定した印刷設定を実行できるかどうか判定する。この例では、プリンタaは、その印刷設定通りの印刷が可能な性能を持つが、プリンタbはその印刷設定のうちA3と2upが不可であり、プリンタcはカラー、両面、A3、2upが不可であるとする。
【0116】
この場合、チャットボットは、グループチャットに、「ユーザAのプリンタから印刷します。」とのメッセージを投稿し、プリンタaに対してその印刷設定での印刷を指示する。
【0117】
またチャットボットは、プリンタbについては、グループチャット(または一対一チャット)上でユーザBに対して、「A3、2up印刷は不可です。設定を変更しますか?」という問合せのメッセージを投稿する。またプリンタcについては「カラー、両面、A3、2up印刷は不可です。設定を変更しますか?」という問合せのメッセージを投稿する。
【0118】
図示例では、これら問合せに対して、ユーザB及びユーザCは共に「Botにおまかせ」とのの回答をグループチャットに投稿する。
【0119】
これら回答に応じて、チャットボットは、プリンタbについてはA3,2upの設定をそれぞれプリンタbが対応可能なA4及びNupなしに変更し、プリンタcについてはカラー、両面、A3、2upの設定を、プリンタcが対処可能な白黒、片面、A4、Nupなし、の設定に変更する。そしてチャットボットは、「ユーザBのプリンタから印刷します。」及び「ユーザCのプリンタから印刷します。」と投稿し、それぞれプリンタb及びcに対してそれぞれ変更後の印刷設定で印刷を指示する。
【0120】
<会議モード>
例えばビジネス用のチャットサービスにおけるグループチャットの利用シーンには、部署内での業務上の連絡や、業務のための会議など、様々なものがある。ここで、グループチャットで会議を行っている場合、そのチャット上で印刷が行われるのは、会議参加者全員に向けた会議資料である場合が多いと考えられる。逆に、会議でない通常の業務連絡をグループチャットで行っているシーンでは、チャットの参加者全員宛に印刷出力したいかどうかは場合による。
【0121】
このように、グループチャットの各種利用シーンでは、印刷指示の出力先を当該チャットの参加者全員又はメンバ全員としたい場合もあれば、個別に指定したい場合もある。
【0122】
参加者又はメンバ全員を印刷出力先としたい場合が多いと考えられるケース(例えば会議)では、指示者がいちいち出力先を個別に又は「参加者全員」などと指定しなくてもすめば、指示者の手間が軽減される。
【0123】
そこで、本実施形態では、指示者が出力先を明示的に指定しない場合に、グループチャットの参加者又はメンバ全員を出力先とみなす特定モードをチャットボットに設ける。ここでは、その特定モードのことを「会議モード」と呼ぶ。
【0124】
また、グループチャットでの印刷指示の出力先が参加者全員とみなされた場合であっても、個別の事情で印刷出力を必要としない参加者がいる場合もある。そこでこの例では、会議モードでの印刷指示に対して、個々の参加者から印刷不要の指示を受け付ける。
【0125】
チャットボットの動作制御部163は、グループチャット上でいずれかの参加者が会議モードに入る旨の発言(「会議開始の宣言」)を行うと、これを検知して、自身のモードを会議モードへと遷移させる。会議開始の宣言は、グループチャットのメンバの全員ができるようにしてもよいし、それらメンバのうちあらかじめグループチャットのチャットルームに設定された1以上の特定の者のみができるようにしてもよい。
【0126】
会議モードの間は、前述のように、出力先の明示的に指定されない印刷指示があった場合、チャットボットは、その印刷指示の出力先を、当該グループチャットの現在の参加者全員とみなす。なお、別の例として、出力先の明示的な指定のない場合に、グループチャットのメンバ全員(現在参加していない者も含む)とみなしてもよい。参加者全員、メンバ全員のいずれとみなすかは、グループチャットのチャットルームの設定項目の1つに設定可能としてもよい。またその設定をグループチャット上で受け付けるようにしてもよい。
【0127】
また、この例では、会議モードの間は、チャットボットは、文書がグループチャットに投稿されると、自動的にその文書の印刷指示がなされたものとみなす。すなわち、この例では、投稿した文書について明示的に印刷指示の発言を行う必要はない。
【0128】
またチャットボットは、グループチャット上でいずれかの参加者が会議モードを終了する旨の発言(「会議終了の宣言」と呼ぶ)を行うと、これを検知して、会議モードを終了する。会議モードでない間のチャットボットのモードを、通常モードと呼ぶ。会議終了の宣言は、グループチャットのメンバの全員ができるようにしてもよいし、それらメンバのうちあらかじめグループチャットのチャットルームに設定された1以上の特定の者のみができるようにしてもよい。
【0129】
通常モードの間は、チャットボットは、印刷の出力先の明示的な指示がない場合は、指示者に対してそのグループチャットまたは指示者との一対一チャットで出力先を問い合わせてもよい。また別の例としてチャットボットは、印刷の出力先の明示的な指示がない場合は、指示者の登録プリンタを出力先とみなしてもよい。また、出力先の明示的な指定のない場合の出力先の求め方を、チャットボットに設定できるようにしてもよい。
【0130】
また通常モードの間は、チャットボットは、文書の投稿だけでは直ちに印刷指示とはみなさない。ただし、通常モードでも文書の投稿を印刷指示とみなすようチャットボットに設定できるようにしてもよい。
【0131】
図13に、グループチャットに文書が投稿されたときのチャットボットの処理手順を例示する。この手順は、グループチャットにいずれかのユーザから文書が投稿された場合に開始される。
【0132】
チャットボットは、自分が参加しているチャットボットに文書が投稿されたことを検知すると、所定長さの猶予期間をカウントするタイマーを起動する。そのタイマーにより猶予期間の経過が判明するまでにその文書を投稿したユーザが印刷不要を示す投稿をグループチャットに対して行ったことを検知すると(S52の判定結果がYes)、チャットボットは、その文書の印刷のための処理は行わない。この場合チャットボットは一連の処理を終了し、次の文書が投稿されるのを待つ。
【0133】
S52の判定結果がNoの場合、チャットボットは、現在のモードが会議モードか否かを判定する(S54)。会議モードでない場合、チャットボットは、なにもせずに処理を終了する。この後、その文書を対象とする印刷指示を示す投稿がグループチャット上になされると、チャットボットはその文書を、その印刷指示の出力先に指定されたユーザの登録プリンタから出力する。
【0134】
S54で現在のモードが会議モードであると判定されると、チャットボットは、グループ情報テーブル(グループ情報記憶部166)を参照して、当該グループチャットに現在参加している参加者を特定する(S56)。そして、特定した各参加者の登録プリンタを、ユーザ情報テーブル(すなわちユーザ情報記憶部165)から求め、求めた参加者及び登録プリンタの各ペアを、メモリ上に一時的に用意した出力先リストに登録する(S58)。
【0135】
次にチャットボットは、現在の各参加者の登録プリンタから文書を印刷する旨のメッセージをグループチャットに発言する(S59)。そしてチャットボットは、所定の待機時間だけ、印刷を開始するのを待つ(S60)。
【0136】
グループチャットの参加者は、その文書の印刷出力が不要である場合、その待機時間の間に、印刷不要の旨を表すメッセージをグループチャット上に投稿する。チャットボットは、グループチャット上に印刷不要の旨の投稿がなされたかどうかを監視し(S62)、印刷不要の旨の投稿を検知すると、その投稿を行った参加者とそれに対応する登録プリンタのペアを出力先リストから削除する(S64)。
【0137】
待機時間が経過すると、チャットボットは、その時点で出力先リストにある参加者と登録プリンタのペアごとに、そのペアに含まれる登録プリンタに印刷指示を送る(S66)。
【0138】
次に、図14を参照して、会議モードにおけるグループチャット上でのやりとりの例を説明する。図14は、ユーザAが操作するユーザ端末A(10A)に表示されるチャットサービスの画面例である。この画面が示すグループチャットには、ユーザA、B、Cと、チャットボットが参加している。
【0139】
この例では、まずユーザA(100)がグループチャットに「今日は会議です。」とのメッセージを投稿する。チャットボット(102)は、現在が通常モードであり、その「今日は会議です。」というメッセージが会議を開始することを意味することから、その発言が会議開始の宣言であると解釈する。そこで、チャットボットは、会議モードに遷移し、グループチャットに「承知しました。会議モードに入ります。」と、会議モードに遷移したことを示す投稿を行う。
【0140】
次にユーザAが「文書1.doc」という文書を投稿する。すると、チャットボットは、現在のモードが会議モードなので、その文書の投稿がその文書の印刷指示であるとみなし、現在のグループチャットの参加者全員であるユーザA、B、Cがその出力先であるとみなす。チャットボットは、印刷不要指示を受け付ける所定の猶予時間だけ待つが、この例ではユーザAから印刷不要の指示は投稿されない。
【0141】
そこで、チャットボットは、「ユーザのプリンタから出力します。」とグループチャットに投稿し、各出力先の参加者から印刷不要の指示を受け付けるために所定の待機時間だけ待つ。この例では、その待機時間の間に、ユーザB(104)から印刷不要の旨の投稿がなされる。これを検知したチャットボットは、ユーザBおよびこれに対応する登録プリンタを出力先リストから削除し、その指示を受け付けたことを示すために、グループチャットに「ユーザBの印刷はしません。」と投稿する。そして、待機時間の経過後、ユーザAとCの登録プリンタからそれぞれ「文書1.doc」を印刷出力する。
【0142】
このあとユーザAは更に別の「文書2.doc」をグループチャットに対して投稿する。そして、猶予期間内に、ユーザAが更に印刷不要の旨を示すメッセージ「この文書は印刷不要」を投稿する。チャットボットは、「文書2.doc」を投稿したユーザと同じユーザから猶予期間内に印刷不要を指示する投稿を受けたことから、すべての参加者について印刷不要と判定し、その印刷不要の指示を受け付けたことを示すために「承知しました。印刷しません。」とのメッセージをグループチャットに投稿する。これにより「文書2.doc」は印刷されない。
【0143】
次にユーザAが「会議を終わります。」との投稿をグループチャットに対して行う。チャットボットは、この投稿が会議の終了の指示であることを認識し、会議モードを終えて通常モードに遷移する。そしてチャットボットは、会議モードが終了したことを示すために「承知しました。会議モードを終了します。」との投稿をグループチャットに対して行う。
【0144】
図13及び図14の例では、会議モード下で印刷指示が行われた場合、グループチャットの参加者のうち印刷が不要な参加者が不要の旨をチャットに投稿したが、これは一例に過ぎない。この代わりに、印刷指示の後、チャットボットが、印刷が必要なユーザはその旨を投稿するようチャットで求め、その求めに応じて印刷が必要である旨の投稿を行ったユーザの登録プリンタのみから印刷を行うようにしてもよい。
【0145】
<プリンタ登録をしていない参加者の取扱>
以上の説明では、グループチャットの参加者には、対応する登録プリンタがあるとした。しかし、参加者がチャットボットにプリンタを登録していない場合もあり得る。以下では、そのような場合に対処する処理を例示する。
【0146】
このような対処処理の例として、図13の処理手順のうち、S59の部分を図15に示す部分的な手順に置き換えたものを説明する。
【0147】
この手順では、S56でグループチャットの各参加者の登録プリンタを特定した後、チャットボットは、登録プリンタを特定できた各参加者について印刷を行う旨の投稿をグループチャットに対して行う(S72)。次にチャットボットは、登録プリンタがない参加者がいたかどうかを判定し(S74)、この判定の結果がNoの場合はS60(図13)に移行する。
【0148】
S74の判定結果がYesの場合、チャットボットは、登録プリンタがない各参加者に対して、グループチャットで、又は当該参加者との一対一チャットで、登録プリンタが無いことに対してどのように対処するかを問い合わせる(S76)。問合せを受けた参加者は、どのような対処をするかを示す投稿を行う。このような投稿には、例えば、現実世界で自分の近くにいる他の参加者の登録プリンタで出力することを希望する旨の投稿、又はチャットボットに自分のプリンタを登録することを指示する投稿などがある。後者の場合、参加者は、登録したいプリンタの識別情報の文字列をグループチャットに投稿したり、そのプリンタの識別情報を示すバーコード等のコード画像(これは例えば、そのプリンタにシールとして貼付されているか、又はそのプリンタの画面に表示される。)を、チャットに用いている端末で撮影して投稿したりする。また、その参加者は、印刷不要であれば、その旨をチャットボットに回答するか、或いは問合せに答えないまま放置する。
【0149】
チャットボットは、問い合わせ先の参加者からの反応が、プリンタを指定する旨の投稿であるか、印刷不要の旨を示す反応であるかを判定する(S78)。ここでプリンタを指定する旨の投稿には、例えば他の参加者のプリンタからの出力を希望する旨の投稿や、自分のプリンタを登録する指示を示す投稿などがある。問い合わせ先の参加者からの反応がプリンタを指定する旨の投稿であれば、その参加者とそのプリンタとのペアを出力先リストに追加する(S80)。ここで、問い合わせ先の参加者の投稿が、他の参加者のプリンタからの出力を希望する内容である場合、チャットボットは、当該「他の参加者」に対してその希望を受け入れるかどうかを問い合わせる内容の投稿を、グループチャットまたは当該「他の参加者」との一対一チャットで行ってもよい。この場合、当該「他の参加者」からその希望を受け入れる旨の投稿が行われると、チャットボットは、出力先リストに、希望する旨の投稿を行った参加者と出力先である「他の参加者」の登録プリンタのペアを出力先リストに登録する。S80の後、チャットボットは、S80で出力先リストに登録した参加者と登録プリンタのペアについて、その参加者の印刷をその登録プリンタで行う旨の投稿をグループチャット上に行う。なお、登録プリンタのない参加者の希望を「他の参加者」が拒否した場合、チャットボットは、他の対処方法を前者に対して問い合わせる。
【0150】
S78で、問い合わせ先の参加者からの反応が、印刷不要を示すものであれば、チャットボットは、S60の処理に進む。
【0151】
この例におけるグループチャット上でのやりとりの具体例を、図16を参照して説明する。図16も、ユーザAが操作するユーザ端末A(10A)に表示されるチャットサービスの画面例である。
【0152】
この例では、ユーザA(100)がグループチャットに会議開始の宣言を行い、チャットボットがこれに応じて会議モードに遷移した旨を投稿し、ユーザAが「文書1.doc」という文書を投稿するまでは、図14の例と同じである。チャットボットは、現在のモードが会議モードなので、現在のグループチャットの参加者全員であるユーザA、B、Cにその文書を印刷出力するために、それら各ユーザの登録プリンタをユーザ情報記憶部165から求める。この例では、ユーザA及びBにはプリンタが登録されていたが、ユーザCにはプリンタが登録されていなかったとする。
【0153】
この場合チャットボット(102)は、グループチャットに対して、「ユーザA、Bのプリンタから出力します。」との投稿を行い、更に「ユーザCにはプリンタが登録されていません。どうしますか?」とユーザCの対処を求める内容の投稿を行う。
【0154】
これに応じて、ユーザC(106)が、「ユーザAのプリンタから出力してください。」との投稿を行ったとする。すると、チャットボットは、ユーザCの希望を受け入れるかどうかを確認するメッセージ「ユーザA、よいですか?」をグループチャットに対して投稿する。図示例では、ユーザAはユーザCの希望を受け入れる旨のメッセージ「OKです。」を投稿する。これを受けてチャットボットは、ユーザAの登録プリンタをユーザCと対応付けて出力先リストに追加する。この場合、出力先リストには、ユーザAの登録プリンタからの出力として、ユーザAの分とユーザCの分の2人分が含まれることになる。チャットボットは、「ユーザCの分はユーザAのプリンタから出力します。」とのメッセージをグループチャットに対して投稿誌、出力先リストに含まれるユーザA、B、Cのそれぞれのジョブを、対応するプリンタに指示する。この場合、ユーザAの登録プリンタには2回、ユーザBのプリンタには1回の印刷指示が行われる。
【0155】
<登録プリンタ以外からの出力>
図15及び図16を参照して説明した例は、プリンタ未登録のユーザについての処理であった。
【0156】
一方、登録プリンタがあるユーザも、例えば出先からグループチャットに参加している場合のように、登録プリンタが現在の居場所からは不便である場合がある。そこで、この例では、ユーザから登録プリンタ以外のプリンタからの印刷の希望を一時的に受け付ける仕組みについて説明する。
【0157】
この例の手順の要部を図17に示す。図17に示す部分手順は、図13の処理手順のS60~S62の部分を置き換えるものである。
【0158】
この手順では、チャットボットは、S59でグループチャットの各参加者の登録プリンタから出力する旨の投稿を行った後、所定の待機時間の間、それら参加者からの印刷不要の指示を受け付ける(S62およびS64)は、図13の手順と同様である。
【0159】
また、チャットボットは、その待機期間の間に、参加者から、自分の登録プリンタの代わりに他の参加者の登録プリンタから出力する旨の依頼の投稿を受け付ける(S90)。そのような依頼がいずれかの参加者からあれば、チャットボットは、依頼先である「他の参加者」に対して、その依頼を受け付けるか否かを問い合わせる(S92)。そして、「他の参加者」から「受け入れ可」を示す回答がなされたか否かを判定し(S94)、「受け入れ可」の回答がなされた場合は、出力先リストに、依頼先の登録プリンタに対応付けて依頼元のユーザを登録する(S96)。S90~S94と、S62~S64との順序関係は、図17に例示したものに限らない。
【0160】
この例におけるグループチャット上でのやりとりの具体例を、図18を参照して説明する。図18も、ユーザAが操作するユーザ端末A(10A)に表示されるチャットサービスの画面例である。
【0161】
この例では、ユーザA(100)がグループチャットに会議開始の宣言を行い、チャットボットがこれに応じて会議モードに遷移した旨を投稿し、ユーザAが「文書1.doc」という文書を投稿し、これに応じてチャットボットが、参加者であるユーザA、B、Cのプリンタから出力する旨を投稿するまでは、図14の例と同じである。
【0162】
この後の待機時間の間に、ユーザC(106)が「今日はユーザAのプリンタから出力してください。」と、別参加者の登録プリンタからの出力を依頼する内容の投稿を行う。
【0163】
すると、チャットボットは、ユーザCの依頼を受け入れるかどうかを確認するメッセージ「ユーザA、よいですか?」をグループチャットに対して投稿。これに対して図示例では、ユーザAはユーザCの希望を受け入れる旨のメッセージ「OKです。」を投稿する。これを受けてチャットボットは、ユーザAの登録プリンタをユーザCと対応付けて出力先リストに追加する。この場合、出力先リストには、ユーザAの登録プリンタからの出力として、ユーザAの分とユーザCの分の2人分が含まれることになる。チャットボットは、「ユーザCの分はユーザAのプリンタから出力します。」との投稿をグループチャットに対して行い、出力先リストに含まれるユーザA、B、Cのそれぞれのジョブを、対応するプリンタに指示する。この場合、ユーザAの登録プリンタには2回、ユーザBのプリンタには1回の印刷指示が行われる。
【0164】
<プリント以外の例>
以上では、チャット上のユーザの発言に応じてそのユーザが登録した登録プリンタを制御するチャットボットを例にとって説明した。しかし、上記実施形態の制御は、プリンタ以外の出力機器を制御するチャットボットにも適用可能である。上記実施形態の制御が適用可能な出力機器の例としては、例えば、三次元物体を造形する3Dプリンタ、音声を出力するスピーカ(例えばいわゆるAIスピーカ)、動画等を表示する大画面のディスプレイを制御するコントローラ、等がある。例えば、ユーザが登録したスピーカを制御するチャットボットの場合、グループチャットに音声ファイルが投稿された場合、その音声ファイルを(必要に応じてスピーカが対応可能なデータ形式に変換した上で)出力先に指定された各ユーザのスピーカに送って出力させる。
【0165】
以上に例示したボットサーバは、例えば、コンピュータに上述の各機能を表すプログラムを実行させることにより実現される。ここで、コンピュータは、例えば、ハードウエアとして、CPU等のマイクロプロセッサ、ランダムアクセスメモリ(RAM)およびリードオンリメモリ(ROM)等のメモリ(一次記憶)、フラッシュメモリやSSD(ソリッドステートドライブ)、HDD(ハードディスクドライブ)等の固定記憶装置を制御するコントローラ、各種I/O(入出力)インタフェース、ローカルエリアネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース等が、たとえばバス等を介して接続された回路構成を有する。それら各機能の処理内容が記述されたプログラムがネットワーク等の経由でフラッシュメモリ等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがRAMに読み出されCPU等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。
【符号の説明】
【0166】
10A,10B,10C ユーザ端末、12 クラウド、14 チャットサービスサーバ、16A,16B ボットサーバ、16b CPU、16c ROM、16d RAM、16e 通信I/F、16f 入出力I/F、16g 記憶装置、18a,18b,18c プリンタ、160 通信部、161 メッセージ受付部、162 内容解析部、163 動作制御部、164 応答メッセージ作成部、165 ユーザ情報記憶部、166 グループ情報記憶部、167 メッセージ記憶部、168 APIゲートウェイ。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18