(57)【要約】【課題】メンテナンス対象装置を効率的にメンテナンスできる可能性を高めること。【解決手段】メンテナンス対象装置のステータスを示すステータス情報と、前記メンテナンス対象装置を設置した環境を示す設置環境情報と、の少なくとも１つと、前記メンテナンス対象装置で実行すべきメンテナンスとを対応付けた教師データを用いて機械学習した学習済モデルを記憶する記憶部と、前記メンテナンス対象装置の前記ステータス情報と、前記設置環境情報と、の少なくとも１つと前記学習済モデルを用いて、前記メンテナンス対象装置で実行すべきメンテナンスを取得し、メンテナンスの優先順位を表示する制御部を備える情報処理装置を構成する。【選択図】図１
2020170379.tif 000002
【特許請求の範囲】
【請求項１】
メンテナンス対象装置のステータスを示すステータス情報と、前記メンテナンス対象装置を設置した環境を示す設置環境情報と、の少なくとも１つと、前記メンテナンス対象装置で実行すべきメンテナンスとを対応付けた教師データを用いて機械学習した学習済モデルを記憶する記憶部と、
前記メンテナンス対象装置の前記ステータス情報と、前記設置環境情報と、の少なくとも１つと前記学習済モデルを用いて、前記メンテナンス対象装置で実行すべきメンテナンスを取得し、メンテナンスの優先順位を表示する制御部を備える情報処理装置。
【請求項２】
前記教師データが示す前記メンテナンス対象装置で実行すべきメンテナンスは、
修理サービス提供者が再訪問することなく前記メンテナンス対象装置のエラーを解消させた場合に実行されたメンテナンスである、
請求項１に記載の情報処理装置。
【請求項３】
前記教師データが示す前記メンテナンス対象装置で実行すべきメンテナンスは、
前記メンテナンス対象装置のエラーが解消した原因となったメンテナンスである、
請求項１または請求項２に記載の情報処理装置。
【請求項４】
メンテナンス対象装置のステータスを示すステータス情報と、前記メンテナンス対象装置を設置した環境を示す設置環境情報と、の少なくとも一つと、前記メンテナンス対象装置で実行すべきメンテナンスとを対応付けた教師データを取得する教師データ取得部と、
前記メンテナンス対象装置の前記ステータス情報と、前記設置環境情報と、の少なくとも１つを入力し、前記メンテナンス対象装置で実行すべきメンテナンスを出力する学習済モデルを、前記教師データに基づいて機械学習する学習部と、
を備える機械学習装置。
【請求項５】
メンテナンス対象装置のステータスを示すステータス情報と、前記メンテナンス対象装置を設置した環境を示す設置環境情報と、の少なくとも一つと、前記メンテナンス対象装置で実行すべきメンテナンスとを対応付けた教師データを用いて機械学習した学習済モデルを用いて、前記メンテナンス対象装置のステータスを示すステータス情報と、前記メンテナンス対象装置を設置した環境を示す設置環境情報と、の少なくとも１つに基づいて、前記メンテナンス対象装置で実行すべきメンテナンスを取得し、メンテナンスの優先順位を表示する、
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、機械学習装置および情報処理方法に関する。
【背景技術】
【０００２】
従来、各種の情報を利用者に提供する際に、提供すべき情報を選択する技術が知られている。例えば、特許文献１には、ユーザーの入力に応答してカスタマイズされた保守マニュアルが作成される技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−３２３６４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
メンテナンス対象装置のメンテナンスを行う場合、メンテナンス対象装置の状態等に応じて実行すべきメンテナンスが異なり得る。
本発明は、メンテナンス対象装置を効率的にメンテナンスできる可能性を高めることを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するため情報処理装置は、メンテナンス対象装置のステータスを示すステータス情報と、メンテナンス対象装置を設置した環境を示す設置環境情報と、の少なくとも１つと、メンテナンス対象装置で実行すべきメンテナンスとを対応付けた教師データを用いて機械学習した学習済モデルを記憶する記憶部と、メンテナンス対象装置のステータス情報と、設置環境情報と、の少なくとも１つと学習済モデルを用いて、メンテナンス対象装置で実行すべきメンテナンスを取得し、メンテナンスの優先順位を表示する制御部を備える。この構成によれば、修理サービス提供者は、複数のメンテナンスの種類の中から実行すべきメンテナンスを容易に特定することが可能である。この結果、メンテナンス対象装置を効率的にメンテナンスできる可能性が高くなる。
【０００６】
さらに、教師データが示すメンテナンス対象装置で実行すべきメンテナンスは、修理サービス提供者が再訪問することなくメンテナンス対象装置のエラーを解消させた場合に実行されたメンテナンスである構成であってもよい。すなわち、修理サービス提供者の再訪問が必要であった場合、再訪問前にエラーは解消していない。修理サービス提供者の作業効率を考えると、再訪問が発生しないことが好ましい。そこで、再訪問することなくメンテナンス対象装置のエラーを解消させた場合のメンテナンスに基づいて学習を行えば、再訪問することなくメンテナンス対象装置のエラーを解消させることが可能なメンテナンスを出力するように学習を行うことができる。
【０００７】
さらに、教師データが示すメンテナンス対象装置で実行すべきメンテナンスは、メンテナンス対象装置のエラーが解消した原因となったメンテナンスである構成であってもよい。この構成によれば、エラーを解消させるために重要なメンテナンスを教師データとして学習を行うことが可能である。
【０００８】
さらに、メンテナンス対象装置のステータスを示すステータス情報と、メンテナンス対象装置を設置した環境を示す設置環境情報と、の少なくとも一つと、メンテナンス対象装置で実行すべきメンテナンスとを対応付けた教師データを取得する教師データ取得部と、メンテナンス対象装置のステータス情報と、設置環境情報と、の少なくとも１つを入力し、メンテナンス対象装置で実行すべきメンテナンスを出力する学習済モデルを、教師データに基づいて機械学習する学習部と、を備える機械学習装置が構成されても良い。この構成によれば、修理サービス提供者は、複数のメンテナンスの種類の中から実行すべきメンテナンスを特定可能な学習済モデルを生成することができる。この結果、サービス提供者が、機械学習結果を利用することにより、メンテナンス対象装置を効率的にメンテナンスできる可能性が高くなる。
【図面の簡単な説明】
【０００９】
【図１】情報処理装置および機械学習装置のブロック図。
【図２】機械学習処理のフローチャート。
【図３】機械学習を行うモデルを示す図。
【図４】メンテナンス処理のフローチャート。
【図５】メンテナンスの選択肢の表示例を示す図。
【発明を実施するための形態】
【００１０】
ここでは、下記の順序に従って本発明の実施の形態について説明する。
（１）情報処理装置および機械学習装置の構成：
（２）機械学習処理：
（３）メンテナンス処理：
（４）他の実施形態：
【００１１】
（１）情報処理装置および機械学習装置の構成：
図１は、本発明の実施形態にかかる情報処理装置１を示すブロック図である。本実施形態において、メンテナンス対象装置はプリンター２である。本実施形態において、プリンター２の利用者は、プリンター２でエラーが発生した場合にプリンター２のメンテナンスを修理サービス提供者に依頼する。修理サービス提供者は、依頼されたプリンター２のメンテナンスを行い、エラーを解消する作業を行う。
【００１２】
メンテナンスを行う際に修理サービス提供者は、情報処理装置１をプリンター２に接続する。情報処理装置１は、プリンター２のメンテナンスを行うためのプログラムを実行するコンピューターである。すなわち、修理サービス提供者がプリンター２の設置場所を訪問すると、修理サービス提供者は情報処理装置１をプリンター２に接続し、メンテナンスプログラムを実行する。メンテナンスプログラムが実行されると、情報処理装置１は、修理サービス提供者にメンテナンスの選択肢を提供し、メンテナンスが選択されると、情報処理装置１メンテナンスの作業手順を案内する。
【００１３】
この過程で情報処理装置１は、プリンター２から各種情報を取得し、プリンター２の診断処理を行う。なお、本実施形態における情報処理装置１は、機械学習装置としても機能する。情報処理装置１は、メンテナンスの支援および機械学習を行うため、プロセッサー１０と、ＨＤＤ（ハードディスクドライブ）等の記憶部２０と、機器インターフェース３０とマウス３ａとキーボード３ｂと、ディスプレイインターフェース４０とディスプレイ４とを備えている。
【００１４】
機器インターフェース３０は、既定の通信プロトコル（例えばＵＳＢ（Universal Serial Bus）規格）に従って通信を行う機器を接続可能なインターフェースである。本実施形態において、機器インターフェース３０には、プリンター２、マウス３ａ、キーボード３ｂが接続される。
【００１５】
本実施形態にかかるプリンター２は、インクジェット方式のプリンターである。すなわち、プリンター２は、印刷ヘッドが搭載された図示しないキャリッジを備えており、図示しないモーターの駆動力によって当該キャリッジを特定の方向に往復移動させることができる。また、プリンター２は、図示しないｍ等を含む印刷媒体の搬送機構を有しており、図示しないモーターの駆動力によって当該搬送機構を制御して、キャリッジの移動方向と垂直な方向に印刷媒体を搬送することができる。プリンター２は、キャリッジの移動と印刷媒体の搬送を繰り返しながら印刷ヘッドから印刷媒体にインクを吐出することで、印刷媒体上に２次元的に画像を印刷することができる。
【００１６】
さらに、プリンター２は、回路が形成された図示しない基板を備えている。本実施形態にかかるプリンター２は、メイン基板と、パネル基板とを備えている。メイン基板は、キャリッジや搬送機構、モーターなどの各部を制御するプロセッサー等の回路が搭載された基板である。従って、プリンター２においては、メイン基板に搭載されたプロセッサー等の制御信号に応じてキャリッジ等の各部が動作する。
【００１７】
パネル基板は、プリンター２が備える操作パネルに関する入出力の制御等を行うプロセッサー等の回路が搭載された基板である。従って、利用者は、操作パネルに表示された各種の画像を視認することができ、また、操作パネルを操作することによってプリンター２に対する指示を行うことが可能である。
【００１８】
プリンター２に対する給紙方法としては、種々の手法を採用可能であるが、本実施形態においてプリンター２にはトレイに蓄積された定型の大きさの印刷媒体と、軸に巻かれた状態で蓄積されたロール紙から引き出された印刷媒体とを利用可能である。すなわち、搬送機構は、トレイから印刷媒体を取り出して印刷領域に搬送することができる。また、搬送機構は、ロール紙から印刷媒体を引き出して印刷領域に搬送することができる。なお、プリンター２には、ロール紙や定型の印刷媒体の搬送方向を制御するためのペーパーガイドが備えられている。さらに、ロール紙による印刷を可能にするため、プリンター２においては、ロール紙を切断するためのペーパーカッターが備えられている。
【００１９】
本実施形態において、メイン基板に搭載されたプロセッサーは、プリンター２のステータス情報を収集し、情報処理装置１に対して出力することができる。本実施形態において、ステータス情報は、プリンター２における現在の印刷設定、プリンター２における印刷履歴、現在発生しているエラーの種類を示すエラーコード、印刷ヘッドが備えるノズルの状態を含んでいる。
【００２０】
印刷設定は、プリンター２で印刷を行う際に設定可能なパラメーターであり、例えば、印刷媒体のサイズ（定型サイズのいずれか、ロール紙から引き出された媒体等）、印刷面（片面または両面）、解像度、割り付け、使用色数等の設定値である。印刷履歴は、プリンター２が利用された程度を評価するための情報であり、例えば、現在までの印刷枚数、ｍの使用時間、インクの濃さの平均（現在までの印刷に使用されたインクの使用量の平均）が挙げられる。なお、履歴は、メイン基板が備える図示しないメモリーに記録されている。
【００２１】
エラーコードは、予め定義されたエラーの種類を示す数値であり、本実施形態においては、故障や紙詰まり等の動作不良が予め複数の事象に分類されている。メイン基板に搭載されたプロセッサーは、図示しないセンサー等を利用してどの分類の事象に該当するエラーが発生しているか否か特定し、エラーコードを特定することができる。
【００２２】
ノズルの状態は、印刷ヘッドが備える複数のインク吐出ノズルのそれぞれについての状態である。本実施形態においては、印刷ヘッドの各吐出ノズルが備えるピエゾ素子等のアクチュエーターに電圧が印加されることによって、各吐出ノズルからインクが吐出される。本実施形態においては、当該電圧として正常である場合の電圧パターンの範囲が定義されている。メイン基板に搭載されたプロセッサーは、各吐出ノズルに印加された電圧が正常であるか否かを示す情報を取得し、正常で無い場合にノズルの状態がノズル詰まり状態であるとみなす。
【００２３】
マウス３ａは、利用者に把持されて移動される操作部とボタンとを備えており、操作部の移動量を示す情報とボタンに対する操作結果を示す情報とを出力する。情報処理装置１は、機器インターフェース３０を介してマウス３ａが出力する情報を取得し、当該情報に基づいて利用者の操作を受け付けることができる。キーボード３ｂは、複数のキーを備えており、キーに対する操作を示す情報を出力する。本実施形態において、マウス３ａおよびキーボード３ｂは情報処理装置１と一体に構成されている。情報処理装置１は、機器インターフェース３０を介してキーボード３ｂが出力する情報を取得し、当該情報に基づいて利用者の操作を受け付けることができる。むろん、マウス３ａやキーボード３ｂは情報処理装置１と別体であってもよいし、入出力装置は他の装置（例えばタッチパネルディスプレイ等）であってもよい。
【００２４】
ディスプレイインターフェース４０は、ディスプレイ４が接続されるインターフェースである。情報処理装置１は、ディスプレイインターフェース４０を介してディスプレイ４に制御信号を出力し、ディスプレイ４に各種の画像を表示させることが可能である。なお、本実施形態において、情報処理装置１は、可搬型のコンピューターであるため、ディスプレイ４と情報処理装置１とは一体である。むろん、ディスプレイ４は情報処理装置１と別体であってもよいし、プリンター２が備える操作パネルがディスプレイ４の代わりに利用される構成であってもよい。
【００２５】
センサーインターフェース５０は、設置環境センサー５が接続されるインターフェースである。設置環境センサー５は、温度、湿度および気圧を検出し、これらの値を出力するセンサーである。情報処理装置１は、センサーインターフェース５０を介して設置環境センサー５に制御信号を出力し、プリンター２の設置環境情報、すなわち、温度、湿度および気圧の値を取得することができる。なお、設置環境センサー５は、プリンター２が設置されている場所の温度、湿度および気圧を測定することができればよく、プリンター２や情報処理装置１と一体的に構成されていても良い。
【００２６】
プロセッサー１０は、ＣＰＵ，ＲＡＭ等を備え、記憶部２０に記録された種々のプログラムを実行することができる。情報処理装置１は、機械学習装置としても機能するため、機械学習が行われる場合に利用されるプロセッサー（例えば、ＧＰＵや機械学習のために設計された専用プロセッサー等）を備えていても良い。
【００２７】
本実施形態においてプロセッサー１０は、学習済モデルを生成する機械学習プログラムと、学習済モデルに基づいて実行すべきメンテナンスを特定するメンテナンスプログラムとを実行可能である。これらのプログラムの一方または双方が実行されると、プロセッサー１０は、教師データ取得部１０ａ，学習部１０ｂ，制御部１０ｃとして機能する。
【００２８】
プロセッサー１０は、教師データ取得部１０ａ，学習部１０ｂの機能により教師データ２０ｄに基づいて機械学習を行うことで、学習済モデル２０ｃを生成することができる。また、プロセッサー１０は、制御部１０ｃの機能により、学習済モデル２０ｃに基づいてメンテナンス対象装置であるプリンター２で実行すべきメンテナンスの優先順位を特定することができる。なお、本実施形態において、学習済モデル２０ｃは、プリンター２の種類毎に作成され、利用される。
【００２９】
（２）機械学習処理：
次に、プロセッサー１０が実行する機械学習処理を説明する。図２は機械学習処理を示すフローチャートである。機械学習処理は、プリンター２で実行すべきメンテナンスの優先順位を特定する前に予め少なくとも１回実行される。なお、本実施形態においては、再学習による学習済モデル２０ｃの更新が行われる。再学習は、予め決められたタイミングで実施されてよく、例えば、教師データ２０ｄが増加した場合や、前回の学習から一定期間が経過した場合、利用者が指示した場合等に再学習が行われてよい。
【００３０】
機械学習処理が開始されると、プロセッサー１０は、学習部１０ｂの機能により、訓練モデルを取得する（ステップＳ１００）。ここで、モデルとは、推論対象のデータと推論結果のデータとの対応関係を導出する式を示す情報であり、ここではステータス情報および設置環境情報を、実行すべきメンテナンスに対応づけるモデルを例にして説明する。
【００３１】
入力データを出力データに変換する限りにおいて、モデルは種々の定義が可能である。本実施形態においては、ニューラルネットワークが利用される。図３は本実施形態にかかるニューラルネットワークの構造を模式的に示した図である。図３においては、ニューロンを模したノードを丸で示し、ノード間の結合を実線の直線で示している（ただし、図を簡易化するためノードおよび結合は一部のみが示されている）。また、図３においては、同一層に属するノードを縦に並べて示しており、左端の層が入力層Ｌｉ、右端の層が出力層Ｌｏである。
【００３２】
ここでは、２層の関係において入力層Ｌｉに近い層を上位層、出力層Ｌｏに近い層を下位層と呼ぶ。すなわち、ある層においては、１層上位の層の出力を入力とし、重みの乗算とバイアスの和算を行い、活性化関数を介して出力を行う構造となっている。モデルは、このような重みとバイアスによる演算が行われる層が複数層設けられることによって構成される。従って、本実施形態において、モデルは、少なくとも各層における重みとバイアスと活性化関数を示すデータによって構成される。なお、活性化関数は、種々の関数、例えば、シグモイド関数や、双曲線関数（ｔａｎｈ）、ＲｅＬＵ（Rectified Linear Unit）や他の関数を使用可能であり、非線形関数であることが好ましい。むろん、機械学習を行う際に必要な他の条件、例えば、最適化アルゴリズムの種類や学習率等のパラメーターが含まれていても良い。また、層の数やノードの数、相関の結合関係は種々の態様とすることができる。
【００３３】
本実施形態においては、プリンター２のステータスを示すステータス情報と、プリンター２が設置された環境の設置環境情報をニューラルネットワークの入力層Ｌｉへの入力データとし、出力層Ｌｏから実行すべきメンテナンスを出力する。本実施形態において、モデルに入力されるステータス情報は、メイン基板に搭載されたプロセッサーが取得するプリンター２のステータス情報である。また、モデルに入力される設置環境情報は、設置環境センサー５が検出する設置環境情報である。
【００３４】
ニューラルネットワークに入力するステータス情報および設置環境情報は、各種の情報で表現されてよい。例えば、用紙サイズであれば、予め用意された用紙サイズのいずれかを示す値等が挙げられる。むろん、用紙サイズ毎のノードが用意され、使用される用紙サイズのノードにフラグ１、他のノードにフラグ０が入力される構成等であってもよい。エラーコードやエラー履歴についても用紙サイズと同様の表現が可能である。
【００３５】
印刷面は片面または両面を示すフラグであり、ノズル状態はノズル詰まりが発生しているか否かを示すフラグである。印刷枚数は印刷枚数を示す数値である。なお、印刷枚数が既定数を超える場合には入力値を最大値にするなどの調整が行われてもよい。搬送ローラーやインクの濃さも同様の表現が可能である。
【００３６】
いずれにしても、種々の表現が行われたステータス情報および設置環境情報が、入力層Ｌｉの各ノードに入力されると、各ノードへの入力には重みの乗算とバイアスの和算が行われ、活性化関数を介して次の層の入力に変換される。このような層毎の演算が繰り返されることにより、出力層Ｌｏにおいて実行すべきメンテナンスを示す値が出力される。
【００３７】
出力層Ｌｏにおける出力は実行すべきメンテナンスを示していればよく、種々の形式を採用可能である。本実施形態においては、プリンター２が備えるユニット単位で各ユニットに１種類以上のメンテナンス（エラー解消のための作業の手順）が予め定義されている。例えば、印刷ヘッドには、調整と交換の２種類のメンテナンスが予め定義されている。キャリッジについては調整という１種類のメンテナンスが予め定義されている。図３において出力層Ｌｏのノードは、予め定義されたメンテナンスのそれぞれに対応している。出力層Ｌｏの各ノードの出力値は０〜１の間の値であり、値が大きいほどそのメンテナンスの優先順位が大きいとみなされる。なお、本実施形態においては、出力層Ｌｏのノードの出力値の和が１になるように規格化されている。
【００３８】
むろん、図３に示すモデルの一部を既知の関数で表現し、残りを未知の関数として表現し、未知の関数を学習対象としても良い。モデルがどのような態様であったとしても、ステータス情報と設置環境情報を入力すると最終的に実行すべきメンテナンスが出力されるモデルが構築されていればよい。
【００３９】
図２に示すフローチャートにおけるステップＳ１００では、訓練モデルを取得する。ここで、訓練とは、学習対象であることを示す。すなわち、訓練モデルにおいては、ステータス情報と設置環境情報から実行すべきメンテナンス（の優先順位）を出力するが、入出力の対応関係は初期において正確ではない。すなわち、訓練モデルにおいては、ノードが構成する層の数やノードの数は決められるが、入出力の関係を規定するパラメーター（上述の重みやバイアス等）は最適化されていない。これらのパラメーターは、機械学習の過程で最適化される（すなわち、訓練される）。
【００４０】
訓練モデルは、予め決定されていても良いし、利用者がマウス３ａやキーボード３ｂを操作して入力することによって取得されても良い。いずれにしても、プロセッサー１０は、図３に示す例においてステータス情報と設置環境情報から実行すべきメンテナンスを出力するニューラルネットワークのパラメーターを訓練モデルとして取得する。当該訓練モデルは記憶部２０に訓練モデル２０ｆとして記録される。むろん、再学習が行われる場合、訓練モデルは既存のモデルであって良い。
【００４１】
次に、プロセッサー１０は、教師データ取得部１０ａの機能により、教師データを取得する（ステップＳ１０５）。本実施形態において、教師データ２０ｄは、ステータス情報および設置環境情報と、実行すべきメンテナンスとを対応づけたデータである。本実施形態においては、プリンター２と同機種の機体をサンプルとし、エラーが生じた場合のステータス情報がメイン基板に搭載されたプロセッサーによって取得され、当該サンプルが設置された環境の設置環境情報が取得される。
【００４２】
また、当該エラーを解消するためにプリンター２でメンテナンスが行われ、その際にエラーが解消した原因となったメンテナンスが特定される。すなわち、プリンター２で発生したエラーが解消していない状態で、あるメンテナンスが行われ、その後エラーが解消した場合、当該メンテナンスは、エラーが解消した原因となったメンテナンスとして取得される。この構成によれば、あるステータスや設置環境において発生したエラーを解消するために、最も効果的なメンテナンスを取得することが可能である。
【００４３】
以上のようにしてステータス情報および設置環境情報が取得され、エラーが解消した原因となったメンテナンスが取得されると、これらが対応づけられて教師データ２０ｄとして定義される。記憶部２０には、予め作成された教師データ２０ｄが記録されており、プロセッサー１０は、ステップＳ１０５において、当該教師データ２０ｄを取得する。なお、本実施形態においては、情報処理装置１においてプリンター２のメンテナンスが行われると、その結果を反映した教師データ２０ｄが情報処理装置１に追加され得る（詳細は後述）。
【００４４】
次に、プロセッサー１０は、学習部１０ｂの機能により、テストデータを取得する（ステップＳ１１０）。テストデータは学習結果が汎化しているか否か確認するためのデータであり、学習には利用されない。テストデータは、教師データ２０ｄと別個に用意されても良いが、本実施形態においてはステップＳ１０５で取得された教師データ２０ｄの一部をテストデータとして確保する。
【００４５】
次に、プロセッサー１０は、学習部１０ｂの機能により、初期値を決定する（ステップＳ１１５）。すなわち、プロセッサー１０は、ステップＳ１００で取得した訓練モデルのうち、可変のパラメーターに対して初期値を与える。初期値は、種々の手法で決定されて良い。例えば、ランダム値や０等を初期値とすることができ、重みとバイアスとで異なる思想で初期値が決定されても良い。むろん、学習の過程でパラメーターが最適化されるように初期値が調整されても良い。また、再学習が行われる場合、初期値は既存の学習済モデル２０ｃの値であって良い。
【００４６】
次に、プロセッサー１０は、学習部１０ｂの機能により、学習を行う（ステップＳ１２０）。すなわち、プロセッサー１０は、ステップＳ１００で取得した訓練モデルにステップＳ１０５で取得した教師データ２０ｄを入力し、メンテナンスを示す出力を計算する。また、プロセッサー１０は、出力されたメンテナンスと教師データ２０ｄが示すメンテナンスとの誤差を示す損失関数によって誤差を特定する。そして、プロセッサー１０は、損失関数のパラメーターによる微分に基づいてパラメーターを更新する処理を既定回数繰り返す。むろん、損失関数は、種々の関数を採用可能であり、例えば、交差エントロピー誤差などを採用可能である。
【００４７】
損失関数を算出する処理は、教師データ２０ｄの全てまたは一部について実施され、その平均や総和によって１回の学習における損失関数が表現される。損失関数が得られたら、プロセッサー１０は、既定の最適化アルゴリズム、例えば、確率的勾配降下法等によってパラメーターを更新する。
【００４８】
以上のようにして、既定回数のパラメーターの更新が行われると、プロセッサー１０は、訓練モデルの汎化が完了したか否かを判定する（ステップＳ１２５）。すなわち、プロセッサー１０は、ステップＳ１１０で取得したテストデータ２０ｅを訓練モデルに入力してメンテナンスを示す出力を取得する。そして、プロセッサー１０は、出力されたメンテナンス（最大値に対応するメンテナンス）と、テストデータに対応づけられたメンテナンスとが一致している数を取得し、テストデータ２０ｅが示すサンプル数で除することで推論精度を取得する。本実施形態において、プロセッサー１０は、推論精度が閾値以上である場合に汎化が完了したと判定する。
【００４９】
なお、汎化性能の評価に加え、ハイパーパラメーターの妥当性の検証が行われてもよい。すなわち、重みとバイアス以外の可変量であるハイパーパラメーター、例えば、ノードの数等がチューニングされる構成において、プロセッサー１０は、検証データに基づいてハイパーパラメーターの妥当性を検証しても良い。検証データは、ステップＳ１１０と同様に、予め用意されても良いし、教師データ２０ｄの一部から抽出されても良い。むろん、検証データも訓練には使用されない。
【００５０】
ステップＳ１２５において、訓練モデルの汎化が完了したと判定されない場合、プロセッサー１０は、ステップＳ１２０を繰り返す。すなわち、さらに重みおよびバイアスを更新する。一方、ステップＳ１２５において、訓練モデルの汎化が完了したと判定された場合、プロセッサー１０は、学習済モデルを記録する（ステップＳ１３０）。すなわち、プロセッサー１０は、訓練モデルを学習済モデル２０ｃとして記憶部２０に記録する。
【００５１】
以上の構成によれば、プリンター２のステータスや設置環境に基づいて、当該ステータスや設置環境である場合に発生したエラーを解消するために実行すべきメンテナンスを出力する学習済モデル２０ｃを生成することができる。従って、修理サービス提供者は、自己の判断によって実行すべきメンテナンスを特定する必要がなく、修理サービス提供者の経験や知識が浅い場合であっても、適切なメンテナンスを特定できる可能性が高い。このため、プリンター２を効率的にメンテナンスできる可能性が高くなる。
【００５２】
（３）メンテナンス処理：
次に、プロセッサー１０が実行するメンテナンス処理を説明する。修理サービス提供者は、プリンター２の利用者からメンテナンスの依頼を受け付け、プリンター２の設置場所を訪問する。修理サービス提供者は、情報処理装置１および設置環境センサー５を持ち運んでプリンター２の設置場所を訪問する。修理サービス提供者は、情報処理装置１にプリンター２および設置環境センサー５を接続し、メンテナンスプログラムを起動することによってメンテナンス処理を開始する。メンテナンス処理が開始されると、プリンター２は情報処理装置１からの指示によって応答処理を開始する。
【００５３】
図４は、メンテナンス処理および応答処理を示すフローチャートである。メンテナンス処理が開始されると、制御部１０ｃは、ステータス情報を取得する（ステップＳ２００）。すなわち、制御部１０ｃは、機器インターフェース３０を介してプリンター２にステータス情報の出力指示を行う。
【００５４】
当該出力指示が行われると、プリンター２は、ステータス情報を送信する（ステップＳ３００）。すなわち、プリンター２のメイン基板に搭載されたプロセッサーは、ステータス情報の出力指示を取得する。プロセッサーは、当該出力指示に応じてプリンター２の各部と通信を行い、また、図示しないメモリーを参照するなどしてステータス情報を取得する。そして、プリンター２は、ステータス情報を情報処理装置１に返信する。
【００５５】
制御部１０ｃは、当該ステータス情報を取得する。この結果、制御部１０ｃは、プリンター２における現在の印刷設定、プリンター２における印刷履歴、現在発生しているエラーの種類を示すエラーコード、印刷ヘッドが備えるノズルの状態を示す値を取得する。なお、制御部１０ｃは、この際に、プリンター２の機種を示す情報を取得する。
【００５６】
次に、制御部１０ｃは、設置環境情報を取得する（ステップＳ２０５）。すなわち、制御部１０ｃは、センサーインターフェース５０を介して設置環境センサー５に対して設置環境情報の出力指示を行う。当該出力指示が行われると、設置環境センサー５は、温度、湿度、気圧を検出し、当該温度、湿度、気圧の値を出力する。制御部１０ｃは、これらの値を設置環境情報として取得する。
【００５７】
次に、制御部１０ｃは、ステップＳ２００で取得されたステータス情報と、ステップＳ２０５で取得された設置環境情報と、をＲＡＭに記録する（ステップＳ２０７）。次に、制御部１０ｃは、ステータス情報および設置環境情報を学習済モデルに入力する（ステップＳ２１０）。すなわち、制御部１０ｃは、ステップＳ２００で取得されたプリンター２の機種に対応する学習済モデル２０ｃを記憶部２０から取得する。そして、制御部１０ｃは、ステータス情報および設置環境情報を当該学習済モデル２０ｃに対する入力データとし、学習済モデル２０ｃによる出力結果を取得する。この結果、複数のメンテナンスのそれぞれに対応する各ノードにおける出力値が得られる。
【００５８】
次に、制御部１０ｃはメンテナンスの優先順位を取得する（ステップＳ２１５）。すなわち、学習済モデル２０ｃの出力層の各ノードから出力される出力値の大きさは、各ノードに対応したメンテナンスが実行すべきメンテナンスである可能性の大きさを示している。従って、制御部１０ｃは、出力値が大きいメンテナンスであるほど優先順位が高いとみなす。
【００５９】
なお、本実施形態において制御部１０ｃは、大きい順に出力値をソートし、最も大きい出力値の優先順位が最も高いとみなすが、当該出力値との差分が閾値以下である出力値が存在する場合、両者の優先順位が同一であるとみなす。優先順位決定済の出力値以外に、最も大きい出力値との差分が閾値以下の出力値が存在しない場合、制御部１０ｃは、残りの出力値について同様の処理を繰り返すことによって、出力値の全てについて優先順位を決定する。なお、閾値は予め決められていればよく、繰り返しの過程で閾値の大きさが変化（例えば、徐々に小さくなる）してもよい。
【００６０】
出力値が過度に小さくなると、その値の大きさが、実行すべきメンテナンスである可能性の大きさを示すと見なせない場合がある。そこで、本実施形態においては、出力値が既定の値以下である場合、そのノードに対応するメンテナンスに優先順位を付与しないように構成されている。
【００６１】
次に、制御部１０ｃはメンテナンスを優先順位に従って表示する（ステップＳ２２０）。すなわち、制御部１０ｃは、ディスプレイインターフェース４０を介してディスプレイ４を制御し、メンテナンスの選択を受け付ける画面を表示させる。当該画面には、選択肢となるメンテナンスが選択可能に表示され、さらに、各メンテナンスは、優先順位に従って並べて表示される。
【００６２】
図５は、メンテナンスの選択を受け付ける画面の例を示した図である。図５においては、選択したメンテナンスの決定を指示するＯＫボタンと、メンテナンスの終了を指示する終了ボタンが表示されている。さらに、各ボタンの下方に、選択肢としてのメンテナンスが表示される。
【００６３】
すなわち、図５に示す印刷ヘッド調整、印刷ヘッド交換等の文字列は個別のメンテナンスを示している。例えば、印刷ヘッド調整であれば、印刷ヘッド調整のメンテナンスを行うために必要な一連の作業を示している。各メンテナンスの左側には、チェックボックスが付されており、修理サービス提供者は、マウス３ａ等の操作によってチェックボックスをチェックすることでメンテナンスを選択することができる。また、チェックボックスの左側には、メンテナンスの優先順位が示されている。すなわち、図５に示す例において、印刷ヘッド調整とキャリッジ調整とは同じ優先順位である。
【００６４】
次に、制御部１０ｃは、選択を受け付けたか否か判定する（ステップＳ２２５）。すなわち、制御部１０ｃは、チェックボックスにチェックが入れられた状態でＯＫボタンが操作された場合に、チェックが入れられたメンテナンスの選択を受け付けたと判定する。ステップＳ２２５において、選択を受け付けたと判定されない場合、制御部１０ｃは、メンテナンスが終了したか否かを判定する（ステップＳ２４０）。すなわち、制御部１０ｃは、終了ボタンが操作された場合に、メンテナンスが終了したと判定する。
【００６５】
ステップＳ２４０において、メンテナンスが終了したと判定された場合、制御部１０ｃは、メンテナンス処理を終了する。当該メンテナンスの終了は、エラーが解消されることなくメンテナンス処理が中断されたことを意味し、この場合にはエラーは解消していない。このようにエラーが解消されなかった場合、修理サービス提供者は、通常、一旦サービス拠点等に引き返し、事例の収集や交換部品の入手等を行った後に再訪問することになる。
【００６６】
一方、ステップＳ２４０において、メンテナンスが終了したと判定されない場合、制御部１０ｃは、ステップＳ２２５以降の処理を繰り返す。そして、ステップＳ２２５において、選択を受け付けたと判定された場合、制御部１０ｃは、受け付けたメンテナンスのガイドを表示する（ステップＳ２３０）。すなわち、本実施形態においてメンテナンスは、エラーを解消するための一連の作業であり、各メンテナンスに対応するガイドが予め策定されている。ガイドは、種々の態様で定義されてよく、本実施形態においては、一連の作業を時系列の複数の作業に分解し、分解後の各作業を視覚的にわかりやすく示した画像と、各作業の内容を示す文字列とが、ガイドになる。制御部１０ｃは、時系列で各画像および文字列を表示することでガイドをする。
【００６７】
具体的には、制御部１０ｃは、ディスプレイインターフェース４０を介してディスプレイ４を制御し、最初の作業を示す画像および文字列をディスプレイ４に表示させる。この際、次の作業への遷移を示すボタンも表示され、修理サービス提供者が当該ボタンを操作すると次の作業の画面および文字列に遷移する。修理サービス提供者は、このようなガイドに従いながらプリンター２に対して必要な作業を行い、一連の作業を最初から最後まで実施していく。
【００６８】
また、各作業の過程で情報処理装置１は、各作業に応じた調整を行わせるためのコマンドをプリンター２に対して出力する。プリンター２は、当該コマンドに基づいて、各部の調整を実施し、調整の結果を返信する（ステップＳ３１０）。情報処理装置１は、返信内容に基づいて調整の結果を取得する。調整は、プリンター２の各部において生じている典型的なエラーを解消するために予め決められた調整である。例えば、印刷ヘッドの調整であれば、インクを吐出するノズルのクリーニングやワイピング、フラッシング等が挙げられる。これらの調整のための動作は決められており、プリンター２は、調整後に正常稼働可能な状態になったか否かを検出することができ、正常、異常のいずれであるのかを調整結果として返信する。
【００６９】
情報処理装置１は、調整結果が正常である場合、修理サービス提供者のボタン操作に応じて一連の作業を進めるが、調整結果が異常である場合、一連の作業を中断する。むろん、異常である場合、既定回数の調整を繰り返し、その結果正常になれば次の作業に遷移してよい。
【００７０】
一連の作業が中断された場合、または、一連の作業が最後まで行われた場合、制御部１０ｃは、エラーが解消したか否かを判定する（ステップＳ２３５）。すなわち、一連の作業が中断された場合、制御部１０ｃは、エラーが解消していないと判定する。一連の作業が最後まで行われ、各調整の結果が異常ではない場合、エラーが解消したと判定される。なお、エラー解消の判定は、種々の手法で行われてよく、プリンター２によって判定されてもよいし、修理サービス提供者によって判定されてもよい。例えば、プリンター２において診断処理が実行され、診断処理の結果、正常であることが確認された場合にエラーが解消したとみなされてもよい。また、修理サービス提供者が目視や規定項目のチェックを行うことによってエラーが解消したとみなされてもよい。
【００７１】
ステップＳ２３５において、エラーが解消したと判定されなかった場合、制御部１０ｃは、ステップＳ２２０以降の処理を実行する。この場合、実行済のメンテナンスは表示されなくてもよいし、実行済であることを示す表示が行われてもよい。一方、ステップＳ２３５において、エラーが解消したと判定された場合、これまでの作業が再訪問された際の作業であったか否かを判定する（ステップＳ２４５）。再訪問された際の作業であったか否かは、種々の手法で実施されてよい。例えば、情報処理装置１においてメンテナンスが行われたがエラーが解消しなかったプリンター２の識別番号や前回の訪問日時等を記録しておき、メンテナンス対象のプリンター２が、メンテナンスが行われたがエラーが解消しなかったプリンター２に該当する場合に再訪問したと判定される構成を採用可能である。むろん、修理サービス提供者が再訪問したか否かを情報処理装置１に入力する構成等であってもよい。
【００７２】
ステップＳ２４５において、これまでの作業が再訪問された際の作業であったと判定されなかった場合、制御部１０ｃは、ステップＳ２０７でＲＡＭに記録されたステータス情報および設置環境情報と、最後に実行されたメンテナンスと、を対応づけて教師データ２０ｄに追加する（ステップＳ２５０）。すなわち、修理サービス提供者が再訪問することなくプリンター２のエラーを解消させた場合に実行されたメンテナンスは、再訪問を要することなくエラーを解消できる可能性が高いメンテナンスである。そこで、本実施形態においては、修理サービス提供者が再訪問することなくエラーを解消させることができる可能性が高いメンテナンスを学習元の教師データ２０ｄに追加する。このような追加によって更新された教師データ２０ｄに基づいて再学習が行われることにより、本実施形態においては、より効率的なメンテナンスを出力する学習済モデル２０ｃを生成することができる。
【００７３】
（４）他の実施形態：
以上の実施形態は本発明を実施するための一例であり、他にも種々の実施形態を採用可能である。また、以上の実施形態のようにメンテナンス対象装置の状態または設置環境に基づいてメンテナンスの優先順位を決定する手法は、プログラムの発明、方法の発明としても実現可能である。
【００７４】
さらに、情報処理装置を構成する装置の数は任意の数であって良い。例えば、情報処理装置１とプリンター２とが一体化された装置によって実現されても良い。また、情報処理装置１とディスプレイ４とが一体化されたタブレット端末によって情報処理装置１が構成されても良い。
【００７５】
さらに、情報処理装置１の機能が複数の装置によって実現される構成が採用されてもよい。例えば、サーバーとクライアントとが接続可能に構成され、サーバーとクライアントの一方で機械学習処理が実行され、他方でメンテナンス処理が実行されるように構成されていても良い。
【００７６】
学習済モデルが機械学習処理を行う装置に存在し、メンテナンス処理を行う装置に存在しない場合、メンテナンス処理を行う装置は機械学習処理を行う装置にメンテナンスの優先順位を問い合わせる構成であってもよい。この場合、学習済モデル２０ｃに基づく推論も機械学習処理を行う装置で実行される。むろん、機械学習装置が複数の装置に分散して存在する構成や、情報処理装置が複数の装置に分散して存在する構成等であっても良い。さらに、上述の実施形態は一例であり、一部の構成が省略されたり、他の構成が追加されたりする実施形態が採用され得る。さらに、学習済モデルは、特定のメンテナンス対象装置用に生成されても良いし、複数のメンテナンス対象装置から収集されたステータス情報および設置環境情報、実行すべきメンテナンスに基づいて複数の利用者が利用するモデルとして生成されても良い。
【００７７】
記憶部は、メンテナンス対象装置のステータスを示すステータス情報と、メンテナンス対象装置を設置した環境を示す設置環境情報と、の少なくとも１つと、メンテナンス対象装置で実行すべきメンテナンスとを対応付けた教師データを用いて機械学習した学習済モデルを記憶することができればよい。すなわち、記憶部は、メンテナンス対象装置で実行すべきメンテナンスを変動させ得る要素であるステータスと設置環境とを入力し、実行すべきメンテナンスを出力する学習済モデルを記憶していればよい。
【００７８】
メンテナンス対象装置は、プリンターに限定されず、種々の装置であってよい。従って、スキャナーや複合機、プロジェクター等の情報機器であってもよいし、コンピューターやコンピューターの周辺機器であってもよいし、ロボットや紙のリサイクル装置であってもよく、種々の装置がメンテナンス対象装置になり得る。
【００７９】
ステータス情報は、メンテナンス対象装置の稼働状況によって変動し得るメンテナンス対象装置の状態を示しており、メンテナンスの内容を決定し得る要素であれば良い。このため、上述の実施形態におけるステータス情報に限定されず、上述の実施形態におけるステータス情報の一部が省略されてもよいし、他の情報が追加されてもよい。例えば、使用開始からの経過時間や、連続稼働時間、稼働頻度等がステータス情報に含まれていてもよい。むろん、ステータス情報は、メンテナンス対象装置の種類等に応じて異なってよい。
【００８０】
また、ステータス情報のフォーマットも上述の実施形態の構成に限定されない。例えば、現在までに使用したインクの濃さは、上述の実施形態のように、印刷された画像の濃さ（インク使用量）の平均であってもよいし、インク使用量の累積等であってもよく、種々の態様が採用可能である。さらに、ステータス情報を収集する期間も限定されず、現在のステータスがステータス情報として収集されてもよいし、過去のステータスがステータス情報として収集されてもよいし、これらの双方であってもよい。
【００８１】
設置環境情報は、メンテナンス対象装置自体の情報ではなく、当該メンテナンス対象装置が置かれた環境を示しており、メンテナンスの内容を決定し得る要素であれば良い。このため、上述の実施形態における設置環境情報に限定されず、上述の実施形態における設置環境情報の一部が省略されてもよいし、他の情報が追加されてもよい。例えば、設置位置における光量、風量、屋外・屋内の区別、周囲の化学物質の量等が設置環境情報に含まれていてもよい。むろん、設置環境情報は、メンテナンス対象装置の種類等に応じて異なってよい。
【００８２】
また、設置環境情報のフォーマットも上述の実施形態の構成に限定されない。例えば、温度や湿度、気圧は、上述の実施形態のように現在地であってもよいし、使用開始から現在までの平均であってもよいし、過去における変化を示す値等であってもよく、種々の態様が採用可能である。さらに、設置環境情報を収集すべき期間も限定されず、過去の設置環境が収集されてもよいし、現在と過去の設置環境が収集されてもよい。
【００８３】
むろん、教師データにおいて学習済モデルへの入力となり得る要素には、ステータス情報、設置環境情報以外の情報が含まれていてもよい。例えば、メンテナンス対象装置の利用者（個人利用、法人利用等）や、契約形態（大量印刷者向け契約、モノクロ印刷専用契約、カラー印刷可能契約、固定額契約、従量契約等）などを示す情報が学習済モデルへの入力となってもよい。
【００８４】
メンテナンス対象装置で実行すべきメンテナンスは、ある設置環境に設置され、あるステータスになっているメンテナンス対象装置にメンテナンスが必要である場合における当該メンテナンスであればよい。従って、実行すべきメンテナンスは一つであってもよいし、複数であってもよい。
【００８５】
また、実行すべきメンテナンスは、メンテナンス対象装置を稼働させるために必須のメンテナンスであってもよいし、必須ではないが推奨されるメンテナンスであってもよい。前者は、例えば、上述の実施形態のように、エラー（故障を含む）によってプリンターの動作が停止している状態で、当該エラーを解消するためのメンテナンスである。後者としては、例えば、プリンターが停止していないが、連続稼働時間やエラー発生までの期間を延ばすためのメンテナンスや、印刷品質を向上させるためのメンテナンス等が挙げられる。
【００８６】
学習済モデルは、教師データが示す入力情報（ステータス情報と設置環境情報との少なくとも１つ）と、出力情報（メンテナンス対象装置で実行すべきメンテナンス）との関係を再現するようにして、実行すべきメンテナンスを出力するモデルであれば良い。従って、ステータス情報と設置環境情報との少なくとも１つに基づいて実行すべきメンテナンスを出力可能であれば、モデルの構造は任意である。すなわち、このような入出力関係を再現するようなモデルを学習することができれば、機械学習の態様やモデルの態様は任意である。
【００８７】
例えば、ニューラルネットワークによる機械学習が行われる場合、モデルを構成する層の数やノードの数、活性化関数の種類、損失関数の種類、勾配降下法の種類、勾配降下法の最適化アルゴリズムの種類、ミニバッチ学習の有無やバッチの数、学習率、初期値、過学習抑制手法の種類や有無、畳み込み層の有無、畳み込み演算におけるフィルターのサイズ、フィルターの種類、パディングやストライドの種類、プーリング層の種類や有無、全結合層の有無、再帰的な構造の有無など、種々の要素を適宜選択して機械学習が行われればよい。むろん、他の機械学習、例えば、サポートベクターマシンやクラスタリング、強化学習等によって学習が行われてもよい。
【００８８】
さらに、モデルの構造（例えば、層の数や層毎のノードの数等）が自動的に最適化される機械学習が行われてもよい。さらに、学習は複数段階に分割されて実行されてもよい。例えば、ステータス情報と設置環境情報との少なくとも一方からメンテナンスが必要とされる部位を出力する機械学習と、メンテナンスが必要とされる部位から実行すべきメンテナンスを出力する機械学習とを実行する構成が採用されてもよい。さらに、サーバーにおいて機械学習が行われる構成において、複数のメンテナンス対象装置のステータス情報や設置環境情報が収集されて教師データとされ、この教師データに基づいて機械学習が行われる構成であっても良い。
【００８９】
制御部は、メンテナンス対象装置のステータス情報と、設置環境情報と、の少なくとも１つと学習済モデルを用いて、メンテナンス対象装置で実行すべきメンテナンスを取得し、メンテナンスの優先順位を表示することができればよい。すなわち、制御部は、学習済モデルに基づいて、ステータス情報、設置環境情報の少なくとも一方に対応するメンテナンスを出力し、出力結果に基づいて優先順位を決定して表示することができればよい。
【００９０】
メンテナンス対象装置のエラーが解消した原因となったメンテナンスは、当該メンテナンスを実行することによって、稼働不能状態のメンテナンス対象装置が稼働可能状態になった場合の、当該メンテナンスである。このようなメンテナンスは、１種類以上のメンテナンスであってもよい。
【００９１】
なお、メンテナンス対象装置のメンテナンスは、修理サービス提供者ではなくプリンター２の利用者によるセルフメンテナンスとして実行されてもよい。この場合、利用者がプリンター２のメンテナンスを実行させるアプリケーションソフト等のプログラムを起動して、ナビゲーションの操作に基づいてメンテナンスが実行される。
【００９２】
さらに本発明は、コンピューターが実行するプログラムや、方法としても適用可能である。また、以上のようなプログラム、方法は、単独の装置として実現される場合もあれば、複数の装置が備える部品を利用して実現される場合もあり、各種の態様を含むものである。また、一部がソフトウェアであり一部がハードウェアであったりするなど、適宜、変更可能である。さらに、プログラムの記録媒体としても発明は成立する。むろん、そのプログラムの記録媒体は、磁気記録媒体であってもよいし半導体メモリー等であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。
【符号の説明】
【００９３】
１…情報処理装置、２…プリンター、３ａ…マウス、３ｂ…キーボード、４…ディスプレイ、５…設置環境センサー、１０…プロセッサー、１０ａ…教師データ取得部、１０ｂ…学習部、１０ｃ…制御部、２０…記憶部、２０ｃ…学習済モデル、２０ｄ…教師データ、２０ｅ…テストデータ、２０ｆ…訓練モデル、３０…機器インターフェース、４０…ディスプレイインターフェース、５０…センサーインターフェース
【図１】
2020170379.tif 000003
【図２】
2020170379.tif 000004
【図３】
2020170379.tif 000005
【図４】
2020170379.tif 000006
【図５】
2020170379.tif 000007