(57)【要約】      （修正有）【課題】製造現場において、成立することが確認されている物理モデルなどのナレッジを他の製造現場から相互利用可能な形にモデル化することで、ナレッジの抽出を容易化する。【解決手段】コンピュータを用いた因果推論モデル構築方法であって、コンピュータは、制御部と、記憶部と、を備える。制御部は、製造工程および検査工程で取得された製造ログデータを読み込む実績値受付ステップと、製造ログデータを用いて相関モデルを構築する相関モデル構築ステップと、物理モデルの入力を受け付ける物理モデル受付ステップと、相関モデルおよび物理モデルの確率分布を算出する確率分布算出ステップと、相関モデルの確率分布を収束計算し物理モデルの確率分布に近似させ、相関モデルを上書きする確率分布収束処理ステップと、相関モデルを因果推論モデルとして記憶部に格納する因果推論モデル保存ステップと、を実施する。【選択図】図１
2020004001.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを用いた因果推論モデル構築方法であって、
前記コンピュータは、制御部と、記憶部と、を備え、
前記制御部は、
製造工程および検査工程のいずれかまたは両方で取得されたセンサデータを含む製造ログデータを前記記憶部から読み込む実績値受付ステップと、
前記製造ログデータを用いて相関モデルを構築する相関モデル構築ステップと、
前記製造工程または検査工程に係る物理法則をモデル化した物理モデルの入力を受け付ける物理モデル受付ステップと、
前記相関モデル構築ステップで構築された相関モデルおよび前記物理モデルの確率分布を算出する確率分布算出ステップと、
前記相関モデルの確率分布を収束計算し前記物理モデルの確率分布に近似させ、前記相関モデルを上書きする確率分布収束処理ステップと、
確率分布収束処理ステップの処理結果の相関モデルを因果推論モデルとして前記記憶部に格納する因果推論モデル保存ステップと、を実施する、
ことを特徴とする因果推論モデル構築方法。
【請求項２】
請求項１に記載された因果推論モデル構築方法であって、
前記相関モデル構築ステップにおいて、ベイジアンネットワークを用いる、
ことを特徴とする因果推論モデル構築方法。
【請求項３】
請求項１に記載された因果推論モデル構築方法であって、
前記物理モデル受付ステップでは、陰関数の形式で記述された物理モデルを受け付ける、
ことを特徴とする因果推論モデル構築方法。
【請求項４】
請求項１に記載された因果推論モデル構築方法であって、
前記確率分布収束処理ステップでは、前記相関モデルの確率分布について摂動処理を行い、前記物理モデルの確率分布とのノルムにより近似を判定する、
ことを特徴とする因果推論モデル構築方法。
【請求項５】
請求項１に記載された因果推論モデル構築方法であって、
前記確率分布収束処理ステップでは、前記相関モデルの確率分布について摂動処理を行い、当該摂動処理においては、所定の分布を有するランダムサンプリングに従った誤差値を摂動量として用い、前記物理モデルの確率分布とのノルムにより近似を判定する、
ことを特徴とする因果推論モデル構築方法。
【請求項６】
請求項１に記載された因果推論モデル構築方法であって、
前記確率分布収束処理ステップでは、前記相関モデルの確率分布について摂動処理を繰り返し行い、当該摂動処理においては、所定の分布を有するランダムサンプリングに従った誤差値を徐々に小さな値に収束する摂動量として用い、前記物理モデルの確率分布とのノルムにより近似を判定する、
ことを特徴とする因果推論モデル構築方法。
【請求項７】
請求項１に記載された因果推論モデル構築方法であって、
前記確率分布収束処理ステップでは、前記相関モデルの確率分布について摂動処理を繰り返し行い、当該摂動処理においては、所定の分布を有するランダムサンプリングに従った誤差値を徐々に小さな値に収束する摂動量として用い、前記物理モデルの確率分布とのノルムが前記摂動処理前の確率分布と前記物理モデルの確率分布との間のノルムよりも小さくなる場合には、前記摂動処理後の確率分布により前記摂動処理前の確率分布を上書きする、
ことを特徴とする因果推論モデル構築方法。
【請求項８】
請求項１に記載された因果推論モデル構築方法であって、
前記因果推論モデル保存ステップでは、ＪＳＯＮフォーマットにより保存する、
ことを特徴とする因果推論モデル構築方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、因果推論モデル構築方法に関する。
【背景技術】
【０００２】
本技術分野の背景技術として、特開２０１３−００８２２１号公報(特許文献１)がある。この文献には、「計算処理装置は、記号論理における述語論理の推論を実行するための後ろ向き推論の形式のデータフローグラフであって、複数の演算ノードおよび演算ノードの間を各々つなぐ複数のエッジにより述語論理の構造を表わすデータフローグラフに変換するネットワーク作成部と、変換されたデータフローグラフに基づくトークンの伝搬処理により、述語論理に対する導出を実行する計算実行部とを備える。」と記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−００８２２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記特許文献１に記載された技術では、記号論理による論理推論を実行するための方法が記載されている。しかし、記号論理におけるデータフローだけでは、製造現場において知られている物理モデルのような定量的な因果関係をモデル化することができない。
【０００５】
本発明の目的は、製造現場において、成立することが確認されている物理モデルなどのナレッジを他の製造現場から相互利用可能な形にモデル化することで、ナレッジの抽出を容易化する。
【課題を解決するための手段】
【０００６】
本願は、上記課題の少なくとも一部を解決する手段を複数含んでいるが、その例を挙げるならば、以下のとおりである。上記課題を解決すべく、本発明の一態様に係る因果推論モデル構築方法は、コンピュータを用いた因果推論モデル構築方法であって、上記コンピュータは、制御部と、記憶部と、を備え、上記制御部は、製造工程または検査工程のいずれかまたは両方で取得されたセンサデータを含む製造ログデータを上記記憶部から読み込む実績値受付ステップと、上記製造ログデータを用いて相関モデルを構築する相関モデル構築ステップと、上記製造工程に係る物理法則をモデル化した物理モデルの入力を受け付ける物理モデル受付ステップと、上記相関モデル構築ステップで構築された相関モデルおよび上記物理モデルの確率分布を算出する確率分布算出ステップと、上記相関モデルの確率分布を収束計算し上記物理モデルの確率分布に近似させ、上記相関モデルを上書きする確率分布収束処理ステップと、確率分布収束処理ステップの処理結果の相関モデルを因果推論モデルとして上記記憶部に格納する因果推論モデル保存ステップと、を実施する、ことを特徴とする。
【発明の効果】
【０００７】
本発明によれば、製造現場において、成立することが確認されている物理モデルなどのナレッジを相互利用可能な形にモデル化することで、ナレッジの抽出を容易化する技術を実現することができる。上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【０００８】
【図１】本発明の第一の実施形態に係るナレッジ管理装置の構成例を示す図である。
【図２】製造実績記憶部のデータ構造例を示す図である。
【図３】検査実績記憶部のデータ構造例を示す図である。
【図４】ナレッジ管理装置のハードウェア構成例を示す図である。
【図５】因果推論モデルの図示の例を示す図である。
【図６】因果関係の図示の例を示す図である。
【図７】ナレッジ生成処理のフローの例を示す図である。
【図８】確率分布の収束計算処理のフローの例を示す図である。
【図９】ランダムサンプリングの処理の例を示す図である。
【図１０】因果推論モデルのＪＳＯＮを用いたデータ構造例を示す図である。
【図１１】ナレッジ生成処理の出力画面の例を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明に係る実施の形態を図面に基づいて説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。また、以下の実施の形態において、その構成要素（要素ステップ等も含む）は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。また、「Ａからなる」、「Ａよりなる」、「Ａを有する」、「Ａを含む」と言うときは、特にその要素のみである旨明示した場合等を除き、それ以外の要素を排除するものでないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。
【００１０】
統計的な概念として、相関と因果という、一見類似するが相異なる概念がある。「相関」関係は、一方の変数の値が大きいときに他方の変数の値も大きい、というような関係をいう。例えば、体重と身長の関係がこのような関係となる。「因果」関係は、一方の変数の値を変化させたときに、他方の変数の値も変化するというような関係をいい、例えば照明のスイッチと部屋の明るさ、のような関係がこれに相当する。
【００１１】
ここで、相関関係が因果関係と認められるためには、「相関の強さ（Ｓｔｒｅｎｇｔｈ）」、「相関の確からしさ（Ｃｏｎｓｉｓｔｅｎｃｙ）」、「相関の特異性（Ｓｐｅｃｉｆｉｃｉｔｙ）」、「量・反応関係の成立（Ｂｉｏｌｏｇｉｃａｌ  Ｇｒａｄｉｅｎｔ）」、「時間的先行性（Ｔｅｍｐｏｒａｌｉｔｙ）」、「妥当性（Ｐｌａｕｓｉｂｉｌｉｔｙ）」、「先行知見との整合（Ｃｏｈｅｒｅｎｃｅ）」、「他の知見との整合（Ａｎａｌｏｇｙ）」、「実験との一致（Ｅｘｐｅｒｉｍｅｎｔ）」等の要件を満たす必要があるとの考え方がある（Ｈｉｌｌのガイドライン等）。
【００１２】
そして、情報処理システムを用いて解析したさまざまの測定値の相関関係を利用して、製造工程あるいは検査工程において望む結果を制御する種々の方法が研究されつつある。例えば、ビッグデータ解析等によれば、おおまかな変数（センサー等の取得値）間の相関関係を解析することができるようになりつつある。一方で、相関関係の中には、因果関係を有する関係も含まれるが、因果関係とは異なる関係も含まれるため、解析した相関関係を具体的な製造現場の効率化に適用しようとしても、定量的な因果関係を特定できなければ結果の制御には貢献させづらい。
【００１３】
数多ある測定項目の相関関係の中から、因果関係を効率よく抽出することができれば、定量的な因果関係を特定することも容易となる。また、そのような因果関係をナレッジとして蓄積することにより、他事象への展開効率を高めることが可能となると考えられる。そして、製造工程および検査工程にあてはめると、上記の「妥当性（Ｐｌａｕｓｉｂｉｌｉｔｙ）」は、物理モデルと一致すること（物理法則に反しないこと）と換言し得る。そのため、抽出された相関モデルが、物理モデルと一致するか否かを判定することは、相関関係が因果関係となりうるか否かを判定することと同様の意味がある。
【００１４】
図１は、本発明の第一の実施形態に係るナレッジ管理装置の構成例を示す図である。ナレッジ管理装置１００は、記憶部１１０と、制御部１２０と、を備える。記憶部１１０には、製造実績記憶部１１１と、検査実績記憶部１１２と、因果推論モデル記憶部１１３と、が含まれる。制御部１２０には、実績値受付部１２１と、相関モデル構築部１２２と、確率分布算出部１２３と、物理モデル受付部１２４と、確率分布収束処理部１２５と、更新判定部１２６と、因果推論モデル保存部１２７と、が含まれる。
【００１５】
図２は、製造実績記憶部のデータ構造例を示す図である。製造実績記憶部１１１には、ｐＶａｒ１（１１１ａ）と、ｐＶａｒ２（１１１ｂ）と、ｐＶａｒ３（１１１ｃ）と、ｐＶａｒ４（１１１ｄ）と、ｐＶａｒ５（１１１ｅ）と、ｐＶａｒ６（１１１ｆ）と、ｐＶａｒ７（１１１ｇ）と、ｐＶａｒ８（１１１ｈ）と、ｐＶａｒ９（１１１ｊ）と、ｐＶａｒ１０（１１１ｋ）と、が含まれる。
【００１６】
製造実績記憶部１１１には、製造装置の操業状態をモニタした製造データが含まれており、その製造データの個別の項目が上記ｐＶａｒ１乃至ｐＶａｒ１０の項目名で示されている。例えば、ｐＶａｒ１（１１１ａ）は、製品の個体を識別するためのＩＤ番号を示す項目名である。２列目以降のｐＶａｒ２（１１１ｂ）乃至ｐＶａｒ１０（１１１ｋ）は、それぞれ製造装置の操業状態をセンサ等によりモニタした結果得られたデータである。操業状態をモニタする項目の例としては、処理中の温度、湿度、圧力、電流、電圧、物質量等がある。
【００１７】
これらのデータは、一般に、製品を製造処理している際に定期サンプリングされるデータである。ここで、定期サンプリングとは、例えば、１秒間に１００回の頻度等、各種のモニタする項目に応じて所定の頻度で定期的にセンサデータを取得することを指す。
【００１８】
一般に、製品の製造処理時間は、定期サンプリングのサンプリング間隔よりも長い。そのため、一つの製品を処理している間に、同じセンサから取得されるデータを複数回取得することになる。したがって、図２のように、１列目に製品の個体を識別するためのＩＤ番号を配置する場合、サンプリングデータを複数回分得られるため、同じＩＤ番号のデータに重複が生じてしまう。
【００１９】
そこで、製品の個体を識別するためのＩＤ番号を、各行ベクトルを一意に特定するためのユニークキーとして扱い、各項目には複数回取得したデータの統計値（平均値や中央値等）を用いることで、製品の個体を識別するためのＩＤ番号に重複が生じないようにデータを整形しておくものとする。
【００２０】
なお、操業状態をモニタした他の例として、製品の処理に要した処理時間がある。このようなデータは、製品を一つ処理するたびに、１点のデータ（処理時間）が得られる。したがって、このようなデータでは、製品の個体を識別するためのＩＤ番号に重複が生じることはないため、統計処理を行わなくても、そのまま用いることができる。
【００２１】
図３は、検査実績記憶部のデータ構造例を示す図である。検査実績記憶部１１２には、ｃＶａｒ１（１１２ａ）と、ｃＶａｒ２（１１２ｂ）と、ｃＶａｒ３（１１２ｃ）と、ｃＶａｒ４（１１２ｄ）と、ｃＶａｒ５（１１２ｅ）と、ｃＶａｒ６（１１２ｆ）と、ｃＶａｒ７（１１２ｇ）と、ｃＶａｒ８（１１２ｈ）と、ｃＶａｒ９（１１２ｊ）と、ｃＶａｒ１０（１１２ｋ）と、が含まれる。
【００２２】
検査実績記憶部１１２には、検査装置の測定結果である検査データが含まれており、その検査データの個別の項目が上記ｃＶａｒ１乃至ｃＶａｒ１０の項目名で示されている。例えば、ｃＶａｒ１（１１２ａ）は、製品の個体を識別するためのＩＤ番号を示す項目名である。本データと、製造実績記憶部１１１のｐＶａｒ１（１１１ａ）は対応関係にあり、同じ値は同じ個体であることを示している。したがって、本データを参照することで、製造装置の操業状態をモニタした製造データと検査データの対応関係を取得することができる。
【００２３】
２列目以降のｃＶａｒ２（１１２ｂ）乃至ｃＶａｒ１０（１１２ｋ）は、それぞれ検査装置がセンサ等により測定した結果得られたデータである。検査データの例としては、製品の特定の箇所の寸法といった物理的な大きさに関連した測定値や、電気的な特性に関する測定値等がある。
【００２４】
このような検査データは、数値として測定される。そして、検査データには、規格が設定されていて、規格内に入っているかどうかの判定を行うことがある。上述のｃＶａｒ１０（１１２ｋ）が、製品が規格内に入っているか否かの判定結果を表すデータである。本例では、規格に入った場合は、「ＯＫ」、入らなかった場合は、「ＮＧ」と格納されている。
【００２５】
このような規格に対する判定結果は、個々の測定値ごとに行い、個々の測定値ごとに対する判定結果を全て記録している場合と、全ての測定値に対する総合判定結果として記録している場合等があるが、図３の例においては、判定結果が一つしか記載されておらず、これは、総合判定結果が記載されていることを意味する。
【００２６】
実績値受付部１２１は、製造装置の操業状態をモニタした製造データと、検査データと、のいずれかまたは両方を含む製造ログデータの読み込みを行う。具体的には、実績値受付部１２１は、記憶部１１０の製造実績記憶部１１１と、検査実績記憶部１１２と、を読み出す。
【００２７】
相関モデル構築部１２２は、製造ログデータを用いて、相関モデルを構築する。具体的には、相関モデル構築部１２２は、厳密に因果関係にあるか否かは問わず、Ｋ２アルゴリズム等の構造学習アルゴリズムを用いて、相関性のある項目を原因と結果に関連付けて、ベイジアンネットワーク（Ｂａｙｅｓｉａｎ  Ｎｅｔｗｏｒｋ）を構成し、一般に用いられるＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）の拡張データ等により保存する。これをグラフィカルデータとして描画すると、図５に示されるようなエッジとノードを有する有向モデルとなる。
【００２８】
図５は、因果推論モデルの図示の例を示す図である。因果推論モデルとは、原因と結果の関係を、頂点、すなわちノードと、矢線、すなわちエッジを用いて示したグラフィカルモデルをいう。本実施形態における相関モデルとは、一般には因果推論モデルと呼ばれるものである。しかし、因果推論モデルという表現は、厳密な因果の要件を求めないものであるために、正確には相関関係を推論したモデルといえる。本実施形態では、因果の要件を求めない相関関係については相関モデルと表現し、物理モデルとの近似を一つの要件とする場合については、相関モデルと区別する意味で、因果推論モデルと表現する。
【００２９】
図５では、ｐＶａｒ１（４０１）から、ｃＶａｒ２（４０２）に向かって矢印、すなわちエッジが延びている。これは、ｐＶａｒ１（４０１）とｃＶａｒ２（４０２）との間に因果関係が存在していることを示している。また、ｐＶａｒ１（４０１）側が矢印の根元で、ｃＶａｒ２（４０２）側が矢印の先端である。これは、ｐＶａｒ１（４０１）が原因で、ｃＶａｒ２（４０２）が結果であることを示している。
【００３０】
また、因果推論モデルでは、図５に示すようなノードとエッジからなるグラフィカルモデルに対応する確率分布の分解式を持つ。図６に、その一例を示す。
【００３１】
図６は、因果関係の図示の例を示す図である。図６には、変数ｘ１（５０１）、変数ｘ２（５０２）、変数ｘ３（５０３）、変数ｘ４（５０４）からなる因果関係の一例が示されている。これは、確率分布の分解式の左辺、すなわち、分解される側の式は、変数ｘ１（５０１）、変数ｘ２（５０２）、変数ｘ３（５０３）、変数ｘ４（５０４）の同時確率分布ｐ（ｘ１，ｘ２，ｘ３，ｘ４）であることに対応する。また、図６では、変数ｘ１（５０１）から変数ｘ２（５０２）への矢印、すなわちエッジが延びている。これは、確率分布の分解式の右辺に、条件付き確率ｐ(ｘ２｜ｘ１)が含まれていることに対応している。以降の例においても、矢印に対応する形で、条件付き確率が右辺に含まれている。
【００３２】
確率分布算出部１２３は、相関モデルおよび物理モデルの確率分布を特定する。なお、確率分布算出部１２３は、相関モデル構築部１２２により相関モデルが既に確率分布として得られている場合には特段の処理を行わない。物理モデルに関しては、確率分布算出部１２３は、物理モデルの項目の次元および関係性に応じた配列を生成し、配列の要素の確率を算出する。式（１）は、物理モデルの例である。
【００３３】
<式１>
2020004001.tif 000003
【００３４】
式（１）は、目的変数「ｙ」と、説明変数「ｘ１」、「ｘ２」と、の間を線形関係によりモデル化した例である。一般にこのような線形関係でのモデル化の場合、誤差項として「ε」が配置されている。この誤差項「ε」は、平均が「０」の確率分布として用いられる。例えば、最小二乗法では、正規分布が用いられる。したがって、最小二乗法を用いて構築された線形関係の物理モデルを用いて確率分布の配列を生成する場合、線形式を平均値に持つ多次元正規分布を用いる。より一般には、誤差項の確率分布が未定の場合は、線形関係以外の場合でも、物理モデル式上の確率を「１」、それ以外を「０」とすることで、確率分布を得ることが可能である。
【００３５】
物理モデル受付部１２４は、製造工程または検査工程に係る物理法則をモデル化した物理モデルの入力を受け付ける。物理モデルの一例としては、アレニウスの法則や、オームの法則といった数式で定義された関係がある。数式を定義する方法としては、一般的なLaTeX（ラーテック、レイテック）等により定義されている書式を用いることで、任意の数式を定義することが可能である。とくに、物理モデル受付部１２４は、陰関数（引数のうちの一つの変数の値が残りの変数に関係付けられる）の形式で記載された物理モデルを受け付けるのが望ましいが、これに限られるものではなく、陽関数で記載された物理モデルであってもよい。
【００３６】
確率分布収束処理部１２５は、相関モデルの確率分布を収束計算し物理モデルの確率分布に近似させる。具体的には、確率分布収束処理部１２５は、目的変数「ｙ」と、説明変数「ｘ１」の値と、の組み合わせおよび当該目的変数「ｙ」における説明変数「ｘ２」の値と、をそれぞれランダムに１点選択する。なお、因果推論モデルに条件付き確率（例えば、ｐ（ｘ１｜ｙ）とｐ（ｘ２｜ｙ）等）が含まれている場合には、確率分布収束処理部１２５は、この条件付き確率に従ったランダムな１点を、「ｘ１」と「ｙ」、「ｘ２」と「ｙ」の組み合わせごとに選択する（ランダムサンプリング）。
【００３７】
そして、確率分布収束処理部１２５は、選択した点の確率を組み合わせごとに特定し、当該確率をランダムに摂動させる。そして、確率分布収束処理部１２５は、更新判定部１２６に更新要否を判定させ、更新する場合には因果推論モデル保存部１２７に摂動後の状態の因果推論モデルを上書き保存させる。確率分布収束処理部１２５は、このような処理を複数回（例えば、１０，０００回）実施して、相関モデルの確率分布を、物理モデルに近づけるよう収束させる。
【００３８】
摂動のさせ方としては、確率分布収束処理部１２５は、式（２）および式（３）のようにランダムサンプルした点（それぞれ、式（２）は（ｘ１，ｙ）、式（３）は（ｘ２，ｙ）、）の確率を変動させる。
【００３９】
<式２>
2020004001.tif 000004
<式３>
2020004001.tif 000005
【００４０】
すなわち、上式（２）においては、分子のｐ(ｘ１｜ｙ)は摂動前の確率分布である。上式（２）では、この摂動前の確率分布に、変動値δ（デルタ）を足し合わせることで、摂動させている。このとき、変動値「δ」はランダムに得られた値である。ただし、このランダムな変動値「δ」の確率分布には、正規分布や一様分布を用いる。
【００４１】
上式（２）の分母は、正規化のためのスカラー倍で、分子において変動値「δ」を足し合わせたことにより全確率が「１」ではなくなってしまっていることに対する補正項である。同様に、上式（３）は、ｐ(ｘ２｜ｙ)を摂動する式の例である。このようにして、確率分布収束処理部１２５は、選択した点の確率を摂動させる。
【００４２】
更新判定部１２６は、摂動により更新した確率分布を採用するか否かの判定を行う。具体的には、更新判定部１２６は、摂動により更新した確率分布が、物理モデルから得られた確率分布に近づいたか否かをカルバック・ライブラー・ダイバージェンスや、Ｌ２距離（Ｌ２ノルム）等の確率分布間の近似を判定可能な擬似的な距離を用いて判定し、近づいたと判断した場合は、摂動により更新した確率分布を採用すると判定する。なお、これに限られるものではなく、例えば、更新判定部１２６は、摂動により更新した確率分布が、物理モデルから得られた確率分布から一定程度までであれば遠ざかった場合であっても摂動により更新した確率分布を採用するようにしてもよい。
【００４３】
因果推論モデル保存部１２７は、確率分布収束処理がなされた結果の相関モデルを、因果推論モデル記憶部１１３に保存する。具体的には、因果推論モデル保存部１２７は、所定のＪＳＯＮ（ＪａｖａＳｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ）と呼ばれるフォーマットで因果推論モデルを保存する。
【００４４】
例えば、因果推論モデル保存部１２７は、相関モデルの各頂点、すなわち、ノードに対して、それぞれ一つずつ、図１０に示すＪＳＯＮのフォーマットのデータを保存する。
【００４５】
図１０は、因果推論モデルのＪＳＯＮを用いたデータ構造例を示す図である。「Ｆｒａｍｅ」要素は、確率分布を保存するために、データを離散化する際の階級値を示している。図１０の例では、「−０．０１から０．０１」が階級「１」に属し、「０．０１から０．０３」が階級「２」に属すことを示している。
【００４６】
「ＵｎｉｑｕｅＮａｍｅ」要素は、コンピュータが変数を一意に認識するためのＩＤを示している。本例では、「Ｃｌａｓｓ」という文字列が、変数を一意に認識するためのＩＤとして保持されている。
【００４７】
「Ｐａｒｅｎｔｓ」要素は、原因となる変数を示している。図１０の例では、空集合を意味する、［］となっている。これは、そのノードには原因となる変数が存在していないことを表している。
【００４８】
「Ｐｒｏｂ」要素は、条件付き確率を示している。図１０の例では、「０．５１」と「０．４９」が保持されている。これは、対象の変数が、階級「１」、すなわち、値が「−０．０１から０．０１」を取る確率が、「０．５１」であることを示し、階級「２」、すなわち、値が「０．０１から０．０３」を取る確率が、「０．４９」であることを示している。
【００４９】
「Ｑｔｙ」要素は、条件付き確率を算出するために用いたデータ点数を保持している。図１０の例では、「４２９７」と「４２７１」が保持されている。これは、対象の変数が、階級「１」、すなわち、値が「−０．０１から０．０１」を取ったデータ数が、「４２９７」点あり、階級「２」、すなわち、値が「０．０１から０．０３」を取ったデータ数が、「４２７１」であったことを示している。
【００５０】
「Ｌａｂｅｌ」要素は、「ＵｎｉｑｕｅＮａｍｅ」要素で特定した変数の表示上の名前を保持している。図１０の例では、「Ｙｉｅｌｄ」という文字列が保持されている。
【００５１】
「ＰａｒｅｎｔｓＦｒａｍｅ」要素は、原因となる変数を離散化する際に用いる階級値を保持している。図１０の例では、「Ｐａｒｅｎｔｓ」要素に示されたように原因となる変数が存在していないため、空集合を意味する［］となっている。
【００５２】
図４は、ナレッジ管理装置のハードウェア構成例を示す図である。ナレッジ管理装置１００は、中央処理装置（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：ＣＰＵ）１０１と、メモリ１０２と、ハードディスク装置（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ：ＨＤＤ）などの外部記憶装置１０３と、キーボードやマウス、バーコードリーダなどの入力装置１０４と、ディスプレイなどの出力装置１０５とを備えたコンピュータ、あるいはこのコンピュータを複数備えたコンピュータシステムで実現できる。
【００５３】
例えば、制御部１２０の実績値受付部１２１と、相関モデル構築部１２２と、確率分布算出部１２３と、物理モデル受付部１２４と、確率分布収束処理部１２５と、更新判定部１２６と、因果推論モデル保存部１２７とは、外部記憶装置１０３に記憶されている所定のプログラムをメモリ１０２にロードしてＣＰＵ１０１で実行することで実現可能であり、記憶部１１０は、ＣＰＵ１０１がメモリ１０２または外部記憶装置１０３を利用することにより実現可能である。
【００５４】
なお、これに限られず、ナレッジ管理装置１００は、例えばＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）やマイコンで実現されるものであってもよい。
【００５５】
図７は、ナレッジ生成処理のフローの例を示す図である。ナレッジ生成処理は、操作者の指示に応じて開始される。
【００５６】
まず、実績値受付部１２１は、製造ログデータを読み込む（ステップＳ００１）。具体的には、実績値受付部１２１は、製造装置の操業状態をモニタした製造データと、製造物の検査データと、のいずれかまたは両方を含む製造ログデータの読み込みを行う。例えば、実績値受付部１２１は、製造実績記憶部１１１と、検査実績記憶部１１２と、に格納されている製造データ、検査データのいずれかまたは両方を読み込む。
【００５７】
そして、相関モデル構築部１２２は、相関モデルを構築する（ステップＳ００２）。具体的には、相関モデル構築部１２２は、Ｋ２アルゴリズム等の構造学習アルゴリズムを用いて、相関性のある項目を原因と結果に関連付けて、一般に用いられるＸＭＬの拡張データ等により保存する。
【００５８】
そして、物理モデル受付部１２４は、物理モデルを読み込む（ステップＳ００３）。具体的には、物理モデル受付部１２４は、製造工程または検査工程に係る物理法則をモデル化した物理モデルの入力を、操作者の入力により受け付ける。物理モデルの一例としては、アレニウスの法則や、オームの法則といった一般的な電気・物理等の自然法則に関する数式である。
【００５９】
そして、確率分布収束処理部１２５は、確率分布の収束計処理を行う（ステップＳ００４）。具体的には、確率分布収束処理部１２５は、図８に示す確率分布の収束計算処理を実施する。図８に示す確率分布の収束計算処理については、詳細は後述する。
【００６０】
そして、因果推論モデル保存部１２７は、因果推論モデルを保存する（ステップＳ００５）。具体的には、因果推論モデル保存部１２７は、確率分布収束処理がなされた結果の相関モデルを、所定のＪＳＯＮと呼ばれるフォーマットで因果推論モデル記憶部１１３に保存する。
【００６１】
以上が、ナレッジ生成処理の流れである。ナレッジ生成処理によれば、製造あるいは検査に係るデータおよび物理モデルを用いて、確度の高い因果推論モデルを構築することができる。
【００６２】
図８は、確率分布の収束計算処理のフローの例を示す図である。確率分布の収束計算処理は、ナレッジ生成処理のステップＳ００４にて開始される。
【００６３】
まず、確率分布算出部１２３は、物理モデルを確率モデルに変換する（ステップＳ００４１）。具体的には、確率分布算出部１２３は、物理モデルに関しては、物理モデルの項目の次元および関係性に応じた配列を生成し、配列の要素ごとに確率を算出する。
【００６４】
そして、確率分布収束処理部１２５は、目的変数「ｙ」をランダムサンプリングし（ステップＳ００４２）、説明変数「ｘ」をランダムサンプリングする（ステップＳ００４３）。具体的には、確率分布収束処理部１２５は、目的変数と、説明変数の値と、の組み合わせをランダムに１点選択する。これは、すべての目的変数、説明変数の組み合わせについて条件に従ったランダムな１点をそれぞれ選択することで、取りうる確率をランダムに決定する目的である。
【００６５】
図９は、ランダムサンプリングの処理の例を示す図である。図９は、物理モデルを式（１）に示す線形関係とした場合の例である。式（１）においては、目的変数を「ｙ」で表している。図９では、横軸６１２、６２２を目的変数（ｙ）、縦軸６１１、６２１を説明変数（ｘ１またはｘ２）としている。式（１）の例では、説明変数は「ｘ１」と「ｘ２」との二つ存在するため、図９においては、左側の分布図６１０が、目的変数「ｙ」と説明変数「ｘ１」の確率分布を示し、右側の分布図６２０が、目的変数「ｙ」と説明変数「ｘ２」の確率分布を示す。図９の分布図６１０および分布図６２０では、色が薄い部分は、確率の値が高く、色が濃い部分は、確率の値が低いことを意味している。
【００６６】
図９において、目的変数をランダムサンプリングすることは、横軸６１２、６２２のうちの1点を選択することに相当する。そして、図９においては、横軸上に記載した白抜きの円６１３、６２３は、サンプリングした「ｙ」の値（分布図間で、「ｙ」の値は同値）を示している。
【００６７】
そして、図９において、説明変数をランダムサンプリングすることは、縦軸６１１、６２１のうちの１点を選択することに相当する。そして、図９においては、塗りつぶしの円６１４、６２４が、それぞれサンプリングした値に該当する。
【００６８】
そして、確率分布収束処理部１２５は、確率分布を誤差値（変動値）「δ」により摂動させる（ステップＳ００４４）。具体的には、確率分布収束処理部１２５は、上式（２）および上式（３）のようにランダムサンプリングした点の確率を変動させる。なお、当該摂動処理においては、所定の分布を有するランダムサンプリングに従った誤差値「δ」を、繰り返し処理回数、または前回の摂動による下記の擬似的な距離の変動量に応じて徐々に小さな値に収束する摂動量として用いるようにしてもよい。このようにすると、より精度を高く確率分布を収束しやすくなる。
【００６９】
そして、更新判定部１２６は、摂動により更新した確率分布を採用するか否かの判定を行う。具体的には、更新判定部１２６は、摂動により更新した確率分布が、物理モデルから得られた確率分布に近づいたか否かをカルバック・ライブラー・ダイバージェンスや、Ｌ２距離（Ｌ２ノルム）等の確率分布間の近似を判定可能な擬似的な距離を用いて判定し、近づいたと判断した場合は、摂動により更新した確率分布を採用すると判定する。なお、近づいた場合だけでなく、一定程度であれば遠ざかった場合であっても採用するようにしてもよいことは、上述のとおりである。
【００７０】
そして、確率分布収束処理部１２５は、更新した確率分布を採用する場合には、更新処理を行う（ステップＳ００４５）。具体的には、更新した確率分布を採用する場合には、確率分布を上書きし、採用しない場合には、摂動により更新した確率分布を破棄する。
【００７１】
そして、確率分布収束処理部１２５は、終了を判定する（ステップＳ００４６）。具体的には、確率分布収束処理部１２５は、摂動により更新した確率分布と物理モデルから得られた確率分布に近づいた度合いが所定の閾値よりも小さい場合、すなわちカルバック・ライブラー・ダイバージェンスや、Ｌ２距離（Ｌ２ノルム）等の擬似的な距離の変動量が所定の閾値より小さい場合には、収束したと判定して、確率分布の収束計算処理を終了させる。変動量が所定の閾値以上である場合には、継続するため、確率分布収束処理部１２５は、制御をステップＳ００４２に戻す。
【００７２】
以上が、確率分布の収束計算処理の流れである。確率分布の収束計算処理によれば、物理モデルを組み込んだ、因果推論モデルを構築可能である。言い換えると、相関モデルの確率分布をランダムに摂動させる処理を繰り返し行うことで、徐々に物理モデルの確率分布に近似させることができるため、因果推論モデルを抽出することができる。
【００７３】
図１１は、ナレッジ生成処理の出力画面の例を示す図である。ナレッジ生成処理の出力画面の例９００には、因果推論モデル確認ウィンドウ９０１と、物理モデル定義ウィンドウ９０３と、Ｂｕｉｌｄボタン９０４と、Ｒｅ−Ｂｕｉｌｄボタン９０５と、が含まれる。
【００７４】
因果推論モデル確認ウィンドウ９０１には、相関モデル構築部１２２が構築した相関モデルがグラフィカルモデルの形で表示される。
【００７５】
また、因果推論モデル確認ウィンドウ９０１では、エッジ上の右クリックを受け付けると、Ｃｕｔメニュー９０２が出現する。Ｃｕｔメニュー９０２にクリックを受け付けると、不要なエッジが切断され、相関モデル上も関係情報が消去される。
【００７６】
物理モデル定義ウィンドウ９０３は、物理モデルの数式の入力を受け付ける。具体的には、物理モデル定義ウィンドウ９０３は、ＬａＴｅＸ等（使用されている自然言語等により地域に応じた数式表記可能な派生を含む）により定義されている書式を用いた数式の入力を受け付ける。図１１の例では、「y=f(x1, x2)」に相当するＬａＴｅＸ形式の式「y=f(x_1, x_2)」の入力例である。なお、物理モデル定義ウィンドウ９０３は、これに限られず、予め定められた数式のスケルトンを選択入力可能とし、スケルトンに対する編集入力を受け付けるようにしてもよい。
【００７７】
Ｂｕｉｌｄボタン９０４は、入力を受け付けると、ナレッジ生成処理のステップＳ００２の、相関モデル構築処理を実行する。
【００７８】
Ｒｅ−Ｂｕｉｌｄボタン９０５は、因果推論モデル確認ウィンドウ９０１で編集された相関モデルに、物理モデル定義ウィンドウ９０３に入力された物理モデルを反映した因果推論モデルを構築する。すなわち、ナレッジ生成処理を、ステップＳ００３の物理モデル読み込み処理から開始させる。以上が、ナレッジ生成処理の出力画面の例９００である。
【００７９】
以上が、本発明に係る実施の形態である。上記の実施の形態によれば、製造現場において、成立することが確認されている物理モデルなどのナレッジを他の製造現場から相互利用可能な形にモデル化することで、ナレッジの抽出を容易化することができる。
【００８０】
なお、本発明は上記の実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
【００８１】
また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００８２】
また、上記の各構成、機能、処理部等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムに応じて演算を実行するソフトウェア制御によって実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に格納しておき、実行時にＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等に読み出され、ＣＰＵ等により実行することができる。
【００８３】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【００８４】
また、上記した各構成、機能、処理部等は、それらの一部又は全部を、例えば別の装置で実行してネットワークを介して統合処理する等により分散システムで実現してもよい。
【００８５】
また、上記した実施形態の技術的要素は、単独で適用されてもよいし、プログラム部品とハードウェア部品のような複数の部分に分けられて適用されるようにしてもよい。
【００８６】
以上、本発明について、実施形態を中心に説明した。
【符号の説明】
【００８７】
１００・・・ナレッジ管理装置、１１０・・・記憶部、１１１・・・製造実績記憶部、１１２・・・検査実績記憶部、１１３・・・因果推論モデル記憶部、１２０・・・制御部、１２１・・・実績値受付部、１２２・・・相関モデル構築部、１２３・・・確率分布算出部、１２４・・・物理モデル受付部、１２５・・・確率分布収束処理部、１２６・・・更新判定部、１２７・・・因果推論モデル保存部。
【図１】
2020004001.tif 000006
【図２】
2020004001.tif 000007
【図３】
2020004001.tif 000008
【図４】
2020004001.tif 000009
【図５】
2020004001.tif 000010
【図６】
2020004001.tif 000011
【図７】
2020004001.tif 000012
【図８】
2020004001.tif 000013
【図９】
2020004001.tif 000014
【図１０】
2020004001.tif 000015
【図１１】
2020004001.tif 000016