(57)【要約】【課題】事前の計画通りに作業が進んでいない状況下においても、再計画することなしに、機械学習による工程推定で用いる計画に関する特徴量を適切に生成する手段を提供する。【解決手段】事前に作成された計画を構成する各工程の進捗度合と、事前に作成された計画を構成する各工程の重要度・緊急度に応じて、機械学習による工程推定で用いる計画に関する特徴量の算出方法を決定する。【選択図】図５
2020098435.tif 000002
【特許請求の範囲】
【請求項１】
作業者が実施中の工程を、計画に関する情報を特徴量の１つとして利用する機械学習により推定する工程推定装置であって、
事前に作成された計画を構成する各工程の進捗情報を受け付ける進捗情報受付手段と、
事前に作成された計画を構成する各工程の重要度・緊急度を決定する重要緊急度決定手段と、
前記進捗情報受付手段により受け付けた進捗情報と、前記重要緊急度決定手段により決定された重要度・緊急度と、に応じて、計画に関する特徴量の算出方法を決定する算出方法決定手段と、を有する工程推定装置。
【請求項２】
請求項１に記載の工程推定装置であって、
前記計画に関する特徴量は、計画情報に基づいて算出される、推定候補の工程毎にそれが正解である可能性の大きさによって表現され、
前記可能性の大きさは、時間軸に関する任意の種類の分布から決定され、
前記算出方法決定手段は前記進捗情報及び重要度・緊急度に応じて前記分布を決定する工程推定装置。
【請求項３】
請求項１または２に記載の工程推定装置であって、
前記重要緊急度決定手段は計画を構成する各工程が事前の計画におけるクリティカルパスに含まれているかを判定し、その結果に応じて各工程の重要度・緊急度を決定する工程推定装置。
【請求項４】
請求項３に記載の工程推定装置であって、
前記重要緊急度決定手段は、進捗が遅れている際に、遅れている工程が事前の計画におけるクリティカルパスに含まれている場合に重要度・緊急度が高いと判定し、
更に、前記重要緊急度決定手段は、進捗が遅れている際に、遅れている工程が事前の計画においてクリティカルパスに含まれていないが、遅れている状況下において事前に計画された作業時間通りに作業を継続した際にクリティカルパスとなる場合に重要度・緊急度が高いと判定する工程推定装置。
【請求項５】
請求項１から４のいずれか一項に記載の工程推定装置であって、
前記進捗情報受付手段は、前記工程推定装置の推定精度が所定の値以上である推定結果から、遅れている、先行している、計画とは異なる順序で実施している、並行して作業しているのうちの１つ又は組み合わせに係る情報を進捗情報として受け付ける工程推定装置。
【請求項６】
請求項１から５のいずれか一項に記載の工程推定装置であって、
過去の実積情報を保持する保持手段を更に有し、
前記算出方法決定手段は、前記進捗情報及び重要度・緊急度に応じて、前記保持手段が保持する実績情報の統計値に基づき計画に関する特徴量の算出方法を決定する工程推定装置。
【請求項７】
請求項１から５のいずれか一項に記載の工程推定装置であって、
前記算出方法決定手段は、進捗が遅れている際には、重要度・緊急度が高い工程の作業時間が、事前に予定されていたよりも短くなり得ることを反映して、計画に関する特徴量の算出方法を決定する工程推定装置。
【請求項８】
請求項１から５のいずれか一項に記載の工程推定装置であって、
計画作成時に用いられる各工程の単位作業時間の平均と標準偏差の情報を保持するテーブルを更に有し、
前記算出方法決定手段は、進捗が遅れている際には、重要度・緊急度が高い工程のうち、単位作業時間の標準偏差が大きい工程の作業時間が、事前に予定されていたよりも短くなり得ることを反映して、計画に関する特徴量の算出方法を決定する工程推定装置。
【請求項９】
請求項１から８のいずれか一項に記載の工程推定装置であって、
事前に作成された計画および前記工程推定装置によって推定された作業者の作業実績のうちの少なくともひとつを表示する表示手段を更に有し、
前記表示手段は、時刻毎に事前に作成された計画に関する特徴量が、前記算出方法決定手段により決定されたいずれの算出方法に基づき作成されたかを識別可能な形式で表示する工程推定装置。
【請求項１０】
請求項９に記載の工程推定装置であって、
前記算出方法決定手段が事前に作成された計画を構成する工程の少なくとも一部に関する想定の単位作業時間を伸縮して仮想的に作成し直した仮想の計画に基づき特徴量を算出すると決定した場合、
前記表示手段は仮想の計画も表示する、又は事前に作成された計画を仮想の計画との差分が把握可能な形式で表示する工程推定装置。
【請求項１１】
作業者が実施中の工程を、計画に関する情報を特徴量の１つとして利用する機械学習により推定する方法であって、
事前に作成された計画を構成する各工程の進捗情報を受け付ける進捗情報受付工程と、
事前に作成された計画を構成する各工程の重要度・緊急度を決定する重要緊急度決定工程と、
前記進捗情報受付工程により受け付けた進捗情報と、前記重要緊急度決定工程により決定された重要度・緊急度に応じて、計画に関する特徴量の算出方法を決定する算出方法決定工程と、を有する方法。
【請求項１２】
コンピュータを請求項１乃至１０のいずれか一項に記載の装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、作業者が実施している工程を推定する工程推定装置および方法に関する。
【背景技術】
【０００２】
一般的に、製品を製造する際には、複数種類の作業を行う。例えば、印刷物を作成するためには、印刷、製本、断裁、検品などの複数の工程で構成される作業を行う必要がある。各工程の優先度や印刷物の期限を踏まえて作業計画を予め作成し、計画に基づいて各工程を実施した後、各工程の作業実績を入力することで予実管理をすることは一般に広く行われている。しかし、作業を構成する工程数が多くなったり、作業量が多くなったりした場合、実績を入力しなければいけない対象が増えるため、実績入力における作業者の負荷が大きくなるという問題があった。
【０００３】
作業者が実施した工程を自動で推定することができれば、上述の問題を解決することができる。例えば、作業者の位置・向き、各装置の動作ログ、事前の計画などを時刻毎に収集して特徴量に変換し、各時刻に作業者が実際に実施した作業工程（正解データ）と合わせて機械学習の学習データとする。その学習データを用いて推定器を作成すれば、任意の時刻の前述の特徴量を推定器に与えることで、作業者がいつ何の工程をしたかを推定することができる。推定に利用できる情報のうち、計画に関する情報は特に有用である。なぜならば、計画作成時においては、作業者は計画に基づいて作業することをコミットしているからである。特別な事情が発生しない限り、各時刻における作業者の実施工程は、その時刻周辺に計画されていた工程のいずれかである可能性が高いと考えられる。作業に遅れが発生し、事前の計画通りに作業することが困難になった場合においても、遅れが発生した時点における最良の計画を作成し直すことで、信憑性の高い情報として推定技術で利用することができる。
【０００４】
計画情報を推定に利用する技術として、例えば特許文献１がある。特許文献１では、位置測位技術単体から得られた位置情報と、計画情報を使って、ユーザの実際の位置を推定する方法が提案されている。この方法は、各種情報の優先度を事前に設定し、優先順位の高い情報を推定結果とする。つまり、予め計画情報の優先順位を高くしておくことで、推定時に計画情報を加味した結果を出力することができる。
【０００５】
また、計画情報を推定に利用する別の例として、特許文献２がある。特許文献２においても、計画情報を位置推定に利用する方法が提案されている。特許文献２の方法では、計画の確からしさを考慮して、計画情報の利用方法をシステム側で判断した上で、位置推定を実施している。
【０００６】
一般的に、計画情報を利用する推定技術において、正確な計画を収集できるか否かはそれを利用する推定精度に大きな影響を与えるため重要である。そのため、装置の故障などの突発的な事象により遅れが発生し、事前の計画通りに作業することが困難になった場合、その時点で計画を作成し直し計画情報の正確さを担保することが望ましい。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００５−７８２８８号公報
【特許文献２】特開２００７−３０６１７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、実際の製造現場においては、事前の計画通りに作業することができなくなった際に、必ずしも再計画がなされるわけではない。現場における業務フローとして再計画するという処理ステップがルール化されていない場合、各作業者の裁量で再計画せずに対応することがある。例えば、計画に遅れが生じた場合、遅れの程度や、遅れている工程が全体の計画の中でどれほど緊急度或いは重要度が高いかによって、その後の作業をどのように進めるかを作業担当者が自己で判断し対処する。遅れている工程の重要度・緊急度が低く、他の作業計画に影響を与えない場合には、事前の計画で予定されていた作業工程順に、予定されていた作業時間をかけて作業を続ける傾向が強い。一方、遅れている工程の全体計画における緊急度又は重要度が高く、遅れている状況が製造の納期に影響を与えるような状況下では、いずれかの工程を計画されていたよりも短い時間で作業することで対応する傾向が強くなる。前述の様な例においても、明示的に再計画されていれば、作業者がとり得る行動の情報が計画情報に確からしい情報として含まれる。故に、上記のように作業者がとり得る行動が現場の事情に応じて異なる場合においても、推定器が利用する情報の１つとして計画情報を用いることで、精度の高い推定が期待できる。しかしながら、再計画なしに精度よく推定することは難しい。
【０００９】
特許文献１に記載された方法では、推定するに際し、どの情報を優先するかを事前に決定する必要がある。このため、計画情報を優先的に利用すると設定した場合、計画が正しくない状況では推定精度が低下する。遅れが発生した際に再計画がなされて計画が正しく保たれるか否かはユーザによって異なるため、上述の課題を解決することはできない。
【００１０】
特許文献２では、計画の確からしさを考慮して計画情報の利用方法をシステム側で判断しているが、計画の確からしさが低い場合の対処が一律的である。故に、上述のような状況に応じて作業内容が異なる事象に適用することは適切ではない。
【００１１】
つまり、従来の技術では計画通りに作業が進んでいない状況で再計画されない場合に、作業者が実施している工程を推定するために計画情報を適切に扱うことができない。なお、各特徴量の重みを考慮するような機械学習アルゴリズムを用いて、突発的な事項で遅延が発生した際の重みづけも学習することは理論上可能ではある。しかし、そのようなアルゴリズムの実運用上の問題点として、学習するに足るデータが集まらないと適切な推定モデルを作成することは難しい。
【００１２】
本発明はこうした課題を解決するためになされたものであり、その目的は、事前の計画通りに作業が進んでいない状況下においても、再計画することなしに、機械学習による工程推定で用いる計画に関する特徴量を適切に作ることができる技術の提供にある。
【課題を解決するための手段】
【００１３】
上記の課題を解決するための一手段として、本発明のある態様に係る工程推定装置は、以下の構成を備える。
すなわち、作業者が実施中の工程を、計画に関する情報を特徴量の１つとして利用する機械学習により推定する工程推定装置であって、事前に作成された計画を構成する各工程の進捗情報を受け付ける進捗情報受付手段と、事前に作成された計画を構成する各工程の重要度・緊急度を決定する重要緊急度決定手段と、前記進捗情報受付手段により受け付けた進捗情報と、前記重要緊急度決定手段により決定された計画の重要度・緊急度に応じて、計画に関する特徴量の算出方法を決定する算出方法決定手段と、を有する。
【発明の効果】
【００１４】
本発明によれば、事前の計画通りに作業が進んでいない状況下においても、再計画することなしに、機械学習による工程推定で用いる計画に関する特徴量を適切に作ることができる。それにより、工程推定の精度を向上させることができる。
【図面の簡単な説明】
【００１５】
【図１】工程推定システムの構成の一例を示す図。
【図２】工程推定装置の構成の一例を示す図。
【図３】作業定義情報の内容を保持するテーブル構成の一例を示す図。
【図４】注文及び計画の内容を保持するテーブル構成の一例を示す図。
【図５】実施形態１における工程推定装置の機能を示す図。
【図６】特徴量に関するデータを保持するテーブル構成の一例を示す図。
【図７】計画に関する特徴量の概念を示す図。
【図８】実施形態１における、計画に関する特徴量を算出する際に利用する分布パターンを保持するテーブル構成の一例を示す図。
【図９】計画に関する特徴量の算出方法を決定する処理フローを示す図。
【図１０】実施形態１における、仮想の計画を作成する処理フローを示す図。
【図１１】実施形態１における、計画に関する特徴量を算出する際に利用する分布を作成する処理フローを示す図。
【図１２】工程推定装置が計画に関する特徴量を算出する際に想定する計画の一例を示す図（クリティカルパスである工程が遅れている場合＆クリティカルパスではない工程が遅れている場合）。
【図１３】コンピュータと人間が計画を共有していない場合における、計画に関する特徴量の概念を示す図。
【図１４】工程推定装置が計画に関する特徴量を算出する際に想定する計画の一例を示す図（計画よりも作業が早まっている場合＆計画とは異なる順序で作業をしている場合）。
【図１５】実施形態２における、計画に関する特徴量を算出する際に利用する分布パターンを保持するテーブル構成の一例を示す図。
【図１６】実施形態２における、仮想の計画を作成する際に利用する仮想計画パターンを保持するテーブル構成の一例を示す図。
【図１７】実施形態３における工程推定装置の機能を示す図。
【図１８】工程推定装置が表示する画面の一例を示す図。
【図１９】工程推定装置が表示する画面の一例を示す図。
【図２０】工程推定装置が表示する画面の一例を示す図。
【図２１】工程推定装置が表示する画面の一例を示す図。
【図２２】工程推定装置が表示する画面の一例を示す図。
【発明を実施するための形態】
【００１６】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。また、各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。また、各図面において説明上重要ではない部材の一部は省略して表示する。
【００１７】
＜実施形態１＞
提案する工程推定装置は、計画に基づき人や装置により製品が生産される現場に構築される。以降では、印刷工場を例として取り上げて説明をするが、それに限らず、他の生産現場に構築することもできる。
【００１８】
図１は工程推定システムの構成図を示す。工程推定装置１は、印刷工場内で稼働する機械の動作ログや、作業者の動作に関する情報、計画に関する情報などの印刷工場から得られるデータを収集し、印刷現場で実施されている作業工程を推定するための装置である。印刷機２は、用紙に印刷をするための機械である。製本機３は印刷された用紙を製本するための機械である。断裁機は用紙を断裁するための機械である。携帯情報端末５は、例えば、携帯電話、ＰＨＳ、ノートＰＣなど、ユーザが携帯可能であり、無線ＬＡＮ等により通信可能な端末を指す。携帯端末５は内部に加速度、角加速度、地磁気などを計測するセンサを有している。また、携帯端末５は、計測されたセンサ情報を時刻情報とともに無線アクセスポイント６を介して工程推定装置１や位置推定装置７に送信することができる。位置推定装置７は、携帯端末５から受信したセンサ情報から、携帯端末５を所持するユーザの位置を推定する装置である。作業定義情報ＤＢ８は、印刷現場における作業リソース（作業員、機械）が従う計画を作成する際に使用される情報を保管するＤＢ（Ｄａｔａ  Ｂａｓｅ）である。注文ＤＢ９は印刷工場が受けた注文を管理するＤＢである。計画作成装置１０は作業定義情報ＤＢ８を利用して、印刷現場の作業リソースが従う計画を作成する装置である。前述の装置１、７、１０、機械２、３、４、ＤＢ８、９、アクセスポイント６は、ローカルエリアネットワーク１９により、互いに通信可能に接続されている。
【００１９】
図２は工程推定装置１の具体的な構成図を示している。入力デバイス１１はマウスやデジタイザ等であり、工程推定装置１にユーザの指示を入力するために用いられる。出力デバイス１２は装置の状態や処理内容を表示するＬＥＤ（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）や液晶パネル等である。ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１３は二次記憶装置１５に保存されているプログラムを一次記憶装置１４に読み込む。更に、ＣＰＵ１３は読み込んだプログラムを解釈・実行することで装置内の各種制御や計算、ＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）の表示を実施する。一次記憶装置１４は主にＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などのメモリである。二次記憶装置１５には工程推定装置１を動作させるために必要な工程推定プログラムが保存されている。二次記憶装置１５は、例えばハードディスクやフラッシュメモリなどの記憶媒体がこれに当たるが、本発明は特定の記憶媒体に依存しないことは言うまでもない。一般的に一次記憶装置１４の容量は二次記憶装置１５の容量より小さく、一次記憶装置１４に格納しきれないプログラムやデータ等は二次記憶装置１５に格納される。また、長時間記憶しなくてはならないデータ等も二次記憶装置１５に格納される。通信ＩＦ（Ｉｎｔｅｒｆａｃｅ）１６はローカルエリアネットワーク１９に繋がっており、工場内の各種装置／機械／ＤＢ／アクセスポイント／携帯端末２〜９と通信する際の通信インターフェースである。１７は１１〜１６の各構成要素を通信可能に接続するバスである。
【００２０】
図３は、作業定義情報ＤＢ８で管理される作業定義情報の保存形式の一例を示している。なお、作業定義情報とは特定の製品を生産するために必要な工程、その単位作業時間、その工程を担当する作業者及び使用するリソースを含む情報である。
【００２１】
図３（ａ）に、作業定義情報を管理する作業定義情報テーブル３１０を示す。列３１１には、各作業定義情報を一意に識別する作業定義情報ＩＤの情報が格納されている。列３１２は、各作業定義情報により何の製品を製造するのかを表す製品種類の情報が格納されている。列３１３には、属性項目として製造精度の情報が格納されている。製造精度とは、製品を製造する際に、どの程度の精度で製造するかの情報である。計画作成時には、顧客から指定された製造精度を属性値に持つ作業定義情報を用いて計画を作成する。図３（ａ）の例では、高、中、低の三段階の製造精度を示しているが、これに限らない。例えば精度を表す数値を入力することで表現しても構わない。列３１４には、属性項目として特急注文か否かの情報が格納されている。特急注文か否かとは、受注日から締切日までの間隔が短い注文か否かを表す情報である。図３（ａ）の例では、１が入力されている際は特急注文を処理するための作業定義情報であることを示している。０が入力されている際は特急注文以外の注文を処理するための作業定義情報であることを示している。なお、特急注文を処理するための作業定義情報と、特急注文以外の注文の処理するための作業定義情報の内容が同じである場合、列３１４に「１，０」の様な値を格納して共通化してもよい。計画作成時には、特急注文である注文を受けた場合には、特急注文の属性に１が入力されている作業定義情報を用いて、作業定義情報を作成する。図３（ａ）の例では、特急注文か否かを０か１の二値で表現したが、これに限らない。例えば、受注日から締切日の日数、又は日数の範囲を属性値として示してもよい。また、ここでは属性項目として２つの情報を示しているが、２つに限定されるわけではなく、必要に応じて属性を追加してもよい。追加する属性項目としては、例えば、重要か否か、緊急か否かといった情報を示すものがある。
【００２２】
図３（ｂ）に、製品を製造するために必要な工程を管理する工程テーブル３２０を示す。列３２１には各工程を一意に識別する工程ＩＤの情報が格納されている。列３２２には、どの作業定義情報に紐づく工程であるかを示す作業定義情報ＩＤが格納されている。なお、列３２２における作業定義情報ＩＤは、図３（ａ）の列３２１における作業定義情報ＩＤに相当する。列３２３には、何の作業工程の情報であるかを示す、工程の種類の情報が格納されている。列３２４には、工程を実施する作業者に関する情報が格納されている。なお、列３２４に格納される情報は、後述する図３（ｃ）のテーブル３３０を参照する。列３２５には何の機械を利用して、工程を実施するかを示す情報が格納されている。なお、なお、列３２５に格納される情報は、後述する図３（ｄ）のテーブル３４０を参照する。列３２６には、各工程の単位作業時間が格納されている。作業計画を作成する際には単位作業時間の情報と、後述する注文された部数の情報を用いて各工程の所要時間を計算する。列３２６には、単位作業時間３２６のばらつきに関する情報として、標準偏差の情報が格納されている。列３２８には、各工程間の制約条件の情報が格納されている。図３（ｂ）の例では、工程ＩＤが２である断裁が完了しなければ、工程ＩＤが３の検品は行われないことを示す。
【００２３】
図３（ｃ）に、印刷現場で作業する作業者の情報を管理するテーブル３３０を示す。列３３１には、各作業者を一意に識別する作業者ＩＤの情報が格納されている。列３３２には、各作業者の名前の情報が格納されており、計画情報を表示する画面上に表示される。
【００２４】
図３（ｄ）に、印刷現場で稼働する機械の情報を管理するテーブル３４０を示す。列３４１には、各機械を一意に識別する機械ＩＤの情報が格納されている。列３４２には、各機械の名前の情報が格納されており、計画情報を表示する画面上に表示される。なお、テーブル３１０〜３４０と同等の情報を持つものであれば、データの形式は問わない。例えば、ＸＭＬ等で定義されたデータのフォーマットに変換して保存しても良い。
【００２５】
図４は、顧客から受けた注文と、その注文を受けて作成された製造計画の保存形式の一例を示す。注文に関する情報は注文ＤＢ９に保存される。計画に関する情報は計画作成装置１０によって作成され、作成された計画情報は工程推定装置１に送信される。
【００２６】
図４（ａ）に、顧客から受けた注文の情報を管理する注文テーブル４１０を示す。列４１１には、各注文を一意に識別する注文ＩＤが格納されている。列４１２には、注文された製品の種類を示す情報を格納する。列４１３には、注文を受けた数量の情報である部数が格納されている。例えば、生産する製品がチラシの場合、注文数はチラシの枚数であり、生産する製品が冊子の場合、注文数は冊子として出荷する冊数である。列４１４には、製品を製造する際に要求されている精度の情報を格納している。列４１５には、注文が特急注文か否かの情報が格納されている。列４１６には、注文を受注した日付情報が格納されている。列４１７には、各注文の納期の情報が格納されている。
【００２７】
図４（ｂ）に、各工程をいつ実施するかの計画の情報を管理する計画テーブル４２０を示す。列４２１には、各計画を一意に識別する計画ＩＤが格納されている。列４２２には、どの注文を処理するための工程であるかを特定するための注文ＩＤの情報が格納されている。なお、列４２２に格納される情報は、図４（ａ）のテーブル４１０を参照する。列４２３には、どの作業定義情報を基に計画したかを特定するための作業定義ＩＤが格納されている。なお、列４２２に格納される情報は、図３（ａ）のテーブル３１０を参照する。列４２４には、どの工程を行う計画なのかを特定するための工程ＩＤが格納されている。なお、列４２４に格納される情報は図３（ｂ）のテーブル３２０を参照する。列４２５には、作業を開始する予定の日時情報が格納されている。列４２６には、作業を終了する予定の日時情報が格納されている。なお、テーブル４１０、４２０と同等の情報を持つものであれば、データの形式は問わない。例えば、ＸＭＬ等で定義されたデータのフォーマットに変換して保存しても良い。
【００２８】
図５に、本実施形態に係る工程推定装置１の主要な機能を説明するための機能ブロック図を示す。ここに示す各ブロックは、ハードウエア的には、コンピュータのＣＰＵをはじめとする素子や機械装置で実現でき、ソフトウエア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウエア、ソフトウエアの組合せによっていろいろなかたちで実現できることは、本明細書に触れた当業者には理解されるところである。
【００２９】
通信部１０１は、工程推定装置１が有する他の機能が、ローカルエリアネットワーク１９を介して接続する工場内の装置／機械／ＤＢ／アクセスポイントとデータ通信するための機能である。予実管理部１０２は、計画作成装置１０が作成した計画情報を受信し、管理する。より具体的には、注文テーブル４１０と計画テーブル４２０を受信し、工程推定装置１内に保持する。また、予実管理部１０２は、後述する工程推定部１１４により推定された各時刻に実施された工程の推定結果を、計画情報に対する実績情報として、計画情報と紐づけて管理する。作業定義情報取得部１０３は、作業定義情報ＤＢ８から作業定義に関する情報を取得し、工程推定装置１内の他の機能に提供する。具体的には作業定義情報テーブル３１０、工程テーブル３２０、作業者テーブル３３０、機械テーブル３４０の情報を取得する。進捗情報受付部１０４は、印刷現場における計画に対する作業の進捗情報を、外部の装置・システム、予実管理部１０２、或いは工程推定装置１が有する入力デバイス１１から受信する。重要緊急度決定部１０５は、作業予定の工程の重要度或いは緊急度を予実管理部１０２が有する情報、或いは工程推定装置１が有する入力デバイス１１から受信した情報に基づき決定する。算出方法決定部１０６は、機械学習や深層学習で利用する計画に関する特徴量の算出方法を決定する。その際に、作業定義情報取得部１０３と進捗情報受付部１０４と重要緊急度決定部１０５とから、作業定義情報、作業の進捗度合、作業予定の工程の重要度・緊急度の情報を受け取り、それらに基づき算出方法を決定する。計画に関する特徴量は、計画情報に基づいて算出される、推定候補の工程毎にそれが正解である可能性の大きさによって表現される。具体的な算出方法の決定手順は図７〜図１１を用いて後述する。
【００３０】
センサ情報取得部１０８は、携帯情報端末５で計測された各種センサの計測結果、及び携帯端末のユーザ情報を受信する。機械動作ログ取得部１０９は、工場内で稼働する印刷機２、製本機３、断裁機４などの機械類から、それらの動作ログを取得する。位置情報取得部１１０は、位置推定装置７が推定した携帯情報端末５の位置情報を取得する。なお、携帯情報端末は印刷工場内で作業する作業者が保持しているため、作業者の位置情報を取得していることにもなる。特徴量作成部１０７は、予実管理部１０２、センサ情報取得部１０８、機械動作ログ取得部１０９、位置情報取得部１１０から各種データを受け取り、機械学習や深層学習で利用される特徴量を作成する。なお、計画に関する特徴量の作成に際しては、算出方法決定部１０６で決定された方法に従う。特徴量作成部１０７が作成する特徴量の概要、及びその作成手順に関しては、図６、図７を用いて後述する。
【００３１】
特徴量データ保持部１１１は、特徴量作成部１０７が作成した特徴量のデータを保持する。正解データ付与部１１２は、特徴量作成部１０７が作成した時刻毎の特徴量に、各時刻において印刷現場で実際に実施された工程を機械学習の正解データとして付与する。推定モデル作成部１１３は、正解データ付与部１１２が正解データを付与した特徴量を学習データとして、工程推定するための推定器を作成する。工程推定部１１４は、推定モデル作成部１１３が作成した推定器を用いて、特徴量データ保持部１１１が保持する正解データが付与されていない任意の時刻の特徴量に対して、その時刻に実施されていた作業工程を推定する。また、工程推定部１１４は、推定した結果を予実管理部１０２に送信する。
【００３２】
図６に、特徴量データ保存部１１１に保存されている特徴量テーブル６００を示す。特徴量テーブル６００の各行は、各時刻における印刷工場に関するデータを保持する。なお、特徴量テーブル６００は推定対象毎に作成される。特徴量テーブル６００は、上記の推定器を学習するために利用される。また、特徴量テーブル６００は、作成された推定器が、任意の時刻に推定対象が実施していた工程の種類を推定する際の入力データでもある。
【００３３】
列６０１には、特徴量テーブル６００の各行が、どの時刻のデータに該当するかを特定するための時刻情報が格納されている。列６０２及び列６０３に格納される情報は、携帯情報端末５が印刷工場内のどこに位置していたかを、平面上の情報として表現し、それぞれ印刷工場におけるｘ座標、ｙ座標を示す。列６０２及び列６０３の情報は、位置推定装置１が推定した携帯情報端末５の各時刻における位置情報を基に、特徴量作成部１０７によって作成される。列６０４に格納される情報は、携帯情報端末５がどの方向を向いていたかを、平面上の情報として表し、１〜３６０の間の値（単位は度）で示す。列６０４に格納される情報は、センサ情報取得部１０８が携帯情報端末５から各時刻における方位に関する情報を取得し、それを基に特徴量作成部１０７によって、作成される。なお、位置と向きに関する特徴量を、平面上の情報、つまり二次元上の情報として特徴量テーブル６００に持たせているが、立体上の情報、つまり３次元の情報として持たせても構わない。列６０５、列６０６、列６０７には、それぞれ印刷機２、製本機３、断裁機４が動作しているか否かの情報が格納されている。具体的には、機械が動作している場合は０、動作していない場合は１の値が特徴量として格納されている。なお、図６には記載を省略しているが、印刷工場で稼働する他の機械に関する動作状況も同様にテーブル６００に含まれる。列６０５〜列６０７に格納される上記の機械に関する特徴量は、機械動作ログ取得部１０９により取得された機械の動作ログに関する情報を基に、特徴量作成部１０７によって作成される。
【００３４】
列６０８には、各時刻において、推定対象が印刷工程を実施している可能性の高さを表現する値が格納されている。同様に、列６０９、列６１０、列６１１には、それぞれ、推定対象が製本工程、断裁工程、検品工程を実施している可能性の高さを表現する値が格納されている。なお、図６には記載を省略しているが、その他の工程に関してもその工程が実施されている可能性を表現する値が、特徴量テーブル６００を構成する独立の列に記載されている。各工程を実施している可能性の高さを表現する特徴量は、特徴量作成部１０７が、予実管理部１０２が保持する情報を利用して作成する。各工程を実施している可能性を表現する値の具体的な決定方法は図７を用いて後述する。列６１２には各時刻において推定対象が実際に実施していた作業工程が、機械学習における正解データとして格納されている。なお、正解データの付与は、ユーザが入力デバイス１１を介して明示的に行い、正解データ付与部１１２の機能によって実施される。
【００３５】
図７及び図８を用いて、特徴量テーブル６００の列６０８〜列６１１に格納される、各工程が実施されている可能性の大きさを表現する値の算出方法の概要を示す。なお、より詳細な算出方法は図９〜図１１を用いて後述する。
【００３６】
図７は計画に関する特徴量の概念を示す図である。図７における行７００は、作業者１の作業計画を時系列で図示している。作業者１は９時〜１２時の時間帯に、印刷工程７０１、製本工程７０２、断裁工程７０３、検品工程７０４を実施する予定である。図７における行７１０は、各時刻において、作業者１が印刷工程を実施している可能性の高さを、時間軸に関する分布７１１により図示している。同様に、図７の行７２０、行７３０、行７４０は、それぞれ作業者１が製本工程、断裁工程、検品工程を実施している可能性の高さを分布７２２、分布７３３、分布７４４により図示している。つまり各時刻における分布の高さが、その分布に紐づく工程を実施している可能性の高さとなる。なお、行７００の計画は、作業者１がいつ何の工程を実施する予定かを示しており、作業者１はその計画に基づいて作業をする。故に、各時刻において特定の工程が実施されている可能性の高さは、行７００においてその工程が実施される予定の時間帯と各時刻がどれほど離れているかということと相関がある。分布７１１〜７４４はその相関度合を反映するように作成された分布である。
【００３７】
分布７１１〜７４４は、図８（ａ）に示す分布パターン定義テーブル８００の情報に基づき作成される。列８０１には、分布パターンを一意に識別するためのＩＤが格納されている。列８０２には、工程ＩＤが格納されている。本工程ＩＤは工程テーブル３２０の列３２１の工程ＩＤを参照する。列８０３には最終的に作成される分布のベースとなる情報（以降では分布ベースとも記す）が格納されている。具体的には分布の概形を表す情報が格納されており、例えば、正規分布、ポアソン分布などといった分布の基本的な性質を特定するための分布の種類を示す情報が格納される。分布の詳細な性質、例えば、列８０３で示された種類の分布がどれほどのばらつきを有するか等を特定する情報は、列８０４に格納される。列８０４には、列８０３で定義された分布ベースを利用して実際に分布を作成する際に必要な、各種パラメータが格納されている。例えば、列８０３の分布ベースが正規分布であった場合、列８０４には分布の平均とばらつき具合に相当する情報などが格納される。列８０２の工程ＩＤに対応づく行７００の工程に対して、列８０３・列８０４に格納された分布ベース及びパラメータが適用される。
【００３８】
本実施形態における分布ベース（ｂ）とその作成手順、及び分布ベース（ｃ）とその作成手順を、パターンＩＤが１３及び１２のケースを例にそれぞれ図８（ｂ）、図８（ｃ）を用いて説明する。
【００３９】
実施形態においては、分布ベース（ｂ）は正規分布である。図８（ｂ）に記載のボックスは、工程ＩＤが１３の工程を１３時〜１７時まで実施する予定であることを示している。図８（ｂ）に図示した分布は、工程ＩＤが１３の工程を実施している可能性の大きさを示す分布である。まず、ボックスの時間帯（１３時〜１７時）に対して、その時間帯の中心（１５時）が平均値となり、標準偏差が５の正規分布を作成する。その後、分布の最大値が０．８となるように全体の分布に対してスケーリング処理を施す。なお、分布の中心は計画の中心、標準偏差は５、分布の最大値は０．８という情報は列８００４から取得している。図８（ｂ）の例では、１５時に当該工程を実施している可能性は０．８であり、その前後の時間帯は徐々に可能性が小さくなるような特徴量が作成されることとなる。
【００４０】
一方、本実施形態においては、分布ベース（ｃ）は前半部分が単調増加、中間部分は一定値、後半部分は単調減少する分布である。図８（ｃ）に記載のボックスは、工程ＩＤが１２の工程を１３時〜１７時まで実施する予定であることを示している。図８（ｃ）に示されている分布は、工程ＩＤが１２の工程が計画されている時間帯（１３時〜１７時）は、分布の大きさが一律で０．７である。１３時より前の時間帯は１３時から遠ざかるにつれて、０．７から徐々に小さくなる。１７時より後の時間帯は１７時から遠ざかるにつれて、０．７から徐々に小さくなる。
【００４１】
１３時より前と、１７時より後の部分の分布（以降では、「分布の裾野」、「裾野部分」と表現することもある）の具体的な決定方法について説明する。テーブル８００の列８０４に記載されているように、パターンＩＤが１２の裾野の標準偏差は３となっている。故に、まず、平均が０、標準偏差が３の正規分布を作成し、作成した正規分布の最大値が計画部分の０．７となるようにスケーリングする。スケーリング後の分布の０以下を、図８（ｃ）の１３時より前の部分の分布として採用する。その際に、スケーリング後の最大値の値をとる箇所を、図８（ｃ）の１３時の位置に位置合わせする。同様に、スケーリング後の分布の０以上を、図８（ｃ）の１３時より前の部分の分布として採用する。その際に、スケーリング後の最大値の値をとる箇所を、図８（ｃ）の１７時の位置に位置合わせする。
【００４２】
同じ種類の工程が行７００に複数個所予定されていた場合の取り扱いについて説明する。まず、各箇所で予定された工程毎に、上述の手順で分布をそれぞれ作成する。その場合、各時刻において、その工程の可能性の大きさを表現する値は、分布の数だけ存在することになる。本実施例では、各時刻における、それぞれの分布からの可能性の値の総計を、その時刻における可能性の大きさとして定義する。なお、各時刻における可能性の大きさを、その他の方法で定義しても構わない。各時刻において、最も近くに予定されている工程から作成された分布のみから、その時刻におけるその工程の可能性の大きさを算出しても構わない。
【００４３】
なお、上記で記載した以外の分布を、ベースの分布としてもよい。例えば、ポアソン分布や、ノンパラメトリックな手法で定義されて分布、その他一般的に定義されている分布を利用してもよい。また、図８の例では、分布パターン（ｂ）のパラメータとして、平均位置が工程の予定時間帯の中心となるケースを例として説明したが、予定時間帯の開始時刻や終了時刻としてもよい。更に、分布パターン（ｃ）の分布のすそ野は、計画された時間の長さに応じた形状になるようにしてもよい。なお、本実施形態においては工程ＩＤ毎に分布パターンを定義しているが、他の属性も用いて分布パターンを定義してもよい。
【００４４】
本発明における工程推定部１１４は、各時刻における工程の種類を、機械学習における学習済みの推定モデルを用いて推定する。前述で説明した特徴量テーブル６００を用いた、機械学習における推定モデルの作成、作成した推定モデルの精度、推定モデルを用いた実際の推定について説明する。なお、本発明における工程推定部は、推定対象が実施中の工程をリアルタイムで推定することを第一の目的とする。ただし、本発明に記載の内容は、非リアルタイムによる推定時にも適用可能である。
【００４５】
まず、推定モデルを作成する手順を説明する。推定モデルを作成するためには、印刷現場から収集した各種データに含まれる特徴を数値化した特徴量データを時刻毎に作成する。また、作成した時刻毎の特徴量データに関して、推定対象者が実際にその時刻に実施していた工程の種類を正解データとして紐づける。図６の例では、特徴量データを１秒間隔に作成している。一定程度以上の正解データ付きの特徴量データを学習データとして、ランダムフォレストなどの機械学習アルゴリズムに適用することで、推定モデルを作成することができる。推定モデルの生成方法は公知であり、本発明の主たる要件ではないので、詳細な説明は省略する。本実施形態においては、特徴量６０２〜６０７は、各時刻に実際に携帯端末５が位置していた位置、携帯端末５が実際に向いていた向き、各機械の実際の動作ログから各特徴量を算出したデータを学習データとして利用する。また、本実施形態においては、計画に関する特徴量６０８〜６１１は、図７と図８を用いて説明した手順で、事前に作成された計画の情報を利用して作成されている。事前に作成された計画とは、推定対象（例えば作業者１）と推定装置１との間で、推定対象がその計画に基づいて作業するという共通認識が得られている計画である。つまり、計画作成装置１０が推定対象に関する計画を例えば１日分作成した段階で、推定対象の計画に関する１日分の特徴量を算出することができる。その後、何らかのトラブルにより、推定対象が推定装置１により作成された計画を無視して作業したとしても、既に算出された計画に関する特徴量は変更されない。一方、何らかの理由で推定装置１が推定対象に関する計画を作成し直した場合、その時点以降の計画に関する特徴量は、新たに作成された計画に基づいて上述に記載の方法で再度算出される。
【００４６】
次に、作成した推定モデルの精度について述べる。学習時に使用していない正解データ付きの特徴量データを、テストデータとして上記の作成済みの推定モデルに入力して、実際に推定させる。推定モデルが推定した推定結果と、入力した特徴量データに紐づく正解データから、その推定モデルの推定精度を得ることができる。推定精度を表す方法は幾通りかある。例えば、正解が○○工程であるものの中から、どれだけ○○工程と正しく推定できたかを示すことで推定制度を表現する再現率がある。また、○○工程だと推定モデルが推定した結果の中に、本当に○○工程であったものがどれだけあるかを示すことで推定精度を表現する適合率がある。
【００４７】
次に作成した推定モデルを用いて、実際に推定する際の処理について説明する。実際に推定する際には、推定のターゲットとなる時刻における列６０２〜６０７の特徴データと、その時刻における列６０８〜６１１の計画に関する特徴量データを推定モデルに入力し、推定結果を得る。この時、計画に関する特徴量データは進捗情報受付部１０４が、推定対象の進捗が遅れているなどの情報（計画通り作業が進んでいない情報）を受け取っていない際には、計画作成装置１０が事前に作成した最新の計画に基づき作成する。ただし、進捗情報受付部１０４が、推定対象の進捗が遅れているなどの情報を受け取った際には、計画に関する特徴量を、遅れなどが発生している工程の重要度・緊急度に応じて作成する。推定モデルは作成し直された特徴量データをインプットデータとして推定する。以降で、計画に関する特徴量の作成に関する詳細な処理を説明する。
【００４８】
以降では、推定モデルが推定に使用する計画に関する特徴量がどのように作成し直されるのかの詳細を図９〜図１１を用いて説明する。
【００４９】
図９は、算出方法決定部１０６の処理フローを示す。算出方法決定部１０６は計画に関する特徴量の算出方法を決定し、特徴量作成部１０７は決定された算出方法に基づき計画に関する特徴量を作成する。計画に関する特徴量の具体的な値は、上述で説明したように分布７１１〜７４４といった分布に基づいて算出されるため、分布を作成することが算出方法決定部１０６の役割となる。なお、本実施例においては、作業者（推定対象）が作業を開始すると同時に、図９に記載の処理フローが開始するとする。また、本実施例においては、作業の途中で計画が遅れた場合における手順を代表的な例として取り上げ、計画に関する特徴量がどの様に作成し直されるのかの手順を示す。図９に示す考え方は、計画よりも作業が先行している場合の様に他のケースにも適用可能である。他のケースにおける考え方は別途後述する。
【００５０】
ステップＳ６０１では、算出方法決定部１０６は、計画作成装置１０が作成した事前の計画に基づき、適用する分布を作成する。計画作成装置１０が推定対象の作業者が従う計画を初めて作成した場合と、作業者が作業中に計画作成装置１が再計画した場合に、本ステップが実行される。本ステップにおける分布の具体的な作成手順は、図７及び図８で説明した通りである。
【００５１】
ステップＳ６０２では、算出方法決定部１０６は、計画作成装置１０が計画を作成し直したか否かを判定する。具体的には、前回本ステップを実施した時点での予実管理部１０２のテーブル４２０の内容と、今回本ステップを実施した時点でのテーブル４２０を比較し、計画情報の箇所に差分があるか否かを判定する。計画が再作成されている場合、ステップＳ６０１に処理を移る。作成し直していない場合はステップＳ６０３へ移る。
【００５２】
ステップＳ６０３では、算出方法決定部１０６は、進捗情報受付部１０４から進捗を取得する。工程推定装置１のユーザが、計画に対する作業進捗に関する情報をインプットした際に、進捗情報受付部１０４はその情報を一時記憶装置１４に記憶する。そして、進捗情報受付部１０４は算出方法決定部１０６からの要求に応じて、保持する最新の進捗情報を提示する。作業進捗に関する情報がいつ更新されるかは工程推定装置１を利用するユーザに依存するため、作業が遅れているからといって、いつでもその情報が算出方法決定部１０６に提供されるという訳ではない。進捗情報は、「進捗のステータス」と「進捗値」で構成される。進捗のステータスの種類として、「計画通り」、「遅れている」、「先行している」などがある。「計画通り」は、現在時刻に計画されている工程が予定通り実施されていることを示すステータスである。「遅れている」は、作業が遅れて現在時刻に予定されている工程がまだ実施されていないことを示すステータスである。「先行している」は、現在時刻に計画されている工程が計画より先行して開始されていることを示すステータスである。進捗値は、進捗のステータスがどれほどの度合であるかを表現するための値であり、例えば、分単位で表現される。例えば、進捗のステータスが「遅れている」で進捗値が１０であった場合、前段の計画が１０分遅れていて、元々現在時刻に実施予定の工程の開始時刻が計算上は１０分遅れることを示す。
【００５３】
なお、本実施形態では、進捗情報はユーザが明示的に入力するとしたが、実運用上は他の方法で進捗情報受付部１０４に進捗情報を提供しても構わない。例えば、機械動作ログ取得部が取得した機械２〜４の動作ログから、進捗情報を算出しても構わない。ある注文に関する印刷工程が１０時から開始されると計画されていたにもかかわらず、その注文に関する印刷が９時４５分から始まったことが、印刷機１が出力したログに記載されていたとする。その場合、印刷工程が１５分先行して開始されているという進捗情報を作成可能である。また、推定モデルの推定精度に関する情報から、推定結果を十分信頼できる（例えば、推定精度が所定の値以上である）ケースが出現した際に、その情報から進捗情報を作成しても良い。例えば、製本工程を推定する精度が再現率・適合率ともに高かった場合において、推定モデルが製本工程を実施していることを推定した場合、その情報は確かな情報として取り扱うことができる。１０時から製本工程と予定されていた計画に対して、９時５０分に製本工程を実施したということが推定された場合、製本工程を１５分先行して実施しているとする進捗情報を作成可能である。
【００５４】
ステップＳ６０４では、進捗のステータスが、「遅れている」から「計画通り」に変わったか否かを判定する。「遅れている」から「計画通り」にステータスが変わった場合、ステップＳ６０１へ移る。それ以外の場合、ステップＳ６０５へ移る。
【００５５】
ステップＳ６０５では、算出方法決定部１０６は、進捗のステータスが、「計画通り」から「遅れている」に変わったか否かを判定する。「計画通り」から「遅れている」に変わった場合、ステップＳ６０６へ移る。それ以外の場合、ステップＳ６１４へ移る。
【００５６】
ステップＳ６０６では、算出方法決定部１０６は、重要緊急度決定部１０５により決定された、事前計画において現在時刻以降に計画されていた工程の重要度・緊急度を取得する。本実施例においては、各工程の重要度・緊急度が高いか否かを、工程がクリティカルパスに含まれているか否かで判定する。クリティカルパスとは、印刷現場における作業全体の計画を、事実上、決定している工程の連なりである。クリティカルパス上の工程が遅れると、印刷現場全体の最終的な作業完了時刻が遅れることとなる。そのため、クリティカルパス上の工程は重要度・緊急度が高いと考える。本実施形態においては、クリティカルパスに含まれている工程の重要度・緊急度を高、含まれていない工程の重要度・緊急度を低とする。なお、実運用上は、その他の方法で重要度・緊急度を決定しても構わない。  
【００５７】
例えば、印刷物の納期も考慮し、全体の計画上のクリティカルパス上にある工程であり、かつ、該工程が遅れると印刷物の納期に間に合わなくなる場合を、重要度・緊急度が高いとしてもよい。納期の情報はテーブル４１０の列４１７を参照することで特定することができる。或いは、納期ではなく、計画上のクリティカルパス上にある工程であり、かつ、該工程により作成される印刷物が特急注文か否かにより、重要度・緊急度を決定してもよい。特急注文か否かはテーブル３１０の列３１４を参照することで特定することができる。
【００５８】
ステップＳ６０７では、算出方法決定部１０６は、各工程がクリティカルパスに含まれているか否かを判定する。クリティカルパスに含まれている場合、ステップＳ６１０へ移る。クリティカルパスに含まれていない場合、ステップＳ６０８へ移る。
【００５９】
ステップＳ６０８では、算出方法決定部１０６は、事前計画で計画されていた工程の作業時間通りに作業を続けた場合の状況をシミュレーションする。
【００６０】
ステップＳ６０９では、算出方法決定部１０６は、ステップＳ６０８でシミュレーションを実施した結果、遅れていた工程が結果的にクリティカルパスに含まれるようになったか否かを判定する。クリティカルパスに含まれる場合、ステップＳ６１０へ移る。クリティカルパスに含まれない場合、ステップＳ６１２へ進む。
【００６１】
ステップＳ６１０では、算出方法決定部１０６は、クリティカルパスに含まれる工程について、仮想の計画を作成する。仮想の計画（以降では仮想計画とも記す）とは、推定対象が作業する際に従うであろう計画である。仮想の計画は、事前に作成された計画とは異なる可能性がある。本ステップの処理の詳細は図１０（ａ）を用いて後述する。
【００６２】
ステップＳ６１１では、算出方法決定部１０６は、クリティカルパスに含まれる各工程に適用する分布を決定し分布を作成する。本ステップの詳細は図１１（ａ）及び図１１（ｂ）を用いて後述する。
【００６３】
ステップＳ６１２では、算出方法決定部１０６は、クリティカルパスに含まれない工程について、仮想の計画を作成する。本ステップの処理の詳細は図１０（ｂ）を用いて後述する。
【００６４】
ステップＳ６１３では、算出方法決定部１０６は、クリティカルパスに含まれない各工程に適用する分布を決定し分布を作成する。本ステップの詳細は図１１（ｃ）を用いて後述する。
【００６５】
ステップＳ６１４では、算出方法決定部１０６は、工程推定部１１４による工程推定が終了したか否かを判定する。工程推定が終了したか否かは、推定対象である作業者が保持する携帯情報端末５の位置情報から、推定対象が印刷現場にいるのか否かで判定する。本実施例においては、推定対象である作業者が印刷現場から退出した際に、工程推定が終了したとする。なお、他の方法で判定しても良い。例えば、工程推定装置１のユーザが、入力デバイス１１を介して、明示的に工程推定処理の終了を指示してもよい。終了している場合、図９に記載の処理フローを終了する。工程推定が続いている場合、ステップＳ６１５へ移る。
【００６６】
ステップＳ６１５では、算出方法決定部１０６は一定時間（例えば１秒）処理を止めて待機し、ステップＳ６０２へ移る。
【００６７】
図１０と図１１を用いて、図９におけるステップＳ６１０〜ステップＳ６１３の処理の詳細を説明する。
【００６８】
図１０（ａ）は、ステップＳ６１０の詳細な処理フローを示す。図１０（ａ）は現在時刻以降の工程がクリティカルパスに含まれている場合における処理フローであり、ここでは図１２（ａ）に示す状況を例として用いて説明する。図１２（ａ）の行１２１には、作業者２の事前の作業計画が記載されている。作業者２は９時から１２時過ぎまで他の作業者が作成した印刷物を出荷する予定である。行１２２には推定対象である作業者１の事前の計画が記載されている。作業者１は９時から１１時までの間に、箱入れ工程、製本工程、断裁工程、検品工程を行うことで印刷物を作成する。作業者１が検品工程１２６で検品した印刷物は、作業者２が出荷工程１２４で出荷する予定である。なお、図１２（ａ）において、作業者１の作業と作業者２の出荷工程１２４、出荷工程１２５は印刷現場におけるこの日のクリティカルパスである。行１２３には作業者１に関する仮想の計画が示されている。仮想の計画については以降で詳細に説明する。
【００６９】
ステップＳ６２１では、算出方法決定部１０６は、各工程の単位作業時間のばらつき情報を取得する。具体的には工程テーブル３２０の列３２７に格納されている情報を参照して工程の単位作業時間に対する標準偏差の値を取得する。ばらつきの情報を取得する対象の工程は、推定対象である作業者１の事前の計画を構成する行１２２のうち、現在時刻以降の工程である。
【００７０】
ステップＳ６２２では、算出方法決定部１０６は、各工程の短縮時間を算出する。ステップＳ６２１で取得した各工程の標準偏差に基づき、各工程の作業をどれだけ短縮するかを決定する。本実施例では、（単位作業時間÷標準偏差）の値の比が小さいほど、工程を実施する際に作業時間を計画時よりも短くしやすいと考える。すなわち、遅れが発生した際には、現在時刻以降の作業者１のクリティカルパスに含まれる工程に対して、各工程の短縮時間を算出する。各工程の短縮時間は、各工程の上記の比と、事前の計画における各工程の作業時間の長さと、全工程で短縮しなければいけない時間の総計から得られる方程式を解くことで算出される。なお、全工程で短縮しなければならない時間の総計は、進捗情報受付部１０４から取得した進捗値で示される時間である。
【００７１】
図１２（ａ）の行１２３は、箱入れの工程に遅れが発生している場合において、製本工程、断裁工程、検品工程の各作業時間を前述に記載の方法で短縮させて作成した仮想の計画である。図１２（ａ）の例では、製本工程及び断裁工程の標準偏差がほぼ０であり、検品工程の標準偏差が大きかった場合の例を示している。すなわち、検品工程１２６の作業時間を優先的に短縮することで、出荷工程１２４の作業開始時間に影響を与えることを抑えることができる。なお、実運用上においては前述に記載した以外の方法で、仮想計画を算出しても構わない。例えば、短縮する全工程に対して、単位作業時間当たりの短縮時間が一律均等になるように短縮してもよい。
【００７２】
ステップＳ６２３では、算出方法決定部１０６は、各工程の短縮された作業時間を基に、仮想の計画を作成する。
【００７３】
図１１（ａ）は、ステップＳ６１１の詳細な処理フローを示す。
ステップＳ６２５では、算出方法決定部１０６は、分布パターン定義テーブル８００の情報を取得する。
ステップＳ６２６では、算出方法決定部１０６は、各工程の分布ベース及びパラメータをテーブル８００の列８０３及び列８０４から取得する。
以降では、仮想計画における工程毎に、ステップＳ６２７〜ステップＳ６２９を実施する。
ステップＳ６２７では、算出方法決定部１０６は、仮想計画における工程に対し、ステップＳ６２６で特定した該工程の分布パターンに基づき分布を作成する。
ステップＳ６２８では、算出方法決定部１０６は、事前計画における該工程に対して、ステップＳ６２６で特定した該工程の分布パターンに基づき分布を作成する。
ステップＳ６２９では、算出方法決定部１０６は、ステップＳ６２７とステップＳ６２８で作成した該工程に関する二つの分布から、それら二つの平均的特徴を有する分布を作成する。
【００７４】
ステップＳ６２９について、図１１（ｂ）を用いて補足説明する。図１１（ｂ）において、事前計画で計画されたある工程の作業時間の長さを示すボックスを示している。更に、前述の事前計画のボックスに対して作成された分布を示す。また、仮想計画のボックスに対して作成された分布を示す。事前計画と仮想計画の分布は、分布の中心位置が一致するように配置されており、それに伴い二つの分布も中心位置が一致するように配置されている。ここで、ステップＳ６２９にて作成される最終的な分布は、図１１（ｂ）に示した二つの分布の中間を通る分布となる。つまり各時刻における該工程の可能性の高さは、事前計画における分布の高さと、仮想計画における分布の高さの平均値となる。
【００７５】
以上で示した方法により、仮想計画に対して分布を作成する際において、図７及び図８に記載の方法で作成するよりも、より計画のずれを許容した分布を作成することができる。
【００７６】
なお、実運用上においては、計画のずれをより許容する分布を作成する方法は図１１（ｂ）で示したものに限らない。他の例としては、図１３に記載の方法がある。図１３（ａ）は事前計画に対して作成した分布を示し、図１３（ｂ）は事前計画を短縮した仮想計画における分布を示す。どちらも図７及び図８に記載の方法で作成した分布である。一方、図１３（ｃ）は、図１３（ｂ）の分布の裾野部分を作成する際に列８０４で設定されている裾野の標準偏差の値を大きくして作成した分布である。結果的に、図１３（ｃ）は、図１３（ｂ）よりも、計画通りに作業が進まなくなった際の影響を吸収しやすい特徴量の設計を実現できている。仮想計画に対して分布を作成する際は、裾野の標準偏差をテーブル８００で定義されているよりも、予め定められた規則に基づいて大きくする、というルールを設定しておくことで、計画のずれをより許容する分布を作成することができる。
【００７７】
図１０（ｂ）は、ステップＳ６１２の詳細な処理フローを示す。図１０（ｂ）は仮想計画を作成する対象の工程がクリティカルパスに含まれていない場合における処理フローであり、ここでは図１２（ｂ）の様な状況を例として用いて説明する。図１２（ｂ）の行１２１及び行１２２には、図１２（ａ）と同様に、作業者２と推定対象である作業者１の事前の作業計画が記載されている。各作業者が実施する工程の予定は図１２（ａ）の場合と同様であるが、図１２（ｂ）においては、作業者１が検品工程１２６で検品した印刷物は作業者２が出荷工程１２５で出荷予定である。なお、図１２（ｂ）においては、作業者１の作業はクリティカルパスではない。行１２３には作業者１に関する仮想の計画が示されている。仮想の計画については以降で詳細に説明する。
【００７８】
ステップＳ６２４では、算出方法決定部１０６は、各工程の作業の実施時刻を、遅れている時間分だけ時間の進行方向へスライドする。図１２（ｂ）の行１２３は、箱入れの工程が事前の計画よりも長引いている（遅れが発生している）場合の仮想計画を示している。行１２３において、製本工程、断裁工程、検品工程の仮想計画は、各作業時間を行１２２における作業時間の長さのままにした状態で、長引いている箱入れ工程の後に配置されている。図からわかるように作業者１が作成した仮想計画通りに作業を継続したとしても、印刷現場におけるクリティカルパスに影響がない状態となっている。
【００７９】
図１１（ｃ）は、ステップＳ６１３の詳細な処理フローを示す。
ステップＳ６３０では、算出方法決定部１０６は、分布パターン定義テーブル８００の情報を取得する。
ステップＳ６３１では、算出方法決定部１０６は、各工程の分布ベース及びパラメータをテーブル８００の列８０３及び列８０４から取得する。
【００８０】
以降では、仮想計画における工程毎に、ステップＳ６３２を実施する。
ステップＳ６３２では、算出方法決定部１０６は、仮想計画における工程に対し、ステップＳ６３１で特定した該工程の分布を作成する。分布の作成方法は、図１３を用いて説明した手順による。つまり、図７及び図８を用いて説明した手順で作成したよりも、裾野の影響が広範囲に及ぶ分布となり、仮想計画からのずれを許容しやすい分布を作成することができる。
【００８１】
本実施例では、作業の進捗が遅れている場合を例として取り上げ、算出方法決定部１０６の処理について説明した。しかし、本実施例に記載した考えに基づけば、作業の進捗が他の場合においても、計画に関する特徴量の適切な算出方法を提供することができる。以降で、図１４を用いて、作業進捗が遅れれている場合以外の例について幾つか記載する。
【００８２】
図１４（ａ）は、事前の計画よりも先行して作業が進んでいる場合に、どの様な仮想計画が作成されるかを示している。図１４（ａ）における行１２１と行１２２の内容は、図１２（ａ）におけるそれと同じである。図１４（ａ）における行１２３では、箱入れの工程が事前の計画よりも早く開始されている。その場合、仮想計画における工程の開始位置は、箱入れの開始時刻が早まった時間分だけ一律に早まる様に計画される。その際の分布の作成方法は、図１２（ｂ）で説明した内容と同様である。
【００８３】
図１４（ｂ）は、事前の計画で予定されていた順序とは異なる順番で作業が進んでいる場合に、どのような仮想計画が作成されるのかの例を示している。具体的には、事前計画では製本工程を実施後に断裁工程を実施することになっている場合において、製本工程と断裁工程を並行して同時に実施しているケースである。図１４（ｂ）における行１２１と行１２２の内容は、図１２（ｂ）におけるそれと同じである。図１４（ｂ）における行１２３では、製本工程と自動断裁工程を同時並行で実施していることを反映しており、製本と自動断裁の工程が同じ時刻に予定されている。更に、同時に実施するため、製本工程と断裁工程の作業時間の長さは、事前計画における両工程の作業時間の総計となっている。その際の分布の作成方法は、図１２（ｂ）で説明した場合と同様である。
【００８４】
以上、説明した技術によれば、事前の計画通りに作業が進んでいない状況下においても、再計画することなしに、機械学習による工程推定で用いる計画に関する特徴量を適切に作成することができる。
【００８５】
＜実施形態２＞
本発明の第２の実施形態の例を示す。本実施形態では、過去の実積に基づいて、前述の仮想計画及び分布を作成する例を説明する。
【００８６】
実施形態１では、仮想計画の作成方法は進捗のステータスと、重要度・緊急度と、により一意に決定された。しかし、実際には、クリティカルパスに含まれる工程が遅れている場合に、必ずしも毎回、各工程の作業時間を短縮して作業するとは限らない。作業時間を短縮して全体の計画に影響を与えないように作業することもあるし、気にせずに事前の計画で確保されていた作業時間で作業を続けることもある。
【００８７】
また、実施形態１では、各工程に対して作成される分布は、工程ＩＤから決定される特定の分布パターンに基づき作成されていた。しかし、ある特定の場面において最適な分布パターンは他にある可能性もある。
【００８８】
本実施形態では、過去の実積から各作業者の傾向を分析して得た知見に基づき、作業者毎に最適化された仮想計画及び分布の作成方法の例を示す。
【００８９】
図１５に本実施形態における分布パターン定義テーブルを示す。本実施例における分布パターン定義テーブルは作業者毎に作成される。テーブル８２０は作業者１に関する分布パターン定義テーブルである。列８２１〜列８２４の内容は、列８００〜列８０４と同様である。ただし、テーブル８２０では、一つの工程ＩＤに複数の分布ベース及びパラメータが紐付けられ得る。列８２５は、各分布ベース／パラメータの寄与率を示す。
【００９０】
各工程に対して分布を作成する際は、該工程に紐付けられている各分布ベース／パラメータを用いて、実施形態１に記載の方法で分布を作成する。各分布ベース／パラメータが複数ある工程については、各分布の寄与率に基づいてそれらの分布を合成した分布を作成する。なお、寄与率は過去の実積情報から統計的に算出される値（統計値）である。
【００９１】
図１６に仮想計画パターン定義テーブルを示す。仮想計画パターン定義テーブルは作業者毎に作成される。図１６に記載の仮想計画パターン定義テーブル８３０は作業者１に関するテーブルである。列８３１には、進捗のステータスが格納される。列８３２には、重要度・緊急度の大きさが格納される。列８３３には、仮想計画パターンが格納される。なお、列８３３に格納される仮想計画パターンの１つとして、「事前計画と同じ」というパターンを設けてもよい。列８３４には、仮想計画パターンの寄与率が格納されている。なお、寄与率は過去の実積情報から統計的に算出される値である。
【００９２】
仮想計画を作成する際は、該当する進捗ステータス及び重要度・緊急度の高さに紐づく仮想計画パターンにより仮想計画を作成する。なお、複数の仮想計画パターンが紐づく場合は、個々の仮想計画を独立で作成する。作成された仮想計画に対して図１５に記載のテーブル８２０を参照して分布をそれぞれ作成する。その後、複数の仮想計画に対してそれぞれ作成された分布を、列８２５に記載の寄与率に基づき合成することで、最終的な分布を作成する。
【００９３】
＜実施形態３＞
本発明の第３の実施形態の例を示す。本実施形態では、工程推定装置１が事前の作業計画、推定結果（計画に対する実績）、前述で説明した仮想の計画、計画に関する特徴量の作成に利用した分布に関する情報を、ユーザが把握できるように（把握可能なように）画面表示する。本実施例に記載によれば、推定時に分布を変えたか否かを外部から検証することもできる。
【００９４】
図１７に、本実施形態に係る工程推定装置１の主要な機能を説明するための機能ブロック図を示す。図１７に記載の機能ブロック図には、図５に記載の機能ブロックに加え、表示部１３１と修正部１３２が記載されている。
【００９５】
表示部１３１は、予実管理部１０２が管理する事前に作成された作業計画に関する情報と、それに紐づく実積情報を表示する。作業計画とは、各時刻における推定対象の作業予定であり、テーブル４２０に記載の情報である。実績情報とは、工程推定部１１４によって推定された、各時刻における推定対象が作業していた工程の種類である。また、表示部１３１は推定時に利用した仮想計画と、事前の作業計画と仮想計画に基づいて作成された分布も表示することができる。なお、表示部１３１の機能は、工程推定装置１が備える出力デバイス１２により実現される。
【００９６】
修正部１３２は、ユーザが推定結果及び想定計画を、推定後に明示的に修正するための機能を提供する。工程推定部１１４による推定結果には、推定器の推定精度に応じた誤差が含まれる。ユーザが誤推定した結果を発見できた場合、正しい結果に修正することで、推定モデルの学習データなどの用途として再利用することができる。想定計画に関しても、推定対象の作業者がどのように作業することを想定していたかを、想定計画の正解データとして記録することができれば、以降の想定計画の作成時に利用することができる。つまり、想定計画の作成結果の精度を向上させることができる。
【００９７】
図１８〜２２に、表示部１３１が表示する画面の例を示す。また、修正部１３２による修正を実施するための操作の一例を、図１８〜２２に示した画面上で説明する。
【００９８】
図１８に、表示部１３１によって表示された管理画面２００を示す。管理画面２００には、作業者情報表示エリア２０１、表示内容選択エリア２０２、事前計画表示エリア２０７、推定結果表示エリア２０８、想定計画表示エリア２０９が設けられている。また、管理画面２００には書き換えボタン２５１が設置されている。
【００９９】
作業者情報表示エリア２０１には、本管理画面２００で情報表示する対象である、工程推定部１１４の推定対象の情報が表示されている。
【０１００】
表示内容選択エリア２０２には、管理画面２００において、何の情報を表示するかを指定するためのチェックボックス２０３〜２０６が配置されている。チェックボックス２０３にチェックがつけられた場合、事前計画に関する情報が表示される。チェックボックス２０４にチェックがつけられた場合、推定結果に関する情報が表示される。チェックボックス２０５にチェックがつけられた場合、仮想計画に関する情報が表示される。チェックボックス２０６にチェックがつけられた場合、計画に関する特徴量を算出する際に利用した分布の情報が表示される。
【０１０１】
事前計画表示エリア２０７には、事前計画の表示チェックボックス２０３にチェックが入っている際に、作業者情報に記載されている推定対象の作業予定が表示される。表示される作業予定は、計画作成装置１０によって事前に作成された計画である。図１８の例では、各時刻における作業予定の工程の種類が表示されている。なお、どの注文の工程かを識別可能にするための情報を合わせて表示してもよい。
【０１０２】
図１９に、推定結果の表示チェックボックス２０４にチェックが入っている際の管理画面２００の表示内容を示す。図１９における推定結果表示エリア２０８には、各時刻における作業工程の種類が実績情報として表示される。この情報は工程推定部１１４が推定した推定結果である。ここで、推定結果２１０と推定結果２１１とは太枠により強調表示されている。これは、作業計画に対して遅れなどが発生し、算出方法を変更して作成された計画に関する特徴量を用いて推定された工程であることを示している。なお、太枠で表示することに限らず、表示する際に他の部分とは異なる色で表示するなど、他の方法で強調表示しても構わない。また、工程を示すボックスすべてを太枠で表示するのではなく、工程を示すボックスの一部分のみを強調表示しても良い。つまり、強調表示されている断裁工程のボックスに対して、その途中から算出方法が変更された場合、変更された時点からの断裁工程のみを太枠で囲ってもよい。
【０１０３】
図２０に、仮想計画の表示チェックボックス２０５にチェックが入っている際の管理画面２００の表示内容を示す。仮想計画の表示チェックボックス２０５にチェックが入っている際には、強調表示されていた推定結果の任意の時刻の箇所をポインタ２１２で指示することで、仮想計画表示エリア２０９に、単位作業時間を伸縮して仮想的に作成し直した仮想計画を表示できる。図２０では、推定結果表示エリア２０８に表示されている断裁と推定されたことを示すボックスに対して、１１：００の箇所をポインタした際の例を示している。工程推定部１１４がポインタで指示された１１：００における作業者の実施工程を推定した際に、算出方法決定部１０６が作成した仮想計画が仮想計画表示エリア２０９に表示される。実施形態２で述べたように、複数種類の仮想計画を作成して最終的な計画に関数する特徴量が算出された場合、それらの仮想計画を仮想計画表示エリア２０９に並べて表示する。なお、図２０の例では、ポインティングされた時刻以降の仮想計画のみ表示しているが、その範囲は別の規則に従って決定しても構わない。
【０１０４】
図２１に、分布の表示チェックボックス２０６にチェックが入っている際の管理画面２００の表示内容を示す。図２１の例では、図１９及び図２０で説明した事前計画及び仮想計画に関する表示内容に加え、それら計画に基づいて作成された、計画に関する特徴量を算出する際に利用した分布が重畳表示されている。この様な表示をユーザに提供することで、機械学習の特徴量に関する設計を支援することができる。
【０１０５】
図２２に、修正部１３２による修正を実施するための操作の手順を示す。ポインタ２５２は、仮想計画の断裁工程の開始位置を早めたり、遅くしたりする操作を実施している。本操作は、例えば、該工程のボックスの左端をポインタで指定して左右にドラッグすることで実現できる。その後、ポインタ２５３により、書き換えボタン２５１をクリックすることで、修正した内容を予実管理部１０２に記録する。
【０１０６】
本実施形態において、推定時に利用した計画に関する特徴量の算出方法を変更したか否かの情報を画面表示する例を示した。なお、ユーザが識別しやすい形式であれば、他の方法で表示しても構わない。例えば、予実管理部１０２が推定結果を記録するためにリレーショナルＤＢを利用していた場合、推定結果を保存するテーブルにおいて、分布を変えたか否かを示すカラム（列）を設けても良い。つまり、そのテーブルをユーザが見ることにより、或いはユーザによるＳＱＬ（Ｓｔｒｕｃｔｕｒｅｄ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ）  操作により、推定時にどの分布パターンを利用したかを把握できるようなＤＢ設計をしておいても良い。
【０１０７】
＜その他の実施形態＞
以上、実施形態例を詳述したが、本発明は例えば、システム、装置、方法、プログラム若しくは記録媒体（記憶媒体）等としての実施態様をとることが可能である。具体的には、複数の機器（例えば、ホストコンピュータ、インターフェース機器、撮像装置、ｗｅｂアプリケーション等）から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１０８】
また、本発明の目的は、以下のようにすることによって達成されることは言うまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコード（コンピュータプログラム）を記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給する。係る記憶媒体は言うまでもなく、コンピュータ読み取り可能な記憶媒体である。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【符号の説明】
【０１０９】
１  工程推定装置、  ２  印刷機、  ３  製本機、  ４  断裁機、  ５  携帯情報端末、  ６  無線アクセスポイント、  ７  位置推定装置、  ８  作業定義情報ＤＢ、  ９  注文ＤＢ、  １０  計画作成装置、  １９  ローカルエリアネットワーク。
【図１】
2020098435.tif 000003
【図２】
2020098435.tif 000004
【図３】
2020098435.tif 000005
【図４】
2020098435.tif 000006
【図５】
2020098435.tif 000007
【図６】
2020098435.tif 000008
【図７】
2020098435.tif 000009
【図８】
2020098435.tif 000010
【図９】
2020098435.tif 000011
【図１０】
2020098435.tif 000012
【図１１】
2020098435.tif 000013
【図１２】
2020098435.tif 000014
【図１３】
2020098435.tif 000015
【図１４】
2020098435.tif 000016
【図１５】
2020098435.tif 000017
【図１６】
2020098435.tif 000018
【図１７】
2020098435.tif 000019
【図１８】
2020098435.tif 000020
【図１９】
2020098435.tif 000021
【図２０】
2020098435.tif 000022
【図２１】
2020098435.tif 000023
【図２２】
2020098435.tif 000024