(57)【要約】【課題】  端末装置から情報機器に対する情報処理の要求を行うための情報処理システムを提供すること。【解決手段】  端末装置から情報機器に対する情報処理の要求を行うための情報処理システムは、端末装置のメッセージ送受信プログラムに入力される入力情報を取得する入力取得手段と、取得された入力情報に基づいて、情報処理サービスを呼び出す契機となる条件が満たされたかを判定する判定手段と、条件を満すと判定された場合に、端末装置のメッセージ送受信プログラム上で情報処理サービスを相手としたメッセージ送受信を行うための状態に切り替える切替手段とを含む。情報処理システムは、さらに、情報処理サービスに対するメッセージに基づいて、情報処理で使用する電子情報を取得する情報取得手段と、取得された電子情報を用いた情報処理を実行するよう情報機器に対する要求を発行する要求手段とを含む。【選択図】  図４
2018128843.tif 000002
【特許請求の範囲】
【請求項１】
端末装置から情報機器に対する情報処理の要求を行うための情報処理システムであって、
端末装置のメッセージ送受信プログラムに入力される入力情報を取得する入力取得手段と、
前記入力取得手段により取得された入力情報に基づいて、情報処理サービスを呼び出す契機となる条件が満たされたかを判定する判定手段と、
前記判定手段により条件を満すと判定された場合に、前記端末装置の前記メッセージ送受信プログラム上で前記情報処理サービスを相手としたメッセージ送受信を行うための状態に切り替える切替手段と、
前記情報処理サービスに対するメッセージに基づいて、情報処理で使用する電子情報を取得する情報取得手段と、
前記情報取得手段により取得された電子情報を用いた情報処理を実行するよう情報機器に対する要求を発行する要求手段と
を含む、情報処理システム。
【請求項２】
前記情報取得手段は、前記メッセージに基づく検索を実行し、前記情報処理システムは、前記検索の結果、該当する電子情報の候補が１つに特定されたか否かに応じて対話を生成する対話生成手段をさらに含み、
１つに特定された場合には、前記要求手段は、特定された１つの電子情報の候補を前記使用する電子情報として用いた情報処理の要求を発行するとともに、該情報処理の実行に応答して該情報処理の実行の履歴を記録し、
１つに特定されなかった場合には、前記対話生成手段は、前記検索の結果に含まれる複数の電子情報の候補を、前記実行の履歴に基づく優先順位とともに提示する対話を生成し、前記要求手段は、提示した複数の電子情報の候補のうちの指定を受けた１つの電子情報の候補を前記使用する電子情報として用いた情報処理の要求を発行するとともに、該情報処理の実行に応答して該情報処理の実行の履歴を記録する、請求項１に記載の情報処理システム。
【請求項３】
情報処理の実行の前に、前記情報取得手段により取得された電子情報を用いた情報処理の実行意思を確認する確認メッセージを前記情報処理サービスから送信させる送信処理手段をさらに含み、前記要求手段は、前記確認メッセージに対する肯定的な応答メッセージに応答して、前記情報機器に対する前記要求の発行を実施する、請求項１または２に記載の情報処理システム。
【請求項４】
複数の情報保管サービス各々の認証情報を保持する認証情報保持手段をさらに含み、前記情報取得手段は、前記認証情報保持手段に保持される認証情報を用いて前記複数の情報保管サービスを含む探索範囲を横断した検索結果に基づいて、前記使用する電子情報を取得する、請求項１〜３のいずれか１項に記載の情報処理システム。
【請求項５】
前記情報取得手段は、前記端末装置のユーザに関連付けられたユーザ情報および前記メッセージに基づいて、前記使用する電子情報を検索し、前記ユーザ情報は、スケジュール、情報処理の実行履歴、情報処理の処理条件の履歴およびユーザ管理情報の少なくとも１つを含む、請求項１〜４のいずれか１項に記載の情報処理システム。
【請求項６】
前記情報取得手段は、前記メッセージの自然言語処理の結果に基づいて、前記使用する電子情報を検索するための検索条件を生成する、請求項５に記載の情報処理システム。
【請求項７】
取得された電子情報の種類、取得された電子情報に付された属性、前記端末装置のユーザに関連付けられるユーザ情報、事前に設定された既定条件、対話を経て得られた入力条件のうちの少なくとも１つに基づいて、取得された電子情報を情報処理するための処理条件を決定する条件決定手段をさらに含む、請求項１〜６のいずれか１項に記載の情報処理システム。
【請求項８】
前記判定手段は、それぞれ互いに異なる情報処理を行うための１以上のサービス各々について判定する、請求項１〜７のいずれか１項に記載の情報処理システム。
【請求項９】
前記端末装置のメッセージ送受信プログラムは、インスタント・メッセージング・クライアント・アプリケーションのプログラムであり、前記情報処理サービスは、対話により電子情報の情報処理の要求を受け付けて該情報処理の実行を所定の情報機器に要求するためのソフトウェア・ロボットが提供するサービスであり、前記状態に切り替えることは、前記ソフトウェア・ロボットとのメッセージ送受信を行うためのチャットルームを表示すること、または、該チャットルームが利用可能であることを知らせる通知を表示することである、請求項１〜８のいずれか１項に記載の情報処理システム。
【請求項１０】
前記情報処理は、前記所定の情報機器としての画像形成装置からの電子情報の印刷出力、前記所定の情報機器としての映像投影装置からの電子情報の投影出力、前記所定の情報機器としての画像通信装置からの電子情報の画像送信出力、または、前記所定の情報機器として画像入力装置からの電子情報が示す保存位置への画像入力である、請求項１〜９のいずれか１項に記載の情報処理システム。
【請求項１１】
前記情報取得手段および前記要求手段は、前記情報処理サービスにかかる対話処理を実行するサーバ上で実行されるプログラムとして提供され、前記入力取得手段および前記切替手段は、前記端末装置の前記メッセージ送受信プログラムの一部または前記端末装置の前記メッセージ送受信プログラムとは異なるプログラムとして提供され、前記判定手段は、前記メッセージ送受信プログラムの一部、前記異なるプログラムまたは前記情報処理サービスにかかる対話処理を実行するサーバ上で実行されるプログラムにより提供される、請求項１〜９のいずれか１項に記載の情報処理システム。
【請求項１２】
情報機器に対する情報処理の要求を行うための端末装置であって、
当該端末装置のメッセージ送受信プログラムに入力される入力情報を取得する入力取得手段と、
前記入力取得手段により取得された入力情報に基づく情報処理サービスを呼び出す契機となる条件が満たされたかの判定結果を取得する結果判定取得手段と、
前記結果取得手段により取得された判定結果が前記条件を満すことを示す場合に、当該端末装置の前記メッセージ送受信プログラム上で前記情報処理サービスを相手としたメッセージ送受信を行うための状態に切り替える切替手段と
を含み、前記情報処理サービスを相手としたメッセージ送受信を行うための状態で、前記情報処理サービスに対しメッセージを送信することにより、所定の電子情報を用いた情報処理を実行することを求める情報機器に対する要求が発行される、端末装置。
【請求項１３】
前記入力取得手段、前記結果取得手段および前記切替手段は、
前記メッセージ送受信プログラムの一部として提供されるか、または、
前記入力取得手段が、前記メッセージ送受信プログラムに入力された情報を、スクリーンショットの取得またはキー入力の取得に基づいて取得し、前記切替手段が、前記メッセージ送受信プログラムに状態の切り替えを要求するとして、前記メッセージ送受信プログラムとは異なる、前記端末装置のプログラムとして提供される、請求項１２に記載の端末装置。
【請求項１４】
前記端末装置は、携帯情報端末装置、情報処理装置、コミュニケーションロボットまたはホログラム投影装置である、請求項１２または１３に記載の端末装置。
【請求項１５】
端末装置から情報機器に対する情報処理の要求を行うための情報処理方法であって、
前記端末装置が、メッセージ送受信プログラムに入力される入力情報を取得するステップと、
前記端末装置が、前記入力を取得ステップで取得された入力情報に基づき、情報処理サービスを呼び出す契機となる条件が満たされたかの判定結果を取得するステップと、
前記端末装置が、前記判定結果を取得するステップで取得した判定結果が前記条件を満すことを示す場合に、前記メッセージ送受信プログラム上で前記情報処理サービスを相手としたメッセージ送受信を行うための状態に切り替えるステップと、
前記端末装置または情報処理サービスにかかる対話処理を実行するサーバが、前記情報処理サービスに対するメッセージに基づいて、情報処理で使用する電子情報を取得するステップと、
前記端末装置または前記サーバが、前記電子情報を取得するステップで取得された電子情報に基づき情報処理を実行するよう前記情報機器に対する要求を発行するステップと
を含む、情報処理方法。
【請求項１６】
情報機器に対する情報処理の要求を行うための端末装置を実現するためのプログラムであって、コンピュータを、
当該端末装置のメッセージ送受信プログラムに入力される入力情報を取得する入力取得手段、
前記入力取得手段により取得された入力情報に基づく情報処理サービスを呼び出す契機となる条件が満たされたかの判定結果を取得する結果取得手段、および
前記結果取得手段により取得された判定結果が前記条件を満すことを示す場合に、前記端末装置の前記メッセージ送受信プログラム上で該情報処理サービスを相手としたメッセージ送受信を行うための状態に切り替える切替手段
として機能させるためのプログラムであり、前記情報処理サービスを相手としたメッセージ送受信を行うための状態で、前記情報処理サービスに対しメッセージを送信することにより、所定の電子情報を用いた情報処理を実行することを求める情報機器に対する要求が発行される、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、端末装置から情報機器に対する情報処理の要求を行うための情報処理システム、端末装置、情報処理方法および該端末装置を実現するためのプログラムに関する。
【背景技術】
【０００２】
近年、スマートフォンなどの携帯情報端末に対応したインスタント・メッセージング・サービスを利用するユーザが増えている。さらに、メッセージング・サービスの利用を可能にするシステムにおいて、種々のソフトウェア・ロボット・サービスが提供されている。例えば、ユーザが所定条件を満たす情報を希望する場合に、情報提供を行うソフトウェア・ロボットを友だちとして追加し、仮想的な友だちとチャットすることで、ユーザは、所望の検索結果の提供を受けることができる。
【０００３】
例えば、特許第５６５０１４５号公報（特許文献１）は、インスタント・メッセージング・アプリケーションを介した情報提供方法を開示する。本情報提供方法では、ユーザ端末のメッセージング・アプリケーションを介して、ユーザからのソフトウェア・ロボットをユーザの友だちとして追加する追加リクエストが受信されると、ソフトウェア・ロボットがユーザの友だちとして追加登録される。ソフトウェア・ロボットは、ユーザ端末のアプリケーションを介してユーザに入力リクエストメッセージを送信する。入力リクエストメッセージに応じてユーザから返答メッセージが受信されると、ソフトウェア・ロボットは、返答メッセージをユーザに関連するユーザ情報として格納し、返答メッセージをクエリとして入力して、データベースからクエリに対する応答を検索し、ユーザ端末のアプリケーションを介して応答をユーザに送信する。
【０００４】
しかしながら、従来技術のメッセージング・アプリケーションなどのメッセージ送受信プログラムを用いて、所望の情報処理を行う際には、ユーザは、煩雑な操作を行う必要があった。例えば、情報処理サービスを提供するソフトウェア・ロボットを友だちとして追加するためのユーザによる追加登録操作や、ソフトウェア・ロボットとのチャットルームに切り替える切替操作が必要となった。そのため、ユーザにとって、ソフトウェア・ロボットの追加登録操作や切替操作が手間になるという点で充分ではなかった。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本開示は、従来技術における上記に鑑みてなされたものであり、メッセージ送受信プログラムにおける情報処理サービスを利用するための煩雑な操作の手間を省きながら、情報機器に対する情報処理の要求を行うことが可能な、情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の実施形態では、上記課題を解決するために、以下の特徴を有する、端末装置から情報機器に対する情報処理の要求を行うための情報処理システムを提供する。本情報処理システムは、端末装置のメッセージ送受信プログラムに入力される入力情報を取得する入力取得手段と、上記入力取得手段により取得された入力情報に基づいて、情報処理サービスを呼び出す契機となる条件が満たされたかを判定する判定手段と、上記判定手段により条件を満すと判定された場合に、上記端末装置のメッセージ送受信プログラム上で上記情報処理サービスを相手としたメッセージ送受信を行うための状態に切り替える切替手段とを含む。本情報処理システムは、さらに、上記情報処理サービスに対するメッセージに基づいて、情報処理で使用する電子情報を取得する情報取得手段と、上記情報取得手段により取得された電子情報を用いた情報処理を実行するよう情報機器に対する要求を発行する要求手段とを含む。
【発明の効果】
【０００７】
上記構成により、メッセージ送受信プログラムにおける情報処理サービスを利用するための煩雑な操作の手間を省きながら、情報機器に対する情報処理の要求を行うことが可能となる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態による情報処理システムが配置されたネットワーク環境を例示する図。
【図２】本実施形態による対話出力処理サーバおよび端末装置として用いられるコンピュータのハードウェア構成図。
【図３】本実施形態による情報処理システムにおけるソフトウェア構成図。
【図４】本実施形態による情報処理システムで構成される機能ブロック図。
【図５】本実施形態による情報処理システムにおいて端末装置で実行されるサービス呼出処理を示すフローチャート。
【図６】本実施形態による情報処理システムにおいて対話出力処理サーバで実行される対話印刷出力処理を示すフローチャート。
【図７】本実施形態による情報処理システムにおいて参照されるデータ構造を例示する図。
【図８】本実施形態による情報処理システムにおいて端末装置上で表示される画面を例示する図（１／４）。
【図９】本実施形態による情報処理システムにおいて端末装置上で表示される画面を例示する図（２／４）。
【図１０】本実施形態による情報処理システムにおいて端末装置上で表示される画面を例示する図（３／４）。
【図１１】本実施形態による情報処理システムにおいて端末装置上で表示される画面を例示する図（４／４）。
【図１２】他の実施形態による情報処理システムで構成される機能ブロック図。
【発明を実施するための形態】
【０００９】
以下、本実施形態をもって説明するが、実施形態は、後述する実施形態に限定されるものではない。なお、本実施形態では、端末装置から情報機器に対する出力処理を要求するための情報処理システムを一例に説明するが、情報処理システムは、これに限定されるものではなく、所定の情報機器が実行可能な他の種類の情報処理に対し適用することを妨げるものではない。
【００１０】
図１は、本実施形態による情報処理システムが配置されたネットワーク環境１００を例示する。図１に示すネットワーク環境１００においては、出力仲介サーバ１０４と、自然言語処理サーバ１０６と、１または複数のサービス提供サーバ１０８と、メッセージ送受信サーバ１１０と、対話出力処理サーバ１２０と、１または複数の端末装置１５０と、１または複数の情報機器１９２〜１９６とが配置されている。
【００１１】
上述した出力仲介サーバ１０４、自然言語処理サーバ１０６、サービス提供サーバ１０８、メッセージ送受信サーバ１１０、対話出力処理サーバ１２０、端末装置１５０および情報機器１９２〜１９６は、ネットワーク１０２を介して、ＴＣＰ／ＩＰプロトコルに基づくパケット通信により相互に通信を行っている。上記ネットワーク１０２は、特に限定されるものではないが、１０００Ｂａｓｅ−ＴＸのイーサネット（登録商標）やＩＥＥＥ８０２．１１などの規格の有線または無線のローカル・エリア・ネットワークや、ＶＰＮ（Virtual Private Network）などの広域ネットワーク、３ＧやＬＴＥ（Long-Term Evolution）など移動体通信網や光アクセス網などの公衆ネットワークを含むことができる。
【００１２】
出力仲介サーバ１０４は、情報機器１９２〜１９６に対する印刷出力、投影出力、画像表示出力、画像送信出力などの出力処理を仲介するサーバである。出力仲介サーバ１０４は、独自に開発されたサーバとして構成されてもよいし、Ｇｏｏｇｌｅ  Ｃｌｏｕｄ  Ｐｒｉｎｔ（商標または登録商標）などの既存のサーバであってもよい。また、出力処理に代えて、あるいは出力処理とともに、画像読取処理などの入力処理を仲介する機能を提供するものであってもよい。また、図１には、単一の出力仲介サーバ１０４が示されているが、出力処理の種類やプロトコルに応じて、各種出力処理やプロトコルに対応した複数の出力仲介サーバ１０４がネットワーク環境１００にあってもよい。
【００１３】
自然言語処理サーバ１０６は、自然言語処理により、自然文として構成されたテキストを解析するサービスを提供するサーバである。自然言語処理サーバ１０６には、さらに、音声をテキストに変換したり、テキストを音声に変換したりする機能が備えられてもよい。自然言語処理サーバ１０６は、独自に開発されたサーバとして構成されてもよいし、ＩＢＭ  Ｗａｔｓｏｎ（商標または登録商標）、Ｇｏｏｇｌｅ  Ｃｌｏｕｄ  Ｎａｔｕｒａｌ  Ｌａｎｇｕａｇｅ  ＡＰＩ（Application Programming Interface）などの既存のサーバが用いられてもよい。自然言語処理サーバ１０６は、要求元からの依頼に応じて、自然言語処理を実行し、要求元に対し処理結果を応答することができる。
【００１４】
サービス提供サーバ１０８は、ネットワーク１０２を介してストレージ機能、カレンダー機能、オフィス・アプリケーション機能などの情報保管サービスを提供するサーバである。これらの機能の提供形態としては、ＩａａＳ（Infrastructure as a Service）、ＰａａＳ（Platform as a Service）、ＳａａＳ（Software as a Service）などを挙げることができる。サービス提供サーバ１０８は、独自に開発されたサーバとして構成されてもよいし、Ｄｒｏｐｂｏｘ（商標または登録商標）、ｂｏｘ（商標または登録商標）、Ｇ  Ｓｕｉｔｅ（商標または登録商標）などの既存のサーバが用いられてもよい。また、図１には、２つのサービス提供サーバ１０８ａ，１０８ｂが例示されているが、サービスの種類やサービス提供元の主体に応じて、複数のサービス提供サーバ１０８がネットワーク環境１００にあってもよい。
【００１５】
メッセージ送受信サーバ１１０は、ユーザ同士、ユーザとソフトウェア・ロボット（チャットボットと呼称されることもある。）との間のメッセージ送受信を仲介するインスタント・メッセージング・サービスを提供するサーバである。メッセージ送受信サーバ１１０は、独自に開発されたサーバとして構成されてもよいし、Ｓｌａｃｋ（商標または登録商標）、ＬＩＮＥ（商標または登録商標）、Ｓｋｙｐｅ（商標または登録商標）、ＣｈａｒｔＷｏｒｋ（商標または登録商標）などの既存のインスタント・メッセージング（チャット）アプリケーションにおけるメッセージ送受信を担うサーバであってもよい。
【００１６】
端末装置１５０は、スマートフォンやタブレットコンピュータ、ウェアラブルコンピュータなどの携帯情報端末装置、パーソナルコンピュータなどの情報処理装置などである。端末装置１５０は、その他、コミュニケーションロボットのロボット装置、または、バーチャル・プレゼンターなどのホログラム投影装置などであってもよい。端末装置１５０上には、上述したメッセージ送受信サーバ１１０が提供するインスタント・メッセージング・サービスに対応したクライアント・アプリケーションがインストールされている。端末装置１５０のユーザは、クライアント・アプリケーションを介することで、他のユーザやソフトウェア・ロボットとの間でメッセージ送受信を行うことができる。端末装置１５０は、官公庁、医療機関、教育機関や企業などの組織の所定のロケーションＬや他のロケーションに配置され得る。
【００１７】
情報機器１９２〜１９６は、複合機やプリンタなどの画像形成装置、プロジェクタなどの映像投影装置、電子黒板やインタラクティブホワイトボード（Interactive White Board：以下、ＩＷＢと参照する。）などの画像表示装置、ファクシミリなどの画像送信装置、スキャナなどの画像読取装置などである。図１に示す例では、ＭＦＰ（Multi-Function Peripheral）１９２、ＩＷＢ１９４およびプロジェクタ１９６が例示されている。
【００１８】
図１に示す環境１００において、例えば、端末装置１５０ａのユーザが、１または複数のサービス提供サーバ１０８上の所望の電子文書を、端末装置１５０ａと同一ロケーションＬの複合機１９２から印刷出力をさせたいという要望を持つ場合がある。あるいは、プロジェクタ１９６からの所望の電子文書の投影出力、ＩＷＢ１９４からの所望の電子文書の表示出力、その他、画像通信装置からの電子文書の画像送信出力、画像入力装置からの所定の保存位置への画像入力を行いたいという要望がある場合もある。この場合に、できる限り少ない労力で、簡便に、所望の情報処理結果を得ることができると好ましい。
【００１９】
図１に示す対話出力処理サーバ１２０は、上述した端末装置１５０および情報機器１９２〜１９６の間で、上記メッセージング・サービスを介した対話により端末装置１５０からの情報機器１９２〜１９６に対する情報処理（出力処理や入力処理）の要求を行うためのソフトウェア・ロボットのサービスを提供する。
【００２０】
対話出力処理サーバ１２０は、上述した情報処理を行うという目的と達成するために、上記メッセージング・サービスを介して、ユーザとの対話を行いながら、ユーザが求めている情報処理の要求を抽出する。対話出力処理サーバ１２０は、受信したメッセージを解釈するのに際して、上述した自然言語処理サーバ１０６が提供する自然言語処理サービスを利用して、印刷出力を行うという目的、処理対象となる電子情報を特定するための情報、処理条件を決定するための情報を抽出することができる。対話出力処理サーバ１２０は、ユーザからの情報処理の要求を抽出すると、サービス提供サーバ１０８などから処理対象となる電子情報を取得し、対応する情報機器１９２〜１９６に対する所定の処理条件での情報処理の要求を発行する。
【００２１】
なお、対話出力処理サーバ１２０が、情報機器１９２〜１９６とは異なるネットワークに属し、公衆ネットワークを介して通信するような態様では、出力仲介サーバ１０４を介して出力処理要求が行われる。一方、プライベートクラウド上に対話出力処理サーバ１２０を設けた場合など、対話出力処理サーバ１２０および情報機器１９２〜１９６が組織内のネットワークを介して通信できるような態様であれば、出力仲介サーバ１０４を介さず、情報機器１９２〜１９６用のＡＰＩに対して直接出力処理要求を行うこともできる。
【００２２】
以下、図２を参照しながら、まず、本実施形態による対話出力処理サーバ１２０および端末装置１５０のハードウェア構成について説明する。図２は、本実施形態による対話出力処理サーバ１２０および端末装置１５０として用いられるコンピュータ１０のハードウェア構成図である。コンピュータ１０は、典型的には、汎用コンピュータ装置として構成される。
【００２３】
図２に示すコンピュータ１０は、ＣＰＵ（Central Processing Unit）１２と、ＣＰＵ１２とメモリとの接続を担うノースブリッジ１４と、サウスブリッジ１６とを含む。サウスブリッジ１６は、上記ノースブリッジ１４と専用バスまたはＰＣＩバスを介して接続され、ＰＣＩバスやＵＳＢなどのＩ／Ｏとの接続を担う。
【００２４】
ノースブリッジ１４には、ＣＰＵ１２の作業領域を提供するＲＡＭ（Random Access Memory）１８が接続されている。ノースブリッジ１４には、さらに、映像信号を出力するグラフィックボード２０が接続されてもよい。グラフィックボード２０には、映像出力インタフェースを介してディスプレイ５０が接続されてもよい。
【００２５】
サウスブリッジ１６には、ＰＣＩ（Peripheral Component Interconnect）２２、ＬＡＮポート２４、ＩＥＥＥ１３９４ポート２６、ＵＳＢポート２８、補助記憶装置３０、オーディオ入出力３２、シリアルポート３４が接続され得る。補助記憶装置３０は、ＨＤＤやＳＳＤなどであり、コンピュータ１０を制御するためのオペレーティング・システム、後述する機能部を実現するためのプログラムや各種システム情報や各種設定情報を格納する。ＬＡＮポート２４は、コンピュータ１０を有線および無線でネットワーク１０２に接続させるインタフェース機器である。
【００２６】
ＵＳＢポート２８には、キーボード５２およびマウス５４などの入力装置が接続されてもよい。本実施形態によるコンピュータは、補助記憶装置３０から、対話出力処理サーバ１２０または端末装置１５０のためのプログラムを読み出し、ＲＡＭ１８が提供する作業空間に展開することにより、ＣＰＵ１２の制御の下、後述する各機能部および各処理を実現する。なお、出力仲介サーバ１０４、サービス提供サーバ１０８、自然言語処理サーバ１０６、メッセージ送受信サーバ１１０および情報機器１９２〜１９６については、特に説明を行わないが、同様に、ＣＰＵおよびＲＡＭ等などのハードウェアや、特定の用途に応じたハードウェアを備えているものとする。
【００２７】
図３は、本実施形態による情報処理システムにおけるソフトウェア構成を示す。図３に示すように、ソフトウェア構成２００としては、サーバ側のメッセージ送受信プログラムであるメッセージ送受信サーバ・アプリケーション（以下、単にサーバ・アプリケーションと参照する。）２１０と、クライアント側のメッセージ送受信プログラムであるメッセージ送受信クライアント・アプリケーション（以下、単にクライアント・アプリケーションと参照する。）２５０と、１または複数のソフトウェア・ロボット・アプリケーション２２０とを含む。
【００２８】
サーバ・アプリケーション２１０は、上述したメッセージ送受信サーバ１１０上で動作し、ユーザ同士やユーザとソフトウェア・ロボットとの間のメッセージ送受信を仲介するロジックを備える。クライアント・アプリケーション２５０は、端末装置１５０上で動作し、メッセージ送受信のためサーバ・アプリケーション２１０との通信を行う。クライアント・アプリケーション２５０は、端末装置１５０のユーザからの入力を受けて他のユーザやソフトウェア・ロボットに対するメッセージの送信をサーバ・アプリケーション２１０に依頼することができる。クライアント・アプリケーション２５０は、また、他のユーザやソフトウェア・ロボットから自身のユーザに送信されたメッセージをサーバ・アプリケーション２１０から取得して、画面表示や音声出力により利用者に通知することができる。なお、送受信されるメッセージは、テキスト、音声、映像、画像またはこれらの組み合わせを含むことができる。
【００２９】
ソフトウェア・ロボット・アプリケーション２２０は、端末装置１５０からの情報機器１９２〜１９６に対する所定の情報処理（出力処理や入力処理）の要求を行うためのソフトウェア・ロボット・サービスを提供する。ソフトウェア・ロボット・アプリケーション２２０としては、図２に示す例では、印刷出力用ソフトウェア・ロボット・アプリケーション（以下、印刷出力用アプリケーションと参照する。）２２０Ａと、投影出力用ソフトウェア・ロボット・アプリケーション（以下、投影出力用アプリケーションと参照する。）２２０Ｂが示されている。印刷出力用アプリケーション２２０Ａは、電子文書の印刷出力を行うための対話を生成するロジックおよび印刷出力を情報機器（例えば複合機１９２）に要求するための印刷要求機能を備える。同様に、投影出力用アプリケーション２２０Ｂは、電子文書の投影出力を行うための対話を生成するロジックおよび投影出力を情報機器（例えばプロジェクタ１９６）に要求するための投影要求機能を備える。
【００３０】
図２には示されていないが、ＩＷＢ２９４からの画像表示出力、その他、画像送信装置からの画像送信出力、画像読取装置からの画像入力などの各種機能に応じて、それぞれアプリケーションが提供されてもよい。あるいは、単一のアプリケーションが、上述した印刷出力、投影出力、画像表示出力、画像送信および画像入力などの２以上の情報処理の組み合わせをまとめて提供するように構成されてもよい。
【００３１】
図３に示す端末装置１５０には、さらに、クライアント・アプリケーション２５０と連携して、複数のソフトウェア・ロボットのうちの１つを呼び出す窓口となる統合サービスを提供するプログラム２６０が導入されている。
【００３２】
説明する実施形態において、例えば、クライアント・アプリケーション２５０Ａ上で、ユーザが、「昨日更新した資料を印刷しないと」などの入力が行われると、プログラム２６０は、事前登録されていたキーワード「印刷」を検出する。そして、プログラム２６０は、キーワード「印刷」に対応する印刷出力用アプリケーション２２０Ａを特定し、クライアント・アプリケーション２５０Ａ上で、印刷出力用アプリケーション２２０Ａを利用可能なように状態を切り替える。以後、印刷出力用アプリケーション２２０Ａとの対話を通じて、対話出力処理サーバ１２０側で、電子文書の検索および印刷出力を行うための処理が実行される。同様に、例えばユーザが、「昨日準備した資料を投影して」などの入力が行われると、プログラム２６０は、投影出力用アプリケーション２２０Ｂを呼び出し、該アプリケーション２２０Ｂとの対話を通じて、電子文書の検索および投影出力を行うことができる状態に切り替えることができる。
【００３３】
ここで、状態を切り替えるとは、ソフトウェア・ロボットとのメッセージ送受信を行うためのチャットルーム（トーク画面などとも呼ばれる。）を表示させたり、このチャットルームが利用可能であることを知らせ、またチャットルームへの遷移させる操作を受け付ける通知を表示したりすることである。また、以下、送受信されるメッセージがテキストであるものとして説明するが、メッセージの形式は、テキストに限定されるものではない。例えば、メッセージが音声で送信された場合には、事前に音声をテキストに変換することで、テキストのメッセージと同様の取り扱いが可能である。
【００３４】
図３には、端末装置１５０側での上記統合サービスを提供するプログラムの２つの実施形態が示されている。
【００３５】
第１の形態では、クライアント・アプリケーション２５０Ａに、アドオンプログラム２６０Ａとして組み込まれる態様である。アドオンプログラム２６０Ａは、本実施形態において、クライアント・アプリケーション２５０Ａに組み込まれて、クライアント・アプリケーション２５０Ａとともに端末装置１５０上で動作し、上述した統合サービスを提供するよう構成される。第１の形態では、統合サービスは、クライアント・アプリケーション２５０Ａ内で常駐するサービスとして動作することができる。
【００３６】
第２の形態では、クライアント・アプリケーション２５０Ｂとは別の外部プログラム２６０Ｂとして提供される態様である。外部プログラム２６０Ｂは、上述したアドオンプログラム２６０Ａの機能を外部機能として提供するプログラムである。外部プログラム２６０Ｂは、端末装置１５０上でクライアント・アプリケーション２５０Ａと連携して動作し、上記統合サービスを提供するよう構成される。第２の形態では、統合サービスは、端末装置１５０のオペレーティング・システム上で常駐するアプリケーションとして動作することができる。
【００３７】
以下、図４を参照しながら、上述した第１の形態を一例として、プログラム２６０が提供する機能およびソフトウェア・ロボット・アプリケーション２２０が提供する機能について、より詳細に説明する。図４は、本実施形態による情報処理システム上で構成される機能ブロックを示す。
【００３８】
以下、図４を参照しながら、情報処理システムを構成するクライアント・アプリケーション２５０側の機能ブロックについて説明する。図４に示すように、クライアント・アプリケーション２５０Ａのアドオンプログラム２６０Ａは、より詳細には、入力情報取得部２６２と、呼出条件判定部２６４と、キーワード記憶部２６６と、状態切替部２６８とを含み構成される。
【００３９】
入力情報取得部２６２は、端末装置１５０のクライアント・アプリケーション２５０Ａに入力される入力情報を取得する。ここで、入力情報は、簡便には、ソフトウェアキーボードやハードウェアキーボードを介して入力されたテキスト情報である。しかしながら、入力情報は、テキスト情報に限定されるものではなく、マイクロフォンを介して入力された音声情報であってもよい。上述したように、音声をテキストに変換することで、テキストのメッセージと同様の取り扱いが可能であるからである。入力情報取得部２６２は、本実施形態における入力取得手段を構成する。
【００４０】
呼出条件判定部２６４は、上記入力情報取得部２６２により取得された入力情報に基づいて、上述した印刷出力用や投影出力用のソフトウェア・ロボットを呼び出す契機となる各条件が満たされたかを判定する。キーワード記憶部２６６は、各種ソフトウェア・ロボットを呼び出す契機となる条件として、それぞれ１以上のキーワードを記憶する。
【００４１】
なお、説明する実施形態では、呼び出す契機となる条件が満たされたか否かは、簡便に、入力情報のテキスト中にキーワードが含まれているか否かを判定するものとし、端末装置１５０側で処理が実行されるものとして説明する。
【００４２】
しかしながら、他の実施形態では、より複雑な判定処理を行うことを妨げるものではない。また、端末装置１５０で実行する態様に限定されるものでもない。入力された情報をサーバへ送信することの許諾が得られるのであれば、端末装置１５０上のアドオンプログラム２６０Ａが、取得した入力情報を対話出力処理サーバ１２０に送信し、対話出力処理サーバ１２０側で条件が満たされたか否かを判定し、端末装置１５０に判定結果を応答する態様としてもよい。これにより、判定処理が複雑となった場合に、処理負荷を端末装置１５０から対話出力処理サーバ１２０側へオフロードすることができる。
【００４３】
例えば、事前に、類似する文章が検出された場合に印刷出力を呼び出すものとして複数の自然文を訓練データとして準備し、印刷出力処理に関連付けて機械学習しておくことができる。これにより、メッセージ中の所定の素性を検出して、印刷出力の条件が満たされたか否かを判定する学習モデルを用意することが可能である。
【００４４】
また、説明する実施形態では、呼出条件判定部２６４は、印刷出力用または投影出力用のサービスを判定するものとして説明するが、それぞれ互いに異なる情報処理を行うための任意の１以上のサービス各々について判定することができる。呼出条件判定部２６４は、本実施形態における判定手段または判定結果取得手段を構成する。
【００４５】
状態切替部２６８は、呼出条件判定部２６４により条件を満すと判定されたサービスがあった場合に、端末装置１５０のクライアント・アプリケーション２５０Ａ上で条件を満たすソフトウェア・ロボットを相手としたメッセージ送受信を行うための状態に切り替える。上述したように、より具体的には、所定の条件を満たす（例えば、印刷出力用）ソフトウェア・ロボットとのチャットルームを表示したり、該チャットルームに関する通知を表示することができる。また、端末装置１５０がコミュニケーションロボットなどである場合は、コミュニケーションロボットの動作モードを切り替えることとしてもよい。
【００４６】
このとき、上述した検出にかかるメッセージの入力が行われたチャットルーム（例えば、ユーザＡ，ＢのチャットルームやユーザＡ，Ｂ、Ｃのグループ・チャットルーム）上で該当ソフトウェア・ロボットを登場させてもよいし、それとは別の専用のチャットルームに切り替えて該当ソフトウェア・ロボットを登場させてもよい。状態切替部２６８は、本実施形態における切替手段を構成する。
【００４７】
状態が切り替えられると、クライアント・アプリケーション２５０Ａは、チャットルーム上で、例えば、キーワード検知を行った上記入力情報や、出力処理を行うためのセッションを開始するメッセージを、サーバ・アプリケーション２１０を介して該当ソフトウェア・ロボットに送信することができる。これにより、情報処理を要求するための該当ソフトウェア・ロボットとの一連の対話セッションが開始される。
【００４８】
なお、ここでは、図４を参照して、上述した第１の形態を一例として、アドオンプログラム２６０Ａが提供する機能について説明した。しかしながら、上述した第２の形態の場合でも外部プログラム２６０Ｂは、おおむね同じ機能を備えればよい。この場合、外部プログラム２６０Ｂは、クライアント・アプリケーション２５０Ｂとは別のプロセスとして動作することになるが、入力情報取得部２６２は、端末装置１５０の画面の定期的なスクリーンショットの取得およびそのパターンマッチングなどによる解析、または１文字ごとキー入力の記録に基づいて、入力情報を取得すればよい。状態切替部２６８も、外部プログラム２６０Ｂからクライアント・アプリケーション２５０に指令を送信することで、クライアント・アプリケーション２５０Ｂに状態の切り替えを求めたり、メッセージの送信を求めたりすることができる。
【００４９】
以下、図４を参照しながら、情報処理システムを構成するソフトウェア・ロボット・アプリケーション２２０側の機能ブロックについて、印刷出力用アプリケーション２２０Ａを一例として説明する。印刷出力用アプリケーション２２０Ａは、メッセージ受信部２２２と、メッセージ送信部２２４と、対話生成部２３０と、横断検索部２３２と、印刷出力要求部２３４と、印刷条件決定部２３６と、ユーザ情報管理部２３８と、認証情報保持部２４０とを含み構成される。
【００５０】
メッセージ受信部２２２は、サーバ・アプリケーション２１０と通信しており、ユーザからクライアント・アプリケーション２５０を介して当該印刷出力用ソフトウェア・ロボットに対して送信されたメッセージの受信処理を行う。メッセージ送信部２２４は、サーバ・アプリケーション２１０と通信しており、印刷出力用アプリケーション２２０Ａにおいて内部的に生成されたメッセージをユーザに宛てて送信処理を行う。
【００５１】
対話生成部２３０は、メッセージ受信部２２２により受信されたメッセージを解析し、応答メッセージを生成し、メッセージ送信部２２４により応答メッセージを送信させる。対話生成部２３０は、ユーザとの対話を経て、印刷出力を要求するに際して必要な情報を抽出する。ここで、必要な情報とは、印刷出力という目的、印刷対象を特定するための対象特定情報（文書名に関する情報、更新日時や作成日時に関する情報、検索範囲に関する情報、作成者に関する情報など）および印刷条件を決定するための条件特定情報（出力先に関する情報、既定条件の指定や、カラーモードに関する情報、集約モードに関する情報、用紙に関する情報など）が含まれ得る。投影出力用アプリケーション２２０Ｂであれば、必要な情報には、投影出力という目的、投影対象を特定するための対象特定情報、投影条件を決定するための条件特定情報（最初のページの投影なのか、最終更新を行ったページの投影なのか、アジェンダの投影なのかなど）が含まれる。対話生成部２３０は、不足する情報があれば、不足する情報の入力を促すためのメッセージを生成し、送信させる。
【００５２】
本実施形態による対話生成部２３０は、ユーザと交換するメッセージを紐つけて、印刷出力にかかる内部状態を管理しており、１または複数のメッセージによる対話を行い内部状態を更新しながら、印刷出力に必要な情報を埋めてゆく。
【００５３】
対話生成部２３０は、印刷出力という目的および対象特定情報が得られると、横断検索部２３２に対し、電子文書の検索を依頼し、検索結果を取得する。対話生成部２３０は、また、条件特定情報が得られると、印刷条件決定部２３６に対し、印刷条件の決定を依頼し、決定された印刷条件を取得する。対話生成部２３０は、さらに、印刷出力処理の実行の前に、取得された電子文書の印刷出力の実行を確認する確認メッセージを、送信処理手段としてのメッセージ送信部２２４に送信させることができる。対話生成部２３０は、確認メッセージに対する肯定的な応答メッセージを受け取ると、印刷出力要求部２３４に対し、該当電子文書の所定の印刷条件での印刷出力要求を依頼する。
【００５４】
さらに、対話生成部２３０は、好ましくは、検索の結果、該当する電子情報の候補が１つに特定されたか否かに応じて対話を生成することができる。１つに特定されなかった場合には、対話生成部２３０は、検索の結果に含まれる複数の電子情報の候補を優先順位とともに提示する対話メッセージを生成し、メッセージ送信部２２４に送信させることができる。対話生成部２３０は、メッセージ受信部２２２により受信された応答メッセージを解析し、ユーザによる複数の電子情報の候補のうちの１つの電子情報の候補の指定を受け付けることができる。対話生成部２３０は、本実施形態における対話生成手段を構成する。
【００５５】
横断検索部２３２は、対話生成部２３０からの依頼に応答して、受信したメッセージに基づく内部状態に応じた検索条件を生成し、生成した検索条件にて、事前登録された情報保管サービス内を検索することによって、印刷出力で使用する電子文書を取得する。事前登録されたサービスとしては、図４に示す例では、クラウドストレージサービス２０８Ａ，２０８Ｂやカレンダー機能を有するクラウドアプリケーションサービス２０８ｃが示されている。なお、事前登録されたサービス提供サーバ１０８にアクセスするための認証情報は、初期設定を経て、認証情報保持部２４０に事前に保持されているものとする。
【００５６】
横断検索部２３２は、自然言語処理サーバ１０６によるメッセージの自然言語処理の結果に基づいて、検索条件を生成することができる。例えば、メッセージに「昨日作成したプレゼン資料」などの自然文が含まれていた場合、更新日時および文書の種類など対象特定情報が抽出されているので、更新日および文書の種類に対する条件を含む検索条件を生成することができる。メッセージに「〇〇〇様への提案資料」などの自然文が含まれていた場合、ファイル名に関する対象特定情報が抽出されているので、例えばファイル名に「〇〇〇」が含まれるなどの条件を含む検索条件を生成することができる。また、横断検索部２３２は、検索に際して、端末装置１５０のユーザに関連付けられたユーザ情報に基づいて、電子情報を検索することもできる。例えば、メッセージに「明日の会議のプレゼン資料」などの自然文が含まれていた場合、ユーザのスケジュール情報から「明日の会議」に関する情報を検索し、特定されたスケジュール情報に含まれるリンクなどから電子情報を取得することができる。
【００５７】
１つの電子文書または複数の電子文書の候補が得られると、横断検索部２３２は、対話生成部２３０に検索結果を応答する。横断検索部２３２は、本実施形態における情報取得手段を構成する。ここで、ソフトウェア・ロボットが担当する情報処理が出力処理である場合は、出力対象となる電子文書が取得される。情報処理が入力処理である場合は、例えば、画像入力されたデータを保存する保存場所情報（例えば、所定のクラウドサーバの所定のディレクトリの指定）などが取得されればよい。
【００５８】
印刷出力要求部２３４は、対話生成部２３０からの依頼に応答して、出力仲介サーバ１０４上の印刷処理システム２０４を介して、取得された電子文書を使用した所定の印刷条件での印刷出力処理を実行するよう情報機器（複合機１９２）に対する要求を発行する。印刷出力要求部２３４は、好ましくは、上述した確認メッセージに対する肯定的な応答メッセージが受信された場合に、印刷出力の要求の発行を実施することができる。また、好ましくは、印刷出力要求部２３４は、要求を発行した後、情報機器（複合機１９２）からの印刷結果を受信したことに応答して、印刷出力処理の実行の履歴を記録することができる。印刷出力処理の実行の履歴は、例えば、上述した複数の電子文書を提示する際の優先順位付けに用いることができる。
【００５９】
ここで、電子情報を使用した印刷出力処理とは、取得された電子情報をそのまま印刷出力すること、および、取得された電子文書（例えばテンプレート）に基づいて、カスタマイズ（例えば対話により宛先などをカスタマイズ）するなどをして個別の電子文書を生成し、その生成した電子文書を印刷出力することを含む。
【００６０】
また、説明する実施形態では、探索範囲には、各種クラウドサービス２０８が含まれるが、探索範囲は、好適には端末装置１５０のローカルストレージや、対話出力処理サーバ１２０内のストレージを含んでいてもよい。
【００６１】
印刷条件決定部２３６は、印刷処理の実行に先立って、対話生成部２３０からの依頼に応答して、印刷出力処理するための印刷条件を決定し、対話生成部２３０に応答する。印刷条件の決定は、取得された電子文書の拡張子で特定される種類、取得された電子情報に付されたファイル名などの属性、端末装置１５０のユーザに関連付けられるスケジュール情報や権限などのユーザ情報、事前に設定された既定印刷条件、対話を経て得られた入力印刷条件のうちの少なくとも１つに基づいて行うことができる。ここで、印刷条件には、出力先情報機器、用紙サイズ、カラーモード、集約設定、フィニッシャ設定、トナーセーブの要否などの印刷設定が含まれる。印刷条件決定部２３６は、本実施形態における条件決定手段を構成する。
【００６２】
ユーザ情報管理部２３８は、端末装置１５０のユーザに関連付けられたユーザ情報２４２を取得する。ここで、ユーザ情報としては、会議情報などのスケジュール情報、印刷出力処理の実行履歴、印刷出力条件の履歴およびユーザ管理情報の少なくとも１つを含む。ユーザ管理情報は、例えば、権限情報などを含むものである。ユーザ情報は、印刷対象の電子文書を特定するために、提示する電子文書を順位付けるために、印刷条件を決定するために、用いることができる。例えば一定の職種や職位のユーザは、モノクロモードが推奨されるなどのポリシーがある場合に、権限情報およびポリシーに基づいて印刷条件を決定することができる。
【００６３】
認証情報保持部２４０は、複数の情報保管サービス各々の認証情報を保持する。認証情報は、例えば、当該ユーザが本印刷出力用ソフトウェア・ロボットに対し最初にメッセージを送信した際に、初期設定のダイアログにより設定することができる。認証情報保持部２４０が保持する情報は、横断検索部２３２により参照される。認証情報保持部２４０は、本実施形態における認証情報保持手段を構成する。
【００６４】
なお、図４には、印刷出力用アプリケーション２２０Ａのみが例示されているが、投影出力用アプリケーション２２０Ｂや他の出力処理用のソフトウェア・ロボット・アプリケーションについても同様の構成とすることができる。
【００６５】
以下、図５および図６に示すフローチャート、図７に示すデータ構造、図８〜図１１に示す画面を参照しながら、本実施形態による情報処理システムにおいて実行される処理について、より詳細に説明する。
【００６６】
図５は、本実施形態による情報処理システムにおいて端末装置１５０で実行されるサービス呼出処理を示すフローチャートである。図７は、本実施形態による情報処理システムにおいて参照される（Ａ）ーワード登録テーブル（Ｂ）スケジュール情報（Ｃ）印刷実行履歴（Ｄ）既定印刷条件のデータ構造を例示する。図８〜図１１は、本実施形態による情報処理システムにおいて端末装置１５０上で表示される画面を例示する。
【００６７】
図５に示す処理は、端末装置１５０のクライアント・アプリケーション２５０が起動したことに応答して、ステップＳ１００から開始される。ステップＳ１０１では、端末装置１５０は、ユーザ入力があるか否かを判定する。ステップＳ１０１で、ユーザ入力が未だ無いと判定された場合（ＮＯ）は、ステップＳ１０２で所定時間待った後、ステップＳ１０１へ処理をループさせる。一方、ステップＳ１０１で、ユーザ入力が有ったと判定された場合（ＹＥＳ）は、ステップＳ１０３へ処理が進められる。
【００６８】
ステップＳ１０３では、端末装置１５０は、入力情報取得部２６２により、ユーザ入力を取得する。ステップＳ１０４では、端末装置１５０は、呼出条件判定部２６４により、ユーザ入力を解析する。図７（Ａ）は、端末装置１５０で実行されるサービス呼出処理において参照されるキーワード登録テーブルのデータ構造を例示する。ステップＳ１０５では、端末装置１５０は、呼出条件判定部２６４により、該当キーワードがあることにより、ソフトウェア・ロボット・サービスを呼び出す契機となる条件が満たされたか否かを判定する。図７（Ａ）に示すキーワード登録テーブルに登録されたキーワードが入力情報中に検出された場合は、対応する情報処理サービスが特定される。
【００６９】
ステップＳ１０５で、該当キーワードを含まず、いずれの呼び出す契機となる条件が満たされていないと判定された場合（ＮＯ）は、ステップＳ１０１へ処理が戻され、次のユーザ入力についての処理に進められる。一方、ステップ１０５で、該当キーワードが含まれ、ソフトウェア・ロボット・サービスを呼び出す契機となるいずれかの条件が満たされた場合（ＹＥＳ）は、ステップＳ１０６へ処理が進められる。ステップＳ１０６では、端末装置１５０は、呼び出す契機となる条件が満たされた対応するサービスとのチャットルームに切り替える。
【００７０】
図８（Ａ）は、端末装置１５０上で表示される当該端末装置１５０のユーザＡと、他の端末装置のユーザＢおよびユーザＣとのグループチャットの画面を例示する。図（Ａ）に示す画面を参照すると、ユーザＡが、「印刷」というキーワードを含むメッセージ１０００を送信していることがわかる。図８（Ｂ）は、端末装置１５０上で表示される、印刷出力用ソフトウェア・ロボットとのチャット画面を例示する。特定の実施形態においては、図８（Ａ）に示す最後のメッセージ１０００にキーワード「印刷」が含まれることが検出されたことに応答して、図８（Ｂ）に示すようなチャット画面に切り替えられる。
【００７１】
ステップＳ１０７では、クライアント・アプリケーション２５０から対応ソフトウェア・ロボットへのメッセージ送信が実施され、ステップＳ１０８で本処理が終了する。ここで送信されるメッセージは、チャットボットを呼び出すためのメッセージであてもよいし、キーワード検出されたユーザ間の対話におけるメッセージそのものであってもよい。つまり、図８（Ａ）に示す場合、キーワードが検出された「ありがとう。最新版の会議資料を人数分印刷しておかないとね」というメッセージをそのまま送信し、そのまま「最新版の会議資料を人数分印刷」という目的や対象特定情報、印刷条件をチャットボット側で特定できるようにしてもよい。
【００７２】
以降、クライアント・アプリケーション２５０を用いて、ソフトウェア・ロボットとの対話を通じて印刷出力の要求が行われることとなる。
【００７３】
図６は、本実施形態による情報処理システムにおいて対話出力処理サーバ１２０で実行される対話印刷出力処理を示すフローチャートである。図６に示す処理は、クライアント・アプリケーション２５０からのセッションを開始させるメッセージに応答して、ステップＳ２００から開始される。ここで、セッションとは、所定の出力処理を実行するために、クライアント・アプリケーション２５０と、ボットアプリケーションとの間で行われる一群のメッセージ送受信を意味する。
【００７４】
ステップＳ２０１では、対話出力処理サーバ１２０は、メッセージ受信部２２２により、クライアント・アプリケーション２５０から送信されたメッセージの受信処理をする。ステップＳ２０２では、対話出力処理サーバ１２０は、対話生成部２３０によりメッセージを解釈し、会話の目的、メッセージに含まれる印刷対象を特定するための情報、印刷条件を特定するための情報などを抽出し、内部状態として保持する。ステップＳ２０３では、対話出力処理サーバ１２０は、まず、当該ユーザについて初期設定が実施済みであるか否かを判定する。ステップＳ２０３で、初期設定がいまだ行われていないと判定された場合（ＮＯ）は、ステップＳ２０４へ処理を進めて、初期設定ダイアログを実行する。
【００７５】
ステップＳ２０４で示す初期設定ダイアログでは、メッセージ送信（Ｓ３０１）、メッセージ受信（Ｓ３０２）およびメッセージ解釈（Ｓ３０３）が１以上の回数繰り返されて、ユーザからの初期設定を対話により実施することができる。ステップＳ３０４では、初期設定が完了したか否かに応じて処理を分岐させる。ステップＳ３０４で、まだ、初期設定が完了していないと判定された場合（ＮＯ）は、ステップＳ３０１へ戻されて、対話が継続される。一方、ステップＳ３０４で、初期設定が完了したと判定された場合（ＹＥＳ）は、ステップＳ２０５へ処理が進められる。
【００７６】
初期設定ダイアログでは、例えば、対話により上述した情報保管サービスの認証情報を保存するための処理が行われる。自然文による対話のほか、クライアント・アプリケーション２５０上でダイアログボックスを表示させるためのボタンなどのＧＵＩ部品を表示してもよい。図８（Ｂ）には、対話により実施される初期設定の様子が示されており、画面には、所定のクラウドサービスとのアクセス認証画面を呼び出すためのボタン１００２が配置されている。
【００７７】
ステップＳ２０５では、対話出力処理サーバ１２０は、印刷の要求を行うよう促すメッセージを送信し、ステップＳ２０１へ処理が戻され、次のメッセージを待つ。ステップＳ２０５で送信されるメッセージは、「印刷したい場合は、話しかけるか、下のメニューから「印刷」をタップしてください」のような、印刷を行うためのユーザに求められる動作を説明するような内容を含むことができる。図８（Ｂ）には、印刷の要求を行うよう促すメッセージ１００４が送信されている様子が示されている。特に限定されるものではないが、ここでは、初期設定を行った直後は、仮に初回のメッセージ中に印刷出力の目的や対象特定情報などが抽出されたとしても、一旦、内部状態をリセットし、最初から初めるようにしている。
【００７８】
一方、ステップＳ２０３で、初期設定が実施済みであると判定された場合（ＹＥＳ）は、ステップＳ２０６へ処理を進める。ステップＳ２０６では、対話出力処理サーバ１２０は、メッセージ解釈の結果、当該ユーザの会話の目的を抽出し、特定された目的に応じて処理を分岐させる。ステップＳ２０６で、メッセージが単なる挨拶のような文章であり、メッセージ解釈では目的が特定しきれず不明であると判定された場合（不明）は、ステップＳ２０５へ処理を分岐させて、印刷の要求を促すメッセージを送信する。
【００７９】
一方、ステップＳ２０６で、メッセージ解釈により目的が印刷であること（自身のデフォルト設定による印刷を含む。）が特定されたと判定された場合（印刷／マイ印刷）は、ステップＳ２０９へ処理を分岐させる。この場合、以降、当該セッション中は、印刷出力を目的として内部状態にて保持されることとなる。なお、メッセージは、図９（Ａ）に示すように、ユーザによる入力で送信されたメッセージ１１０２である場合もあるが、当該ユーザの会話の目的を抽出しやすいように、図８（Ｂ）に示すようなメニュー・ボタン１１０４を用意し、ボタンの押下に応答して、定型文が送信されるよう構成されていてもよい。
【００８０】
ステップＳ２０９では、対話出力処理サーバ１２０は、メッセージ解釈の結果、印刷する対象を特定する情報が得られたか否かを判定する。メッセージ「印刷お願い」のように、印刷出力の目的は抽出されるが、対象を特定する情報が抽出されないようなメッセージの場合は、対象を特定する情報が得られなかったと判定される。ステップＳ２０９で、メッセージ解釈により対象特定情報が得られていないと判定された場合（ＮＯ）は、ステップＳ２１０へ処理を分岐させる。ステップＳ２１０では、「どの文書を印刷しましょうか」といった対象文書の特定するための情報の送信を促すメッセージを送信し、ステップＳ２０１へ処理が戻され、次のメッセージを待つ。なお、この場合は、印刷の目的は内部状態として保持されているため、次のメッセージに印刷の目的が含まれる必要がない。
【００８１】
ステップＳ２０９で、対象特定情報がすでに得られていると判定された場合（ＹＥＳ）は、ステップＳ２１１へ処理を分岐させる。例えば、図９（Ａ）のメッセージ１１０２に示す「明日の会議の資料」や「昨日作成した文書」のような文章が含まれていた場合は、自然言語処理により、少なくとも１つの検索条件の項目が求められているので、対象特定情報が得られたと判定することができる。
【００８２】
ステップＳ２１１では、対話出力処理サーバ１２０は、検索が必要であるか否かを判定する。ここで、初回は、検索が必要であると判定されることになる。ステップＳ２１１で、検索が必要であると判定された場合（ＹＥＳ）は、ステップＳ２１２へ処理が分岐される。ステップＳ２１２では、対話出力処理サーバ１２０は、文書横断検索を実行し、検索結果を取得し、ステップＳ２１３へ処理が進められる。上述したような「明日の会議の資料」のような文章が含まれていた場合は、図７（Ｂ）に示すようなスケジュール情報を取得し、資料の保存先リンクから電子文書を取得したりすることができる。なお、説明する実施形態では、メッセージから特定される検索条件にて電子文書を検索するものとして説明するが、ディレクトリツリーなどの標準的なユーザインターフェースから所望の電子文書を指定する経路を設けておくことを排除するものではない。
【００８３】
一方、ステップＳ２１１で、以前のメッセージを受信した際に検索を実施済みであり、有効な検索結果がすでに存在し、検索が必要ではない判定された場合（ＮＯ）は、ステップＳ２１３へ直接処理が進められる。
【００８４】
ステップＳ２１３では、対話出力処理サーバ１２０は、検索の結果、少なくとも１つの候補があるか否かを判定する。ステップＳ２１３で、１つも候補が見つからなかったと判定された場合（ＮＯ）は、ステップＳ２１０へ処理が進められる。ステップＳ２１０では、対話出力処理サーバ１２０は、例えば別の表現での対象文書の特定するための情報の送信を促すメッセージを送信し、ステップＳ２０１へ処理が戻され、次のメッセージを待つ。なお、この場合は、印刷の目的は内部で保持されているため、次のメッセージに印刷の目的が含まれる必要がないが、検索結果は破棄されるので、ステップＳ２１１では、再び検索が必要であると判定されるとこになる。
【００８５】
ステップＳ２１３で、少なくとも１つ候補が見つかったと判定された場合（ＹＥＳ）は、ステップＳ２１４へ処理が進められる。ステップＳ２１４では、対話出力処理サーバ１２０は、さらに、検索の結果、１つの候補に特定されたか否かを判定する。ステップＳ２１４で、検索結果に複数の候補が含まれており、１つの候補に特定されなかったと判定された場合（ＮＯ）は、ステップＳ２１５へ処理を分岐させる。
【００８６】
ステップＳ２１５では、対話出力処理サーバ１２０は、対象文書の候補を、例えば図９（Ａ）のメッセージ１１０６に示すように、条件に合致する順や図７（Ｃ）に示すようなユーザの印刷実行履歴に基づいて優先順位の順に提示し、選択を促すメッセージを送信し、ステップＳ２０１へ処理が戻され、次のメッセージを待つ。なお、この場合は、図９（Ａ）に示すようなメッセージ１１０８で選択を受け付けて、１つに特定された場合は、ステップＳ２１４で肯定的な判断となる。なお、説明する実施形態では、単に対象文書の候補を優先順位の順に提示するものとして説明したが、その際に、図９（Ａ）には示されていないが、各候補のファイル名とともに、各候補の最初のページまたは最終更新が行われたページの縮小版を表示してたりしてもよい。
【００８７】
一方、ステップＳ２１４で、一つに特定されたと判定された場合（ＹＥＳ）は、ステップＳ２１６へ処理が進められる。ステップＳ２１６では、対話出力処理サーバ１２０は、メッセージ解釈の結果、印刷条件が確定されたか否かを判定する。例えば、デフォルト設定による印刷を意味する「マイ印刷」が指定されていた場合は、印刷条件は、確定されたものと判定される。例えば、通常の「印刷」が指定されたり、メッセージ中に一部の印刷条件のみが特定されていた場合は、印刷条件が未確定と判定される。ステップＳ２１６で、印刷条件が確定されていないと判定された場合（ＮＯ）は、ステップＳ２１７へ処理が分岐される。
【００８８】
ステップＳ２１７では、対話出力処理サーバ１２０は、メッセージ内の情報、ユーザ情報および対象文書の情報などに応じて、提案する印刷条件を決定する。このとき、ユーザ情報として、図７（Ｄ）に示すように、種類にかかわらず既定の印刷条件が設定されていた場合は、既定の印刷条件を提案のため決定することができる。また、ユーザの印刷実行履歴から使用頻度の高い印刷条件を見つけて、使用頻度の高い印刷条件を提案のため決定することができる。また、既定の出力先や図７（Ｃ）に示す印刷実行履歴から使用頻度の高い出力先を見つけて、それを提案のため決定することができる。さらに、図７（Ｂ）に示すスケジュール情報の該当する会議情報から、参加人数を計数し、印刷部数を提案してもよい。
【００８９】
さらに、ファイルの拡張子群ごとに既定の印刷条件が設定されていた場合は、対象文書の拡張子に応じた既定の印刷条件を提案のため決定することができる。例えば、プレゼンテーション資料は、両面カラー印刷をし、ワードプロセッサの文書は、カラーで印刷する必要性が低いのでモノクロで印刷するというようなポリシーがある場合は、ポリシーに適合する形で印刷条件を提案することができる。さらに、ファイル名やファイルタイトルなどの属性に条件づけて既定の印刷条件が設定されていた場合は、属性で条件づけて既定の印刷条件を提案のため決定することができる。例えば、ファイル名やファイルタイトルに「社内資料」というようなキーワードが含まれる場合にトナーセーブで提案し、「お客様向け資料」というようなキーワードが含まれる場合にトナーセーブを解除して提案することができる。
【００９０】
ステップＳ２１８では、対話出力処理サーバ１２０は、図９（Ｂ）に示すように、決定された印刷条件を含む提案メッセージ１２０２を送信し、ステップＳ２０１へ処理が戻され、次のメッセージを待つ。なお、この場合は、図９（Ｂ）に示すように、提案メッセージ１２０２とともに表示されたボタン１２０４ａが押下されるか、手入力により肯定的なメッセージ１２０６で指示を受け付けて、提案が受け入れられた場合は、ステップＳ２１６で肯定的な判断となる。
【００９１】
なお、説明する実施形態では、説明の便宜上、すべての印刷条件を１回のメッセージで提案している。しかしながら、複数のメッセージに分けてもよい。さらに、メッセージからは一部の印刷条件だけが抽出され、すべての印刷条件が得られなかった場合は、提案可能な部分だけ提案し、不足する情報の入力を促すメッセージを送信し、対話を継続することとしてもよい。
【００９２】
一方、ステップＳ２１６で、提案メッセージとともに表示されたキャンセル・ボタン１２０４ｂが押下されるなどにより、提案した印刷条件が破棄されたと判定された場合（提案破棄）は、ステップＳ２１９へ処理を分岐させる。
【００９３】
ステップＳ２１９では、対話出力処理サーバ１２０は、印刷設定ダイアログを実行する。ステップＳ２１９で示す印刷設定ダイアログでは、メッセージ送信（Ｓ４０１）、メッセージ受信（Ｓ４０２）およびメッセージ解釈（Ｓ４０３）が１以上の回数繰り返されて、ユーザからの当該印刷処理での印刷設定を対話により受け付けることができる。ステップＳ４０４では、印刷設定が完了したか否かに応じて処理を分岐させる。ステップＳ４０４で、まだ、印刷設定が完了していないと判定された場合（ＮＯ）は、ステップＳ４０１へ戻されて、対話が継続される。一方、ステップＳ４０４で、印刷設定が完了したと判定された場合（ＹＥＳ）は、ステップＳ２２１へ処理が進められる。
【００９４】
一方、ステップＳ２１６で、印刷条件が確定されたと判定された場合（ＹＥＳ）は、ステップＳ２２０へ処理を分岐させる。提案した印刷設定が了承されたり、あるいは「マイ印刷」のようにデフォルト設定で印刷することがメッセージから特定される場合は、印刷条件が確定されたと判定される。ステップＳ２２０では、対話出力処理サーバ１２０は、印刷実行が確定されたか否かを判定する。ここで、初回は、印刷実行が確定されていないと判定されることになる。ステップＳ２２０で、印刷実行が確定されていないと判定された場合（ＮＯ）は、ステップＳ２２１へ処理が分岐される。
【００９５】
ステップＳ２２１では、対話出力処理サーバ１２０は、図１０（Ａ）に示すような印刷実行の最終確認メッセージ１３０２を送信し、ステップＳ２０１へ処理が戻され、次のメッセージを待つ。なお、この場合は、図１０（Ａ）に示すように、最終確認メッセージ１３０２とともに表示されたボタン１３０４ａが押下されるか、手入力によるメッセージ１３０６で、印刷実行の承諾を受けた場合は、ステップＳ２２０で肯定的な判断となる。一方、図１０（Ａ）に示す最終確認メッセージ１３０２とともに表示されたキャンセル・ボタン１３０４ｂが押下されることで、印刷中止の指示を受けた場合は、ステップＳ２２０で「中止」の判断となる。
【００９６】
ステップＳ２２０で、印刷実行が確定された場合（ＹＥＳ）は、ステップＳ２２２へ処理が進められる。ステップＳ２２２では、対話出力処理サーバ１２０は、印刷処理システム２０４を介して、確定された印刷条件にて印刷要求を発行し、実行結果を取得する。ステップＳ２２３では、対話出力処理サーバ１２０は、実行結果を受信したことに応答して、印刷処理の実行結果を記録する。ステップＳ２２４では、対話出力処理サーバ１２０は、印刷結果報告メッセージを送信し、ステップＳ２２６で本セッションを終了させる。印刷結果報告メッセージは、図１０（Ａ）に示すような印刷が成功裏に完了したことを示すメッセージ１３０８である場合もあるし、印刷が失敗したことを示すメッセージである場合もある。
【００９７】
一方、ステップＳ２２０で、印刷実行の中止が指示された場合（中止）は、ステップＳ２２５へ処理を進める。ステップＳ２０５では、対話出力処理サーバ１２０は、印刷中止メッセージを送信し、ステップＳ２２６で本セッションを終了させる。
【００９８】
再びステップＳ２０６を参照すると、ステップＳ２０６で、メッセージ解釈により自身のデフォルト設定を行う目的が特定されたと判定された場合（マイ設定）は、ステップＳ２０７へ処理を分岐させる。ステップＳ２０７では、デフォルト設定を変更するための設定変更ダイアログを経て設定を受け付けて、ステップＳ２０８で、印刷の要求を促すメッセージを送信する。
【００９９】
設定変更ダイアログでは、初期設定ダイアログと同様に、メッセージ送信、メッセージ受信およびメッセージ解釈が１以上の回数繰り返されて、ユーザからの初期設定を対話により実施される。
【０１００】
図１０（Ｂ）、図１１（Ａ）および図１１（Ｂ）は、設定変更ダイアログにおける対話を例示する。図１０（Ｂ）および図１１に示す例示では、対話出力処理サーバ１２０は、設定するプリンタの選択を求めるメッセージ１４０２、印刷フォーマットの選択を求めるメッセージ１４０４、カラーモードの選択を求めるメッセージ１４０６、用紙サイズの選択を求めるメッセージ１４０８、印刷方向の選択を求めるメッセージ１４１０を順に送信し、それぞれのメッセージ毎に各設定項目の選択を受け付ける。そして、対話出力処理サーバ１２０は、デフォルトの印刷設定として登録する内容を確認するメッセージ１４１２を送信する。この場合は、図１１（Ｂ）に示すように、確認メッセージ１４１２とともに表示されたボタン１４１４ａが押下されるか、または手入力によるメッセージで設定確定の意思を受けた場合は、その内容で既定設定条件が設定される。一方、図１１（Ｂ）に示す確認メッセージ１４１２とともに表示されたキャンセル・ボタン１４１４ｂが押下されることで、設定中止の指示を受けた場合は、設定内容は破棄され、処理は最初からとなる。
【０１０１】
以上、図１〜図１１を参照して説明した実施形態では、図４に示すように、クライアント・アプリケーション２５０側の機能ブロックと、ソフトウェア・ロボット・アプリケーション２２０側の機能ブロックとに機能部が分かれていた。以下、図１２を参照しながら、クライアント・アプリケーション２５０側の機能ブロックだけで上述した機能を実現する他の実施形態について説明する。
【０１０２】
図１２は、他の実施形態による情報処理システムを示す機能ブロック図を示す。図１２に示すように他の実施形態による情報処理システムでは、メッセージング送受信クライアント・アプリケーション３５０は、アドオンプログラム３６０Ａ内に、上述したものと同様の入力情報取得部３６２、呼出条件判定部３６４、キーワード記憶部３６６および状態切替部３６８に加えて、図４においてサーバ側の印刷出力用アプリケーション２２０のものとして説明された機能部を含み構成される。
【０１０３】
より具体的には、アドオンプログラム３６０Ａは、さらに、対話生成部３３０と、横断検索部３３２と、印刷出力要求部３３４と、印刷条件決定部３３６と、ユーザ情報管理部３３８と、認証情報保持部３４０とを含み構成される。図１２に示す実施形態では、上述したソフトウェア・ロボットは、クライアント・アプリケーション３５０内に常駐して動作する。
【０１０４】
入力情報取得部３６２、呼出条件判定部３６４、キーワード記憶部３６６、状態切替部３６８、対話生成部３３０、横断検索部３３２、印刷出力要求部３３４、印刷条件決定部３３６、ユーザ情報管理部３３８および認証情報保持部３４０は、上述したメッセージ送受信を内部的に行う以外は、それぞれ、図４に示したものと同様の働きをするものである。
【０１０５】
図４に示したような機能分けは、一例にすぎず、図１２に示すように、サービス切替機能および対話出力処理機能の両方を端末装置１５０上で実装することを妨げるものではない。さらに他の実施形態では、図４および図１２に示したものとも異なる種々の態様で分散実装することができる。
【０１０６】
以上説明した実施形態によれば、メッセージ送受信クライアント・アプリケーション２５０においてソフトウェア・ロボット・サービスを利用するための煩雑な操作の手間を省きながら、情報機器１９２〜１９６に対する所望の情報処理の要求を行うことが可能な、情報処理システムを提供することができる。
【０１０７】
上記実施形態による情報処理システムにおいては、ユーザが入力した入力情報から、所定の出力処理を実施する契機となる条件が満たされたか否かが判定され、条件が満たされた場合に、対応するソフトウェア・ロボットのサービスに切り替えられ、該当文書の検索および出力の提案が行われる。このため、従来技術で必要であった、ソフトウェア・ロボットの追加登録操作や切替操作が手間を省きながら、情報機器に対する情報処理の要求を行うことが可能となる。
【０１０８】
また、ソフトウェア・ロボットは、自然文を処理可能に構成されているので、ユーザは、口語で話しかけるだけで、複数の情報保管サービスから横断して適切な電子文書を探し出すことができ、探し出した電子文書にとって最適化された条件で出力処理することもできる。近年ユーザは、複数の情報保管サービスを利用することが多く、必要な文書を探し出す労力が増大しているところ、複数の情報保管サービスから横断して適切な電子文書を探し出す機能は有用である。上記実施形態では、クライアント・アプリケーション２５０を介して自然文で入力するという新しい操作方法で、バックグラウンドで情報保管サービスや印刷システムと連携し、端末装置１５０から情報機器に対し情報処理の要求を行うことが可能となる。
【０１０９】
なお、上記機能部は、アセンブラ、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）などのレガシープログラミング言語やオブジェクト指向プログラミング言語などで記述されたコンピュータ実行可能なプログラムにより実現でき、ＲＯＭ、ＥＥＰＲＯＭ、ＥＰＲＯＭ、フラッシュメモリ、フレキシブルディスク、ＣＤ−ＲＯＭ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ブルーレイディスク、ＳＤカード、ＭＯなど装置可読な記録媒体に格納して、あるいは電気通信回線を通じて頒布することができる。
【０１１０】
これまで本発明の実施形態について説明してきたが、本発明の実施形態は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【０１１１】
１０…コンピュータ、１２…ＣＰＵ、１４…ノースブリッジ、１４…担うノースブリッジ、１６…サウスブリッジ、１８…ＲＡＭ、２０…グラフィックボード、２４…ＬＡＮポート、２６…ＩＥＥＥ１３９４ポート、２８…ＵＳＢポート、３０…補助記憶装置、３２…オーディオ入出力、３４…シリアルポート、５０…ディスプレイ、５２…キーボード、５４…マウス、１００…ネットワーク環境、１０２…ネットワーク、１０４…出力仲介サーバ、１０６…自然言語処理サーバ、１０８…サービス提供サーバ、１１０…メッセージ送受信サーバ、１２０…対話出力処理サーバ、１５０…端末装置、１９２…情報機器（複合機）、１９４…情報機器（ＩＷＢ）、１９６…情報機器（プロジェクタ）、２００…ソフトウェア構成、２０４…印刷処理システム、２０８ａ〜２０８ｂ…各種クラウドサービス、２１０…サーバ・アプリケーション、２２０…ソフトウェア・ロボット・アプリケーション、２２２…メッセージ受信部、２２４…メッセージ送信部、２３０，３３０…対話生成部、２３２，３３２…横断検索部、２３４，３３４…印刷出力要求部、２３６，３３６…印刷条件決定部、２３８，３３８…ユーザ情報管理部、２４０，３４０…認証情報保持部、２４２…ユーザ情報、２５０，３５０…クライアント・アプリケーション、２６０Ａ，３６０Ａ…アドオンプログラム、２６０Ｂ…外部プログラム、２６２，３６２…入力情報取得部、２６４，３６４…呼出条件判定部、２６６，３６６…キーワード記憶部、２６８，３６８…状態切替部、１０００，１００４，１１０２，１１０６，１１０８，１２０２，１２０６，１３０２，１３０６，１３０８，１４０２，１４０４，１４０６，１４０８，１４１０，１４１２…メッセージ、１００２，１２０４，１３０４，１４１４…ボタン、１１０４…メニュー・ボタン、１２０４，１３０４，１４１４…キャンセル・ボタン
【先行技術文献】
【特許文献】
【０１１２】
【特許文献１】特許第５６５０１４５号公報
【図１】
2018128843.tif 000003
【図２】
2018128843.tif 000004
【図３】
2018128843.tif 000005
【図４】
2018128843.tif 000006
【図５】
2018128843.tif 000007
【図６】
2018128843.tif 000008
【図７】
2018128843.tif 000009
【図８】
2018128843.tif 000010
【図９】
2018128843.tif 000011
【図１０】
2018128843.tif 000012
【図１１】
2018128843.tif 000013
【図１２】
2018128843.tif 000014