説明

要因推定装置、要因推定プログラム、要因推定プログラムを記録した記録媒体、および要因推定方法

【課題】ネットワーク構造に関係なく、推論を効率よく行う。
【解決手段】工程管理装置10は、診断対象のシステムにおいて発生した不良結果から不良要因を推定する。工程管理装置10は、推定知識記録部23に記録された因果ネットワークに基づいて、推論処理部61にて要因推定処理を行い、その過程において、因果ネットワークに含まれる条件に対応する入力項目のデータを項目データ取得部65にて取得する。取得したデータに基づいて、条件を満たす度合いを示す適合度を適合度演算部62にて算出し、要因推定のパスに含まれる条件に対する適合度の集合を代表する値を確信度として確信度演算部63にて不良要因ごとに算出し、或る入力項目に関して、入力項目のデータを取得した場合に確信度に及ぼす影響の度合いを示す影響度を影響度演算部64にて算出する。項目データ取得部65は、影響度の高い入力項目のデータを取得する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、診断対象のシステムにおいて発生した結果から要因を推定する要因推定装置、要因推定プログラム、要因推定プログラムを記録した記録媒体、および要因推定方法に関するものである。特に、本発明は、被対象物の処理工程を管理する工程管理装置などに関するものである。
【背景技術】
【0002】
工場の生産ラインにおいて、歩留まりを向上させるために工程の改善処理が必要とされている。工程の改善処理としては、まず製造品の不良の要因となる工程を特定し、その要因を取り除くように機器の調整や清掃などが行われる。
【0003】
しかしながら、複数の工程からなる製造工程においては、不良の要因の候補として、製造装置の部品の欠陥、製造装置の設定の問題、および搬送経路での問題など、多種多様な要因が考えられる。例えば回路基板の表面実装システムの工程は、プリント工程−実装工程−リフロー工程にわかれている。プリント工程では、基板上に半田ペーストが塗られ、実装工程では、基板上に部品が設置される。最後のリフロー工程では、熱を加えることによって半田を溶かして部品が接着される。このような表面実装システムにおいて、ブリッジ不良が起こった場合、ブリッジ不良を起こす要因としては、マスクずれ、下型よごれなど多く考えられるが、この内の1つあるいは複数が根本の要因となる。
【0004】
不良の要因となる現象が現れると、製造品に不良の症状が現れるのはもちろんのこと、製造装置の動作履歴や検査装置の検査履歴に対しても何らかの影響を与えることになる。これらの不良品の症状に関するデータ、および、製造装置の動作履歴や検査装置の検査履歴に関するデータは膨大なものとなり、不良の発生に関する分析を行うことも困難である。
【0005】
ここで、生産管理に関する経験が豊富な生産管理担当者は、不良要因が不良品、製造装置、検査装置に与える影響の関係、およびその影響の解釈の仕方を経験的に知っており、効率的に工程改善を実施することが可能である。しかしながら、経験の浅い生産管理担当者は、要因を1つずつ吟味して要因の特定を行うことになり、工程の改善処理に多大な時間を費やすことになる。
【0006】
したがって、生産現場において、いかなる熟練度の生産管理担当者であっても、異常要因の推定を高確度かつ高効率で実現可能な手法が要望されている。このような手法として、以下に示す特許文献1には、各工程(プリント工程−実装工程−リフロー工程)に設けられた検査機から情報を取得し、それにより推論を行う方法が提案されている。
【0007】
しかしながら、表面実装システムにおいて、要因推定に必要とされる情報を全て検査機から取得できるとは限らない。例えば、基板の正面から撮影した半田の面積なら画像処理の技術を利用することで収集できるが、基板の反りといった情報は、人間が基板の側面から確認する必要がある。ここで、基板の反りを検知するための構成を設けることも考えられるが、検査機のコストを必要以上に大きくすることは好ましくない。よって、検査機からの検査結果データに加えて、人間からの情報の入力を行うことが好ましい。すなわち、要因推定を行うためには、機械と人との協調型の推論を行うことが必要となる。
【特許文献1】特開平6−196900号公報(1994年7月15日公開)
【特許文献2】特開平7−055868号公報(1995年3月3日公開)
【特許文献3】特開平2−247576号公報(1990年10月3日公開)
【特許文献4】特開2003−108375号公報(2003年4月11日公開)
【特許文献5】特表2001−519559号公報(2001年10月23日公表)
【特許文献6】特表2001−523026号公報(2001年11月20日公表)
【発明の開示】
【発明が解決しようとする課題】
【0008】
一般的な推論方法では、知識情報がネットワーク構造となっており、ルートノードからパスに従って探索を行っている。このため、推論を効率よく行うには、例えば、推論を行う上で重要な項目を上流側のノードとするなど、上記ネットワーク構造を最適化する必要がある。
【0009】
しかしながら、これには多大な労力およびコストが必要となる。また、推論を行う状況によっては、上記重要な項目が変化することがある。したがって、種々の状況に応じて効率よく推論を行うことが可能なネットワーク構造を構築することは非常に困難である。
【0010】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、ネットワーク構造に関係なく、推論を効率よく行うことができる要因推定装置などを提供することにある。
【課題を解決するための手段】
【0011】
本発明に係る要因推定装置は、診断対象のシステムにおいて発生した結果から要因を推定する要因推定装置であって、上記課題を解決するために、上記システムにおいて発生し得る複数の結果のそれぞれに対して、要因の候補を1つ以上対応付けるとともに、各結果から該結果に対応する各要因に至る要因推定のパスを、条件分岐によるネットワーク構造の知識として示す要因推定知識情報を記録する推定知識記録部と、上記推定知識記録部に記録されている上記要因推定知識情報に基づいて要因推定処理を行う推論処理手段と、上記推論処理手段によって要因推定処理が行われる過程において、上記要因推定知識情報に含まれる条件に対応する入力項目のデータを取得する項目データ取得手段と、該項目データ取得手段が取得したデータに基づいて、上記条件を満たす度合いを示す適合度を算出する適合度演算手段と、上記要因推定のパスに含まれる条件に対する適合度の集合を代表する値を確信度として上記要因ごとに算出する確信度演算手段と、或る入力項目に関して、該入力項目のデータを取得した場合に確信度に及ぼす影響の度合いを示す影響度を、入力項目ごとに算出する影響度演算手段とを備え、上記項目データ取得手段は、上記影響度の高い入力項目のデータを取得することを特徴としている。
【0012】
また、本発明に係る要因推定方法は、診断対象のシステムにおいて発生した結果から要因を推定する要因推定装置であって、上記システムにおいて発生し得る複数の結果のそれぞれに対して、要因の候補を1つ以上対応付けるとともに、各結果から該結果に対応する各要因に至る要因推定のパスを、条件分岐によるネットワーク構造の知識として示す要因推定知識情報を記録する推定知識記録部を備える要因推定装置の要因推定方法であって、上記課題を解決するために、上記推定知識記録部に記録されている上記要因推定知識情報に基づいて要因推定処理を行う推論処理ステップと、上記推論処理ステップによって要因推定処理が行われる過程において、上記要因推定知識情報に含まれる条件に対応する入力項目のデータを取得する項目データ取得ステップと、該項目データ取得ステップが取得したデータに基づいて、上記条件を満たす度合いを示す適合度を算出する適合度演算ステップと、上記要因推定のパスに含まれる条件に対する適合度の集合を代表する値を確信度として上記要因ごとに算出する確信度演算ステップと、或る入力項目に関して、該入力項目のデータを取得した場合に確信度に及ぼす影響の度合いを示す影響度を、入力項目ごとに算出する影響度演算ステップとを含み、上記項目データ取得ステップにおいて、上記影響度の高い入力項目のデータを取得することを特徴としている。
【0013】
上記の構成または方法では、各結果から該結果に対応する各要因に至る要因推定のパスを、条件分岐によるネットワーク構造の知識として示す要因推定知識情報に基づいて要因推定処理が行われる。この要因推定処理は、要因推定知識情報に含まれる条件に対応する入力項目のデータを取得されることによって進行することになるが、この過程において、条件を満たす度合いを示す適合度が算出され、要因推定のパスに含まれる条件に対する適合度の集合を代表する値が確信度として要因ごとに算出される。そして、或る入力項目に関して、該入力項目のデータを取得した場合に確信度に及ぼす影響の度合いを示す影響度が入力項目ごとに算出され、影響度の高い入力項目のデータが取得される。
【0014】
したがって、要因推定のパスに関係なく、影響度の高い入力項目、すなわち要因を推定するのに重要な入力項目からデータを取得するので、効率よく要因を推定することができる。また、要因推定を効率よく行うためにネットワーク構造を最適化する必要がないので、ネットワーク構造を容易に構築することができる。
【0015】
なお、影響度の算出手法の具体例としては、データが未取得である入力項目にデータが設定された場合の確信度である確信度予測値を求め、該確信度予測値と現時点での確信度との差を要因ごとに算出し、それらの総和を算出することが挙げられる。また、データを取得する入力項目は、影響度の最も高いものが望ましいが、データを取得した場合に、推定される要因が変化し得る程度の影響度以上のものであってもよい。また、適合度の集合を代表する値としては、例えば最小値、および平均値などが挙げられる。
【0016】
ところで、影響度の高い入力項目からデータを取得していく場合、要因推定のパスに関係がないため、入力項目のデータを取得するためにユーザに行う質問に一貫性が無くなる虞がある。
【0017】
そこで、本発明に係る要因推定装置は、上記の構成において、上記項目データ取得手段が取得したデータが、条件を満たす場合、該条件分岐先のノードを着目ノードとして決定する着目ノード決定手段をさらに備え、上記項目データ取得手段は、上記着目ノードとその下流側のノードとに対応する入力項目のうち、上記影響度の高い入力項目のデータを取得する構成とすることが好ましい。
【0018】
上記の構成によれば、データを取得する入力項目の探索範囲が、着目ノードから下流側のものとなる。そして、取得した入力項目のデータが条件を満たす場合に、条件分岐先のノードを次の着目ノードとしている。これにより、データを取得する入力項目の探索範囲がさらに絞り込まれることになる。したがって、入力項目のデータを取得するためにユーザに質問を行う場合、次々と絞り込まれた探索範囲内の入力項目に対応する質問がなされるため、質問の流れの一貫性を損なわない。
【0019】
なお、着目ノードを下流側のノードに次々と移動させた場合、最終的には、データを取得すべき入力項目が存在しなくなる。ここで、着目ノードをルートノードに戻すならば、全く異なるパス上の条件に対応する入力項目が選択される可能性がある。この場合、入力項目のデータを取得するためにユーザに行う質問が今までと全く異なるものとなる可能性があり、質問の流れが途切れる虞がある。
【0020】
そこで、本発明に係る要因推定装置は、上記の構成において、上記着目ノード決定手段は、上記影響度が所定値以上である入力項目が存在しない場合、前の着目ノードに戻す構成とするが好ましい。この場合、絞り込まれる直前の探索範囲に戻るため、同じ様な質問の流れを維持することができる。なお、上記構成を実現するには、着目ノードの履歴を記憶する記憶装置が必要となる。この記憶装置としては、後入れ先出し方式の記憶装置を利用することが望ましい。
【0021】
また、質問の一貫性を確保するために、本発明に係る要因推定装置は、上記の構成において、関連する複数の入力項目の情報をグループ化して記憶する関連項目記録部をさらに備え、上記項目データ取得手段は、上記影響度の高い入力項目のデータと、該入力項目と同じグループに属する入力項目のデータとを取得する構成であってもよい。
【0022】
上記の構成によると、影響度の高い入力項目のデータを取得する場合に、該入力項目に関連する入力項目のデータも取得する。この場合、関連する複数の入力項目のデータを取得するためにユーザに行う質問も関連している可能性が高い。したがって、質問の流れの一貫性を確保できる。
【0023】
なお、上記項目データ取得手段は、上記影響度の高い入力項目のデータと、該入力項目と同じグループに属する入力項目であって、上記影響度が所定値以上である入力項目のデータとを取得することが好ましい。この場合、影響度の低い入力項目のデータを取得しないので、入力項目のデータの取得を効率よく行うことができる。
【0024】
また、本発明に係る要因推定装置は、上記の構成において、上記要因推定知識情報に含まれる条件に対応する質問に対するユーザからの回答を取得する入力制御手段をさらに備え、上記項目データ取得手段は、上記入力制御手段が取得する回答に基づいて、上記入力項目のデータを取得する構成であることが好ましい。この場合、ユーザからの回答に基づいて入力項目のデータを取得するので、ユーザと要因推定装置とが互いに協調しながら要因を推定することが可能となる。
【0025】
さらに、本発明に係る要因推定装置は、上記の構成において、上記システムを検査する検査装置から検査結果データを受け付ける検査結果入力手段と、上記検査結果入力手段によって受け付けられた検査結果データを記録する検査結果記録部と、上記入力項目のデータを、ユーザおよび上記検査結果データの何れから取得するか、或いは両方から取得するかを示す取得方法の情報を上記入力項目の情報とともに記憶する取得方法記録部とを備え、上記項目データ取得手段は、上記入力項目に対応する取得方法の情報に基づいて、上記入力項目のデータを取得する構成であることが好ましい。この場合、検査装置からの検査結果データに基づいて入力項目のデータを取得するので、ユーザと検査装置と要因推定装置とが互いに協調しながら要因を推定することが可能となる。
【0026】
なお、本発明に係る要因推定装置は、被対象物に対して処理を行う処理システムにおいて発生した不良結果から不良要因を推定する工程管理装置に好適である。
【0027】
なお、上記要因推定装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記各手段として動作させることにより上記要因推定装置をコンピュータにて実現させる要因推定プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【発明の効果】
【0028】
本発明に係る要因推定装置は、以上のように、要因推定のパスに関係なく、影響度の高い入力項目、すなわち要因を推定するのに重要な入力項目からデータを取得するので、効率よく要因を推定できるという効果を奏すると共に、要因推定を効率よく行うためにネットワーク構造を最適化する必要がないので、ネットワーク構造の構築が容易になるという効果を奏する。
【発明を実施するための最良の形態】
【0029】
本発明の一実施形態について図面に基づいて説明すると以下の通りである。本実施形態では、プリント基板の生産ラインを有する生産システムに適用される工程管理システムについて説明するが、本発明は、プリント基板の生産システムに限定されるものではなく、被対象物の処理工程の管理全般に適用することが可能である。なお、被対象物の処理工程とは、例えば、工業製品の生産工程、鉱工業製品、農産物、または原料の検査工程、廃棄対象物(例えば、工場廃棄物、工場廃水、廃ガス、ゴミ等)の処理工程、廃棄対象物の検査工程、設備の検査工程、リサイクル工程等を意味する。
【0030】
(生産システムの構成)
まず、本実施形態に係る工程管理システムが適用されるプリント基板の生産システム(処理システム)1について、図2に基づいて説明する。生産システム1における生産ラインは、プリント基板を製造する各工程(印刷工程、実装工程、リフロー工程等)を含んでいる。同図に示す例では、生産システム1は、基板上に半田をペーストする半田印刷工程を行う印刷装置11、基板上に電子部品を実装する部品実装工程を行う装着装置12、基板上の電子部品を半田付けするリフロー工程を行う半田付け装置13、および生産システム1の管理を行う工程管理装置(要因推定装置)10を備えている。印刷装置11、装着装置12、および半田付け装置13は、生産システム1の製造品の流れにおける上流から下流に向けてこの順序で配置されている。
【0031】
また、印刷装置11の近傍には印刷検査装置14aが配置され、装着装置12の近傍には装着検査装置14bが配置され、半田付け装置13の近傍には半田付け検査装置14cが配置されている。印刷検査装置14aは、印刷装置11にて処理された基板の品質を検査するものである。装着検査装置14bは、装着装置12にて処理された基板を検査するものである。半田付け検査装置14cは、半田付け装置13にて処理された基板を検査するものである。なお、以下では、印刷検査装置14a、装着検査装置14b、および半田付け検査装置14cを区別する必要のない場合には、単に検査装置14と称する。
【0032】
また、工程管理装置10は、生産システム1全体を統括管理するとともに、後述する要因推定処理および分析処理を行う。この工程管理装置10は、生産管理者としてのユーザから各種情報の入力や指示入力を受け、各種処理を行う。
【0033】
工程管理装置10、印刷装置11、装着装置12、半田付け装置13、印刷検査装置14a、装着検査装置14b、および半田付け検査装置14cは、通信回線によって互いに接続されることによって通信ネットワークを形成している。なお、通信ネットワークとしては、各装置が互いに通信可能な形態であればどのようなものでもよく、例えばLAN(Local Area Network)が形成される形態が想定される。
【0034】
なお、工程管理装置10とは別に、ユーザが操作入力を行う端末装置を上記通信ネットワークに接続した状態で別に設け、この端末装置によって工程管理装置10へのデータ入力や各種画面表示が行われる形態としてもよい。
【0035】
また、上記の例では、印刷装置11、装着装置12、および半田付け装置13のそれぞれに対応して検査装置14を設けた構成となっているが、生産システム1において少なくとも1つの検査装置14が設けられていればよい。例えば、少なくとも半田付け検査装置14cが設けられていれば、最終的な製造結果に発生している不良を検出することが可能となる。
【0036】
(工程管理装置の構成)
次に、工程管理装置10の構成について図1を参照しながら以下に説明する。同図に示すように、工程管理装置10は、制御部30、検査結果入力部(検査結果入力手段)40、入力部21、表示部22、推定知識記録部23、質問データ記録部24、推論過程一時記憶部25、工程状態データベース(検査結果記録部)26、着目ノードスタック記憶部27、関連項目記録部28、および項目データ取得方法記録部(取得方法記録部)29を備えた構成となっている。
【0037】
入力部21は、ユーザからの指示入力、および情報入力などを受け付けるものであり、例えばキーボードやボタンなどのキー入力手段や、マウスなどのポインティングデバイスなどによって構成される。表示部22は、工程管理装置10における各種処理内容を表示するものであり、例えば液晶表示装置、CRT(Cathode Ray Tube)などの表示装置によって構成される。
【0038】
検査結果入力部40は、生産システム1における製造過程の検査結果に関するデータを受け付けるものであり、印刷結果入力部41、装着結果入力部42、半田付け結果入力部43、および製造装置履歴入力部44を備えている。印刷結果入力部41は、印刷検査装置14aによる検査結果を受け付ける。装着結果入力部42は、装着検査装置14bによる検査結果を受け付ける。半田付け結果入力部43は、半田付け検査装置14cによる検査結果を受け付ける。製造装置履歴入力部44は、印刷装置11、装着装置12、および半田付け装置13から、製造履歴に関する情報を受け付ける。
【0039】
なお、検査結果入力部40は、印刷装置11、装着装置12、半田付け装置13、印刷検査装置14a、装着検査装置14b、および半田付け検査装置14cの少なくとも1つの装置から検査結果に関する情報を受け付けるようになっていればよい。例えば、半田付け検査装置14cから半田付け結果に関する検査結果データのみを受け付けるようになっていれば、最終的な製造結果に発生している不良に関する検査結果データを取得することが可能となる。
【0040】
推定知識記録部23は、要因推定知識情報を記録している。要因推定知識情報は、複数の不良結果のそれぞれに対して、その要因を探索するための情報であり、因果ネットワークとして記録されている。この因果ネットワークの詳細については後述する。
【0041】
質問データ記録部24は、要因推定を行う上でユーザに対して提示される質問情報を質問データベースとして記録している。この質問データベースに含まれる各質問情報は、項目データ取得方法記録部29に記録されている入力項目の情報とリンクされている。この質問データベースの詳細については後述する。ここで、入力項目は、詳細は後述するが、因果ネットワークにおけるノード間の条件に対応するものである。
【0042】
推論過程一時記憶部25は、推論部32において行われる推論処理において、推論の進行に応じて得られている推論過程情報を記憶するものである。この推論過程情報の詳細については後述する。
【0043】
工程状態データベース26は、検査結果入力部40によって受け付けられた、生産システム1における製造過程の検査結果に関するデータ(検査結果データ)を記録するデータベースである。すなわち、工程状態データベース26には、印刷検査装置14aによる検査結果、装着検査装置14bによる検査結果、半田付け検査装置14cによる検査結果、印刷装置11、装着装置12、および半田付け装置13から、製造履歴に関する情報が記録される。
【0044】
着目ノードスタック記憶部27は、着目点となるノードの情報(具体的にはノードを識別するノードID)をスタック方式で記憶している。関連項目記録部28は、関連する複数の入力項目の情報をグループ化して、グループデータベースとして記録している。項目データ取得方法記録部29は、各入力項目のデータを取得する方法の情報を項目データ取得方法データベースとして記録している。上記グループデータベースおよび上記項目データ取得方法データベースの詳細については後述する。
【0045】
上記の推定知識記録部23、質問データ記録部24、工程状態データベース26、関連項目記録部28、および項目データ取得方法記録部29は、例えばハードディスク装置などの不揮発性の記録媒体によって実現される。また、推論過程一時記憶部25は、例えばRAM(Random Access Memory)などのワークメモリによって実現される。また、着目ノードスタック記憶部27は、LIFOバッファなど、後入れ先出し方式でデータを順序づける記憶装置によって実現される。
【0046】
制御部30は、工程管理装置10における処理を制御するものであり、入力表示制御部31、推論部32、知識変換部33、質問生成部34、特徴量演算部35、および関連項目選択部36を備えている。
【0047】
知識変換部33は、推定知識記録部23に記録されている要因推定知識情報を読み出し、推論知識としてのプロダクションルールを生成する。プロダクションルールは、詳細は後述するが、要因推定の推論処理をコンピュータに行わせるのに適したデータ形式の情報である。
【0048】
質問生成部34は、推論部32からの要求に応じて、推論処理の各過程に対応した質問情報を質問データ記録部24から読み出し、質問を生成する。特徴量演算部35は、推論部32からの要求に応じて、工程状態データベース26に記録されている検査結果データを読み出し、統計演算などを行うことによって、必要とされる特徴量を算出する。
【0049】
関連項目選択部36は、推論部32にて選択された入力項目に関連する入力項目を選択する。具体的には、関連項目選択部36は、推論部32にて選択された入力項目と同じグループの入力項目の情報を関連項目記録部28から読み出し、その中から影響度が所定値以上である入力項目の情報を選択する。
【0050】
入力表示制御部31は、入力部21からの入力情報を受け付けるとともに、表示部22に対して表示制御を行うものであり、質問入出力制御部(入力制御手段)51および要因出力制御部52を備えている。
【0051】
質問入出力制御部51は、推論部32からの指示に応じて質問を表示部22に表示するとともに、該質問に対する回答入力を受け付けて推論部32へ伝送する処理を行う。要因出力制御部52は、推論部32からの指示に応じて推定される要因の候補および各要因に関する情報を表示部22に表示する。
【0052】
推論部32は、要因を推定する推論処理を行うものであり、推論処理部(推論処理手段)61、適合度演算部(適合度演算手段)62、確信度演算部(確信度演算手段)63、影響度演算部(影響度演算手段)64、項目データ取得部(項目データ取得手段)65、および着目ノード決定部(着目ノード決定手段)66を備えている。
【0053】
推論処理部61は、要因推定処理を統括的に制御する処理を行う。着目ノード決定部66は、因果ネットワークにおいて、着目点となるノードである着目ノードを決定する処理を行う。着目ノードから下流側が、入力項目の探索範囲となる。以下では、因果ネットワークにおいて、着目ノードから下流側を「サブネットワーク」と称する。
【0054】
適合度演算部62は、サブネットワークの特定のノード間に対応付けられている入力項目に対するデータが得られた場合に、該データに応じて、下流側に接続されているノードに対する適合度を算出する処理を行う。確信度演算部63は、推定される各要因に対して、要因推定処理によって得られた適合度に基づいて確信度を算出する処理を行う。
【0055】
影響度演算部64は、或る入力項目に対するデータが得られた場合に、確信度がどの程度変化するかを示す影響度を算出する処理を行う。項目データ取得部65は、サブネットワーク内の各入力項目のうち、影響度が最も高い入力項目のデータを取得する処理を行う。これにより、要因推定のパスに関係なく、影響度の高い入力項目、すなわち要因を推定するのに重要な入力項目からデータを取得するので、効率よく要因を推定することができる。また、要因推定を効率よく行うためにネットワーク構造を最適化する必要がないので、ネットワーク構造を容易に構築することができる。
【0056】
なお、上記の推論処理、着目ノード決定処理、適合度算出処理、確信度算出処理、影響度算出処理、および項目データ取得処理の詳細については後述する。
【0057】
(因果ネットワーク)
次に、推定知識記録部23に記録されている要因推定知識情報としての因果ネットワークについて説明する。因果ネットワークは、各不良結果から該不良結果の要因(以降、不良要因と称する)に至る推論の過程をネットワーク構造の知識として示す情報である。因果ネットワークには、不良結果から不良要因に至る診断パスの途中に複数のノードが存在している。このノードにおいて診断パスの分岐が生じることによって、特定の不良結果から複数の不良要因に至る診断パスが形成されることになる。なお、因果ネットワークは、親のノードがたかだか1つであるツリー構造の知識として示す情報であってもよい。
【0058】
なお、各ノードは特定の現象を示しており、或るノードに対応する現象の要因が、該ノードの診断パスにおける下流側のノードに対応する現象である可能性が高い場合に、この2つのノード間の適合度が高いことになる。
【0059】
図3は、因果ネットワークの一例を模式的に表している。同図において、d1が不良結果を示しており、c1〜c4が不良要因を示しており、s1〜s5がノードに対応する現象を示している。同図に示す例では、d1の不良結果に対して、c1〜c4の不良要因が候補として想定されており、各不良要因に対応する診断パスがs1〜s5のノードの連鎖によって構成されている。この因果ネットワークの場合、図4に示すように5通りの診断パスが含まれている。
【0060】
ここで、例えばd1の不良結果に対して、直接c1〜c4の不良要因を接続するような知識構造とした場合、各不良要因に対する適合度を判定するための条件は極めて複雑なものとなる。これに対して、上記のようなネットワーク構造の知識構造とした場合、不良結果を引き起こす現象、各現象を引き起こす現象、および各現象を引き起こす不良要因の適合度を判定するための条件は、それぞれに関して見れば比較的単純なものとなる。よって、比較的単純な条件を検証していくことによって要因推定の推論処理を行うことが可能となり、熟練度の低いユーザであっても適切に要因を絞っていくことが可能となる。
【0061】
(プロダクションルールの生成)
次に、知識変換部33による、因果ネットワークの診断パスからプロダクションルールを生成する処理について説明する。プロダクションルールは、前記したように、要因推定の推論処理をコンピュータに行わせるのに適したデータ形式の情報である。知識変換部33は、推定知識記録部23に記録されている因果ネットワークの情報から対象となる診断パスの情報を読み出し、該診断パスに対応するプロダクションルールを生成する。
【0062】
プロダクションルールは、特定の診断パスにおいて、不良結果から不良要因に至る間の各ノード間の条件の情報と、これらの条件を全て満たした場合に真となる不良要因の情報とを含んだものである。したがって、各ノード間の条件が全て満たされたか否かという単純な判定を行うことによって、該当不良要因が真であるか否かを判定することが可能となり、コンピュータ処理に適合した情報となっている。
【0063】
図5(a)は、診断パスの一例を示している。同図に示す例では、d1の不良結果からs1〜s3の現象としてのノードをこの順で経由してc1の不良要因に至る診断パスとなっている。また、各ノード間の条件に対応する診断知識として、f1〜f4に関する条件に関する情報が設定されている。すなわち、d1の不良結果がs1の現象に由来するものであると推定するためには、f1=largeという条件を満たす必要があり、以降同様に、s1からs2への推定のための条件がf2=large、s2からs3への推定のための条件がf3=large、s3からc1への推定のための条件がf4=largeとなっている。
【0064】
以上のような診断パス情報に基づいて、知識変換部33は図5(b)に示すようなプロダクションルールを生成する。プロダクションルールは、不良結果から不良要因に至る診断パスに含まれる全てのノード間の条件をandで結合した条件を満たした場合に、該当不良要因が真である、という情報となる。図5(b)に示すプロダクションルールでは、f1=large、f2=large、f3=large、およびf4=largeの全ての条件を満たした場合に、c1が真である、という情報が示されている。
【0065】
なお、ノード間の条件として、andで結合された複数の条件が設定されている場合には、プロダクションルールは、このandで結合された複数の条件も含めて、不良結果から不良要因に至る診断パスに含まれる全てのノード間の条件をandで結合した条件を満たした場合に、該当不良要因が真である、という情報となる。
【0066】
図6(a)に示す例では、s1からs2への推定のための条件がf2=large and f5=largeとなっている。この場合のプロダクションルールは、図6(b)に示すように、f1=large、f2=large、f5=large、f3=large、およびf4=largeの全ての条件を満たした場合に、c1が真である、という情報となる。
【0067】
また、ノード間の条件として、orで結合された複数の条件が設定されている場合には、orで結合されたそれぞれの条件に対応したプロダクションルールが生成される。すなわち、各プロダクションルールは、不良結果から不良要因に至る診断パスに含まれる、orで結合された複数の条件が設定されているノード間以外の全てのノード間の条件、および、orで結合された条件のいずれか1つの条件をandで結合した条件を満たした場合に、該当不良要因が真である、という情報となる。また、orで結合された複数の条件の数だけプロダクションルールが生成されることになる。
【0068】
図7(a)に示す例では、s1からs2への推定のための条件がf2=large or f5=largeとなっている。この場合、図7(b)に示すように、f1=large、f2=large、f3=large、およびf4=largeの全ての条件を満たした場合に、c1が真である、というプロダクションルールと、f1=large、f5=large、f3=large、およびf4=largeの全ての条件を満たした場合に、c1が真である、というプロダクションルールとの2つが生成される。
【0069】
また、補足パスが存在する場合には、該補足パスに含まれる条件を、同一の不良要因に至る診断パスに対応するプロダクションルールに対してand結合したプロダクションルールが生成される。なお、診断パスのノードは、不良から要因にたどり着くための中間の現象を定義したものである。しかしながら、中間の現象ではなく、全体の傾向など直接要因に関係する現象が記述される知識が存在する。これが補足パスとして記述される。
【0070】
図8(a)に示す例では、補足パスとして、s4の現象からc1の不良要因に至る診断パスが存在し、この条件がf5=largeとなっている。この場合、図8(b)に示すように、f1=large、f2=large、f3=large、f4=large、およびf5=largeの全ての条件を満たした場合に、c1が真であるというプロダクションルールが生成される。
【0071】
(適合度の算出処理)
次に、適合度演算部62による適合度の算出処理について説明する。適合度とは、上記のプロダクションルールにおける、各ノード間に設定されている条件を満たす度合いを示している。この適合度は、0以上1以下の数字で表され、数が大きいほど条件を満たす度合いが高いものとする。
【0072】
ここで、条件が、完全に満たすか完全に満たさないかの2通りの選択肢しかない場合には、適合度は1または0の2通りとなる。これに対して、本実施形態では、ファジィ理論を利用することによって、適合度が0より大きく1より小さい値となるような条件に対する回答が許容されるようになっている。これにより、条件に対する回答があいまいとなるような場合にも、そのあいまいな状態が反映された推論結果を得ることが可能となる。よって、あいまいな回答を極端な回答に強制する必要がなくなるので、不適切な推論が行われることを防止することが可能となる。また、適合度の数値は、次のノードへの推論の確かさの度合いを示すことになるので、適合度の数値を推論の適否を判定する材料として利用することができる。
【0073】
具体的には、まず、該当条件に対する回答の候補となる言語値にはそれぞれメンバーシップ関数が設定される。そして、各言語値に対する適合度は、回答として入力された言語値に応じて、メンバーシップ関数を参照することによって算出される。詳しく説明すると、まず、回答として入力された言語値に対する適合度は1.0となる。そして、回答として入力された言語値以外の言語値に対する適合度は、該言語値に対応するメンバーシップ関数と、入力された言語値に対応するメンバーシップ関数とのminをとり、そのmax値を算出することによって得られるものとする。ここで、回答として入力された言語値に対応するメンバーシップ関数と、入力された言語値に対応するメンバーシップ関数とで交わりがない場合には、適合度を0.0とする。
【0074】
各条件に対する回答の候補となる言語値およびそれぞれのメンバーシップ関数に関する情報は、推定知識記録部23に記録される。そして、適合度演算部62は、推定知識記録部23に記録されているこれらの情報を読み出すことによって、適合度の算出を行う。また、適合度演算部62は、算出された適合度の情報を、該適合度に対応する条件の情報とともに、推論過程一時記憶部25に記録する。
【0075】
ここで、一例として、「〜は大きいか?」という条件が設定されており、これに対する回答として、「大きい(large)」「普通(mid)」「小さい(small)」の3通りが想定される場合における適合度の算出処理について説明する。図9(a)および図9(b)は、「大きい(large)」「普通(mid)」「小さい(small)」の3通りの回答に対するメンバーシップ関数の一例を示している。図9(a)に示す例の場合、回答が「大きい(large)」であると、largeとしての適合度は1.0、midとしての適合度は0.5、smallとしての適合度は0.0となる。また、図9(b)に示す例の場合、回答が「大きい(large)」であると、largeとしての適合度は1.0、midとしての適合度は0.7、smallとしての適合度は0.3となる。
【0076】
(確信度の算出処理)
次に、確信度演算部63による確信度の算出処理について説明する。確信度とは、各不良要因に対応して設けられる値であり、該不良要因が、推定対象としての不良結果の不良要因である可能性の高さを示す値である。
【0077】
確信度は、次のようにして求められる。まず、推定対象としての不良結果から該当不良要因に至る診断パスに対応するプロダクションルールが抽出される。そして、抽出されたプロダクションルールに含まれる条件のうち、適合度が算出された条件が抽出され、これらのうちで最も小さい値となる適合度が確信度として設定される。なお、推定対象としての不良結果から該当不良要因に至る診断パスに対応するプロダクションルールが複数存在する場合には、それぞれのプロダクションルールに対して確信度が算出され、算出された確信度のうちで最も大きい確信度が、該当不良要因に対する確信度として設定される。
【0078】
なお、確信度演算部63は、推論過程一時記憶部25に記録されている適合度の情報および該適合度に対応する条件の情報を読み出すことによって、必要とされる適合度を取得し、確信度を算出する。また、算出された確信度は、対応する不良要因の情報とともに、推論過程一時記憶部25に記録される。
【0079】
例えば、図7(a)および図7(b)に示した例の場合、c1の不良要因に対する確信度は次のように求められる。まず、f1〜f5の全ての条件に対する適合度が抽出される。ここで、これらの適合度をg1〜g5とする。すると、c1の不良要因に対する確信度certainty factorは、
certainty factor(c1)=max(min(g1,g2,g3,g4),min(g1,g3,g4,g5))
によって求められる。
【0080】
なお、上記の例では、抽出されたプロダクションルールに含まれる条件の適合度のうちで最も小さい値となる適合度が確信度として設定されるようになっているが、これに限定されるものではなく、該プロダクションルールに含まれる適合度の集合を代表する値、例えば平均値などであってもよい。
【0081】
また、確信度としては、適合度の代表値を利用する以外にも、例えば、事後確率、事後確率に基づいたスコア、ユークリッド距離などの距離に基づいたスコアなどのような、確からしさや尤もらしさを表すスコアを利用することができる。
【0082】
(影響度の算出処理)
次に、影響度演算部64による影響度の算出処理について説明する。影響度とは、各入力項目に対応して設けられる値であり、該入力項目に対するデータが得られた場合に、各不良要因に対する確信度の変化量の総和を示す値である。すなわち、影響度は次式で表される。
影響度=Σ|現在の確信度−確信度予測値|。
ここで、Σは不良要因毎の総和を示している。
【0083】
具体的には、影響度演算部64は、まず、推論過程一時記憶部25に記録されている各不良要因に対する現在の確信度の情報を読み出すことによって、必要とされる確信度を取得する。図10は、推論過程一時記憶部25に記憶されている現在の確信度の具体例を示している。図示のように、確信度は、不良要因ごとに格納されている。
【0084】
次に、影響度演算部64は、或る入力項目に対してデータが得られたと仮定して、適合度演算部62にて適合度を算出させ、確信度演算部63にて確信度を算出させる。この確信度が上記の確信度予測値となる。そして、影響度演算部64は、上記の式に従って影響度を算出する。これを、サブネットワークに含まれる入力項目ごとに繰り返す。なお、算出された影響度は、対応する入力項目の情報(具体的には入力項目の項目ID)とともに、推論過程一時記憶部25に記録される。
【0085】
(項目データ取得処理)
次に、項目データ取得部65による入力項目のデータの取得処理について説明する。項目データ取得部65は、サブネットワーク内の各入力項目に対応する影響度を推論過程一時記憶部25から読み出して、影響度が最も高い入力項目を特定する。なお、サブネットワーク内に入力項目が存在しない場合、または、所定値よりも高い影響度を有する入力項目が存在しない場合、項目データ取得部65は、当該サブネットワーク内の入力項目のデータをこれ以上取得しても確信度への影響が無いまたは少ないため、入力項目のデータの取得処理を終了し、着目ノード決定部66に通知する。
【0086】
次に、項目データ取得部65は、特定した入力項目(以下、「特定項目」と称する。)の情報を関連項目選択部36に送り出す。関連項目選択部36は、特定項目に関連する入力項目(以下、「関連項目」と称する。)を関連項目記録部28から読み出す。図11は、関連項目記録部28に記録されているグループデータベースの具体例を示している。図示のように、グループデータベースには、グループ毎に、グループを識別するグループIDと、グループに含まれる入力項目の項目IDとが格納されている。
【0087】
すなわち、関連項目選択部36は、項目データ取得部65から特定項目の項目IDを受け取り、受け取った項目IDを含むグループIDを特定し、特定したグループIDに含まれる他の項目IDを読み出す。関連項目選択部36は、読み出した項目IDを関連項目の情報として項目データ取得部65に送り出す。
【0088】
したがって、特定項目のデータを取得する場合に、関連項目のデータも取得することになる。このとき、特定項目のデータを取得するためにユーザに行う質問と、関連項目のデータを取得するためにユーザに行う質問とが関連している可能性が高い。したがって、質問の流れの一貫性を確保できる。
【0089】
なお、関連項目選択部36は、読み出した項目IDに対応する影響度を推論過程一時記憶部25から読み出し、所定値よりも低い影響度を有する項目IDを、項目データ取得部65に送り出す項目IDから除外することが望ましい。これにより、入力項目の無駄なデータ取得を防止できる。
【0090】
次に、項目データ取得部65は、特定項目および関連項目に対応するデータ取得方法の情報を項目データ取得方法記録部29から読み出す。
【0091】
図12は、項目データ取得方法記録部29に記録されている項目データ取得方法データベースの具体例を示している。図示のように、項目データ取得方法データベースには、入力項目毎に、入力項目を識別する項目IDと、入力項目のデータを人および検査結果の何れか一方から取得するか、或いは両方から取得するかを示す情報と、人が行う場合の質問文を識別する質問文IDと、検査結果が行う場合の計算アルゴリズムの情報とが格納されている。なお、入力項目のデータを人のみから取得する場合、計算アルゴリズムの情報として「Null」が格納される。一方、入力項目のデータを検査結果のみから取得する場合、質問文IDとして「Null」が格納される。
【0092】
すなわち、項目データ取得部65は、項目データ取得方法データベースを参照して、特定項目および関連項目の各項目IDに対応する質問文IDおよび/または計算アルゴリズムを取得する。なお、人および検査結果の何れか一方から取得すればよい場合には、項目データ取得部65は、コストや作業時間に基づいて、人および検査結果の何れから取得するかを判断すればよい。
【0093】
次に、項目データ取得部65は、特定項目および関連項目のデータを取得する。すなわち、項目データ取得方法記録部29から質問文IDを取得した場合、項目データ取得部65は、質問文IDを質問生成部34に送り出す。
【0094】
質問生成部34は、項目データ取得部65から受け取った質問文IDに対応する情報を質問データ記録部24から読み出して質問を生成する。図13は、質問データ記録部24に記録されている質問データベースの具体例を示している。図示のように、質問データベースには、質問文毎に、質問文IDと、質問文の内容と、質問文に対する回答の選択肢とが格納されている。
【0095】
すなわち、質問生成部34は、質問文IDに対応する質問文および選択肢を質問データ記録部24から読み出す。読み出された質問文および選択肢は、質問入出力制御部51を介して表示部22に表示される。そして、ユーザからの回答が、入力部21および質問入出力制御部51を介して項目データ取得部65に送られる。項目データ取得部65は、受け取った回答に基づいて、入力項目のデータを作成する。
【0096】
一方、項目データ取得方法記録部29から計算アルゴリズムの情報を取得した場合、項目データ取得部65は、計算アルゴリズムの情報を特徴量演算部65に送り出す。特徴量演算部65は、受け取った計算アルゴリズムの情報に基づいて演算を行って特徴量を取得し、取得した特徴量を項目データ取得部65に送り出す。項目データ取得部65は、受け取った特徴量に基づいて、入力項目のデータを作成する。
【0097】
そして、項目データ取得部65は、作成した入力項目のデータを、対応する項目IDとともに、推論過程一時記憶部25に記録する。図14は、推論過程一時記憶部25に記憶される入力項目のデータの具体例を示している。図示のように、入力項目のデータ形式は、入力項目ごとに設定されており、例えば、「はい・いいえ」の回答に対応する「True・False」、「大・中・小」の回答に対応する「Large・Middle・Small」、特徴量に対応する数値が挙げられる。なお、データが未入力である場合、「Null」が格納される。これにより、各入力項目のデータが入力済であるか未入力であるかを判断することができる。
【0098】
(着目ノード決定処理)
次に、着目ノード決定部66による着目ノードの決定処理について説明する。項目データ取得部65が取得した入力項目のデータが、該入力項目に対応する条件を満たす場合、着目ノード決定部66は、上記条件の分岐先のノードを着目ノードとして決定する。着目ノード決定部66は、決定した着目ノードのノードIDを着目ノードスタック記憶部27にプッシュする。これにより、サブネットワークを絞り込むことができる。したがって、入力項目のデータを取得するためにユーザに質問を行う場合、次々と絞り込まれたサブネットワーク内の入力項目に対応する質問がなされるため、質問の流れの一貫性を損なわない。
【0099】
また、項目データ取得部65がデータを取得するに値する入力項目が存在しない場合、着目ノード決定部66は、着目ノードスタック記憶部27からポップすることにより、着目ノードを元に戻す。これにより、元の広いサブネットワークに戻して、データを取得するに値する入力項目を探索することができる。また、絞り込まれる直前のサブネットワークに戻るため、同じ様な質問の流れを維持することができる。
【0100】
なお、着目ノードスタック記憶部27からポップすることにより、着目ノードスタック記憶部27に記憶されるノードIDが無くなった場合、因果ネットワークにおいてデータを取得するに値する入力項目が存在しなくなったことになるので、推論処理を終了する。そして、診断結果を、要因出力制御部52を介して表示部22に表示させる。
【0101】
(因果ネットワークの具体例)
次に、因果ネットワークの具体例について図15を参照しながら説明する。同図に示す例では、不良結果としての「ブリッジ不良」についての因果ネットワークが示されている。この例において、「ブリッジ不良」に対して、「実装位置ずれ」、「リード曲がり」、「ペーストのフラックス活性度が低い」、「部品の酸化」、「部品の汚れ」、「ペーストの面積が大きい」、「ペーストの位置ずれ」、および「ヒーターの温度設定が高い」の8個の不良要因が候補となっている。そして、「ブリッジ不良」という不良結果から、上記8個の不良要因に至るまでの診断パスがネットワーク構造の知識として設定されている。
【0102】
図15に示す例において、「実装位置ずれ」、「リード曲がり」、および「ペーストのフラックス活性度が低い」の3つの不良要因に至る診断パスから得られるプロダクションルールは、
IF((リードとランドの接触がある)=Yes & (部品位置ずれ)=(大きい)) then (実装位置ずれ)
IF((リードとランドの接触がある)=Yes & (部品位置ずれ)=(普通)) then (リード曲がり)
IF((ペーストが無いランドがある)=Yes & (ランドに不濡れがある)= Yes & (ペーストのフラックスの活性度)=(低い)) then (ペーストのフラックス活性度が低い)
となる。
【0103】
また、図15に示す例において、「ペーストの面積が大きい」という不良要因に至る診断パスは2通り存在するので、これらから得られるプロダクションルールは次の2つ、すなわち、
IF((熱だれ性が規定値外である)=Yes & (ペーストの量)=(多い)) then (ペーストの面積が大きい)
IF((リードの肩までペーストがぬれ上がる現象がある)=Yes & (リフロー炉の温度)=(普通)) then (ペーストの面積が大きい)
となる。
【0104】
また、図15に示す例において、「ヒーターの温度設定が高い」という不良要因に至る診断パスは、補足パスも含んでいるので、これから得られるプロダクションルールは、
IF((リードの肩までペーストがぬれ上がる現象がある)=Yes & (リフロー炉の温度)=(高い) & (ヒーターの設定値)=(高い) & (基板全体でペーストがぬれ上がる現象がある)= Yes) then (ペーストの面積が大きい)
となる。
【0105】
(要因推定処理の流れ)
次に、要因推定処理の流れについて図16に示すフローチャートを参照しながら説明する。要因推定処理が開始されると、まずステップ1(以降、S1のように称する)において、入力表示制御部31によって表示部22に対して質問画面が表示される。この質問画面における質問表示領域には、不良結果を入力する領域が設けられる。この不良結果を入力する領域に対して、ユーザによって不良結果が入力され、この入力情報が質問入出力制御部51によって受け付けられる(S2)。そして、不良結果情報が、推論処理部61によって推論過程一時記憶部25に記憶される。
【0106】
不良結果が入力されると、推論処理部61は、該当不良結果に対する因果ネットワークの情報を推定知識記録部23から抽出する(S3)。この際に、推論処理部61は、知識変換部33によってプロダクションルールに変換された因果ネットワークの情報を取得する。そして、推論部32は、抽出した因果ネットワークに基づいて推論処理を実行する(S4)。推論処理の終了後、要因出力制御部52が診断結果の画像を表示部22に表示させる(S5)。その後、要因推定処理を終了する。
【0107】
次に、S4の推論処理の流れについて図17に示すフローチャートを参照しながら説明する。推論処理が開始されると、まず、推論過程一時記憶部25に記憶されている各種のデータをクリアする(S11)。また、着目ノードスタック記憶部27に記憶されているデータもクリアする。
【0108】
次に、着目ノード決定部66が、ルートノード(不良結果のノード)を着目ノードとして、対応するノードIDを着目ノードスタック記憶部27にプッシュする(S12)。次に、推論過程一時記憶部25に記憶されている入力項目のデータ(図14)を参照して、データ未取得の入力項目が、サブネットワーク内に存在するか否かを判断する(S13)。上記入力項目が存在する場合にはS14に進み、存在しない場合にはS21に進む。
【0109】
S14にて、影響度演算部64は、サブネットワークに含まれる各入力項目の影響度を算出して推論過程一時記憶部25に記憶する。なお、データ取得済の入力項目は影響度がゼロであるので除外される。次に、項目データ取得部65は、影響度が所定値以上である入力項目が存在するか否かを判断する(S15)。上記入力項目が存在する場合にはS16に進み、存在しない場合にはS21に進む。
【0110】
S16にて、項目データ取得部65は、影響度が最大である入力項目を特定項目として特定し(S16)、該特定項目と同じグループの入力項目であって、影響度が所定値以上である入力項目を関連項目として選択する(S17)。次に、項目データ取得部65は、特定項目および関連項目のデータをそれぞれ取得する(S18)。次に、取得したデータに基づいて、適合度演算部62が現在の適合度を算出し、確信度演算部63が現在の確信度を算出する(S19)。そして、特定項目に対応するノードを着目ノードとして、対応するノードIDを着目ノードスタック記憶部27にプッシュする(S20)。その後、S13に戻って上記動作を繰り返す。
【0111】
一方、S21にて、着目ノード決定部66は、着目ノードがルートノードであるか否かを判断する。着目ノードがルートノードではない場合、着目ノード決定部66は、着目ノードスタック記憶部27からポップして、着目ノードを戻す(S22)。その後、S13に戻って上記動作を繰り返す。
【0112】
一方、着目ノードがルートノードである場合、因果ネットワークにおいて、データを取得するに値する入力項目が存在しなくなったとして、推論処理を終了し(S23)、元のルーチンに戻る。すなわち、要因出力制御部52が診断結果の画像を表示部22に表示させ(S5)、その後、要因推定処理を終了する。
【0113】
診断結果の表示例について図18および図19を参照しながら説明する。この診断画面には、質問表示領域と、診断結果表示領域とが設けられている。
【0114】
質問表示領域には、要因推定処理の過程においてユーザに対して提示された質問およびそれに対するユーザの回答の履歴が表示される。質問入出力制御部51は、推論過程一時記憶部25に記録されている履歴を読み出すことによって履歴の表示を行う。
【0115】
診断結果表示領域には、選択された不良要因に至る診断パスが表示される。この診断パスは、推論処理部61によって因果ネットワークから抽出され、抽出された診断パスは要因出力制御部52によって診断結果表示領域に表示される。
【0116】
また、この診断パス上には、各ノード間のパスに対応する適合度の数値情報が表示されるとともに、適合度の大きさに応じた線の太さで該当パスが表示される。なお、適合度の表示形態は上記の例に限定されるものではなく、適合度情報の表示およびパスの線の太さ表示のいずれか一方のみでもよく、その他、適合度をユーザが認識可能な形態であればどのような表示形態であってもよい。
【0117】
このように、特定の不良要因に対する質問回答履歴および診断パスの情報が表示されることによって、ユーザに対して要因推定結果の正当性を提示することが可能となる。
【0118】
なお、図18は、不良結果d1に関して、不良要因c1に対する診断結果例を示しており、図19は、「ブリッジ不良」という不良結果に関して、「部品の汚れ」という不良要因に対する診断結果例を示している。これらの図に示すように、診断パスに含まれる全ての入力項目のデータが得られていない状態であっても、診断結果が表示されてもよく、また、診断パスに含まれる全ての入力項目のデータが得られた状態で診断結果が表示されてもよい。入力項目のデータが得られるか否かは、各入力項目の影響度に依存する。
【0119】
なお、上記実施形態では、項目データ取得部65は、影響度が最大である入力項目を特定し、特定した入力項目である特定項目と同じグループである他の入力項目を関連項目として選択して、特定項目および関連項目のデータを取得している。これに対して、項目データ取得部65は、グループに含まれる入力項目の影響度の総和をグループごとに算出し、影響度の総和が最大であるグループに含まれる入力項目のデータを取得してもよい。
【0120】
また、上記実施形態では、関連項目記録部28に記録されるグループデータベースは、関連する入力項目の項目IDがグループごとに含んでいるが、各入力項目のデータを取得する順番を含んでもよい。この場合、項目データ取得部65は、上記順番に従って、質問して回答を取得したり、検査データから特徴量を取得したりすることになる。
【0121】
また、上記グループデータベースは、各入力項目のデータを取得した後の分析を行う順番を含んでもよい。この場合、項目データ取得部65が各入力項目のデータを取得した後、上記順番に従って、適合度算出および確信度算出を行うことになる。なお、重要な入力項目ほど、先に分析を行うことが考えられる。そこで、着目ノード決定部66は、上記順番とは逆の順番で、着目ノードスタック記憶部27をプッシュすることが望ましい。この場合、順番が先の入力項目に対応するノードが先に着目ノードとなる。
【0122】
また、上記実施形態では、着目ノード決定部66は、ルートノードを最初の着目ノードとしている。この場合、サブネットワークは因果ネットワークと同じとなり、探索範囲が広く、各入力項目の影響度を求めるのに時間がかかることになる。そこで、工程の種類など、所定の条件に基づいて入力項目を予め分類しておき、ユーザが分類を指定することにより、 サブネットワークの探索範囲を或る程度絞り込んでもよい。
【0123】
図20は、基板実装工程に関する因果ネットワークの別の具体例を示している。基板実装工程は、おおまかには、P(印刷)工程・Z(実装)工程・S(リフロー)工程の3つの工程からなる。そこで、工程ごとに入力項目を予め分類しておく。図20の例では、ノードP1・P2・P5・P9〜P12と入力項目T1・T2・T6〜T13とは、P工程に分類され、ノードP3・P6・P7・P13〜P15と入力項目T3・T4・T9・T14〜T19とはZ工程に分類され、ノードP4・P8・P16〜P18と入力項目T5・T15・T16・T18〜T21とはS工程に分類されている。
【0124】
次に、不良要因がP工程にあるとユーザが見当をつけて、P工程の分類を指定する。これにより、ノードP1・P2・P5・P9〜P12と入力項目T1・T2・T6〜T13とを含むサブネットワークに絞り込むことができ、サブネットワーク内の各入力項目の影響度を求める時間を抑えることができる。また、着目ノードが再びルートノードに戻った場合、探索範囲からP工程に関するものが除外されるので、各入力項目の影響度を求める時間が著しく増大することを抑えることができる。
【0125】
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【0126】
例えば、上記実施形態では、生産ラインにおける不良要因を推定する工程管理システムについて説明しているが、本発明は、工程管理システムに限定されるものではなく、例えば、クレーム処理への対応を支援するためのソフトウェア、定期点検を行う作業員を支援するためのシステム、カスタマイズ製品の販売を支援するためのツールなど、要因の推定を行う種々の装置などに適用することが可能である。
【0127】
また、工程管理装置10の制御部30が備える各ブロックは、ハードウェアロジックによって構成してもよいし、次のようにCPUを用いてソフトウェアによって実現してもよい。
【0128】
すなわち、制御部30は、各機能を実現する制御プログラムの命令を実行するCPU(central processing unit)、上記プログラムを格納したROM(read only memory)、上記プログラムを展開するRAM(random access memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである制御部30の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記制御部30に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
【0129】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。
【0130】
また、制御部30を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【産業上の利用可能性】
【0131】
本発明に係る要因推定装置は、生産ラインにおける不良要因を推定する工程管理システムに好適であるが、これに限定されず、クレーム処理への対応を支援するためのソフトウェア、定期点検を行う作業員を支援するためのシステム、カスタマイズ製品の販売を支援するためのツールなど、要因の推定を行う種々の装置などに適用することが可能である。
【図面の簡単な説明】
【0132】
【図1】本発明の一実施形態に係る工程管理装置の概略構成を示すブロック図である。
【図2】上記工程管理装置を含む生産システムの概略構成を示すブロック図である。
【図3】因果ネットワークの一例を模式的に示す図である。
【図4】図3に示す因果ネットワークから得られる診断パスを示す図である。
【図5】(a)は、診断パスの一例を示す図であり、(b)は、(a)の診断パスによって生成されるプロダクションルールを示す図である。
【図6】(a)は、診断パスの他の例を示す図であり、(b)は、(a)の診断パスによって生成されるプロダクションルールを示す図である。
【図7】(a)は、診断パスのさらに他の例を示す図であり、(b)は、(a)の診断パスによって生成されるプロダクションルールを示す図である。
【図8】(a)は、診断パスのさらに他の例を示す図であり、(b)は、(a)の診断パスによって生成されるプロダクションルールを示す図である。
【図9】(a)および(b)は、「大きい(large)」「普通(mid)」「小さい(small)」の3通りの回答に対するメンバーシップ関数の一例を示す図である。
【図10】上記工程管理装置における推論過程一時記憶部に記憶されている現在の確信度の具体例を表形式で示す図である。
【図11】上記工程管理装置における関連項目記録部に記録されているグループデータベースの具体例を表形式で示す図である。
【図12】上記工程管理装置における項目データ取得方法記録部に記録されている項目データ取得方法データベースの具体例を表形式で示す図である。
【図13】上記工程管理装置における質問データ記録部に記録されている質問データベースの具体例を表形式で示す図である。
【図14】上記工程管理装置における推論過程一時記憶部に記憶される入力項目のデータの具体例を表形式で示す図である。
【図15】因果ネットワークの具体例を示す知識構造図である。
【図16】要因推定処理の流れを示すフローチャートである。
【図17】上記要因推定処理における推論処理の流れを示すフローチャートである。
【図18】不良要因に対する診断結果を表示する診断画面の例を示す表示画面図である。
【図19】上記診断画面の具体例を示す表示画面図である。
【図20】因果ネットワークの別の具体例を示す知識構造図である。
【符号の説明】
【0133】
10 工程管理装置(要因推定装置)
11 印刷装置
12 装着装置
13 装置
14 検査装置
14a 印刷検査装置
14b 装着検査装置
14c 検査装置
21 入力部
22 表示部
23 推定知識記録部
24 質問データ記録部
25 推論過程一時記憶部
26 工程状態データベース(検査結果記録部)
27 着目ノードスタック記憶部
28 関連項目記録部
29 項目データ取得方法記録部(取得方法記録部)
30 制御部
31 入力表示制御部
32 推論部
33 知識変換部
34 質問生成部
35 特徴量演算部
36 関連項目選択部
40 検査結果入力部(検査結果入力手段)
41 印刷結果入力部
42 装着結果入力部
43 半田付け結果入力部
44 製造装置履歴入力部
51 質問入出力制御部(入力制御手段)
52 要因出力制御部
61 推論処理部(推論処理手段)
62 適合度演算部(適合度演算手段)
63 確信度演算部(確信度演算手段)
64 影響度演算部(影響度演算手段)
65 項目データ取得部(項目データ取得手段)
66 着目ノード決定部(着目ノード決定手段)

【特許請求の範囲】
【請求項1】
診断対象のシステムにおいて発生した結果から要因を推定する要因推定装置であって、
上記システムにおいて発生し得る複数の結果のそれぞれに対して、要因の候補を1つ以上対応付けるとともに、各結果から該結果に対応する各要因に至る要因推定のパスを、条件分岐によるネットワーク構造の知識として示す要因推定知識情報を記録する推定知識記録部と、
上記推定知識記録部に記録されている上記要因推定知識情報に基づいて要因推定処理を行う推論処理手段と、
上記推論処理手段によって要因推定処理が行われる過程において、上記要因推定知識情報に含まれる条件に対応する入力項目のデータを取得する項目データ取得手段と、
該項目データ取得手段が取得したデータに基づいて、上記条件を満たす度合いを示す適合度を算出する適合度演算手段と、
上記要因推定のパスに含まれる条件に対する適合度の集合を代表する値を確信度として上記要因ごとに算出する確信度演算手段と、
或る入力項目に関して、該入力項目のデータを取得した場合に確信度に及ぼす影響の度合いを示す影響度を、入力項目ごとに算出する影響度演算手段とを備え、
上記項目データ取得手段は、上記影響度の高い入力項目のデータを取得することを特徴とする要因推定装置。
【請求項2】
上記項目データ取得手段が取得したデータが、条件を満たす場合、該条件分岐先のノードを着目ノードとして決定する着目ノード決定手段をさらに備え、
上記項目データ取得手段は、上記着目ノードとその下流側のノードとに対応する入力項目のうち、上記影響度の高い入力項目のデータを取得することを特徴とする請求項1に記載の要因推定装置。
【請求項3】
上記着目ノード決定手段は、上記影響度が所定値以上である入力項目が存在しない場合、前の着目ノードに戻すことを特徴とする請求項2に記載の要因推定装置。
【請求項4】
関連する複数の入力項目の情報をグループ化して記憶する関連項目記録部をさらに備え、
上記項目データ取得手段は、上記影響度の高い入力項目のデータと、該入力項目と同じグループに属する入力項目のデータとを取得することを特徴とする請求項1に記載の要因推定装置。
【請求項5】
上記項目データ取得手段は、上記影響度の高い入力項目のデータと、該入力項目と同じグループに属する入力項目であって、上記影響度が所定値以上である入力項目のデータとを取得することを特徴とする請求項4に記載の要因推定装置。
【請求項6】
上記要因推定知識情報に含まれる条件に対応する質問に対するユーザからの回答を取得する入力制御手段をさらに備え、
上記項目データ取得手段は、上記入力制御手段が取得する回答に基づいて、上記入力項目のデータを取得することを特徴とする請求項1に記載の要因推定装置。
【請求項7】
上記システムを検査する検査装置から検査結果データを受け付ける検査結果入力手段と、
上記検査結果入力手段によって受け付けられた検査結果データを記録する検査結果記録部と、
上記入力項目のデータを、ユーザおよび上記検査結果データの何れから取得するか、或いは両方から取得するかを示す取得方法の情報を上記入力項目の情報とともに記憶する取得方法記録部とを備え、
上記項目データ取得手段は、上記入力項目に対応する取得方法の情報に基づいて、上記入力項目のデータを取得することを特徴とする請求項6に記載の要因推定装置。
【請求項8】
被対象物に対して処理を行う処理システムにおいて発生した不良結果から不良要因を推定することを特徴とする請求項1に記載の要因推定装置。
【請求項9】
請求項1から8のいずれか1項に記載の要因推定装置を動作させる要因推定プログラムであって、コンピュータを上記の各手段として機能させるための要因推定プログラム。
【請求項10】
請求項9に記載の要因推定プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項11】
診断対象のシステムにおいて発生した結果から要因を推定する要因推定装置であって、上記システムにおいて発生し得る複数の結果のそれぞれに対して、要因の候補を1つ以上対応付けるとともに、各結果から該結果に対応する各要因に至る要因推定のパスを、条件分岐によるネットワーク構造の知識として示す要因推定知識情報を記録する推定知識記録部を備える要因推定装置の要因推定方法であって、
上記推定知識記録部に記録されている上記要因推定知識情報に基づいて要因推定処理を行う推論処理ステップと、
上記推論処理ステップによって要因推定処理が行われる過程において、上記要因推定知識情報に含まれる条件に対応する入力項目のデータを取得する項目データ取得ステップと、
該項目データ取得ステップが取得したデータに基づいて、上記条件を満たす度合いを示す適合度を算出する適合度演算ステップと、
上記要因推定のパスに含まれる条件に対する適合度の集合を代表する値を確信度として上記要因ごとに算出する確信度演算ステップと、
或る入力項目に関して、該入力項目のデータを取得した場合に確信度に及ぼす影響の度合いを示す影響度を、入力項目ごとに算出する影響度演算ステップとを含み、
上記項目データ取得ステップにおいて、上記影響度の高い入力項目のデータを取得することを特徴とする要因推定方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate