(57)【要約】【課題】  ＭＦＰには様々な設定があり多くのユースケースがあるためＭＦＰ機能利用の設定やルール管理が煩雑になるという課題がある。さらに、ＭＦＰに設定項目を決定するためのロジックをサービスの形態で提供するのが好適である。【解決手段】  ＭＦＰから収集した収集データをもとにして機械学習し、その学習結果を利用してＭＦＰ機能設定を推定することで、ユーザー設定操作なく所望の設定でＭＦＰ機能を利用することができる。【選択図】  図８
2020119015.tif 000002
【特許請求の範囲】
【請求項１】
デバイスの収集データを基に学習を行い学習済みモデルを生成し、生成された学習済みモデルを利用し推定を行うシステムであって、
生成された前記学習済みモデルが複数のデバイスで利用できる学習済みモデルである場合は、前記学習済みモデルを利用し推定した設定値を前記複数のデバイスに対して提供する提供手段を有し、
ユーザーに利用されている前記デバイスは、前記提供手段により提供された設定値を表示することを特徴とするシステム。
【請求項２】
前記ユーザーにより前記学習済みモデルを利用した推定を利用しないことが設定されている場合には、推定された設定値ではなく、前記デバイスが保持するデフォルト値を表示することを特徴とする請求項１に記載のシステム。
【請求項３】
前記学習済みモデルはユーザー毎に生成され、
ログイン機能を備える前記デバイスへログインしたユーザーの特定を行い、ログインしたユーザーに関連付けられた前記学習済みモデルを用いて推定を行うことを特徴とする請求項１または２に記載のシステム。
【請求項４】
前記学習済みモデルはテナント毎に生成され、
前記デバイスは発行された認可トークンからテナントの特定を行い、特定されたテナントに関連付けられた前記学習済みモデルを用いて推定を行うことを特徴とする請求項１乃至３の何れか１項に記載のシステム。
【請求項５】
前記学習済みモデルは前記デバイスを利用する全てのユーザーに共通して利用されるように生成され、
前記デバイスは前記デバイスを利用する全てのユーザーに共通して利用される前記学習済みモデルを用いて推定を行うことを特徴とする請求項１乃至４の何れか１項に記載のシステム。
【請求項６】
前記デバイスは、生成された前記学習済みモデルを利用できない場合、前記デバイスが保持するデフォルト値を表示することを特徴とする請求項３乃至５の何れか１項に記載のシステム。
【請求項７】
前記収集データに含まれる原稿の用紙サイズとページ数を入力データとして取得し、前記収集データに含まれるコピーの際に設定された設定値を正解データとして取得し、夫々を数値ベクトル化して学習を行うことで前記学習済みモデルを生成することを特徴とする請求項１乃至６の何れか１項に記載のシステム。
【請求項８】
生成された前記学習済みモデルは複数の学習済みモデルの群から成る学習済みモデルであって、前記デバイスが表示する設定値の項目毎に学習を行うことで前記複数の学習済みモデルから成る前記学習済みモデルを生成することを特徴とする請求項１乃至７の何れか１項に記載のシステム。
【請求項９】
デバイスの収集データを基に学習を行い学習済みモデルを生成し、生成された学習済みモデルを利用し推定を行うシステムの制御方法であって、
生成された前記学習済みモデルが複数のデバイスで利用できる学習済みモデルである場合は、前記学習済みモデルを利用し推定した設定値を前記複数のデバイスに対して提供する提供ステップを有し、
ユーザーに利用されている前記デバイスは、前記提供ステップにより提供された設定値を表示することを特徴とすることを特徴とする制御方法。
【請求項１０】
デバイスの収集データを基に学習を行い学習済みモデルを生成し、生成された学習済みモデルを利用し推定を行うシステムで実行されるプログラムであって、
生成された前記学習済みモデルが複数のデバイスで利用できる学習済みモデルである場合は、前記学習済みモデルを利用し推定した設定値を前記複数のデバイスへ提供させる提供ステップを有し、
ユーザーに利用されている前記デバイスは、前記提供ステップにより提供された設定値を表示することを特徴とすることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
デバイスで発生するデータを基に学習し設定値を推定するシステム、方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、サーバーがクライアントにサービスを提供するクラウドコンピューティングの形態が注目を集めている。クラウドコンピューティングは、多くのコンピューティング・リソースを用いてデータ変換やデータ処理を分散実行し、多くのクライアントからの要求を分散並列処理により並行して処理することが主な特徴である。このクラウドコンピューティングを実現するクラウドコンピューティング環境上にＷｅｂサービスを実装し、多種多様なサービスを提供するベンダーが乱立しつつある。クラウドサービスの開発において、すでにＷｅｂ上に多く提供されているサービスを有効活用することで、新しい機能の製品開発に注力することができるため、開発スピードや開発コストの面で優位になる。ＭＦＰ（ＭｕｌｔｉＦｕｎｃｔｉｏｎＰｒｉｎｔｅｒ）と連携するクラウドサービスにおいても機能毎にクラウドサービスを開発し、ＭＦＰ上のアプリケーションが機能実現に必要な各種クラウドサービスを活用する構成がとられるようになってきた。
【０００３】
また、クラウドサービスの活用が進んだ背景にＡＩ（Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ）との親和性の高さがある。ＡＩを実現するコア技術の一つ機械学習では、大量データ（ビッグデータといわれる）を学習アルゴリズムで解析することでデータの特徴（特性やパターン、傾向など）を抽出することができる。機械学習では大量データの解析を行うためのコンピューティング・リソースが大量に必要となり、コンピューティング・リソースをすぐに入手可能なクラウドサービスの利用が進んでいるのである。
【０００４】
機械学習の技術を用いることで、例えばユーザーの購買履歴から別の商品をお勧めしたり、顔画像から人物や感情を推定したりできるようになってきている。また企業活動のデータを解析することで過去の検証、現状把握・未来推定することができ経営判断をサポートするＢＩ（Ｂｕｓｉｎｅｓｓ  Ｉｎｔｅｌｌｉｇｅｎｃｅ）も広く使われ始めている。
【０００５】
ＭＦＰにおいても、ユーザーがＭＦＰを利用した際に発生するログ情報を収集しデータ解析することが考えられている。特許文献１では複数のＭＦＰからログを収集しデータ解析することで、ルールベースでユーザーのＭＦＰ利用を制御する技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許５７０２５３８
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来技術ではカラー設定や両面設定などのユーザーがＭＦＰを利用する際の設定項目の印刷設定値をルールベースで決定しているが、ＭＦＰなどのデバイスには様々な設定項目があり多くのユースケースがあるためルールの設定や管理が煩雑になるという課題がある。さらに、ＭＦＰに設定項目を決定するためのロジックをサービスの形態で提供するのが好適である。
【０００８】
そこで、本願発明では、複数のＭＦＰなどのデバイスに対して利用される好適な印刷設定値を学習し推定する仕組みを提供する。
【課題を解決するための手段】
【０００９】
本願発明の一実施形態に係るシステムは、デバイスの収集データを基に学習を行い学習済みモデルを生成し、生成された学習済みモデルを基に推定を行うシステムであって、生成された前記学習済みモデルを複数のデバイスに提供する提供手段を有し、ユーザーに利用されている前記デバイスは、前記提供手段により提供された前記学習済みモデルを基に設定値の推定を行い、推定された設定値を表示することを特徴とする。
【発明の効果】
【００１０】
本願発明により、複数のＭＦＰなどのデバイスに対して利用される好適な印刷設定値を学習し推定する仕組みを提供できる。
【図面の簡単な説明】
【００１１】
【図１】システム構成図
【図２】各装置のハードウェア構成図
【図３】ソフトウェア構成図
【図４】認可サーバーで管理するテーブル構造
【図５】収集データ管理サーバーで管理するデータ構造とデータ例
【図６】デバイス設定管理サーバーで管理するテーブル構造
【図７】デバイスで管理するテーブル構造
【図８】データ収集、学習、推定フロー
【図９】データ収集フロー
【図１０】学習フロー
【図１１】モデル学習の例
【図１２】学習済みモデル取得フロー
【図１３】推定フロー
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１３】
＜実施例１＞
＜システム構成＞
図１は、本発明の実施形態に係る設定推定システムの全体構成を示す図である。図１において、ＭＦＰ１０２は、ローカルネットワーク１０１を介してインターネット１００にアクセスし、１０３〜１０５のサーバーにアクセスすることができる。認可サーバー１０３はＯＡｕｔｈを実現するためのサーバーでありクライアント情報の管理や認可トークンの発行・管理を行う。
【００１４】
収集データ管理サーバー１０４やデバイス設定管理サーバー１０５は認可サーバー１０３のセキュリティドメインに属する。収集データ管理サーバー１０４やデバイス設定管理サーバー１０５にリクエストを送信するには認可サーバー１０３で発行された認可トークンが必要である。収集データ管理サーバー１０４やデバイス設定管理サーバー１０５は認可トークンの有効性が確認された場合にのみリクエストを処理する。この認可トークンの有効性確認には有効期限やライセンスの確認などがある。
【００１５】
収集データ管理サーバー１０４はＭＦＰ１０２から送信されるデータを管理するサーバーである。ＭＦＰ１０２はＭＦＰ１０２内で発生した事象をデータ化し収集データ管理サーバー１０４に送信する。収集データ管理サーバー１０４は複数台のＭＦＰ１０２からのデータを受信し保存する。ＭＦＰ１０２から送信され保存されるデータを収集データと呼ぶ。
【００１６】
デバイス設定管理サーバー１０５はＭＦＰ１０２で利用する設定を管理するサーバーである。本実施例ではＭＦＰ１０２のコピー機能の設定を収集データ管理サーバー１０４が保持する収集データをもとに解析し学習する。ＭＦＰ１０２はデバイス設定管理サーバー１０５で学習した結果をもとにコピー機能の設定を推定し画面に表示する。
【００１７】
１０３〜１０５の各サーバーはそれぞれ複数台のサーバーで冗長化されたクラウドサービスとしてインターネット上に公開されるが、本実施例では説明を簡略化するため、それぞれ１台構成としている。またＭＦＰ１０２は１台のみ図示しているが、複数台のＭＦＰが接続している。
【００１８】
＜ＭＦＰ１０２のハードウェア構成＞
図２ａは、ＭＦＰ１０２のハードウェア構成図である。ハードウェアの各構成要素は、システムバス２００に接続されている。２０１は装置全体の制御を行うＣＰＵであり、システムバス２００に接続される各種デバイスとのアクセスを統括的に制御する。この制御は、ＲＯＭ２０３に記憶された制御プログラム等あるいはディスクコントローラを介して接続された外部メモリ２０６に記憶された制御プログラムやリソースデータ（資源情報）等に基づく。２０２はＧＰＵであり、画像処理や機械学習などのベクトル演算に特化した演算装置である。２０３は記憶手段であるＲＯＭであり、内部には基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。
【００１９】
２０４はＣＰＵ２０１やＧＰＵ２０２の主メモリ、ワークエリア等として機能するＲＡＭで、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。２０５は、ネットワークインターフェースカード（ＮＩＣ）であり、ネットワークインターフェースカード２０５を介して外部装置とのデータのやり取りを行う。２０７は操作パネル（操作部）であり、画面の表示や、画面を介したユーザーの操作指示を受け付ける。また、ＭＦＰ１０２の動作モード等の設定やＭＦＰ１０２の動作状況の表示、コピー指定等の操作を行うためのボタンおよび液晶パネル等の表示部も配置される。２０８は大容量メモリとして機能する外部記憶手段であり、本発明に係るプログラムを格納している。
【００２０】
２０９の機器Ｉ／Ｆは、ＵＳＢ等で接続可能な外部機器との接続Ｉ／Ｆである。プリンタ２１０は既知の印刷技術を利用するものであり、好適な実施系として例えば電子写真方式（レーザービーム方式）やインクジェット方式、昇華方（熱転写）方式等が挙げられる。プリンタ２１０は印刷データ（ＰＤＬ言語・ＰＤＦ言語など）から返還された画像データに排紙する。スキャナは既知の画像読取技術を利用するものであり、透明な天板に置かれた紙原稿を光学的に走査し画像に変換する。また自動原稿送り装置（ＡＤＦ）に置かれた複数枚の紙原稿を連続して読み込み、画像に変換する。
【００２１】
＜サーバーのハードウェア構成＞
図２ｂは、１０３〜１０５の各サーバーのハードウェア構成の一例を示す図である。特に断らない限り、本発明の機能が実行可能であるならば、単体の機器であっても、複数の機器からなるシステムであっても、本発明が適用できる。また、特に断らない限り、本発明の機能が実行可能であるならば、ＬＡＮ、ＷＡＮ等のネットワークを介して接続が為され、処理が行われるシステムであっても本発明を適用できる。本実施例ではシステムバス２２７により各構成要素が接続されているものとして説明する。
【００２２】
２２０は情報処理装置の制御装置であるＣＰＵであり、ＲＯＭ２２３または記憶装置２２６に格納されている１０３〜１０５のアプリケーションプログラム、オペレーティングシステムを実行する。また、ＣＰＵ２２０はＲＡＭ２２２にプログラム実行に必要な情報、ファイル等を一時的に格納する制御を行う。２２１はＧＰＵであり、画像処理や機械学習などのベクトル演算に特化した演算装置である。２２３は記憶手段であるＲＯＭであり、内部には基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。
【００２３】
２２４は一時記憶手段であるＲＡＭであり、ＣＰＵ２２０やＧＰＵ２２１の主メモリやワークエリア等として機能する。２２５は、ネットワークインターフェースカード（ＮＩＣ）であり、該インターフェース２２５を介して外部装置とのデータのやり取りを行う。２２６は外部記憶手段の一つで、大容量メモリとして機能する記憶装置であり、アプリケーションプログラム、ＯＳ等の本発明に係るプログラムを格納している。
【００２４】
＜認可サーバー１０３のソフトウェア構成＞
図３ａは、認可サーバー１０３のソフトウェア構成図である。なお各ソフトウェアモジュールは図２で示したＲＯＭ２２３または記憶装置２２６に記憶されており、前述したようにＣＰＵ２２０によってＲＡＭ２２２にロードされＣＰＵ２２０またはＧＰＵ２２１により実行される。
【００２５】
３０１はＷｅｂサーバーであり、認可サーバー１０３の各種インターフェースを提供し、リクエスト情報の妥当性の検証を行う。３０２は、認可情報管理部であり、図４で説明するクライアント情報４００と認可トークン情報４１０を管理し、Ｗｅｂサーバー３０１が受け付けたリクエストに応じて、認可トークンの発行・スコープ確認・有効期限確認などを行う。３０３はストレージであり認可サーバー１０３が保持している情報が格納されている。
【００２６】
＜収集データ管理サーバー１０４のソフトウェア構成＞
図３ｂは、収集データ管理サーバー１０４のソフトウェア構成図である。なお各ソフトウェアモジュールは図２で示したＲＯＭ２２３または記憶装置２２６に記憶されており、前述したようにＣＰＵ２２０によってＲＡＭ２２２にロードされＣＰＵ２２０またはＧＰＵ２２１により実行される。
【００２７】
３１１はＷｅｂサーバーであり、収集データ管理サーバー１０４の各種インターフェースを提供し、リクエスト情報の妥当性の検証を行う。３１２は、収集データ管理部であり、図５で説明する収集データ情報５４０を管理し、Ｗｅｂサーバー３１１が受け付けた収集データを保存する。３１３はストレージであり収集データ管理サーバー１０４が保持している情報が格納されている。
【００２８】
＜デバイス設定管理サーバー１０５のソフトウェア構成＞
図３ｃは、デバイス設定管理サーバー１０５のソフトウェア構成図である。なお各ソフトウェアモジュールは図２で示したＲＯＭ２２３または記憶装置２２６に記憶されており、前述したようにＣＰＵ２２０によってＲＡＭ２２２にロードされＣＰＵ２２０またはＧＰＵ２２１により実行される。
【００２９】
３２１はＷｅｂサーバーであり、デバイス設定管理サーバー１０５の各種インターフェースを提供し、リクエスト情報の妥当性の検証を行う。３２２は、デバイス設定管理部であり、図６で説明するベクトル化情報６００と学習済みモデル情報６１０を管理し、収集データ管理サーバー１０４から取得した収集データを機械学習することでデバイス設定を推定するモデル情報を生成する。またＭＦＰ１０２にベクトル化情報６００や学習済みモデル情報６１０を提供する。３２３はストレージでありデバイス設定管理サーバー１０５が保持している情報が格納されている。
【００３０】
＜ＭＦＰ１０２のソフトウェア構成＞
図３ｄはＭＦＰ１０２のソフトウェア構成図である。なお各ソフトウェアモジュールは図２で示したＲＯＭ２０３または記憶装置２０８に記憶されており、前述したようにＣＰＵ２００によってＲＡＭ２０４にロードされＣＰＵ２０１またはＧＰＵ２０２により実行される。
【００３１】
ＭＦＰ１０２はデバイスＩＤで識別され、ＭＦＰ１０２毎に一意なＩＤが発行されＭＦＰ１０２生産時にＭＦＰ１０２に設定される。３３０はＯＳであり、一般的にはリアルタイムＯＳが使用されるが、昨今ではＬｉｎｕｘ（登録商標）等の汎用ＯＳが使用される事もある。３４０は印刷装置制御部（デバイスコントローラ）であり、図２で示したＭＦＰ１０２の各種ハードウェアを制御する。また印刷装置制御部（デバイスコントローラ）３４０は各ハードウェアを制御するモジュール（３４１〜３４５）間の制御を行う。３４１は操作パネル制御部であり、操作パネル２０７への画面表示を制御する。
【００３２】
３４２はＮｅｔｗｏｒｋＩｎｔｅｒｆａｃｅＣａｒｄ制御部であり、ネットワークインターフェースカード２０５を利用してＴＣＰ／ＩＰなどの通信プロトコルを制御する。記憶装置制御部３４３は記憶装置２０８へのＩ／Ｏを制御するディスクコントローラである。３４４はプリンタ制御部であり、受け付けた印刷データ（ＰＤＬ言語・ＰＤＦ言語など）を画像データに変換し、プリンタ２１０を制御し排紙する。３４５はスキャナ制御部であり、スキャン指示を受け付けるとスキャナ２１１を制御することで原稿を読み取り画像に変換する。次に、３５０は仮想マシン（ＶｅｒｔｕａｌＭａｃｈｉｎｅ、ＶＭ）であり、例えばＪａｖａ（登録商標）がよく知られている。この仮想マシン３５０はＯＳで制御されるアプリケーションとして動作する仮想的なアプリケーション実行環境である。
【００３３】
アプリケーションフレームワーク３６０は仮想マシン３５０が提供するアプリケーション実行環境上で動作する管理対象のアプリケーションのライフサイクルを管理する機能を備える。またアプリケーションのライフサイクルを制御するＩ／Ｆ、および各アプリケーション間での処理要求を仲介するためのＩ／Ｆ公開機能を備えている。ライフサイクルとはアプリケーションのインストール、起動、停止、アンインストールを含むアプリケーションの状態を示すものとする。
【００３４】
また、アプリケーションフレームワーク３６０は印刷装置制御部３４０を介してＭＦＰ１０２の各種ハードウェアを制御するＩ／Ｆをアプリケーションに提供する。アプリケーションフレームワーク３６０で動作するアプリケーションはアプリケーションフレームワーク３６０を介して印刷指示や印刷結果の受信、スキャン指示、スキャン画像の取得、操作パネルへの画面表示などを行うことができる。
【００３５】
デバイス認証アプリケーション３７０やコピーアプリケーション３７１、認可クライアント３７２、収集データ送信クライアント３７３はアプリケーションフレームワーク３６０上で動作するアプリケーションである。
【００３６】
デバイス認証アプリケーション３７０はＭＦＰ１０２へのログインを管理するアプリケーションであり、ＭＦＰ１０２にログイン機能を備えさせる。デバイス認証アプリケーション３７０はＭＦＰ１０２の操作パネルにログイン画面を表示し、ユーザーからのログイン（ユーザー名、パスワード）を受け付けユーザー認証する。デバイス認証アプリケーション３７０は認証に成功するとログイン画面を非表示にし、ＭＦＰ１０２の各種機能を操作パネルから利用できるようにする。ここでデバイス認証アプリケーション３７０にはユーザー認証しなくても利用できるアプリケーションを設定することもでき、ユーザーはログインなしでアプリケーションの機能を利用できる。
【００３７】
デバイス認証アプリケーション３７０はアプリケーションフレームワーク３６０にＭＦＰ１０２にログイン中のユーザーＩＤを取得するＩ／Ｆを公開しており、アプリケーションフレームワーク３６０上のアプリケーションはＩ／Ｆを介してデバイス認証アプリケーション３７０のログインイベントを受け取ったり、ログイン情報を取得したりできる。
【００３８】
コピーアプリケーション３７１はＭＦＰ１０２のコピー機能を提供するアプリケーションである。コピーアプリケーション３７１はスキャナで原稿の読み込みを指示し、スキャナで読み込んだ画像をプリンタで印刷する。またコピーアプリケーション３７１は操作パネルにコピー設定入力画面を表示し、ユーザーからのコピー設定を受け付ける。コピーアプリケーション３７１はアプリケーションフレームワーク３６０にコピージョブの情報を取得するＩ／Ｆを公開しており、アプリケーションフレームワーク３６０上のアプリケーションはＩ／Ｆを介してコピー開始・終了イベントなどを受け取ることができる。
【００３９】
認可クライアント３７２は認可サーバー１０３のクライアントアプリケーションである。認可クライアント３７２は認可サーバー１０３にテナント登録を行う。認可クライアント３７２が行う認可サーバー１０３へのテナント登録は認可サーバー１０３であらかじめ発行されたテナントのワンタイムパスワードを認可クライアント３７２の画面にユーザーが入力することで実施される。認可クライアント３７２はユーザーからのテナントのワンタイムパスワード入力を受け付けると認可サーバー１０３からクライアント情報を取得する。ここでテナントとは会社や組織などの複数のユーザーを管理する単位に作成されテナントＩＤで識別されるグループを指す。また、認可クライアント３７２は認可サーバー１０３から認可トークンを取得し、コピーアプリケーション３７１や収集データ送信クライアント３７３に提供する。
【００４０】
収集データ送信クライアント３７３はＭＦＰ１０２で発生したイベントを検知し、イベント情報を図５で後述するフォーマットで収集データ管理サーバー１０４に送信する。収集データ送信クライアント３７３で検知するイベントにはＭＦＰ１０２の起動・停止・スリープイベント、ユーザーログイン・ログアウンイベント、コピージョブの開始・完了イベントなどがある。なお収集データ送信クライアント３７３はアプリケーションフレームワーク３６０を介してＭＦＰ１０２内（印刷装置制御部３４０やデバイス認証アプリケーション３７０、コピーアプリケーション３７１など）で発生するイベントを検知する。
【００４１】
＜認可サーバー１０３のデータ＞
図４は認可サーバー１０３がストレージ３０３に記憶するデータテーブルである。これらのデータテーブルは、認可サーバー１０３のストレージ３０３ではなく、インターネット１００やローカルネットワーク１０１を介して通信可能に構成された別のサーバーに記憶するように構成することもできる。認可サーバー１０３が保持するデータテーブルは、クライアント情報４００、認可トークン情報４１０より成る。
【００４２】
クライアント情報４００は収集データ管理サーバー１０４やデバイス設定管理サーバー１０５にアクセス可能なクライアントの情報が登録されている。クライアントＩＤ４０１はクライアントを一意に識別する識別子である。４０２はクライアントの正当性を判断するためのパスワードであり、認可サーバー１０３はクライアントＩＤ４０１とパスワード４０２の一致によりクライアントを特定する。デバイスＩＤ４０３はクライアントがＭＦＰ１０２だった場合にＭＦＰ１０２の識別子が登録される。テナントＩＤ４０４はクライアントを利用するテナント（会社や組織など）の識別子である。
【００４３】
認可トークン情報４１０は認可サーバー１０３が認可トークン取得リクエストを受け付けた際にレコードを登録する。４１１は認可トークンを一意に識別可能な識別子である。４１２は認可トークンの有効期限であり、認可トークン取得リクエストの受信時間から一定時間後の値が登録される。有効期限４１２を過ぎた認可トークン４１１は無効である。スコープ４１３はＯａｕｔｈのスコープでありリソースアクセス可能な範囲を表す。スコープ４１３は認可トークン４１１が利用可能なスコープであり、認可サーバー１０３への認可トークン取得リクエストで渡されるスコープが登録される。
【００４４】
本実施例では収集データ管理サーバー１０４に収集データを送信可能なスコープとしてＰｕｔＤｅｖｉｃｅＤａｔａ、デバイス設定管理サーバー１０５からベクトル化情報６００や学習済みモデル情報６１０を取得可能なスコープとしてＧｅｔＤｅｖｉｃｅＳｅｔｔｉｎｇを利用する。クライアントＩＤ４１４は認可サーバー１０３へ認可トークン取得リクエストしたクライアントＩＤが登録される。
【００４５】
＜収集データ管理サーバー１０４のデータ＞
図５は収集データ管理サーバー１０４がストレージ３１３に記憶する収集データ構造５００と収集データ情報５４０の一例である。これらのデータは収集データ管理サーバー１０４のストレージ３１３ではなく、インターネット１００やローカルネットワーク１０１を介して通信可能に構成された別のサーバーに分散して記憶するように構成することもできる。
【００４６】
収集データ構造５００は収集データ送信クライアント３７３が生成・送信し、収集データ管理サーバー１０４が受信・保存する収集データのデータ構造を示している。収集データ構造５００はデータの分類を表すｅｎｔｉｔｙと、ｅｎｔｉｔｙから発生するイベントのｅｖｅｎｔＮａｍｅが定義されている。ｅｎｔｉｔｙにはＭＦＰ１０２全体が関係するｄｅｖｉｃｅ５１０、ユーザー操作が関係するｕｓｅｒＡｃｔｉｏｎ５２０、ＭＦＰ１０２が処理するジョブが関係するｊｏｂ５３０などがある。ｄｅｖｉｃｅ５１０にはｐｏｗｅｒＯｎ５１１、ｐｏｗｅｒＯｆｆ５１２、ｓｌｅｅｐ５１３のイベントがあり、それぞれのイベントに属性定義される。
【００４７】
同様にｕｓｅｒＡｃｔｉｏｎ５２０にはｌｏｇＩｎ５２１やｌｏｇＯｕｔ５２２のイベントがあり、それぞれのイベント属性が定義される。またｊｏｂ５３０にはｊｏｂＳｔａｒｔｅｄ５３１やｊｏｂＣｏｍｐｌｅｔｅｄ５３２のイベントがあり、それぞれのイベント属性が定義される。イベント属性のｔｉｍｅはイベントが発生した時刻である。ｅｖｅｎｔＩｄはイベントを一意に識別する識別子である。
【００４８】
ｄｅｖｉｃｅＳｅｒｉａｌＩｄはイベントが発生したＭＦＰ１０２の識別子である。ｐｒｏｄｕｃｔＮａｍｅはイベントが発生したＭＦＰ１０２の製品名である。ｕｓｅｒＩｄはイベントを発生させたユーザーの識別子である。ｊｏｂＩｄはジョブを一意に識別する識別子である。ｊｏｂＴｙｐｅはジョブの種類でありｃｏｐｙ、ｐｒｉｎｔ、ｓｃａｎなどがある。ｉｎｐｕｔ．ｐａｐｅｒｓｉｚｅはコピー原稿の用紙サイズでありＡ３やＡ４、Ｂ５、Ｂ４などがある。ｉｎｐｕｔ．ｐａｇｅＮｕｍｂｅｒはコピー原稿の読み込みページ数である。ｐｒｉｎｔＳｅｔｔｉｎｇｓ．ｃｏｐｉｅｓはコピー部数である。ｐｒｉｎｔＳｅｔｔｉｎｇｓ．ｃｏｌｏｒＭｏｄｅはコピージョブの色指定でありｃｏｌｏｒやｍｏｎｏがある。ｐｒｉｎｔＳｅｔｔｉｎｇｓ．ｌａｙｏｕｔはコピージョブのページ集約であり１ｉｎ１や２ｉｎ１、４ｉｎ１などがある。ｐｒｉｎｔＳｅｔｔｉｎｇｓ．ｐａｐｅｒｓｉｄｅはコピージョブの両面設定であり１Ｓｉｄｅｄや２Ｓｉｄｅｄがある。ｏｕｔｐｕｔ．ｐａｐｅｒＳｉｚｅはコピージョブの出力用紙サイズでありＡ３やＡ４、Ｂ５、Ｂ４などがある。ｏｕｔｐｕｔ．ｐａｐｅｒＮｕｍｂｅｒはコピージョブの出力ページ数である。
【００４９】
収集データ情報５４０は収集データ管理サーバー１０４が保存する収集データの一例である。収集データは１つのイベントを１つのＪｓｏｎフォーマットとして表現する。収集データのＪｓｏｎフォーマットのｋｅｙは収集データ構造５００で定義される情報であり、ｖａｌｕｅは発生イベントの値となる。収集データ情報５４０は１つのイベントの情報を１行ずつ保存したＪｓｏｎ  Ｌｉｎｅｓフォーマットで収集データを保存する。なお収集データ管理サーバー１０４が保存する収集データ情報５４０には収集データ送信クライアント３７３が送信する収集データにｔｅｎａｎｔＩｄが追加される。このｔｅｎａｎｔＩｄは収集データ送信時指定される認可トークンから特定するテナントＩＤである。なお、収集データ構造５００および収集データ情報５４０は一例であって、このデータ内容に限られるものではない。
【００５０】
＜デバイス設定管理サーバー１０５のデータ＞
図６はデバイス設定管理サーバー１０５がストレージ３２３に記憶するデータテーブルである。これらのデータテーブルは、デバイス設定管理サーバー１０５のストレージ３２３ではなく、インターネット１００やローカルネットワーク１０１を介して通信可能に構成された別のサーバーに記憶するように構成することもできる。デバイス設定管理サーバー１０５が保持するデータテーブルは、ベクトル化情報６００、学習済みモデル情報６１０より成る。
【００５１】
ベクトル化情報６００は収集データのイベント属性の中で値が文字列のものを、数値計算できるようベクトル表現に変換するためのマッピング情報である。ｃｏｌｏｒＭｏｄｅ６０１の値がｃｏｌｏｒの場合は０、ｍｏｎｏの場合は１として取り扱う。ｌａｙｏｕｔ６０２やｐａｐｅｒｓｉｄｅ６０３、ｐａｐｅｒＳｉｚｅ６０４の値についてそれぞれベクトル表現が定義される。ベクトル化は１つだけ１で他は０であるＯｎｅ−ｈｏｔ表現を用いており属性毎に一意に割り振りを行う。
【００５２】
学習済みモデル情報６１０では収集データを機械学習した結果得られたモデル情報のファイルを管理する。機械学習におけるモデルについては後述する。テナントＩＤ６１１毎、ユーザーＩＤ６１２毎のモデルファイルのファイルパスを学習済みモデルファイルパス６１３に格納する。アスタリスク（＊）はＡｌｌを意味し、テナントＩＤ６１１がアスタリスク（＊）の場合は全てのテナント共通、ユーザーＩＤ６１２がアスタリスク（＊）の場合は全てのユーザー共通であることを示している。学習済みモデルファイルパス６１３にはイベント属性ごとモデル情報の複数のファイルパスが登録される。両方とも（＊）の学習済みモデルファイルはＭＦＰ１０２を利用する全てのユーザーに対して共通のファイルとなる。以上のように学習済みファイルはユーザーやテナントなどと関連付けられる。なお、ユーザー毎の学習済みモデルはテナントに関連付けなくても良い。
【００５３】
デバイス設定管理サーバー１０５が保持する学習済みモデルファイルはストレージ３２３に保存され、学習済みモデルファイルパス６１３にはストレージ３２３のファイルパスが登録される。この学習済みモデルファイルは、デバイス設定管理サーバー１０５のストレージ３２３ではなく、インターネット１００やローカルネットワーク１０１を介して通信可能に構成された別のサーバーに記憶するように構成することもできる。その場合、学習済みモデルファイルパス６１３には学習済みモデルファイルを保存したＵＲＬが保存される。デバイスの推定で利用される学習済みモデルは６１３に示す通り、設定値の項目毎に用意された複数の学習済みモデルから成る。
【００５４】
＜ＭＦＰ１０２のデータ＞
図７は認可クライアント３７２とコピーアプリケーション３７３が記憶装置２０８に保存するデータテーブルである。クライアント情報７００は認可クライアント３７２が保持するデータテーブルである。認可クライアント３７２は認可サーバー１０３に登録したクライアント情報７００を保存する。クライアント情報７００の各項目は認可サーバー１０３のクライアント情報４００と同様である。
【００５５】
学習済みモデル情報７１０はコピーアプリケーション３７３が保持するデータテーブルである。コピーアプリケーション３７３から取得した学習済みモデル情報を保存する。学習済みモデル情報７１０の各項目はデバイス設定管理サーバー１０５の学習済みモデル情報６１０と同様である。コピーアプリケーション３７３はＭＦＰ１０２を利用するテナントＩＤの学習済みモデル情報のみを保持する。またコピーアプリケーション３７３はデバイス設定管理サーバー１０５のベクトル化情報６００も保持するが同じ情報のため図示省略する。
【００５６】
＜データ収集、学習、推定フロー＞
図８はＭＦＰ１０２からの収集データを機械学習し、学習済みモデル情報でコピー設定を推定するフローの概略である。それぞれのフローの詳細は後述する。Ｓ８．１．１において、収集データ送信クライアント３７３はアプリケーションフレームワーク３６０からＭＦＰ１０２内で発生したイベント通知を受ける。Ｓ８．１．２において、収集データ送信クライアント３７３はＳ８．１．１で受け取ったイベント情報を収集データ構造５００に従ってＪｓｏｎフォーマットに変換し収集データ管理サーバー１０４に送信する。
【００５７】
Ｓ８．１．３において、収集データ管理サーバー１０４は収集データ送信クライアント３７３から送信された収集データを収集データ情報５４０として保存する。Ｓ８．２．１において、デバイス設定管理サーバー１０５は収集データ管理サーバー１０４から収集データ情報５４０を取得する。Ｓ８．２．２において、デバイス設定管理サーバー１０５はＳ８．２．１で取得した収集データ情報５４０を用いて機械学習し、作成した学習済みモデルを学習済みモデルファイルパス６１３が示す保存先に保存する。
【００５８】
Ｓ８．３．１において、コピーアプリケーション３７１はデバイス設定管理サーバー１０５からベクトル化情報６００と学習済みモデル情報６１０、学習済みモデルファイル（学習済みデータモデルファイルパス６１３に保存されたファイル）を取得し保存する。Ｓ８．４．１において、コピーアプリケーション３７１はスキャナ２１１にコピー原稿が置かれるとアプリケーションフレームワーク３６０からイベント通知を受信する。このイベント通知にはコピー原稿の用紙サイズやページ数が含まれる。
【００５９】
Ｓ８．４．２において、コピーアプリケーション３７１はＳ８．４．１で受け取ったイベント通知のコピー原稿の用紙サイズやページ数をもとに、Ｓ８．３．１で取得した学習済みデータモデルでコピー設定を推定する。なお、Ｓ８．１．１〜Ｓ８．１．３、Ｓ８．２．１〜Ｓ８．２．２、Ｓ８．３．１、Ｓ８．４．１〜Ｓ８．４．２はそれぞれ非同期に実行される。またＳ８．２．１〜Ｓ８．２．２、Ｓ８．３．１の処理は定期的に実行する。
【００６０】
＜データ収集フロー＞
図９は図８におけるＳ８．１．１〜Ｓ８．１．３のデータ収集フローの詳細である。Ｓ９．１において収集データ送信クライアント３７３はアプリケーションフレームワーク３６０からＭＦＰ１０２内で発生したイベント通知を受ける。このイベント通知にはｅｎｔｉｔｙやｅｖｅｎｔＮａｍｅ、イベント属性（ａｔｔｒｉｂｕｔｅ）が含まれる。Ｓ９．２において収集データ送信クライアント３７３はＳ９．１で受け取ったイベント通知情報をもとにＪｓｏｎフォーマットで収集データを生成する。収集データのデータ構造は図５で前述した通りである。
【００６１】
Ｓ９．３において収集データ送信クライアント３７３は認可クライアント３７２に認可トークン取得リクエストを行う。この認可トークン取得リクエストではスコープにＰｕｔＤｅｖｉｃｅＤａｔａを指定する。認可トークン取得リクエストを受け付けた認可クライアント３７２は認可サーバー１０３にクライアントＩＤ７０１とパスワード７２０、スコープにＰｕｔＤｅｖｉｃｅＤａｔａを指定して認可トークン取得リクエストし認可トークンを得る。認可クライアント３７２は取得した認可トークンを収集データ送信クライアント３７３に渡す。
【００６２】
Ｓ９．４において収集データ送信クライアント３７３はＳ９．２で生成した収集データとＳ９．３で取得した認可トークンを収集データ管理サーバー１０４に送信する。Ｓ９．５において収集データ管理サーバー１０４は収集データ送信クライアント３７３から送信された認可トークンと収集データを受信する。
【００６３】
Ｓ９．６において収集データ管理サーバー１０４は、Ｓ９．５で受信した認可トークンとスコープにＰｕｔＤｅｖｉｃｅＤａｔａを指定して認可サーバー１０３に認可トークン検証リクエストする。認可サーバー１０３は認可トークン検証リクエストを受け付けると認可トークン情報４１０で認可トークン４１１とスコープ４１３の一致と有効期限４１２を検証する。認可サーバー１０３は検証に成功するとクライアントＩＤ４１４に関連するクライアント情報４００のテナントＩＤ４０４を収集データ管理サーバー１０４に渡す。
【００６４】
Ｓ９．７において収集データ管理サーバー１０４は、Ｓ９．６の認可トークンチェックで認可サーバー１０３から受け取ったテナントＩＤをＳ９．１で受信した収集データに追加する。Ｓ９．８において収集データ管理サーバー１０４は、Ｓ９．７でテナントＩＤを追加した収集データを収集データ情報５４０として保存する。
【００６５】
＜学習フロー＞
図１０は図８におけるＳ８．２．１〜Ｓ８．２．２の学習フローの詳細である。学習のタイミングに限定はなく、何れか任意のタイミングで開始するものとする。Ｓ１０．１においてデバイス設定管理サーバー１０５は収集データ管理サーバー１０４から収集データ情報５４０を取得する。デバイス設定管理サーバー１０５は取得した収集データ情報のうちｅｎｔｉｔｙ＝ｊｏｂ５３０、ｅｖｅｎｔＮａｍｅ＝ｊｏｂＣｏｍｐｌｅｔｅｄ５３２、ｊｏｂＴｙｐｅ＝ｃｏｐｙの収集データのみを利用する。
【００６６】
Ｓ１０．２においてデバイス設定管理サーバー１０５はＳ１０．１で準備した収集データを全データとテナントＩＤ毎のデータ、ユーザーＩＤ毎のデータに分類し、それぞれのデータを学習データとする。Ｓ１０．２以降の処理は分類した全データの学習データ、テナントＩＤ毎の学習データ、ユーザーＩＤ毎の学習データのすべての学習データについて処理を行う。
【００６７】
Ｓ１０．３においてデバイス設定管理サーバー１０５はＳ１０．２で準備した学習データを入力データと正解データに分割する。入力データはｉｎｐｕｔ．ｐａｐｅｒｓｉｚｅとｉｎｐｕｔ．ｐａｇｅＮｕｍｂｅｒの値、正解データはｐａｐｅｒＳｅｔｔｉｎｇｓ．ｃｏｐｉｅｓとｐａｐｅｒＳｅｔｔｉｎｇｓ．ｃｏｌｏｒＭｏｄｅとｐａｐｅｒＳｅｔｔｉｎｇｓ．ｌａｙｏｕｔ、ｐａｐｅｒＳｅｔｔｉｎｇｓ．ｐａｐｅｒｓｉｄｅ、ｐａｐｅｒＳｅｔｔｉｎｇｓ．ｐａｐｅｒＳｉｚｅの値である（図示ｐａｐｅｒＳｅｔｔｉｎｇｓは省略、以降本文でも省略する。）。
【００６８】
なお入力データはスキャン画像の属性値に加えてスキャン画像そのものを利用することもできる。また、入力データには時間情報（コピー実行された時間など）やユーザー属性（部署、役職、年齢など）、ＭＦＰ１０２属性（機種、設置場所、コピー速度など）などの値を属性値に加えて利用することもできる。これらの値は数値ベクトル化することで学習することが可能である。つまり、実施例１の入力データは画像処理に関するものだけに限定されるわけではない。正解データは本実施例で示したコピーの設定項目以外の設定項目を指定することもできる。またＭＦＰ１０２が備える機能の設定項目を正解データとすることで、あらゆる設定項目にも適用可能である。
【００６９】
Ｓ１０．４においてデバイス設定管理サーバー１０５はＳ１０．３で生成した入力データと正解データをベクトル化情報６００のマッピングに従ってベクトル化し、それぞれ入力ベクトルと正解ベクトルとする。Ｓ１０．５においてデバイス設定管理サーバー１０５はＳ１０．４で生成した正解ベクトルの設定項目（ｃｏｐｉｅｓ、ｃｏｌｏｒＭｏｄｅとｌａｙｏｕｔ、ｐａｐｅｒｓｉｄｅ、ｐａｐｅｒＳｉｚｅ）を１設定項目ずつ全設定項目処理する。Ｓ１０．５によりデバイスの設定値の項目毎に学習済みモデルが生成されることになる。
【００７０】
本実施例では正解ベクトルを１設定項目ずつ処理するが、複数の設定項目をまとめて学習してもよい。ただし、正解ベクトルの複数の設定項目を用いて学習した場合、ベクトル空間が広がることで精度の高い推定を行うためには大量のデータが必要になる。例えばテナント毎やユーザー毎の学習データは大量に収集することが難しく、少量の学習データとなるため、広いベクトル空間で学習した場合には推定精度が悪くなる可能性がある。本実施例では正解ベクトルを１設定項目ずつ処理することで、最低限のベクトル空間で学習するため学習データが少ない場合であっても推定精度を高くすることができる。
【００７１】
Ｓ１０．６においてデバイス設定管理サーバー１０５はＳ１０．４で生成した入力ベクトルと正解ベクトルの１設定項目をもってＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）を利用して学習する。ＳＶＭは公知の機械学習アルゴリズムであり本実施例ではＲＢＦ（Ｒａｄｉａｌ  Ｂａｓｉｓ  ｆｕｎｃｔｉｏｎ  Ｋｅｒｎｅｌ）による非線形ソフトマージンＳＶＭを利用する。学習では学習データをランダムに解析データと検証データに分割する交差検証によって学習結果を評価する。またＲＢＦを用いたＳＶＭのハイパーパラメータにコストパラメータ（Ｃ）とガンマ（γ）があり推定性能に影響を及ぼすので、それぞれ複数の値を網羅的に試すグリッドサーチを行い推定性能が高いものを学習結果とする。
【００７２】
ＳＶＭは分類と回帰のどちらの学習も行うことができる。ｃｏｐｉｅｓのような数値の推定が必要な場合は回帰を、ｃｏｌｏｒＭｏｄｅとｌａｙｏｕｔやｐａｐｅｒｓｉｄｅ、ｐａｐｅｒＳｉｚｅでは分類を行う。ここで機械学習アルゴリズムにはパーセプトロンやロジスティック回帰、ニューラルネットワーク、ｋ近傍法、ナイーブベイズ、ニューラルネットワーク、畳み込みニューラルネットワーク、決定木、ランダムフォレスト、線形回帰、多項式回帰、Ｌａｓｓｏ回帰、Ｒｉｄｇｅ回帰など様々なものがある。またＳＶＭにもハードマージンＳＶＭや多項式カーネルＳＶＭなどの種類がある。
【００７３】
機械学習アルゴリズムのハイパーパラメータも機械学習アルゴリズムによって異なる。また学習結果を評価手法には交差検証法以外に代替推定法やテストサンプル法などがある。さらに機械学習アルゴリズムのハイパーパラメータの最適化手法にはグリッドサーチ以外にランダムサーチ、ラテン超方格サンプリング法、ベイズ最適化などがある。本実施例において機械学習アルゴリズムや学習結果を評価手法、機械学習アルゴリズムのハイパーパラメータの最適化手法などの学習手法は変更してもよい。
【００７４】
Ｓ１０．７においてデバイス設定管理サーバー１０５はＳ１０．６で学習した学習済みモデルをファイルに保存し、学習済みモデル情報６１０に登録する。ここで学習済みモデルを保存したファイルには、学習アルゴリズムの種類（ＲＢＦによる非線形ソフトマージンＳＶＭ）や学習アルゴリズムのハイパーパラメータの値（コストパラメータ（Ｃ）とガンマ（γ））、学習した結果得られる係数ベクトルが含まれる。
【００７５】
なお、学習済みモデル情報６１０への登録はＳ１０．２で分類したテナントＩＤ６１１毎の学習データの場合はテナントＩＤ６１１に学習データのテナントＩＤを指定し、ユーザーＩＤ６１２をアスタリスク（＊）として登録する。またＳ１０．２で分類したユーザーＩＤ６１２毎の学習データの場合はテナントＩＤ６１１に学習データのテナントＩＤを指定し、ユーザーＩＤ６１２に学習データのユーザーＩＤとして登録する。Ｓ１０．２で分類した全データの学習データの場合はテナントＩＤ６１１とユーザーＩＤ６１２をアスタリスク（＊）として登録する。学習済みモデルファイル名にはＳ１０．５で処理する設定項目名（ｃｏｐｉｅｓ、ｃｏｌｏｒＭｏｄｅとｌａｙｏｕｔ、ｐａｐｅｒｓｉｄｅ、ｐａｐｅｒＳｉｚｅ）を付与する。
【００７６】
＜データの流れ＞
図１１は図１０で説明した学習フローにおけるデータの流れの一例である。まず全データ、テナントＩＤ毎のデータ、ユーザーＩＤ毎のデータに分類した学習データを入力データと正解データに分割している。次に入力データと正解データをベクトル化情報６００に従ってベクトル化して入力ベクトルと正解ベクトルとする。機械学習では学習モデルの入力として入力ベクトルを、出力として正解ベクトルとしたときの最適なハイパーパラメータと係数ベクトルを見つけ出す。学習結果である学習済みモデルに未知の入力ベクトルを入力して得られた出力を推定ベクトルとし、ベクトル化情報６００に従って推定値を得ることができる。
【００７７】
＜ベクトル化情報、学習済みモデル取得フロー＞
図１２は図８におけるＳ８．３．１のコピーアプリケーション３７１のベクトル化情報、学習済みモデル取得フローの詳細である。コピーアプリケーション３７１は定期的にベクトル化情報、学習済みモデル取得を行う。
【００７８】
Ｓ１２．１においてコピーアプリケーション３７１は認可クライアント３７２からテナントＩＤを取得する。認可クライアント３７２はクライアント情報７００のテナントＩＤ７０４をコピーアプリケーション３７１に渡す。Ｓ１２．２においてコピーアプリケーション３７１はスコープにＧｅｔＤｅｖｉｃｅＳｅｔｔｉｎｇを指定して認可クライアント３７２に認可トークン取得依頼し認可トークンを受け取る。認可トークン取得依頼はＳ９．３で前述しているため説明省略する。
【００７９】
Ｓ１２．３においてコピーアプリケーション３７１はデバイス設定管理サーバー１０５から学習済みモデル情報と学習済みモデルファイルを取得する。ここでコピーアプリケーション３７１はＳ１２．２で受け取った認可トークンと、Ｓ１２．１で取得したテナントＩＤを指定して学習済みモデルを指定する。デバイス設定管理サーバー１０５は受け取った認可トークンを認可サーバー１０３にチェック依頼し、指定されたテナントＩＤが一致する学習済みモデル情報６１０と学習済みモデルファイルをコピーアプリケーション３７１に渡す。
【００８０】
Ｓ１２．４においてコピーアプリケーション３７１はＳ１２．２で取得した学習済みモデル情報６１０と学習済みモデルファイルを保存する。Ｓ１２．５においてコピーアプリケーション３７１はＳ１２．２で受け取った認可トークンをパラメータとしてデバイス設定管理サーバー１０５からベクトル化情報６００を取得する。デバイス設定管理サーバー１０５は受け取った認可トークンを認可サーバー１０３にチェック依頼し、ベクトル化情報６００をコピーアプリケーション３７１に渡す。Ｓ１２．６においてコピーアプリケーション３７１はＳ１２．４で取得したベクトル化情報を保存する。
【００８１】
＜推定フロー＞
図１３は図８におけるＳ８．４．１〜Ｓ８．４．２のコピーアプリケーション３７１の推定フローの詳細である。Ｓ１３．１においてコピーアプリケーション３７１はアプリケーションフレームワーク３６０からコピー原稿を読み込んだイベント通知を受ける。このイベント通知にはコピー原稿の用紙サイズ（ｐａｇｅＳｉｚｅ）やページ数（ｐａｇｅＮｕｍｂｅｒ）が含まれる。
【００８２】
Ｓ１３．２においてコピーアプリケーション３７１はＳ１３．１で受け取った用紙サイズ（ｐａｇｅＳｉｚｅ）とページ数（ｐａｇｅＮｕｍｂｅｒ）をＳ１２．４で取得し保存しているベクトル化情報でベクトル化する。Ｓ１３．３においてコピーアプリケーション３７１は推定設定のｏｎ／ｏｆｆを確認する。この推定設定はユーザーがｏｎ／ｏｆｆを切り替えることができ、コピーアプリケーション３７１が記憶装置２０８に保持する。
【００８３】
Ｓ１３．４においてコピーアプリケーション３７１はＳ１３．３で推定設定がｏｆｆだった場合に、設定のデフォルト値を操作パネル２０７に表示する。なお設定のデフォルト値はコピーアプリケーション３７１が保持することも可能であるが、例えば、印刷装置制御部３４０にユーザー管理部を設けてログインしたユーザー毎に用意されたコピーアプリケーション３７１のデフォルト値を表示しても良い。いずれにせよ、推定設定がｏｆｆ（学習済みモデルを利用した推定を利用しない設定）の場合は、何がしかのデフォルト値が利用されるものとし、デフォルト値に関してはその形態を問わない。
【００８４】
Ｓ１３．５においてコピーアプリケーション３７１は全ての推定する設定項目（ｃｏｐｉｅｓ、ｃｏｌｏｒＭｏｄｅとｌａｙｏｕｔ、ｐａｐｅｒｓｉｄｅ、ｐａｐｅｒＳｉｚｅ）を処理する。Ｓ１３．６においてコピーアプリケーション３７１はＭＦＰ１０２にユーザーがログインしているかどうかデバイス認証アプリケーション３７０に確認する。Ｓ１３．７においてコピーアプリケーション３７１はＳ１３．６においてユーザーがログインしていた場合、デバイス認証アプリケーション３７０からログインしているユーザーＩＤを取得する。
【００８５】
Ｓ１３．８においてコピーアプリケーション３７１は学習済みモデル情報７１０にＳ１３．７で取得したユーザーＩＤと一致するユーザーＩＤ７１２が登録されているか確認する。Ｓ１３．９においてコピーアプリケーション３７１はＳ１３．８でユーザーＩＤ毎の学習済みモデルが存在する場合、そのレコードの学習済みモデルファイルパス７１３に保存している学習済みモデルファイルを読み込んで推定を行う。ここで学習済みモデルの入力にはＳ１３．２でベクトル化した用紙サイズ（ｐａｇｅＳｉｚｅ）とページ数（ｐａｇｅＮｕｍｂｅｒ）を用い、出力を推定ベクトルとする。推定する設定項目が数値の場合（ｃｏｐｉｅｓ）、推定ベクトルを四捨五入して整数にしたものを推定値とする。推定する設定項目が分類の場合は得られた推定ベクトルを、ベクトル化情報を用いて変換し推定値とする。
【００８６】
Ｓ１３．１０においてコピーアプリケーション３７１は、Ｓ１３．６でデバイスにユーザーがログインしていない場合、またはユーザーＩＤ毎の学習済みモデルを保持していない場合、認可クライアント３７２からテナントＩＤを取得する。認可クライアント３７２はクライアント情報７００のテナントＩＤ７０４をコピーアプリケーション３７１に渡す。
【００８７】
Ｓ１３．１１においてコピーアプリケーション３７１は学習済みモデル情報７１０にＳ１３．１０で取得したテナントＩＤでありユーザーＩＤがアスタリスク（＊）であるレコードが登録されているか確認する。Ｓ１３．１２においてコピーアプリケーション３７１はＳ１３．１１でテナントＩＤ毎学習済みモデルが存在する場合、そのレコードの学習済みモデルファイルパス７１３に保存している学習済みモデルファイルを読み込んで推定を行う。学習済みモデルへの入力と出力、推定ベクトルの設定への変換はＳ１３．９と同様である。
【００８８】
Ｓ１３．１３においてコピーアプリケーション３７１は学習済みモデル情報７１０にテナントＩＤ７１１とユーザーＩＤがアスタリスク（＊）であるレコードが登録されているか確認する。Ｓ１３．１４においてコピーアプリケーション３７１は学習済みモデル情報７１０でテナントＩＤ７１１とユーザーＩＤがアスタリスク（＊）の学習済みモデルを利用する。学習済みモデルファイルパス７１３に保存している学習済みモデルファイルを読み込んで推定を行う。学習済みモデルへの入力と出力、推定ベクトルの推定値への変換はＳ１３．９と同様である。
【００８９】
Ｓ１３．１５においてコピーアプリケーション３７１はＳ１３．６、Ｓ１３．１０、Ｓ１３．１８において学習済みモデルを保持していない場合、デフォルト値を設定する。いずれの学習済みモデルを保持していない理由としては、ＭＦＰ１０２がデバイス設定管理サーバー１０５と連携できない状況の他、ＭＦＰ１０２からの推定機能の利用制限をデバイス設定管理サーバー１０５が設けることなどが考えられ、その場合は学習済みモデルを利用できない。なお設定のデフォルト値はＳ１３．４で説明した通りである。Ｓ１３．１６においてコピーアプリケーション３７１はＳ１３．５で全ての設定項目の推定が終わるとＳ１３．９またはＳ１３．１２、Ｓ１３．１３で推定した各設定項目の推定値、またはＳ１３．１５の設定のデフォルト値を操作パネル２０７に表示する。
【００９０】
ここで、ユーザーＩＤ毎の学習済みモデル、テナントＩＤ毎の学習済みモデル、テナントＩＤ７１１とユーザーＩＤがアスタリスク（＊）の学習済みモデルのうち、どの学習済みモデルを用いて設定を推定するかは設定によって切り替えてもよい。また、学習済みモデルを用いて設定を推定するか、設定のデフォルト値を利用するのかも設定によって切り替えてもよい。
【００９１】
以上のように、ＭＦＰ１０２で発生するイベントを収集データとしてサーバーに保存し、その収集データを学習した結果を学習済みモデルとしてＭＦＰ１０２で利用することでコピー原稿の用紙サイズとページ数からコピー設定を推定することができる。収集データはユーザーが利用に従って増加し推定精度も向上するため、ユーザーは操作なしにコピー原稿を読み込ませるだけで所望のコピー設定でコピー実行することができるようになる。
【００９２】
またテナント毎とユーザー毎にデータを分けてそれぞれ学習することで、テナントやユーザーにあった推定することができ利便性が向上する。ユーザー毎、テナント毎、全体と順番に学習済みモデルを利用していくことでデバイスにログインせずに利用するユーザーや、初めて利用するユーザーやテナントにも推定を適用することができる。
【００９３】
なお、図１３では、ユーザー毎の学習済みモデルを第１優先、テナント毎の学習済みモデルを第２優先、全体の学習済みモデルを第３優先としたが、必ずしもこの形態でなくとてもよく、最初にテナントＩＤを特定しテナント毎の学習済みモデルを利用しても良いし、最初に全体の学習済みモデルを利用しても良い。すなわち、必ずしも図１３のフローの順番で学習済みモデルを利用する形態でなければならないわけではない。
【００９４】
〔その他の実施例〕
実施例１はクラウドサービスとして提供する形式が好適であるためその形態で説明したが、例えば、ＭＦＰ１０２自身が学習および推定のサービスを提供する形態であっても良い。具体的には、収集データ管理サーバー１０４およびデバイス設定管理サーバー１０５の機能をＭＦＰ１０２が備える形態である。この場合、クラウドサービスと比較し好適な形態ではないが、本発明を実施する上では問題ない。サービスの提供先にＭＦＰ１０２自身を含め限定はない。
【００９５】
実施例１はコピーアプリケーションを例に説明したが、コピー以外のアプリケーションであっても適用できる。例えば、電子的または光学的に文書データまたは原稿を読み込み画像データを形成する形態において、画像データの属性値と原稿を画像処理する際に設定した設定値とがあれば学習および推定は可能であり、本発明を適用することができる。実施例１ではＭＦＰを例に説明したが、その他のデバイスであっても良い。
【００９６】
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００９７】
１０２  ＭＦＰ
１０３  認可サーバー
１０４  収集データ管理サーバー
１０５  デバイス設定管理サーバー
３７１  コピーアプリケーション
３７３  収集データ送信クライアント
【図１】
2020119015.tif 000003
【図２】
2020119015.tif 000004
【図３】
2020119015.tif 000005
【図４】
2020119015.tif 000006
【図５】
2020119015.tif 000007
【図６】
2020119015.tif 000008
【図７】
2020119015.tif 000009
【図８】
2020119015.tif 000010
【図９】
2020119015.tif 000011
【図１０】
2020119015.tif 000012
【図１１】
2020119015.tif 000013
【図１２】
2020119015.tif 000014
【図１３】
2020119015.tif 000015