(57)【要約】【課題】ネットワーク構造に関係なく、推論を効率よく行う。【解決手段】工程管理装置１０は、診断対象のシステムにおいて発生した不良結果から不良要因を推定する。工程管理装置１０は、推定知識記録部２３に記録された因果ネットワークに基づいて、推論処理部６１にて要因推定処理を行い、その過程において、因果ネットワークに含まれる条件に対応する入力項目のデータを項目データ取得部６５にて取得する。取得したデータに基づいて、条件を満たす度合いを示す適合度を適合度演算部６２にて算出し、要因推定のパスに含まれる条件に対する適合度の集合を代表する値を確信度として確信度演算部６３にて不良要因ごとに算出し、或る入力項目に関して、入力項目のデータを取得した場合に確信度に及ぼす影響の度合いを示す影響度を影響度演算部６４にて算出する。項目データ取得部６５は、影響度の高い入力項目のデータを取得する。【選択図】図１
2007193457.tif 000002
【特許請求の範囲】
【請求項１】
診断対象のシステムにおいて発生した結果から要因を推定する要因推定装置であって、
上記システムにおいて発生し得る複数の結果のそれぞれに対して、要因の候補を１つ以上対応付けるとともに、各結果から該結果に対応する各要因に至る要因推定のパスを、条件分岐によるネットワーク構造の知識として示す要因推定知識情報を記録する推定知識記録部と、
上記推定知識記録部に記録されている上記要因推定知識情報に基づいて要因推定処理を行う推論処理手段と、
上記推論処理手段によって要因推定処理が行われる過程において、上記要因推定知識情報に含まれる条件に対応する入力項目のデータを取得する項目データ取得手段と、
該項目データ取得手段が取得したデータに基づいて、上記条件を満たす度合いを示す適合度を算出する適合度演算手段と、
上記要因推定のパスに含まれる条件に対する適合度の集合を代表する値を確信度として上記要因ごとに算出する確信度演算手段と、
或る入力項目に関して、該入力項目のデータを取得した場合に確信度に及ぼす影響の度合いを示す影響度を、入力項目ごとに算出する影響度演算手段とを備え、
上記項目データ取得手段は、上記影響度の高い入力項目のデータを取得することを特徴とする要因推定装置。
【請求項２】
上記項目データ取得手段が取得したデータが、条件を満たす場合、該条件分岐先のノードを着目ノードとして決定する着目ノード決定手段をさらに備え、
上記項目データ取得手段は、上記着目ノードとその下流側のノードとに対応する入力項目のうち、上記影響度の高い入力項目のデータを取得することを特徴とする請求項１に記載の要因推定装置。
【請求項３】
上記着目ノード決定手段は、上記影響度が所定値以上である入力項目が存在しない場合、前の着目ノードに戻すことを特徴とする請求項２に記載の要因推定装置。
【請求項４】
関連する複数の入力項目の情報をグループ化して記憶する関連項目記録部をさらに備え、
上記項目データ取得手段は、上記影響度の高い入力項目のデータと、該入力項目と同じグループに属する入力項目のデータとを取得することを特徴とする請求項１に記載の要因推定装置。
【請求項５】
上記項目データ取得手段は、上記影響度の高い入力項目のデータと、該入力項目と同じグループに属する入力項目であって、上記影響度が所定値以上である入力項目のデータとを取得することを特徴とする請求項４に記載の要因推定装置。
【請求項６】
上記要因推定知識情報に含まれる条件に対応する質問に対するユーザからの回答を取得する入力制御手段をさらに備え、
上記項目データ取得手段は、上記入力制御手段が取得する回答に基づいて、上記入力項目のデータを取得することを特徴とする請求項１に記載の要因推定装置。
【請求項７】
上記システムを検査する検査装置から検査結果データを受け付ける検査結果入力手段と、
上記検査結果入力手段によって受け付けられた検査結果データを記録する検査結果記録部と、
上記入力項目のデータを、ユーザおよび上記検査結果データの何れから取得するか、或いは両方から取得するかを示す取得方法の情報を上記入力項目の情報とともに記憶する取得方法記録部とを備え、
上記項目データ取得手段は、上記入力項目に対応する取得方法の情報に基づいて、上記入力項目のデータを取得することを特徴とする請求項６に記載の要因推定装置。
【請求項８】
被対象物に対して処理を行う処理システムにおいて発生した不良結果から不良要因を推定することを特徴とする請求項１に記載の要因推定装置。
【請求項９】
請求項１から８のいずれか１項に記載の要因推定装置を動作させる要因推定プログラムであって、コンピュータを上記の各手段として機能させるための要因推定プログラム。
【請求項１０】
請求項９に記載の要因推定プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１１】
診断対象のシステムにおいて発生した結果から要因を推定する要因推定装置であって、上記システムにおいて発生し得る複数の結果のそれぞれに対して、要因の候補を１つ以上対応付けるとともに、各結果から該結果に対応する各要因に至る要因推定のパスを、条件分岐によるネットワーク構造の知識として示す要因推定知識情報を記録する推定知識記録部を備える要因推定装置の要因推定方法であって、
上記推定知識記録部に記録されている上記要因推定知識情報に基づいて要因推定処理を行う推論処理ステップと、
上記推論処理ステップによって要因推定処理が行われる過程において、上記要因推定知識情報に含まれる条件に対応する入力項目のデータを取得する項目データ取得ステップと、
該項目データ取得ステップが取得したデータに基づいて、上記条件を満たす度合いを示す適合度を算出する適合度演算ステップと、
上記要因推定のパスに含まれる条件に対する適合度の集合を代表する値を確信度として上記要因ごとに算出する確信度演算ステップと、
或る入力項目に関して、該入力項目のデータを取得した場合に確信度に及ぼす影響の度合いを示す影響度を、入力項目ごとに算出する影響度演算ステップとを含み、
上記項目データ取得ステップにおいて、上記影響度の高い入力項目のデータを取得することを特徴とする要因推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、診断対象のシステムにおいて発生した結果から要因を推定する要因推定装置、要因推定プログラム、要因推定プログラムを記録した記録媒体、および要因推定方法に関するものである。特に、本発明は、被対象物の処理工程を管理する工程管理装置などに関するものである。
【背景技術】
【０００２】
工場の生産ラインにおいて、歩留まりを向上させるために工程の改善処理が必要とされている。工程の改善処理としては、まず製造品の不良の要因となる工程を特定し、その要因を取り除くように機器の調整や清掃などが行われる。
【０００３】
しかしながら、複数の工程からなる製造工程においては、不良の要因の候補として、製造装置の部品の欠陥、製造装置の設定の問題、および搬送経路での問題など、多種多様な要因が考えられる。例えば回路基板の表面実装システムの工程は、プリント工程−実装工程−リフロー工程にわかれている。プリント工程では、基板上に半田ペーストが塗られ、実装工程では、基板上に部品が設置される。最後のリフロー工程では、熱を加えることによって半田を溶かして部品が接着される。このような表面実装システムにおいて、ブリッジ不良が起こった場合、ブリッジ不良を起こす要因としては、マスクずれ、下型よごれなど多く考えられるが、この内の１つあるいは複数が根本の要因となる。
【０００４】
不良の要因となる現象が現れると、製造品に不良の症状が現れるのはもちろんのこと、製造装置の動作履歴や検査装置の検査履歴に対しても何らかの影響を与えることになる。これらの不良品の症状に関するデータ、および、製造装置の動作履歴や検査装置の検査履歴に関するデータは膨大なものとなり、不良の発生に関する分析を行うことも困難である。
【０００５】
ここで、生産管理に関する経験が豊富な生産管理担当者は、不良要因が不良品、製造装置、検査装置に与える影響の関係、およびその影響の解釈の仕方を経験的に知っており、効率的に工程改善を実施することが可能である。しかしながら、経験の浅い生産管理担当者は、要因を１つずつ吟味して要因の特定を行うことになり、工程の改善処理に多大な時間を費やすことになる。
【０００６】
したがって、生産現場において、いかなる熟練度の生産管理担当者であっても、異常要因の推定を高確度かつ高効率で実現可能な手法が要望されている。このような手法として、以下に示す特許文献１には、各工程（プリント工程−実装工程−リフロー工程）に設けられた検査機から情報を取得し、それにより推論を行う方法が提案されている。
【０００７】
しかしながら、表面実装システムにおいて、要因推定に必要とされる情報を全て検査機から取得できるとは限らない。例えば、基板の正面から撮影した半田の面積なら画像処理の技術を利用することで収集できるが、基板の反りといった情報は、人間が基板の側面から確認する必要がある。ここで、基板の反りを検知するための構成を設けることも考えられるが、検査機のコストを必要以上に大きくすることは好ましくない。よって、検査機からの検査結果データに加えて、人間からの情報の入力を行うことが好ましい。すなわち、要因推定を行うためには、機械と人との協調型の推論を行うことが必要となる。
【特許文献１】特開平６−１９６９００号公報（１９９４年７月１５日公開）
【特許文献２】特開平７−０５５８６８号公報（１９９５年３月３日公開）
【特許文献３】特開平２−２４７５７６号公報（１９９０年１０月３日公開）
【特許文献４】特開２００３−１０８３７５号公報（２００３年４月１１日公開）
【特許文献５】特表２００１−５１９５５９号公報（２００１年１０月２３日公表）
【特許文献６】特表２００１−５２３０２６号公報（２００１年１１月２０日公表）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
一般的な推論方法では、知識情報がネットワーク構造となっており、ルートノードからパスに従って探索を行っている。このため、推論を効率よく行うには、例えば、推論を行う上で重要な項目を上流側のノードとするなど、上記ネットワーク構造を最適化する必要がある。
【０００９】
しかしながら、これには多大な労力およびコストが必要となる。また、推論を行う状況によっては、上記重要な項目が変化することがある。したがって、種々の状況に応じて効率よく推論を行うことが可能なネットワーク構造を構築することは非常に困難である。
【００１０】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、ネットワーク構造に関係なく、推論を効率よく行うことができる要因推定装置などを提供することにある。
【課題を解決するための手段】
【００１１】
本発明に係る要因推定装置は、診断対象のシステムにおいて発生した結果から要因を推定する要因推定装置であって、上記課題を解決するために、上記システムにおいて発生し得る複数の結果のそれぞれに対して、要因の候補を１つ以上対応付けるとともに、各結果から該結果に対応する各要因に至る要因推定のパスを、条件分岐によるネットワーク構造の知識として示す要因推定知識情報を記録する推定知識記録部と、上記推定知識記録部に記録されている上記要因推定知識情報に基づいて要因推定処理を行う推論処理手段と、上記推論処理手段によって要因推定処理が行われる過程において、上記要因推定知識情報に含まれる条件に対応する入力項目のデータを取得する項目データ取得手段と、該項目データ取得手段が取得したデータに基づいて、上記条件を満たす度合いを示す適合度を算出する適合度演算手段と、上記要因推定のパスに含まれる条件に対する適合度の集合を代表する値を確信度として上記要因ごとに算出する確信度演算手段と、或る入力項目に関して、該入力項目のデータを取得した場合に確信度に及ぼす影響の度合いを示す影響度を、入力項目ごとに算出する影響度演算手段とを備え、上記項目データ取得手段は、上記影響度の高い入力項目のデータを取得することを特徴としている。
【００１２】
また、本発明に係る要因推定方法は、診断対象のシステムにおいて発生した結果から要因を推定する要因推定装置であって、上記システムにおいて発生し得る複数の結果のそれぞれに対して、要因の候補を１つ以上対応付けるとともに、各結果から該結果に対応する各要因に至る要因推定のパスを、条件分岐によるネットワーク構造の知識として示す要因推定知識情報を記録する推定知識記録部を備える要因推定装置の要因推定方法であって、上記課題を解決するために、上記推定知識記録部に記録されている上記要因推定知識情報に基づいて要因推定処理を行う推論処理ステップと、上記推論処理ステップによって要因推定処理が行われる過程において、上記要因推定知識情報に含まれる条件に対応する入力項目のデータを取得する項目データ取得ステップと、該項目データ取得ステップが取得したデータに基づいて、上記条件を満たす度合いを示す適合度を算出する適合度演算ステップと、上記要因推定のパスに含まれる条件に対する適合度の集合を代表する値を確信度として上記要因ごとに算出する確信度演算ステップと、或る入力項目に関して、該入力項目のデータを取得した場合に確信度に及ぼす影響の度合いを示す影響度を、入力項目ごとに算出する影響度演算ステップとを含み、上記項目データ取得ステップにおいて、上記影響度の高い入力項目のデータを取得することを特徴としている。
【００１３】
上記の構成または方法では、各結果から該結果に対応する各要因に至る要因推定のパスを、条件分岐によるネットワーク構造の知識として示す要因推定知識情報に基づいて要因推定処理が行われる。この要因推定処理は、要因推定知識情報に含まれる条件に対応する入力項目のデータを取得されることによって進行することになるが、この過程において、条件を満たす度合いを示す適合度が算出され、要因推定のパスに含まれる条件に対する適合度の集合を代表する値が確信度として要因ごとに算出される。そして、或る入力項目に関して、該入力項目のデータを取得した場合に確信度に及ぼす影響の度合いを示す影響度が入力項目ごとに算出され、影響度の高い入力項目のデータが取得される。
【００１４】
したがって、要因推定のパスに関係なく、影響度の高い入力項目、すなわち要因を推定するのに重要な入力項目からデータを取得するので、効率よく要因を推定することができる。また、要因推定を効率よく行うためにネットワーク構造を最適化する必要がないので、ネットワーク構造を容易に構築することができる。
【００１５】
なお、影響度の算出手法の具体例としては、データが未取得である入力項目にデータが設定された場合の確信度である確信度予測値を求め、該確信度予測値と現時点での確信度との差を要因ごとに算出し、それらの総和を算出することが挙げられる。また、データを取得する入力項目は、影響度の最も高いものが望ましいが、データを取得した場合に、推定される要因が変化し得る程度の影響度以上のものであってもよい。また、適合度の集合を代表する値としては、例えば最小値、および平均値などが挙げられる。
【００１６】
ところで、影響度の高い入力項目からデータを取得していく場合、要因推定のパスに関係がないため、入力項目のデータを取得するためにユーザに行う質問に一貫性が無くなる虞がある。
【００１７】
そこで、本発明に係る要因推定装置は、上記の構成において、上記項目データ取得手段が取得したデータが、条件を満たす場合、該条件分岐先のノードを着目ノードとして決定する着目ノード決定手段をさらに備え、上記項目データ取得手段は、上記着目ノードとその下流側のノードとに対応する入力項目のうち、上記影響度の高い入力項目のデータを取得する構成とすることが好ましい。
【００１８】
上記の構成によれば、データを取得する入力項目の探索範囲が、着目ノードから下流側のものとなる。そして、取得した入力項目のデータが条件を満たす場合に、条件分岐先のノードを次の着目ノードとしている。これにより、データを取得する入力項目の探索範囲がさらに絞り込まれることになる。したがって、入力項目のデータを取得するためにユーザに質問を行う場合、次々と絞り込まれた探索範囲内の入力項目に対応する質問がなされるため、質問の流れの一貫性を損なわない。
【００１９】
なお、着目ノードを下流側のノードに次々と移動させた場合、最終的には、データを取得すべき入力項目が存在しなくなる。ここで、着目ノードをルートノードに戻すならば、全く異なるパス上の条件に対応する入力項目が選択される可能性がある。この場合、入力項目のデータを取得するためにユーザに行う質問が今までと全く異なるものとなる可能性があり、質問の流れが途切れる虞がある。
【００２０】
そこで、本発明に係る要因推定装置は、上記の構成において、上記着目ノード決定手段は、上記影響度が所定値以上である入力項目が存在しない場合、前の着目ノードに戻す構成とするが好ましい。この場合、絞り込まれる直前の探索範囲に戻るため、同じ様な質問の流れを維持することができる。なお、上記構成を実現するには、着目ノードの履歴を記憶する記憶装置が必要となる。この記憶装置としては、後入れ先出し方式の記憶装置を利用することが望ましい。
【００２１】
また、質問の一貫性を確保するために、本発明に係る要因推定装置は、上記の構成において、関連する複数の入力項目の情報をグループ化して記憶する関連項目記録部をさらに備え、上記項目データ取得手段は、上記影響度の高い入力項目のデータと、該入力項目と同じグループに属する入力項目のデータとを取得する構成であってもよい。
【００２２】
上記の構成によると、影響度の高い入力項目のデータを取得する場合に、該入力項目に関連する入力項目のデータも取得する。この場合、関連する複数の入力項目のデータを取得するためにユーザに行う質問も関連している可能性が高い。したがって、質問の流れの一貫性を確保できる。
【００２３】
なお、上記項目データ取得手段は、上記影響度の高い入力項目のデータと、該入力項目と同じグループに属する入力項目であって、上記影響度が所定値以上である入力項目のデータとを取得することが好ましい。この場合、影響度の低い入力項目のデータを取得しないので、入力項目のデータの取得を効率よく行うことができる。
【００２４】
また、本発明に係る要因推定装置は、上記の構成において、上記要因推定知識情報に含まれる条件に対応する質問に対するユーザからの回答を取得する入力制御手段をさらに備え、上記項目データ取得手段は、上記入力制御手段が取得する回答に基づいて、上記入力項目のデータを取得する構成であることが好ましい。この場合、ユーザからの回答に基づいて入力項目のデータを取得するので、ユーザと要因推定装置とが互いに協調しながら要因を推定することが可能となる。
【００２５】
さらに、本発明に係る要因推定装置は、上記の構成において、上記システムを検査する検査装置から検査結果データを受け付ける検査結果入力手段と、上記検査結果入力手段によって受け付けられた検査結果データを記録する検査結果記録部と、上記入力項目のデータを、ユーザおよび上記検査結果データの何れから取得するか、或いは両方から取得するかを示す取得方法の情報を上記入力項目の情報とともに記憶する取得方法記録部とを備え、上記項目データ取得手段は、上記入力項目に対応する取得方法の情報に基づいて、上記入力項目のデータを取得する構成であることが好ましい。この場合、検査装置からの検査結果データに基づいて入力項目のデータを取得するので、ユーザと検査装置と要因推定装置とが互いに協調しながら要因を推定することが可能となる。
【００２６】
なお、本発明に係る要因推定装置は、被対象物に対して処理を行う処理システムにおいて発生した不良結果から不良要因を推定する工程管理装置に好適である。
【００２７】
なお、上記要因推定装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記各手段として動作させることにより上記要因推定装置をコンピュータにて実現させる要因推定プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【発明の効果】
【００２８】
本発明に係る要因推定装置は、以上のように、要因推定のパスに関係なく、影響度の高い入力項目、すなわち要因を推定するのに重要な入力項目からデータを取得するので、効率よく要因を推定できるという効果を奏すると共に、要因推定を効率よく行うためにネットワーク構造を最適化する必要がないので、ネットワーク構造の構築が容易になるという効果を奏する。
【発明を実施するための最良の形態】
【００２９】
本発明の一実施形態について図面に基づいて説明すると以下の通りである。本実施形態では、プリント基板の生産ラインを有する生産システムに適用される工程管理システムについて説明するが、本発明は、プリント基板の生産システムに限定されるものではなく、被対象物の処理工程の管理全般に適用することが可能である。なお、被対象物の処理工程とは、例えば、工業製品の生産工程、鉱工業製品、農産物、または原料の検査工程、廃棄対象物（例えば、工場廃棄物、工場廃水、廃ガス、ゴミ等）の処理工程、廃棄対象物の検査工程、設備の検査工程、リサイクル工程等を意味する。
【００３０】
（生産システムの構成）
まず、本実施形態に係る工程管理システムが適用されるプリント基板の生産システム（処理システム）１について、図２に基づいて説明する。生産システム１における生産ラインは、プリント基板を製造する各工程（印刷工程、実装工程、リフロー工程等）を含んでいる。同図に示す例では、生産システム１は、基板上に半田をペーストする半田印刷工程を行う印刷装置１１、基板上に電子部品を実装する部品実装工程を行う装着装置１２、基板上の電子部品を半田付けするリフロー工程を行う半田付け装置１３、および生産システム１の管理を行う工程管理装置（要因推定装置）１０を備えている。印刷装置１１、装着装置１２、および半田付け装置１３は、生産システム１の製造品の流れにおける上流から下流に向けてこの順序で配置されている。
【００３１】
また、印刷装置１１の近傍には印刷検査装置１４ａが配置され、装着装置１２の近傍には装着検査装置１４ｂが配置され、半田付け装置１３の近傍には半田付け検査装置１４ｃが配置されている。印刷検査装置１４ａは、印刷装置１１にて処理された基板の品質を検査するものである。装着検査装置１４ｂは、装着装置１２にて処理された基板を検査するものである。半田付け検査装置１４ｃは、半田付け装置１３にて処理された基板を検査するものである。なお、以下では、印刷検査装置１４ａ、装着検査装置１４ｂ、および半田付け検査装置１４ｃを区別する必要のない場合には、単に検査装置１４と称する。
【００３２】
また、工程管理装置１０は、生産システム１全体を統括管理するとともに、後述する要因推定処理および分析処理を行う。この工程管理装置１０は、生産管理者としてのユーザから各種情報の入力や指示入力を受け、各種処理を行う。
【００３３】
工程管理装置１０、印刷装置１１、装着装置１２、半田付け装置１３、印刷検査装置１４ａ、装着検査装置１４ｂ、および半田付け検査装置１４ｃは、通信回線によって互いに接続されることによって通信ネットワークを形成している。なお、通信ネットワークとしては、各装置が互いに通信可能な形態であればどのようなものでもよく、例えばＬＡＮ（Local Area Network）が形成される形態が想定される。
【００３４】
なお、工程管理装置１０とは別に、ユーザが操作入力を行う端末装置を上記通信ネットワークに接続した状態で別に設け、この端末装置によって工程管理装置１０へのデータ入力や各種画面表示が行われる形態としてもよい。
【００３５】
また、上記の例では、印刷装置１１、装着装置１２、および半田付け装置１３のそれぞれに対応して検査装置１４を設けた構成となっているが、生産システム１において少なくとも１つの検査装置１４が設けられていればよい。例えば、少なくとも半田付け検査装置１４ｃが設けられていれば、最終的な製造結果に発生している不良を検出することが可能となる。
【００３６】
（工程管理装置の構成）
次に、工程管理装置１０の構成について図１を参照しながら以下に説明する。同図に示すように、工程管理装置１０は、制御部３０、検査結果入力部（検査結果入力手段）４０、入力部２１、表示部２２、推定知識記録部２３、質問データ記録部２４、推論過程一時記憶部２５、工程状態データベース（検査結果記録部）２６、着目ノードスタック記憶部２７、関連項目記録部２８、および項目データ取得方法記録部（取得方法記録部）２９を備えた構成となっている。
【００３７】
入力部２１は、ユーザからの指示入力、および情報入力などを受け付けるものであり、例えばキーボードやボタンなどのキー入力手段や、マウスなどのポインティングデバイスなどによって構成される。表示部２２は、工程管理装置１０における各種処理内容を表示するものであり、例えば液晶表示装置、ＣＲＴ（Cathode Ray Tube）などの表示装置によって構成される。
【００３８】
検査結果入力部４０は、生産システム１における製造過程の検査結果に関するデータを受け付けるものであり、印刷結果入力部４１、装着結果入力部４２、半田付け結果入力部４３、および製造装置履歴入力部４４を備えている。印刷結果入力部４１は、印刷検査装置１４ａによる検査結果を受け付ける。装着結果入力部４２は、装着検査装置１４ｂによる検査結果を受け付ける。半田付け結果入力部４３は、半田付け検査装置１４ｃによる検査結果を受け付ける。製造装置履歴入力部４４は、印刷装置１１、装着装置１２、および半田付け装置１３から、製造履歴に関する情報を受け付ける。
【００３９】
なお、検査結果入力部４０は、印刷装置１１、装着装置１２、半田付け装置１３、印刷検査装置１４ａ、装着検査装置１４ｂ、および半田付け検査装置１４ｃの少なくとも１つの装置から検査結果に関する情報を受け付けるようになっていればよい。例えば、半田付け検査装置１４ｃから半田付け結果に関する検査結果データのみを受け付けるようになっていれば、最終的な製造結果に発生している不良に関する検査結果データを取得することが可能となる。
【００４０】
推定知識記録部２３は、要因推定知識情報を記録している。要因推定知識情報は、複数の不良結果のそれぞれに対して、その要因を探索するための情報であり、因果ネットワークとして記録されている。この因果ネットワークの詳細については後述する。
【００４１】
質問データ記録部２４は、要因推定を行う上でユーザに対して提示される質問情報を質問データベースとして記録している。この質問データベースに含まれる各質問情報は、項目データ取得方法記録部２９に記録されている入力項目の情報とリンクされている。この質問データベースの詳細については後述する。ここで、入力項目は、詳細は後述するが、因果ネットワークにおけるノード間の条件に対応するものである。
【００４２】
推論過程一時記憶部２５は、推論部３２において行われる推論処理において、推論の進行に応じて得られている推論過程情報を記憶するものである。この推論過程情報の詳細については後述する。
【００４３】
工程状態データベース２６は、検査結果入力部４０によって受け付けられた、生産システム１における製造過程の検査結果に関するデータ（検査結果データ）を記録するデータベースである。すなわち、工程状態データベース２６には、印刷検査装置１４ａによる検査結果、装着検査装置１４ｂによる検査結果、半田付け検査装置１４ｃによる検査結果、印刷装置１１、装着装置１２、および半田付け装置１３から、製造履歴に関する情報が記録される。
【００４４】
着目ノードスタック記憶部２７は、着目点となるノードの情報（具体的にはノードを識別するノードＩＤ）をスタック方式で記憶している。関連項目記録部２８は、関連する複数の入力項目の情報をグループ化して、グループデータベースとして記録している。項目データ取得方法記録部２９は、各入力項目のデータを取得する方法の情報を項目データ取得方法データベースとして記録している。上記グループデータベースおよび上記項目データ取得方法データベースの詳細については後述する。
【００４５】
上記の推定知識記録部２３、質問データ記録部２４、工程状態データベース２６、関連項目記録部２８、および項目データ取得方法記録部２９は、例えばハードディスク装置などの不揮発性の記録媒体によって実現される。また、推論過程一時記憶部２５は、例えばＲＡＭ（Random Access Memory）などのワークメモリによって実現される。また、着目ノードスタック記憶部２７は、ＬＩＦＯバッファなど、後入れ先出し方式でデータを順序づける記憶装置によって実現される。
【００４６】
制御部３０は、工程管理装置１０における処理を制御するものであり、入力表示制御部３１、推論部３２、知識変換部３３、質問生成部３４、特徴量演算部３５、および関連項目選択部３６を備えている。
【００４７】
知識変換部３３は、推定知識記録部２３に記録されている要因推定知識情報を読み出し、推論知識としてのプロダクションルールを生成する。プロダクションルールは、詳細は後述するが、要因推定の推論処理をコンピュータに行わせるのに適したデータ形式の情報である。
【００４８】
質問生成部３４は、推論部３２からの要求に応じて、推論処理の各過程に対応した質問情報を質問データ記録部２４から読み出し、質問を生成する。特徴量演算部３５は、推論部３２からの要求に応じて、工程状態データベース２６に記録されている検査結果データを読み出し、統計演算などを行うことによって、必要とされる特徴量を算出する。
【００４９】
関連項目選択部３６は、推論部３２にて選択された入力項目に関連する入力項目を選択する。具体的には、関連項目選択部３６は、推論部３２にて選択された入力項目と同じグループの入力項目の情報を関連項目記録部２８から読み出し、その中から影響度が所定値以上である入力項目の情報を選択する。
【００５０】
入力表示制御部３１は、入力部２１からの入力情報を受け付けるとともに、表示部２２に対して表示制御を行うものであり、質問入出力制御部（入力制御手段）５１および要因出力制御部５２を備えている。
【００５１】
質問入出力制御部５１は、推論部３２からの指示に応じて質問を表示部２２に表示するとともに、該質問に対する回答入力を受け付けて推論部３２へ伝送する処理を行う。要因出力制御部５２は、推論部３２からの指示に応じて推定される要因の候補および各要因に関する情報を表示部２２に表示する。
【００５２】
推論部３２は、要因を推定する推論処理を行うものであり、推論処理部（推論処理手段）６１、適合度演算部（適合度演算手段）６２、確信度演算部（確信度演算手段）６３、影響度演算部（影響度演算手段）６４、項目データ取得部（項目データ取得手段）６５、および着目ノード決定部（着目ノード決定手段）６６を備えている。
【００５３】
推論処理部６１は、要因推定処理を統括的に制御する処理を行う。着目ノード決定部６６は、因果ネットワークにおいて、着目点となるノードである着目ノードを決定する処理を行う。着目ノードから下流側が、入力項目の探索範囲となる。以下では、因果ネットワークにおいて、着目ノードから下流側を「サブネットワーク」と称する。
【００５４】
適合度演算部６２は、サブネットワークの特定のノード間に対応付けられている入力項目に対するデータが得られた場合に、該データに応じて、下流側に接続されているノードに対する適合度を算出する処理を行う。確信度演算部６３は、推定される各要因に対して、要因推定処理によって得られた適合度に基づいて確信度を算出する処理を行う。
【００５５】
影響度演算部６４は、或る入力項目に対するデータが得られた場合に、確信度がどの程度変化するかを示す影響度を算出する処理を行う。項目データ取得部６５は、サブネットワーク内の各入力項目のうち、影響度が最も高い入力項目のデータを取得する処理を行う。これにより、要因推定のパスに関係なく、影響度の高い入力項目、すなわち要因を推定するのに重要な入力項目からデータを取得するので、効率よく要因を推定することができる。また、要因推定を効率よく行うためにネットワーク構造を最適化する必要がないので、ネットワーク構造を容易に構築することができる。
【００５６】
なお、上記の推論処理、着目ノード決定処理、適合度算出処理、確信度算出処理、影響度算出処理、および項目データ取得処理の詳細については後述する。
【００５７】
（因果ネットワーク）
次に、推定知識記録部２３に記録されている要因推定知識情報としての因果ネットワークについて説明する。因果ネットワークは、各不良結果から該不良結果の要因（以降、不良要因と称する）に至る推論の過程をネットワーク構造の知識として示す情報である。因果ネットワークには、不良結果から不良要因に至る診断パスの途中に複数のノードが存在している。このノードにおいて診断パスの分岐が生じることによって、特定の不良結果から複数の不良要因に至る診断パスが形成されることになる。なお、因果ネットワークは、親のノードがたかだか１つであるツリー構造の知識として示す情報であってもよい。
【００５８】
なお、各ノードは特定の現象を示しており、或るノードに対応する現象の要因が、該ノードの診断パスにおける下流側のノードに対応する現象である可能性が高い場合に、この２つのノード間の適合度が高いことになる。
【００５９】
図３は、因果ネットワークの一例を模式的に表している。同図において、ｄ１が不良結果を示しており、ｃ１〜ｃ４が不良要因を示しており、ｓ１〜ｓ５がノードに対応する現象を示している。同図に示す例では、ｄ１の不良結果に対して、ｃ１〜ｃ４の不良要因が候補として想定されており、各不良要因に対応する診断パスがｓ１〜ｓ５のノードの連鎖によって構成されている。この因果ネットワークの場合、図４に示すように５通りの診断パスが含まれている。
【００６０】
ここで、例えばｄ１の不良結果に対して、直接ｃ１〜ｃ４の不良要因を接続するような知識構造とした場合、各不良要因に対する適合度を判定するための条件は極めて複雑なものとなる。これに対して、上記のようなネットワーク構造の知識構造とした場合、不良結果を引き起こす現象、各現象を引き起こす現象、および各現象を引き起こす不良要因の適合度を判定するための条件は、それぞれに関して見れば比較的単純なものとなる。よって、比較的単純な条件を検証していくことによって要因推定の推論処理を行うことが可能となり、熟練度の低いユーザであっても適切に要因を絞っていくことが可能となる。
【００６１】
（プロダクションルールの生成）
次に、知識変換部３３による、因果ネットワークの診断パスからプロダクションルールを生成する処理について説明する。プロダクションルールは、前記したように、要因推定の推論処理をコンピュータに行わせるのに適したデータ形式の情報である。知識変換部３３は、推定知識記録部２３に記録されている因果ネットワークの情報から対象となる診断パスの情報を読み出し、該診断パスに対応するプロダクションルールを生成する。
【００６２】
プロダクションルールは、特定の診断パスにおいて、不良結果から不良要因に至る間の各ノード間の条件の情報と、これらの条件を全て満たした場合に真となる不良要因の情報とを含んだものである。したがって、各ノード間の条件が全て満たされたか否かという単純な判定を行うことによって、該当不良要因が真であるか否かを判定することが可能となり、コンピュータ処理に適合した情報となっている。
【００６３】
図５（ａ）は、診断パスの一例を示している。同図に示す例では、ｄ１の不良結果からｓ１〜ｓ３の現象としてのノードをこの順で経由してｃ１の不良要因に至る診断パスとなっている。また、各ノード間の条件に対応する診断知識として、ｆ１〜ｆ４に関する条件に関する情報が設定されている。すなわち、ｄ１の不良結果がｓ１の現象に由来するものであると推定するためには、ｆ１＝largeという条件を満たす必要があり、以降同様に、ｓ１からｓ２への推定のための条件がｆ２＝large、ｓ２からｓ３への推定のための条件がｆ３＝large、ｓ３からｃ１への推定のための条件がｆ４＝largeとなっている。
【００６４】
以上のような診断パス情報に基づいて、知識変換部３３は図５（ｂ）に示すようなプロダクションルールを生成する。プロダクションルールは、不良結果から不良要因に至る診断パスに含まれる全てのノード間の条件をandで結合した条件を満たした場合に、該当不良要因が真である、という情報となる。図５（ｂ）に示すプロダクションルールでは、ｆ１＝large、ｆ２＝large、ｆ３＝large、およびｆ４＝largeの全ての条件を満たした場合に、ｃ１が真である、という情報が示されている。
【００６５】
なお、ノード間の条件として、andで結合された複数の条件が設定されている場合には、プロダクションルールは、このandで結合された複数の条件も含めて、不良結果から不良要因に至る診断パスに含まれる全てのノード間の条件をandで結合した条件を満たした場合に、該当不良要因が真である、という情報となる。
【００６６】
図６（ａ）に示す例では、ｓ１からｓ２への推定のための条件がｆ２＝large and ｆ５＝largeとなっている。この場合のプロダクションルールは、図６（ｂ）に示すように、ｆ１＝large、ｆ２＝large、ｆ５＝large、ｆ３＝large、およびｆ４＝largeの全ての条件を満たした場合に、ｃ１が真である、という情報となる。
【００６７】
また、ノード間の条件として、orで結合された複数の条件が設定されている場合には、orで結合されたそれぞれの条件に対応したプロダクションルールが生成される。すなわち、各プロダクションルールは、不良結果から不良要因に至る診断パスに含まれる、orで結合された複数の条件が設定されているノード間以外の全てのノード間の条件、および、orで結合された条件のいずれか１つの条件をandで結合した条件を満たした場合に、該当不良要因が真である、という情報となる。また、orで結合された複数の条件の数だけプロダクションルールが生成されることになる。
【００６８】
図７（ａ）に示す例では、ｓ１からｓ２への推定のための条件がｆ２＝large or ｆ５＝largeとなっている。この場合、図７（ｂ）に示すように、ｆ１＝large、ｆ２＝large、ｆ３＝large、およびｆ４＝largeの全ての条件を満たした場合に、ｃ１が真である、というプロダクションルールと、ｆ１＝large、ｆ５＝large、ｆ３＝large、およびｆ４＝largeの全ての条件を満たした場合に、ｃ１が真である、というプロダクションルールとの２つが生成される。
【００６９】
また、補足パスが存在する場合には、該補足パスに含まれる条件を、同一の不良要因に至る診断パスに対応するプロダクションルールに対してand結合したプロダクションルールが生成される。なお、診断パスのノードは、不良から要因にたどり着くための中間の現象を定義したものである。しかしながら、中間の現象ではなく、全体の傾向など直接要因に関係する現象が記述される知識が存在する。これが補足パスとして記述される。
【００７０】
図８（ａ）に示す例では、補足パスとして、ｓ４の現象からｃ１の不良要因に至る診断パスが存在し、この条件がｆ５＝largeとなっている。この場合、図８（ｂ）に示すように、ｆ１＝large、ｆ２＝large、ｆ３＝large、ｆ４＝large、およびｆ５＝largeの全ての条件を満たした場合に、ｃ１が真であるというプロダクションルールが生成される。
【００７１】
（適合度の算出処理）
次に、適合度演算部６２による適合度の算出処理について説明する。適合度とは、上記のプロダクションルールにおける、各ノード間に設定されている条件を満たす度合いを示している。この適合度は、０以上１以下の数字で表され、数が大きいほど条件を満たす度合いが高いものとする。
【００７２】
ここで、条件が、完全に満たすか完全に満たさないかの２通りの選択肢しかない場合には、適合度は１または０の２通りとなる。これに対して、本実施形態では、ファジィ理論を利用することによって、適合度が０より大きく１より小さい値となるような条件に対する回答が許容されるようになっている。これにより、条件に対する回答があいまいとなるような場合にも、そのあいまいな状態が反映された推論結果を得ることが可能となる。よって、あいまいな回答を極端な回答に強制する必要がなくなるので、不適切な推論が行われることを防止することが可能となる。また、適合度の数値は、次のノードへの推論の確かさの度合いを示すことになるので、適合度の数値を推論の適否を判定する材料として利用することができる。
【００７３】
具体的には、まず、該当条件に対する回答の候補となる言語値にはそれぞれメンバーシップ関数が設定される。そして、各言語値に対する適合度は、回答として入力された言語値に応じて、メンバーシップ関数を参照することによって算出される。詳しく説明すると、まず、回答として入力された言語値に対する適合度は１．０となる。そして、回答として入力された言語値以外の言語値に対する適合度は、該言語値に対応するメンバーシップ関数と、入力された言語値に対応するメンバーシップ関数とのｍｉｎをとり、そのｍａｘ値を算出することによって得られるものとする。ここで、回答として入力された言語値に対応するメンバーシップ関数と、入力された言語値に対応するメンバーシップ関数とで交わりがない場合には、適合度を０．０とする。
【００７４】
各条件に対する回答の候補となる言語値およびそれぞれのメンバーシップ関数に関する情報は、推定知識記録部２３に記録される。そして、適合度演算部６２は、推定知識記録部２３に記録されているこれらの情報を読み出すことによって、適合度の算出を行う。また、適合度演算部６２は、算出された適合度の情報を、該適合度に対応する条件の情報とともに、推論過程一時記憶部２５に記録する。
【００７５】
ここで、一例として、「〜は大きいか？」という条件が設定されており、これに対する回答として、「大きい（large）」「普通（mid）」「小さい（small）」の３通りが想定される場合における適合度の算出処理について説明する。図９（ａ）および図９（ｂ）は、「大きい（large）」「普通（mid）」「小さい（small）」の３通りの回答に対するメンバーシップ関数の一例を示している。図９（ａ）に示す例の場合、回答が「大きい（large）」であると、largeとしての適合度は１．０、midとしての適合度は０．５、smallとしての適合度は０．０となる。また、図９（ｂ）に示す例の場合、回答が「大きい（large）」であると、largeとしての適合度は１．０、midとしての適合度は０．７、smallとしての適合度は０．３となる。
【００７６】
（確信度の算出処理）
次に、確信度演算部６３による確信度の算出処理について説明する。確信度とは、各不良要因に対応して設けられる値であり、該不良要因が、推定対象としての不良結果の不良要因である可能性の高さを示す値である。
【００７７】
確信度は、次のようにして求められる。まず、推定対象としての不良結果から該当不良要因に至る診断パスに対応するプロダクションルールが抽出される。そして、抽出されたプロダクションルールに含まれる条件のうち、適合度が算出された条件が抽出され、これらのうちで最も小さい値となる適合度が確信度として設定される。なお、推定対象としての不良結果から該当不良要因に至る診断パスに対応するプロダクションルールが複数存在する場合には、それぞれのプロダクションルールに対して確信度が算出され、算出された確信度のうちで最も大きい確信度が、該当不良要因に対する確信度として設定される。
【００７８】
なお、確信度演算部６３は、推論過程一時記憶部２５に記録されている適合度の情報および該適合度に対応する条件の情報を読み出すことによって、必要とされる適合度を取得し、確信度を算出する。また、算出された確信度は、対応する不良要因の情報とともに、推論過程一時記憶部２５に記録される。
【００７９】
例えば、図７（ａ）および図７（ｂ）に示した例の場合、ｃ１の不良要因に対する確信度は次のように求められる。まず、ｆ１〜ｆ５の全ての条件に対する適合度が抽出される。ここで、これらの適合度をｇ１〜ｇ５とする。すると、ｃ１の不良要因に対する確信度certainty factorは、
certainty factor（ｃ１）＝ｍａｘ（ｍｉｎ（ｇ１，ｇ２，ｇ３，ｇ４），ｍｉｎ（ｇ１，ｇ３，ｇ４，ｇ５））
によって求められる。
【００８０】
なお、上記の例では、抽出されたプロダクションルールに含まれる条件の適合度のうちで最も小さい値となる適合度が確信度として設定されるようになっているが、これに限定されるものではなく、該プロダクションルールに含まれる適合度の集合を代表する値、例えば平均値などであってもよい。
【００８１】
また、確信度としては、適合度の代表値を利用する以外にも、例えば、事後確率、事後確率に基づいたスコア、ユークリッド距離などの距離に基づいたスコアなどのような、確からしさや尤もらしさを表すスコアを利用することができる。
【００８２】
（影響度の算出処理）
次に、影響度演算部６４による影響度の算出処理について説明する。影響度とは、各入力項目に対応して設けられる値であり、該入力項目に対するデータが得られた場合に、各不良要因に対する確信度の変化量の総和を示す値である。すなわち、影響度は次式で表される。
影響度＝Σｃ｜現在の確信度−確信度予測値｜。
ここで、Σｃは不良要因毎の総和を示している。
【００８３】
具体的には、影響度演算部６４は、まず、推論過程一時記憶部２５に記録されている各不良要因に対する現在の確信度の情報を読み出すことによって、必要とされる確信度を取得する。図１０は、推論過程一時記憶部２５に記憶されている現在の確信度の具体例を示している。図示のように、確信度は、不良要因ごとに格納されている。
【００８４】
次に、影響度演算部６４は、或る入力項目に対してデータが得られたと仮定して、適合度演算部６２にて適合度を算出させ、確信度演算部６３にて確信度を算出させる。この確信度が上記の確信度予測値となる。そして、影響度演算部６４は、上記の式に従って影響度を算出する。これを、サブネットワークに含まれる入力項目ごとに繰り返す。なお、算出された影響度は、対応する入力項目の情報（具体的には入力項目の項目ＩＤ）とともに、推論過程一時記憶部２５に記録される。
【００８５】
（項目データ取得処理）
次に、項目データ取得部６５による入力項目のデータの取得処理について説明する。項目データ取得部６５は、サブネットワーク内の各入力項目に対応する影響度を推論過程一時記憶部２５から読み出して、影響度が最も高い入力項目を特定する。なお、サブネットワーク内に入力項目が存在しない場合、または、所定値よりも高い影響度を有する入力項目が存在しない場合、項目データ取得部６５は、当該サブネットワーク内の入力項目のデータをこれ以上取得しても確信度への影響が無いまたは少ないため、入力項目のデータの取得処理を終了し、着目ノード決定部６６に通知する。
【００８６】
次に、項目データ取得部６５は、特定した入力項目（以下、「特定項目」と称する。）の情報を関連項目選択部３６に送り出す。関連項目選択部３６は、特定項目に関連する入力項目（以下、「関連項目」と称する。）を関連項目記録部２８から読み出す。図１１は、関連項目記録部２８に記録されているグループデータベースの具体例を示している。図示のように、グループデータベースには、グループ毎に、グループを識別するグループＩＤと、グループに含まれる入力項目の項目ＩＤとが格納されている。
【００８７】
すなわち、関連項目選択部３６は、項目データ取得部６５から特定項目の項目ＩＤを受け取り、受け取った項目ＩＤを含むグループＩＤを特定し、特定したグループＩＤに含まれる他の項目ＩＤを読み出す。関連項目選択部３６は、読み出した項目ＩＤを関連項目の情報として項目データ取得部６５に送り出す。
【００８８】
したがって、特定項目のデータを取得する場合に、関連項目のデータも取得することになる。このとき、特定項目のデータを取得するためにユーザに行う質問と、関連項目のデータを取得するためにユーザに行う質問とが関連している可能性が高い。したがって、質問の流れの一貫性を確保できる。
【００８９】
なお、関連項目選択部３６は、読み出した項目ＩＤに対応する影響度を推論過程一時記憶部２５から読み出し、所定値よりも低い影響度を有する項目ＩＤを、項目データ取得部６５に送り出す項目ＩＤから除外することが望ましい。これにより、入力項目の無駄なデータ取得を防止できる。
【００９０】
次に、項目データ取得部６５は、特定項目および関連項目に対応するデータ取得方法の情報を項目データ取得方法記録部２９から読み出す。
【００９１】
図１２は、項目データ取得方法記録部２９に記録されている項目データ取得方法データベースの具体例を示している。図示のように、項目データ取得方法データベースには、入力項目毎に、入力項目を識別する項目ＩＤと、入力項目のデータを人および検査結果の何れか一方から取得するか、或いは両方から取得するかを示す情報と、人が行う場合の質問文を識別する質問文ＩＤと、検査結果が行う場合の計算アルゴリズムの情報とが格納されている。なお、入力項目のデータを人のみから取得する場合、計算アルゴリズムの情報として「Ｎｕｌｌ」が格納される。一方、入力項目のデータを検査結果のみから取得する場合、質問文ＩＤとして「Ｎｕｌｌ」が格納される。
【００９２】
すなわち、項目データ取得部６５は、項目データ取得方法データベースを参照して、特定項目および関連項目の各項目ＩＤに対応する質問文ＩＤおよび／または計算アルゴリズムを取得する。なお、人および検査結果の何れか一方から取得すればよい場合には、項目データ取得部６５は、コストや作業時間に基づいて、人および検査結果の何れから取得するかを判断すればよい。
【００９３】
次に、項目データ取得部６５は、特定項目および関連項目のデータを取得する。すなわち、項目データ取得方法記録部２９から質問文ＩＤを取得した場合、項目データ取得部６５は、質問文ＩＤを質問生成部３４に送り出す。
【００９４】
質問生成部３４は、項目データ取得部６５から受け取った質問文ＩＤに対応する情報を質問データ記録部２４から読み出して質問を生成する。図１３は、質問データ記録部２４に記録されている質問データベースの具体例を示している。図示のように、質問データベースには、質問文毎に、質問文ＩＤと、質問文の内容と、質問文に対する回答の選択肢とが格納されている。
【００９５】
すなわち、質問生成部３４は、質問文ＩＤに対応する質問文および選択肢を質問データ記録部２４から読み出す。読み出された質問文および選択肢は、質問入出力制御部５１を介して表示部２２に表示される。そして、ユーザからの回答が、入力部２１および質問入出力制御部５１を介して項目データ取得部６５に送られる。項目データ取得部６５は、受け取った回答に基づいて、入力項目のデータを作成する。
【００９６】
一方、項目データ取得方法記録部２９から計算アルゴリズムの情報を取得した場合、項目データ取得部６５は、計算アルゴリズムの情報を特徴量演算部６５に送り出す。特徴量演算部６５は、受け取った計算アルゴリズムの情報に基づいて演算を行って特徴量を取得し、取得した特徴量を項目データ取得部６５に送り出す。項目データ取得部６５は、受け取った特徴量に基づいて、入力項目のデータを作成する。
【００９７】
そして、項目データ取得部６５は、作成した入力項目のデータを、対応する項目ＩＤとともに、推論過程一時記憶部２５に記録する。図１４は、推論過程一時記憶部２５に記憶される入力項目のデータの具体例を示している。図示のように、入力項目のデータ形式は、入力項目ごとに設定されており、例えば、「はい・いいえ」の回答に対応する「Ｔｒｕｅ・Ｆａｌｓｅ」、「大・中・小」の回答に対応する「Ｌａｒｇｅ・Ｍｉｄｄｌｅ・Ｓｍａｌｌ」、特徴量に対応する数値が挙げられる。なお、データが未入力である場合、「Ｎｕｌｌ」が格納される。これにより、各入力項目のデータが入力済であるか未入力であるかを判断することができる。
【００９８】
（着目ノード決定処理）
次に、着目ノード決定部６６による着目ノードの決定処理について説明する。項目データ取得部６５が取得した入力項目のデータが、該入力項目に対応する条件を満たす場合、着目ノード決定部６６は、上記条件の分岐先のノードを着目ノードとして決定する。着目ノード決定部６６は、決定した着目ノードのノードＩＤを着目ノードスタック記憶部２７にプッシュする。これにより、サブネットワークを絞り込むことができる。したがって、入力項目のデータを取得するためにユーザに質問を行う場合、次々と絞り込まれたサブネットワーク内の入力項目に対応する質問がなされるため、質問の流れの一貫性を損なわない。
【００９９】
また、項目データ取得部６５がデータを取得するに値する入力項目が存在しない場合、着目ノード決定部６６は、着目ノードスタック記憶部２７からポップすることにより、着目ノードを元に戻す。これにより、元の広いサブネットワークに戻して、データを取得するに値する入力項目を探索することができる。また、絞り込まれる直前のサブネットワークに戻るため、同じ様な質問の流れを維持することができる。
【０１００】
なお、着目ノードスタック記憶部２７からポップすることにより、着目ノードスタック記憶部２７に記憶されるノードＩＤが無くなった場合、因果ネットワークにおいてデータを取得するに値する入力項目が存在しなくなったことになるので、推論処理を終了する。そして、診断結果を、要因出力制御部５２を介して表示部２２に表示させる。
【０１０１】
（因果ネットワークの具体例）
次に、因果ネットワークの具体例について図１５を参照しながら説明する。同図に示す例では、不良結果としての「ブリッジ不良」についての因果ネットワークが示されている。この例において、「ブリッジ不良」に対して、「実装位置ずれ」、「リード曲がり」、「ペーストのフラックス活性度が低い」、「部品の酸化」、「部品の汚れ」、「ペーストの面積が大きい」、「ペーストの位置ずれ」、および「ヒーターの温度設定が高い」の８個の不良要因が候補となっている。そして、「ブリッジ不良」という不良結果から、上記８個の不良要因に至るまでの診断パスがネットワーク構造の知識として設定されている。
【０１０２】
図１５に示す例において、「実装位置ずれ」、「リード曲がり」、および「ペーストのフラックス活性度が低い」の３つの不良要因に至る診断パスから得られるプロダクションルールは、
IF(（リードとランドの接触がある）=Yes & （部品位置ずれ）=（大きい）) then (実装位置ずれ)
IF(（リードとランドの接触がある）=Yes & （部品位置ずれ）=（普通）) then (リード曲がり)
IF(（ペーストが無いランドがある）=Yes & （ランドに不濡れがある）= Yes & （ペーストのフラックスの活性度）=（低い）) then (ペーストのフラックス活性度が低い)
となる。
【０１０３】
また、図１５に示す例において、「ペーストの面積が大きい」という不良要因に至る診断パスは２通り存在するので、これらから得られるプロダクションルールは次の２つ、すなわち、
IF(（熱だれ性が規定値外である）=Yes & （ペーストの量）=（多い）) then (ペーストの面積が大きい)
IF(（リードの肩までペーストがぬれ上がる現象がある）=Yes & （リフロー炉の温度）=（普通）) then (ペーストの面積が大きい)
となる。
【０１０４】
また、図１５に示す例において、「ヒーターの温度設定が高い」という不良要因に至る診断パスは、補足パスも含んでいるので、これから得られるプロダクションルールは、
IF(（リードの肩までペーストがぬれ上がる現象がある）=Yes & （リフロー炉の温度）=（高い） & （ヒーターの設定値）=（高い） & （基板全体でペーストがぬれ上がる現象がある）= Yes) then (ペーストの面積が大きい)
となる。
【０１０５】
（要因推定処理の流れ）
次に、要因推定処理の流れについて図１６に示すフローチャートを参照しながら説明する。要因推定処理が開始されると、まずステップ１（以降、Ｓ１のように称する）において、入力表示制御部３１によって表示部２２に対して質問画面が表示される。この質問画面における質問表示領域には、不良結果を入力する領域が設けられる。この不良結果を入力する領域に対して、ユーザによって不良結果が入力され、この入力情報が質問入出力制御部５１によって受け付けられる（Ｓ２）。そして、不良結果情報が、推論処理部６１によって推論過程一時記憶部２５に記憶される。
【０１０６】
不良結果が入力されると、推論処理部６１は、該当不良結果に対する因果ネットワークの情報を推定知識記録部２３から抽出する（Ｓ３）。この際に、推論処理部６１は、知識変換部３３によってプロダクションルールに変換された因果ネットワークの情報を取得する。そして、推論部３２は、抽出した因果ネットワークに基づいて推論処理を実行する（Ｓ４）。推論処理の終了後、要因出力制御部５２が診断結果の画像を表示部２２に表示させる（Ｓ５）。その後、要因推定処理を終了する。
【０１０７】
次に、Ｓ４の推論処理の流れについて図１７に示すフローチャートを参照しながら説明する。推論処理が開始されると、まず、推論過程一時記憶部２５に記憶されている各種のデータをクリアする（Ｓ１１）。また、着目ノードスタック記憶部２７に記憶されているデータもクリアする。
【０１０８】
次に、着目ノード決定部６６が、ルートノード（不良結果のノード）を着目ノードとして、対応するノードＩＤを着目ノードスタック記憶部２７にプッシュする（Ｓ１２）。次に、推論過程一時記憶部２５に記憶されている入力項目のデータ（図１４）を参照して、データ未取得の入力項目が、サブネットワーク内に存在するか否かを判断する（Ｓ１３）。上記入力項目が存在する場合にはＳ１４に進み、存在しない場合にはＳ２１に進む。
【０１０９】
Ｓ１４にて、影響度演算部６４は、サブネットワークに含まれる各入力項目の影響度を算出して推論過程一時記憶部２５に記憶する。なお、データ取得済の入力項目は影響度がゼロであるので除外される。次に、項目データ取得部６５は、影響度が所定値以上である入力項目が存在するか否かを判断する（Ｓ１５）。上記入力項目が存在する場合にはＳ１６に進み、存在しない場合にはＳ２１に進む。
【０１１０】
Ｓ１６にて、項目データ取得部６５は、影響度が最大である入力項目を特定項目として特定し（Ｓ１６）、該特定項目と同じグループの入力項目であって、影響度が所定値以上である入力項目を関連項目として選択する（Ｓ１７）。次に、項目データ取得部６５は、特定項目および関連項目のデータをそれぞれ取得する（Ｓ１８）。次に、取得したデータに基づいて、適合度演算部６２が現在の適合度を算出し、確信度演算部６３が現在の確信度を算出する（Ｓ１９）。そして、特定項目に対応するノードを着目ノードとして、対応するノードＩＤを着目ノードスタック記憶部２７にプッシュする（Ｓ２０）。その後、Ｓ１３に戻って上記動作を繰り返す。
【０１１１】
一方、Ｓ２１にて、着目ノード決定部６６は、着目ノードがルートノードであるか否かを判断する。着目ノードがルートノードではない場合、着目ノード決定部６６は、着目ノードスタック記憶部２７からポップして、着目ノードを戻す（Ｓ２２）。その後、Ｓ１３に戻って上記動作を繰り返す。
【０１１２】
一方、着目ノードがルートノードである場合、因果ネットワークにおいて、データを取得するに値する入力項目が存在しなくなったとして、推論処理を終了し（Ｓ２３）、元のルーチンに戻る。すなわち、要因出力制御部５２が診断結果の画像を表示部２２に表示させ（Ｓ５）、その後、要因推定処理を終了する。
【０１１３】
診断結果の表示例について図１８および図１９を参照しながら説明する。この診断画面には、質問表示領域と、診断結果表示領域とが設けられている。
【０１１４】
質問表示領域には、要因推定処理の過程においてユーザに対して提示された質問およびそれに対するユーザの回答の履歴が表示される。質問入出力制御部５１は、推論過程一時記憶部２５に記録されている履歴を読み出すことによって履歴の表示を行う。
【０１１５】
診断結果表示領域には、選択された不良要因に至る診断パスが表示される。この診断パスは、推論処理部６１によって因果ネットワークから抽出され、抽出された診断パスは要因出力制御部５２によって診断結果表示領域に表示される。
【０１１６】
また、この診断パス上には、各ノード間のパスに対応する適合度の数値情報が表示されるとともに、適合度の大きさに応じた線の太さで該当パスが表示される。なお、適合度の表示形態は上記の例に限定されるものではなく、適合度情報の表示およびパスの線の太さ表示のいずれか一方のみでもよく、その他、適合度をユーザが認識可能な形態であればどのような表示形態であってもよい。
【０１１７】
このように、特定の不良要因に対する質問回答履歴および診断パスの情報が表示されることによって、ユーザに対して要因推定結果の正当性を提示することが可能となる。
【０１１８】
なお、図１８は、不良結果ｄ１に関して、不良要因ｃ１に対する診断結果例を示しており、図１９は、「ブリッジ不良」という不良結果に関して、「部品の汚れ」という不良要因に対する診断結果例を示している。これらの図に示すように、診断パスに含まれる全ての入力項目のデータが得られていない状態であっても、診断結果が表示されてもよく、また、診断パスに含まれる全ての入力項目のデータが得られた状態で診断結果が表示されてもよい。入力項目のデータが得られるか否かは、各入力項目の影響度に依存する。
【０１１９】
なお、上記実施形態では、項目データ取得部６５は、影響度が最大である入力項目を特定し、特定した入力項目である特定項目と同じグループである他の入力項目を関連項目として選択して、特定項目および関連項目のデータを取得している。これに対して、項目データ取得部６５は、グループに含まれる入力項目の影響度の総和をグループごとに算出し、影響度の総和が最大であるグループに含まれる入力項目のデータを取得してもよい。
【０１２０】
また、上記実施形態では、関連項目記録部２８に記録されるグループデータベースは、関連する入力項目の項目ＩＤがグループごとに含んでいるが、各入力項目のデータを取得する順番を含んでもよい。この場合、項目データ取得部６５は、上記順番に従って、質問して回答を取得したり、検査データから特徴量を取得したりすることになる。
【０１２１】
また、上記グループデータベースは、各入力項目のデータを取得した後の分析を行う順番を含んでもよい。この場合、項目データ取得部６５が各入力項目のデータを取得した後、上記順番に従って、適合度算出および確信度算出を行うことになる。なお、重要な入力項目ほど、先に分析を行うことが考えられる。そこで、着目ノード決定部６６は、上記順番とは逆の順番で、着目ノードスタック記憶部２７をプッシュすることが望ましい。この場合、順番が先の入力項目に対応するノードが先に着目ノードとなる。
【０１２２】
また、上記実施形態では、着目ノード決定部６６は、ルートノードを最初の着目ノードとしている。この場合、サブネットワークは因果ネットワークと同じとなり、探索範囲が広く、各入力項目の影響度を求めるのに時間がかかることになる。そこで、工程の種類など、所定の条件に基づいて入力項目を予め分類しておき、ユーザが分類を指定することにより、    サブネットワークの探索範囲を或る程度絞り込んでもよい。
【０１２３】
図２０は、基板実装工程に関する因果ネットワークの別の具体例を示している。基板実装工程は、おおまかには、Ｐ（印刷）工程・Ｚ（実装）工程・Ｓ（リフロー）工程の３つの工程からなる。そこで、工程ごとに入力項目を予め分類しておく。図２０の例では、ノードＰ１・Ｐ２・Ｐ５・Ｐ９〜Ｐ１２と入力項目Ｔ１・Ｔ２・Ｔ６〜Ｔ１３とは、Ｐ工程に分類され、ノードＰ３・Ｐ６・Ｐ７・Ｐ１３〜Ｐ１５と入力項目Ｔ３・Ｔ４・Ｔ９・Ｔ１４〜Ｔ１９とはＺ工程に分類され、ノードＰ４・Ｐ８・Ｐ１６〜Ｐ１８と入力項目Ｔ５・Ｔ１５・Ｔ１６・Ｔ１８〜Ｔ２１とはＳ工程に分類されている。
【０１２４】
次に、不良要因がＰ工程にあるとユーザが見当をつけて、Ｐ工程の分類を指定する。これにより、ノードＰ１・Ｐ２・Ｐ５・Ｐ９〜Ｐ１２と入力項目Ｔ１・Ｔ２・Ｔ６〜Ｔ１３とを含むサブネットワークに絞り込むことができ、サブネットワーク内の各入力項目の影響度を求める時間を抑えることができる。また、着目ノードが再びルートノードに戻った場合、探索範囲からＰ工程に関するものが除外されるので、各入力項目の影響度を求める時間が著しく増大することを抑えることができる。
【０１２５】
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【０１２６】
例えば、上記実施形態では、生産ラインにおける不良要因を推定する工程管理システムについて説明しているが、本発明は、工程管理システムに限定されるものではなく、例えば、クレーム処理への対応を支援するためのソフトウェア、定期点検を行う作業員を支援するためのシステム、カスタマイズ製品の販売を支援するためのツールなど、要因の推定を行う種々の装置などに適用することが可能である。
【０１２７】
また、工程管理装置１０の制御部３０が備える各ブロックは、ハードウェアロジックによって構成してもよいし、次のようにＣＰＵを用いてソフトウェアによって実現してもよい。
【０１２８】
すなわち、制御部３０は、各機能を実現する制御プログラムの命令を実行するＣＰＵ（central processing unit）、上記プログラムを格納したＲＯＭ（read only memory）、上記プログラムを展開するＲＡＭ（random access memory）、上記プログラムおよび各種データを格納するメモリ等の記憶装置（記録媒体）などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである制御部３０の制御プログラムのプログラムコード（実行形式プログラム、中間コードプログラム、ソースプログラム）をコンピュータで読み取り可能に記録した記録媒体を、上記制御部３０に供給し、そのコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
【０１２９】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー（登録商標）ディスク／ハードディスク等の磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤ／ＣＤ−Ｒ等の光ディスクを含むディスク系、ＩＣカード（メモリカードを含む）／光カード等のカード系、あるいはマスクＲＯＭ／ＥＰＲＯＭ／ＥＥＰＲＯＭ／フラッシュＲＯＭ等の半導体メモリ系などを用いることができる。
【０１３０】
また、制御部３０を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、ＬＡＮ、ＩＳＤＮ、ＶＡＮ、ＣＡＴＶ通信網、仮想専用網（virtual private network）、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、ＩＥＥＥ１３９４、ＵＳＢ、電力線搬送、ケーブルＴＶ回線、電話線、ＡＤＳＬ回線等の有線でも、ＩｒＤＡやリモコンのような赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）、８０２．１１無線、ＨＤＲ、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【産業上の利用可能性】
【０１３１】
本発明に係る要因推定装置は、生産ラインにおける不良要因を推定する工程管理システムに好適であるが、これに限定されず、クレーム処理への対応を支援するためのソフトウェア、定期点検を行う作業員を支援するためのシステム、カスタマイズ製品の販売を支援するためのツールなど、要因の推定を行う種々の装置などに適用することが可能である。
【図面の簡単な説明】
【０１３２】
【図１】本発明の一実施形態に係る工程管理装置の概略構成を示すブロック図である。
【図２】上記工程管理装置を含む生産システムの概略構成を示すブロック図である。
【図３】因果ネットワークの一例を模式的に示す図である。
【図４】図３に示す因果ネットワークから得られる診断パスを示す図である。
【図５】（ａ）は、診断パスの一例を示す図であり、（ｂ）は、（ａ）の診断パスによって生成されるプロダクションルールを示す図である。
【図６】（ａ）は、診断パスの他の例を示す図であり、（ｂ）は、（ａ）の診断パスによって生成されるプロダクションルールを示す図である。
【図７】（ａ）は、診断パスのさらに他の例を示す図であり、（ｂ）は、（ａ）の診断パスによって生成されるプロダクションルールを示す図である。
【図８】（ａ）は、診断パスのさらに他の例を示す図であり、（ｂ）は、（ａ）の診断パスによって生成されるプロダクションルールを示す図である。
【図９】（ａ）および（ｂ）は、「大きい（large）」「普通（mid）」「小さい（small）」の３通りの回答に対するメンバーシップ関数の一例を示す図である。
【図１０】上記工程管理装置における推論過程一時記憶部に記憶されている現在の確信度の具体例を表形式で示す図である。
【図１１】上記工程管理装置における関連項目記録部に記録されているグループデータベースの具体例を表形式で示す図である。
【図１２】上記工程管理装置における項目データ取得方法記録部に記録されている項目データ取得方法データベースの具体例を表形式で示す図である。
【図１３】上記工程管理装置における質問データ記録部に記録されている質問データベースの具体例を表形式で示す図である。
【図１４】上記工程管理装置における推論過程一時記憶部に記憶される入力項目のデータの具体例を表形式で示す図である。
【図１５】因果ネットワークの具体例を示す知識構造図である。
【図１６】要因推定処理の流れを示すフローチャートである。
【図１７】上記要因推定処理における推論処理の流れを示すフローチャートである。
【図１８】不良要因に対する診断結果を表示する診断画面の例を示す表示画面図である。
【図１９】上記診断画面の具体例を示す表示画面図である。
【図２０】因果ネットワークの別の具体例を示す知識構造図である。
【符号の説明】
【０１３３】
１０  工程管理装置（要因推定装置）
１１  印刷装置
１２  装着装置
１３  装置
１４  検査装置
１４ａ  印刷検査装置
１４ｂ  装着検査装置
１４ｃ  検査装置
２１  入力部
２２  表示部
２３  推定知識記録部
２４  質問データ記録部
２５  推論過程一時記憶部
２６  工程状態データベース（検査結果記録部）
２７  着目ノードスタック記憶部
２８  関連項目記録部
２９  項目データ取得方法記録部（取得方法記録部）
３０  制御部
３１  入力表示制御部
３２  推論部
３３  知識変換部
３４  質問生成部
３５  特徴量演算部
３６  関連項目選択部
４０  検査結果入力部（検査結果入力手段）
４１  印刷結果入力部
４２  装着結果入力部
４３  半田付け結果入力部
４４  製造装置履歴入力部
５１  質問入出力制御部（入力制御手段）
５２  要因出力制御部
６１  推論処理部（推論処理手段）
６２  適合度演算部（適合度演算手段）
６３  確信度演算部（確信度演算手段）
６４  影響度演算部（影響度演算手段）
６５  項目データ取得部（項目データ取得手段）
６６  着目ノード決定部（着目ノード決定手段）
【図１】
2007193457.tif 000003
【図２】
2007193457.tif 000004
【図３】
2007193457.tif 000005
【図４】
2007193457.tif 000006
【図５】
2007193457.tif 000007
【図６】
2007193457.tif 000008
【図７】
2007193457.tif 000009
【図８】
2007193457.tif 000010
【図９】
2007193457.tif 000011
【図１０】
2007193457.tif 000012
【図１１】
2007193457.tif 000013
【図１２】
2007193457.tif 000014
【図１３】
2007193457.tif 000015
【図１４】
2007193457.tif 000016
【図１５】
2007193457.tif 000017
【図１６】
2007193457.tif 000018
【図１７】
2007193457.tif 000019
【図１８】
2007193457.tif 000020
【図１９】
2007193457.tif 000021
【図２０】
2007193457.tif 000022