以下、図面を参照して本発明の実施形態を説明する。なお、図中、同一又は相当部分については同一の参照符号を付して説明を繰り返さない。
まず、図1を参照して、本実施形態に係る画像形成装置100について説明する。図1は、画像形成装置100の一例を示す図である。画像形成装置100は、シートSに画像を形成する。画像形成装置100は、例えば、プリンター、コピー機又は複合機である。画像形成装置100は、ファクシミリ機能を有してもよい。本実施形態では、画像形成装置100は電子写真方式である。
画像形成装置100は、画像形成部110と、取得部120と、通信部130と、装置制御部140と、入出力部150とを備える。画像形成部110、取得部120、通信部130及び装置制御部140は、画像形成装置100の筐体内に設置される。
画像形成部110は、シートSに画像を形成する。例えば、シートSは、普通紙、再生紙、薄紙、厚紙、コート紙又はOHP(Overhead Projector)シートである。
取得部120は、画像形成装置100の動作状況を示すログを取得する。具体的には、取得部120は、画像形成装置100の制御プログラムの実行中における動作状況を示すソフトウェアログを取得する。ここで、「ソフトウェアログ」とは、制御プログラムに基づいて制御された画像形成装置100の振る舞いを、日時とともに時系列に記録した一連の記録である。例えば、ソフトウェアログは、画像形成装置100の状態、各機能の制御結果、エラー若しくは障害の状態、又は他の電子機器との通信状況を示す。取得部120は、第1取得部122と、第2取得部124とを含む。
第1取得部122は、画像形成装置100の動作状況を示す第1ログを取得する。ここで、「第1ログ」は、自然言語処理の学習モデルと同様の手法で、第1確率分布を学習するために使用されるソフトウェアログである。本実施形態では、第1ログは、例えば、3000~4000程度のログ記録を含む。第1確率分布は、第1ログに含まれる各ログ記録の出現確率を示す。
第2取得部124は、画像形成装置100の動作状況を示す第2ログを取得する。ここで、「第2ログ」は、学習済みの学習モデルに入力されて、第2確率分布を推論するために使用されるソフトウェアログである。本実施形態では、第2ログは、例えば、1000~1500程度のログ記録を含む。第2確率分布は、第2ログに含まれる各ログ記録の出現確率を示す。なお、第1ログと第2ログとは、同形式であるが、内容の異なる情報である。
通信部130は、同じ通信方式(プロトコル)を利用する通信機が搭載された電子機器との間で通信が可能である。具体的には、通信部130は、LAN(Local Area Network)のようなネットワークを介して、他の電子機器と通信する。通信部130は、例えば、LANボードのような通信モジュール(通信機器)である。
装置制御部140は、制御プログラムを実行することによって、画像形成装置100の各構成部分の動作を制御する。更に、装置制御部140は、ニューラルネットワークを含む学習モデルを用いて、画像形成装置100の不具合の可能性の有無を推定する。具体的には、装置制御部140は、再帰型ニューラルネットワーク(Recurrent Neural Network:以下、「RNN」と称する場合がある)に、ソフトウェアログを示す一連の記号を入力し、自然言語処理のための学習モデルと同様の手法を用いて、不具合の可能性の有無を推定する。例えば、RNNにおいて、特異なログ記録が検出された場合に、不具合の可能性があると推定する。RNNは、入力層と、隠れ層と、出力層とを有する。なお、隠れ層は、1層であってもよく、2層以上であってもよい。
入出力部150は、各種の情報をユーザーに報知する。具体的には、入出力部150は、装置制御部140で不具合の可能性があると判定された場合に、その旨を示す情報を報知する。更に、入出力部150は、ユーザーから指示を受け付ける。入出力部150は、表示部152と、受付部154と、音声出力部156とを有する。
表示部152は、各種の情報を画面に表示する。具体的には、表示部152は、装置制御部140で不具合の可能性があると判定された場合に、不具合の可能性がある旨を示す内容を画面に表示する。
表示部152は、ディスプレー及びタッチセンサーを含む。表示部152は、例えば、液晶ディスプレーを含むタッチパネルである。なお、ディスプレーは、液晶ディスプレーに限らず、有機ELディスプレー(Organic Electro Luminescence Display)でもよい。
タッチセンサーは、被検知体によるタッチを検知する。タッチセンサーは、被検知体によるタッチを検知した位置を示す検知信号を出力する。被検知体は、例えば、ユーザーの手指である。タッチセンサーは、例えば、抵抗膜方式のタッチセンサーである。
受付部154は、例えば、テンキー、スタートキー、及びキャンセルキーを含む。
音声出力部156は、各種の情報を音声で報知する。具体的には、音声出力部156は、装置制御部140で不具合の可能性があると判定された場合に、不具合の可能性がある旨を音声で報知する。
画像形成部110は、給送部112と、搬送部114と、作像部116とを含む。給送部112は、シートSを収容する。また、給送部112は、必要に応じてシートSを1枚ずつ給送する。
給送部112は、カセット112aと、給送ローラー112bとを備える。カセット112aは、複数枚のシートSを収容する。給送ローラー112bは、カセット112aに収容されたシートSを給送する。給送ローラー112bは、カセット112aに収容された複数枚のシートSのうち最上面に位置するシートSを1枚ずつ給送する。ここでは、給送部112は、複数のカセット112aを備え、複数のカセット112aごとに給送ローラー112bが設置されている。
搬送部114は、給送部112によって給送されたシートSを作像部116に搬送する。詳細には、搬送部114は、給送部112によって給送されたシートSを1枚ずつ作像部116に搬送する。作像部116がシートSに画像を形成した後、搬送部114は、作像部116からシートSを搬送し、シートSを画像形成装置100の外部に排出する。
搬送部114は、搬送ローラー114aを複数含む。搬送ローラー114aは、シートSを搬送する。搬送部114において、複数の搬送ローラー114aによってシートSの搬送路が形成される。
搬送ローラー114aは、回転ローラーを含む。回転ローラーは、回転軸を中心に回転する。典型的には、搬送ローラー114aは、一対の回転ローラーを含む。一対の回転ローラーは、互いに対向して回転軸を中心に回転する。一例では、一対の回転ローラーのうちの一方の回転ローラーはモーターの動力にしたがって回転し、他方の回転ローラーは従動して回転する。シートSは、回転する一対の回転ローラーの間に進入し、回転ローラーによって付勢されて回転ローラーから押し出される。
搬送ローラー114aは、レジストローラー114rを含む。レジストローラー114rは、作像部116にシートSを搬送するタイミングを調整する。レジストローラー114rは、シートSの搬送を一旦停止し、作像部116の所定のタイミングに合わせて作像部116にシートSを搬送する。
トナーコンテナCa~Cdは画像形成装置100に装着される。トナーコンテナCa~Cdの各々は画像形成装置100に対して着脱自在である。トナーコンテナCa~Cdのそれぞれには異なる色のトナーが収容される。トナーコンテナCa~Cdのトナーは画像形成部110に供給される。画像形成部110は、トナーコンテナCa~Cdから供給されたトナーを用いて画像を形成する。
例えば、トナーコンテナCaは、イエロー色のトナーを収容し、作像部116にイエロー色のトナーを供給する。トナーコンテナCbは、マゼンタ色のトナーを収容し、作像部116にマゼンタ色のトナーを供給する。トナーコンテナCcは、シアン色のトナーを収容し、作像部116にシアン色のトナーを供給する。トナーコンテナCdは、ブラック色のトナーを収容し、作像部116にブラック色のトナーを供給する。
作像部116は、トナーコンテナCa~Cdに収容されたトナーを用いて、画像データに基づく画像をシートSに形成する。ここでは、作像部116は、露光部116a、感光体ドラム116b、帯電部116c、現像部116d、1次転写ローラー116e、クリーニング部116f、中間転写ベルト116g、2次転写ローラー116h、及び、定着部116iを含む。
中間転写ベルト116gは、モーターの動力にしたがって回転する回転ローラーによって回転する。現像部116dには、モーターが取り付けられている。現像部116d内のトナーは、モーターの回転に伴って攪拌される。
感光体ドラム116b、帯電部116c、現像部116d、1次転写ローラー116e及びクリーニング部116fは、トナーコンテナCa~Cdのそれぞれに対応して設けられる。複数の感光体ドラム116bは、中間転写ベルト116gの外表面に当接し、中間転写ベルト116gの回転方向に沿って配置される。複数の1次転写ローラー116eは、複数の感光体ドラム116bに対応して設けられる。複数の1次転写ローラー116eは、中間転写ベルト116gを介して、複数の感光体ドラム116bに対向する。
帯電部116cは、感光体ドラム116bの周面を帯電する。露光部116aは、画像データに基づく光を感光体ドラム116bの各々に照射し、感光体ドラム116bの周面には静電潜像が形成される。現像部116dは、静電潜像にトナーを付着させて静電潜像を現像し、感光体ドラム116bの周面にトナー像を形成する。したがって、感光体ドラム116bはトナー像を担持する。1次転写ローラー116eは、感光体ドラム116bに形成されたトナー像を中間転写ベルト116gの外表面に転写する。クリーニング部116fは、感光体ドラム116bの周面に残留しているトナーを除去する。
トナーコンテナCaに対応する感光体ドラム116bは、静電潜像に基づきイエロー色のトナー像を形成し、トナーコンテナCbに対応する感光体ドラム116bは、静電潜像に基づきマゼンタ色のトナー像を形成する。トナーコンテナCcに対応する感光体ドラム116bは、静電潜像に基づきシアン色のトナー像を形成し、トナーコンテナCdに対応する感光体ドラム116bは、静電潜像に基づきブラック色のトナー像を形成する。
中間転写ベルト116gの外表面には、感光体ドラム116bから複数色のトナー像が重畳して転写され、画像が形成される。このため、中間転写ベルト116gは、画像を担持する。2次転写ローラー116hは、中間転写ベルト116gの外表面に形成された画像をシートSに転写する。
定着部116iは、トナー像が転写されたシートSを加熱及び加圧することによって、トナー像をシートSに定着させる。定着部116iは、加熱ローラー116j及び加圧ローラー116kを備える。加熱ローラー116j及び加圧ローラー116kは互いに対向して配置され、定着ニップを形成する。中間転写ベルト116gと2次転写ローラー116hとの間を通過したシートSは、定着ニップを通過することにより所定の定着温度で加熱されながら、加圧される。この結果、トナー像がシートSに定着する。搬送部114は、トナー像の定着されたシートSを画像形成装置100の外部に排出する。
次に、図1及び図2を参照して、装置制御部140の構成について説明する。図2は、画像形成装置100の構成の一例を示すブロック図である。
図2に示されるように、装置制御部140は、処理部142と、記憶部144とを備える。処理部142は、例えば、プロセッサーである。プロセッサーは、例えばCPU(Central Processing Unit)である。処理部142は、記憶部144に記憶された制御プログラムを実行することによって、画像形成装置100の各構成部分の動作を制御する。
処理部142は、記号化部1421と、学習部1422と、推論部1423と、判定部1424と、制御部1425とを含む。本実施形態において、処理部142が記憶部144に記憶された制御プログラムを実行することによって、制御プログラムが、記号化部1421と、学習部1422と、推論部1423と、判定部1424と、制御部1425との機能を実現する。
記号化部1421は、後述するソフトウェアログ辞書の一文の情報に一義的に対応する記号を付与する。具体的には、記号化部1421は、ソフトウェアログとして取得される可能性のある全ての一文の情報に、ID番号を付与する。本実施形態では、記号化部1421は、第1ログ又は第2ログとして取得される可能性のある全ての一文の情報に、ID番号を付与し、ソフトウェアログ辞書を作成する。
更に、記号化部1421は、第1ログに含まれる全てのログ記録に、ソフトウェアログ辞書に付与されたID番号を流用する。更に、記号化部1421は、第1ログの場合と同様に、第2ログに含まれる全てのログ記録に、ソフトウェアログ辞書に付与されたID番号を流用する。
学習部1422は、ニューラルネットワークを用いた学習モデルに第1記号を入力して、第1記号に対応するログ記録の出現確率を示す第1確率分布を、機械学習によって取得する。具体的には、学習部1422は、RNNを用いた学習モデルに第1記号を入力し、学習モデルの出力結果に基づいて、第1確率分布を取得する。
本実施形態では、学習部1422は、RNNを含む学習モデルに、順次、全ての第1記号を入力して、第1ログに含まれる全てのログ記録の出現確率を示す第1確率分布を学習する。具体的には、学習部1422は、いわゆる「one-hotベクトル」を利用して、学習モデルに全ての第1記号を順次入力し、全ての第1記号の出現確率を学習する。その際、学習部1422は、学習モデルから出力された出力結果が示す第1記号の出現順序と、教師データである第1記号の出現順序とに関する誤差を算出する。学習部1422は、算出した誤差に基づいて、学習モデルのパラメーターである、いわゆる「重み」と「バイアス」とを更新する。このように、学習部1422は、全ての第1記号の出現確率について学習する。
推論部1423は、RNNを含む学習モデルに第2記号を入力し、学習モデルからの出力結果に基づいて、第2記号に対応するログ記録の出現確率を示す第2確率分布を推論する。具体的には、推論部1423は、特定の第2記号の次に出現する第2記号の出現確率を推論する。すなわち、推論部1423は、一の第2記号の次に出現する他の第2記号の確率を、全ての第2記号について推論する。このように、推論部1423は、全ての第2記号の出現確率を推論する。
判定部1424は、推論された第2確率分布によって特定される第2ログの推論出現順序と、第2ログが示す実際出現順序との比較に基づいて、画像形成装置100の不具合の可能性の有無を判定する。
制御部1425は、記憶部144に記憶された制御プログラムを実行することによって、画像形成装置100の各構成部分を制御する。制御部1425は、演算素子を含む。演算素子は、プロセッサーを含む。一例では、プロセッサーは、中央処理演算機(CPU)を含む。プロセッサーは、特定用途集積回路(Application Specific Integrated Circuit:ASIC)を含んでもよい。
記憶部144は、各種のデータ及び制御プログラムを記憶する。記憶部144は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、及び/又はソリッドステートドライブ(Solid State Drive:SSD)によって構成される。記憶部144は、外部メモリーを含んでもよい。外部メモリーは、リムーバブルメディアである。記憶部144は、外部メモリーとして、例えば、USB(Universal Serial Bus)メモリー、及び/又はSD(Secure Digital)カードを含んでもよい。
更に、記憶部144は、制御プログラムを、コンピューター読取可能な記録媒体に非一時的に記録する。制御プログラムが非一時的に記録されるコンピューター読取可能な記録媒体は、ROM(Read Only Memory)、RAM(Random Access Memory)、CD-ROM、磁気テープ、磁気ディスク又は光データ記憶装置を含む。
次に、図1~図6を参照して、本実施形態の画像形成装置100による不具合推定方法を説明する。図3は、ソフトウェアログ310の一例を示す図である。
図3中の2番目のログ記録「[TCC]RFID_cvrClose」は、カバーが閉じたことを示す。7番目のログ記録「[LSU]initial」は、LSU(Laser Scanning Unit)が初期化処理を開始したことを示す。他のログ記録については、説明を省略する。
次に、ソフトウェアログ辞書について説明する。ソフトウェアログ辞書は、ID番号と、辞書内容とを含む。
ID番号は、例えば昇順の番号である。ID番号は、個々の辞書内容に一義的に対応するように割り当てられている。
辞書内容は、ソフトウェアログ310に登場する全ての一文の情報を含む。記号化部1421は、辞書内容を構成する個々のログ記録に、ID番号を割り当てる(以下、ID番号が割り当てられた個々のログ記録を「単語」と称する場合がある)。
次に、コーパス(教師データ)について説明する。「コーパス」とは、自然言語処理を対象とした学習モデルにおいては、ある言語又はその言語の特定分野で観測された文節の並びの実例をいう。更に、コーパスは、コンピューターによって検索可能な大量の文節を含むデータベースである。本実施形態の「コーパス」も、自然言語処理を対象とした学習モデルにおけるコーパスと同様に、データベース化されている。
図4及び図5は、再帰型ニューラルネットワーク600を含む学習モデルの一例を示す図である。再帰型ニューラルネットワーク600は、入力層612と、隠れ層613と、出力層614と、ソフトマックス615とを含む。入力層612は、入力単語611を順次受け取る。入力単語611の各々は、one-hotベクトルとして与えられる。one-hotベクトルは、全ての成分のうちの1成分のみが「1」を示し、他の全ての成分が「0」を示すベクトルである。隠れ層613は、入力層612から出力層614に値を伝播させる役目を担う。具体的には、隠れ層613は、「重み」と「バイアス」を含む関数によって、入力層612から出力層614に値を伝播させる。出力層614は、入力層612が受け取った入力単語611の次に出現する単語の確率616を出力する。ソフトマックス615は、ソフトマックス関数を示す。ソフトマックス615は、出力値を0~1の値に落とし込み、出力値の合計が「1」となるように各出力値を算出する。その結果、再帰型ニューラルネットワーク600からone-hotベクトルとして出力単語617が得られる。
更に、図5には、「時刻T」のRNN610と、「時刻T+1」のRNN620と、「時刻T+2」のRNN630と、「時刻T+3」のRNN640と、「時刻T+4」のRNN650とが示されている。
図5に示されるように、例えば、「時刻T」のRNN610の出力層614の出力値は、「時刻T+1」のRNN620の隠れ層613に入力されている。これにより、前後に位置するログ記録の関連の強さが、後ろのログ記録に順次引き継がれる。
図6は、不具合推定結果テーブル700の一例を示す図である。不具合推定結果テーブル700は、インデックス701と、推論結果ID702と、第2ログID703と、良好/非良好704とを含む。インデックス701は、テスト用データのID番号を示す。推論結果ID702は、テスト用データを入力して推論を実行した場合の出力単語617のID番号を示す。第2ログID703は、第2ログに含まれるログ記録のID番号を示す。良好/非良好704は、推論結果ID702と第2ログID703とを比較した結果、第2ログが示す画像形成装置100の動作に不具合の可能性が低いこと、又は不具合の可能性があることを示す。
図6に示されるように、インデックス701の範囲「679」~「687」のうち、インデックス701が「683」、「684」及び「686」である各ログ記録については、「非良好」である、すなわち不具合の可能性があると判定されている。
次に、図1~図8を参照して本実施形態の画像形成装置100の不具合推定処理を説明する。図7及び図8は、画像形成装置100の不具合推定処理の一例を示すフローチャートである。不具合推定処理は、ステップS2~ステップS28によって実行される。
ステップS2:図7に示されるように、制御部1425は、受付部154を介して、学習準備又は推論実行の指示をユーザーから受け付ける。ユーザーから学習準備の指示を受け付けたと制御部1425が判定した場合(ステップS2で「学習準備」)、処理は、ステップS4に進む。ユーザーから推論実行の指示を受け付けたと制御部1425が判定した場合(ステップS2で「推論実行」)、処理はステップS20に進む(図8参照)。
ステップS4:記号化部1421は、ID番号を付与したソフトウェアログ辞書を生成する。処理は、ステップS6に進む。
ステップS6:第1取得部122は、第1ログを取得する。記号化部1421は、第1ログの各ログ記録にソフトウェアログ辞書のID番号を流用する。処理は、ステップS8に進む。
ステップS8:制御部1425は、コーパスを学習用と、交差検証用と、テスト用とに分離する。処理は、ステップS10に進む。
ステップS10:学習部1422は、第1ログのID番号をRNNに入力する。処理は、ステップS12に進む。
ステップS12:学習部1422は、誤差を計算する。処理は、ステップS14に進む。
ステップS14:学習部1422は、誤差が閾値より大きいか否かを判定する。誤差が閾値より大きいと学習部1422が判定した場合(ステップS14でYes)、処理は、ステップS16に進む。誤差が閾値より大きくないと学習部1422が判定した場合(ステップS14でNo)、処理はステップS18に進む。
ステップS16:学習部1422は、重み値及びバイアス値を更新する。処理は、ステップS10に戻る。
ステップS18:学習部1422は、重み値及びバイアス値を保存する。処理は終了する。
ステップS20:図8に示されるように、第2取得部124は、第2ログを取得する。記号化部1421は、第2ログの各ログ記録にソフトウェアログ辞書のID番号を流用する。処理は、ステップS22に進む。
ステップS22:推論部1423は、第2ログのID番号を学習済みのRNNに入力し、推論を実行する。処理は、ステップS24に進む。
ステップS24:判定部1424は、推論結果が示す推論出現順序と第2ログが示す実際出現順序とを比較する。処理は、ステップS26に進む。
ステップS26:推論結果と出力ログとが一致すると判定部1424が判定した場合は(ステップS26でYes)、処理は終了する。推論結果と出力ログとが一致しないと判定部1424が判定した場合は(ステップS26でNo)、ステップS28に進む。
ステップS28:制御部1425は、次に説明するリカバリー動作を実行する。音声出力部156は、必要に応じて、アラーム音によりユーザーに不具合を通知する。表示部152も、必要に応じて、文字又は記号によりユーザーに不具合を通知する。そして、処理は終了する。
次に、図1~図8、図9(a)、及び図9(b)を参照して、リカバリー動作について説明する。図9(a)は正常シーケンスの一例を、図9(b)は異常シーケンスの一例をそれぞれ示す図である。
図9(a)は、ある時点で取得部120によって順次取得された、画像形成装置100の動作状況を示す6個のログ記録を示す。1番目のログ記録は、電源スイッチがオンされたことを示す。2番目のログ記録は、ウォーミングアップ動作が開始したことを示す。3番目のログ記録は、ウォーミングアップ動作が完了したことを示す。4番目のログ記録は、印刷準備が完了したことを示す。5番目のログ記録は、印刷要求が受け付けられたことを示す。6番目のログ記録は、画像形成装置100が印刷動作を開始することを示す。
ウォーミングアップ動作は、感光体ドラム116bのキャリブレーションのような、印刷に必要な準備を含む。図9(a)の例では、ウォーミングアップ動作完了を示す3番目のログ記録の後に、印刷動作開始を示す6番目のログ記録が出現しているので、正常な画像形成が期待される。
図9(b)は、他の時点で取得部120によって順次取得された、画像形成装置100の動作状況を示す3個のログ記録を示す。1番目のログ記録は、電源スイッチがオンされたことを示す。2番目のログ記録は、ウォーミングアップ動作が開始したことを示す。3番目のログ記録は、画像形成装置100が印刷動作を開始することを示す。
制御部1425は、ウォーミングアップ動作完了を示すログ記録の後に、印刷動作開始を示すログ記録が出現すべきとの情報を、機械学習によって取得している。制御部1425は、この情報に基づいて、ウォーミングアップ動作が開始した後、ウォーミングアップ動作の終了を示すログ記録が取得される前に、印刷動作開始を示すログ記録が取得された時点で、リカバリー動作が実行されるように制御する。つまり、制御部1425は、ウォーミングアップ動作の開始に戻るようにプログラムの流れを制御する。その結果、印刷不良が予想される印刷動作が実際には開始されることなく、ウォーミングアップ動作のやり直しが実行される。
次に、図1~図8、図10(a)、及び図10(b)を参照して、他のリカバリー動作について説明する。図10(a)は正常シーケンスの他の例を、図10(b)は異常シーケンスの他の例をそれぞれ示す図である。
図10(a)は、ある時点で取得部120によって順次取得された、画像形成装置100の動作状況を示す9個のログ記録を示す。1番目のログ記録は、トナーコンテナCaのトナー切れが検知されたことを示す。2番目のログ記録は、トナー切れ状態で印刷動作が開始することがないように画像形成装置100が動作ホールドの状態に移行したことを示す。3番目のログ記録は、トナーコンテナCaの交換が確認されたことを示す。4番目のログ記録は、動作ホールドが解除されたことを示す。5番目のログ記録は、トナーインストール動作が開始したことを示す。6番目のログ記録は、トナーインストール動作が完了したことを示す。7番目のログ記録は、印刷準備が完了したことを示す。8番目のログ記録は、印刷要求が受け付けられたことを示す。9番目のログ記録は、画像形成装置100が印刷動作を開始することを示す。
トナーインストール動作は、トナーコンテナCaから現像部116dへのトナー供給に必要な準備を含む。図10(a)の例では、トナーインストール動作完了を示す6番目のログ記録の後に、印刷動作開始を示す9番目のログ記録が出現しているので、正常な画像形成が期待される。
図10(b)は、他の時点で取得部120によって順次取得された、画像形成装置100の動作状況を示す6個のログ記録を示す。1番目のログ記録は、トナーコンテナCaのトナー切れが検知されたことを示す。2番目のログ記録は、画像形成装置100が動作ホールドの状態に移行したことを示す。3番目のログ記録は、トナーコンテナCaの交換が確認されたことを示す。4番目のログ記録は、動作ホールドが解除されたことを示す。5番目のログ記録は、トナーインストール動作が開始したことを示す。6番目のログ記録は、画像形成装置100が印刷動作を開始することを示す。
制御部1425は、トナーインストール動作完了を示すログ記録の後に、印刷動作開始を示すログ記録が出現すべきとの情報を、機械学習によって取得している。制御部1425は、この情報に基づいて、トナーインストール動作が開始した後、トナーインストール動作の終了を示すログ記録が取得される前に、印刷動作開始を示すログ記録が取得された時点で、リカバリー動作が実行されるように制御する。つまり、制御部1425は、トナーインストール動作の開始に戻るようにプログラムの流れを制御する。その結果、印刷不良が予想される印刷動作が実際には開始されることなく、トナーインストール動作のやり直しが実行される。
なお、制御部1425は、画像形成期間中は、リカバリー動作が実行されないように制御すればよい。ユーザーが画像形成装置100を使用するにあたって差支えのない範囲でリカバリー動作が行われるのが適切だからである。例えば、電源スイッチオンから印刷要求受付までの第1期間、動作ホールド解除から印刷要求受付までの第2期間、又は印刷動作終了から電源スイッチオフまでの第3期間にリカバリー動作の実行が許容される。
また、制御部1425は、リカバリー動作の繰り返し回数が所定回数を超えないように制御すればよい。回数の制限により、画像形成装置100がリカバリー動作から抜け出せなくなることを抑制することができる。
以上のように、本実施形態の画像形成装置100によれば、検知可能な動作不具合の範囲が拡大される。しかも、リカバリー動作の実行により、動作不具合に起因した障害が未然に抑制され得る。
なお、画像形成装置100は、ネットワークを介してサーバー装置に接続されてもよい。サーバー装置は、ネットワークを介して画像形成装置100からソフトウェアログ310を受信し、画像形成装置100の不具合の可能性の有無を推定することができる。
以上、図面を参照しながら本発明の実施形態について説明した。ただし、本発明は、上記の実施形態に限られるものではなく、その要旨を逸脱しない範囲で種々の態様において実施することが可能である。また、上記の実施形態に開示されている複数の構成要素を適宜組み合わせることによって、種々の発明の形成が可能である。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。図面は、理解しやすくするために、それぞれの構成要素を主体に模式的に示しており、図示された各構成要素の長さ、個数、間隔等は、図面作成の都合上から実際とは異なる場合もある。また、上記の実施形態で示す各構成要素の形状、寸法等は一例であって、特に限定されるものではなく、本発明の効果から実質的に逸脱しない範囲で種々の変更が可能である。
例えば、実施形態では、画像形成装置100は電子写真方式であったが、これに限られない。例えば、画像形成装置100は、インクジェット方式であってもよい。
また、実施形態では、制御部1425が機械学習の結果を利用したが、本発明はこれに限られない。あるログ記録の前に出現すべきでないログ記録のリストを制御部1425が保持しておき、制御部1425がリストを参照してリカバリー動作の実行を制御してもよい。