JP7259932B2 - 仮説検証装置、仮説検証方法、及びプログラム - Google Patents

仮説検証装置、仮説検証方法、及びプログラム Download PDF

Info

Publication number
JP7259932B2
JP7259932B2 JP2021501235A JP2021501235A JP7259932B2 JP 7259932 B2 JP7259932 B2 JP 7259932B2 JP 2021501235 A JP2021501235 A JP 2021501235A JP 2021501235 A JP2021501235 A JP 2021501235A JP 7259932 B2 JP7259932 B2 JP 7259932B2
Authority
JP
Japan
Prior art keywords
hypothesis
logical
logical formula
parameter
value
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
JP2021501235A
Other languages
English (en)
Other versions
JPWO2020170400A1 (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 JPWO2020170400A1 publication Critical patent/JPWO2020170400A1/ja
Application granted granted Critical
Publication of JP7259932B2 publication Critical patent/JP7259932B2/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
    • G06N5/048Fuzzy inferencing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Automation & Control Theory (AREA)
  • Fuzzy Systems (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、仮説検証装置、仮説検証方法、及びこれらを実現するためのプログラムに関し、特には、ある結果に至る経緯の仮説を生成し、生成した仮説を検証することによって、経緯の具体化を図る、仮説検証装置、仮説検証方法、及びプログラムに関する。
従来から、論理的推論の一種に、仮説推論またはアブダクションと呼ばれる手法が知られている。仮説推論は、例えば、物体、製造システム、実行中のソフトウェアプログラムなどに生じた異常状態に対して、その状態に至る幾つかの可能性に基づく仮説のうち、得られている関連事実を最もよく説明できる仮説を選択する手法である。
一般に、仮説推論では、幾つかの仮説候補が生成され、そのうちの1つが最終的な解仮説として選択される。そして、実際の利用場面の多くでは、選択された解仮説は検証され、検証結果に応じて、この解仮説の修正又は再選択が行われる。ここで、仮説推論を現実の問題に利用するシステムの一例について、特許文献1に基づいて説明する。特許文献1は、仮説推論を用いた運転支援システムを開示している。
特許文献1に開示された運転支援システムは、車の運転中に起きうる危険を周囲の観測によって得られた情報から予測する。特許文献1に開示された運転支援システムでは、仮説推論の一種である重み付き仮説推論(非特許文献1参照)が用いられている。
具体的には、特許文献1の図13に示すように、特許文献1に開示された運転支援システムは、まず、観測情報を変換して得られたコスト付きの観測論理式を観測データとして受け付ける。次に、特許文献1に開示された運転支援システムは、仮説推論部によって、観測データに基づいて、危険を表す仮説(仮説候補)を幾つか生成する。そして、特許文献1に開示されたシステムは、生成した仮説候補の中から、最も証明コストの低い解仮説を、最も起き易い危険として選択する。
続いて、特許文献1に開示された運転支援システムは、選択した仮説候補(危険)に関連する物体に対して、物理シミュレーションを実行して、その挙動を推定し、その推定結果を新たな観測論理式とする。その後、仮説推論部は、既存の観測論理式に新たな観測論理式を加えて、仮説推論を再度実行する。このように、特許文献1に開示された運転支援システムによれば、物理シミュレーションによる物体の挙動を考慮した危険の予測が可能となる
特開2016-91039号公報
Hobbs, Jerry R., Mark Stickel, Douglas Appelt, and Paul Martin, "Interpretation as Abduction", Artificial Intelligence, Vol.63, Nos.1-2, pp.69-142, 1993.
ところで、上述したように、特許文献1に開示された運転支援システムでは、生成された幾つかの仮説候補の中から、最も証明コストの低い仮説候補が只1つ選択される。しかしながら、実際には、同等で最良であり、且つ、構成が異なっている、複数の仮説候補が存在する場合がある。そのため、この選択された仮説候補説よりも、選択されなかった仮説候補の方が、実際には適切である場合がある。したがって、特許文献1に開示された運転支援システムには、危険予測精度の向上に限界がある。
一方、同等に最良かつ、構成の異なる仮説候補全てに対して、1つずつ検証を行うようにすれば、上述の問題は解消できるとも考えられるが、特許文献1に開示された運転支援システムには、検証機能は付加されておらず、検証は不可能である。また、仮に、特許文献1に開示された運転支援システムに、検証機能が付加されていたとしても、解仮説全てに対して検証を行う場合は、処理に時間が掛かり過ぎるという別の問題が発生してしまう。
本発明の目的の一例は、上記問題を解消し、複数の仮説候補の中から、検証に値する仮説候補を選択するに際して、処理負担を増加させることなく、誤った仮説候補が選択される可能性を低減し得る、仮説検証装置、仮説検証方法、及びプログラムを提供することにある。
上記目的を達成するため、本発明の一側面における仮説検証装置は、
1つの名前及び1つ以上のパラメータを含む論理式の集合によって表現された、観測データから、前記観測データと同じ形式で表現された、知識データを用いて、ありうる帰結に至る前記論理式を有する仮説候補を、複数導出する、仮説生成部と、
前記仮説候補それぞれの前記論理式を統合して、論理式集合を構築し、そして、前記論理式集合の中に、重複する論理式が存在する場合は、そのうち一つのみを残し、残りを削除する、仮説統合部と、
前記論理式集合の中に、前記観測データから得られた値を有する第1のパラメータと、前記観測データから得られた値を有していない第2のパラメータとを含む論理式が存在する場合は、これを対象論理式として、前記観測データ及び前記対象論理式の名前に基づいて、前記第2のパラメータの値を取得して、取得した前記第2のパラメータの値を前記対象論理式に入力し、
一方、前記対象論理式となる論理式が存在せず、1つ以上のパラメータに、予め値を持つ、又は推論知識によって得られた値を持つ、論理式が存在する場合は、この存在する論理式に対して真偽を判定する、仮説検証部と、
を備え、
前記仮説生成部は、前記論理式の真偽が判定されるか、または、前記対象論理式に前記第2のパラメータの値が入力されると、真偽判定がなされた論理式又は前記対象論理式を、前記観測データに追加して、再度、仮説候補を導出する、
ことを特徴とする。
また、上記目的を達成するため、本発明の一側面における仮説検証方法は、
(a)1つの名前及び1つ以上のパラメータを含む論理式の集合によって表現された、観測データから、前記観測データと同じ形式で表現された、知識データを用いて、ありうる帰結に至る前記論理式を有する仮説候補を、複数導出する、ステップと、
(b)前記仮説候補それぞれの前記論理式を統合して、論理式集合を構築し、そして、前記論理式集合の中に、重複する論理式が存在する場合は、そのうち一つのみを残し、残りを削除する、ステップと、
(c)前記論理式集合の中に、前記観測データから得られた値を有する第1のパラメータと、前記観測データから得られた値を有していない第2のパラメータとを含む論理式が存在する場合は、これを対象論理式として、前記観測データ及び前記対象論理式の名前に基づいて、前記第2のパラメータの値を取得して、取得した前記第2のパラメータの値を前記対象論理式に入力する、ステップと、
(d)前記論理式集合の中に、前記対象論理式となる論理式が存在せず、1つ以上のパラメータに、予め値を持つ、又は推論知識によって得られた値を持つ、論理式が存在する場合は、この存在する論理式に対して真偽を判定する、ステップと、
(e)前記(d)のステップで前記論理式の真偽が判定されるか、または、前記(c)のステップで前記対象論理式に前記第2のパラメータの値が入力されると、真偽判定がなされた論理式又は前記対象論理式を、前記観測データに追加して、再度、仮説候補を導出する、ステップと、
を有する、ことを特徴とする。
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、
コンピュータに、
(a)1つの名前及び1つ以上のパラメータを含む論理式の集合によって表現された、観測データから、前記観測データと同じ形式で表現された、知識データを用いて、ありうる帰結に至る前記論理式を有する仮説候補を、複数導出する、ステップと、
(b)前記仮説候補それぞれの前記論理式を統合して、論理式集合を構築し、そして、前記論理式集合の中に、重複する論理式が存在する場合は、そのうち一つのみを残し、残りを削除する、ステップと、
(c)前記論理式集合の中に、前記観測データから得られた値を有する第1のパラメータと、前記観測データから得られた値を有していない第2のパラメータとを含む論理式が存在する場合は、これを対象論理式として、前記観測データ及び前記対象論理式の名前に基づいて、前記第2のパラメータの値を取得して、取得した前記第2のパラメータの値を前記対象論理式に入力する、ステップと、
(d)前記論理式集合の中に、前記対象論理式となる論理式が存在せず、1つ以上のパラメータに、予め値を持つ、又は推論知識によって得られた値を持つ、論理式が存在する場合は、この存在する論理式に対して真偽を判定する、ステップと、
(e)前記(d)のステップで前記論理式の真偽が判定されるか、または、前記(c)のステップで前記対象論理式に前記第2のパラメータの値が入力されると、真偽判定がなされた論理式又は前記対象論理式を、前記観測データに追加して、再度、仮説候補を導出する、ステップと、
を実行させることを特徴とする。
以上のように本発明によれば、複数の仮説候補の中から、検証に値する仮説候補を選択するに際して、処理負担を増加させることなく、誤った仮説候補が選択される可能性を低減することができる。
図1は、本発明の実施の形態における仮説検証装置の概略構成を示すブロック図である。 図2は、本発明の実施の形態における仮説検証装置の構成を具体的に示すブロック図である。 図3は、本発明の実施の形態において帰結格納部が格納しているデータの一例を示す図である。 図4は、本発明の実施の形態において用いられる知識データの一例を示す図である。 図5は、本発明の実施の形態における仮説統合部による統合処理の一例を示す図である。 図6は、本発明の実施の形態における仮説統合部による統合処理の他の例を示す図である。 図7は、本発明の実施の形態における仮説検証装置の動作を示すフロー図である。 図8は、本発明の実施の形態において図7に示すステップA6~A9をより具体的に示すフロー図である。 図9は、本発明の実施の形態における具体例1での処理内容を示す図である。 図10は、本発明の実施の形態における具体例2での処理内容を示す図である。 図11は、本発明の実施の形態における仮説検証装置を実現するコンピュータの一例を示すブロック図である。
(実施の形態)
以下、本発明の実施の形態における、仮説検証装置、仮説検証方法、及びプログラムについて、図1~図11を参照しながら説明する。
[装置構成]
最初に、図1を用いて、本実施の形態における仮説検証装置の概略構成について説明する。図1は、本発明の実施の形態における仮説検証装置の概略構成を示すブロック図である。
図1に示す、本実施の形態における、仮説検証装置10は、観測データから生成した仮説候補の検証を行う装置である。図1に示すように、仮説検証装置10は、仮説生成部11と、仮説統合部12と、仮説検証部13とを備えている。
このうち、仮説生成部11は、1つの名前及び1つ以上のパラメータを含む論理式の集合によって表現された、観測データから、観測データと同じ形式で表現された、知識データを用いて、ありうる帰結に至る論理式を有する仮説候補を、複数導出する。
仮説統合部12は、仮説候補それぞれの論理式を統合して、論理式集合を構築し、そして、論理式集合の中に、重複する論理式が存在する場合は、そのうち一つのみを残し、残りを削除する。
仮説検証部13は、まず、論理式集合の中に、観測データから得られた値を有する第1のパラメータと、前記観測データから得られた値を有していない第2のパラメータとを含む論理式が存在する場合は、これを対象論理式とする。次いで、仮説検証部13は、観測データ及び対象論理式の名前に基づいて、第2のパラメータの値を取得して、取得した第2のパラメータの値を前記対象論理式に入力する。
また、仮説検証部13は、対象論理式となる論理式が存在せず、1つ以上のパラメータに、予め値を持つ、又は推論知識によって得られた値を持つ、論理式が存在する場合は、この存在する論理式に対して真偽を判定する。
そして、仮説検証部13によって、論理式の真偽が判定されるか、または、対象論理式に第2のパラメータの値が入力されると、仮説生成部11は、真偽判定がなされた論理式又は対象論理式を、観測データに追加して、再度、仮説候補を導出する。
このように、本実施の形態では、複数の仮説候補を統合して論理式集合が構築され、この論理式集合について検証が行われる。このため、複数の仮説の中から、検証に値する仮説を選択するに際して、処理負担を増加させることなく、誤った仮説候補が選択される可能性を低減することができる。
また、本実施の形態では、仮説を構成する論理式の真偽判定の結果、又は新たなパラメータの値が追加された論理式を用いて、仮説の導出が再度行われる。本実施の形態によれば、仮説を検証でき、検証結果に基づいて、仮説を修正することが可能となる。
続いて、図2を用いて、本実施の形態における仮説検証装置10の構成をより具体的に説明する。図2は、本発明の実施の形態における仮説検証装置の構成を具体的に示すブロック図である。
図2に示すように、本実施の形態における仮説検証装置10は、上述した仮説生成部11、仮説統合部12及び仮説検証部13に加えて、帰結設定部14と、帰結格納部15と、推論知識格納部16と、データ解析部17と、検証結果表示部18と、入力受付部19とを備えている。また、仮説検証装置10は、液晶表示装置等の表示装置20に接続されている。
入力受付部19は、外部からの観測データの入力を受け付ける。また、本実施の形態では、観測データは、全てのパラメータに、推論の対象となる事象の観測によって得られた値を持つ、論理式の形式で表現されたデータである。入力受付部19は、受け付けた観測データを帰結設定部14に渡す。
帰結設定部14は、観測データを、帰結格納部15に照合して、観測データに対応する帰結を設定する。また、設定された帰結は、仮説推論の起点となる。帰結格納部15は、論理式毎に予め帰結を登録しているデータベースである。図3は、本発明の実施の形態において帰結格納部が格納しているデータの一例を示す図である。図3に示すように、帰結格納部15は、論理式毎に設定された帰結を登録している。
推論知識格納部16は、仮説生成部11による仮説の導出に用いられる知識データを格納している。図4は、本発明の実施の形態において用いられる知識データの一例を示す図である。図4に示すように、本実施の形態において知識データは、推論知識である。
仮説生成部11は、本実施の形態では、観測データと、帰結設定部14によって設定された帰結と、推論知識格納部16が格納している知識データとを用いて、仮説推論を行って、仮説候補を導出する。仮説推論の手法としては、上述の特許文献1でも利用されている重み付き仮説推論が挙げられる。
具体的には、仮説生成部11は、上述の特許文献1及び非特許文献1に開示されている手法を用いて、推論知識格納部16が格納している推論知識の中から、帰結設定部14によって設定された帰結に結びつく推論知識を選択し、選択した推論知識に観測データを追加する。これにより、選択された推論知識の数だけ、仮説候補が生成される。
続いて、仮説生成部11は、評価関数による評価値が、同等で最良であり、且つ、構成の異なる、複数の仮説候補を選択する(下記文献1及び2参照)。例えば、仮説生成部11は、観測データに与えられたコストと、各推論知識に付与されている重みとを用いて、評価値として、作成した仮説候補それぞれのコストを算出する。そして、仮説生成部11は、最もコストが低く、且つ、構成の異なる、複数の仮説候補を選択する。以下、このような手法を、「K-best解出力手法」と表記する。
文献1:“What’s New in Gurobi7.0”,[online] ,2016 11-16,GUROBI OPTIMIZATION, <URL: http://www.gurobi.com/pdfs/webinars/gurobi-7.0-webinar-slides-de.pdf>
文献2:Jose A. Gamez,“Abductive Inference in Bayesian Networks”, [online], Springer Link,<URL: https://link.springer.com/chapter/10.1007/978-3-540-39879-0_6>
仮説統合部12は、本実施の形態では、例えば、図5に示すように、仮説候補1~3それぞれの論理式を統合する。図5は、本発明の実施の形態における仮説統合部による統合処理の一例を示す図である。図5の例では、仮説候補の論理式である「isFoo(“File”, “foo”)」、「isBar(“File”, “bar”)」、「isBaz(“File”, “baz”)」は、それぞれ重複しているので、削除される。
また、仮説生成部11が、グラフ構造で構成された仮説候補を導出している場合は、仮説統合部12は、図6に示すように、重複している論理式の削除後に、グラフ構造に基づいて、論理式集合を構成する論理式によるグラフ構造を構築する。つまり、この場合、仮説生成部11は、グラフ構造を考慮して統合処理を実行する。図6は、本発明の実施の形態における仮説統合部による統合処理の他の例を示す図である。
データ解析部17は、論理式毎に、その論理式の名前と、その論理式に含まれるパラメータの値を抽出可能な解析ツールとを関連付けて登録している。そして、データ解析部17は、論理式の名前及び観測データ、又は論理式の名前及び第1のパラメータの値が入力されると、入力に応じて、解析ツールを実行する。
また、本実施の形態において利用可能な解析ツールとしては、アプリケーションプログラム(webアプリケーションプログラムを含む)によって提供されている、既知の各種ファイル解析ツールが挙げられる。
仮説検証部13は、本実施の形態では、データ解析部17に、観測データ及び対象論理式の名前を入力し、それによって、対象論理式の真偽の判定、又は第2のパラメータの値の取得を実行する。
具体的には、本実施の形態では、仮説検証部13は、まず、論理式集合の中に、2つ以上のパラメータを持ち、且つ、その一部のパラメータ(第1のパラメータ)のみが値を持つ論理式(対象論理式)が存在しているかどうかを判定する。
判定の結果、条件に該当する対象論理式が存在する場合は、仮説検証部13は、これを検索クエリとする。続いて、仮説検証部13は、検索クエリを用いて、データ解析部17が登録している解析ツールに対して検索を行い、これらの中から、検索クエリに適用可能な解析ツールを特定する。続いて、仮説検証部13は、データ解析部17に、特定した解析ツールを実行させ、対象論理式の第1のパラメータの値から、第2のパラメータの値を取得させる。
一方、上述の判定の結果、条件に該当する対象論理式が存在しない場合は、1つ以上のパラメータに、予め値を持つ、又は推論知識によって得られた値を持つ、論理式が存在することを条件に、上述したように、仮説検証部13は、この論理式の真偽を判定する。
真偽の判定は、例えば、予め値を持つパラメータに対し、解析ツールを実行させて値を取得し、その値が予め持つ値と同じであれば真、異なれば偽とすることによって行なうことができる。または、真偽の判定は、解析ツールを実行させて推論知識によって得られた値を持つ論理式が成立すると判定されれば真、成立しないと判定されれば偽とすることによっても行なうことができる。また、このような場合の解析ツールは、1つ以上のパラメータに、予め値を持つ、又は推論知識によって得られた値を持つ、論理式を、検索クエリとして用いて検索される。
また、仮説検証部13によって第2のパラメータの値が取得できた場合は、仮説生成部11は、対象論理式の第2のパラメータに、取得できた値を事象の観測によって得た値として入力する。そして、仮説生成部11は、入力後の対象論理式を観測データに追加し、追加した観測データから、仮説候補を再度導出する。
一方、仮説検証部13によって対象論理式の真偽判定が行われた場合は、仮説生成部11は、真偽判定の結果を、判定対象となった論理式に反映する。例えば、真であれば、判定対象となった論理式に対して何もせず、偽であれば、判定対象となった論理式の予め値を持つパラメータに解析データの実行によって得られた値を代入し、値が代入された論理式を新たな論理式とする。または、仮説生成部11は、偽と判定された論理式に否定演算子を付与しても良い。具体的には、否定演算子の付与は、例えばfile(foo.rar, “executable”)の冒頭に“!”を付与して、「!file(foo.rar, “executable”)」を観測データとする。そして、仮説生成部11は、真偽判定の結果が反映された論理式を観測データに追加し、追加した観測データから、仮説候補を再度導出する。
本実施の形態では、このように、仮説生成部11による仮説候補の導出、仮説統合部12による仮説候補の統合、及び仮説検証部13による仮説候補の検証が繰り返し行われる。そして、仮説生成部11は、仮説候補を構成している論理式のいずれに対しても適用可能な解析ツールが無くなると、即ち、仮説候補を構成している全ての論理式が全てのパラメータに値を有するようになると、この仮説候補を最終的な仮説として出力する。このような、全てのパラメータに値を持つ論理式のみで構成されている仮説は、完全に検証されており、即ち、証明された仮説と言える。
検証結果表示部18は、仮説生成部11によって出力された最終的な仮説を、検証結果として表示装置20の画面上に表示する。図2の例では、検証結果は、仮説検証装置10に接続された表示装置20の画面上に表示されている。なお、本実施の形態では、検証結果は、仮説検証装置10にネットワークを介して接続された端末装置の画面上に表示されても良い。
[装置動作]
次に、本発明の実施の形態における仮説検証装置10の動作について、図7を用いて説明する。図7は、本発明の実施の形態における仮説検証装置の動作を示すフロー図である。以下の説明においては、適宜図1~図6を参酌する。また、本実施の形態では、仮説検証装置10を動作させることによって、仮説検証方法が実施される。よって、本実施の形態における仮説検証方法の説明は、以下の仮説検証装置の動作説明に代える。
図7に示すように、最初に、入力受付部19は、外部からの観測データの入力を受け付ける(ステップA1)。入力受付部19は、受け付けた観測データを帰結設定部14に渡す。
次に、帰結設定部14は、観測データを、帰結格納部15(図3参照)に照合して、観測データに対応する帰結を設定する(ステップA2)。
次に、仮説生成部11は、観測データと、帰結設定部14によって設定された帰結と、推論知識格納部16が格納している推論知識とを用いて、仮説推論を行って、仮説候補を導出する(ステップA3)。具体的には、ステップA3では、仮説生成部11は、K-best解出力手法を用いて、評価関数による評価値が、同等で最良であり、且つ、構成の異なる、複数の仮説候補を導出する。
次に、仮説統合部12は、ステップA3において仮説候補が複数生成されると、仮説候補それぞれの論理式を統合して、論理式集合を構築し、そして、論理式集合の中に、重複する論理式が存在する場合は、そのうち一つのみを残し、残りを削除する(ステップA4)。
次に、仮説検証部13は、ステップA4によって得られた論理式集合の中に、2つ以上のパラメータを持ち、且つ、その一部のパラメータ(第1のパラメータ)のみが値を持つ、論理式(対象論理式)が存在しているかどうかを判定する(ステップA5)。
ステップAの判定の結果、条件に該当する対象論理式が存在する場合は、仮説検証部13は、条件に該当する対象論理式を検索クエリとして、データ解析部17が登録している解析ツールに対して検索を実行する(ステップA6)。
次に、仮説検証部13は、ステップA6の実行によって適用可能な解析ツールを検索できたかどうかを判定する(ステップA7)。ステップA7の判定の結果、検索できなかった場合は、仮説検証部13は、ステップA14を実行する。
一方、ステップA7の判定の結果、検索できた場合は、仮説検証部13は、データ解析部17に、検索した解析ツールを実行させ、対象論理式の第1のパラメータの値から、第2のパラメータの値を取得する(ステップA8)。
次に、ステップA8の実行後は、仮説生成部11は、対象論理式の第2のパラメータに、取得できた値を入力し、入力後の対象論理式を観測データに追加して、追加した観測データから、仮説候補を再度導出する(ステップA9)。その後、再度、ステップA5が実行される。
また、ステップA5の判定の結果、条件に該当する対象論理式が存在しない場合は、1つ以上のパラメータに、予め値を持つ、又は推論知識によって得られた値を持つ、論理式が存在することを条件に、仮説検証部13は、この論理式を検索クエリとして、データ解析部17が登録している解析ツールに対して検索を実行する(ステップA10)。
次に、仮説検証部13は、ステップA10の実行によって適用可能な解析ツールを検索できたかどうかを判定する(ステップA11)。ステップA11の判定の結果、検索できなかった場合は、仮説検証部13は、ステップA14を実行する。
一方、ステップA11の判定の結果、検索できた場合は、仮説検証部13は、データ解析部17に、検索した解析ツールを実行させ、1つ以上のパラメータに、予め値を持つ、又は推論知識によって得られた値を持つ、論理式の真偽を判定する(ステップA12)。
次に、ステップA12の実行後は、仮説検証部13は、真偽判定の結果を、判定対象となった論理式に反映し、真偽判定の結果が反映された論理式を観測データに追加して、追加した観測データから、仮説候補を再度導出する(ステップA13)。その後、再度、ステップA5が実行される。
また、ステップA7又はステップA11でNoと判定された場合は、仮説生成部11は、判定対象となった仮説候補を最終的な仮説として出力する(ステップA1)。ステップA1の実行後、検証結果表示部18は、ステップA13によって出力された最終的な仮説を検証結果として画面上に表示する。
ここで、図8を用いて、図7に示したステップA6~A9についてより具体的に説明する。図8は、本発明の実施の形態において図7に示すステップA6~A9をより具体的に示すフロー図である。図8に示すフローに沿って処理を実行した場合は、データ解析部17による解析をバッチ処理で行うことが可能となる。
最初に、図8に示すように、データ解析部17は、対象論理式(検索クエリ)と仮説検証部13によって特定された解析ツールの識別情報とを取得する(ステップB1)。
次に、データ解析部17は、対象論理式を構成しているパラメータとその値とを抽出する(ステップB2)。
次に、データ解析部17は、仮説検証部13によって特定された解析ツール毎に、対応する論理式の名前と観測データとを入力して、当該解析ツールを実行し、解析結果の取得を試みる(ステップB3)。
次に、仮説検証部13は、ステップB3によって解析結果が取得されているかどうかを判定する(ステップB4)。ステップBの判定の結果、解析結果が取得されていない場合は、仮説検証部13は、検証は失敗であると判断する(ステップB7)。その後、仮説検証部13は、そのことを外部に出力する。
一方、ステップBの判定の結果、解析結果が取得されている場合は、仮説検証部13は、解析結果に対応する論理式のパラメータに既存の値が存在しているかどうかを判定する(ステップB5)。
ステップB5の判定の結果、解析結果に対応する論理式のパラメータに既存の値が存在していない場合は、仮説検証部13は、検証は成功であると判断する。この場合、仮説生成部11は、解析結果で得られた値をパラメータの値とする論理式を、観測データに追加する(ステップB)。
一方、ステップB5の判定の結果、解析結果に対応する論理式のパラメータに既存の値が存在している場合は、仮説検証部13は、解析結果に対応するパラメータに存在している既存の値と、解析結果で得られた値とが一致しているかどうかを判定する(ステップB6)。
ステップB6の判定の結果、一致していない場合は、仮説検証部13は、検証は失敗であると判断する。この場合、仮説生成部11は、解析結果で得られた値を解析結果に対応するパラメータの値とする論理式を、観測データに追加する(ステップB9)。
一方、ステップB6の判定の結果、一致している場合は、仮説検証部13は、検証は成功であると判断する。この場合、仮説生成部11は、解析結果で得られた値を、又は解析結果に対応するパラメータに存在している既存の値を、パラメータの値とする論理式を、観測データに追加する(ステップB10)。
[実施の形態における効果]
このように、本実施の形態によれば、複数の仮説候補を統合して論理式集合が構築され、この論理式集合について検証が行われる。このため、複数の仮説候補の中から、検証に値する仮説候補を選択するに際して、処理負担が低減される。また、統合の対象となる仮説候補は、評価関数による評価値が、同等で最良であり、且つ、構成の異なる、複数の仮説候補である。よって、誤った仮説候補が選択される可能性が大きく低減される。
加えて、本実施の形態では、仮説候補に対して検証が行われ、完全に検証された仮説候補のみが最終的な仮説として出力される。即ち、本実施の形態では、仮説の検証を行なうと共に仮説推論を繰り返して仮説の修正も行なわれるので、観測データとデータの解析結果とを含む事実を元に最もよく検証された仮説を得ることが可能となる。また、本実施の形態では、仮説の全ての構成要素が検証された場合に、人手による試行錯誤を必要とすることなく、事実によって証明された結論を得ることができる。
[具体例1]
ここで、図9を用いて、本実施の形態の具体例1について説明する。図9は、本発明の実施の形態における具体例1での処理内容を示す図である。図9の例は、MD5で暗号化されたデータが復号され、それによって所望の文字列が取得される例を示している。この例では、入力受付部19は、観測データとして、例えば、「isText」と「!isMeaningful」との入力を受け付ける。
これにより、仮説生成部11は、K-best解出力手法を用いて、仮説候補として、仮説候補1「検証すべき仮説は無し」、仮説候補2「[detectEncryption]、[decryptMD5]」、仮説候補3「[detectEncryption]、[decryptBASE32]」を導出する。
次いで、仮説統合部12は、図9に示すように、仮説候補1~3それぞれの論理式を統合する。図9の例では、仮説候補の論理式である「detectEncryption」は、仮説候補2及び3において重複しているので、削除される。
続いて、仮説検証部13は、仮説統合部12によって得られた論理式集合に対して検証を実行して、論理式の真偽判定、又は対象論理式への値の入力を行う。その後、仮説生成部11は、真偽判定がなされた論理式又は対象論理式を、観測データに追加して、再度、仮説候補を導出する。図9の例では、新たな仮説候補として、「decryptMD5」と、「!decryptBASE32」とが導出され、これらが最終的な仮説として画面上に表示される。
このように、図9の例では、観測データから「検証すべき仮説は無し」が導出されていたとしても、他にも仮説候補が導出されている場合は、最終的な仮説が導かれる。これに対して、背景技術の欄に示したように、最も証明コストの低い仮説候補が只1つ選択される場合では、「検証すべき仮説は無し」のみが導出されてしまうと、最終的な仮説は無しとされてしまう。本具体例1から分かるように、本実施の形態によれば、誤った仮説候補が選択される可能性が大きく低減される。
[具体例2]
続いて、図10を用いて、本実施の形態の具体例2について説明する。図10は、本発明の実施の形態における具体例2での処理内容を示す図である。図10の例は、ログファイルから不正ログインの痕跡が発見される例が示されている。この例では、入力受付部19は、例えば、観測データとして、「isEventFile」の入力を受け付ける。
これにより、仮説生成部11は、K-best解出力手法を用いて、仮説候補として、仮説候補1「getNetworkLogon」、仮説候補2「getExecFromRemote」、仮説候補3「getGeneralTaskRegistration」、仮説候補4「getLogonFromGlobal」、仮説候補5「getAccountFailedToLogon」を導出する。
次いで、仮説統合部12は、図9に示すように、仮説候補1~5それぞれの論理式を統合する。図10の例では、重複している仮説候補は存在しないので、仮説候補1~5全ての論理式が統合される。
続いて、仮説検証部13は、仮説統合部12によって得られた論理式集合に対して検証を実行して、論理式の真偽判定、又は対象論理式への値の入力を行う。その後、仮説生成部11は、真偽判定がなされた論理式又は対象論理式を、観測データに追加して、再度、仮説候補を導出する。図10の例では、検証の結果、「getAccountFailedToLogon」以外の論理式は棄却され、最終的には、「hasEvilLogonAccount」が導出され、これが最終的な仮説として画面上に表示される。
このように、図10の例では、仮説候補5以外の仮説候補が棄却されているが、背景技術の欄に示したように、最も証明コストの低い仮説候補が只1つ選択される場合では、棄却される仮説候補のみが導出され、仮説が行われない事態が生じる可能性がある。例えば、図10に示したように仮説候補1のみが導出された場合は、仮説の検証の結果、「! getNetworkLogon」が導出され、この後、最終的な仮説が導出されることなく処理が終了する。このことからも、本実施の形態によれば、誤った仮説候補が選択される可能性が大きく低減される。
[プログラム]
本発明の実施の形態におけるプログラムは、コンピュータに、図7に示すステップA1~A1を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態における仮説検証装置と仮説検証方法とを実現することができる。この場合、コンピュータのプロセッサは、仮説生成部11、仮説統合部12、仮説検証部13、帰結設定部14、データ解析部17、検証結果表示部18、及び入力受付部19として機能し、処理を行なう。
また、本実施の形態では、帰結格納部15、及び推論知識格納部16は、コンピュータに備えられたハードディスク等の記憶装置に、これらを構成するデータファイルを格納することによって実現できる。
また、本実施の形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、仮説生成部11、仮説統合部12、仮説検証部13、帰結設定部14、データ解析部17、検証結果表示部18、及び入力受付部19のいずれかとして機能しても良い。また、帰結格納部15、及び推論知識格納部16は、本実施の形態におけるプログラムを実行するコンピュータとは別のコンピュータ上に構築されていても良い。
ここで、本実施の形態におけるプログラムを実行することによって、仮説検証装置10を実現するコンピュータについて図11を用いて説明する。図11は、本発明の実施の形態における仮説検証装置を実現するコンピュータの一例を示すブロック図である。
図11に示すように、コンピュータ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)~(付記15)によって表現することができるが、以下の記載に限定されるものではない。
(付記1)
1つの名前及び1つ以上のパラメータを含む論理式の集合によって表現された、観測データから、前記観測データと同じ形式で表現された、知識データを用いて、ありうる帰結に至る前記論理式を有する仮説候補を、複数導出する、仮説生成部と、
前記仮説候補それぞれの前記論理式を統合して、論理式集合を構築し、そして、前記論理式集合の中に、重複する論理式が存在する場合は、そのうち一つのみを残し、残りを削除する、仮説統合部と、
前記論理式集合の中に、前記観測データから得られた値を有する第1のパラメータと、前記観測データから得られた値を有していない第2のパラメータとを含む論理式が存在する場合は、これを対象論理式として、前記観測データ及び前記対象論理式の名前に基づいて、前記第2のパラメータの値を取得して、取得した前記第2のパラメータの値を前記対象論理式に入力し、
一方、前記対象論理式となる論理式が存在せず、1つ以上のパラメータに、予め値を持つ、又は推論知識によって得られた値を持つ、論理式が存在する場合は、この存在する論理式に対して真偽を判定する、仮説検証部と、
を備え、
前記仮説生成部は、前記論理式の真偽が判定されるか、または、前記対象論理式に前記第2のパラメータの値が入力されると、真偽判定がなされた論理式又は前記対象論理式を、前記観測データに追加して、再度、仮説候補を導出する、
ことを特徴とする仮説検証装置。
(付記2)
付記1に記載の仮説検証装置であって、
前記仮説生成部が、評価関数による評価値が、同等で最良であり、且つ、構成の異なる、複数の前記仮説候補を導出する、
ことを特徴とする仮説検証装置。
(付記3)
付記1または2に記載の仮説検証装置であって、
前記仮説生成部が、グラフ構造で構成された前記仮説候補を導出し、
前記仮説統合部が、削除後に、前記グラフ構造に基づいて、前記論理式集合を構成する前記論理式によるグラフ構造を構築する、
ことを特徴とする仮説検証装置。
(付記4)
付記1~3のいずれかに記載の仮説検証装置であって、
前記仮説生成部が、前記論理式集合を構成する前記論理式それぞれが、その全てのパラメータに値を有している場合に、最後に導出した仮説候補を最終的な仮説として出力する、
ことを特徴とする仮説検証装置。
(付記5)
付記4に記載の仮説検証装置であって、
前記最終的な仮説を検証結果として画面上に表示する、検証結果表示部を更に備えている、
ことを特徴とする仮説検証装置。
(付記6)
(a)1つの名前及び1つ以上のパラメータを含む論理式の集合によって表現された、観測データから、前記観測データと同じ形式で表現された、知識データを用いて、ありうる帰結に至る前記論理式を有する仮説候補を、複数導出する、ステップと、
(b)前記仮説候補それぞれの前記論理式を統合して、論理式集合を構築し、そして、前記論理式集合の中に、重複する論理式が存在する場合は、そのうち一つのみを残し、残りを削除する、ステップと、
(c)前記論理式集合の中に、前記観測データから得られた値を有する第1のパラメータと、前記観測データから得られた値を有していない第2のパラメータとを含む論理式が存在する場合は、これを対象論理式として、前記観測データ及び前記対象論理式の名前に基づいて、前記第2のパラメータの値を取得して、取得した前記第2のパラメータの値を前記対象論理式に入力する、ステップと、
(d)前記論理式集合の中に、前記対象論理式となる論理式が存在せず、1つ以上のパラメータに、予め値を持つ、又は推論知識によって得られた値を持つ、論理式が存在する場合は、この存在する論理式に対して真偽を判定する、ステップと、
(e)前記(d)のステップで前記論理式の真偽が判定されるか、または、前記(c)のステップで前記対象論理式に前記第2のパラメータの値が入力されると、真偽判定がなされた論理式又は前記対象論理式を、前記観測データに追加して、再度、仮説候補を導出する、ステップと、
を有する、ことを特徴とする仮説検証方法。
(付記7)
付記6に記載の仮説検証方法であって、
前記(a)のステップで、評価関数による評価値が、同等で最良であり、且つ、構成の異なる、複数の前記仮説候補を導出する、
ことを特徴とする仮説検証方法。
(付記8)
付記6または7に記載の仮説検証方法であって、
前記(a)のステップで、グラフ構造で構成された前記仮説候補を導出し、
前記(b)のステップで、削除後に、前記グラフ構造に基づいて、前記論理式集合を構成する前記論理式によるグラフ構造を構築する、
ことを特徴とする仮説検証方法。
(付記9)
付記6~8のいずれかに記載の仮説検証方法であって、
前記(e)のステップで、前記論理式集合を構成する前記論理式それぞれが、その全てのパラメータに値を有している場合に、最後に導出した仮説候補を最終的な仮説として出力する、
ことを特徴とする仮説検証方法。
(付記10)
付記9に記載の仮説検証方法であって、
(f)前記最終的な仮説を検証結果として画面上に表示する、ステップを更に有する、
ことを特徴とする仮説検証方法。
(付記11)
コンピュータに、
(a)1つの名前及び1つ以上のパラメータを含む論理式の集合によって表現された、観測データから、前記観測データと同じ形式で表現された、知識データを用いて、ありうる帰結に至る前記論理式を有する仮説候補を、複数導出する、ステップと、
(b)前記仮説候補それぞれの前記論理式を統合して、論理式集合を構築し、そして、前記論理式集合の中に、重複する論理式が存在する場合は、そのうち一つのみを残し、残りを削除する、ステップと、
(c)前記論理式集合の中に、前記観測データから得られた値を有する第1のパラメータと、前記観測データから得られた値を有していない第2のパラメータとを含む論理式が存在する場合は、これを対象論理式として、前記観測データ及び前記対象論理式の名前に基づいて、前記第2のパラメータの値を取得して、取得した前記第2のパラメータの値を前記対象論理式に入力する、ステップと、
(d)前記論理式集合の中に、前記対象論理式となる論理式が存在せず、1つ以上のパラメータに、予め値を持つ、又は推論知識によって得られた値を持つ、論理式が存在する場合は、この存在する論理式に対して真偽を判定する、ステップと、
(e)前記(d)のステップで前記論理式の真偽が判定されるか、または、前記(c)のステップで前記対象論理式に前記第2のパラメータの値が入力されると、真偽判定がなされた論理式又は前記対象論理式を、前記観測データに追加して、再度、仮説候補を導出する、ステップと、
を実行させる、プログラム。
(付記12)
付記11に記載のプログラムであって、
前記(a)のステップで、評価関数による評価値が、同等で最良であり、且つ、構成の異なる、複数の前記仮説候補を導出する、
ことを特徴とするプログラム
(付記13)
付記11または12に記載のプログラムであって、
前記(a)のステップで、グラフ構造で構成された前記仮説候補を導出し、
前記(b)のステップで、削除後に、前記グラフ構造に基づいて、前記論理式集合を構成する前記論理式によるグラフ構造を構築する、
ことを特徴とするプログラム
(付記14)
付記11~13のいずれかに記載のプログラムであって、
前記(e)のステップで、前記論理式集合を構成する前記論理式それぞれが、その全てのパラメータに値を有している場合に、最後に導出した仮説候補を最終的な仮説として出力する、
ことを特徴とするプログラム
(付記15)
付記14に記載のプログラムであって、
記コンピュータに、
(f)前記最終的な仮説を検証結果として画面上に表示する、ステップを実行させる、
ことを特徴とするプログラム
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
このように、本発明によれば、複数の仮説候補の中から、検証に値する仮説候補を選択するに際して、処理負担を増加させることなく、誤った仮説候補が選択される可能性を低減することができる。本発明は、事故、犯罪、サイバー攻撃などの状況または原因を明らかにする作業の効率化に有用である。同様に、本発明は、災害及びシステム障害の原因分析と対策検討にも有用である。
10 仮説検証装置
11 仮説生成部
12 仮説統合部
13 仮説検証部
14 帰結設定部
15 帰結格納部
16 推論知識格納部
17 データ解析部
18 検証結果表示部
19 入力受付部
20 表示装置
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス

Claims (7)

  1. 1つの名前及び1つ以上のパラメータを含む論理式の集合によって表現された、観測データから、前記観測データと同じ形式で表現された、知識データを用いて、ありうる帰結に至る前記論理式を有する仮説候補を、複数導出する、仮説生成部と、
    前記仮説候補それぞれの前記論理式を統合して、論理式集合を構築し、そして、前記論理式集合の中に、重複する論理式が存在する場合は、そのうち一つのみを残し、残りを削除する、仮説統合部と、
    前記論理式集合の中に、前記観測データから得られた値を有する第1のパラメータと、前記観測データから得られた値を有していない第2のパラメータとを含む論理式が存在する場合は、これを対象論理式として、前記観測データ及び前記対象論理式の名前に基づいて、前記第2のパラメータの値を取得して、取得した前記第2のパラメータの値を前記対象論理式に入力し、
    一方、前記対象論理式となる論理式が存在せず、1つ以上のパラメータに、予め値を持つ、又は推論知識によって得られた値を持つ、論理式が存在する場合は、この存在する論理式に対して真偽を判定する、仮説検証部と、
    を備え、
    前記仮説生成部は、前記論理式の真偽が判定されるか、または、前記対象論理式に前記第2のパラメータの値が入力されると、真偽判定がなされた論理式又は前記対象論理式を、前記観測データに追加して、再度、仮説候補を導出する、
    ことを特徴とする仮説検証装置。
  2. 請求項1に記載の仮説検証装置であって、
    前記仮説生成部が、評価関数による評価値が、同等で最良であり、且つ、構成の異なる、複数の前記仮説候補を導出する、
    ことを特徴とする仮説検証装置。
  3. 請求項1または2に記載の仮説検証装置であって、
    前記仮説生成部が、グラフ構造で構成された前記仮説候補を導出し、
    前記仮説統合部が、削除後に、前記グラフ構造に基づいて、前記論理式集合を構成する前記論理式によるグラフ構造を構築する、
    ことを特徴とする仮説検証装置。
  4. 請求項1~3のいずれかに記載の仮説検証装置であって、
    前記仮説生成部が、前記論理式集合を構成する前記論理式それぞれが、その全てのパラメータに値を有している場合に、最後に導出した仮説候補を最終的な仮説として出力する、
    ことを特徴とする仮説検証装置。
  5. 請求項4に記載の仮説検証装置であって、
    前記最終的な仮説を検証結果として画面上に表示する、検証結果表示部を更に備えている、
    ことを特徴とする仮説検証装置。
  6. コンピュータが実行する方法であって、
    (a)1つの名前及び1つ以上のパラメータを含む論理式の集合によって表現された、観測データから、前記観測データと同じ形式で表現された、知識データを用いて、ありうる帰結に至る前記論理式を有する仮説候補を、複数導出する、ステップと、
    (b)前記仮説候補それぞれの前記論理式を統合して、論理式集合を構築し、そして、前記論理式集合の中に、重複する論理式が存在する場合は、そのうち一つのみを残し、残りを削除する、ステップと、
    (c)前記論理式集合の中に、前記観測データから得られた値を有する第1のパラメータと、前記観測データから得られた値を有していない第2のパラメータとを含む論理式が存在する場合は、これを対象論理式として、前記観測データ及び前記対象論理式の名前に基づいて、前記第2のパラメータの値を取得して、取得した前記第2のパラメータの値を前記対象論理式に入力する、ステップと、
    (d)前記論理式集合の中に、前記対象論理式となる論理式が存在せず、1つ以上のパラメータに、予め値を持つ、又は推論知識によって得られた値を持つ、論理式が存在する場合は、この存在する論理式に対して真偽を判定する、ステップと、
    (e)前記(d)のステップで前記論理式の真偽が判定されるか、または、前記(c)のステップで前記対象論理式に前記第2のパラメータの値が入力されると、真偽判定がなされた論理式又は前記対象論理式を、前記観測データに追加して、再度、仮説候補を導出する、ステップと、
    を有する、ことを特徴とする仮説検証方法。
  7. コンピュータに、
    (a)1つの名前及び1つ以上のパラメータを含む論理式の集合によって表現された、観測データから、前記観測データと同じ形式で表現された、知識データを用いて、ありうる帰結に至る前記論理式を有する仮説候補を、複数導出する、ステップと、
    (b)前記仮説候補それぞれの前記論理式を統合して、論理式集合を構築し、そして、前記論理式集合の中に、重複する論理式が存在する場合は、そのうち一つのみを残し、残りを削除する、ステップと、
    (c)前記論理式集合の中に、前記観測データから得られた値を有する第1のパラメータと、前記観測データから得られた値を有していない第2のパラメータとを含む論理式が存在する場合は、これを対象論理式として、前記観測データ及び前記対象論理式の名前に基づいて、前記第2のパラメータの値を取得して、取得した前記第2のパラメータの値を前記対象論理式に入力する、ステップと、
    (d)前記論理式集合の中に、前記対象論理式となる論理式が存在せず、1つ以上のパラメータに、予め値を持つ、又は推論知識によって得られた値を持つ、論理式が存在する場合は、この存在する論理式に対して真偽を判定する、ステップと、
    (e)前記(d)のステップで前記論理式の真偽が判定されるか、または、前記(c)のステップで前記対象論理式に前記第2のパラメータの値が入力されると、真偽判定がなされた論理式又は前記対象論理式を、前記観測データに追加して、再度、仮説候補を導出する、ステップと、
    を実行させる、プログラム。
JP2021501235A 2019-02-21 2019-02-21 仮説検証装置、仮説検証方法、及びプログラム Active JP7259932B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/006648 WO2020170400A1 (ja) 2019-02-21 2019-02-21 仮説検証装置、仮説検証方法、及びコンピュータ読み取り可能な記録媒体

Publications (2)

Publication Number Publication Date
JPWO2020170400A1 JPWO2020170400A1 (ja) 2021-12-16
JP7259932B2 true JP7259932B2 (ja) 2023-04-18

Family

ID=72144801

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021501235A Active JP7259932B2 (ja) 2019-02-21 2019-02-21 仮説検証装置、仮説検証方法、及びプログラム

Country Status (3)

Country Link
US (1) US20220147850A1 (ja)
JP (1) JP7259932B2 (ja)
WO (1) WO2020170400A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022190326A1 (ja) * 2021-03-11 2022-09-15 日本電気株式会社 推論分析装置、推論装置、推論分析方法、及びコンピュータ読み取り可能な記録媒体

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018229877A1 (ja) 2017-06-13 2018-12-20 日本電気株式会社 仮説推論装置、仮説推論方法、及びコンピュータ読み取り可能な記録媒体

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59188747A (ja) * 1983-04-08 1984-10-26 Nec Corp 潜在エラ−検出装置
EP1877968A2 (en) * 2005-04-12 2008-01-16 Alianna J. Maren System and method for evidence accumulation and hypothesis generation
US8756173B2 (en) * 2011-01-19 2014-06-17 Qualcomm Incorporated Machine learning of known or unknown motion states with sensor fusion
US9177250B2 (en) * 2013-06-28 2015-11-03 Vmware, Inc. Method and system for determining configuration rules based on configurations of complex systems
JP2016091039A (ja) * 2014-10-29 2016-05-23 株式会社デンソー 危険予測装置、運転支援システム
US10267661B2 (en) * 2015-03-23 2019-04-23 Incoming Pty Ltd Energy efficient mobile context collection
US11113614B2 (en) * 2015-07-29 2021-09-07 Parsons Corporation Enterprise hypothesis orchestration
US10296443B2 (en) * 2015-10-09 2019-05-21 The Board Of Trustees Of The University Of Illinois Automatically predicting faults that caused software failures using a Markov logic network
US10592603B2 (en) * 2016-02-03 2020-03-17 International Business Machines Corporation Identifying logic problems in text using a statistical approach and natural language processing
US11042702B2 (en) * 2016-02-04 2021-06-22 International Business Machines Corporation Solving textual logic problems using a statistical approach and natural language processing
JP6555175B2 (ja) * 2016-04-01 2019-08-07 株式会社デンソー 運転支援装置及び運転支援プログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018229877A1 (ja) 2017-06-13 2018-12-20 日本電気株式会社 仮説推論装置、仮説推論方法、及びコンピュータ読み取り可能な記録媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
兼岩 憲,東条 敏,イベントとプロパティの区別を導入した型階層論理,コンピュータソフトウェア,日本,日本ソフトウェア科学会 JAPAN SOCIETY FOR SOFTWARE,2000年03月15日,VOL.17 NO.2,第10~24ページ

Also Published As

Publication number Publication date
WO2020170400A1 (ja) 2020-08-27
US20220147850A1 (en) 2022-05-12
JPWO2020170400A1 (ja) 2021-12-16

Similar Documents

Publication Publication Date Title
KR102705925B1 (ko) 샌드박스 및 인공지능을 사용한 블록체인 스마트 계약 기반 디지털 자산에 대한 지속적인 취약점 관리 시스템
JP6530786B2 (ja) Webページの悪意のある要素を検出するシステム及び方法
US11734433B2 (en) Open source vulnerability remediation tool
US10990516B1 (en) Method, apparatus, and computer program product for predictive API test suite selection
KR102101050B1 (ko) 소프트웨어 빌드 에러를 예측하기 위한 방법 및 시스템
US11941491B2 (en) Methods and apparatus for identifying an impact of a portion of a file on machine learning classification of malicious content
US20210136098A1 (en) Root cause analysis in multivariate unsupervised anomaly detection
JP5946423B2 (ja) システム・ログの分類方法、プログラム及びシステム
KR20190109427A (ko) 침입 탐지를 위한 지속적인 학습
Gonzalez et al. Automated characterization of software vulnerabilities
US11385988B2 (en) System and method to improve results of a static code analysis based on the probability of a true error
JP5868515B2 (ja) シグニチャ検証装置及びシグニチャ検証方法及びプログラム
JPWO2020137847A1 (ja) アタックツリー生成装置、アタックツリー生成方法およびアタックツリー生成プログラム
JP7259932B2 (ja) 仮説検証装置、仮説検証方法、及びプログラム
WO2021183382A1 (en) Graph-based method for inductive bug localization
JP5555238B2 (ja) ベイジアンネットワーク構造学習のための情報処理装置及びプログラム
CN115208938B (zh) 用户行为管控方法及装置、计算机可读存储介质
JP6911928B2 (ja) 仮説検証装置、仮説検証方法、及びプログラム
Ufuktepe et al. Estimating software robustness in relation to input validation vulnerabilities using Bayesian networks
KR20210134527A (ko) 데이터 처리 방법, 장치, 기기, 저장 매체 및 컴퓨터 프로그램
KR102046249B1 (ko) 머신러닝 기반 악성코드 탐지를 위한 특성선정 방법 및 이를 수행하기 위한 기록매체 및 장치
JP5532052B2 (ja) 評価モデル分析システム、評価モデル分析方法およびプログラム
WO2020044413A1 (ja) 仮説推論装置、仮説推論方法、及びコンピュータ読み取り可能な記録媒体
JP6631139B2 (ja) 検索制御プログラム、検索制御方法および検索サーバ装置
CN117114087B (zh) 故障预测方法、计算机设备和可读存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210819

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210819

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221025

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221221

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: 20230307

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230320

R151 Written notification of patent or utility model registration

Ref document number: 7259932

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151