以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における情報処理システムの構成例を示す図である。図1において、情報処理システムは、1以上の作業者端末20と、サーバ装置10とを含む。作業者端末20とサーバ装置10とは、無線通信網等を介して通信可能である。
作業者端末20は、工場等の作業現場において作業を行う各作業者に配布される端末である。例えば、スマートフォン又はタブレット端末等の汎用的な端末が作業者端末20として利用されてもよいし、専用の端末が作業者端末20として利用されてもよい。また、作業者端末20は、作業者の体の一部(例えば、腕等)に固定されてもよいし、作業者の衣服のポケット等に収められてもよいし、作業場所が固定的であれば、作業場所の近傍に載置されてよい。すなわち、作業者端末20は、作業中において、作業者端末20から出力される音声を作業者が聞き取ることができ、作業者の声を作業者端末20が検出可能である範囲内に存在すればよい。
サーバ装置10は、1以上のコンピュータの集合である。サーバ装置10は、作業者端末20から収集される情報に基づいて、各作業の所要時間等を算出する。
図2は、本発明の実施の形態におけるサーバ装置10のハードウェア構成例を示す図である。図2のサーバ装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、及びインタフェース装置105等を有する。
サーバ装置10での処理を実現するプログラムは、記録媒体101によって提供される。プログラムを記録した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従ってサーバ装置10に係る機能を実行する。インタフェース装置105は、作業者端末20との無線通信のためのアクセスポイントにネットワークを介して接続するためのインタフェースである。
なお、記録媒体101の一例としては、CD−ROM、DVDディスク、又はUSBメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置102の一例としては、HDD(Hard Disk Drive)又はフラッシュメモリ等が挙げられる。記録媒体101及び補助記憶装置102のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。
図3は、本発明の実施の形態における作業者端末20のハードウェア構成例を示す図である。図3において、作業者端末20は、CPU201、メモリ202、補助記憶装置203、タッチパネル204、無線通信装置205、音声出力装置206及び音声入力装置207等を有する。
補助記憶装置203は、作業者端末20にインストールされたプログラム等を記憶する。メモリ202は、プログラムの起動指示があった場合に、補助記憶装置203からプログラムを読み出して記憶する。CPU201は、メモリ202に記憶されたプログラムに従って作業者端末20に係る機能を実現する。
タッチパネル204は、入力機能と表示機能との双方を備えた電子部品であり、情報の表示や、ユーザからの入力の受け付け等を行う。タッチパネル204は、表示装置211及び入力装置212等を含む。
表示装置211は、液晶ディスプレイ等であり、タッチパネル204の表示機能を担う。入力装置212は、表示装置211に対する接触物の接触を検出するセンサを含む電子部品である。接触物とは、タッチパネル204の接触面(表面)に接触する物体をいう。斯かる物体の一例として、ユーザの指や専用又は一般のペン等が挙げられる。
無線通信装置205は、無線LAN(Local Area Network)又は移動体通信網等における通信を行うために必要とされるアンテナ等の電子部品である。音声出力装置206は、例えば、スピーカーであり、電気信号を音波に変換して音(音声)を出力する。音声入力装置207は、例えば、マイクであり、音(音声)を入力して電気信号に変換する。
図4は、本発明の実施の形態の概要を説明するための図である。図4の(1)において、水平軸は、時間の経過方向を示す。また、時点t1は、或る作業者(以下、「作業者A」という。)が、時点t0において或る作業手順(以下、「作業手順X」という。)を開始した場合に、作業手順Xが完了するおおよその時点である。すなわち、時点t1−時点t0が、作業者Aによる作業手順Xの標準的な所要時間である。本実施の形態において、サーバ装置10及び作業者端末20は、当該所要時間を求めるための処理を実行する。すなわち、当初において、(t1−t0)は未知である。なお、作業手順とは、順序付けられた1以上の作業の集合をいう。
そこで、本実施の形態では、まず、作業者Aによる作業手順Xの所要時間として予測される最小値としての予測時間1と、最大値としての予測時間2とが設定される。また、作業者Aが、作業手順Xを繰り返し実施することを想定する。例えば、作業者Aは、1日に1回ずつ、複数日の期間において作業手順を実行する。
作業者端末20は、サーバ装置10からの指示に基づいて、作業手順Xの開始時から予測時間1又は予測時間2が経過したタイミングで、作業者Aに対して作業手順Xの完了の有無を問い合わせる質問を出力する。作業者Aは、当該質問に対し、作業手順Xが完了したか否かの回答(「まだ」又は「終わった」)を音声入力する。なお、1回の作業手順Xの実行時において、1つの質問が出力される。
サーバ装置10は、質問に対する回答が未完了を示す「まだ」であれば、質問のタイミングとされた予測時間1又は予測時間2を長くし、当該回答が完了を示す「終わった」であれば、質問のタイミングとされた予測時間1又は予測時間2を短くする。
ここで、(1)に示されるように、予測時間1が、(t1−t0)よりも小さく設定され、予測時間2が(t1−t0)よりも長く設定されていれば、通常、予測時間1のタイミングで質問が出力された場合の回答は「まだ」であり、予測時間2のタイミングで質問が出力された場合の回答は「終わった」である。したがって、日数を経るにしたがって、質問及び回答が繰り返されると、予測時間1及び予測時間2は、(2)に示されるように、次第に(t1−t0)の値に近付いていく(収束していく)。サーバ装置10は、予測時間1と予測時間2との時間幅(予測時間2−予測時間1)が、十分小さくなったと判定すると、予測時間1と予測時間2との時間幅の間の時間を、作業者Aによる作業手順Xの標準的な所要時間として特定する。なお、サーバ装置10は、予測時間1のタイミングで質問が出力された質問に対する回答が連続して「まだ」である場合には、予測時間1を長くする度合いを大きくする。同様に、サーバ装置10は、予測時間2のタイミングで質問が出力された質問に対する回答が連続して「終わった」である場合には、予測時間2を短くする度合いを大きくする。早期に予測時間1及び2の収束させるためである。
なお、作業手順Xが1日に1回だけ行われる作業であれば、質問は、1日に1回だけ出力される。その程度の頻度であれば、作業者Aに煩わしさを感じさせる可能性は低いと考えられる。
図5は、本発明の実施の形態における情報処理システムの機能構成例を示す図である。図5において、作業者端末20は、ログイン要求送信部21、質問受信部22、質問出力部23、回答受付部24及び回答送信部25等を有する。これら各部は、作業者端末20にインストールされた1以上のプログラムが、CPU201に実行させる処理により実現される。
ログイン要求送信部21は、作業者が作業手順を開始する際に、サーバ装置10に対してログイン要求を送信する。なお、各作業者がいずれの作業手順を行うのかについては、予めサーバ装置10において管理されている。
質問受信部22は、作業手順の完了の有無を問い合わせる質問をサーバ装置10から受信する。質問出力部23は、質問受信部22が受信した質問を、作業者が実施している作業手順に関して算出された予測時間1又は予測時間2のタイミングで出力する。
回答受付部24は、質問出力部23が出力した質問に対する回答を作業者から受け付ける。回答送信部25は、回答受付部24が受け付けた回答をサーバ装置10へ送信する。
一方、サーバ装置10は、ログイン受付部11、質問生成部12、質問送信部13、回答解析部14、精度更新部15、見なし時間解析部16及び見なし時間整理部17等を有する。これら各部は、サーバ装置10にインストールされた1以上のプログラムが、CPU104に実行させる処理により実現される。サーバ装置10は、また、作業者マスタ記憶部111、作業指示情報記憶部112、作業構成情報記憶部113、作業マスタ記憶部114、予測時間記憶部115、質問予定記憶部116、システム共通情報記憶部117及び見なし時間記憶部118等を利用する。これら各記憶部は、例えば、補助記憶装置102、又はサーバ装置10にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
ログイン受付部11は、作業者端末20から送信されるログイン要求を受信する。本実施の形態では、ログイン要求の受信時が作業手順の開始時として認識される。
質問生成部12は、作業者が遂行する作業手順のうち、質問の対象とする作業(いずれの作業のタイミングで質問を出力するのか)を決定すると共に、当該作業に応じた質問文を生成する。例えば、作業手順が、作業A、作業B、作業Cである場合において、作業Bのタイミングで質問を出力するのであれば、質問生成部12は、「作業Bは終わりましたか?」といった質問文を生成する。なお、この場合、作業手順「AB」の所要時間が計測対象とされる。質問生成部12は、また、所要時間の計測対象とされる作業手順について予測時間1及び予測時間2等を算出し、予測時間1及び予測時間2のいずれの予測時間に基づくタイミングで質問文を出力するのかを決定する。なお、各作業者が遂行する作業手順は、必ずしも同じであるとは限らない。したがって、質問のタイミングも作業者ごとに異なりうる。質問生成部12が生成した質問文及び質問文の出力のタイミング(質問時刻)等は、質問予定記憶部116に記憶される。
質問送信部13は、質問予定記憶部116に記憶された質問文と、当該質問文及び質問時刻等を作業者端末20へ送信する。
回答解析部14は、作業者端末20から質問に対する回答を受信し、当該回答に基づいて、当該作業者端末20に係る作業者が遂行中の作業手順についての予測時間1又は予測時間2を更新(短縮又は伸張)する。
精度更新部15は、各作業者による各作業手順の予測時間1又は予測時間2の更新に応じて、予測時間1と予測時間2との時間幅を算出し、当該時間幅に基づく予測の精度を更新する。予測の精度とは、予測時間1と予測時間2との時間幅が十分短くなったか否かを判定するための指標である。なお、各作業者及び各作業手順についての予測時間1、予測時間2及び精度等は、予測時間記憶部115に記憶される。
見なし時間解析部16は、質問及び回答が繰り返されることによって予測時間1及び予測時間2が収束し、精度が十分高くなったと判定された作業手順について、当該予測時間1及び当該予測時間2に基づいて算出される時間を、当該作業手順の所要時間として見なし、当該所要時間(以下、「見なし時間」という。)を当該作業手順と当該作業手順を遂行した作業者の識別情報(作業者ID)とに関連付けて含むレコードを、見なし時間記憶部118に記憶する。すなわち、各作業手順の所要時間は、作業者ごとに特定され、作業者ごとに記憶される。
見なし時間整理部17は、見なし時間記憶部118において不要なレコードの削除を行う。不要なレコードとは、他の2以上のレコードの作業手順の接続によって構成可能である作業手順に係るレコードをいう。例えば、同一の作業者に関して、作業手順「ABC」、作業手順「AB」、及び作業手順「C」のそれぞれの所要時間が見なし時間記憶部118に記憶されている場合、作業手順「ABC」は、作業手順「AB」に作業手順「C」を接続することで構成可能である。換言すれば、作業手順「ABC」の所要時間は、作業手順「AB」の所要時間と作業手順「C」の所要時間との合算により導出可能である。したがって、この場合、作業手順「ABC」に係るレコードが見なし時間記憶部118から削除される。なお、上記において、A、B、Cは、それぞれ1つの作業を表す。
作業者マスタ記憶部111には、各作業者の氏名や勤続年数等の属性情報が記憶されている。作業指示情報記憶部112には、各作業者に対する作業指示を示す情報(以下、「作業指示情報」という。)が記憶されている。例えば、各作業者が実行すべき作業手順が作業指示情報記憶部112に記憶されている。なお、本実施の形態では、便宜上、作業指示情報記憶部112は、毎日更新されることとする。すなわち、各作業手順は、1日で遂行可能であることとする。したがって、作業指示情報記憶部112には、当日における作業指示情報が記憶される。
作業構成情報記憶部113には、各作業手順を、作業コードの並び(配列)よって表現するデータ(以下、「作業構成」という。)が記憶されている。作業コードとは、作業手順を構成する各作業の識別情報である。本実施の形態において、各作業コードは、大文字のアルファベット1文字によって表現される。作業マスタ記憶部114には、各作業の作業コードに対応付けて、各作業の標準的な所要時間が記憶されている。システム共通情報記憶部117には、精度に対する閾値等が記憶されている。
以下、サーバ装置10が実行する処理手順について説明する。図6は、作業の開始時に実行される処理手順の一例を説明するためのフローチャートである。例えば、作業者は、作業の開始時において、作業者端末20を介してサーバ装置10へログインを行う。この際、作業者によって入力された作業者IDがパラメータとして作業者端末20からサーバ装置10へ送信される。図6の処理手順は、サーバ装置10のログイン受付部11による、斯かるログイン要求の受信に応じて開始される。なお、ログイン受付部11は、ログイン要求を受信した時刻(ログイン時刻)を作業開始時刻としてメモリ装置103に記憶する。
ステップS101において、ログイン受付部11は、ログイン要求のパラメータに指定されている作業者IDに対応する経験区分を作業者マスタ記憶部111から取得する。なお、当該作業者IDを「対象作業者ID」といい、対象作業者IDに係る作業者を「対象作業者」という。
図7は、作業者マスタ記憶部111の構成例を示す図である。図7に示されるように、作業者マスタ記憶部111には、作業者ごとに、作業者ID、作業者名、勤続年数及び経験区分等が記憶されている。
作業者IDは、各作業者の識別情報である。作業者名は、作業者の氏名である。勤続年数は、作業者の勤続年数である。経験区分は、作業の熟練度に基づいて作業者を「新人」又は「ベテラン」にて区分するパラメータである。例えば、勤続年数が閾値未満の作業者が「新人」とされ、勤続年数が閾値以上の作業者が「ベテラン」とされてもよい。
ステップS101では、対象作業者IDに対応付けられて作業者マスタ記憶部111に記憶されている経験区分が取得される。
続いて、質問生成部12は、取得された経験区分が「ベテラン」でるか否かを判定する(S102)。当該経験区分が「新人」である場合(S102でNo)、以降の処理は実行されない。すなわち、作業手順の標準的な所要時間を特定するための処理は実行されない。経験が浅い作業者は、作業の所要時間が不安定な可能性が高いため、標準的な所要時間を特定したとしても、その値の信頼度が低いからである。
一方、当該経験区分が「ベテラン」である場合(S102でYES)、質問生成部12は、対象作業者IDを含む作業指示情報を作業指示情報記憶部112から読み込む(S103)。
図8は、作業指示情報記憶部112の構成例を示す図である。図8に示されるように、作業指示情報記憶部112には、各作業者に対する当日の作業指示情報が記憶されている。各作業指示情報は、オーダID、仕事コード、仕事名、作業場所ID、作業者ID及び端末ID等の項目を含む。
オーダIDは、各作業指示の識別情報である。仕事コードは、作業指示の対象の仕事を識別するための番号である。仕事名は、仕事の名称である。なお、本実施の形態において、「仕事」とは、或る特定の装置の製造等、具体的な任務をいう。仕事は、順序付けられた1以上の作業群(以下、「作業手順」という。)を実行することにより遂行される。一方、「作業」とは、「孔あけ」や「切断」等、仕事を遂行する上で必要とされる要素的な活動又は行動をいう。したがって、1つの仕事の遂行には、1以上の作業を必要とする。
作業場所IDは、仕事のための作業が行われる作業場所のIDである。作業者IDは、作業指示の対象の作業者の作業者IDである。端末IDは、当該作業者が作業時に携帯している作業者端末20の識別情報である。例えば、端末IDは、サーバ装置10が、作業者端末20に対して質問を送信する際のアドレス情報として利用可能な値(IPアドレス又はメールアドレス等)であってもよい。
なお、本実施の形態では、各作業者は、予め作業指示情報の内容を通知されており、作業場所に移動した後でサーバ装置10へログインする状況を想定する。但し、ステップS103の後で、読み込まれた作業指示情報が対象作業者の作業者端末20に対して送信されてもよい。この場合、作業者は、作業者端末20に表示される当該作業指示情報を閲覧して、作業場所に移動することになる。したがって、この場合、改めて作業手順の開始の通知が作業者端末20から送信され、当該通知の受信時刻が作業手順の開始時刻とされてもよい。
続いて、質問生成部12は、読み込んだ作業指示情報に含まれている仕事コードに対応する作業構成を作業構成情報記憶部113から読み込む(S104)。
図9は、作業構成情報記憶部113の構成例を示す図である。図9に示されるように、作業構成情報記憶部113には、仕事コードごとに、仕事名及び作業構成が記憶されている。
仕事名は、仕事コードに対応する仕事名である。作業構成は、上述したように、仕事の遂行に必要な(仕事を構成する)各作業の作業コードが作業順に配列したデータである。例えば、図9において1レコード目の作業構成は「BCDEFGHI」である。これは、8個の作業コードを含むことになる。すなわち、当該レコードに対応する仕事は、8つの作業を含むことを示す。
続いて、質問生成部12は、読み込んだ作業構成に含まれる作業コードの中から質問対象とする部分的な作業構成(以下、「対象作業構成」という。)を抽出し、対象作業構成に係る作業の終了を作業者に問い合わせるための質問文を生成する(S105)。
ここで、対象作業構成は、読み込んだ作業構成の先頭からランダムな数の作業コードを取り出すことで抽出されてもよい。例えば、読み込んだ作業構成が「BCDEFGHI」であれば、「BCD」が対象作業構成とされてもよい。
また、質問文は、対象作業構成の末尾の作業コードに対応する作業の作業名に続けて「は終わりましたか?」を含む文字列でもよい。各作業コードに対応する作業名は、作業マスタ記憶部114に記憶されている。
図10は、作業マスタ記憶部114の構成例を示す図である。図10に示されるように、作業マスタ記憶部114には、作業ごとに、作業コード、作業名、及び作業標準時間が記憶されている。作業標準時間は、作業の標準的な所要時間であり、例えば、管理者等により予め設定される。なお、図10において、作業標準時間の単位は秒である。
例えば、対象作業構成が「BCD」であれば、末尾の作業コード「C」に対応する作業名は、図10より「切断」である。したがって、この場合の質問文は、「切断は終わりましたか?」となる。
続いて、質問生成部12は、対象作業者ID及び対象作業構成に対応するレコードを予測時間記憶部115から検索する(S106)。該当レコードが予測時間記憶部115に存在しない場合(S107でNO)、質問生成部12は、対象作業構成を構成する各作業の作業標準時間を作業マスタ記憶部114(図10)から取得し、取得された標準時間の合計(β)を計算する(S108)。
続いて、質問生成部12は、対象作業構成について予測時間1及び予測時間2を以下のように計算し、対象作業構成に対応するレコード(以下、「対象予測時間レコード」という。)を予測時間記憶部115に追加する(S109)。
予測時間1=β×0.95
予測時間2=β×1.05
なお、予測時間1は、対象作業構成の所要時間として予測される最小値である。予測時間2は、対象作業構成の所要時間として予測される最大値である。すなわち、本実施の形態では、対象作業構成を構成する各作業の作業標準時間の合計βに対して±5%の範囲が予測時間の時間幅の初期値とされる。但し、予測時間1及び予測時間2の初期値は、他の方法により決定されてもよい。
図11は、予測時間記憶部115の構成例を示す図である。図11に示されるように、予測時間記憶部115は、作業者ID及び作業構成の組ごとに、予測時間1、刻み幅1、予測時間2、刻み幅2、予測標準時間、幅、精度、及び測定回数等を含むレコード(予測時間レコード)が記憶される。
刻み幅1は、後述の処理において予測時間1を増減する際の増減幅(秒)である。刻み幅2は、後述の処理において予測時間2を増減する際の増減幅(秒)である。なお、刻み幅1及び刻み幅2自体も処理の進行に応じて増減する。予測標準時間は、予測時間1と予測時間2との平均値(すなわち、予測時間1と予測時間2との中央の値)である。幅は、予測時間2と予測時間1との差分(予測時間2−予測時間1)である。精度は、幅÷予測標準時間である。測定回数は、該当作業構成について質問に対する回答を得た回数である。
ステップS109では、対象作業者ID及び対象作業構成を含むレコードが予測時間記憶部115に追加される。当該レコードには、ステップS109において算出された予測時間1及び予測時間2が記憶される。また、当該レコードの刻み幅1及び刻み幅2のそれぞれには、初期値である1が記憶される。また、当該レコードの測定回数には0が記憶される。当該レコードの予測標準時間、幅及び精度には、それぞれ当該レコードの予測時間1及び予測時間2に基づいて算出される値が記憶される。但し、図11には、便宜上、該当するレコード(測定回数=0であるレコード)は示されていない。
なお、ステップS106において、該当するレコードが予測時間記憶部115から検索された場合(S107でYES)、ステップS108及びS109は実行されない。この場合、検索されたレコードが、対象予測時間レコードに該当する。
ステップS109、又はステップS107でYESの場合に続いて、質問生成部12は、対象予測時間レコードの刻み幅1と刻み幅2とを比較する(S110)。刻み幅1が刻み幅2以上である場合(S110でYES)、質問生成部12は、今回のログイン期間(例えば、本日中)における対象作業者に対する質問のタイミング(質問時刻)として、ログイン時刻(作業の開始時刻)に予測時間1を加算した時刻を算出する(S111)。一方、刻み幅1が刻み幅2未満である場合(S110でNO)、質問生成部12は、今回のログイン期間における対象作業者に対する質問のタイミング(質問時刻)として、ログイン時刻に予測時間2を加算した時刻を算出する(S112)。
ステップS111又はS112に続いて、質問生成部12は、対象作業者に対する質問時刻を質問予定記憶部116に登録する(S113)。
図12は、質問予定記憶部116の構成例を示す図である。図12に示されるように、質問予定記憶部116のレコード(質問予定レコード)は、作業者ID、質問時刻、基準時間、作業構成、質問文及び回答等の項目を含む。
作業者IDは、質問の出力先の作業者の作業者IDである。質問時刻は、質問が出力される時刻である。基準時間は、質問時刻の算出に利用された予測時間(予測時間1又は予測時間2)である。作業構成は、質問の対象の作業構成である。質問文は、質問の内容を示す文字列である。回答は、質問に対する作業者からの回答である。
ステップS113の時点では、対象作業者ID、ステップS111又はS112において算出された質問時刻、当該質問時刻の算出に予測時間1及び予測時間2のいずれが利用されたのかを示す情報、対象作業構成、及びステップS105において生成された質問文等を含むレコードが質問予定記憶部116に登録される。なお、対象作業者からの回答はこの時点では得られていないため、当該レコードの回答の値は空である。
図13は、作業者端末20に対する質問文の出力処理の処理手順の一例を説明するためのフローチャートである。
ステップS201において、質問送信部13は、質問時刻が現在時刻より前であるレコードが質問予定記憶部116に記憶されているか否かを判定する。該当するレコードが有る場合(S201でYES)、質問送信部13は、該当するレコードの中で、質問時刻が最も早いレコード(以下、「対象質問予定レコード」という。)を取得する(S202)。
続いて、質問送信部13は、対象質問予定レコードの作業者IDに対応付けられて作業指示情報記憶部112(図8)に記憶されている端末IDを取得する(S203)。続いて、質問送信部13は、当該端末IDに係る作業者端末20に対して対象質問予定レコードを送信する(S204)。続いて、質問送信部13は、対象質問予定レコードを質問予定記憶部116から削除して(S205)、ステップS201に戻る。
図14は、対象質問予定レコードの送信先の作業者端末20が実行する処理手順の一例について説明するためのフローチャートである。
ステップS301において、質問受信部22によって対象質問予定レコードが受信されると、質問出力部23は、対象質問予定レコードの質問時刻の到来まで待機する(S302)。すなわち、作業開始時からの経過時間が予測時間1又は予測時間2に達するまで待機が行われる。
当該質問時刻が到来すると、質問出力部23は、対象質問予定レコードに含まれている質問文を音声出力装置206を利用して音声によって出力する(S303)。すなわち、対象作業構成の末尾の作業の完了の有無を問い合わせる質問文が出力される。なお、質問文は、音声出力されると共に、作業者端末20の表示装置211に表示されてもよい。又は、質問出力部23は、質問文を作業者端末20の表示装置211に表示して、作業者端末20を鳴動させたり振動させたりすることにより、質問文の出力を作業者に通知してもよい。
続いて、回答受付部24は、質問文に対する回答を作業者から受け付ける(S304)。回答は、音声入力装置207を介して音声によって入力されてもよいし、作業者端末20の入力装置212を介して入力されてもよい。後者の場合、回答の選択肢(「まだ」、「終わった」)が作業者端末20の表示装置211に表示されるとよい。
予定されている2択(「まだ」又は「終わった」)のいずれかを示す回答が作業者から入力されると(S305でYES)、回答受付部24は、入力された回答を対象質問予定レコードの「回答」の項目に記録する(S306)。続いて、回答送信部25は、回答が記録された対象質問予定レコードをサーバ装置10へ送信する(S307)。
なお、上記では、作業者端末20が質問時刻までの待機を行う例について説明したが、サーバ装置10の質問送信部13が、質問時刻までの待機を行うようにしてもよい。すなわち、質問送信部13は、質問時刻が到来した時点で、当該質問時刻を含む質問予定レコードを作業者端末20に送信するようにしてもよい。この場合、図14のステップS302は実行されなくてよい。
図15は、回答が記録された対象質問予定レコードの受信に応じてサーバ装置10が実行する処理手順の一例を説明するためのフローチャートである。
回答解析部14は、回答が記録された対象質問予定レコードを受信すると(S401)、対象質問予定レコード(図12)の基準時間の値が予測時間1を示す値であるか否かを判定する(S402)。すなわち、予測時間1に対応するタイミングで出力された質問に対する回答が受信対象であるか否かが判定される。
基準時間が予測時間1を示す値である場合(S402でYES)、回答解析部14は、対象質問レコードに記録されている回答の値が「まだ」であるか否かを判定する(S403)。当該回答の値が「まだ」である場合(S403でYES)、回答解析部14は、予測時間記憶部115(図11)において、対象質問予定レコードの作業者ID(対象作業者ID)及び作業構成(対象作業構成)に対応するレコード(対象予測時間レコード)の予測時間1に対象予測時間レコードの刻み幅1を加算すると共に、当該刻み幅1に1を加算する(S404)。すなわち、予測時間1が経過しても対象作業構成に係る作業手順が完了していないため、予測時間1が長くされる。また、当該作業手順の作業時間の精度を早期に高めるため、刻み幅1が大きくされる。
一方、当該回答の値が「終わった」である場合(S404でNO)、回答解析部14は、対象予測時間レコードの予測時間1から対象予測時間レコードの刻み幅1を減算すると共に、当該刻み幅1を1に初期化する(S405)。すなわち、この場合、予測時間1を長くし過ぎてしまったため、予測時間1が短縮される。また、予測時間1を長くし過ぎてしまったのは、刻み幅1を大きくし過ぎてしまったことに原因が有る可能性が有るため、刻み幅1が1に初期化される。
また、対象質問予定レコード(図12)の基準時間が予測時間2を示す値である場合(S402でNO)、回答解析部14は、対象質問レコードに記録されている回答の値が「終わった」であるか否かを判定する(S406)。当該回答の値が「終わった」である場合(S403でYES)、回答解析部14は、対象予測時間レコードの予測時間2から対象予測時間レコードの刻み幅2を減算すると共に、当該刻み幅2に1を加算する(S407)。すなわち、予測時間2より前に対象作業構成に係る作業手順が完了しているため、予測時間2が短くされる。また、対象作業構成に係る当該作業手順の作業時間の精度を早期に高めるため、刻み幅2が大きくされる。
一方、当該回答の値が「まだ」である場合(S406でNO)、回答解析部14は、対象予測時間レコードの予測時間2に対象予測時間レコードの刻み幅2を加算すると共に、当該刻み幅2を1に初期化する(S408)。すなわち、この場合、予測時間2を短くし過ぎてしまったため、予測時間2が長くされる。また、予測時間2を短くし過ぎてしまったのは、刻み幅2を大きくし過ぎてしまったことに原因が有る可能性が有るため、刻み幅2が1に初期化される。
続いて、精度更新部15は、対象予測時間レコードを処理対象として精度更新処理を実行する(S409)。すなわち、予測時間1又は予測時間2が更新されたため、対象予測時間レコードにおいて、予測時間1又は予測時間2に依存する項目の値の更新等が実行される。続いて、見なし時間整理部17は、見なし時間整理処理を実行する(S410)。
続いて、ステップS409の詳細について説明する。図16は、精度更新処理の処理手順の一例を説明するためのフローチャートである。
ステップS501において、精度更新部15は、対象予測時間レコードの予測標準時間の値を、対象予測時間レコードの予測時間1と対象予測時間レコードの予測時間2との平均値((予測時間1+予測時間2)÷2)によって更新する。
続いて、精度更新部15は、対象予測時間レコードの幅の値を、対象予測時間レコードの予測時間2−対象予測時間レコードの予測時間1の計算結果によって更新する(S502)。
続いて、精度更新部15は、対象予測時間レコードの精度の値を、対象予測時間レコードの幅÷対象予測時間レコードの予測標準時間の計算結果によって更新する(S503)。続いて、精度更新部15は、対象予測時間レコードの測定回数に1を加算する(S504)。続いて、精度更新部15は、システム共通情報をシステム共通情報記憶部117から読み込む(S505)。
図17は、システム共通情報記憶部117の構成例を示す図である。図17に示されるように、システム共通情報記憶部117には、精度条件、回数条件、幅条件及び初期予測時間余裕等を含むシステム共通情報が記憶されている。このうち、精度条件、回数条件及び幅条件は、予測時間記憶部115(図11)の各レコード(予測時間レコード)の予測標準時間を、各レコードの作業構成に係る作業手順の所要時間として見なす(又は推定する)ことに対する条件(以下、「見なし条件」という。)を構成するパラメータである。
すなわち、精度条件は、予測時間レコードの精度に対する条件(閾値)である。回数条件は、予測時間レコードの測定回数に対する条件(閾値)である。幅条件は、予測時間レコードの幅に対する条件(閾値)である。
一方、初期予測時間余裕は、図6のステップS109において、予測時間1及び予測時間2のそれぞれの初期値を計算する際の、βに対する±方向の余裕である。
続いて、精度更新部15は、対象予測時間レコードの測定回数が回数条件より大きく、かつ、対象予測時間レコードの精度が精度条件未満であり、かつ、対象予測時間レコードの幅が幅条件未満であるという見なし条件が満たされるか否かを判定する(S506)。なお、見なし条件は、精度条件又は幅条件のいずれか一方のみでもよい。
対象予測時間レコードが見なし条件を満たさない場合(S506でNO)、精度更新処理は終了する。対象予測時間レコードが見なし条件を満たす場合(S506でYES)、精度更新部15は、対象予測時間レコードの作業者ID、作業構成及び予測標準時間等を見なし時間記憶部118に登録する(S507)。
図18は、見なし時間記憶部118の構成例を示す図である。図18に示されるように、見なし時間記憶部118のレコードは、作業者ID、作業構成及び見なし時間等の項目を有する。すなわち、見なし時間記憶部118には、作業者ID及び作業構成の組ごとに、当該作業者IDに係る作業者による当該作業構成に係る作業手順について、高い精度が得られたことが推定される所要時間が記憶される。
したがって、ステップS507では、対象予測時間レコードの予測標準時間が見なし時間として登録される。
続いて、見なし時間解析部16は、対象予測時間レコードを入力パラメータとして見なし時間解析処理を実行する(S508)。
ここで、図15及び図16における対象予測時間レコードの更新について詳しく説明する。図19は、対象予測時間レコードの更新について説明するための図である。
図19において、(1)は、或る時点における(更新前の)対象予測時間レコードの状態を示す。この状態において、対象予測時間レコードに基づく質問が、予測時間1を基準とするタイミングで出力された場合に、回答が「まだ」だったとすると、対象予測時間レコードは、(2)に示されるように更新される。
すなわち、(2)では、更新前の((1)における)刻み幅1が予測時間1に加算されている。また、刻み幅1に1が加算され、「2」に更新されている。
また、(2)の状態において、対象予測時間レコードに基づく質問が、予測時間1を基準とするタイミングで出力された場合に、回答が「まだ」だったとすると、対象予測時間レコードは、(3)に示されるように更新される。
すなわち、(3)では、更新前の((2)における)刻み幅1が予測時間1に加算されている。また、刻み幅1に1が加算され、「3」に更新されている。すなわち、予測時間1の増加の度合いが大きくされている。
一方、(2)の状態において、対象予測時間レコードに基づく質問が、予測時間1を基準とするタイミングで出力された場合に、回答が「終わった」だった場合、対象予測時間レコードは、(4)に示されるように更新される。
すなわち、(4)では、更新前の((2)における)刻み幅1が予測時間1から減算されている(巻き戻されている)。また、刻み幅1が1に初期化されている。
なお、(2)、(3)、(4)それぞれにおいて、予測時間1の更新に伴って、予測標準時間、幅、精度も更新されている。
続いて、ステップS508の詳細について説明する。図20は、見なし時間解析処理の処理手順の一例を説明するためのフローチャートである。
ステップS601において、見なし時間解析部16は、入力パラメータ(対象予測時間レコード)と同じ作業者IDを含み、入力パラメータの作業構成の前方の一部(先頭からの一部)又は後方の一部(末尾までの一部)と同一の作業構成を含むレコードを見なし時間記憶部118(図18)から検索する。例えば、入力パラメータの作業構成が「ABC」である場合において、作業構成が「A」又は「C」であるレコードが見なし時間記憶部118に記憶されている場合、当該レコードが検索される。
該当するレコードが存在しない場合(S602でNO)、見なし時間解析処理は終了する。該当するレコード(以下、「対象見なし時間レコード」という。)が存在した場合(S602でYES)、見なし時間解析部16は、入力パラメータの作業構成から対象見なし時間レコードの作業構成を除去した作業構成αを生成する(S603)。例えば、入力パラメータの作業構成が「ABC」であり、対象見なし時間レコードの作業構成が「A」である場合、「BC」が作業構成αとして生成される。
続いて、見なし時間解析部16は、入力パラメータの作業者IDと作業構成αとを含むレコード(以下、「予測時間レコードα」という。)を予測時間記憶部115(図11)に追加する(S604)。すなわち、作業構成αが、今後における所要時間の計測対象の候補とされる。
続いて、見なし時間解析部16は、入力パラメータの予測時間1及び予測時間2のそれぞれから対象見なし時間レコードの予測標準時間を減算した(差し引いた)値を、予測時間レコードαの予測時間1、予測時間2のそれぞれに登録する(S605)。続いて、見なし時間解析部16は、予測時間レコードαの刻み幅1及び刻み幅2のそれぞれに1を登録する(S606)。
続いて、精度更新部15は、予測時間レコードαを処理対象として精度更新処理(図16)を実行する。その結果、当該精度更新処理から見なし時間解析処理が再帰的に呼び出される可能性が有る。
見なし時間解析処理(図20)の意義について詳しく説明する。例えば、精度更新処理(図16)において処理対象とされている対象予測時間レコードが図21に示す通りであったとする。この場合、対象予測時間レコードは見なし条件を満たすため、図16のステップS507において、対象予測時間レコードの作業者ID、作業構成及び作業標準時間が見なし時間記憶部118(図17)に登録される。その結果、見なし時間記憶部118が、図22に示されるように更新されたとする。
図22は、見なし時間記憶部118の更新例を示す図である。図22において、(1)は、更新前の状態を示し、(2)は、更新後の状態を示す。すなわち、(2)において3番目のレコードが図21の対象予測時間レコードに基づいて登録されたレコードである。
この場合、ステップS507に続いて実行される図20のステップS601では、対象予測時間レコードの作業構成「ABC」の前方の一部に一致する作業構成「A」を含むレコードが図22(3)の見なし時間記憶部118から検索される。したがって、ステップS603では、「ABC」から「A」を除去した「BC」が作業構成αとして生成される。続いて実行されるステップS604〜S607によって、図23に示されるレコードが、予測時間レコードαとして予測時間記憶部115に追加される。
すなわち、見なし時間記憶部118に登録された作業構成「A」の見なし時間は、作業者IDが「ID−01」である作業者による作業Aの遂行について高い精度の所要時間であると見なされた時間である。また、作業構成「ABC」についても同様である。したがって、当該作業者について作業構成「BC」の予測時間1及び予測時間2は、当該作業者についての作業構成「ABC」が見なし時間記憶部118に登録された時点における作業構成「ABC」の予測時間1及び予測時間2から、作業構成「A」の見なし時間を減算することで、精度の高い値が求められると考えられる。このような考えに基づいて、作業構成「BC」に対応する予測時間レコードαが、予測時間記憶部115に追加されるのである。
その結果、作業構成「BC」は、当該作業者に対して質問対象(所要時間の計測対象)の候補となる。但し、作業構成「BC」に対応する予測時間レコードαが、予測時間記憶部115に登録された時点で既に見なし条件を満たす場合、当該予測時間レコードαについて直ちにステップS507及びS508が実行される。
その結果、作業構成「BC」に係る予測時間レコードを入力パラメータとして見なし時間解析処理(図20)が実行される。この場合、ステップS601では、図22(2)において、作業構成が「C」である2番目のレコードが検索される。したがって、作業構成「BC」から作業構成「C」が除去された作業構成「B」が作業構成αとして生成され、図24に示されるレコードが、作業構成「B」に係る予測時間レコードαとして、予測時間記憶部115に登録される。
すなわち、作業構成「B」が、当該作業者に対して質問対象の候補(所要時間の計測対象の候補)となる。但し、作業構成「B」に対応する予測時間レコードαが、予測時間記憶部115に登録された時点で既に見なし条件を満たす場合、当該予測時間レコードαについて直ちにステップS507及びS508が実行される。
そうすると、作業者IDが「ID−01」である作業者について、作業構成「A」、「B」、「C」、「ABC」のそれぞれの見なし時間が見なし時間記憶部118に登録された状態となる。このように、本実施の形態によれば、図6以降の処理が継続的に(例えば、毎日)繰り返されることで、最終的に、作業者ごと及び1作業ごとの見なし時間を得ることができる。
続いて、図15のステップS410の詳細について説明する。図25は、見なし時間整理処理の処理手順の一例を説明するための図である。なお、本実施の形態において、図25の処理手順は、図15のステップS410において呼び出されるが、図25の処理手順は、例えば、バッチ処理として定期的に実行されてもよい。
ステップS701において、見なし時間整理部17は、作業構成の長さ(作業構成に含まれる作業コードの数)が2以上であるレコード群γを見なし時間記憶部118から取り出す。該当するレコードが無い場合(S702でNO)、見なし時間整理処理は終了する。
レコード群γが1以上のレコードを含む場合(S702でYES)、見なし時間整理部17は、レコード群γから1つのレコードγ’を取り出す(S703)。続いて、見なし時間整理部17は、レコードγ’と作業者IDが同じである2以上のレコード(見なし時間記憶部118のレコード)の作業構成の組み合わせ(接続)によってレコードγ’の作業構成を生成することが可能か否かを判定する(S704)。例えば、レコードγ’の作業構成が「ABC」であり、それぞれの作業構成が「A」、「BC」であるレコードや、「A」、「B」、「C」であるレコードや、「AB」、「C」であるレコードが見なし時間記憶部118に記憶されている場合には、ステップS704において、可能であると判定される。
ステップS704における判定結果が不可能である場合(S704でNO)、ステップS706に進む。ステップS704における判定結果が可能である場合(S704でYES)、見なし時間整理部17は、レコードγ’を見なし時間記憶部118から削除して(S705)、ステップS706に進む。レコードγ’の作業構成が細分化された作業構成の見なし時間が既に判明しているため、レコードγ’は不要だからである。
ステップS706において、見なし時間整理部17は、レコード群γ内の全てのレコードを処理したか否かを判定する。未処理のレコードが有る場合(S706でNO)、見なし時間整理部17は、ステップS703以降を繰り返す。未処理のレコードが無い場合(S706でYES)、見なし時間整理処理は終了する。
なお、本実施の形態では、質問の出力のタイミングとして具体的な時刻(質問時刻)が設定される例を説明したが、質問時刻の代わりに予測時間1又は予測時間2が、質問の出力のタイミングを示す情報として質問予定レコードに設定されるようにしてもよい。この場合、作業者端末20又はサーバ装置10が、作業の開始時からの経過時間と、質問予定レコードに設定された時間(予測時間1又は予測時間2)とを比較し、質問の出力のタイミングを判定してもよい。
こうすることで、作業者が途中で休憩する場合や、作業手順の遂行が複数日に跨る場合における、質問のタイミングの特定を容易にすることができる。例えば、作業者は、休憩の開始時やその日の作業の終了時等に、作業を中断する旨を作業者端末20へ入力し、休憩の終了時や翌日の作業の再開時等に、作業を再開する旨を作業者端末20へ入力する。作業者端末20又はサーバ装置10は、休憩中等、作業が行われていない期間を、作業手順の開始時からの経過時間から除くことで、質問の出力のタイミングを精度良く判定することができる。
上述したように、本実施の形態によれば、作業者に対して作業手順の完了の有無を問い合わせる質問のタイミング(作業手順の開始からの経過時間)と、当該質問に対する作業者による回答(作業手順が完了したか否かを示す回答)とに基づいて、当該作業手順の所要時間を特定(又は推定)することができる。したがって、作業者は、単に、質問に回答すればよく、自らが意識して能動的に行動を行う必要性は低い。すなわち、作業者は、自らの作業に集中することができる。よって、作業の所要時間を効率的に把握可能とすることができる。
なお、サーバ装置10が有する各機能部(ログイン受付部11、質問生成部12、質問送信部13、回答解析部14、精度更新部15、見なし時間解析部16及び見なし時間整理部17)、並びに各記憶部(作業者マスタ記憶部111、作業指示情報記憶部112、作業構成情報記憶部113、作業マスタ記憶部114、予測時間記憶部115、質問予定記憶部116、システム共通情報記憶部117及び見なし時間記憶部118)を、各作業者端末20が有するようにしてもよい。すなわち、本実施の形態において、サーバ装置10が実行するとして説明した処理手順は、各作業者端末20が実行してもよい。この場合、各作業者端末20は、各記憶部のレコードのうち、当該作業者端末20に対応する作業者の作業者IDを含むレコードのみを記憶してもよい。
なお、本実施の形態において、予測時間1は、第1の時間の一例である。予測時間2は、第2の時間の一例である。精度条件及び幅条件の少なくともいずれか一方は、所定の条件の一例である。サーバ装置10又は作業者端末20は、情報処理装置の一例である。質問生成部12は、生成部の一例である。回答解析部14は、更新部の一例である。精度更新部15は、特定部の一例である。見なし時間解析部16は、算出部の一例である。見なし時間記憶部118は、記憶部の一例である。
以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
以上の説明に関し、更に以下の項を開示する。
(付記1)
1以上の作業を含む作業手順の開始を示す情報を受け付けてからの経過時間が、前記作業手順の所要時間として予測される第1の時間又は前記第1の時間より長い第2の時間に達したタイミングで前記作業手順が完了したか否かを問う質問を生成する処理と、
前記質問に対する回答に基づいて、前記第1の時間又は前記第2の時間を更新する処理と、
前記第1の時間と前記第2の時間との幅が所定の条件を満たすと、当該幅の範囲内の時間を、前記作業手順の所要時間として特定する処理と、
をコンピュータに実行させることを特徴とする情報処理プログラム。
(付記2)
前記更新する処理は、前記経過時間が前記第1の時間に達したタイミングでの前記質問に対する回答が前記作業手順の未完了を示す場合には、前記第1の時間を長くし、前記経過時間が第2の時間に達したタイミングでの前記質問に対する回答が前記作業手順の完了を示す場合には、前記第2の時間を短くする、
ことを特徴とする付記1記載の情報処理プログラム。
(付記3)
前記更新する処理は、前記経過時間が前記第1の時間に達したタイミングでの前記質問に対する回答が連続して未完了を示す場合には、前記第1の時間を長くする度合いを大きくし、前記第2の時間に行われた質問に対する回答が連続して完了を示す場合には、前記第2の時間を短くする度合いを大きくする、
ことを特徴とする付記2記載の情報処理プログラム。
(付記4)
前記特定する処理は、特定した所要時間を前記作業手順に関連付けて記憶部に記憶し、
第1の作業手順の所要時間が特定された際に、前記第1の作業手順の前方の一部又は後方の一部に一致する第2の作業手順が前記記憶部に記憶されている場合には、前記第1の作業手順について特定された所要時間から前記第2の作業手順について特定された所要時間を差し引いた時間を、前記第1の作業手順から第2の作業手順を除いた第3の作業手順に関して算出する処理を前記コンピュータに実行させる、
ことを特徴とする付記1乃至3いずれか一項記載の情報処理プログラム。
(付記5)
1以上の作業を含む作業手順の開始を示す情報を受け付けてからの経過時間が、前記作業手順の所要時間として予測される第1の時間又は前記第1の時間より長い第2の時間に達したタイミングで前記作業手順が完了したか否かを問う質問を生成する処理と、
前記質問に対する回答に基づいて、前記第1の時間又は前記第2の時間を更新する処理と、
前記第1の時間と前記第2の時間との幅が所定の条件を満たすと、当該幅の範囲内の時間を、前記作業手順の所要時間として特定する処理と、
をコンピュータが実行することを特徴とする情報処理方法。
(付記6)
前記更新する処理は、前記経過時間が前記第1の時間に達したタイミングでの前記質問に対する回答が前記作業手順の未完了を示す場合には、前記第1の時間を長くし、前記経過時間が第2の時間に達したタイミングでの前記質問に対する回答が前記作業手順の完了を示す場合には、前記第2の時間を短くする、
ことを特徴とする付記5記載の情報処理方法。
(付記7)
前記更新する処理は、前記経過時間が前記第1の時間に達したタイミングでの前記質問に対する回答が連続して未完了を示す場合には、前記第1の時間を長くする度合いを大きくし、前記第2の時間に行われた質問に対する回答が連続して完了を示す場合には、前記第2の時間を短くする度合いを大きくする、
ことを特徴とする付記6記載の情報処理方法。
(付記8)
前記特定する処理は、特定した所要時間を前記作業手順に関連付けて記憶部に記憶し、
第1の作業手順の所要時間が特定された際に、前記第1の作業手順の前方の一部又は後方の一部に一致する第2の作業手順が前記記憶部に記憶されている場合には、前記第1の作業手順について特定された所要時間から前記第2の作業手順について特定された所要時間を差し引いた時間を、前記第1の作業手順から第2の作業手順を除いた第3の作業手順に関して算出する処理を前記コンピュータが実行する、
ことを特徴とする付記5乃至7いずれか一項記載の情報処理方法。
(付記9)
1以上の作業を含む作業手順の開始を示す情報を受け付けてからの経過時間が、前記作業手順の所要時間として予測される第1の時間又は前記第1の時間より長い第2の時間に達したタイミングで前記作業手順が完了したか否かを問う質問を生成する生成部と、
前記質問に対する回答に基づいて、前記第1の時間又は前記第2の時間を更新する更新部と、
前記第1の時間と前記第2の時間との幅が所定の条件を満たすと、当該幅の範囲内の時間を、前記作業手順の所要時間として特定する特定部と、
を有することを特徴とする情報処理装置。
(付記10)
前記更新部は、前記経過時間が前記第1の時間に達したタイミングでの前記質問に対する回答が前記作業手順の未完了を示す場合には、前記第1の時間を長くし、前記経過時間が第2の時間に達したタイミングでの前記質問に対する回答が前記作業手順の完了を示す場合には、前記第2の時間を短くする、
ことを特徴とする付記9記載の情報処理装置。
(付記11)
前記更新部は、前記経過時間が前記第1の時間に達したタイミングでの前記質問に対する回答が連続して未完了を示す場合には、前記第1の時間を長くする度合いを大きくし、前記第2の時間に行われた質問に対する回答が連続して完了を示す場合には、前記第2の時間を短くする度合いを大きくする、
ことを特徴とする付記10記載の情報処理装置。
(付記12)
前記特定部は、特定した所要時間を前記作業手順に関連付けて記憶部に記憶し、
第1の作業手順の所要時間が特定された際に、前記第1の作業手順の前方の一部又は後方の一部に一致する第2の作業手順が前記記憶部に記憶されている場合には、前記第1の作業手順について特定された所要時間から前記第2の作業手順について特定された所要時間を差し引いた時間を、前記第1の作業手順から第2の作業手順を除いた第3の作業手順に関して算出する算出部を有する、
ことを特徴とする付記9乃至11いずれか一項記載の情報処理装置。