(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-08
(45)【発行日】2024-04-16
(54)【発明の名称】推論装置、推論方法、及び、プログラム
(51)【国際特許分類】
G06N 5/04 20230101AFI20240409BHJP
【FI】
G06N5/04
(21)【出願番号】P 2022534550
(86)(22)【出願日】2020-07-08
(86)【国際出願番号】 JP2020026660
(87)【国際公開番号】W WO2022009326
(87)【国際公開日】2022-01-13
【審査請求日】2022-12-23
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100107331
【氏名又は名称】中村 聡延
(74)【代理人】
【識別番号】100104765
【氏名又は名称】江上 達夫
(74)【代理人】
【識別番号】100131015
【氏名又は名称】三輪 浩誉
(72)【発明者】
【氏名】細見 格
(72)【発明者】
【氏名】木村 大地
【審査官】福西 章人
(56)【参考文献】
【文献】国際公開第2018/229877(WO,A1)
【文献】特開平10-240535(JP,A)
【文献】国際公開第2017/081715(WO,A1)
【文献】米国特許出願公開第2016/0267384(US,A1)
【文献】松尾豊、外1名,コストに基づく仮説推論の2種の連続値最適化問題への置換法とその協調による推論法,人工知能学会論文誌,日本,社団法人人工知能学会,2001年11月01日,Vol.16,pp.400-407
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
第1の観測データと、前提と当該前提の帰結の組を表すルールで構成される第1の知識ベースと、を取得する取得手段と、
前記第1の知識ベースを構成するルールの前提と帰結を反転させ、帰結から前提を導くルールで構成される第2の知識ベースを生成するルール変換手段と、
前記第2の知識ベースと前記第1の観測データを用いて仮説推論を実行し、有向グラフで表される第1の仮説集合を生成する推論実行手段と、
前記第1の仮説集合を表す有向グラフから起点となる要素を抽出し、第2の観測データを生成するデータ抽出手段と、を備え、
前記推論実行手段は、前記第1の知識ベースと前記第2の観測データを用いて仮説推論を実行し、第2の仮説集合を生成する推論装置。
【請求項2】
前記第1の仮説集合のうち、前記帰結から前提を導くルールに対応する部分を再反転した前提と帰結の組からなるルールを、前記第1の知識ベースから取り除いた差分のルールで構成される第3の知識ベースを生成する差分ルール抽出手段をさらに備え、
前記推論実行手段は、前記第3の知識ベースと前記第2の観測データを用いて仮説推論を実行し、前記第2の仮説集合を生成する請求項1に記載の推論装置。
【請求項3】
前記第1の観測データのうち、前記第1の仮説集合の有向グラフに含まれていない観測データを抽出し、前記第2の観測データと統合して第3の観測データを生成する差分データ抽出手段をさらに備え、
前記推論実行手段は、前記第1の知識ベースと前記第3の観測データを用いて仮説推論を実行し、前記第2の仮説集合を生成する請求項1に記載の推論装置。
【請求項4】
前記第1の仮説集合のうち、前記帰結から前提を導くルールに対応する部分を再反転した前提と帰結の組からなるルールを、前記第1の知識ベースから取り除いた差分のルールで構成される第3の知識ベースを生成する差分ルール抽出手段と、
前記第1の観測データのうち、前記第1の仮説集合の有向グラフに含まれていない観測データを抽出し、前記第2の観測データと統合して第3の観測データを生成する差分データ抽出手段と、をさらに備え、
前記推論実行手段は、前記第3の知識ベースと前記第3の観測データを用いて仮説推論を実行し、前記第2の仮説集合を生成する請求項1に記載の推論装置。
【請求項5】
前記推論実行手段は、前記第2の仮説集合から最良の仮説を生成する請求項1乃至4のいずれか一項に記載の推論装置。
【請求項6】
コンピュータが、
第1の観測データと、前提と当該前提の帰結の組を表すルールで構成される第1の知識ベースと、を取得し、
前記第1の知識ベースを構成するルールの前提と帰結を反転させ、帰結から前提を導くルールで構成される第2の知識ベースを生成し、
前記第2の知識ベースと前記第1の観測データを用いて仮説推論を実行し、有向グラフで表される第1の仮説集合を生成し、
前記第1の仮説集合を表す有向グラフから起点となる要素を抽出し、第2の観測データを生成し、
前記第1の知識ベースと前記第2の観測データを用いて仮説推論を実行し、第2の仮説集合を生成する推論方法。
【請求項7】
第1の観測データと、前提と当該前提の帰結の組を表すルールで構成される第1の知識ベースと、を取得し、
前記第1の知識ベースを構成するルールの前提と帰結を反転させ、帰結から前提を導くルールで構成される第2の知識ベースを生成し、
前記第2の知識ベースと前記第1の観測データを用いて仮説推論を実行し、有向グラフで表される第1の仮説集合を生成し、
前記第1の仮説集合を表す有向グラフから起点となる要素を抽出し、第2の観測データを生成し、
前記第1の知識ベースと前記第2の観測データを用いて仮説推論を実行し、第2の仮説集合を生成する処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮説推論の技術に関する。
【背景技術】
【0002】
仮説推論は、論理式で与えられた推論知識(ルール)と、観測された事象とから妥当な仮説を導く手法である。例えば、サイバーセキュリティの分野では、コンピュータシステムにおいて観測された事象がサイバー攻撃によるものであるかを判断する場合に、仮説推論を適用することができる。仮説推論においては一般的に後ろ向き推論を行うが、特許文献1は、後ろ向き推論では生成されない仮説を前向き推論によって追加で生成する手法を記載している。また、特許文献2は、仮説推論において、生成された仮説の候補を整数計画問題(ILP:Integer Linear Programming Problem)や充足可能性問題(SAT:Satisfiability Problem)に変換することで、最良の仮説を高速に決定する手法を記載している。
【先行技術文献】
【特許文献】
【0003】
【文献】国際公開WO2018/229877号公報
【文献】国際公開WO2020/003585号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
仮説推論を計算機で再現した場合、参照する観測された事象を表すデータ(「観測データ」とも呼ぶ。)及び知識の量が増加すると、必要となる推論処理が指数オーダーで増加し、許容可能な時間やメモリ容量での推論完遂が困難となる可能性がある。この点、特許文献1の手法は、仮説候補の網羅性を改善することを目指しており、推論処理を高速化しようとするものではない。また、特許文献2は、生成された仮説候補から最良の仮説を決定する処理を高速化するものであり、仮説候補の生成を高速化するものではない。
【0005】
本発明の1つの目的は、仮説候補の生成を高速化することにより仮説推論を高速化することが可能な推論装置を提供することにある。
【課題を解決するための手段】
【0006】
本発明の一つの観点では、推論装置は、
第1の観測データと、前提と当該前提の帰結の組を表すルールで構成される第1の知識ベースと、を取得する取得手段と、
前記第1の知識ベースを構成するルールの前提と帰結を反転させ、帰結から前提を導くルールで構成される第2の知識ベースを生成するルール変換手段と、
前記第2の知識ベースと前記第1の観測データを用いて仮説推論を実行し、有向グラフで表される第1の仮説集合を生成する推論実行手段と、
前記第1の仮説集合を表す有向グラフから起点となる要素を抽出し、第2の観測データを生成するデータ抽出手段と、を備え、
前記推論実行手段は、前記第1の知識ベースと前記第2の観測データを用いて仮説推論を実行し、第2の仮説集合を生成する。
【0007】
本発明の他の観点では、推論方法は、
コンピュータが、
第1の観測データと、前提と当該前提の帰結の組を表すルールで構成される第1の知識ベースと、を取得し、
前記第1の知識ベースを構成するルールの前提と帰結を反転させ、帰結から前提を導くルールで構成される第2の知識ベースを生成し、
前記第2の知識ベースと前記第1の観測データを用いて仮説推論を実行し、有向グラフで表される第1の仮説集合を生成し、
前記第1の仮説集合を表す有向グラフから起点となる要素を抽出し、第2の観測データを生成し、
前記第1の知識ベースと前記第2の観測データを用いて仮説推論を実行し、第2の仮説集合を生成する。
【0008】
本発明のさらに他の観点では、プログラムは、
第1の観測データと、前提と当該前提の帰結の組を表すルールで構成される第1の知識ベースと、を取得し、
前記第1の知識ベースを構成するルールの前提と帰結を反転させ、帰結から前提を導くルールで構成される第2の知識ベースを生成し、
前記第2の知識ベースと前記第1の観測データを用いて仮説推論を実行し、有向グラフで表される第1の仮説集合を生成し、
前記第1の仮説集合を表す有向グラフから起点となる要素を抽出し、第2の観測データを生成し、
前記第1の知識ベースと前記第2の観測データを用いて仮説推論を実行し、第2の仮説集合を生成する処理をコンピュータに実行させる。
【発明の効果】
【0009】
本発明によれば、仮説候補の生成を高速化することにより仮説推論を高速化することが可能な推論装置を提供することが可能となる。
【図面の簡単な説明】
【0010】
【
図3】推論装置のハードウェア構成を示すブロック図である。
【
図4】第1実施形態に係る推論装置の機能構成を示すブロック図である。
【
図6】第1実施形態の推論装置による推論処理のフローチャートである。
【
図7】第2実施形態に係る推論装置の機能構成を示すブロック図である。
【
図8】第2実施形態の推論装置による推論処理のフローチャートである。
【
図9】仮説推論の具体例における推論ルール及び観測データを示す。
【
図10】一般的な仮説推論により仮説を生成した例を示す。
【
図11】第2実施形態の仮説推論により仮説を生成した例を示す。
【
図12】第3実施形態に係る推論装置の機能構成を示すブロック図である。
【
図13】第3実施形態の推論装置による推論処理のフローチャートである。
【
図14】第4実施形態に係る推論装置の機能構成を示すブロック図である。
【
図15】第4実施形態の推論装置による推論処理のフローチャートである。
【発明を実施するための形態】
【0011】
以下、図面を参照して、本発明の好適な実施形態について説明する。
<基本原理>
仮説推論は、基本的に仮説の候補集合の生成プロセスと、候補集合からの最良仮説の決定プロセスという2段階のプロセスで実現される。このうち、以下の実施形態では、仮説の候補集合の生成プロセスを高速化する。具体的には、実施形態の推論装置は、仮説推論用の知識の前提と帰結を反転させた知識を生成し、この知識と観測データとから、仮説推論を用いて所定の範囲で疑似的な演繹推論を行うことにより、要約・抽象化された新たな観測データを生成する。そして、推論装置は、生成した新たな観測データを用いて仮説推論を行う。これにより、推論装置は、観測データによって命題が成立する範囲では、仮説を立てずに演繹的に帰結を得ることで、対象とすべき観測データの量及び知識の量を抑制し、より短時間に仮説の候補集合を生成し、最良の仮説を決定することが可能となる。この手法では、使用する観測データと知識、推論器は一般的な仮説推論を行う場合と同じであるため、一般的な仮説推論を行う場合と比較して運用コストが増加することはない。
【0012】
図1は、一般的な仮説推論の手法を模式的に示す。
図1(A)~(C)は仮説推論の各段階における仮説候補を概念的に示すグラフであり、
図1(D)は各グラフの凡例を示す。凡例において、「観測データ」は実際に観測された事象を示すデータである。「推論ルール(知識)」は、前提とそれに対応する帰結の組である。「結論」は、仮説推論のクエリである。上記のような仮説推論の実現方法の一例としては、Open-David(https://github.com/aurtg/open-david)が挙げられる。
【0013】
一般的な仮説推論では、まず、
図1(A)に示すように、推論器は事前に得られている推論ルール(知識)を用いて、結論(クエリ)から仮説候補を生成する。次に、推論器は、
図1(B)に示すように、生成した仮説候補における対応する位置に、実際に得られた観測データD1を適用し、仮説候補と観測データとを照合する。そして、推論器は、
図1(C)に示すように、複数の仮説候補の中から最良仮説を決定する。このように、一般的な仮説推論では、観測データが関わる知識の範囲内で、ありうる全ての可能性を網羅した仮説候補の集合(「潜在仮説集合」とも呼ぶ。)を生成し、そこから所定の指標に基づく最良仮説を決定する。そのため、観測データや知識が多いほど生成される潜在仮説集合が大きくなり、潜在仮説集合の生成、及び、潜在仮説集合からの最良仮説の決定に要する処理量が増大する。
【0014】
図2は、実施形態の仮説推論の手法を模式的に示す。
図2(A)~(D)は仮説推論の各段階における仮説候補を概念的に示すグラフであり、その表記は
図1(D)に示す凡例に従う。実施形態の手法では、観測データによって命題が成立する範囲では、仮説を立てずに演繹的に帰結を得ることにより、仮説推論が対象とする観測データ及び知識の量を減らす。具体的には、
図2(A)に示すように、推論器は、一般的な仮説推論で用いる推論ルール(
図1(A)~1(C)において右向き矢印で示す。)の前提と帰結を反転し、逆向きのルール(
図2(A)において左向き矢印で示す。以下、「反転ルール」とも呼ぶ。)を生成する。そして、推論器は、観測データD1と反転ルールを用いて仮説推論を行い、観測データD2を生成する。反転ルールを用いて仮説推論を行うことにより、推論器は、疑似的に演繹推論を行うことになる。ここで、
図2(A)に示すように、観測データD1の一部である観測データD1xが欠落すると、それによって疑似的な演繹推論の実行時に前提の不足により一部の命題が成立せず、その先の観測データD2xを導出する推論処理が不要となる。その結果、観測データによって命題が成立する範囲では、疑似的な演繹推論を行うことにより、同じ範囲で仮説推論を行うよりも処理時間を短縮することができる。
【0015】
次に、推論器は、
図2(B)に示すように、上記の疑似的な演繹推論の結果に含まれる推論ルールを除外して仮説推論を実行する。このように、演繹推論の対象となった範囲については仮説推論を行わないこととすれば、潜在仮説集合の生成に要する時間を短縮できる。また、
図1(A)と
図2(B)を比較すると理解されるように、ここで生成される潜在仮説集合は、上記の疑似的な演繹推論の対象となった範囲を含まない分、単純な構成となる。
【0016】
そして、推論器は、得られた潜在仮説集合を用いて、一般的な仮説推論を実行する。即ち、
図2(C)に示すように、推論器は潜在仮説集合における対応する位置に、上記の疑似的な演繹推論で生成した観測データD2を適用し、
図2(D)に示すように、潜在仮説集合における最良仮説を決定する。
【0017】
以上のように、実施形態の仮説推論は、観測データによって命題が成立する範囲では、反転ルールを生成して疑似的な演繹推論を行うことにより、その範囲の推論を高速化する。また、疑似的な演繹推論を行った範囲を除外して潜在仮説集合を生成し、演繹推論により得た観測データを用いて最良仮説を決定するので、観測データ及び知識の全てについて一般的な仮説推論を行う場合と比較して潜在仮説集合の規模を小さくすることができる。その結果、仮説推論全体の処理時間を短縮することができる。
【0018】
<第1実施形態>
[ハードウェア構成]
図3は、推論装置100のハードウェア構成を示すブロック図である。図示のように、推論装置100は、インタフェース(IF)11と、プロセッサ12と、メモリ13と、記録媒体14と、データベース(DB)15とを備える。
【0019】
IF11は、外部装置との間でデータの入出力を行う。具体的に、推論に用いられる観測データや知識は、IF11を通じて入力される。また、推論装置100による推論結果はIF11を通じて外部装置へ出力される。
【0020】
プロセッサ12は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)などのコンピュータであり、予め用意されたプログラムを実行することにより、推論装置100の全体を制御する。具体的に、プロセッサ12は、後述する推論処理を実行する。
【0021】
メモリ13は、ROM(Read Only Memory)、RAM(Random Access Memory)などにより構成される。メモリ13は、プロセッサ12による各種の処理の実行中に作業メモリとしても使用される。
【0022】
記録媒体14は、ディスク状記録媒体、半導体メモリなどの不揮発性で非一時的な記録媒体であり、推論装置100に対して着脱可能に構成される。記録媒体14は、プロセッサ12が実行する各種のプログラムを記録している。推論装置100が各種の処理を実行する際には、記録媒体14に記録されているプログラムがメモリ13にロードされ、プロセッサ12により実行される。
【0023】
データベース15は、IF11を通じて入力された観測データ、知識ベースなどを記憶する。また、データベース15には、本実施形態の推論処理において生成される観測データや知識ベースも記憶される。なお、観測データ及び知識ベースをいずれもメモリ13に一時的に記憶するようにし、データベース15を使用しないか、又は、データベース15を部分的データの記憶手段として使用してもよい。
【0024】
[機能構成]
図4は、第1実施形態に係る推論装置100aの機能構成を示すブロック図である。推論装置100aは、ルール変換部21と、推論実行部22と、データ抽出部23とを備える。
【0025】
ルール変換部21には、予め用意された第1の知識ベースKB1が入力される。第1の知識ベースKB1は、仮説推論用の推論ルールを記憶している。ルール変換部21は、第1の知識ベースKB1を構成する推論ルールの前提と帰結を反転させ、帰結から前提を導くルール、即ち、反転ルールで構成される第2の知識ベースKB2を生成する。第2の知識ベースKB2は、前述の疑似的な演繹推論用の知識ベースとなる。
【0026】
推論実行部22は、第2の知識ベースKB2と、第1の観測データD1とを用いて仮説推論を実行し、有向グラフで表される潜在仮説集合(以下、「第1の仮説集合」と呼ぶ。)HSを生成する。ここで、推論実行部22は、反転ルールを用いて観測データD1の仮説推論を行うことにより、疑似的な演繹推論を行うことになる。
【0027】
図5は、生成された第1の仮説集合HSを概念的に示す。
図5において、各推論ルールは、
図2(A)と同様に左向き矢印で示される反転ルールとなっている。推論実行部22は、反転ルールを用いて第1の観測データD1から矢印92で示す向きに仮説推論を行う。なお、第1の仮説集合は第2の観測データD2を得るために作成されるので、第1の仮説集合から最良の仮説を決定する処理は不要である。
【0028】
データ抽出部23は、第1の仮説集合HSを表す有向グラフから起点となる要素93を全て抽出し、第2の観測データD2とする。そして、推論実行部22は、第1の知識ベースKB1と第2の観測データD2を用いて仮説推論を実行し、推論結果を生成する。即ち、推論実行部22は、新たな潜在仮説集合(以下、「第2の仮説集合」と呼ぶ。)を生成するとともに、第2の仮説集合から最良仮説を決定し、推論結果として出力する。
【0029】
このように、推論装置100aは、仮説推論の対象となる第1の観測データD1の一部について、反転ルールを用いて疑似的な演繹推論を行って第2の観測データD2を生成し、第2の観測データD2を用いて仮説推論を行うので、第1の観測データD1の全体に対して仮説推論を行う場合と比較して、高速に推論結果を得ることが可能となる。
【0030】
[推論処理]
図6は、第1実施形態の推論装置100aによる推論処理のフローチャートである。この処理は、
図3に示すプロセッサ12が予め用意されたプログラムを実行し、
図4に示す各要素として動作することにより実現される。
【0031】
まず、ルール変換部21は、第1の知識ベースKB1における推論ルールの前提と帰結を反転させて反転ルールを生成し、第2の知識ベースKB2を生成する(ステップS11)。次に、推論実行部22は、第1の観測データと反転ルールを用いて疑似的な演繹推論を実行し、第1の仮説集合HSを生成する(ステップS12)。次に、データ抽出部23は、
図5に例示する第1の仮説集合HSにおいて、有向グラフの起点となる要素を抽出し、第2の観測データD2を生成する(ステップS13)。そして、推論実行部22は、第1の知識ベースと第2の観測データを用いて仮説推論を実行し、推論結果を生成する(ステップS14)。そして、推論処理は終了する。
【0032】
<第2実施形態>
次に、本発明の第2実施形態について説明する。第2実施形態に係る推論装置のハードウェア構成は、
図3に示す第1実施形態と同様であるので説明を省略する。
【0033】
[機能構成]
図7は、第2実施形態に係る推論装置100bの機能構成を示すブロック図である。推論装置100bは、ルール変換部21と、推論実行部22と、データ抽出部23と、差分ルール抽出部24とを備える。ここで、ルール変換部21及びデータ抽出部23は、第1実施形態の推論装置100aと同様であり、同様に動作する。
【0034】
差分ルール抽出部24は、第1の仮説集合HSに含まれる反転ルールを全て抽出し、それらを再反転したルール(以下、「再反転ルール」とも呼ぶ。)を生成する。そして、差分ルール抽出部24は、第1の知識ベースKB1から、再反転ルールを取り除いた差分のルール(以下、「差分ルール」とも呼ぶ。)で構成される第3の知識ベースKB3を生成し、推論実行部22へ出力する。
【0035】
推論実行部22は、第3の知識ベースKB3と、データ抽出部23が生成した第2の観測データD2とを用いて仮説推論を実行し、推論結果を生成する。即ち、推論実行部22は、第2の仮説集合を生成するとともに、第2の仮説集合から最良の仮説を決定し、推論結果として出力する。
【0036】
第2実施形態の推論装置100bは、第1の知識ベースKB1の推論ルールのうち、再反転ルールを除いた差分ルールを第3の知識ベースKB3とし、その推論ルールを用いて仮説推論を行う。言い換えると、推論装置100bは、第1の知識ベースKB1のうち、推論実行部22が反転ルールとして疑似的な演繹推論で使用した推論ルールについては、仮説推論の対象から除外し、残りの推論ルールについてのみ仮説推論を行う。これにより、推論実行部22が仮説推論を行う対象の推論ルールを減らすことができ、処理負荷と処理時間の削減が可能となる。
【0037】
[推論処理]
図8は、第2実施形態の推論装置100bによる推論処理のフローチャートである。この処理は、
図3に示すプロセッサ12が予め用意されたプログラムを実行し、
図4に示す各要素として動作することにより実現される。
【0038】
ステップS21~S23は、
図8に示す第1実施形態の推論処理のステップS11~S13と同様であるので、説明を省略する。ステップS24では、差分ルール抽出部24は、第1の仮説集合HSに含まれている反転ルールを再反転し、再反転ルールを生成する。次に、差分ルール抽出部24は、第1の知識ベースKB1から再反転ルールを除外して差分ルールを生成し、第3の知識ベースKB3とする(ステップS25)。
【0039】
そして、推論実行部22は、ステップS25で生成された第3の知識ベースKB3と、ステップS23で生成された第2の観測データを用いて仮説推論を実行し、推論結果を生成する(ステップS26)。そして、推論処理は終了する。
【0040】
[具体例]
次に、本実施形態による仮説推論の具体例について説明する。いま、
図9に示す推論ルール(知識)及び観測データがあるとする。推論ルールは、論理式で示され、a(x)、b(x)、c(x)、d(x)、p(x)、q(x,y)、r(y)、s(x,y)、t(y)、r(x)、g(x)に関する。推論ルールは、例えば「a(x)かつb(x)が成り立てば、p(x)が成り立つ」、「c(x)が成り立てばp(x)が成り立つ」などを含む。一方、観測データは、a(A)、b(A)、d(B)である。
【0041】
図10は、一般的な仮説推論を用いて結論g(Z)が成り立つ仮説を生成した例を示す。なお、
図10では、説明の便宜上、最良仮説となりうる候補の仮説1~3を同時に列挙している。図示のように、結論g(Z)から仮説1~3を生成し、観測データを適用して最良仮説を決定する。一般的な仮説推論を行う場合、個々の観測データに結び付くまでの仮説の有向グラフを、全ての知識と推論ルールによって生成する必要があり、計算コストが高くなってしまう。
【0042】
図11は、第2実施形態の仮説推論を用いて結論g(Z)が成り立つ仮説を生成した例を示す。本実施形態の方法では、推論装置100bは、推論ルールを反転した反転ルールを前向きに適用した疑似的な演繹推論によって、
図11(A)に示すような新たな観測データp(A)、s(B,y)を生成する。また、推論装置100bは、第1の知識ベースから再反転ルールを除外した差分ルールを用いて仮説候補を生成するので、
図11(B)に示すように、一般的な仮説推論を行う場合と比較して小規模の仮説候補が得られる。そして、推論装置100bは、小規模の仮説候補と、新たな観測データp(A)、s(B,y)を用いて仮説推論を行うので、計算コストを削減し、処理時間を短縮することが可能となる。
【0043】
<第3実施形態>
次に、本発明の第3実施形態について説明する。第3実施形態に係る推論装置のハードウェア構成は、
図3に示す第1実施形態と同様であるので説明を省略する。
【0044】
[機能構成]
図12は、第2実施形態に係る推論装置100cの機能構成を示すブロック図である。推論装置100cは、ルール変換部21と、推論実行部22と、データ抽出部23と、差分ルール抽出部24と、差分データ抽出部25とを備える。ここで、ルール変換部21、データ抽出部23及び差分ルール抽出部24は、第2実施形態の推論装置100bと同様であり、同様に動作する。
【0045】
差分データ抽出部25は、第1の観測データD1のうち、第1の仮説集合HSの有向グラフに含まれていない観測データ(以下、「差分データ」とも呼ぶ。)を抽出し、第2の観測データD2と統合して第3の観測データD3として推論実行部22へ出力する。
【0046】
推論実行部22は、第3の知識ベースKB3と、差分データ抽出部25が生成した第3の観測データD3とを用いて仮説推論を実行し、推論結果を生成する。即ち、推論実行部22は、第2の仮説集合を生成するとともに、第2の仮説集合から最良の仮説を決定し、推論結果として出力する。
【0047】
第3実施形態の推論装置100cによれば、第1の観測データD1のうち、第1の仮説集合HSに含まれていない観測データを差分データとして抽出し、差分データを推論実行部22による仮説推論の対象に追加する。よって、第2の観測データD2のみを仮説推論の対象としていた第1及び第2実施形態に比べ、差分データを含む全ての観測データを考慮して高精度の仮説推論が可能となる。
【0048】
[推論処理]
図13は、第3実施形態の推論装置100cによる推論処理のフローチャートである。この処理は、
図3に示すプロセッサ12が予め用意されたプログラムを実行し、
図4に示す各要素として動作することにより実現される。
【0049】
ステップS31~S35は、
図8に示す第2実施形態の推論処理のステップS21~S25と同様であるので、説明を省略する。ステップS36で、差分データ抽出部25は、第1の観測データD1のうち、第1の仮説集合HSに含まれていない観測データを差分データとして抽出する。次に、差分データ抽出部25は、差分データを第2の観測データD2と統合して第3の観測データD3を生成する(ステップS37)。
【0050】
そして、推論実行部22は、ステップS35で生成された第3の知識ベースKB3と、ステップS37で生成された第3の観測データD3を用いて仮説推論を実行し、推論結果を生成する(ステップS38)。そして、推論処理は終了する。
【0051】
[変形例]
上記の第3実施形態は、第2実施形態の推論装置100bに対して差分データ抽出部25を追加した構成としているが、その代わりに、第1実施形態の推論装置100aに対して差分データ抽出部25を追加した構成としてもよい。
【0052】
<第4実施形態>
次に、本発明の第4実施形態について説明する。
図14は、第4実施形態に係る推論装置70の機能構成を示すブロック図である。推論装置70は、取得手段71と、ルール変換手段72と、推論実行手段73と、データ抽出手段74とを備える。
【0053】
図15は、第4実施形態の推論装置による推論処理のフローチャートである。取得手段71は、第1の観測データD1と、前提と当該前提の帰結の組を表すルールで構成される第1の知識ベースKB1と、を取得する(ステップS41)。ルール変換手段72は、第1の知識ベースKB1を構成するルールの前提と帰結を反転させ、帰結から前提を導くルールで構成される第2の知識ベースKB2を生成する(ステップS42)。推論実行手段73は、第2の知識ベースKB2と第1の観測データD1を用いて仮説推論を実行し、有向グラフで表される第1の仮説集合HSを生成する(ステップS43)。
【0054】
データ抽出手段74は、第1の仮説集合HSを表す有向グラフから起点となる要素を抽出し、第2の観測データD2を生成する(ステップS44)。そして、推論実行手段73は、第1の知識ベースKB1と第2の観測データD2を用いて仮説推論を実行し、第2の仮説集合を生成する(ステップS45)。
【0055】
第4実施形態の推論装置70によれば、仮説推論の対象となる第1の観測データD1の一部について、反転ルールを用いて疑似的な演繹推論を行って第2の観測データD2を生成し、第2の観測データD2を用いて仮説推論を行うので、第1の観測データD1の全体に対して仮説推論を行う場合と比較して、高速に推論結果を得ることが可能となる。
【0056】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0057】
(付記1)
第1の観測データと、前提と当該前提の帰結の組を表すルールで構成される第1の知識ベースと、を取得する取得手段と、
前記第1の知識ベースを構成するルールの前提と帰結を反転させ、帰結から前提を導くルールで構成される第2の知識ベースを生成するルール変換手段と、
前記第2の知識ベースと前記第1の観測データを用いて仮説推論を実行し、有向グラフで表される第1の仮説集合を生成する推論実行手段と、
前記第1の仮説集合を表す有向グラフから起点となる要素を抽出し、第2の観測データを生成するデータ抽出手段と、を備え、
前記推論実行手段は、前記第1の知識ベースと前記第2の観測データを用いて仮説推論を実行し、第2の仮説集合を生成する推論装置。
【0058】
(付記2)
前記第1の仮説集合のうち、前記帰結から前提を導くルールに対応する部分を再反転した前提と帰結の組からなるルールを、前記第1の知識ベースから取り除いた差分のルールで構成される第3の知識ベースを生成する差分ルール抽出手段をさらに備え、
前記推論実行手段は、前記第3の知識ベースと前記第2の観測データを用いて仮説推論を実行し、前記第2の仮説集合を生成する付記1に記載の推論装置。
【0059】
(付記3)
前記第1の観測データのうち、前記第1の仮説集合の有向グラフに含まれていない観測データを抽出し、前記第2の観測データと統合して第3の観測データを生成する差分データ抽出手段をさらに備え、
前記推論実行手段は、前記第1の知識ベースと前記第3の観測データを用いて仮説推論を実行し、前記第2の仮説集合を生成する付記1に記載の推論装置。
【0060】
(付記4)
前記第1の仮説集合のうち、前記帰結から前提を導くルールに対応する部分を再反転した前提と帰結の組からなるルールを、前記第1の知識ベースから取り除いた差分のルールで構成される第3の知識ベースを生成する差分ルール抽出手段と、
前記第1の観測データのうち、前記第1の仮説集合の有向グラフに含まれていない観測データを抽出し、前記第2の観測データと統合して第3の観測データを生成する差分データ抽出手段と、をさらに備え、
前記推論実行手段は、前記第3の知識ベースと前記第3の観測データを用いて仮説推論を実行し、前記第2の仮説集合を生成する付記1に記載の推論装置。
【0061】
(付記5)
前記推論実行手段は、前記第2の仮説集合から最良の仮説を生成する付記1乃至4のいずれか一項に記載の推論装置。
【0062】
(付記6)
第1の観測データと、前提と当該前提の帰結の組を表すルールで構成される第1の知識ベースと、を取得し、
前記第1の知識ベースを構成するルールの前提と帰結を反転させ、帰結から前提を導くルールで構成される第2の知識ベースを生成し、
前記第2の知識ベースと前記第1の観測データを用いて仮説推論を実行し、有向グラフで表される第1の仮説集合を生成し、
前記第1の仮説集合を表す有向グラフから起点となる要素を抽出し、第2の観測データを生成し、
前記第1の知識ベースと前記第2の観測データを用いて仮説推論を実行し、第2の仮説集合を生成する推論方法。
【0063】
(付記7)
第1の観測データと、前提と当該前提の帰結の組を表すルールで構成される第1の知識ベースと、を取得し、
前記第1の知識ベースを構成するルールの前提と帰結を反転させ、帰結から前提を導くルールで構成される第2の知識ベースを生成し、
前記第2の知識ベースと前記第1の観測データを用いて仮説推論を実行し、有向グラフで表される第1の仮説集合を生成し、
前記第1の仮説集合を表す有向グラフから起点となる要素を抽出し、第2の観測データを生成し、
前記第1の知識ベースと前記第2の観測データを用いて仮説推論を実行し、第2の仮説集合を生成する処理をコンピュータに実行させるプログラムを記録した記録媒体。
【0064】
以上、実施形態及び実施例を参照して本発明を説明したが、本発明は上記実施形態及び実施例に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【0065】
12 プロセッサ
21 ルール変換部
22 推論実行部
23 データ抽出部
24 差分ルール抽出部
25 差分データ抽出部
D1~D3 観測データ
KB1~KB3 知識ベース
100、100a~100c 推論装置