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