JP7338697B2 - 推論装置、推論方法、及びプログラム - Google Patents

推論装置、推論方法、及びプログラム Download PDF

Info

Publication number
JP7338697B2
JP7338697B2 JP2021554552A JP2021554552A JP7338697B2 JP 7338697 B2 JP7338697 B2 JP 7338697B2 JP 2021554552 A JP2021554552 A JP 2021554552A JP 2021554552 A JP2021554552 A JP 2021554552A JP 7338697 B2 JP7338697 B2 JP 7338697B2
Authority
JP
Japan
Prior art keywords
inference
hypothesis
candidate
predicate
contradiction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021554552A
Other languages
English (en)
Other versions
JPWO2021090497A5 (ja
JPWO2021090497A1 (ja
Inventor
大地 木村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2021090497A1 publication Critical patent/JPWO2021090497A1/ja
Publication of JPWO2021090497A5 publication Critical patent/JPWO2021090497A5/ja
Application granted granted Critical
Publication of JP7338697B2 publication Critical patent/JP7338697B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/041Abduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • G06N5/013Automatic theorem proving
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/042Backward inferencing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、観測された事象に推論知識を適用して仮説を導出するための、推論装置及び推論方法に関し、更には、これを実現するためのプログラムに関する。
例えば、サイバーセキュリティの分野では、コンピュータシステムにおいて何らかの事象が観測されたときに、観測された事象が、サイバー攻撃によるものかどうかを判断する必要がある。このような判断を行うための手法としては、仮説推論が最も有望である。
仮説推論は、論理式で与えられた推論知識(ルール)と観測された事象(観測事象)とから、妥当な仮説を導くことである。従って、上述の例であれば、コンピュータシステムについて予め用意されているルールに、観測事象を適用して仮説を導けば、サイバー攻撃があったかどうかを簡単に判断できる。
また、導かれる仮説が単一ではなく、複数である場合があるが、この場合において最良の仮説を特定する手法としては、重み付き仮説推論がある(例えば、非特許文献1参照)。重み付き仮説推論では、各ルールに対して重みが割り当てられ、更に各観測事象にはコストが割り当てられる。そして、重み付きのルールと、コスト付きの観測事象とに対して、後ろ向き推論が行われて仮説候補が生成され、加えて、単一化操作によって各仮説候補のコストが計算される。また、生成された仮説候補のうち、コストが小さい仮説候補ほど、良い仮説とされる。
ここで具体例を挙げて、仮説推論について説明する。例えば、下記に示すようなルールが存在しているとする。また、下記に示すルールにおいて、左項における数値が重みである。
stepA(m):1.6⇒stepX(m)
stepX(m):1.6⇒stepB(m)
stepB(m):1.6⇒stepC(m)
stepC(m):1.6⇒goal(m)
stepB(m):1.2⇒stepY(m)
stepY(m):1.2⇒stepA(m)
stepA(m):1.2⇒stepC(m)
そして、下記に示す観測事象(以下「観測」と表記する)が与えられたとする。下記に示す観測において数値は、コストである。
stepA(M):100∧stepB(M):100∧goal(M):100
上述の場合、仮説候補としては、「stepB(M)→stepY(M)→stepA(M)→stepC(M)→goal(M)」と、「stepA(M)→stepX(M)→stepB(M)→stepC(M)→goal(M)」と、などが生成される。そして、重みが小さい程コストが小さくなることから、上記の仮説候補のうち、「stepB(M)→stepY(M)→stepA(M)→stepC(M)→goal(M)」が良い仮説として選択されることになる。
J. R. Hobbs, M. Stickel, P. Martin, and D. Edwards, "Interpretation as abduction", Artificial Intelligence, Vol. 63, pp. 69-142, 1993.
ところで、上述した観測には記述されていないが、実際には、stepA(M)がstepB(M)よりも時間的に先に発生しているとする。従って、このことを考慮すると、上記の仮説候補のうち、「stepB(M)→stepY(M)→stepA(M)→stepC(M)→goal(M)」は間違っており、「stepA(M)→stepX(M)→stepB(M)→stepC(M)→goal(M)」が選択されるべきである。
しかしながら、従来からの重み付き仮説推論には、観測の時間的な前後関係を、仮説候補に反映させる仕組みが存在していないことから、このような間違った選択を解消することは極めて困難となっている。
本発明の目的の一例は、上記問題を解消し、観測の時間的な前後関係を仮説候補に反映させ得る、推論装置、推論方法、及びプログラムを提供することにある。
上記目的を達成するため、本発明の一側面における推論装置は、
観測された事実を論理表現によって表現する観測論理式に、時系列を表す情報を含む推論知識を適用して推論を行ない、前記観測論理式を導くことが可能な仮説候補を生成する、仮説候補生成部と、
前記時系列を表す情報に基づいて、生成された前記仮説候補が、時間的な矛盾を含むかどうか判定する、矛盾検査部と、
を備えている、ことを特徴とする。
また、上記目的を達成するため、本発明の一側面における推論方法は、
(a)観測された事実を論理表現によって表現する観測論理式に、時系列を表す情報を含む推論知識を適用して推論を行ない、前記観測論理式を導くことが可能な仮説候補を生成する、ステップと、
(b)前記時系列を表す情報に基づいて、生成された前記仮説候補が、時間的な矛盾を含むかどうか判定する、ステップと、
を有する、ことを特徴とする。
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、
コンピュータに、
(a)観測された事実を論理表現によって表現する観測論理式に、時系列を表す情報を含む推論知識を適用して推論を行ない、前記観測論理式を導くことが可能な仮説候補を生成する、ステップと、
(b)前記時系列を表す情報に基づいて、生成された前記仮説候補が、時間的な矛盾を含むかどうか判定する、ステップと、
を実行させる、ことを特徴とする。
以上のように、本発明によれば、観測の時間的な前後関係を仮説候補に反映させることができる。
図1は、実施の形態における推論装置の概略構成を示すブロック図である。 図2は、実施の形態における推論装置の構成を具体的に示すブロック図である。 図3は、実施の形態における仮説候補の生成処理の一例を示す図である。 図4は、実施の形態における推論装置の動作を示すフロー図である。 図5は、実施の形態で生成される仮説候補の具体例を示す図である。 図6は、実施の形態において画面に表示された仮説候補の一例を示す図である。 図7は、実施の形態における推論装置を実現するコンピュータの一例を示すブロック図である。
(実施の形態)
以下、実施の形態における推論装置、推論方法、及びプログラムについて、図1~図7を参照しながら説明する。
[装置構成]
最初に、図1を用いて、実施の形態における推論装置の概略構成について説明する。図1は、実施の形態における推論装置の概略構成を示すブロック図である。
図1に示す、実施の形態における推論装置10は、観測された事象に推論知識を適用して仮説を導出するための装置である。図1に示すように、推論装置10は、仮説候補生成部11と、矛盾検査部12とを備えている。
仮説候補生成部11は、観測された事実を論理表現によって表現する観測論理式に、時系列を表す情報(以下「時系列情報」と表記する)を含む推論知識を適用して推論を行ない、この観測論理式を導くことが可能な仮説候補を生成する。矛盾検査部12は、時系列情報に基づいて、生成された仮説候補が、時間的な矛盾を含むかどうか判定する。
このように、時系列情報を含む推論知識が用いられ、仮説候補に時間的な矛盾が含まれるかどうかの判定が行われるので、推論装置10によれば、観測の時間的な前後関係を仮説候補に反映させることができる。
続いて、図2及び図3を用いて、実施の形態における推論装置の構成についてより具体的に説明する。図2は、実施の形態における推論装置の構成を具体的に示すブロック図である。
図2に示すように、実施の形態では、推論装置10は、仮説候補生成部11及び矛盾検査部12に加えて、出力部13を備えている。出力部13は、矛盾検査部12による判定結果を出力する。また、図2に示すように、実施の形態では、推論装置10は、記憶装置20に接続されている。
記憶装置20は、推論知識21と、観測論理式22とを格納している。また、図2の例では、記憶装置20は、推論装置10の外部にあり、推論装置10とはネットワーク等を介して接続されているが、この例に限定されるものではない。記憶装置20は、推論装置10の一部として構築されていても良い。また、推論知識21と、観測論理式22とは、それぞれ別々の記憶装置に格納されていても良い。
推論知識21は、従来と同様に、複数のルールを有している。但し、実施の形態においては、少なくとも1つのルールは、前件としての、特定の事象が起こったという状態を表す述語と、後件としての、前記特定の事象の次の事象が起こったという状態を表す述語と、更に、時系列を表す情報としての、時間的な前後関係を表す述語とを有する。
また、時間的な前後関係を表す述語として、実施の形態では、例えば、seq(m, n)が定義される。seq(m, n)は、「mの後はnである」という時間的な前後関係を表している。更に、時間的な前後関係を満たすために、seq(m, n)には、以下の3つの制約が課されることになる。
推移律: seq(a, b) ∧seq(b, c)⇒seq(a, c)
非対称律:seq(a, b) ⇒¬seq (b, a)
非反射律:seq(a, a) ⇒⊥
従って、ルールとして、「stepSi(m)∧ seq(m, n)⇒stepSi+1(n)」(ただし、iは1以上3以下の自然数)および「stepS3(m)⇒goal(n)」が存在し、観測としてgoal(s)が与えられた場合、仮説候補生成部11は、例えば、図3に示す仮説候補を生成する。ここで、「stepSi」はある特定の事象が起こった状態を表す述語であり、「goal」はクエリとなる述語である。図3は、実施の形態における仮説候補の生成処理の一例を示す図である。
矛盾検査部12は、実施の形態では、時間的な前後関係を表す述語に基づいて、仮説候補生成部11によって生成された仮説候補が、時間的な矛盾を含むかどうかを判定する。具体的には、矛盾検査部12は、仮説候補が時間的な前後関係に矛盾する部分を含むかどうかを判定する。そして、矛盾検査部12は、仮説候補生成部11によって生成された仮説候補が時間的な矛盾を含むと判定した場合に、この仮説候補を排除する。
出力部13は、実施の形態では、排除されなかった仮説候補のみを、例えば、表示装置に出力し、その画面上に、排除されなかった仮説候補を表示させる。また、出力部13は、排除されなかった仮説候補を、外部の端末装置、外部のデータベース等に出力することもできる。
[装置動作]
次に、実施の形態における推論装置10の動作について図4を用いて説明する。図4は、実施の形態における推論装置の動作を示すフロー図である。以下の説明においては、適宜図1~図3を参照する。また、実施の形態では、推論装置10を動作させることによって、推論方法が実施される。よって、実施の形態における推論方法の説明は、以下の推論装置10の動作説明に代える。
図4に示すように、最初に、仮説候補生成部11は、記憶装置20から、時系列情報を含む推論知識21と観測論理式22とを取得する(ステップA1)。次に、仮説候補生成部11は、ステップA1で取得した観測論理式22に、推論知識21を適用して推論を行い、仮説候補を生成する(ステップA2)。
次に、矛盾検査部12は、時系列情報に基づいて、ステップA2で生成された仮説候補毎に、それぞれが、時間的な矛盾を含むかどうか判定する(ステップA3)。次に、矛盾検査部12は、ステップA3で時間的な矛盾を含むと判定した仮説候補を特定し、特定した仮説候補を排除する(ステップA4)。
その後、出力部13は、ステップA4で排除されなかった仮説候補を、外部の表示装置、端末装置、データベース等に出力する(ステップA5)。
[具体例]
続いて、図5を用いて、図4に示した処理の具体例について説明する。図5は、実施の形態で生成される仮説候補の具体例を示す図である。
まず、仮説候補生成部11は、記憶装置20から、観測論理式22として、「goal(M0):100, actA(M1):100, actB(M2):100, seq(M1, M2):1」を取得する。また、各論理式に付加されている値はコストである。仮説候補生成部11は、記憶装置20から、推論知識21として、下記に示すルールの集合を取得する。
etc(n):0.2 ∧ actA(n):0.0 ⇒ stepA(n)
etc(n):0.2 ∧ actB(n):0.0 ⇒ stepB(n)
stepA(m):1.0 ∧ etc(n):0.4 ∧ actX(n):0.0 ∧ seq(m,n):0.0 ⇒ stepX(n)
stepB(m):1.0 ∧ etc(n):0.3 ∧ actY(n):0.0 ∧ seq(m,n):0.0 ⇒ stepY(n)
stepX(m):1.0 ∧ etc(n):0.4 ∧ actB(n):0.0 ∧ seq(m,n):0.0 ⇒ stepB(n)
stepY(m):1.0 ∧ etc(n):0.3 ∧ actA(n):0.0 ∧ seq(m,n):0.0 ⇒ stepA(n)
stepB(m):1.0 ∧ etc(n):0.4 ∧ actC(n):0.0 ∧ seq(m,n):0.0 ⇒ stepC(n)
stepA(m):1.0 ∧ etc(n):0.3 ∧ actC(n):0.0 ∧ seq(m,n):0.0 ⇒ stepC(n)
stepC(m):1.0 ⇒ goal(m)
なお、上記ルールにおいて、各リテラルに付加されている数値は重みである。「stepA」又は「stepB」などは、ステップA又はステップBという状態にあることを表す述語である。ここでステップとは、例えばサイバーキルチェーンの各構成要素(感染拡大や情報窃取など)などである。「etc」は、そのルールの起こりにくさ(重み付仮説推論の重みの役割)をつける目的のための述語である。「actB」や「actC」などは、ステップBまたはステップCに関連する痕跡を表す述語である。各述語の項m,nは、時刻のような一意に順序が決まるID(識別子)である。「goal」は、クエリとなる述語である。
次に、仮説候補生成部11は、取得した観測論理式22に、上記のルールを適用して推論を実行する。これにより、仮説候補生成部11は、図5に示す仮説候補[1](stepA(m3)→stepX(m2)→stepB(m1)→stepC(M0)→goal(M0))と仮説候補[2](stepB(m3)→stepY(m2)→stepA(m1)→stepC(M0)→goal(M0))などを生成する。ここで「→」は、ステップ間の遷移を表すものとする。
上述の観測論理式におけるseq(M1, M2)から、Aの後にBが起こっているので、仮説候補[1]のみが生成されるのが好ましいが、仮説候補[2]も生成されてしまう。このため、矛盾検査部12は、seq(M1, M2)に矛盾する仮説候補[2]を排除する。
具体的には、仮説候補[1]では、seq(m2, m1)とseq(m3, m2)に推移律を適用し、seq(m3, m1)が得られる。仮説候補[1]のactA(m3)とactB(m1)について、それぞれ観測actA(M1)とactB(M2)との単一化を行うと、m3=M1、m1=M2が得られる。このとき、seq(m3, m1)はseq(M1, M2)となり、観測seq(M1, M2)に矛盾しない。従って、矛盾検査部12は、仮説候補[1]は矛盾しないと判断する。一方、仮説候補[2]では、seq(m2, m1)とseq(m3, m2)に推移律を適用し、seq(m3, m1)が得られる。仮説候補[]のactA(m1)とactB(m3)について、それぞれ観測actA(M1)とactB(M2)との単一化を行うと、m1=M1、m3=M2が得られる。このとき、seq(m3, m1)はseq(M2, M1)となり、観測seq(M1, M2)に矛盾する。従って、矛盾検査部12は、仮説候補[2]は矛盾すると判断する。このため、矛盾検査部12は、上述したように、seq(M1, M2)に矛盾する仮説候補[2]を排除する。なお、単一化は、同一の述語を持つ2つのリテラルについて、互いの項が等価であるという仮説を置く操作である。
また、出力部13は、例えば、図6に示すように、排除されなかった仮説候補を、表示装置の画面上に表示する。図6は、実施の形態において画面に表示された仮説候補の一例を示す図である。図6の例では、仮説候補は、step、etc、act、seqの関係を示すグラフによって表示されている。ユーザは、stepのノードを追うことで、事象が起きた順番を知ることができ、actのノードを確認することで、actの詳細を知ることができる。
[実施の形態における効果]
以上のように、実施の形態では、時系列情報を含む推論知識を用いて推論が行われるので、仮説候補の生成後に、時間的な矛盾を含む仮説候補を排除することができる。このため、本実施の形態における推論装置10は、観測の時間的な前後関係を仮説候補に反映させることができる。
[変形例]
ここで、実施の形態における変形例について説明する。本変形例では、矛盾検査部12は、仮説候補生成部11によって生成された仮説候補に対して、その仮説候補が成立しない可能性を示す指標を付加し、更に、その仮説候補が時間的な矛盾を含むと判定した場合に、その仮説候補の指標の値を補正する。
例えば、上述の具体例において、観測論理式22として、「goal(M0):100, actA(M1):100, actB(M2):100, seq(M1, M2):1, actY(M3):100」が取得されているとする。この場合、上述の具体例とは、「actY(M3):100」が追加されている点が異なっている。また、この場合においても、仮説候補生成部11は、仮説候補として、図5に示す仮説候補[1](stepA(m3)→stepX(m2)→stepB(m1)→stepC(M0)→goal(M0))と仮説候補[2](stepB(m3)→stepY(m2)→stepA(m1)→stepC(M0)→goal(M0))などを生成する。
上記の例において、仮説候補[1]では、観測actA(M1)と観測actB(M2)との単一化を行っても、seq(M1, M2)には矛盾しないが、観測actY(M3)は、単一化できないので、コストはそのまま残る。一方、仮説候補[2]では、観測actA(M1)と観測actB(M2)との単一化を行うと、seq(M1,M2)に矛盾するが、actY(M3)を単一化できるので、その分コストを小さくできる。
このため、本変形例では、矛盾検査部12は、仮説候補毎に、その仮説候補が成立しない可能性を示す指標として、仮説候補の生成時に算出されるコストを用い、このコスト(指標)を仮説候補に付加する。また、矛盾検査部12は、その仮説候補が時間的な矛盾を含むと判定した場合は、その仮説候補についてペナルティを設定し、設定したペナルティを追加コストとして、先に算出されているコストに加算する。その後、出力部13は、各仮説候補を、それにコストを付加した状態で、外部に出力する。
なお、最初のコストは、仮説候補生成部11によって、ルールに付加されている重みと、観測論理式に付加されているコストとから算出する。また、ペナルティとしては、例えば、予め設定された値が用いられる。
以上のように、変形例では、観測(seq(M1,M2))に適合した仮説になるか、矛盾した仮説になるかは、矛盾に対するペナルティとしてのコストの増加と、仮説の単一化等によるコストの減少とのトレードオフによって決定される。
[プログラム]
実施の形態におけるプログラムは、コンピュータに、図4に示すステップA1~A5を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、実施の形態における推論装置10と推論方法とを実現することができる。この場合、コンピュータのプロセッサは、仮説候補生成部11、矛盾検査部12、及び出力部13として機能し、処理を行なう。
更に、実施の形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、仮説候補生成部11、矛盾検査部12、及び出力部13のいずれかとして機能しても良い。
また、記憶装置20は、実施の形態におけるプログラムを実行するコンピュータに備えられたハードディスク等の記憶装置であっても良いし、このコンピュータとは別のコンピュータ上に備えられた記憶装置であっても良い。
ここで、実施の形態におけるプログラムを実行することによって、推論装置10を実現するコンピュータについて図7を用いて説明する。図7は、実施の形態における推論装置を実現するコンピュータの一例を示すブロック図である。
図7に示すように、コンピュータ110は、CPU(Central Processing Unit)111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。なお、コンピュータ110は、CPU111に加えて、又はCPU111に代えて、GPU(Graphics Processing Unit)、又はFPGA(Field-Programmable Gate Array)を備えていても良い。
CPU111は、記憶装置113に格納された、本実施の形態におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであっても良い。
また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記録媒体、又はCD-ROM(Compact Disk Read Only Memory)などの光学記録媒体が挙げられる。
なお、本実施の形態における推論装置10は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、推論装置10は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
上述した実施の形態の一部又は全部は、以下に記載する(付記1)~(付記12)によって表現することができるが、以下の記載に限定されるものではない。
(付記1)
観測された事実を論理表現によって表現する観測論理式に、時系列を表す情報を含む推論知識を適用して推論を行ない、前記観測論理式を導くことが可能な仮説候補を生成する、仮説候補生成部と、
前記時系列を表す情報に基づいて、生成された前記仮説候補が、時間的な矛盾を含むかどうか判定する、矛盾検査部と、
を備えている、ことを特徴とする推論装置。
(付記2)
付記1に記載の推論装置であって、
前記推論知識が、複数のルールを有し、
前記複数のルールのうちの少なくとも1つは、
前記時系列を表す情報としての、時間的な前後関係を表す述語と、
前件としての、特定の事象が起こったという状態を表す述語と、
後件としての、前記特定の事象の次の事象が起こったという状態を表す述語と、
を有する、
ことを特徴とする推論装置。
(付記3)
付記1または2に記載の推論装置であって、
前記矛盾検査部は、
生成された前記仮説候補が時間的な矛盾を含むと判定した場合に、当該仮説候補を排除する、
ことを特徴とする推論装置。
(付記4)
付記1または2に記載の推論装置であって、
前記矛盾検査部は、
生成された前記仮説候補に対して、その仮説候補が成立しない可能性を示す指標を付加し、更に、その仮説候補が時間的な矛盾を含むと判定した場合に、その仮説候補の前記指標の値を補正する、
ことを特徴とする推論装置。
(付記5)
(a)観測された事実を論理表現によって表現する観測論理式に、時系列を表す情報を含む推論知識を適用して推論を行ない、前記観測論理式を導くことが可能な仮説候補を生成する、ステップと、
(b)前記時系列を表す情報に基づいて、生成された前記仮説候補が、時間的な矛盾を含むかどうか判定する、ステップと、
を有する、ことを特徴とする推論方法。
(付記6)
付記5に記載の推論方法であって、
前記推論知識が、複数のルールを有し、
前記複数のルールのうちの少なくとも1つは、
前記時系列を表す情報としての、時間的な前後関係を表す述語と、
前件としての、特定の事象が起こったという状態を表す述語と、
後件としての、前記特定の事象の次の事象が起こったという状態を表す述語と、
を有する、
ことを特徴とする推論方法。
(付記7)
付記5または6に記載の推論方法であって、
(c)前記(b)のステップにおいて、前記(a)のステップで生成された前記仮説候補が時間的な矛盾を含むと判定した場合に、当該仮説候補を排除する、ステップを、更に有する、
ことを特徴とする推論方法。
(付記8)
付記5または6に記載の推論方法であって、
(d)前記(a)のステップで生成された前記仮説候補に対して、その仮説候補が成立しない可能性を示す指標を付加し、更に、前記(b)のステップにおいて、その仮説候補が時間的な矛盾を含むと判定した場合に、その仮説候補の前記指標の値を補正する、ステップを、更に有する、
ことを特徴とする推論方法。
(付記9)
コンピュータに、
(a)観測された事実を論理表現によって表現する観測論理式に、時系列を表す情報を含む推論知識を適用して推論を行ない、前記観測論理式を導くことが可能な仮説候補を生成する、ステップと、
(b)前記時系列を表す情報に基づいて、生成された前記仮説候補が、時間的な矛盾を含むかどうか判定する、ステップと、
を実行させる、プログラム。
(付記10)
付記9に記載のプログラムであって、
前記推論知識が、複数のルールを有し、
前記複数のルールのうちの少なくとも1つは、
前記時系列を表す情報としての、時間的な前後関係を表す述語と、
前件としての、特定の事象が起こったという状態を表す述語と、
後件としての、前記特定の事象の次の事象が起こったという状態を表す述語と、
を有する、
ことを特徴とするプログラム
(付記11)
付記9または10に記載のプログラムであって、
記コンピュータに、
(c)前記(b)のステップにおいて、前記(a)のステップで生成された前記仮説候補が時間的な矛盾を含むと判定した場合に、当該仮説候補を排除する、ステップを更に実行させる、
ことを特徴とするプログラム
(付記12)
付記9または10に記載のプログラムであって、
記コンピュータに、
(d)前記(a)のステップで生成された前記仮説候補に対して、その仮説候補が成立しない可能性を示す指標を付加し、更に、前記(b)のステップにおいて、その仮説候補が時間的な矛盾を含むと判定した場合に、その仮説候補の前記指標の値を補正する、ステップを更に実行させる、
ことを特徴とするプログラム
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
以上のように、本発明によれば、観測の時間的な前後関係を仮説候補に反映させることができる。本発明は、サイバーセキュリティの分野等、仮説推論が求められている分野に有用である。
10 推論装置
11 仮説候補生成部
12 矛盾検査部
13 出力部
20 記憶装置
21 推論知識
22 観測論理式
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス

Claims (5)

  1. 観測された事実を論理表現によって表現する観測論理式に、時系列を表す情報を含む推論知識を適用して推論を行ない、前記観測論理式を導くことが可能な仮説候補を生成する、仮説候補生成手段と、
    前記時系列を表す情報に基づいて、生成された前記仮説候補が、時間的な矛盾を含むかどうか判定する、矛盾検査手段と、
    を備え、
    前記推論知識が、複数のルールを有し、
    前記複数のルールのうちの少なくとも1つは、
    前記時系列を表す情報としての、時間的な前後関係を表す述語と、
    前件としての、特定の事象が起こったという状態を表す述語と、
    後件としての、前記特定の事象の次の事象が起こったという状態を表す述語と、
    を有する、
    ことを特徴とする推論装置。
  2. 請求項1に記載の推論装置であって、
    前記矛盾検査手段は、
    生成された前記仮説候補が時間的な矛盾を含むと判定した場合に、当該仮説候補を排除する、
    ことを特徴とする推論装置。
  3. 請求項1に記載の推論装置であって、
    前記矛盾検査手段は、
    生成された前記仮説候補に対して、その仮説候補が成立しない可能性を示す指標を付加し、更に、その仮説候補が時間的な矛盾を含むと判定した場合に、その仮説候補の前記指標の値を補正する、
    ことを特徴とする推論装置。
  4. (a)観測された事実を論理表現によって表現する観測論理式に、時系列を表す情報を含む推論知識を適用して推論を行ない、前記観測論理式を導くことが可能な仮説候補を生成し、
    (b)前記時系列を表す情報に基づいて、生成された前記仮説候補が、時間的な矛盾を含むかどうか判定し、
    前記推論知識が、複数のルールを有し、
    前記複数のルールのうちの少なくとも1つは、
    前記時系列を表す情報としての、時間的な前後関係を表す述語と、
    前件としての、特定の事象が起こったという状態を表す述語と、
    後件としての、前記特定の事象の次の事象が起こったという状態を表す述語と、
    を有する、
    ことを特徴とする推論方法。
  5. コンピュータに、
    (a)観測された事実を論理表現によって表現する観測論理式に、時系列を表す情報を含む推論知識を適用して推論を行ない、前記観測論理式を導くことが可能な仮説候補を生成する、ステップと、
    (b)前記時系列を表す情報に基づいて、生成された前記仮説候補が、時間的な矛盾を含むかどうか判定する、ステップと、
    を実行させ
    前記推論知識が、複数のルールを有し、
    前記複数のルールのうちの少なくとも1つは、
    前記時系列を表す情報としての、時間的な前後関係を表す述語と、
    前件としての、特定の事象が起こったという状態を表す述語と、
    後件としての、前記特定の事象の次の事象が起こったという状態を表す述語と、
    を有する、
    プログラム。

JP2021554552A 2019-11-08 2019-11-08 推論装置、推論方法、及びプログラム Active JP7338697B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/043972 WO2021090497A1 (ja) 2019-11-08 2019-11-08 推論装置、推論方法、及びコンピュータ読み取り可能な記録媒体

Publications (3)

Publication Number Publication Date
JPWO2021090497A1 JPWO2021090497A1 (ja) 2021-05-14
JPWO2021090497A5 JPWO2021090497A5 (ja) 2022-07-05
JP7338697B2 true JP7338697B2 (ja) 2023-09-05

Family

ID=75848311

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021554552A Active JP7338697B2 (ja) 2019-11-08 2019-11-08 推論装置、推論方法、及びプログラム

Country Status (3)

Country Link
US (1) US20220374741A1 (ja)
JP (1) JP7338697B2 (ja)
WO (1) WO2021090497A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016091039A (ja) 2014-10-29 2016-05-23 株式会社デンソー 危険予測装置、運転支援システム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04195300A (ja) * 1990-11-22 1992-07-15 Toshiba Corp プラント診断装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016091039A (ja) 2014-10-29 2016-05-23 株式会社デンソー 危険予測装置、運転支援システム

Also Published As

Publication number Publication date
WO2021090497A1 (ja) 2021-05-14
US20220374741A1 (en) 2022-11-24
JPWO2021090497A1 (ja) 2021-05-14

Similar Documents

Publication Publication Date Title
US11042647B1 (en) Software assurance system for runtime environments
WO2018229877A1 (ja) 仮説推論装置、仮説推論方法、及びコンピュータ読み取り可能な記録媒体
US11334057B2 (en) Anomaly detection for predictive maintenance and deriving outcomes and workflows based on data quality
Liu et al. Probabilistic modeling and analysis of sequential cyber‐attacks
JPWO2020137847A1 (ja) アタックツリー生成装置、アタックツリー生成方法およびアタックツリー生成プログラム
Peng et al. Self-supervised and Interpretable Data Cleaning with Sequence Generative Adversarial Networks
JP7338697B2 (ja) 推論装置、推論方法、及びプログラム
Zhang et al. A scalable double oracle algorithm for hardening large active directory systems
WO2023078723A1 (en) Compliance risk management for data in computing systems
Ufuktepe et al. Estimating software robustness in relation to input validation vulnerabilities using Bayesian networks
JP7127687B2 (ja) 仮説推論装置、仮説推論方法、及びプログラム
WO2020008632A1 (ja) 仮説推論装置、仮説推論方法、及びコンピュータ読み取り可能な記録媒体
JP7127686B2 (ja) 仮説推論装置、仮説推論方法、及びプログラム
JP7485034B2 (ja) 推論装置、推論方法、及びプログラム
JPWO2020170400A1 (ja) 仮説検証装置、仮説検証方法、及びプログラム
JP7156376B2 (ja) 観測事象判定装置、観測事象判定方法、及びプログラム
WO2021255841A1 (ja) 情報検索装置、情報検索方法、及びコンピュータ読み取り可能な記録媒体
An et al. Relative Keys: Putting Feature Explanation into Context
JP7485035B2 (ja) 推論装置、推論方法、及びプログラム
WO2020044412A1 (ja) 推論装置、推論方法、及びコンピュータ読み取り可能な記録媒体
WO2022180729A1 (ja) 推論装置、推論方法、及び、記録媒体
JPWO2021090497A5 (ja) 推論装置、推論方法、及びプログラム
Liu et al. Dynamic learning of automata from the call stack log for anomaly detection
JP7485036B2 (ja) 推論装置、推論方法、及びプログラム
WO2020261484A1 (ja) 矛盾検知装置、矛盾検知方法およびコンピュータ読み取り可能な記録媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220427

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230509

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230707

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230725

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230807

R151 Written notification of patent or utility model registration

Ref document number: 7338697

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151