(57)【要約】      （修正有）【課題】複数の装置の中から、エラーの種類ごとに予防保守の対象とすべき装置を選択する、情報処理装置、プログラムおよび情報処理方法を提供する。【解決手段】本発明の実施形態としての情報処理装置は、複数の装置において発生したエラーの一覧と、前記エラーの種類に関する情報とを含むエラー履歴情報からいずれかの前記種類の前記エラーを抽出して正例に設定し、残りの前記種類の前記エラーを負例に設定し、前記負例に設定された前記エラーについては前記種類ごとに前記エラーの一部を抽出し、抽出された前記正例および前記負例の前記エラーが発生した時刻における前記装置の構成情報に基づいて学習データを生成する、データ生成部と、前記学習データを用いて、前記装置において前記正例に設定された前記種類の前記エラーが発生する可能性の大きさを推定する、診断モデルを生成する、モデル生成部とを備える。【選択図】図１
2019204345.tif 000002
【特許請求の範囲】
【請求項１】
複数の装置において発生したエラーの一覧と、前記エラーの種類に関する情報とを含むエラー履歴情報からいずれかの前記種類の前記エラーを抽出して正例に設定し、残りの前記種類の前記エラーを負例に設定し、前記負例に設定された前記エラーについては前記種類ごとに前記エラーの一部を抽出し、抽出された前記正例および前記負例の前記エラーが発生した時刻における前記装置の構成情報に基づいて学習データを生成する、データ生成部と、
前記学習データを用いて、前記装置において前記正例に設定された前記種類の前記エラーが発生する可能性の大きさを推定する診断モデルを生成する、モデル生成部と
を備えた情報処理装置。
【請求項２】
前記データ生成部は、前記学習データにおける前記負例に設定された前記エラーの前記種類ごとの構成比が、前記エラー履歴情報における前記負例の前記エラーの前記種類ごとの構成比に略等しくなるように、前記エラー履歴情報から前記種類ごとに前記負例に設定された前記エラーの一部を抽出し、学習データを生成する、
請求項１に記載の情報処理装置。
【請求項３】
前記データ生成部は、前記エラー履歴情報における前記エラーの発生件数に基づいて、前記エラー履歴情報における前記負例に設定された前記種類ごとの前記エラーの構成比を計算する、
請求項２に記載の情報処理装置。
【請求項４】
前記データ生成部は、前記エラー履歴情報において前記エラーが発生した装置の台数に基づいて、前記エラー履歴情報における前記負例に設定された前記種類ごとの前記エラーの構成比を計算する、
請求項２に記載の情報処理装置。
【請求項５】
前記データ生成部は、前記学習データにおける前記正例に設定された前記エラーの数と、前記負例に設定された前記エラーの数の比が略１：１となるように、前記エラー履歴情報から前記種類ごとに前記負例の前記エラーの一部を抽出し、学習データを生成する、
請求項１ないし４のいずれか一項に記載の情報処理装置。
【請求項６】
複数の前記装置の前記構成情報に基づいて生成された検査データを前記診断モデルに入力し、前記診断モデルの出力値に基づいて保守点検を行うべき前記装置を選択する、選択部を備えた
請求項１ないし５のいずれか一項に記載の情報処理装置。
【請求項７】
前記選択部が選択した保守点検を行うべき前記装置と、保守点検を行うべき前記装置の部位に関する情報を担当の保守員に通知する、
通知部を備えた
請求項６に記載の情報処理装置。
【請求項８】
前記通知部は、前記選択部が選択した前記装置の保守点検において行うべき作業の手順に関する情報を担当の保守員に通知する、
請求項７に記載の情報処理装置。
【請求項９】
前記装置は、画像形成装置であり、前記構成情報はファームウェアのバージョン、ハードウェアのリビジョン、オプション部品に関する情報、消耗品に関する情報の少なくともいずれかを含む、
請求項１ないし８のいずれか一項に記載の情報処理装置。
【請求項１０】
複数の装置において発生したエラーの一覧と、前記エラーの種類に関する情報を含むエラー履歴情報からいずれかの前記種類の前記エラーを抽出して正例に設定し、残りの前記種類の前記エラーを負例に設定し、前記種類ごとに前記負例の前記エラーの一部を抽出するステップと、
抽出された前記正例および前記負例の前記エラーが発生した時刻における前記装置の構成情報に基づいて学習データを生成するステップと、
前記学習データを用いて、前記装置において前記正例に設定された前記種類に係る前記エラーが発生する可能性の大きさを推定する、診断モデルを生成するステップと
をコンピュータに実行させるプログラム。
【請求項１１】
前記学習データにおける前記負例に設定された前記エラーの前記種類ごとの構成比が、前記エラー履歴情報における前記負例の前記エラーの前記種類ごとの構成比に略等しくなり、なおかつ前記学習データにおける前記正例に設定された前記エラーの数と、前記負例に設定された前記エラーの数の比が略１：１となるように、前記エラー履歴情報から前記種類ごとに前記負例の前記エラーの一部を抽出するステップを含む、
請求項１０に記載のプログラム。
【請求項１２】
複数の装置において発生したエラーの一覧と、前記エラーの種類に関する情報を含むエラー履歴情報からいずれかの前記種類の前記エラーを抽出して正例に設定し、残りの前記種類の前記エラーを負例に設定し、前記種類ごとに前記負例の前記エラーの一部を抽出するステップと、
抽出された前記正例および前記負例の前記エラーが発生した時刻における前記装置の構成情報に基づいて学習データを生成するステップと、
前記学習データを用いて、前記装置において前記正例に設定された前記種類に係る前記エラーが発生する可能性の大きさを推定する、診断モデルを生成するステップと
をコンピュータが実行する情報処理方法。
【請求項１３】
前記学習データにおける前記負例に設定された前記エラーの前記種類ごとの構成比が、前記エラー履歴情報における前記負例の前記エラーの前記種類ごとの構成比に略等しくなり、なおかつ前記学習データにおける前記正例に設定された前記エラーの数と、前記負例に設定された前記エラーの数の比が略１：１となるように、前記エラー履歴情報から前記種類ごとに前記負例の前記エラーの一部を抽出するステップを含む、
請求項１２に記載の情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理装置、プログラムおよび情報処理方法に関する。
【背景技術】
【０００２】
複合機の保守サービスの分野では、問題発生後の事後的なメンテナンスが行われる頻度が高くなると、顧客の業務に影響し、保守サービスを提供する企業にとっても高いコストがかかってしまう。したがって、故障やトラブルが発生する可能性が高い装置については、問題が発生する前に優先的な点検やメンテナンスを行うことが望ましい。
【０００３】
効果的な予防保守を行うために、各装置の稼働履歴に基づき、それぞれの種類のエラーが発生する可能性の大きさを推定する技術の開発が進められている。しかし、発生するエラーの種類が多いと、学習データにおける正例に対する負例の比率が大きくなりすぎてしまう。不均衡な学習データを使って学習を行うと、生成されるモデルの精度が低下するため、それぞれの種類のエラーが発生する可能性が大きい複合機を正確に推定することが難しくなってしまう。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５７９０８９１号公報
【特許文献２】特許第３０９０５１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の実施形態は、複数の装置の中から、エラーの種類ごとに予防保守の対象とすべき装置を選択する、情報処理装置、プログラムおよび情報処理方法を提供する。
【課題を解決するための手段】
【０００６】
本発明の実施形態としての情報処理装置は、複数の装置において発生したエラーの一覧と、前記エラーの種類に関する情報とを含むエラー履歴情報からいずれかの前記種類の前記エラーを抽出して正例に設定し、残りの前記種類の前記エラーを負例に設定し、前記負例に設定された前記エラーについては前記種類ごとに前記エラーの一部を抽出し、抽出された前記正例および前記負例の前記エラーが発生した時刻における前記装置の構成情報に基づいて学習データを生成する、データ生成部と、前記学習データを用いて、前記装置において前記正例に設定された前記種類の前記エラーが発生する可能性の大きさを推定する、診断モデルを生成する、モデル生成部とを備える。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態に係る診断システムの構成例を示した図。
【図２】第１の実施形態に係るログ収集装置と診断装置の構成例を示した図。
【図３】エラー履歴情報を格納したテーブルの例を示した図。
【図４】エラー定義情報を格納したテーブルの例を示した図。
【図５】機体構成情報を格納したテーブルの例を示した図。
【図６】パーツ情報を格納したテーブルの例を示した図。
【図７】保守員割り当て情報を格納したテーブルと、保守員コンタクト情報を格納したテーブルの例を示した図。
【図８】学習データを格納したテーブルの例を示した図。
【図９】学習データを格納したテーブルの例を示した図。
【図１０】学習データを格納したテーブルの例を示した図。
【図１１】検査データを格納したテーブルの例を示した図。
【図１２】検査データを格納したテーブルの例を示した図。
【図１３】検査データを格納したテーブルの例を示した図。
【図１４】診断システム全体の処理の例を示したフローチャート。
【図１５】診断モデル生成の設定画面の例を示した図。
【図１６】診断処理の設定画面の例を示した図。
【図１７】システム設定画面の例を示した図。
【図１８】診断モデル生成処理の例を示したフローチャート。
【図１９】診断モデル生成処理の例を示したフローチャート。
【図２０】診断処理の例を示したフローチャート。
【図２１】診断処理の例を示したフローチャート。
【図２２】予防保守実施依頼画面の例を示した図。
【図２３】第２の実施形態に係る情報処理装置の構成例を示す図。
【発明を実施するための形態】
【０００８】
以下、図面を参照しながら、本発明の実施形態について説明する。また、図面において同一の構成要素は、同じ番号を付し、説明は、適宜省略する。
【０００９】
（第１の実施形態）
図１は、第１の実施形態に係る診断システムの構成例を示す図である。図１の診断システムは、複合機１ａ、１ｂ、１ｃ、ネットワーク２、基地局２ａ、２ｂ、２ｃ、サーバラック４、端末５ａ、５ｂ、５ｃとを備えている。サーバラック４には、サーバ（計算機）、ストレージ装置、スイッチなどの情報機器がマウントされている。複合機１ａ、１ｂ、１ｃと、基地局２ａ、２ｂ、２ｃと、サーバラック４内の情報機器はネットワーク２を介して互いに接続されている。
【００１０】
複合機１ａ、１ｂ、１ｃは、本実施形態に係る診断システムにおいて予防保守の対象とされる装置の例である。複合機１ａ、１ｂ、１ｃは、例えば複写機、プリンタ、イメージスキャナ、ファクシミリなど事務機器の機能を１台の筐体内に収めた装置である。これらの機能の組み合わせは一例にしか過ぎない。したがって、複合機はこれとは異なる機能を備えていてもよいし、これらの機能の一部が省略されていてもよい。
【００１１】
図１では、複合機１ａ、１ｂ、１ｃの３台の複合機が示されているが、複合機の台数については特に限定しない。したがって、複合機の台数は図１の例より多くてもよく、例えば数万台以上の複合機が予防保守の対象となっていてもよい。また、異なる機種、構成、型番、機能に係る複合機が混在していてもよい。
【００１２】
以下の説明では、複合機が予防保守の対象となっている場合を例に説明するが、その他の画像形成装置を予防保守の対象にしてもよい。例えば、プリンタ、複写機などを予防保守の対象にしてもよい。また、予防保守の対象は事務機器以外の装置であってもよい。例えば、自動車、鉄道車両、建設機械、家電、医療機器、製造装置、加工装置など、その他の種類の機械を予防保守の対象としてもよい。
【００１３】
ネットワーク２は、接続されている構成要素どうしでデータの送受信をする手段を提供する。ネットワーク２は、通信媒体として例えば、光ファイバ、ＬＡＮケーブル、電話回線、同軸ケーブル、無線などを用いることができる。通信規格としては、イーサネットなどを用いることができるが、どの方式を使ってもよい。また、ネットワーク２において複数の通信媒体が組み合わされていてもよいし、複数の種類の通信規格が使われていてもよい。
【００１４】
基地局２ａ、２ｂ、２ｃは、アンテナを備えた無線通信装置である。無線通信端末は、基地局２ａ、２ｂ、２ｃと無線通信を行い、ネットワーク２との接続を確立することができる。基地局２ａ、２ｂ、２ｃとして、例えばＩＥＥＥ８０２．１１シリーズまたはその後継規格の無線ＬＡＮのアクセスポイントを用いることができる。また、基地局２ａ、２ｂ、２ｃはＷｉＭＡＸ、ＬＴＥまたはこれらの後継規格の移動通信システムの基地局であってもよく、無線通信規格の種類については特に問わない。また、すべての基地局が同一の通信規格を用いなくてもよい。したがって、異なる無線通信規格を用いる基地局が混在していてもよい。
【００１５】
サーバラック４には、図２のログ収集装置４ａおよび診断装置４ｂがマウントされている。ログ収集装置４ａと診断装置４ｂはサーバ（計算機）、ストレージ装置、スイッチなどの情報機器を組み合わせることによって実装することができる。ログ収集装置４ａは、複合機１ａ、１ｂ、１ｃからデータを収集する。診断装置４ｂは、収集されたデータに基づき、診断モデルを生成したり、生成した診断モデルを使って複合機１ａ、１ｂ、１ｃの診断を行ったりする。ログ収集装置４ａと診断装置４ｂの詳細については後述する。
【００１６】
図１の例では、１台のサーバラックしか示されていないが、複数のサーバラック上に情報機器をマウントしてもよい。複数の地点（例えばマシン室、データセンター）にサーバラックを配置してもよい。
【００１７】
なお、図１はログ収集装置４ａと診断装置４ｂが収納される一形態を示したのに過ぎない。したがって、ログ収集装置４ａと診断装置４ｂは必ずサーバラックに収納されていなくてもよい。例えば、事務用のＰＣや制御用コンピュータを使ってログ収集装置４ａと診断装置４ｂの機能を実現してもよい。
【００１８】
端末５ａ、５ｂ、５ｃは、無線通信機能を備えた情報処理装置である。無線通信機能を備えた情報処理装置の例としては、ノートパソコン、スマートフォン、タブレット、スマートウォッチ、スマートグラスなどがあるが、装置の種類については特に問わない。端末５ａはノートパソコンである。端末５ｂ、５ｃはスマートフォンである。複合機の保守員は端末５ａ、５ｂ、５ｃを利用して、例えば、保守を担当している複合機の診断を行ったり、予防保守を行うべき複合機を確認したりすることができる。また、診断システムの管理者は、これらの端末を使って診断システムの操作や設定変更を行うことができる。図１には３台の端末が示されているが、端末の台数については特に問わない。また、保守員や管理者はネットワーク２と有線で接続されたパソコンを利用してもよく、端末は無線通信を行うものに限られない。
【００１９】
図２は、第１の実施形態に係るログ収集装置と診断装置の構成例を示している。以下では、まずログ収集装置４ａと診断装置４ｂによって行われる処理の概要について述べる。
【００２０】
ログ収集装置４ａは、予防保守の対象となる複合機に関するデータを取得し、蓄積する情報処理装置である。診断装置４ｂは、複数の複合機を含む集団から、特定の種類のエラーが発生する蓋然性が高いと推測される装置を選択する。診断装置４ｂが選択した複合機は、点検・メンテナンスを行うべき複合機として、保守員に通知される。すなわち、診断装置４ｂは、複数の複合機の中から、特定の種類のエラーの発生を未然に防ぐために行われる点検・メンテナンス作業の対象とする複合機を抽出（スクリーニング）する。
【００２１】
ここで、エラーとは、複合機で発生する故障、複合機の異常動作、機能停止、障害、消耗品の寿命到来、保守用部品の劣化や摩耗、異常値の検出など、顧客にとって問題の原因となりうる事象を意味するものとする。
【００２２】
上述のように、予防保守の対象の複合機は、数万台以上にも及ぶことがある。このような状況において、すべての複合機のそれぞれの部位を点検対象とすると、予防保守にかかるコストや負担が莫大なものとなる。そこで、本実施形態に係る診断装置を使って、特定の種類のエラーの発生する確率が高いと推定される複合機に点検対象を絞り込むことによって、効果的な予防保守を行うことができるようになる。
【００２３】
診断装置４ｂは、ログ収集装置４ａが収集したデータから学習データを生成する。そして、診断対象とするエラーの種類ごとに診断モデルを生成する。そして、診断装置４ｂは、診断モデルによって診断処理を実行し、複数の複合機の中で各種類のエラーの発生する蓋然性が高いと推定される複合機を抽出する。診断処理で抽出された複合機については予防保守が必要である旨を保守員に通知する。保守員はエラーの種類や通知内容に応じて、対象となる複合機の点検やメンテナンスを行うことができる。診断装置４ｂは通知で複合機の特定の部位の点検やメンテナンスを求めてもよい。
【００２４】
図２のログ収集装置４ａと診断装置４ｂはネットワーク３を介して接続されている。ネットワーク３の例としては、ＴＣＰ／ＩＰによる通信が行われるイーサネットが挙げられるが、その他の種類のインタフェースが用いられていてもよい。また、ログ収集装置４ａと診断装置４ｂはいずれもネットワーク２と接続されているものとする。
【００２５】
ログ収集装置４ａは、データ収集部１０と、記憶部１１とを備えている。記憶部１１は内部の構成要素として、エラー履歴データベース（エラー履歴ＤＢ）１２と、装置構成データベース（装置構成ＤＢ）１３と、保守担当者データベース（保守担当者ＤＢ）１４を含む。
【００２６】
データ収集部１０は、予防保守の対象となるそれぞれの複合機のデータを収集する。データ収集部１０は、それぞれの複合機から直接データを取得してもよいし、別の監視サーバなどによって複合機から収集され、ストレージに蓄積されたデータを取得してもよい。データ収集部１０が収集するデータの例としては、エラー履歴情報（例えば、図３のテーブル１２ａ）、エラー定義情報（例えば、図４のテーブル１２ｂ）、機体構成情報（例えば、図５のテーブル１３ａ）、パーツ情報（例えば、図６のテーブル１３ｂ）、保守員割り当て情報（例えば、図７上段のテーブル１４ａ）、保守員コンタクト情報（例えば、図７下段のテーブル１４ｂ）が挙げられる。これらのデータの詳細については後述する。
【００２７】
データ収集部１０は、エラー履歴情報と、エラー定義情報をエラー履歴データベース１２に保存する。また、データ収集部１０は、機体構成情報と、パーツ情報を装置構成データベース１３に保存する。一方、データ収集部１０は保守員割り当て情報と保守員コンタクト情報を保守担当者データベース１４に保存される。
【００２８】
なお、データ収集部１０が上述のデータを取得する間隔やタイミングについては特に問わない。例えば、データ収集部１０は１２時間、２４時間、４８時間など一定の周期ごとにエラー履歴情報を更新（新たに発生したエラーに係るエントリを取得）することができる。上述の周期は一例であり、これとは異なった値に設定されていてもよい。また、データ収集部１０はアップデートがあった旨の通知を受けてから、エラー履歴データベース１２のエラー定義情報、保守担当者データベース１４の保守員割り当て情報または保守員コンタクト情報を更新してもよい。
【００２９】
また、データ収集部１０は、いずれかの複合機に構成変更や部品交換があった旨の通知を受信してから、装置構成データベース１３の機体構成情報またはパーツ情報を更新（新しいエントリを取得）してもよい。上述の通知は、それぞれの複合機から送信されてもよいし、管理サーバなどから送信されてもよい。なお、データ収集部１０は周期的に管理サーバに問い合わせを行い、更新されたデータがある場合に、該当するデータをダウンロードしてもよい。
【００３０】
記憶部１１は、データ収集部１０によって収集されたデータやログ収集装置４ａで動作するプログラムのデータを保存する記憶領域である。記憶部１１は、例えばＳＲＡＭ、ＤＲＡＭなどの揮発性メモリであってもよいし、ＮＡＮＤ、ＭＲＡＭ、ＦＲＡＭなどの不揮発性メモリでもよい。またハードディスク、ＳＳＤなどのストレージ装置や、外部の記憶装置であってもよく、デバイスの種類については特に限定しない。また、記憶部１１は複数の種類のメモリデバイスやストレージデバイスの組み合わせであってもよい。
【００３１】
また、記憶部１１の少なくとも一部の記憶領域に保存されたデータは、診断装置４ｂからアクセス可能に設定されている。診断装置４ｂから記憶部１１に保存されたデータへのアクセス（データの読み込みまたはデータの書き込み）はＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を介して行われてもよいし、その他の他の方法によって行われてもよい。
【００３２】
次に、記憶部１１のデータベースに保存されるデータについて説明する。
【００３３】
エラー履歴データベース１２には、エラー履歴情報とエラー定義情報が保存される。以下ではエラー履歴情報とエラー定義情報の具体例について説明する。
【００３４】
エラー履歴情報は、複数の複合機において発生したエラーの一覧と、エラーの種類に関する情報を含む。図３のテーブル１２ａは、エラー履歴情報の一例である。テーブル１２ａの各行は、エラー履歴情報のエントリに対応している。各エントリは予防保守対象の複合機で発生したそれぞれのエラーに関する情報を示す。
【００３５】
テーブル１２ａの第１列には、それぞれのエントリ（行）を識別するための通し番号（ＬＳＮ：Ｌｏｇ  Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ）が格納されている。テーブル１２ａの第２列には、それぞれのエントリに対応するエラーが発生した複合機のシリアル番号（製造番号）が格納されている。シリアル番号は一意的な値に設定されており、個々の複合機の識別子として使うことができる。シリアル番号は数字を用いてもよいし、数字と英字が混在した文字列を用いてもよく、フォーマットについては特に問わない。なお、以降ではそれぞれの複合機の識別子としてシリアル番号が使われている場合を例に説明するが、その他の識別子が使われていてもよい。例えば、各複合機の識別子として、ＭＡＣアドレス、位置情報などが用いられていてもよい。
【００３６】
テーブル１２ａの第３列には、それぞれのエントリに対応するエラーが発生した複合機のモデル（型番）が格納されている。テーブル１２ａの第４列には、該当するエラーが発生した日時が格納されている。テーブル１２ａの第５列、第６列、第７列には、それぞれエラーカテゴリ、エラーコード、エラー部位が格納されている。エラーカテゴリ、エラーコード、エラー部位は、異なる粒度または分類によって表現されたエラーの種類である。これらの詳細は後述する。
【００３７】
予防保守の対象となる複合機で新たにエラーが発生した場合、ログ収集装置４ａのデータ収集部１０は、エラー履歴データベース１２の既存のエラー履歴情報に、新しく発生したエラーに対応するエントリを追加する。
【００３８】
図４のテーブル１２ｂは、エラー定義情報の一例である。テーブル１２ｂ第１列のエラーコードは、最も細分化された粒度で発生したエラーの種類を示している。テーブル１２ｂ第２列のエラーカテゴリは、各エラーコードが属するエラーのカテゴリを示しており、エラーコードより大きな粒度でエラーを分類している。テーブル１２ｂ第３列のエラー部位は、エラーを発生したモジュールまたは部品で分類している。テーブル１２ｂ第４列の予防保守手順は、それぞれのエラーコードに対応するエラーが発生するのを防止するために保守員が行うべき点検・メンテナンス作業の内容を規定している。
【００３９】
テーブル１２ｂのエラー定義情報は一例にしか過ぎない。したがってこれとは違った基準によって、エラーの種類を定義してもよい。また、エラー定義情報は図４のすべての項目を含んでいなくてもよいし、その他の項目が含まれていてもよい。例えば、保守員が別の手段で予防保守手順に関する情報を得られるのであれば、エラー定義情報に必ず予防保守手順を含めなくてもよい。
【００４０】
装置構成データベース１３には、機体構成情報とパーツ情報が保存される。機体構成情報とパーツ情報は装置の構成情報の一例である。以下では機体構成情報とパーツ情報の具体例を示す。
【００４１】
図５のテーブル１３ａは、機体構成情報の一例である。テーブル１３ａ（機体構成情報）の各行（エントリ）には、各日時におけるそれぞれの複合機の構成に係る情報が格納されている。テーブル１３ａの第１列は、複合機のシリアル番号を示している。テーブル１３ａの第２列は、複合機の機種名を示している。テーブル１３ａの第３列は、データの取得日時を示している。テーブル１３ａには、複数の日時（時刻）において取得されたシリアル番号“Ａ００１１”、“Ａ００２２”、“Ａ００３３”に係る複合機の構成に関する情報が保存されていることがわかる。したがって、テーブル１３ａを参照して各複合機の構成変更（例えば、ファームウェア更新や、部品のモデル変更）の有無を確認したり、過去のある日時における複合機の構成に関する情報を取得したりすることができる。
【００４２】
テーブル１３ａの第４列は、複合機で用いられているＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のバージョンを示している。テーブル１３ａの第５列は、複合機の本体で用いられているファームウェアのバージョンを示している。テーブル１３ａの第６列は、複合機全体の機構を制御するエンジンファームウェアのバージョンを示している。テーブル１３ａの第７列は、複合機に搭載されたスキャナのファームウェアのバージョンを示している。テーブル１３ａの第８列は、フィニッシャのモデルを示している。なお、フィニッシャとは、紙のソート、綴じ込み、穴開けなどの操作を行い、複合機の筐体側面に装着されるオプション部品である。テーブル１３ａの第９列は、原稿送り装置のモデルを示している。原稿送り装置とは、複合機の上部に装着され、自動的に複数枚の紙のスキャンを行う装置である。
【００４３】
図５のテーブル１３ａに示された項目は一例にしか過ぎない。したがって、機体構成情報はハードウェアのリビジョンなどテーブル１３ａとは異なる項目を含んでいてもよいし、テーブル１３ａのすべての項目が含まれていなくてもよい。
【００４４】
図６のテーブル１３ｂは、パーツ情報の一例である。パーツ情報には、複合機が一定の期間使用されたら交換が必要となる消耗品の情報が含まれている。パーツ情報に交換・修理・調整などの対象となる保守用部品の情報を含めてもよい。テーブル１３ｂの各行（エントリ）は、テーブル１３ａと同じく予防保守の対象となるそれぞれの複合機に対応している。テーブル１３ｂの第１列は、複合機のシリアル番号を示している。テーブル１３ｂの第２列は、複合機の機種名を示している。テーブル１３ｂの第３列は、データの取得日時を示している。テーブル１３ｂにおいても、複数の日時（時刻）において取得されたシリアル番号“Ａ００１１”、“Ａ００２２”、“Ａ００３３”に係る複合機の消耗品に関する情報が保存されている。テーブル１３ｂを参照することによって各複合機の消耗品交換の有無を確認したり、過去のある日時における消耗品の消耗率に関する情報などを取得したりすることができる。
【００４５】
テーブル１３ｂのパーツ情報には、印刷回数に基づいて推測される感光体ドラムの消耗率と、駆動回数に基づいて推測される転写ローラの消耗率が項目として含まれている。これらの項目は例であり、パーツ情報は必ずこれらの項目を含んでいなくてもよいし、その他の項目を含んでいてもよい。
【００４６】
保守担当者データベース１４には、保守員割り当て情報と保守員コンタクト情報が保存される。以下では保守員割り当て情報と保守員コンタクト情報の具体例を示す。
【００４７】
図７上段のテーブル１４ａは保守員割り当て情報の一例である。テーブル１４ａのそれぞれの行には、予防保守の対象となる各複合機の保守担当者に関する情報が格納されている。テーブル１４ａの第１列は、複合機のシリアル番号を示している。テーブル１４ａの第２列には、保守担当者の氏名が格納されている。テーブル１４ａの第３列には、保守担当者の所属先が格納されている。テーブル１４ａの第４列には、該当する複合機が設置された場所に関する情報が格納されている。図７の例では、住所、建物名、フロア番号によって複合機の設置場所が特定されている。
【００４８】
図７下段のテーブル１４ｂは保守員コンタクト情報の一例である。テーブル１４ｂのそれぞれの行には、予防保守を担当する保守員との連絡方法に関する情報が格納されている。テーブル１４ｂの第１列には、保守員の氏名が格納されている。テーブル１４ｂの第２列には、該当する保守員への連絡方法に関する情報が格納されている。図７では、連絡方法の例として電子メールとショートメールが示されているが、電話などその他の連絡方法が示されていてもよい。テーブル１４ｂの第３列には、該当する保守員の連絡先に関する情報が格納されている。図７では、連絡先の例として電子メールのアドレスと電話番号が示されている。
【００４９】
以下では、再び図２を参照しながら、診断装置４ｂの構成要素について説明する。
【００５０】
診断装置４ｂは、データ生成部１５と、記憶部１６と、モデル生成部２０と、選択部２１と、管理部２２と、通知部２３とを備えている。このうち、記憶部１６は内部の構成要素として、学習データベース（学習ＤＢ）１７と、検査データベース（検査ＤＢ）１８と、モデルデータベース（モデルＤＢ）１９を含む。
【００５１】
データ生成部１５は、ログ収集装置４ａの装置構成データベース１３に保存された機体構成情報とパーツ情報を用いて、学習データを生成する。そして、データ生成部１５は生成した学習データを記憶部１６の学習データベース１７に保存する。データ生成部１５が実行する処理の流れは下記のようになる。
【００５２】
まず、データ生成部１５は、エラー履歴情報からいずれかの種類のエラー（のエントリ）を抽出して正例（ｐｏｓｉｔｉｖｅ  ｅｘａｍｐｌｅ）に設定する。そして、データ生成部１５は残りの種類のエラーを負例（ｎｅｇａｔｉｖｅ  ｅｘａｍｐｌｅ）に設定する。一方、データ生成部１５は負例に設定されたエラーについては、種類ごとにエラーの一部（のエントリ）を抽出する。そして、データ生成部１５は抽出した正例および負例のエラーが発生した日時における複合機の構成情報に基づき、学習データを生成する。
【００５３】
複合機のように、発生／検出部位、原因、影響、深刻度、発生頻度の異なる複数の種類のエラーが存在する装置では、厳密に「正常な状態」を定義しづらい。そこで、診断装置４ｂは、各種のエラーが発生した時における装置の稼働履歴からエントリを抽出して学習データを生成するものとする。本実施形態に係る診断装置４ｂのように、エラーが発生した時における装置の稼働履歴のみからエントリを抽出して学習データを生成してもよい。ただし、エラーが発生した時における装置の稼働履歴に加えて、エラーが発生していないときにおける装置の稼働履歴からエントリを抽出して学習データを生成することを妨げるものではない。
【００５４】
以下ではデータ生成部１５によって生成される学習データの例について説明する。
【００５５】
図８のテーブル１７ａと、図９のテーブル１７ｂと、図１０のテーブル１７ｃは学習データを格納したテーブルの例を示している。テーブル１７ａ、１７ｂ、１７ｃは本来ひとつのテーブルであるが、作図の都合上、３つの部分に分けられて示されている。
【００５６】
テーブル１７ａ〜１７ｃの各列はそれぞれのエラーが発生したときにおける複合機の構成および消耗品の消耗率などに関する情報を含んでいる。テーブル１７ａ〜１７ｃの第１列は行番号を示しており、それぞれのエントリ（行）を識別する。テーブル１７ａの第２列（列１７ｄ）はエントリタイプを示している。エントリタイプは、それぞれのエントリがモデルの学習時において正例（ｐｏｓｉｔｉｖｅ  ｅｘａｍｐｌｅ）または負例（ｎｅｇａｔｉｖｅ  ｅｘａｍｐｌｅ）のいずれに属するのかを示す。
【００５７】
エントリタイプは診断モデルの学習時に教師信号として使われる。テーブル１７ａの第２列（列１７ｄ）の“エントリタイプ”における「対象エラー＃１」は、該当する学習データを使って生成される診断モデルにおいて、診断対象とする種類のエラーであることを示している。エントリタイプが「対象エラー＃１」であるエントリは、学習データにおいて正例として用いられる種類のエラーのエントリに相当する。
【００５８】
特定のエラーコードに係るエントリを正例（対象エラー）に設定してもよいし、特定のエラーカテゴリやエラー部位に係るエントリを正例（対象エラー）に設定してもよい。予防したいエラーの種類に応じて、正例に設定されるエラーの粒度の大きさや分類を方法を決めることができる。
【００５９】
一方、「非対象エラー」は診断対象とする種類のエラー以外の種類のエラーを含んでいる。エントリタイプが「非対象エラー」であるエントリは、学習データにおいて負例として用いられる種類のエラーのエントリに相当する。なお、学習データのエントリにおける“エントリタイプ”以外の各項目は、必要に応じて数値に変換され、診断モデルの学習において説明変数（特徴量）として使われる。学習データ生成処理の詳細については後述する。
【００６０】
記憶部１６は、診断モデルの生成処理や診断処理で使われるデータや診断装置４ｂで動作するプログラムのデータなどを保存する記憶領域である。記憶部１６は、例えばＳＲＡＭ、ＤＲＡＭなどの揮発性メモリであってもよいし、ＮＡＮＤ、ＭＲＡＭ、ＦＲＡＭなどの不揮発性メモリでもよい。またハードディスク、ＳＳＤなどのストレージ装置や、外部の記憶装置であってもよく、デバイスの種類については特に限定しない。また、記憶部１６は複数の種類のメモリデバイスやストレージデバイスの組み合わせであってもよい。
【００６１】
次に、記憶部１６の各データベースに保存されるデータについて説明する。
【００６２】
学習データベース１７には、学習データが保存される。学習データの詳細については図８、図９の説明で述べた通りである。データ生成部１５は診断対象とするエラーの種類ごとに学習データを生成するため、学習データベース１７にはそれぞれの種類のエラーに係る学習データのテーブルが保存される。
【００６３】
検査データベース１８には、検査データが保存される。検査データは診断対象のエラーが発生した状態となっていない複合機または、診断対象のエラーが未発生の複合機から新たに取得されたデータから生成され、“エントリタイプ”がない点を除けば学習データと同一の形式をとる。検査データは診断対象のエラーに係る診断モデルに入力される。図１１のテーブル１８ａと、図１２のテーブル１８ｂと、図１３のテーブル１８ｃは検査データを格納したテーブルの例を示している。テーブル１８ａ、１８ｂ、１８ｃは本来ひとつのテーブルであるが、作図の都合上、３つの部分に分けられた形で示されている。
【００６４】
テーブル１８ａの第２列（列１８ｄ）には複合機のシリアル番号が格納されている。すなわち、検査データのそれぞれのエントリ（行）は、診断の対象とされるそれぞれの複合機から取得されたデータに対応している。シリアル番号を除くエントリ内の各項目は、説明変数（特徴量）に相当する。すなわち、検査データのエントリはそれぞれの複合機に対応する説明変数の集合であるといえる。
【００６５】
モデルデータベース１９には、モデル生成部２０によって生成された診断モデルが保存される。診断対象のエラーの種類ごとに診断モデルが生成されるため、モデルデータベース１９には複数の診断モデルが保存される。
【００６６】
モデル生成部２０は、学習データを使って診断モデルを生成する。モデル生成部２０は、教師あり学習を行い、診断モデルを生成する。適用可能な機械学習手法の例としては、Ｌ１正則化、Ｌ２正則化、Ｅｌａｓｔｉｃ Ｎｅｔなどの正則化項を含むロジスティック回帰、各種の線形回帰が挙げられる。また、ニューラルネットワーク、サポートベクターマシン、回帰木、ランダムフォレストなどを使ってもよく、適用する手法の種類については特に問わない。
【００６７】
選択部２１は、検査データの各エントリを診断モデルに入力することによって得られる出力値に基づき、予防保守の対象となる複合機を選択する。検査データの各エントリは、それぞれの複合機に対応しているため、各エントリの説明変数を診断モデルに入力して得られる出力値はそれぞれの複合機において特定の種類のエラーが発生する可能性の大きさを示す。診断モデルの出力値が大きいほど、該当する種類のエラーが発生する可能性が高いと推定される。そこで選択部２１は、検査データの各エントリに係る出力値をしきい値と比較する。そして、選択部２１は出力値がしきい値を超えているエントリに対応する複合機を予防保守の対象として選択する。
【００６８】
ここでは連続値の出力が得られ、特定の種類のエラーが発生する蓋然性が高いほど出力値が大きくなる診断モデルを使った場合を例に説明したが、選択部２１はこれとは異なる判定基準を用いてもよい。例えば、分類を行う診断モデルを使った場合、分類結果が特定のクラスやカテゴリであるか否かを基準に判定を行ってもよい。また、ニューラルネットワークのように、複数のクラスやカテゴリごとに反応値が得られる場合には、それぞれの反応値をしきい値と比較して判定を行ってもよい。
【００６９】
管理部２２は、管理者が診断システムの操作や設定変更を行うインタフェースを提供する。管理者が行う診断システムの操作の例としては、診断モデルの生成処理などが挙げられる。診断システムの操作および設定変更の詳細については後述する。
【００７０】
通知部２３は、保守員に予防保守を行うべき複合機の情報を通知する。通知部２３は、選択部２１から予防保守の対象として選択された複合機のリストを受け取る。そして、通知部２３は保守担当者データベース１４の保守担当者情報を参照し、当該リストに含まれている複合機の保守担当者を特定する。そして、通知部２３は保守担当者データベース１４の保守員コンタクト情報で指定された連絡方法によって各保守担当者に予防保守を行うべき複合機の情報を通知する。通知方法の例としては、電子メール、ショートメールなどが挙げられるが、電話発信、音声通知、映像配信などその他の方法を使ってもよい。
【００７１】
図２に示したログ収集装置４ａと診断装置４ｂの構成は一例にしか過ぎない。例えば、１台の情報処理装置でログ収集装置４ａと診断装置４ｂの機能を実現してもよいし、ログ収集装置４ａと診断装置４ｂの機能を複数の情報処理装置に分担させてもよい。また、各データベースの配置が図２の例と異なっていてもよい。例えば、同一のストレージ装置に複数のデータベースをまとめて配置してもよい。
【００７２】
次に、本実施形態に係る診断システム全体の処理について述べる。
【００７３】
図１４は、診断システム全体の処理の例を示したフローチャートである。以下では、図１４を参照しながら、処理を説明する。
【００７４】
まず、最初に診断装置４ｂは診断モデルを生成する条件が満たされているか否かを判定する（ステップＳ１０１）。診断モデルを生成する条件が満たされている場合（ステップＳ１０１のＹＥＳ）、診断装置４ｂは、診断モデル生成処理を実行する（ステップＳ１０２）。診断モデルが生成される条件が満たされていない場合、診断装置４ｂは診断処理を実行する条件が満たされているか否かを判定する（ステップＳ１０３）。
【００７５】
管理者が端末を使って、診断モデルの生成指令を管理部２２に送信した場合、診断装置４ｂは、ステップＳ１０１で診断モデルの生成条件が満たされている（ＹＥＳ）と判定する。また、管理者は図１５の画面３０のようなインタフェースを操作し、所定のタイミングとなったら診断装置４ｂが診断モデルを生成されるように設定を行ってもよい。
【００７６】
管理者は図１５の画面３０を使って次回診断モデルを生成する日時を指定したり、診断モデルが生成される周期を指定したりすることができる。また、管理者は診断モデルの生成に使用するデータの期間を指定することもできる。
【００７７】
ステップＳ１０３の判定で診断処理が実行される条件が満たされている場合（ＹＥＳ）、診断装置４ｂは診断処理を実行する（ステップＳ１０４）。診断処理が実行される条件が満たされていない場合（ステップＳ１０３のＮＯ）、診断装置４ｂは動作設定変更の有無を確認する（ステップＳ１０５）。
【００７８】
管理者が端末を使って、診断の実行指令を管理部２２に送信した場合、診断装置４ｂは、ステップＳ１０３で診断処理の実行条件が満たされている（ＹＥＳ）と判定する。また、管理者は図１６の画面３１のようなインタフェースを操作し、所定のタイミングとなったら診断装置４ｂが診断処理を実行するように設定を行ってもよい。
【００７９】
管理者は図１６の画面３１を使って次回診断処理を実行する日時を指定したり、診断処理が実行される周期を指定したりすることができる。また、診断対象となるエラーの範囲を指定することができる。診断対象となるエラーの種類は例えば、エラーコードで指定してもよいし、その他の方法によって指定されてもよい。図１６には示されていないが、診断対象とする複合機の範囲をシリアル番号などで指定できるようにしてもよい。
【００８０】
ステップＳ１０５で、動作設定に変更があると判定された場合（ＹＥＳ）、診断装置４ｂはシステムの動作設定を変更する（ステップＳ１０６）。ステップＳ１０５で動作設定に変更がないと判定された場合（ＮＯ）、診断装置４ｂはステップＳ１０１以降の処理を再び実行する。管理者は図１７の画面３２を使ってシステムのシャットダウンまたは再起動、診断プログラムの停止、診断プログラムの開始などの操作を行うことができる。
【００８１】
システムの動作設定が変更された場合（ステップＳ１０６）、システムの動作を終了するか否かを判定する（ステップＳ１０７）。動作設定の変更画面でシステムのシャットダウン操作または再起動操作、診断プログラムの停止操作が行われた場合（ステップＳ１０７のＹＥＳ）、図１４のフローチャートの処理を終了する。
【００８２】
動作設定の変更画面でシステムのシャットダウン、再起動、診断プログラムの停止操作などが行われていない場合（ステップＳ１０７のＮＯ）、診断装置４ｂはステップＳ１０１以降の処理を再び実行する。
【００８３】
次に、診断モデル生成処理の詳細について説明する。図１８、図１９は診断モデル生成処理の例を示したフローチャートである。以下では、図１８、図１９を参照しながら処理を説明する。ステップＳ２０１〜Ｓ２０７はデータ生成部１５によって実行される。
【００８４】
最初に、データ生成部１５は、エラー履歴データベース１２を参照し、これまで発生したエラーの種類のリスト（Ｅ１、Ｅ２、・・・、Ｅｎ）から診断モデルの生成が必要なエラーの種類Ｅｉを特定する（ステップＳ２０１）。例えば、過去に発生したエラーの種類のすべてについて診断モデルを作成する場合、診断モデルが未作成であるエラーの種類Ｅｉを特定する。また、管理者が管理部２２を介して指定したエラーの種類について診断モデルを作ってもよい。さらにある期間内における発生件数がしきい値よりも大きくなったエラーの種類を診断モデルの生成を行うエラーの種類としてもよい。また、全エラーの発生件数のうち、一定の比率を占めるエラーの種類を診断モデルの生成が必要なエラーの種類であると判定してもよい。さらに、ある種類のエラーに係る診断モデルが生成されてから所定の期間を経過した場合、当該種類のエラーに係る診断モデルを再生成してもよい。
【００８５】
次に、データ生成部１５は、生成する診断モデルで診断対象とするエラーの種類Ｅｉを正例に設定する（ステップＳ２０２）。Ｅｉ以外の種類のエラーについては負例に設定される。そして、データ生成部１５はエラー履歴データベース１２を参照し、正例に係るエントリを抽出する（ステップＳ２０３）。抽出された正例に係るエントリの集合を第１データとよぶものとする。データ生成部１５は第１データを記憶部１６に保存する。
【００８６】
その後、データ生成部１５はエラー履歴データベース１２を参照し、負例に設定された種類のエラー（Ｅｉ以外の種類のエラー）について、種類ごとに構成比を計算する（ステップＳ２０４）。例えば、ｎ＝５で、正例に設定されたのが種類Ｅ２のエラー、負例に設定されたのが種類Ｅ１、Ｅ３、Ｅ４、Ｅ５のエラーであるとする。種類Ｅ１、Ｅ３、Ｅ４、Ｅ５のエラーの発生件数がそれぞれ２５０件、３００件、１５０件、２００件である場合、負例に設定された種類のエラーの種類ごとの構成比は５：６：３：４となる。
【００８７】
次に、データ生成部１５は、エラー履歴データベース１２における負例に設定された種類のエラー（Ｅｉ以外の種類のエラー）の構成比に応じて、負例に設定されたエラーの種類ごとにエントリの一部を抽出する（ステップＳ２０５）。上述の具体例を使って本ステップで実行される処理を説明する。例えば、正例に設定された種類Ｅ２のエラーの発生件数が３００件であるとする。一方、負例に設定された種類（Ｅ１、Ｅ３、Ｅ４、Ｅ５）のエラーの発生件数は合計９００件である。学習データにおいて正例のエントリ数（第１データ）と、負例のエントリ数を略同数にしたい場合、エラー履歴データベース１２に保存されている負例のエントリ（９００件）のうち、１／３のエントリを抽出する。ステップＳ２０５では、上述の構成比５：６：３：４が可能な限り維持されるよう、それぞれの種類のエラーに係るエントリの一部を抽出する。
【００８８】
例えば、種類Ｅ１のエラーに係るエントリを８３件、種類Ｅ３のエラーに係るエントリを１００件、種類Ｅ４のエラーに係るエントリを５０件、種類Ｅ５のエラーに係るエントリを６６件抽出すると、負例に係るエントリ数が合計２９９件となり、第１データにおける正例（種類Ｅ２のエラー）のエントリ数３００件とほぼ等しくなる。また、負例に設定された種類のエラーについては、抽出後もエラー履歴データベース１２とほぼ同様の構成比が維持される。
【００８９】
ステップＳ２０５の処理において抽出されたエントリの集合を第２データとよぶものとする。データ生成部１５は第２データを記憶部１６に保存する。なお、上述の例では学習データにおける負例（第２データ）のエントリ数と、正例（第１データ）のエントリ数の比を略１：１にするために、負例に含まれる種類のエラーに係るエントリの一部を抽出した。後述するように、第１データと第２データに含まれるエントリに基づき、学習データが生成される。したがって、第１データのエントリ数は学習データにおける正例の件数に等しくなり、第２データのエントリ数は学習データにおける負例の件数に等しくなる。
【００９０】
だが、学習データにおける正例（第１データ）のエントリ数と負例（第２データ）のエントリ数の比はそれ以外の値であってもよい。例えば、正例と負例の比を例えば略２：１、略３：２、略２：３、略１：２に設定してもよい。学習データにおける、正例の占める比率が、エラー履歴データベース１２における正例の占める比率より大きくなるのであれば、どのような比を用いてもよい。
【００９１】
第２データの生成時に、エラー履歴データベース１２から抽出すべき（負例に設定された）各エラーのエントリ数は下記のように定式化される。例えば、エラー履歴データベース１２にある負例に設定された種類のエラーの発生件数をＮ、負例に設定された種類ｊのエラーの発生件数をｎｊとすると、種類ｊのエラーの負例に占める割合はＰｊ＝ｎｊ／Ｎとなる。エラー履歴データベース１２における正例に設定された種類のエラーの発生件数をＭとすると、種類ｊのエラーに係るエントリの抽出件数ｓｊは下記の式（１）のように求められる。
【数１】
2019204345.tif 000003
【００９２】
ここで、αは第２データのエントリ数を、第１データのエントリ数で割った比である。学習データにおける負例に係るエントリ数と、正例に係るエントリ数の比を略１：１に設定する場合、α＝１となる。学習データにおける正例に係るエントリ数と、負例に係るエントリ数の比を略１：２に設定する場合、α＝０．５となる。
【００９３】
なお、上述ではエラー履歴データベース１２における各種類のエラーの発生件数に基づいて、第２データの生成時に抽出する各種類のエラーに係るエントリ数を計算していたが、その他の基準を使って計算を行ってもよい。例えば、エラー履歴データベース１２においてそれぞれの種類のエラーが発生した複合機の台数を使って計算を行ってもよいし、第２データに含まれる各種類のエラーのエントリ数が略均等になるように抽出を行ってもよい。
また、エラー履歴データベース１２からランダムサンプリング（ランダムなエントリの抽出）を行い、負例に係るエントリ数と正例に係るエントリ数があらかじめ設定された比と近い数になるよう、第２データを生成してもよい。
【００９４】
次に、データ生成部１５は、第１データおよび第２データのエントリにおけるシリアル番号とエラー発生日時を参照して対応する機体構成情報とパーツ情報を装置構成データベース１３から取得する（ステップＳ２０６）。ステップＳ２０６では例えば、第１データと第２データにおけるエラー発生日時からの経過時間が最小の日時に取得された機体構成情報とパーツ情報のエントリを選ぶことができる。また、データ取得日時が第１データと第２データにおけるエラー発生日時に最も近い機体構成情報とパーツ情報のエントリを選択してもよい。各複合機から機体構成情報とパーツ情報が取得される頻度が高いほど、エラー発生時における正確な構成とパーツの情報を得ることができる。
【００９５】
そして、取得した各エントリの機体構成情報とパーツ情報を使って学習データを生成する（ステップＳ２０７）。データ生成部１５は、学習データの各エントリが正例または負例のいずれであるのか識別ができるよう、「エントリタイプ」の項目（列）を追加する（例えば、図８の列１７ｄ）。データ生成部１５は、学習データの説明変数（特徴量）の値が数値となるよう、必要な前処理を行う。図８〜図１０に示されているのは前処理が行われる前の学習データである。データ生成部１５は、前処理前のデータに含まれている文字列や記号を除去したり、数値に置き換えたりする。また、データ生成部１５は必要に応じて数値を補正してもよい。例えば、データ生成部１５は“３０％”を“０．３”に変換する。また、データ生成部１５は一定の規則に基づいて文字列を値に変換してもよい。例えば、“厚紙”を“２”、“普通”を“１”に変換する。
【００９６】
上述のように、「エントリタイプ」は診断モデルを学習する際に教師信号として使われるため、「エントリタイプ」の値が数値でない場合には、変換処理を行う。例えば、「エントリタイプ」の値が「対象エラー」となっているエントリについては値を１（正例）、エントリタイプが「対象エラー」となっているエントリについては値を０に設定する（負例）。
【００９７】
次に、モデル生成部２０は学習データを使って種類Ｅｉのエラーが発生する可能性の大きさを推定する診断モデルを生成する（ステップＳ２０８）。モデル生成部２０は、教師あり学習を行い、診断モデルを学習する。モデル生成部２０は診断モデルを生成したら、生成した診断モデルを診断対象とするエラーの種類を示す情報とともにモデルデータベース１９に保存する。
【００９８】
そして、モデル生成部２０はエラー履歴データベース１２を参照し、各複合機で発生しているエラーの種類のリストを更新する（ステップＳ２０９）。例えば、これまで発生していなかった種類のエラーが発生している場合、該当する種類のエラーをリストに追加する。また、各種類のエラーの発生頻度に関する情報、各種類のエラーが発生した複合機の台数に関する情報、診断モデルが生成されているエラーの種類に関する情報や、診断モデルの生成日時が管理されている場合、これらの情報を更新してもよい。
【００９９】
エラーのリストが更新されたら、診断モデルの生成が必要な種類のエラーが他にあるか否かを確認する（ステップＳ２１０）。各種類のエラーについて診断モデルを生成する必要性の有無を判定するため、ステップＳ２０１の説明で述べた基準を用いることができる。診断モデルの生成が必要な種類のエラーが他にない場合、図１８、図１９の処理を終了する（ステップＳ２１０のＮＯ）。診断モデルの生成が必要な種類のエラーが他にある場合（ステップＳ２１０のＹＥＳ）、再度ステップＳ２０１以降の処理を実行する。
【０１００】
次に、診断処理の詳細について説明する。図２０、図２１は診断処理の例を示したフローチャートである。以下では、図２０、図２１を参照しながら、処理を説明する。
【０１０１】
最初に選択部２１は、どの種類Ｅｉのエラーが発生する可能性を推定するのかを決める（ステップＳ３０１）。管理者が管理部２２を介して診断対象とするエラーの種類を指定してもよい。また、管理者は診断スケジュールを作成し、各種類のエラーについて診断処理が行われる周期や時刻を指定してもよい。また、選択部２１は、エラー履歴データベース１２における各種類のエラーの発生状況に基づいて診断処理の対象となるエラーの種類を決定してもよい。例えば、現時刻までのある期間において特定の種類のエラーの発生件数がしきい値より大きい場合には、当該種類のエラーについて診断処理を行ってもよい。また、発生件数が増加傾向にある種類のエラーについて診断処理を行ってもよい。
【０１０２】
次に、選択部２１は、エラー履歴データベース１２を参照し、診断対象とする装置を特定する（ステップＳ３０２）。例えば、前ステップで選択した種類のエラーが発生した状態となっていない複合機または、前ステップで選択した種類のエラーが未発生の複合機を診断対象としてもよい。複合機の台数が多く、診断処理に要する計算量や処理時間が大きくなる場合には複数の複合機をいくつかの集合に分割し、それぞれの集合ごとに診断処理を行ってもよい。また、ステップＳ３０２で、診断対象を限定せず、診断可能であるすべての複合機を診断対象としてもよい。
【０１０３】
そして、選択部２１は、装置構成データベース１３を参照し、対象装置に係る機体構成情報とパーツ情報から検査データを生成する（ステップＳ３０３）。選択部２１は、検査データの説明変数（特徴量）の値が数値となるよう、前処理を行ってもよい。前処理の内容は、ステップＳ２０７（学習データの生成）に係る説明で述べた通りである。
【０１０４】
選択部２１はモデルデータベース１９を参照し、種類Ｅｉのエラーに係る診断モデルのデータを取得する。そして、選択部２１は検査データを種類Ｅｉのエラーに係る診断モデルに検査データの各エントリを入力し、それぞれの装置ごとに出力値を計算する（ステップＳ３０４）。図１１〜図１３の説明で述べたように、識別子であるシリアル番号（列１８ｄ）を除き、検査データの各エントリ（行）は、それぞれの複合機に対応する説明変数の値の集合である。したがって、検査データのそれぞれのエントリ（行）を診断モデルに入力すると、複合機ごとに出力値が得られる。検査データのシリアル番号を参照することによって、それぞれの出力値に対応する複合機を特定することができる。
【０１０５】
次に、選択部２１は、診断モデルの出力値に基づき、種類Ｅｉのエラーの発生を予防するために、保守点検の対象とする装置を選択する（ステップＳ３０５）。例えば、選択部２１は検査データのそれぞれのエントリから得られた出力値をしきい値と比較し、出力値がしきい値より大きいエントリに対応する複合機を保守点検の対象となる複合機として選択してもよい。また、診断モデルが分類を行うものである場合には、各エントリが特定のクラスやクラスタなどに分類されたときに、当該エントリに対応する複合機を保守点検の対象として選択してもよい。
【０１０６】
そして、選択部２１はエラー履歴データベース１２のエラー定義情報を参照し、種類Ｅｉのエラーの予防保守手順を取得する（ステップＳ３０６）。予防保守手順とは、保守員が予防保守において行うべき作業の手順を示す情報である。なお、選択部２１は予防保守手順の代わりに複合機の点検すべき部位の情報のみを取得してもよい。
【０１０７】
次に、通知部２３は保守担当者データベース１４を参照し、保守点検の対象となる装置の情報と、予防保守手順を担当の保守員に通知する（ステップＳ３０７）。図２２は、ステップＳ３０７において、保守員が使用する端末に表示される予防保守実施依頼画面の例（画面３３）を示している。
【０１０８】
画面３３の上部には、通知の日時、保守員の氏名、複合機の設置場所、複合機のモデル（型番）、複合機のシリアル番号と保守点検の対象となる部位が表示されている。これらの情報により、保守員は迅速に保守点検が必要な複合機を特定することができる。図２２の例において保守点検を行うべき部位として指定されているのは原稿送り装置である。一方、画面３３の下部には、予防保守において保守員が行うべき作業の手順が示されている。図２２の例では、診断コマンドを実行し、リターンコードに応じて異なる作業を行うよう指示が出されている。図２２の画面では、テキストで手順が示されているが、写真やイラストを使って手順の説明を行ってもよいし、音声で説明を行ってもよい。
【０１０９】
故障やトラブルを事前に予防し、利用者の安全性や顧客の業務を維持するために、各種の装置について予防保守を行うことが一般的である。ただし、装置の台数が多い場合には故障やトラブルが発生する蓋然性の高い装置について優先的に予防保守を行うことが求められる。限られた時間の中で予防保守の対象とする装置を選択するために、収集されたデータに機械学習的手法を適用し、故障やトラブルの発生する可能性が高い装置を推定することができる。
【０１１０】
だが、装置の稼働時間が長くなると、発生するエラーの種類も増え（例えば、数百から数千種類以上）、ログ（稼働履歴）のデータサイズも大きくなるため、それぞれの種類のエラーが発生する可能性を正確に推定できる診断モデルを生成するのが難しくなる。収集されたログから直接、学習データを生成すると、診断対象の種類のエラーに係るエントリ（正例）の占める比率が低くなってしまい、不均衡なデータとなってしまう。不均衡なデータを使って学習を行うと、負例の影響が大きくなりすぎてしまい、精度が不十分な診断モデルしか生成できない場合がある。
【０１１１】
そこで、本実施形態に係る診断システムでは、学習データにおいて診断対象とする種類のエラーが占める比率がもとのログデータよりも高くなるよう、前処理を行う。具体的には、各種類のエラーについて診断を行うモデルの学習に用いる学習データにおける診断対象の種類のエラー（正例）に係るエントリの占める件数の比率が、エラー履歴情報における該当する種類のエラーの占める件数の比率より高くなるようにする。具体的には、ログから診断対象としない種類のエラー（負例）の一部のみを抽出し、学習データにおける負例の比率が高くなりすぎないようにする。
【０１１２】
学習データに対して上述のような前処理を行うことにより、複数の装置の集合から、エラーの種類ごとに高い精度で予防保守の対象とすべき装置を抽出することができるようになる。本実施形態に係る方法を用いることにより、生成される診断モデルの精度を改善できるだけでなく、学習データの生成時に必要な記憶領域や計算資源の消費を抑えることができる。
【０１１３】
（第２の実施形態）
第２の実施形態では、診断装置やログ収集装置のハードウェア構成について説明する。上述の各実施形態における診断装置、ログ収集装置はコンピュータ１００によって構成される。コンピュータ１００には、サーバ、クライアント端末、組み込み機器のマイコン、タブレット、スマートフォン、フィーチャーフォン、パソコンなどの各種の情報処理装置が含まれる。コンピュータ１００は、仮想計算機（ＶＭ：Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）やコンテナなどによって実現されていてもよい。
【０１１４】
図２３は、コンピュータ１００の一例を示す図である。図２３のコンピュータ１００は、プロセッサ１０１と、入力装置１０２と、表示装置１０３と、通信装置１０４と、記憶装置１０５とを備える。プロセッサ１０１、入力装置１０２、表示装置１０３、通信装置１０４、記憶装置１０５は、バス１０６によって相互に接続されている。
【０１１５】
プロセッサ１０１は、コンピュータ１００の制御装置と演算装置を含む電子回路である。プロセッサ１０１として、例えば、汎用目的プロセッサ、中央処理装置（ＣＰＵ）、マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、コントローラ、マイクロコントローラ、状態マシン、特定用途向け集積回路、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プログラム可能論理回路（ＰＬＤ）またはこれらの組合せを用いることができる。
【０１１６】
プロセッサ１０１は、バス１０６を介して接続された各装置（例えば、入力装置１０２、通信装置１０４、記憶装置１０５）から入力されたデータやプログラムに基づいて演算処理を行い、演算結果や制御信号を、バス１０６を介して接続された各装置（例えば、表示装置１０３、通信装置１０４、記憶装置１０５）に出力する。具体的には、プロセッサ１０１は、コンピュータ１００のＯＳ（オペレーティングシステム）や、診断プログラムなどを実行し、コンピュータ１００に含まれるそれぞれの装置を制御する。
【０１１７】
診断プログラムは、コンピュータ１００に、診断装置の各構成要素に係る処理を実行させるプログラムである。診断プログラムは、一時的でない有形のコンピュータ読み取り可能な記憶媒体に記憶される。上記の記憶媒体は、例えば、光ディスク、光磁気ディスク、磁気ディスク、磁気テープ、フラッシュメモリ、半導体メモリであるが、これに限られない。プロセッサ１０１が診断プログラムを実行することによって、コンピュータ１００は診断装置として機能することができる。
【０１１８】
入力装置１０２は、コンピュータ１００に情報を入力するための装置である。入力装置１０２は、例えば、キーボード、マウス、タッチパネルなどであるが、これに限られない。ユーザは、入力装置１０２を用いることにより、システムの動作設定の変更、診断モデルの生成タイミングの設定などを行い、診断処理の実行タイミングの設定、診断モデルの生成開始指令、診断処理の実行開始指令などを入力することができる。
【０１１９】
表示装置１０３は、画像や映像を表示するための装置である。表示装置１０３は、例えば、ＬＣＤ（液晶ディスプレイ）、ＣＲＴ（ブラウン管）、有機ＥＬ（有機エレクトロルミネッセンス）ディスプレイ、プロジェクタ、ＬＥＤディスプレイなどであるが、これに限られない。表示装置１０３には、各種の設定画面、各データベースの内容、学習した診断モデルの情報、診断の実行結果などが表示される。
【０１２０】
通信装置１０４は、コンピュータ１００が外部装置と無線または有線で通信するために使用する装置である。通信装置１０４は、例えば、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）、通信モジュール、モデム、ハブ、ルータなどであるが、これに限られない。コンピュータ１００は、通信装置１０４を介して、他の情報処理装置とデータの通信をすることができる。また、コンピュータ１００がデータセンターやマシン室に設置されたサーバなどである場合、コンピュータ１００は通信装置１０４を介して、リモートの端末からの操作指令を受け付けたり、画面表示の内容をリモートの端末に表示させたりしてもよい。
【０１２１】
記憶装置１０５は、コンピュータ１００のＯＳや、診断プログラム、診断プログラムの実行に必要なデータ、診断プログラムの実行により生成されたデータなどを記憶する記憶媒体である。記憶装置１０５には、主記憶装置と外部記憶装置が含まれる。主記憶装置は、例えば、ＲＡＭ、ＤＲＡＭ、ＳＲＡＭであるが、これに限られない。また、外部記憶装置は、例えば、ハードディスク、光ディスク、フラッシュメモリ、磁気テープなどであるが、これに限られない。上述の学習データベース１７、検査データベース１８と、モデルデータベース１９は、記憶装置１０５上に構築されてもよいし、外部のサーバやストレージ上に構築されてもよい。
【０１２２】
なお、コンピュータ１００は、プロセッサ１０１、入力装置１０２、表示装置１０３、通信装置１０４、記憶装置１０５を、それぞれ１つずつまたは複数備えてもよい。また、コンピュータ１００にプリンタやスキャナなどの周辺機器が接続されていてもよい。
【０１２３】
また、ログ収集装置、診断装置は、単一のコンピュータ１００により構成されてもよいし、複数のコンピュータ１００が相互に接続された情報システムによって構成されていてもよい。
【０１２４】
なお、本発明は上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素を適宜組み合わせることによって種々の発明を形成できる。また例えば、各実施形態に示される全構成要素からいくつかの構成要素を削除した構成も考えられる。さらに、異なる実施形態に記載した構成要素を適宜組み合わせてもよい。
【符号の説明】
【０１２５】
１ａ、１ｂ、１ｃ  複合機
２、３  ネットワーク
２ａ、２ｂ、２ｃ  基地局
４  サーバラック
４ａ  ログ収集装置
４ｂ  診断装置
５ａ、５ｂ、５ｃ  端末
１０  データ収集部
１１、１６  記憶部
１２  エラー履歴データベース
１２ａ、１２ｂ、１３ａ、１３ｂ、１４ａ、１４ｂ、１７ａ、１７ｂ、１７ｃ、１８ａ、１８ｂ  テーブル
１７ｄ、１８ｄ  列
１３  装置構成データベース
１４  保守担当者データベース
１５  データ生成部
１７  学習データベース
１８  検査データベース
１９  モデルデータベース
２０  モデル生成部
２１  選択部
２２  管理部
２３  通知部
３０、３１、３２、３３  画面
１００  コンピュータ
１０１  プロセッサ
１０２  入力装置
１０３  表示装置
１０４  通信装置
１０５  記憶装置
１０６  バス
【図１】
2019204345.tif 000004
【図２】
2019204345.tif 000005
【図３】
2019204345.tif 000006
【図４】
2019204345.tif 000007
【図５】
2019204345.tif 000008
【図６】
2019204345.tif 000009
【図７】
2019204345.tif 000010
【図８】
2019204345.tif 000011
【図９】
2019204345.tif 000012
【図１０】
2019204345.tif 000013
【図１１】
2019204345.tif 000014
【図１２】
2019204345.tif 000015
【図１３】
2019204345.tif 000016
【図１４】
2019204345.tif 000017
【図１５】
2019204345.tif 000018
【図１６】
2019204345.tif 000019
【図１７】
2019204345.tif 000020
【図１８】
2019204345.tif 000021
【図１９】
2019204345.tif 000022
【図２０】
2019204345.tif 000023
【図２１】
2019204345.tif 000024
【図２２】
2019204345.tif 000025
【図２３】
2019204345.tif 000026