(57)【要約】【課題】データ送信時の宛先指定をより容易に行うことを可能にする。【解決手段】データの送信先を管理する管理システムであって、データ送信が行われたことに応じて、当該データ送信の送信情報を収集データとして蓄積する蓄積手段と、前記蓄積手段にて蓄積されている収集データから、送信先情報からなる正解データと、送信先情報以外の項目からなる入力データとの対から構成される学習データを生成する生成手段と、前記生成手段にて生成された学習データを用いて、送信先の推定に用いられる学習モデルの生成を機械学習により行う処理手段と、要求に応じて、前記学習モデルを用いた推定処理を提供する提供手段とを有する。【選択図】  図４
2020170968.tif 000002
【特許請求の範囲】
【請求項１】
データの送信先を管理する管理システムであって、
データ送信が行われたことに応じて、当該データ送信の送信情報を収集データとして蓄積する蓄積手段と、
前記蓄積手段にて蓄積されている収集データから、送信先情報からなる正解データと、送信先情報以外の項目からなる入力データとの対から構成される学習データを生成する生成手段と、
前記生成手段にて生成された学習データを用いて、送信先の推定に用いられる学習モデルの生成を機械学習により行う処理手段と、
要求に応じて、前記学習モデルを用いた推定処理を提供する提供手段と
を有することを特徴とする管理システム。
【請求項２】
前記データは画像データであり、
前記データの送信は、画像処理装置により行われ、
前記蓄積手段は、前記送信情報を前記画像処理装置から取得することを特徴とする請求項１に記載の管理システム。
【請求項３】
前記提供手段は、前記要求に応じて、当該要求の要求元へ前記学習モデルを送信することを特徴とする請求項１または２に記載の管理システム。
【請求項４】
前記要求は、前記生成手段において前記入力データとして用いられた項目の情報を含み、
前記提供手段は、前記要求に応じて、当該要求に含まれる情報を用いた前記学習モデルによる推定処理を実行し、当該推定処理により得られた送信先の推定結果を、当該要求の要求元へ送信することを特徴とする請求項１または２に記載の管理システム。
【請求項５】
情報処理装置であって、
データを送信する送信手段と
前記送信手段によるデータ送信が行われたことに応じて、当該データ送信の送信情報を収集データとして外部装置に提供する提供手段と、
データの送信先となる候補を推定する推定処理を実行する推定手段と、
前記推定手段により推定されたデータの送信先の候補を提示する提示手段と
を有し、
前記推定処理は、前記外部装置にて蓄積された収集データから生成される、送信先情報からなる正解データと、送信先情報以外の項目からなる入力データとの対から構成される学習データに基づいて行われた機械学習により生成される学習モデルを用いて行われることを特徴とする情報処理装置。
【請求項６】
前記情報処理装置は、前記推定処理を行うか否かの設定情報をユーザーごとに保持する保持手段を有し、
前記推定手段は、前記設定情報に基づいて、ユーザーごとに推定処理の実行を制御することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記推定手段は、前記外部装置から前記学習モデルを取得し、当該学習モデルを用いてデータの送信先となる候補を推定することを特徴とする請求項５または６に記載の情報処理装置。
【請求項８】
前記推定手段は、前記外部装置において前記入力データとして用いられた項目の情報を含めて、前記外部装置に対して要求を行い、当該要求に対する応答として、データの送信先となる候補の推定結果を受信することを特徴とする請求項５または６に記載の情報処理装置。
【請求項９】
前記提供手段は、前記送信手段によるデータ送信に用いられた情報のうち所定の属性の情報を削除した情報を収集データとして提供することを特徴とする請求項５乃至８のいずれか一項に記載の情報処理装置。
【請求項１０】
前記情報処理装置は、画像形成装置であり、
前記画像形成装置は、スキャン処理により前記データとして画像データを生成することを特徴とする請求項５乃至９のいずれか一項に記載の情報処理装置。
【請求項１１】
情報処理装置であって、
データを取得する取得手段と、
前記データを送信する送信手段と
前記送信手段によるデータ送信が行われたことに応じて、当該データ送信の送信情報を収集データとして外部装置に提供する提供手段と
を有し、
前記収集データは、データの送信先の推定に用いられる学習モデルを生成するための、送信先情報からなる正解データと、送信先情報以外の項目からなる入力データとの対から構成される学習データとして用いられることを特徴とする情報処理装置。
【請求項１２】
前記提供手段は、前記送信手段によるデータ送信に用いられた情報のうち所定の属性の情報を削除した情報を収集データとして提供することを特徴とする請求項１１に記載の情報処理装置。
【請求項１３】
データの送信先を管理する管理システムにおけるデータ送信先推定方法であって、
データ送信が行われたことに応じて、当該データ送信の送信情報を収集データとして蓄積手段にて蓄積する蓄積工程と、
前記蓄積手段にて蓄積されている収集データから、送信先情報からなる正解データと、送信先情報以外の項目からなる入力データとの対から構成される学習データを生成する生成工程と、
前記生成工程にて生成された学習データを用いて、送信先の推定に用いられる学習モデルの生成を機械学習により行う処理工程と、
要求に応じて、前記学習モデルを用いた推定処理を提供する提供工程と
を有することを特徴とするデータ送信先推定方法。
【請求項１４】
データを送信する送信工程と
前記送信工程によるデータ送信が行われたことに応じて、当該データ送信の送信情報を収集データとして外部装置に提供する提供工程と、
データの送信先となる候補を推定する推定処理を実行する推定工程と、
前記推定工程により推定されたデータの送信先の候補を提示する提示工程と
を有し、
前記推定処理は、前記外部装置にて蓄積された収集データを用いて、送信先情報からなる正解データと、送信先情報以外の項目からなる入力データとの対から構成される学習データに基づいて行われた機械学習により生成される学習モデルを用いて行われることを特徴とするデータ送信先推定方法。
【請求項１５】
データを取得する取得工程と、
前記データを送信する送信工程と
前記送信工程によるデータ送信が行われたことに応じて、当該データ送信の送信情報を収集データとして外部装置に提供する提供工程と
を有し、
前記収集データは、前記外部装置において、データの送信先の推定に用いられる学習モデルを生成するための、送信先情報からなる正解データと、送信先情報以外の項目からなる入力データとの対から構成される学習データとして用いられることを特徴とするデータ送信方法。
【請求項１６】
コンピューターに、
データ送信が行われたことに応じて、当該データ送信の送信情報を収集データとして蓄積手段に蓄積する蓄積工程と、
前記蓄積手段にて蓄積されている収集データから、送信先情報からなる正解データと、送信先情報以外の項目からなる入力データとの対から構成される学習データを生成する生成工程と、
前記生成工程にて生成された学習データを用いて、送信先の推定に用いられる学習モデルの生成を機械学習により行う処理工程と、
要求に応じて、前記学習モデルを用いた推定処理を提供する提供工程と
を実行させるためのプログラム。
【請求項１７】
コンピューターに、
データを送信する送信工程と
前記送信工程によるデータ送信が行われたことに応じて、当該データ送信の送信情報を収集データとして外部装置に提供する提供工程と、
データの送信先となる候補を推定する推定処理を実行する推定工程と、
前記推定工程により推定されたデータの送信先の候補を提示する提示工程と
を実行させ、
前記推定処理は、前記外部装置にて蓄積された収集データを用いて、送信先情報からなる正解データと、送信先情報以外の項目からなる入力データとの対から構成される学習データに基づいて行われた機械学習により生成される、送信先の推定に用いられる学習モデルを用いて行われることを特徴とするプログラム。
【請求項１８】
コンピューターに、
データを取得する取得工程と、
前記データを送信する送信工程と
前記送信工程によるデータ送信が行われたことに応じて、当該データ送信の送信情報を収集データとして外部装置に提供する提供工程と
を実行させ、
前記収集データは、データの送信先の推定に用いられる学習モデルを生成するための、送信先情報からなる正解データと、送信先情報以外の項目からなる入力データとの対から構成される学習データとして用いられることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、管理システム、情報処理装置、データ送信先推定方法、データ送信方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、人間が自然に行うタスクをコンピューターに学習させる機械学習の手法のひとつとして、ディープラーニング（深層学習）が注目されている。ディープラーニングは、人工知能（ＡＩ）の発展を支える重要な役割を担う重要な技術であり、その進歩により様々な分野への実用化が進んでいる。従来の機械学習では、対象データの特徴量を手動で抽出し、抽出した特徴量を使って予め何を学習するかというのを定義することで、データの分類等を行うモデルを作成する。一方、ディープラーニングでは、入力としてのデータと、分類など処理すべき結果を与えることで、特徴量をデータから自動的に抽出し、自動的にその処理方法を学習することでモデルを作成する。これにより、ディープラーニングは、従来の機械学習では特徴量の抽出が難しい複雑な問題に対しても高い精度の結果を得ることができる。
【０００３】
また、クラウドサービスと呼ばれるインターネットを介してソフトウェアの機能を提供するシステムが広まっている。クラウドコンピューティングは、多くのコンピューティング・リソースを用いてデータ変換やデータ処理を分散実行し、多くのクライアントからの要求を分散並列処理により並行して処理することが主な特徴である。ＭＦＰ（Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）においても、クラウドサービスと連携し新たな機能を提供する形態が取られるようになってきた。これにより、クラウドサービス上にユーザー操作や文書、印刷データ、プリンタやサービスのログ等に関する情報が集積されてきており、機械学習を用いてこれらを活用することで新たな機能を提供することが考えられている。
【０００４】
例えば、特許文献１では、帳票画像における罫線、罫線の数、特徴点、特徴点の数、色情報などを特徴データとして帳票種別毎に蓄積し、処理対象帳票の画像の特徴を蓄積された特徴データと比較することで、帳票種別を推定するという技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第５６７０７８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＭＦＰは様々な機能を持っており、生成した画像データを外部に送信する機能もある。ＭＦＰから画像データを送信する際には、ＭＦＰの操作パネルから送信先を指定する必要がある。従来、操作パネルに送信先を入力するのは手間であるため、定常的にデータを送信する場合は、事前に送信先を登録しておき、操作パネルから登録されている送信先を指定することで入力の手間を省略していた。しかしながら、事前に送信先を登録できない場合や、登録の手間など、データ送信先の指定における利便性に課題がある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために本願発明は以下の構成を有する。すなわち、データの送信先を管理する管理システムであって、データ送信が行われたことに応じて、当該データ送信の送信情報を収集データとして蓄積する蓄積手段と、前記蓄積手段にて蓄積されている収集データから、送信先情報からなる正解データと、送信先情報以外の項目からなる入力データとの対から構成される学習データを生成する生成手段と、前記生成手段にて生成された学習データを用いて、送信先の推定に用いられる学習モデルの生成を機械学習により行う処理手段と、要求に応じて、前記学習モデルを用いた推定処理を提供する提供手段とを有する。
【発明の効果】
【０００８】
本発明により、ユーザーは、データ送信時の宛先指定をより容易に行うことができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態に係るシステム構成の例を示す図。
【図２】本発明の一実施形態に係るハードウェア構成の例を示す図。
【図３】本発明の一実施形態に係るソフトウェア構成の例を示す図。
【図４】本発明の一実施形態に係るデータ送信の全体シーケンスを示す図。
【図５】本発明の一実施形態に係る収集データの前処理と学習処理のフローチャート。
【図６】畳み込みニューラルネットワークを説明するための図。
【図７】畳み込みニューラルネットワークに係るデータ例を説明するための図。
【図８】畳み込みニューラルネットワークの各層の動作を説明するための図。
【図９】本発明の一実施形態に係るデータ送信先推定処理のフローチャート。
【図１０】本発明の一実施形態に係る画面構成の例を示す図。
【図１１】第二の実施形態に係るデータ送信先推定処理のフローチャート。
【図１２】第三の実施形態に係るデータ送信の全体シーケンスを示す図。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【００１１】
＜第一の実施形態＞
［ネットワーク構成］
図１は、本実施形態に係るネットワークシステムのネットワーク構成の例を示す。インターネット１００は、外部から接続可能なパブリックなネットワークである。イントラネット１０１は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などの外部から接続不可能なプライベートなネットワークである。各装置は、インターネット１００およびイントラネット１０１を介して通信可能に接続される。なお、接続方式は、有線／無線を問わず、また複数の通信方式を組み合わせて接続されてよい。また、本実施形態において、データ送信を行う装置の例として、画像形成装置であるＭＦＰを例に挙げ、送信する情報を画像データとして説明するが、これに限定するものではない。例えば、送信されるデータは画像データに限定されるものは無く、所定の画像を読み取って文字データを生成し、この文字データを送信するような構成であってもよい。
【００１２】
ＭＦＰ１０２は、イントラネット１０１を介してインターネット１００にアクセスし、各種サーバーにアクセスできる。また、ＭＦＰ１０２は、生成した各種データ（例えば、画像データ）を、メールやＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）通信などを利用して端末１０３やデータ送信先サーバー１０４に送信することができる。端末１０３は、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）やスマートフォンと呼ばれる携帯端末などが該当し、メールなどを利用してデータの送受信を行うことができる。
【００１３】
データ送信先サーバー１０４は、ＭＦＰ１０２や端末１０３などからデータを受け付けるサーバーである。データ送信先管理サーバー１０５は、データ送信先の推定情報を管理するサーバーであり、データ収集サーバー１０６が保持するデータを用いて学習を行い、学習によって得られた情報を学習済み情報として管理する。データ収集サーバー１０６は、収集データの保存と提供を行うサーバーであり、ＭＦＰ１０２がデータ送信した際の情報を収集データとして蓄積する。
【００１４】
データ送信先管理サーバー１０５とデータ収集サーバー１０６は、同一のサーバー（管理システム）上に構築されてもよいし、それぞれ個別のサーバーとして構成されてもよい。また、本実施形態において各サーバーは１台ずつ構成されているが、それぞれ複数台のサーバーで冗長化されたクラウドサービスとしてインターネット上に公開されてもよい。また、ＭＦＰ１０２や端末１０３が、複数台含まれてよい。
【００１５】
［ハードウェア構成］
図２は、本実施形態に係る各装置のハードウェア構成の例を示す。図２（ａ）は、本実施形態に係るＭＦＰ１０２のハードウェア構成の例を示す。ＭＦＰ１０２におけるハードウェアの各構成要素は、システムバス２００にて通信可能に接続される。
【００１６】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１は、ＭＦＰ１０２全体の制御を行う制御装置であり、システムバス２００に接続される各種デバイスとのアクセスを統括的に制御する。ＣＰＵ２０１による制御は、ＲＯＭ２０３に記憶された制御プログラム等あるいはディスクコントローラを介して接続された外部メモリ２０６に記憶された制御プログラムやリソースデータ（資源情報）等に基づく。ＧＰＵ（Ｇｒａｐｈｉｃａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０２は、画像処理や機械学習などのベクトル演算に特化した演算装置である。ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０３は、不揮発性の記憶手段であり、内部には基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０４は、ＣＰＵ２０１やＧＰＵ２０２の主メモリ、ワークエリア等として機能し、増設ポート（不図示）に接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。
【００１７】
ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）２０５は、外部装置とのデータのやり取りを行うためのインターフェースである。操作パネル２０７は、画面の表示や、画面を介したユーザーの操作指示を受け付けるための操作部である。また、操作パネル２０７には、ＭＦＰ１０２の動作モード等の設定やＭＦＰ１０２の動作状況の表示、コピー指定等の操作を行うためのボタンおよび液晶パネル等の表示部も配置される。記憶装置２０８は、大容量メモリとして機能する外部記憶手段であり、本発明に係る各種プログラムなどを格納している。機器Ｉ／Ｆ２０９は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等で接続可能な外部機器と接続するためのインターフェースである。プリンタ２１０は、既知の印刷技術を利用した印刷部であり、好適な実施系として例えば電子写真方式（レーザービーム方式）やインクジェット方式、昇華方（熱転写）方式等が挙げられる。プリンタ２１０は、印刷データ（ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）やＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）などの形式のデータ）から変換された画像データを用いて、記録媒体に対して印刷動作を行う。スキャナ２１１は、既知の画像読取技術を利用した読取部であり、透明な天板（不図示）に載置された紙等の原稿を光学的に走査し画像データに変換する。また、スキャナ２１１は、自動原稿送り装置（ＡＤＦ；不図示）に載置された複数枚の原稿を連続して読み込み、画像データに変換する。なお、本実施形態において、ＭＦＰ１０２は、印刷機能およびスキャン機能を備える構成を示したが、他の機能を備えてもよい。
【００１８】
図２（ｂ）は、本実施形態に係る各サーバー（データ送信先サーバー１０４、データ送信先管理サーバー１０５、及びデータ収集サーバー１０６）及び端末１０３として動作可能な情報処理装置のハードウェア構成の一例を示す図である。なお、端末１０３及び各サーバーは同じハードウェア構成に限定するものではなく、例えば、端末１０３が携帯端末として構成される場合には、異なる構成を備えていてもよい。したがって、特に断らない限り、本発明の機能が実行可能であるならば、単体の機器であっても、複数の機器からなるシステムであっても、本発明が適用できる。また、特に断らない限り、本発明の機能が実行可能であるならば、ＬＡＮやＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のネットワークを介して接続が為され、処理が行われるシステムであっても本発明を適用できる。本実施形態ではシステムバス２２７により各構成要素が接続されているものとして説明する。
【００１９】
ＣＰＵ２２０は、情報処理装置全体の制御を行う制御装置であり、ＲＯＭ２２３または記憶装置２２６に格納されている各種アプリケーションプログラム、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を実行する。また、ＣＰＵ２２０は、ＲＡＭ２２４にプログラム実行に必要な情報、ファイル等を一時的に格納する制御を行う。ＧＰＵ２２１は、画像処理や機械学習などのベクトル演算に特化した演算装置である。ＲＯＭ２２３は不揮発性の記憶手段であり、内部には基本Ｉ／Ｏプログラム等のプログラムを記憶する。ＲＡＭ２２４は一時記憶手段であり、ＣＰＵ２２０やＧＰＵ２２１の主メモリやワークエリア等として機能する。ＮＩＣ２２５は、外部装置とのデータのやり取りを行うためのインターフェースである。記憶装置２２６は外部記憶手段の一つであり、大容量メモリとして機能する。記憶装置２２６は、アプリケーションプログラム、ＯＳ等の本発明に係るプログラムを格納している。
【００２０】
［ソフトウェア構成］
図３は、本実施形態に係る各種装置のモジュール構成の例を示す図である。
【００２１】
図３（ａ）は、本実施形態に係るデータ送信先管理サーバー１０５のソフトウェアモジュールの構成例を示す。データ送信先管理サーバー１０５は、学習データ管理モジュール３００、学習モデル管理モジュール３０１、およびアクセス制御モジュール３０２を含んで構成される。各ソフトウェアモジュールは、図２（ｂ）で示した情報処理装置のハードウェア構成において、ＲＯＭ２２３または記憶装置２２６に記憶されており、ＣＰＵ２２０によってＲＡＭ２２４にロードされＣＰＵ２２０またはＧＰＵ２２１により実行される。
【００２２】
学習データ管理モジュール３００は、データ収集サーバー１０６から収集データを取得し、機械学習に用いるための学習データに変換し管理する。学習データへの変換については後述する。学習モデル管理モジュール３０１は、学習データ管理モジュール３００が管理している学習データを入力とし、機械学習を用いて学習モデルを生成し管理する。学習モデルの生成については後述する。アクセス制御モジュール３０２は、ＭＦＰ１０２や端末１０３をクライアントとして登録し、データへのアクセス制御を行う。なお、アクセス制御モジュール３０２は、別のサーバー（例えば、不図示のアクセス制御サーバー）上に構築され、そのサーバーと連携することでアクセス制御がなされてもよい。
【００２３】
図３（ｂ）は、本実施形態に係るデータ収集サーバー１０６のソフトウェアモジュールの構成例を示す。データ収集サーバー１０６は、収集データ管理モジュール３１０、およびアクセス制御モジュール３１１を含んで構成される。各ソフトウェアモジュールは、図２（ｂ）で示した情報処理装置のハードウェア構成において、ＲＯＭ２２３または記憶装置２２６に記憶されており、ＣＰＵ２２０によってＲＡＭ２２４にロードされＣＰＵ２２０またはＧＰＵ２２１により実行される。
【００２４】
収集データ管理モジュール３１０は、ＭＦＰ１０２からデータを受け付け、そのデータの妥当性を確認し、収集データとして管理する。アクセス制御モジュール３１１は、ＭＦＰ１０２や端末１０３、データ送信先管理サーバー１０５をクライアントとして登録し、データへのアクセス制御を行う。なお、アクセス制御モジュール３１１は、別のサーバー（例えば、不図示のアクセス制御サーバー）上に構築され、そのサーバーと連携することでアクセス制御がなされてもよい。
【００２５】
図３（ｃ）は、本実施形態に係るＭＦＰ１０２のソフトウェアモジュールの構成例を示す。ＭＦＰ１０２は、ＯＳ３３０、デバイスコントローラ３４０、デバイスコントローラ３４０によって制御される複数の制御部、仮想マシン３５０、アプリケーションフレームワーク３６０、および複数のアプリケーションを含んで構成される。各ソフトウェアモジュールは、図２（ａ）で示したＭＦＰ１０２のハードウェア構成において、ＲＯＭ２０３または記憶装置２０８に記憶されており、ＣＰＵ２０１によってＲＡＭ２０４にロードされＣＰＵ２０１またはＧＰＵ２０２により実行される。
【００２６】
ＭＦＰ１０２は、ＭＦＰ１０２毎に一意なＩＤ（ＤｅｖｉｃｅＩＤ）が発行され、ＭＦＰ１０２生産時に設定される。ＯＳ３３０は、一般的にはリアルタイムＯＳが使用されるが、Ｌｉｎｕｘ（登録商標）等の汎用ＯＳが使用される場合もある。デバイスコントローラ３４０は、図２（ａ）で示したＭＦＰ１０２の各種ハードウェアを制御する。また、デバイスコントローラ３４０は、各ハードウェアを制御するためのモジュール（３４１〜３４５）間の制御を行う。操作パネル制御部３４１は、操作パネル２０７への画面表示を制御する。ＮＩＣ制御部３４２は、ＮＩＣ２０５を利用してＴＣＰ／ＩＰなどの通信プロトコルを制御する。記憶装置制御部３４３は、記憶装置２０８へのＩ／Ｏを制御するディスクコントローラである。プリンタ制御部３４４は、受け付けた印刷データ（ＰＤＬやＰＤＦなどの形式のデータ）を画像データに変換し、プリンタ２１０を制御して印刷動作を行う。スキャナ制御部３４５は、スキャン指示を受け付けるとスキャナ２１１を制御することで原稿を読み取り画像データに変換する。
【００２７】
仮想マシン３５０は、例えば、Ｊａｖａ（登録商標）ＶＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）  が挙げられる。仮想マシン３５０は、ＯＳで制御されるアプリケーションとして動作する仮想的なアプリケーション実行環境である。アプリケーションフレームワーク３６０は、仮想マシン３５０が提供するアプリケーション実行環境上で動作する管理対象のアプリケーションのライフサイクルを管理する機能を備える。また、アプリケーションフレームワーク３６０は、アプリケーションのライフサイクルを制御するためのインターフェース、および各アプリケーション間での処理要求を仲介するためのインターフェース公開機能を備えている。ライフサイクルとは、アプリケーションのインストール、起動、停止、アンインストールを含むアプリケーションの状態を示すものとする。また、アプリケーションフレームワーク３６０は、デバイスコントローラ３４０を介してＭＦＰ１０２の各種ハードウェアを制御するインターフェースをアプリケーションに提供する。
【００２８】
アプリケーションフレームワーク３６０で動作するアプリケーションは、アプリケーションフレームワーク３６０を介して印刷指示や印刷結果の受信、スキャン指示、スキャン画像の取得、操作パネルへの画面表示などを行うことができる。デバイス認証アプリケーション３７０、スキャンアプリケーション３７１、データ送信アプリケーション３７２、および収集データ送信クライアント３７３は、アプリケーションフレームワーク３６０上で動作するアプリケーションである。
【００２９】
デバイス認証アプリケーション３７０は、ＭＦＰ１０２へのログインを管理するアプリケーションである。デバイス認証アプリケーション３７０は、ＭＦＰ１０２の操作パネル２０７にログイン画面を表示し、ユーザーからのログイン（ユーザー名、パスワード）を受け付け、ユーザー認証を行う。デバイス認証アプリケーション３７０は、ユーザーの認証に成功するとログイン画面を非表示にし、ＭＦＰ１０２の各種機能を操作パネル２０７から利用できるようにする。本実施形態に係る画面構成の例については、図１０を用いて後述する。デバイス認証アプリケーション３７０にはユーザー認証しなくても利用できるアプリケーションを設定することもでき、この場合、ユーザーはログインなしでアプリケーションの機能を利用できる。デバイス認証アプリケーション３７０は、アプリケーションフレームワーク３６０にＭＦＰ１０２にログイン中のユーザーＩＤを取得するためのインターフェースを公開している。アプリケーションフレームワーク３６０上のアプリケーションは、当該インターフェースを介してログインイベントを受け取ったり、ログイン情報を取得したりできる。
【００３０】
スキャンアプリケーション３７１は、ＭＦＰ１０２のスキャン機能を提供するアプリケーションである。スキャンアプリケーション３７１はスキャナ２１１で原稿の読み込みを行い、読み込んだ情報を元に画像データを生成する。また、スキャンアプリケーション３７１は、操作パネル２０７を表示し、スキャン設定を受け付ける。スキャンアプリケーション３７１は、アプリケーションフレームワーク３６０にスキャン情報を取得するためのインターフェースを公開している。アプリケーションフレームワーク３６０上のアプリケーションは、当該インターフェースを介してスキャン開始・終了イベントなどを受け取ることができる。なお、スキャンアプリケーション３７１は、個人情報保護の観点から、スキャンした情報の文字情報を識別し、所定の属性の文字情報の削除またはマスク処理を行うことができる。削除またはマスク処理を行う文字情報は、氏名、メールアドレス、住所のような個人情報と判断されるもののみを対象にしてもよく、文字情報の全てを対象としてもよい。削除またはマスク処理の対象となるデータは、読み込んだ情報の種別などに応じて異なっていてもよい。このように文字情報を編集することで、スキャンした画像データに含まれる個人情報をデバイスから出さない構成とすることができる。また、外部へ送信されるデータ量の削減が可能となる。
【００３１】
データ送信アプリケーション３７２は、ＭＦＰ１０２で生成した画像データを電子メールやＨＴＴＰ通信などを用いて外部に送信するアプリケーションである。データ送信アプリケーション３７２は、操作パネル２０７を表示し、データ送信先などのデータ送信設定を受け付ける。また、データ送信アプリケーション３７２は、デバイス認証アプリケーション３７０で認証されたユーザーに設定されている送信先を取得し、その送信先にデータを送信することができる。
【００３２】
収集データ送信クライアント３７３は、ＭＦＰ１０２で発生したイベントを検知し、イベント情報をデータ収集サーバー１０６に送信する。収集データ送信クライアント３７３で検知するイベントにはＭＦＰ１０２の起動・停止・スリープイベント、ユーザーログイン・ログアウンイベント、コピージョブの開始・完了イベントなどがある。なお、収集データ送信クライアント３７３は、アプリケーションフレームワーク３６０を介してＭＦＰ１０２内の各モジュールで発生するイベントを検知する。
【００３３】
［処理シーケンス］
図４は、本実施形態に係る処理シーケンスを示す。ここでは、スキャン画像データの送信情報を学習データとして蓄積し、機械学習を行って学習済みモデルを作成し、さらに作成した学習済みモデルを利用して画像データの送信先を推定する流れについて説明する。
【００３４】
（データ収集・学習）
図４（ａ）は、ＭＦＰ１０２が画像データをスキャンして送信した情報を収集データとしてデータ収集サーバー１０６に保存し、収集データを利用してデータ送信先管理サーバー１０５が機械学習を行い、学習済みモデルを生成する流れを示す。
【００３５】
Ｓ４０１にて、データ送信アプリケーション３７２は、スキャンアプリケーション３７１からスキャン実行の通知を受ける。なお、本ステップは、操作パネル２０７からデータ送信アプリケーション３７２を指定することで実行されてもよい。
【００３６】
Ｓ４０２にて、データ送信アプリケーション３７２は、スキャン実行によりスキャンアプリケーション３７１が生成した画像データをデータ送信先サーバー１０４に対して送信する。データ送信アプリケーション３７２は、操作パネル２０７を介してユーザーから送信先の指示を受け付け、送信先を決定し、この送信先に画像データを送信する。
【００３７】
Ｓ４０３にて、データ送信アプリケーション３７２は、収集データ送信クライアント３７３に対し、データ送信先サーバー１０４へのデータ送信を実行したことの通知を行う。
【００３８】
Ｓ４０４にて、収集データ送信クライアント３７３は、データ収集サーバー１０６へのデータ送信を実行したことを示す情報を収集データとして送る。このとき、上述したように、スキャンアプリケーション３７１にてスキャンした情報に対して削除またはマスク処理が必要に応じて行われ、その結果の情報が収集データとして送信されてよい。
【００３９】
Ｓ４０５にて、データ収集サーバー１０６は、ＭＦＰ１０２の収集データ送信クライアント３７３から受け取った収集データを保存する。
【００４０】
表１は、本実施形態に係る収集データの例を示す。収集データには、送信日時、送信先情報、送信元情報、実行ユーザー情報、画像データ、およびデバイス情報などが含まれる。送信先情報は、Ｓ４０２におけるデータの送信先であるデータ送信先サーバー１０４の情報であり、メールアドレス形式やＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）形式などの情報である。送信元情報は、ＭＦＰ１０２を示す情報であり、ＩＰアドレスやデバイスＩＤなどの情報である。実行ユーザー情報は、ＭＦＰ１０２上でデータ送信を行ったユーザーの情報である。画像データは、ＭＦＰ１０２で生成した画像データであり、Ｓ４０２にて送信された画像データに相当する。デバイス情報は、デバイスＩＤやＭＡＣアドレスなどの機器情報や、スキャン設定などのアプリケーション情報などである。
【００４１】
【表１】
2020170968.tif 000003
【００４２】
Ｓ４１１にて、データ送信先管理サーバー１０５は、データ収集サーバー１０６に対して収集データ情報取得要求を行う。その際、データ送信先管理サーバー１０５は取得するデータに条件を付けて要求することができる。例えば、このときの要求に対する条件としては、データ収集サーバー１０６が保持している収集データのうち、前回取得したデータからの差分のみを要求してもよい。データ収集サーバー１０６は、Ｓ４０５で保存した収集データの一部または全部をデータ送信先管理サーバー１０５に応答する。ここでデータ送信先管理サーバー１０５が取得するデータの量は、機械学習を行う際の情報の量となるため、より多い方が推定精度の向上を期待できる。
【００４３】
Ｓ４１２にて、データ送信先管理サーバー１０５は、データ収集サーバー１０６から取得した収集データから、学習に使用する要素と、学習結果として扱う要素を抽出する。ここで、学習に使用する要素をまとめたものを入力データとし、学習結果として扱う要素を正解データとし、それらの情報をまとめたものを学習データとする。つまり、学習データは、入力データと正解データとの対からなるデータを複数含んで構成される。
【００４４】
表２は、収集データから抽出した学習データの例を示す。本実施形態においては、収集データのうち、正解データを送信先情報とし、入力データを画像データ、送信元情報、および時間とする。言い換えると、入力データは、正解データとして用いる送信先情報以外の項目から構成される。
【００４５】
【表２】
2020170968.tif 000004
【００４６】
Ｓ４１３にて、データ送信先管理サーバー１０５は、Ｓ４１２で作成した学習データを用いて、学習モデルに対する学習を行い、学習済みモデルを作成する。学習済みモデルの生成については後述する。
【００４７】
なお、データ送信先管理サーバー１０５は、学習済みモデルをデバイスＩＤ単位で作成してもよく、デバイスが所属するグループを定義し、そのグループ単位で制御してもよい。したがって、生成される学習済みモデルは、１つに限定されるものではなく、複数が生成され、管理されてよい。
【００４８】
（送信先推定・データ送信）
図４（ｂ）は、ＭＦＰ１０２が生成した画像データとＭＦＰ１０２の情報を入力とし、学習済みモデルを用いて送信先を推定し、データ送信を行う流れを示す。なお、図４（ａ）で説明した処理と同じ処理には同じ番号を付与しており、詳細な説明は省略する。
【００４９】
Ｓ４０１によるスキャン通知の後、Ｓ４２１にて、データ送信アプリケーション３７２は、データ送信先管理サーバー１０５から学習済みモデルを取得する。データ送信先管理サーバー１０５は、学習済みモデルの取得を要求したデバイス（ＭＦＰ１０２）に応じて、応答する学習済みモデルを制御してもよい。この場合、データ送信アプリケーション３７２は、ＭＦＰ１０２を示す情報などを併せて要求に含めて送信する。
【００５０】
Ｓ４２２にて、データ送信アプリケーション３７２は、スキャンした画像データと現在日時、ＭＦＰ１０２の情報を入力データとして、Ｓ４２１にて取得した学習済みモデルに入力し、送信先の推定結果を出力する。推定処理については後述する。
【００５１】
Ｓ４２３にて、データ送信アプリケーション３７２は、操作パネル２０７に推定した送信先を表示した上で、データ送信の指示を受け付ける。データ送信アプリケーション３７２は、受け付けた指示に基づいて、指定された送信先にデータを送信する。その後、Ｓ４０３の処理が行われる。Ｓ４０３以降は図４（ａ）で説明したフローが行われ、送信データがデータ収集サーバー１０６に蓄積される。
【００５２】
なお、本実施形態では、データ送信アプリケーション３７２が学習済みモデルを用いて推定を行ったが、データ送信先管理サーバー１０５が送信先の推定を行っても構わない。その場合、データ送信アプリケーション３７２は、データ送信先管理サーバー１０５に学習済みモデルの取得要求を行うのではなく、推定要求として、画像データとＭＦＰ１０２の情報含めて送る。そして、データ送信先管理サーバー１０５が取得した推定要求に含まれている情報を入力データとして、保持している学習済みモデルを用いて送信先の推定処理を行い、その推定結果を要求元であるＭＦＰ１０２に返す。
【００５３】
（学習済みモデル生成処理）
図５は、本実施形態に係るデータ送信先管理サーバー１０５における学習済みモデル作成のフローである。本処理フローは、データ送信先管理サーバー１０５として機能する情報処理装置のＣＰＵ２２０やＧＰＵ２２１が記憶装置２２６等に格納されたプログラムを読み出して実行することで実現される。
【００５４】
Ｓ５０１にて、データ送信先管理サーバー１０５の学習データ管理モジュール３００は、データ収集サーバー１０６から収集データを取得する。
【００５５】
Ｓ５０２にて、学習データ管理モジュール３００は、Ｓ５０１にて取得した収集データから不要な項目を削除し、入力データを生成する。表２に示す例の場合、入力データとして、収集データから、画像データ、送信元情報、および時間情報が抽出される。
【００５６】
Ｓ５０３にて、学習データ管理モジュール３００は、Ｓ５０１にて取得した収集データから正解データ項目を取得する。表２に示す例の場合、正解データとして、収集データから、送信先情報が抽出される。
【００５７】
Ｓ５０４にて、学習データ管理モジュール３００は、Ｓ５０２で生成した入力データと、Ｓ５０３で取得した正解データをそれぞれ対応付けて学習データとして保存する。具体例として、保存したデータは表２で示したデータとなる。
【００５８】
Ｓ５０５にて、学習モデル管理モジュール３０１は、学習データを畳み込みニューラルネットワークを用いて学習し、学習モデルを作成する。
【００５９】
Ｓ５０６にて、学習モデル管理モジュール３０１は、作成した学習モデルを保存する。
【００６０】
Ｓ５０７にて、学習モデル管理モジュール３０１は、学習データの全データに対して学習を終えたか否かを判定する。未処理のデータがある場合（Ｓ５０７にてＮＯ）Ｓ５０５へ戻り、未処理のデータに対して処理を繰り返す。全データを用いた学習が終了した場合（Ｓ５０７にてＹＥＳ）、本処理を終了する。
【００６１】
［学習］
ここで、本実施形態に係る推定と学習に使用するディープラーニングの基本的なアルゴリズムである畳み込みニューラルネットワークを用いた、定量データの推定による分類方法についての説明を行う。なお、本願発明は、このアルゴリズムに限るものではなく、例えばフィードフォワード・ニューラルネットワークなどの他のアルゴリズムを用いてもよい。また、画像データ、送信先情報、時間データのそれぞれについて、異なるアルゴリズムを用いてもよい。
【００６２】
ニューラルネットワークは、人間の脳内の神経細胞（ニューロン）と信号を伝達するためのつながりである神経回路網を模して数式的なモデルで表現される。畳み込みニューラルネットワークは、ニューラルネットワークの構造の１つであり、多次元配列に対して演算を行う手法であり、画像認識などに効果的であると言われている。
【００６３】
図６（ａ）は、畳み込みニューラルネットワークの処理概要の例である。畳み込みニューラルネットワークは，複数の層構造で表され、それぞれ以下の処理を行う。入力層６０１は、学習データを受け付け、必要に応じてデータの成形を行う。例えば、画像データを入力とした場合、入力層６０１はその画像データをピクセルの２次元配列に変換する。また、画像データがカラー画像だった場合、入力層６０１は、ＲＧＢ（Ｒｅｄ、Ｇｒｅｅｎ、Ｂｌｕｅ）の３つの２次元配列に分割する。畳み込み層６０２、６０４は、入力データに対してフィルタを適用し、特徴量の抽出を行う。ここでフィルタとは、入力データの特徴を抽出するためのデータセットであり、１つのフィルタにつき１つの特徴量を抽出する。プーリング層６０３、６０５は、畳み込み層６０２、６０４で出力された結果を縮小する。全結合層６０６は、入力データの全ての値を用いて、全特徴マップの計算を行う。出力層６０７は入力されたデータに対して推定を行い、結果を出力する。
【００６４】
畳み込みニューラルネットワークでは、図６（ａ）に示すように、畳み込み層とプーリング層の処理を複数回実行し、特徴量の精度を上げていく。なお、プーリング層の処理は省略してもよい。Ｘ個のフィルタを利用して畳み込み処理をＮ回実行すると、出力はＸＮ個となり、全結合層６０６はＸＮ個すべての出力を利用して特徴量を算出する。図６（ａ）では畳み込み層とプーリング層の処理を２回実施しているが、更に多くの処理を行ってもよい。
【００６５】
図６（ｂ）は、本実施形態に係る畳み込み層（畳み込み層６０２、６０４）の処理の概要を示す図である。畳み込み層では、入力Ｘ（Ｉｎｐｕｔ  Ｘ）に対してフィルタＷ（Ｆｉｌｔｅｒ  Ｗ）を用いて積和演算を行い、出力ｙ（Ｏｕｔｐｕｔ  ｙ）を出力する。ここで入力ＸとフィルタＷは共に二次元配列で表される。積和演算とは、入力Ｘに対してフィルタＷを一定間隔でスライドさせながら、配列で対応する要素の乗算を行い、その乗算結果の和を取る、という演算である。
【００６６】
また、畳み込み層では、この計算結果にフィルタ単位で定義した重みを付与してもよい。この重みは損失関数を用いて計算され、損失関数とは正解データと出力層６０７での推定結果との差を計測し、どれだけ適合しているかを算出する関数である。畳み込みニューラルネットワークでは、重みの計算のために誤差逆伝播法という、出力層６０７に正解データを入力し、正解データを入力層６０１に逆伝播させる方法が知られている。なお、損失関数は上記に限定するものではなく、他の関数を用いてもよい。
【００６７】
図７（ａ）は、入力Ｘ値の例としての入力データ７０１を示す。図７（ｂ）は、フィルタＷの例としてのフィルタ７０２を示す。図７（ｃ）は、出力ｙの例としての出力データ７０３を示す。図７（ａ）の入力データ７０１は、表２における画像データをピクセルの２次元配列で表したものである。本実施形態では、入力Ｘとして、送信元と時間をそれぞれ行とした２次元配列として利用する。なお、全ての入力データを畳み込みニューラルネットワークを用いて推定するのではなく、入力データ種別に応じて、フィードフォワード・ニューラルネットワークなどの他のアルゴリズムを用いて推定を行ってもよい。その場合、全てのデータの推定結果を用いて、全結合層６０６のような処理部分ですべての推定結果を結合して推定値を作成する。
【００６８】
図７（ｂ）に示すフィルタＷは、一般的に縦方向のエッジを検出する際に用いられるソーベルフィルタである。畳み込みニューラルネットワークではフィルタＷを複数用意し、それぞれで特徴量の計算を行い、複数の出力を作成する事が一般的である。そのため、フィルタＷは図７（ｂ）に示したものだけではなく、例えば横方向のエッジを検出するソーベルフィルタや、ノイズを減らす際に利用される平均化フィルタなどでもよい。また、畳み込みニューラルネットワークによって演算した特徴量を利用してもよい。
【００６９】
図７（ｃ）は、図７（ａ）の入力データ７０１に対し、図７（ｂ）のフィルタ７０２をストライド＝１として用いて計算した結果である。ここでのスライドとは、フィルタを適用していく際にフィルタをずらす量を示す。
【００７０】
畳み込み層では、出力ｙ対して活性化関数を利用し、出力ｙをどのように活性化して次の層に伝えるかを決定することができる。本実施形態では、Ｒｅｃｔｉｆｉｅｄ  Ｌｉｎｅａｒ  Ｕｎｉｔｓ（以下、ＲｅＬＵ）というランプ関数を用いて活性化を行う。ＲｅＬＵ関数は、入力値が０未満の場合は出力値を０に、入力値が０以上の場合はそのままの値を出力値とする関数である。ＲｅＬＵは、ｘ＝０の時以外は傾きが一定の線形関数であり、微分可能な関数である。この関数は、誤差逆伝播法などを利用した学習の際に、損失関数の傾きが０に近くなり、うまく学習できなくなるという勾配喪失問題に対応可能であり、特にニューラルネットワークの層が深い場合に有効とされている。なお、活性化関数はＲｅＬＵ関数以外の関数を用いてもよい。図７（ｄ）は、図７（ｃ）に示した出力データ７０３に対して、ＲｅＬＵ関数を適用することにより得られる活性化後の出力値７０４の例を示す。
【００７１】
図８（ａ）は、本実施形態に係るプーリング層（プーリング層６０３、６０５）の処理の概要を表す図である。プーリング層では、ｎ＊ｎの領域に対し、特徴量を算出していく。本実施形態では、２＊２のマックスプーリングという手法を用いて計算を行う。この方法では、配列の領域を２＊２の範囲で着目し、その中の最大値を採用していく。例えば、図７（ｄ）に示す出力値７０４において、入力ｙ［Ｍ，Ｎ］とし、Ｍを横方向の座標、Ｎを縦方向の座標、左上を原点［０，０］とする。この場合、ｙ［０，０］＝０、ｙ［０，１］＝４、ｙ［１，０］＝０、ｙ［１，１］＝４となり、このうちの最大値は４となるので、出力Ｙ［０，０］の値は４となる。同様に、他の値も算出される。なお、プーリングの手法はマックスプーリングとは限らず、その他の計算を用いてもよい。図６（ｅ）は、プーリングした値の例を示す。
【００７２】
図８（ｂ）は、本実施形態に係る全結合層６０６による全結合の処理の概要を表す図である。畳み込み層では１つのフィルタにつき１つの特徴が抽出されるため、Ｎ個のフィルタを用いてＭ回畳み込み処理を行った場合、ＮＭ個の二次元配列が入力となる。全結合層６０６では入力されたすべての二次元配列を一次元配列に置き換え、ベクトル計算を行う。
【００７３】
図８（ｂ）では、二次元配列ｘ１とｘ２を一次元配列ｘ１［］とｘ２［］に置き換え、ｘ１［０］〜ｘ１［３］とｘ２［０］〜ｘ２［３］の全てに重みを付けて結合し、出力ｈを算出している。ここで、重みｗは二次元配列単位で用意してもよく、ノード単位で用意してもよい。
【００７４】
最後に、こうして得られた出力ｈと、正解データとの誤差を求め、その誤差に応じて重みｗの調整を行う。畳み込みニューラルネットワークでは、重みｗの調整に誤差逆伝播法というアルゴリズムが用いられることができる。誤差逆伝播法は、図６（ａ）の出力層６０７において勾配降下法という手法を用いて、誤差の勾配がマイナス方向に変更されるように重みを変更して極小値を求め、その勾配計算を前の層に対して逆伝搬させながら計算を行う手法である。こういった手法を用いて、出力ｈと正解データの誤差が最小になる重みｗを求める。
【００７５】
上記方法により、学習モデル管理モジュール３０１は、データ収集サーバー１０６が収集した収集データからデータ送信先の学習を行う。この学習によってパラメータが調整された学習モデルを学習済みモデルと呼ぶ。学習済みモデルは、入力データに対する出力ｈのデータのパターンを近似した関数として働き、その結果を推定することができる。図５のＳ５０６では、学習済みモデルが保存されることとなる。本実施形態におけるデータ送信先推定方法では、生成された学習モデルが利用される。
【００７６】
（推定処理）
図９は、本実施形態に係るＭＦＰ１０２におけるデータ送信先の推定処理のフローである。本処理フローは、ＭＦＰ１０２のＣＰＵ２０１やＧＰＵ２０２が記憶装置２０８等に格納されたプログラムを読み出して実行することで実現される。
【００７７】
Ｓ９０１にて、データ送信アプリケーション３７２は、スキャンアプリケーション３７１から画像データを取得する。本ステップは、スキャンアプリケーション３７１から通知されることで実行されてもよく、操作パネル２０７からデータ送信アプリケーション３７２を指定することで実行されてもよい。
【００７８】
Ｓ９０２にて、データ送信アプリケーション３７２は、データ送信先管理サーバー１０５から学習済みモデルを取得する。このとき、データ送信先管理サーバー１０５に対して学習済みモデルの取得要求を送信する。なお、学習済みモデルの取得は、このタイミングに限定されるものではなく、所定のタイミングにて取得要求を送信するような構成であってもよい。
【００７９】
Ｓ９０３にて、データ送信アプリケーション３７２は、Ｓ９０２にて取得した学習済みモデルに対して画像データと現在時間、ＭＦＰ１０２のＩＰアドレス情報（送信元情報）を入力として推定を行う。つまり、ここでの入力データは、表２にて示した学習データのうち入力データの項目と同じとなる。本実施形態では、畳み込みニューラルネットワークを利用した推定を行う。畳み込みニューラルネットワークでは、学習済みモデルに対して推定したい情報を入力として処理を行い、出力層において推定結果が出力される。本実施形態では、送信先情報が推定結果となり、表２にて示した学習データのうちの正解データの項目と同じとなる。
【００８０】
Ｓ９０４にて、データ送信アプリケーション３７２は、操作パネル２０７に推定結果の送信先を表示する。データ送信アプリケーション３７２は、Ｓ９０３の推定結果を実際の送信先情報に変換して表示する。併せて、データ送信アプリケーション３７２は、送信先入力画面（不図示）を表示してもよい。
【００８１】
Ｓ９０５にて、データ送信アプリケーション３７２は、データ送信先の情報を取得する。ここでは、ユーザー操作による指示に基づいて、指定されたデータ送信先の情報を取得する。
【００８２】
Ｓ９０６にて、データ送信アプリケーション３７２は、取得したデータ送信先に対してデータを送信する。そして、本処理フローを終了する。
【００８３】
［画面遷移］
図１０は、本実施形態に係る、ＭＦＰ１０２におけるデータ送信時の画面遷移を説明するための図である。図１０に示す各画面は、例えば、操作パネル２０７に表示される。
【００８４】
図１０（ａ）は、ＭＦＰ１０２にログインする際のログイン画面１０００の構成例を示す。ログイン画面１０００は、ユーザーＩＤ入力部１００１、パスワード入力部１００２、及びログインボタン１００３を含んで構成される。ログインボタン１００３が押下された場合、入力されているユーザーＩＤとパスワードによりユーザー認証を行い、認証に成功した場合、ＭＦＰ１０２の機能一覧画面などを表示する。本実施形態では、ユーザー認証に成功した場合、図１０（ｂ）に示すスキャン画面１０１０へ遷移するものとする。なお、本実施形態では、ユーザーＩＤとパスワードを用いた手入力によるユーザー認証の例を示したが、これに限定するものではなく、生体情報などその他の情報を用いた認証や他の認証方式により行われてもよい。
【００８５】
図１０（ｂ）は、データ送信するアプリケーションにより提供されるスキャン画面１０１０の構成例を示す。スキャン画面１０１０は。ＭＦＰ１０２において画像のスキャンを行う際に表示される。スキャン画面１０１０は、送信先設定ボタン１０１１、自分に送信ボタン１０１２、自動判定ボタン１０１３、送信先表示部１０１４、スキャンして送信ボタン１０１５、及びキャンセルボタン１０１６を含んで構成される。
【００８６】
送信先設定ボタン１０１１が押下された場合、送信先入力画面（不図示）を表示し、送信先を受け付ける。また、ログインしているアカウント（ユーザーＩＤ）やアカウントのグループに設定されている送信先リストを表示し、その送信先リストから送信先の選択を受け付けてもよい。自分に送信ボタン１０１２が押下された場合、ログインしているアカウントに対して設定されているメールアドレスを送信先として設定する。自動判定ボタン１０１３が押下された場合、スキャン後に送信先の推定を行う。
【００８７】
スキャンして送信ボタン１０１５が押下された場合、送信先が設定済みの場合は、スキャンを行い、設定されている送信先にデータ送信を行う。送信先が設定されていない場合、図１０（ｃ）に示す送信先判定画面１０２０へ遷移する。キャンセルボタン１０１６が押下された場合、スキャン機能を終了する。
【００８８】
図１０（ｃ）は、データ送信先を決定するアプリケーションより提供される送信先判定画面１０２０の構成例を示す。送信先判定画面１０２０は、スキャンした画像データから推定した送信先を表示する際の画面であり、推定した送信先の候補が選択可能に提示される。送信先判定画面１０２０は、送信先リスト１０２１、送信先設定ボタン１０２２、送信ボタン１０２３、及びキャンセルボタン１０２４を含んで構成される。送信先リスト１０２１は、データ送信アプリケーション３７２により推定された宛先をリスト表示する。複数の宛先の可能性がある場合、可能性が高い順にリスト表示し、送信先の受付を行う。ここでの可能性は、例えば、学習済みモデルにより得られる値に基づいて決定してよい。
【００８９】
送信先設定ボタン１０２２は、推定された送信先に送信したい宛先が存在しない場合に、送信先の入力を受け付ける際に利用する。送信ボタン１０２３が押下された場合、送信先リスト１０２１で選択された送信先、または設定された送信先に対し、画像データの送信を行う。キャンセルボタン１０２４が押下された場合、送信をキャンセルし、ＭＦＰ１０２にてスキャンした画像データの破棄を行う。
【００９０】
以上、本実施形態により、スキャンした画像データ送信の際にデータ送信アプリケーションで推定した送信先を利用する事により、ユーザーはより簡易にデータ送信を行う事ができる。
【００９１】
＜第二の実施形態＞
上記の実施形態では、データ送信の際にデータ送信アプリケーション３７２はが送信先を推定して送信先を自動で設定または表示する。しかしながら、この推定情報はデータ収集サーバー１０６に蓄積されたデータから抽出した学習データのパターンを近似した結果であり、必ずしも全てのユーザーにとって所望する送信先を推定できるとは限らない。また、ユーザーによってはＭＦＰ１０２にログインしたユーザーに設定されている宛先に必ず送信する、というフローも考えられる。このように、ユーザーによっては推定処理を行いたくない、または行う必要がないという場合が考えられる。
【００９２】
そこで、本発明の第二の実施形態として、ユーザー毎に送信先の推定機能の有効、無効の設定を保持し、推定処理の切り替えについて説明する。なお、図中の番号および名称は特に断わらない限り、第一の実施形態と同様である。また、第一の実施形態と重複する構成については、説明を省略する。
【００９３】
表３は、データ送信アプリケーション３７２が管理するユーザー設定情報である。ユーザー設定情報には、ユーザーを示すユーザーＩＤと、送信先の推定機能を利用するかを示す推定フラグが含まれる。推定フラグの値が「ｔｒｕｅ」である場合は推定機能を利用することを意味し、「ｆａｌｓｅ」である場合は推定機能を利用しないことを意味する。このユーザー設定情報は、ユーザーが任意に設定画面（不図示）により設定可能であるとする。ユーザーＩＤは、スキャン処理およびデータ送信処理を行う際にユーザーを一意に識別する識別子である。ここでのユーザーとは、例えば、ＭＦＰ１０２にログインする際のユーザーなどである。
【００９４】
【表３】
2020170968.tif 000005
【００９５】
（推定処理）
図１１は、本実施形態に係るＭＦＰ１０２におけるデータ送信先の推定処理のフローである。本処理フローは、第一の実施形態にて述べた図９の処理フローに対応する。
【００９６】
Ｓ９０１にて画像データを取得した後、Ｓ１１０１にて、データ送信アプリケーション３７２は、ユーザーＩＤに基づいて、ユーザーの推定フラグを確認し、送信先の推定機能を利用するか判定する。推定設定が有効（ｔｒｕｅ）の場合（Ｓ１１０１にてＹＥＳ）Ｓ１１０２に進み、推定処理を行う。推定設定が無効（ｆａｌｓｅ）の場合（Ｓ１１０１にてＮＯ）Ｓ９０２に進む。
【００９７】
Ｓ１１０２にて、データ送信アプリケーション３７２は、操作パネル２０７に送信先入力画面（不図示）を表示する。そして、Ｓ９０５へ進む。
【００９８】
以上、本実施形態により、第一の実施形態の効果に加え、ユーザー毎にデータ送信先の推定機能を利用するか否かを切り替える事ができる。
【００９９】
＜第三の実施形態＞
上記の実施形態では、ＭＦＰ１０２からデータ送信先サーバー１０４にデータ送信した際の情報を元に推定を行った。一方、ＭＦＰ１０２からデータ送信先サーバー１０４にデータを直接送信せず、別の端末を経由してデータ送信を行う場合がある。例えば、ＭＦＰ１０２は、ログインしているユーザーに設定されているメールアドレスにデータ（画像データ等）を送信する。その後、ユーザーが端末１０３にてメールアプリケーション３８０を用いてＭＦＰ１０２からのデータを受信してデータ送信先サーバー１０４に対してデータ送信を行う、というフローが考えられる。このようなフローは、データ送信先情報が端末１０３のメールアプリケーション３８０で管理されている場合などで有効である。
【０１００】
本発明の第三の実施形態として、ＭＦＰ１０２から端末１０３を経由してデータ送信先サーバー１０４にデータを送る場合に、データ収集サーバー１０６にデータ送信先を蓄積し、データ送信アプリケーション３７２で推定を行う形態について説明する。つまり、ＭＦＰ１０２が画像データを生成するデータ生成装置として機能し、端末１０３がＭＦＰ１０２にて生成された画像データを所定の送信先へ送信するデータ送信装置として機能することとなる。なお、図中の番号および名称は特に断わらない限り、第一の実施形態と同様である。また、第一の実施形態と重複する構成については、説明を省略する。
【０１０１】
［処理シーケンス］
図１２は、本実施形態に係る処理シーケンスを示す。本処理シーケンスは、第一の実施形態にて述べた図４（ａ）のシーケンスに代えて、もしくは、併せて実行されるシーケンスである。
【０１０２】
Ｓ４０１によるスキャン通知の後、Ｓ１２０１にて、データ送信アプリケーション３７２は、端末１０３にデータを送信する。例えば、データ送信アプリケーション３７２は、ＭＦＰ１０２にログインしているユーザー（ユーザーＩＤ）に設定されているメールアドレスを宛先として、画像データを添付してメール送信を行う。この際、メールにＭＦＰ情報としてＭＦＰ１０２のＩＰアドレスやクライアントＩＤを付与してもよい。
【０１０３】
Ｓ１２０２にて、メールアプリケーション３８０は、データ送信先サーバー１０４にデータ送信を行う。ここで、メールアプリケーション３８０は、Ｓ１２０１で送られたメールを受信し、受信したメールに添付されている画像データを取得する。その上で、メールアプリケーション３８０は、メールアプリケーション３８０で指定されたデータ送信先サーバー１０４の宛先に対し、画像データを添付したメールを送信する。
【０１０４】
Ｓ１２０３にて、メールアプリケーション３８０は、データ収集アプリケーション３８１にデータ送信の通知を行う。ここでデータ収集アプリケーション３８１は、メールアプリケーション３８０の拡張機能として構成されてもよい。また、データ収集アプリケーション３８１がデータ送信を監視し、データ送信を検知する構成でもよい。
【０１０５】
Ｓ１２０４にて、データ収集アプリケーション３８１は、収集データをデータ収集サーバー１０６に送信する。ここでデータ収集アプリケーション３８１は、データ送信元情報としてＭＦＰ１０２の情報、またはメールアプリケーション３８０が受信したメールの宛先メールアドレスを設定する。ここで、ＭＦＰ１０２の情報は、Ｓ１２０１で送られた情報を利用するか、事前にデータ収集アプリケーション３８１に指定された値を利用する。その後の処理は、第一の実施形態の図４（ａ）にて述べた処理と同様となる。
【０１０６】
以上、本実施形態により、ＭＦＰ１０２でスキャンした画像データを自分宛に送信し、それを端末１０３で受信したのち、データ送信先サーバー１０４に転送する、というフローを行っている場合でも、転送時の宛先情報をデータ収集サーバー１０６に蓄積できる。これにより、ＭＦＰ１０２で画像データを作成した際に、過去に端末１０３から送信した宛先を送信先として推定することができる。
【０１０７】
＜その他の実施形態＞
本発明は上述の実施形態の１以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピューターにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【０１０８】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【０１０９】
１０２…ＭＦＰ、１０３…端末、１０４…データ送信先サーバー、１０５…データ送信先管理サーバー、１０６…データ収集サーバー
【図１】
2020170968.tif 000006
【図２】
2020170968.tif 000007
【図３】
2020170968.tif 000008
【図４】
2020170968.tif 000009
【図５】
2020170968.tif 000010
【図６】
2020170968.tif 000011
【図７】
2020170968.tif 000012
【図８】
2020170968.tif 000013
【図９】
2020170968.tif 000014
【図１０】
2020170968.tif 000015
【図１１】
2020170968.tif 000016
【図１２】
2020170968.tif 000017