(57)【要約】  知識が不足する場合でも推論を行うことができる推論システムを提供する。  推論システム（１００）の入力部（１１０）は、開始状態、及び、終了状態の入力を受け付ける。ルール候補生成部（１２０）は、開始状態から既知のルールを辿ることにより得られる第１の状態と、終了状態から既知のルールを遡ることにより得られる第２の状態とを、それぞれ特定する。そして、ルール候補生成部（１２０）は、第１の状態と第２の状態とに係るルール候補を生成、または、第１の状態に係るルール候補と前記第２の状態に係るルール候補とを生成する。ルール選択部（１３０）は、既知のルールを基に算出した、ルール候補の成立性に基づいて、当該ルール候補を新規のルールとして選択する。導出部（１４０）は、既知のルールと、新規のルールと、に基づいて、開始状態から終了状態を導出する導出処理を実行する。
2017081715.tif 000002
【特許請求の範囲】
【請求項１】
開始状態、及び、終了状態の入力を受け付ける入力手段と、
前記開始状態から既知のルールを辿ることにより得られる第１の状態と、前記終了状態から前記既知のルールを遡ることにより得られる第２の状態とを、それぞれ特定し、前記第１の状態と前記第２の状態とに係るルール候補を生成、または、前記第１の状態に係るルール候補と前記第２の状態に係るルール候補とを生成する、ルール候補生成手段と、
前記既知のルールを基に算出した、前記生成したルール候補の成立性に基づいて、当該ルール候補を新規のルールとして選択する、ルール選択手段と、
前記既知のルールと、前記新規のルールと、に基づいて、前記開始状態から前記終了状態を導出する導出処理を実行する、導出手段と、
を備える推論システム。
【請求項２】
前記ルール候補の成立性は、前記ルール候補に係る状態間の関係と、前記既知のルールに係る状態間の関係と、の類似性を基に算出される、
請求項１に記載の推論システム。
【請求項３】
前記ルール候補の成立性は、前記ルール候補に係る一の状態を表すベクトルをＶ１、他の状態を表すベクトルをＶ２、重み行列をＷと定義した場合に、Ｖ１Ｔ・Ｗ・Ｖ２により算出され、当該重み行列は、前記既知のルールに対して高い成立性を示すように学習される、
請求項２に記載の推論システム。
【請求項４】
前記ルール候補の成立性は、前記ルール候補に係る一の状態と前記既知のルールに係る一の状態との類似性、及び、当該ルール候補に係る他の状態と当該既知のルールに係る他の状態との類似性、を基に算出される、
請求項２に記載の推論システム。
【請求項５】
前記ルール候補生成手段は、１以上の前記第１の状態の各々と１以上の前記第２の状態の各々との組み合わせに対して、前記ルール候補を生成し、
前記ルール選択手段は、前記生成したルール候補の各々の成立性に基づいて、前記生成したルール候補から前記新規のルールを選択する、
請求項１乃至４のいずれかに記載の推論システム。
【請求項６】
前記ルール選択手段は、前記ルール候補の内、否定されている状態に係るルール候補を除外したルール候補から、前記新規のルールを選択する、
請求項５に記載の推論システム。
【請求項７】
前記導出手段は、さらに、前記開始状態から前記終了状態までのルールを示す導出木を表示する、
請求項１乃至６のいずれかに記載の推論システム。
【請求項８】
前記導出手段は、前記導出木において、前記新規のルールと前記既知のルールとを、互いに異なる態様で出力する、
請求項７に記載の推論システム。
【請求項９】
前記入力手段は、さらに、前記生成したルール候補の内、前記新規のルールとして選択すべきルール候補の指定を受け付け、
前記ルール選択手段は、さらに、前記指定されたルール候補を前記新規のルールとして選択する、
請求項１乃至８のいずれかに記載の推論システム。
【請求項１０】
前記入力手段は、前記開始状態を、所定の情報源から収集して設定する、
請求項１乃至９のいずれかに記載の推論システム。
【請求項１１】
前記ルールは、当該ルールに係る一の状態が前提であり、当該ルールに係る他の状態が帰結である関係を定義する、
請求項１乃至１０のいずれかに記載の推論システム。
【請求項１２】
開始状態、及び、終了状態の入力を受け付け、
前記開始状態から既知のルールを辿ることにより得られる第１の状態と、前記終了状態から前記既知のルールを遡ることにより得られる第２の状態とを、それぞれ特定し、前記第１の状態と前記第２の状態とに係るルール候補を生成、または、前記第１の状態に係るルール候補と前記第２の状態に係るルール候補とを生成し、
前記既知のルールを基に算出した、前記生成したルール候補の成立性に基づいて、当該ルール候補を新規のルールとして選択し、
前記既知のルールと、前記新規のルールと、に基づいて、前記開始状態から前記終了状態を導出する導出処理を実行する、
推論方法。
【請求項１３】
コンピュータに、
開始状態、及び、終了状態の入力を受け付け、
前記開始状態から既知のルールを辿ることにより得られる第１の状態と、前記終了状態から前記既知のルールを遡ることにより得られる第２の状態とを、それぞれ特定し、前記第１の状態と前記第２の状態とに係るルール候補を生成、または、前記第１の状態に係るルール候補と前記第２の状態に係るルール候補とを生成し、
前記既知のルールを基に算出した、前記生成したルール候補の成立性に基づいて、当該ルール候補を新規のルールとして選択し、
前記既知のルールと、前記新規のルールと、に基づいて、前記開始状態から前記終了状態を導出する導出処理を実行する、
処理を実行させるプログラムを格納する、コンピュータが読み取り可能な記録媒体。
【請求項１４】
開始状態、及び、終了状態の入力を受け付ける入力手段と、
前記終了状態に対するリスク状態を特定する、リスク状態特定手段と、
既知のルールに基づいて、前記開始状態から前記リスク状態を導出する導出処理を実行する、導出手段と、
を備える、推論システム。
【請求項１５】
前記導出処理は、さらに、前記開始状態から前記終了状態を導出する、
請求項１４に記載の推論システム。
【請求項１６】
前記導出処理は、前記開始状態から前記終了状態までのルールを示す導出木と、前記開始状態から前記リスク状態までのルールを示す導出木と、を出力する、
請求項１５に記載の推論システム。
【請求項１７】
さらに、
前記開始状態から既知のルールを辿ることにより得られる第１の状態と、前記リスク状態から前記既知のルールを遡ることにより得られる第２の状態とを、それぞれ特定し、前記第１の状態と前記第２の状態とに係るルール候補を生成、または、前記第１の状態に係るルール候補と前記第２の状態に係るルール候補とを生成する、ルール候補生成手段と、
前記既知のルールを基に算出された前記ルール候補の成立性に基づいて前記ルール候補を新規のルールとして選択する、ルール選択手段と、
を備え、
前記導出処理は、前記既知のルールと、前記新規のルールと、に基づいて、前記開始状態から前記リスク状態を導出する、
請求項１４乃至１６のいずれかに記載の推論システム。
【請求項１８】
開始状態、及び、終了状態の入力を受け付け、
前記終了状態に対するリスク状態を特定し、
既知のルールに基づいて、前記開始状態から前記リスク状態を導出する導出処理を実行する、
推論方法。
【請求項１９】
コンピュータに、
開始状態、及び、終了状態の入力を受け付け、
前記終了状態に対するリスク状態を特定し、
既知のルールに基づいて、前記開始状態から前記リスク状態を導出する導出処理を実行する、
処理を実行させるプログラムを格納する、コンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、推論システム、推論方法、及び、プログラムに関し、特に、知識を基に推論を行う推論システム、推論方法、及び、記録媒体に関する。
【背景技術】
【０００２】
人と同様に思考し、人の意思決定を代行する人工知能の実現が望まれている。人工知能に係る技術として、知識に基づいて状態等に係る判断を行い、その判断の根拠を出力することで、人の意思決定を支援する技術が用いられている。【０００３】
このような、意思決定を支援する技術として、一階述語論理（ＦＯＬ（first-order predicate logic））に基づく推論（reasoning）が知られている。【０００４】
例えば、ＦＯＬに基づく推論を行うためのＯＳＳ（Open Source Software）として、非特許文献１に記載されているようなＰｒｏｌｏｇがある。Ｐｒｏｌｏｇでは、状態間の関係を表す知識（以下、ルールとも記載する）と推論の開始状態（start state）（例えば、観測されている状態）とが事前に与えられる。ルールは、例えば、「状態Ａならば状態Ｂ」のような関係を表す。そして、推論の終了状態が入力されると、ルールを辿ることにより、開始状態から終了状態（end state）が導出できるかが回答される。また、その根拠が導出木（derivation tree）の形で提示される。【０００５】
図２５は、Ｐｒｏｌｏｇによる推論の例を示す図である。図２５において、丸印は状態を示し、丸印間の矢印はルールを示す。例えば、図２５において、ユーザにより開始状態「燃料配管が損傷」、終了状態「燃料弁が閉じる」が指定されると、開始状態から終了状態が導出可能であること、及び、開始状態から終了状態までのルールを示す導出木が出力される。これにより、ユーザは、終了状態「燃料弁が閉じる」の原因が開始状態「燃料配管が損傷」である可能性とその根拠を把握できる。【０００６】
また、ＦＯＬに基づく推論を行うための他の技術として、非特許文献２に記載されているような、ＭＬＮ（Markov Logic Network）に基づく推論がある。ＭＬＮでは、一階述語論理式の確率的な充足を許容した推論が行われる。【０００７】
なお、関連技術として、非特許文献３には、文書間の意味的な同一性を判定するためのモデルを学習する技術が開示されている。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】"Prolog"、［online］、［2015年10月26日検索］、インターネット〈URL：https://ja.wikipedia.org/wiki/Prolog〉
【非特許文献２】Matthew Richardson, et.al、"Markov Logic Networks"、Machine Learning、vol.62 (1-2)、pp.107-136、2006
【非特許文献３】Bin Bai, et.al、"Supervised Semantic Indexing"、Proceedings of the 18th ACM conference on Information and knowledge management、pp.187-196、2009
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、非特許文献１に記載されているようなＰｒｏｌｏｇを用いて推論を行う場合、知識（ルール）が不足すると回答が得られない（推論に失敗する）ことがある。例えば、図２５において、開始状態が「気温が氷点下」の場合、開始状態「気温が氷点下」からルールを辿っても終了状態「燃料弁が閉じる」を導出できない。したがって、終了状態「燃料弁が閉じる」の原因を特定できない。【００１０】
さらに、Ｐｒｏｌｏｇを用いて推論を行う場合、既知のルールから得られる根拠しか提示できないため、新たな発想（気づき）を支援することができない。図２６は、Ｐｒｏｌｏｇによる推論の他の例を示す図である。例えば、図２６において、開始状態「Ａルートを選択」、終了状態「早く到着」が指定されると、開始状態から終了状態を導出できること、及び、開始状態から終了状態への導出木が出力される。しかしながら、これらは、よく知られた回答と根拠であり、新たな発想の支援にはつながらない。【００１１】
また、非特許文献２に記載されたＭＬＮを用いて推論を行う場合、ルールが多少不足していても、確率的に推論ができる。しかしながら、開始状態から終了状態への導出木は出力されず、導出木が不十分であるため、根拠の解釈性が低い。【００１２】
本発明の目的は、上述の課題を解決し、知識（ルール）が不足する場合でも推論を行うことができる推論システム、推論方法、及び、記録媒体を提供することである。
【課題を解決するための手段】
【００１３】
本発明の一態様における第１の推論システムは、開始状態、及び、終了状態の入力を受け付ける入力手段と、前記開始状態から既知のルールを辿ることにより得られる第１の状態と、前記終了状態から前記既知のルールを遡ることにより得られる第２の状態とを、それぞれ特定し、前記第１の状態と前記第２の状態とに係るルール候補を生成、または、前記第１の状態に係るルール候補と前記第２の状態に係るルール候補とを生成する、ルール候補生成手段と、前記既知のルールを基に算出した、前記生成したルール候補の成立性に基づいて、当該ルール候補を新規のルールとして選択する、ルール選択手段と、前記既知のルールと、前記新規のルールと、に基づいて、前記開始状態から前記終了状態を導出する導出処理を実行する、導出手段と、を備える。【００１４】
本発明の一態様における第１の推論方法は、開始状態、及び、終了状態の入力を受け付け、前記開始状態から既知のルールを辿ることにより得られる第１の状態と、前記終了状態から前記既知のルールを遡ることにより得られる第２の状態とを、それぞれ特定し、前記第１の状態と前記第２の状態とに係るルール候補を生成、または、前記第１の状態に係るルール候補と前記第２の状態に係るルール候補とを生成し、前記既知のルールを基に算出した、前記生成したルール候補の成立性に基づいて、当該ルール候補を新規のルールとして選択し、前記既知のルールと、前記新規のルールと、に基づいて、前記開始状態から前記終了状態を導出する導出処理を実行する。【００１５】
本発明の一態様における第１のコンピュータが読み取り可能な記録媒体は、コンピュータに、開始状態、及び、終了状態の入力を受け付け、前記開始状態から既知のルールを辿ることにより得られる第１の状態と、前記終了状態から前記既知のルールを遡ることにより得られる第２の状態とを、それぞれ特定し、前記第１の状態と前記第２の状態とに係るルール候補を生成、または、前記第１の状態に係るルール候補と前記第２の状態に係るルール候補とを生成し、前記既知のルールを基に算出した、前記生成したルール候補の成立性に基づいて、当該ルール候補を新規のルールとして選択し、前記既知のルールと、前記新規のルールと、に基づいて、前記開始状態から前記終了状態を導出する導出処理を実行する、処理を実行させるプログラムを格納する。【００１６】
本発明の一態様における第２の推論システムは、開始状態、及び、終了状態の入力を受け付ける入力手段と、前記終了状態に対するリスク状態を特定する、リスク状態特定手段と、既知のルールに基づいて、前記開始状態から前記リスク状態を導出する導出処理を実行する、導出手段と、を備える。【００１７】
本発明の一態様における第２の推論方法は、開始状態、及び、終了状態の入力を受け付け、前記終了状態に対するリスク状態を特定し、既知のルールに基づいて、前記開始状態から前記リスク状態を導出する導出処理を実行する。【００１８】
本発明の一態様における第２のコンピュータが読み取り可能な記録媒体は、コンピュータに、開始状態、及び、終了状態の入力を受け付け、前記終了状態に対するリスク状態を特定し、既知のルールに基づいて、前記開始状態から前記リスク状態を導出する導出処理を実行する、処理を実行させるプログラムを格納する。
【発明の効果】
【００１９】
本発明の効果は、知識が不足する場合でも推論を行うことができることである。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１の実施の形態の構成を示すブロック図である。
【図２】本発明の第１の実施の形態における、コンピュータにより実現された推論システム１００の構成を示すブロック図である。
【図３】本発明の第１の実施の形態の動作を示すフローチャートである。
【図４】本発明の第１の実施の形態におけるドメイン知識１６１の例を示す図である。
【図５】本発明の第１の実施の形態における、ドメイン知識１６１以外のルールの例を示す図である。
【図６】本発明の第１の実施の形態における、ルール候補の生成例を示す図である。
【図７】本発明の第１の実施の形態における、新たなルールの選択例を示す図である。
【図８】本発明の第１の実施の形態における、出力画面１５１の例を示す図である。
【図９】本発明の第１の実施の形態の特徴的な構成を示すブロック図である。
【図１０】本発明の第２の実施の形態の構成を示すブロック図である。
【図１１】本発明の第２の実施の形態の動作を示すフローチャートである。
【図１２】本発明の第２の実施の形態における、ドメイン知識１６１の例を示す図である。
【図１３】本発明の第２の実施の形態における、ルール候補の生成例を示す図である。
【図１４】本発明の第２の実施の形態における、新たなルールの決定例を示す図である。
【図１５】本発明の第２の実施の形態における、出力画面１５１の例を示す図である。
【図１６】本発明の第２の実施の形態における、ドメイン知識１６１の他の例を示す図である。
【図１７】本発明の第２の実施の形態における、ルール候補の他の生成例を示す図である。
【図１８】本発明の第２の実施の形態における、新たなルールの他の決定例を示す図である。
【図１９】本発明の第２の実施の形態における、出力画面１５１の他の例を示す図である。
【図２０】本発明の第２の実施の形態における、ドメイン知識１６１のさらに他の例を示す図である。
【図２１】本発明の第２の実施の形態における、ルール候補のさらに他の生成例を示す図である。
【図２２】本発明の第２の実施の形態における、新たなルールのさらに他の決定例を示す図である。
【図２３】本発明の第２の実施の形態における、出力画面１５１のさらに他の例を示す図である。
【図２４】本発明の第２の実施の形態の特徴的な構成を示すブロック図である。
【図２５】Ｐｒｏｌｏｇによる推論の例を示す図である。
【図２６】Ｐｒｏｌｏｇによる推論の他の例を示す図である。
【発明を実施するための形態】
【００２１】
本発明を実施するための形態について図面を参照して詳細に説明する。なお、各図面、及び、明細書記載の各実施形態において、同様の構成要素には同一の符号を付与し、説明を適宜省略する。
【００２２】
（第１の実施の形態）
本発明の第１の実施の形態について説明する。
【００２３】
はじめに、本発明の第１の実施の形態の構成を説明する。図１は、本発明の第１の実施の形態の構成を示すブロック図である。図１を参照すると、本発明の第１の実施の形態の推論システム１００は、入力部１１０、ルール候補生成部１２０、ルール選択部１３０、導出部１４０、出力部１５０、ドメイン知識記憶部１６０、及び、モデル記憶部１７０を含む。
【００２４】
ここで、ドメイン知識記憶部１６０は、ドメイン知識１６１を記憶する。ドメイン知識１６１は、推論を行う対象領域（ドメイン）に係る状態や動作、事象間の関係を表す、既知の知識（ルール）の集合である。以下、これら状態や動作、事象を、まとめて、”状態”と記載する。状態は、例えば、「ｘがｙを食べる」のように、述語（predicate）（この場合、食べる）と状態を記述する対象である項（argument）（この場合、ｘやｙ）により表される。ルールは、例えば、「状態Ａ（前提）ならば状態Ｂ（帰結）」のような形式を有し、状態間の含意関係や、因果関係、前後関係、Ｉｆ−Ｔｈｅｎの関係等を表す。以下、ルール「状態Ａならば状態Ｂ」を、ルール「Ａ→Ｂ」とも記載する。この場合、状態Ａ、Ｂを「ルールに係る状態」、当該ルールを「状態Ａ、Ｂに係るルール」や、「状態Ａに係るルール」、「状態Ｂに係るルール」とも記載する。また、ルール１「状態Ａならば状態Ｂ」、及び、ルール２「状態Ｂならば状態Ｃ」が存在する場合、ルール１、及び、ルール２を辿ることにより、状態Ａから状態Ｃが導出できる。この場合、ルール１、及び、ルール２を辿ることにより得られる導出木を、導出木「Ａ→Ｂ→Ｃ」とも記載する。なお、ドメイン知識１６１は、ドメイン以外から広く集められた既知のルールを含んでいてもよい。
【００２５】
状態やルールは、例えば、一階述語論理で記述される。また、状態間の関係として上述の「状態Ａならば状態Ｂ」のような関係を扱うことができれば、状態やルールは、命題論理や高階述語論理、或いは、他の形式で記述されてもよい。また、ドメイン知識１６１は、例えば、ユーザや管理者等（以下、単にユーザと記載する）により予め設定される。
【００２６】
図４は、本発明の第１の実施の形態におけるドメイン知識１６１の例を示す図である。図４において、丸印は状態を示し、丸印間の矢印は、矢印の元の状態を前提、矢印の先の状態を帰結としたルールを示す。なお、図４の例では、ルールにおける前提として、１つの状態、または、複数の状態の論理和（or）が含まれているが、前提として、複数の状態の論理積（and）が含まれていてもよい。
【００２７】
入力部１１０は、ユーザから、推論の開始状態、及び、終了状態の入力を受け付ける。開始状態は、推論の前提として用いる状態である。開始状態は、観測されている状態（観測状態）でもよい。終了状態は、開始状態に基づいて導出すべき、推論の帰結として用いる状態である。終了状態は、ユーザにとっての目的である状態（目的状態）でもよい。開始状態、及び、終了状態は、例えば、ドメイン知識１６１に含まれる状態の中から指定される。
【００２８】
ここで、入力部１１０は、例えば、自然文で与えられた開始状態や終了状態を、一階述語論理に変換する。また、入力部１１０は、各種センサ（図示せず）に接続され、当該センサより収集した情報を、開始状態や終了状態として受け付けてもよい。この場合、入力部１１０は、例えば、センサより収集した情報を、一階述語論理に変換する。
【００２９】
ルール候補生成部１２０は、入力された開始状態、終了状態、及び、ドメイン知識１６１を基に、ルール候補を生成する。ルール候補は、ドメイン知識１６１に存在しない、開始状態から終了状態を導くために必要なルールの候補である。
【００３０】
モデル記憶部１７０は、既知のルールに係る状態間の関係を学習したモデル１７１を記憶する。モデル１７１は、例えば、ドメイン知識記憶部１６０に記憶されたドメイン知識１６１に含まれるルールを基に学習される。また、モデル１７１は、ドメイン知識１６１に含まれるルールに加えて、ドメイン知識１６１以外に広く集められた既知のルールを基に学習されてもよい。
【００３１】
ルール選択部１３０、は、モデル記憶部１７０に記憶されたモデル１７１を用いて、生成された各ルール候補について、成立性（feasibility）を示すスコア（成立性スコア）を算出し、算出した成立性スコアを基に、新たなルールを選択する。
【００３２】
導出部１４０は、ドメイン知識１６１、及び、選択された新たなルールを用いて、開始状態から終了状態を導出する、導出処理を実行する。導出処理では、開始状態から終了状態を導出できるかどうかが判定される。また、導出処理では、開始状態から終了状態までのルールを示す導出木が生成される。
【００３３】
出力部１５０は、導出部１４０による判定結果（推論結果）を、ユーザに出力（表示）する。
【００３４】
なお、推論システム１００は、ＣＰＵ（Central Processing Unit）とプログラムを記憶した記憶媒体を含み、プログラムに基づく制御によって動作するコンピュータであってもよい。
【００３５】
図２は、本発明の第１の実施の形態における、コンピュータにより実現された推論システム１００の構成を示すブロック図である。
【００３６】
この場合、推論システム１００は、ＣＰＵ１０１、ハードディスクやメモリ等の記憶デバイス１０２（記憶媒体）、キーボード、ディスプレイ等の入出力デバイス１０３、及び、他の装置等と通信を行う通信デバイス１０４を含む。ＣＰＵ１０１は、入力部１１０、ルール候補生成部１２０、ルール選択部１３０、導出部１４０、及び、出力部１５０を実現するためのプログラムを実行する。記憶デバイス１０２は、ドメイン知識記憶部１６０、及び、モデル記憶部１７０のデータを記憶する。入出力デバイス１０３は、ユーザからの開始状態や終了状態の入力、及び、ユーザへの推論結果の出力を行う。また、通信デバイス１０４が、他の装置等から開始状態や終了状態を受信する、或いは、他の装置等へ推論結果を送信してもよい。
【００３７】
また、推論システム１００による推論のサービスが、ＳａａＳ（Software as a Service）形式で、ユーザに提供されてもよい。
【００３８】
また、図１における推論システム１００の各構成要素の一部又は全部は、汎用または専用の回路（circuitry）やプロセッサ、これらの組み合わせによって実現されてもよい。これらの回路やプロセッサは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。また、推論システム１００の各構成要素の一部又は全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
【００３９】
図１における推論システム１００の各構成要素の一部又は全部が、複数の情報処理装置や回路等により実現される場合、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【００４０】
次に、本発明の第１の実施の形態の動作について説明する。
【００４１】
図３は、本発明の第１の実施の形態の動作を示すフローチャートである。
【００４２】
はじめに、入力部１１０は、開始状態、及び、終了状態の入力を受け付ける（ステップＳ１０１）。
【００４３】
ルール候補生成部１２０は、ステップＳ１０１で入力された開始状態、終了状態、及び、ドメイン知識１６１を基に、ルール候補を生成する（ステップＳ１０２）。
【００４４】
ここで、ルール候補生成部１２０は、ドメイン知識１６１において、開始状態からルールを順方向（前提から帰結への方向）に辿ることにより導出できる状態（第１の状態）を特定する。また、ルール候補生成部１２０は、ドメイン知識１６１において、終了状態からルールを逆方向（帰結から前提への方向）に辿る（遡る）ことにより、その状態から終了状態を導出できる状態（第２の状態）を特定する。そして、ルール候補生成部１２０は、第１の状態と第２の状態との各組み合わせについて、第１の状態が前提、第２の状態が帰結であるルール候補を生成する。なお、否定されている状態を含む組み合わせについては、ルール候補は生成されない。
【００４５】
ルール選択部１３０は、モデル記憶部１７０に記憶されたモデル１７１を用いて、ステップＳ１０２で生成された各ルール候補について、成立性スコアを算出し、算出した成立性スコアを基に、新たなルールを選択する（ステップＳ１０３）。ルール選択部１３０は、成立性スコアが所定の閾値以上のルール候補を新たなルールとして選択する。
【００４６】
ここで、ルール選択部１３０は、例えば、ルール候補に係る状態間の関係と、モデル１７１により表される既知のルールに係る状態間の関係と、の類似性を基に、成立性スコアを算出する。
【００４７】
このような成立性スコアの算出方法として、例えば、非特許文献３に記載された技術や、ルール候補と既知のルールとの間で状態の類似性を比較する技術が用いられる。
【００４８】
非特許文献３に記載された技術を用いる場合、ルール選択部１３０は、ルール候補に係る状態を表すベクトルとモデル記憶部１７０にモデル１７１として記憶された重み行列（weighting matrix）とを用いて、ルール候補の成立性スコアを算出する。この場合、状態Ａ、Ｂ間の成立性スコアは、状態Ａ、Ｂを表すベクトルＶＡ、ＶＢ、及び、重み行列Ｗを用いて、ＶＡＴ・Ｗ・ＶＢ（Ｔは転置を表す）により算出される。ベクトルＶＡ、ＶＢは、例えば、各要素が、単語数Ｄの単語辞書の各単語に対応する、Ｄ次元のベクトルである。各要素は、状態Ａ、Ｂの記述における、対応する単語の有無を表す。重み行列Ｗは、Ｄ×Ｄ次元の行列である。重み行列Ｗは、ドメイン知識１６１等の既知のルールを用いて、既知のルールに対して高い成立性スコアが算出されるように学習される。
【００４９】
また、ルール候補と既知のルールとの間で状態の類似性を比較する技術を用いる場合、ルール選択部１３０は、ルール候補とモデル記憶部１７０にモデル１７１として記憶されたルールとの間で、前提の状態、及び、帰結の状態をそれぞれ比較する。状態間の比較では、述語、及び、項がそれぞれ比較される。例えば、モデル記憶部１７０にルール「Ａ→Ｂ」（状態Ａ：「ｘがｙを食べる」、状態Ｂ：「ｘは満足する」）が存在し、ルール候補「Ａ１→Ｂ１」（状態Ａ１：「ｘ１がｙ１をすする」、状態Ｂ１：「ｘ１は喜ぶ」）が生成されたと仮定する。この場合、ルール選択部１３０は、ｘとｘ１、「食べる」と「すする」、ｙとｙ１、「満足する」と「喜ぶ」を比較し、これらの類似性を、ルール候補「Ａ１→Ｂ１」の成立性スコアとして算出する。モデル１７１として用いられるルールは、ドメイン知識１６１に含まれる既知のルールや、広く集められた既知のルールでもよい。この場合、ルール選択部１３０は、例えば、最も類似するルールとの類似性を成立性スコアとして算出する。また、モデル１７１として用いられるルールは、ドメイン知識１６１に含まれる既知のルールや、広く集められた既知のルールを基に、例えば、類似するルールに係る状態の述語、及び、項を、それぞれ、一般化や上位概念化することにより生成されてもよい。
【００５０】
導出部１４０は、ドメイン知識１６１、及び、ステップＳ１０３で選択された新たなルールを用いて、開始状態から終了状態を導出できるかどうかを判定する（ステップＳ１０４）。ここで、導出部１４０は、ドメイン知識１６１、及び、新たなルールを用いて、演繹推論を行ってもよいし、仮説推論を行ってもよい。また、導出部１４０は、ドメイン知識１６１、及び、新たなルールを用いて、上述のＭＬＮやＰＳＬ（Probabilistic soft logic）等による推論を行ってもよい。
【００５１】
最後に、導出部１４０は、出力部１５０を介して、導出部１４０による判定結果（推論結果）を、ユーザに出力（表示）する（ステップＳ１０５）。ここで、導出部１４０は、推論結果とともに、開始状態から終了状態までの導出木を出力してもよい。また、ＭＬＮやＰＳＬ等の統計的推論に代表される、推論結果の確からしさをスコアとして出力可能な推論が行われた場合、出力部１５０は、これらの推論により得られた推論結果に係るスコア（推論スコア）を、推論結果とともに出力してもよい。
【００５２】
以上により、本発明の第１の実施の形態の動作が完了する。
【００５３】
次に、本発明の第１の実施の形態の動作の具体例について説明する。
【００５４】
＜具体例：インフラオペレーション支援＞
ここでは、具体例として、推論システム１００によるインフラオペレーション支援の例を説明する。
【００５５】
発電所や水道網等の設備は、停止により社会インフラに大きな影響を及ぼし得る。このため、特に人間だけでの判断が難しい局面で、機械による支援（インフラオペレーション支援）が望まれる。機械による支援とは、例えば、機械が各種センサの値から現在の状況を読み取り、状況の改善に向けた操作手順をその理由付きで提示することである。
【００５６】
ここでは、推論システム１００が、インフラオペレーション支援として、ＬＮＧ（液化天然ガス（Liquefied Natural Gas））を用いた火力発電所のオペレーション支援を行う場合を例に説明する。例えば、火力発電所において燃料のＬＮＧが供給されず、発電が停止したと仮定する。このとき、燃料の供給を調節する燃料弁が閉じていた。オペレーションマニュアルでは、燃料弁が閉じるのは、燃料の供給に異常がある場合と記載されているが、ＬＮＧの枯渇やＬＮＧの配管等の損傷は検出されていない。そこで、推論システム１００は、センサ等により収集された開始状態から、終了状態「燃料弁が閉じる」をどのように実現し得るかを推論する。
【００５７】
ここで、ドメイン知識記憶部１６０には、図４のようなドメイン知識１６１が、一階述語論理式で記述され、記憶されていると仮定する。
【００５８】
図５は、本発明の第１の実施の形態における、ドメイン知識１６１以外のルールの例を示す図である。図５の例では、ドメイン知識１６１以外に広く集めたルールとして、水道管に係るルールが含まれている。
【００５９】
モデル記憶部１７０には、図４のドメイン知識１６１、及び、図５の広く集められたルールを基に学習されたモデル１７１が格納されていると仮定する。この場合、モデル１７１は、例えば、「気温が氷点下→管が詰まる」という関係がルールとして成立しやすいことを学習している。
【００６０】
入力部１１０は、開始状態として、センサ等により収集された状態「気温が氷点下」、「¬ＬＮＧが枯渇」、「¬燃料用配管が損傷」、「¬制御用空気配管が損傷」の入力を受け付ける。ここで、「¬」は否定（例えば、「¬ＬＮＧが枯渇」は、「ＬＮＧが枯渇していない」）を表す。ここでは、図４のドメイン知識１６１上の状態が示されているが、入力部１１０は、各種センサにより収集された他の状態も受け付けてよい。また、入力部１１０は、終了状態として、ユーザから「燃料弁が閉じる」の入力を受け付ける。
【００６１】
図６は、本発明の第１の実施の形態における、ルール候補の生成例を示す図である。図６において、点線の丸印は、開始状態として否定されている状態を示す。また、点線の矢印は、生成されたルール候補を示す。
【００６２】
ルール候補生成部１２０は、開始状態「気温が氷点下」からルールを順方向に辿ることで得られる状態と終了状態「燃料弁が閉じる」からルールを逆方向に辿る（遡る）ことで得られる状態を特定する。そして、ルール候補生成部１２０は、図６に示すように、特定した状態間の各組み合わせを、ルール候補として抽出する。
【００６３】
また、図６において点線に付与された数値は、各ルール候補の成立性スコアを示す。また、図７は、本発明の第１の実施の形態における、新たなルールの選択例を示す図である。
【００６４】
ルール選択部１３０、は、各ルール候補について、モデル１７１を用いて、図６に示すように成立性スコアを算出する。ここで、ルール候補が成立すると判定するスコアの閾値が「０．５」の場合、ルール候補生成部１２０は、図７に示すように、成立性スコアが「０．７」であるルール候補「気温が氷点下→制御用空気配管が詰まる」を新たなルールとして選択する。
【００６５】
導出部１４０は、図７において、開始状態「気温が氷点下」から、新たなルール、及び、ドメイン知識１６１の各ルールを辿ることにより、終了状態「燃料弁が閉じる」を導出できると判断する。
【００６６】
図８は、本発明の第１の実施の形態における、出力画面１５１の例を示す図である。図８の例では、推論結果として、開始状態「気温が氷点下」から終了状態「燃料弁が閉じる」を導出できることと、開始状態から終了状態までの導出木が表示されている。また、導出木では、各状態が、例えば、一階述語論理から自然文に変換されて表示されている。また、開始状態や終了状態、新たなルールは、太線により強調して表示されている。
【００６７】
出力部１５０は、図８のような出力画面１５１をユーザに表示する。
【００６８】
なお、出力部１５０は、他の状態や既知のルールと区別できれば、開始状態、終了状態や新たなルールを、他の状態や既知のルールと異なる色や形状で表示してもよい。
【００６９】
これにより、ユーザは、終了状態「燃料弁が閉じる」の原因が、ドメイン知識１６１に含まれる既知のルールのみからは得られない、開始状態「気温が氷点下」である可能性と、その根拠を把握できる。
【００７０】
なお、本発明の第１の実施の形態においては、ルール選択部１３０が成立性スコアを基に、新たなルールを選択した。しかしながら、これに限らず、ルール選択部１３０が、成立性スコアが閾値以上のルール候補をユーザに提示し、新たなルールとして選択するかどうかをユーザに入力させてもよい。また、ルール選択部１３０は、成立性スコアが閾値未満のルール候補もユーザに提示し、新たなルールとして選択するかどうかをユーザに入力させてもよい。このようなユーザによる入力は、例えば、導出部１４０により開始状態から終了状態を導出できる、或いは、導出部１４０により算出された推論スコアが所定の閾値以上、ユーザによる選択回数が所定の閾値以上、等の条件を満たすまで繰り返されてもよい。
【００７１】
また、本発明の第１の実施の形態においては、ルール候補生成部１２０が、第１の状態と第２の状態との各組み合わせについて、第１の状態を前提、第２の状態を帰結とした１つのルール候補を生成した。しかしながら、これに限らず、ルール候補生成部１２０は、上記各組み合わせについて、第１の状態から、１以上の他の状態を経由して、第２の状態を導出するようなルール候補を生成してもよい。例えば、他の状態として状態ａ、ｂがある場合、第１の状態Ａと第２の状態Ｂとの組み合わせについて、ルール候補「Ａ→Ｂ」に加えて、ルール候補「Ａ→ａ」、「ａ→Ｂ」、「Ａ→ｂ」、「ｂ→Ｂ」、「ａ→ｂ」、「ｂ→ａ」を生成してもよい。ここで、これらのルール候補の内、成立性スコアを基に、例えば、ルール候補「Ａ→ａ」、「ｂ→Ｂ」、「ａ→ｂ」が新規のルールとして選択されたと仮定する。この場合、導出部１４０は、状態Ａ、Ｂ間の導出木「Ａ→ａ→ｂ→Ｂ」を用いて、開始状態から終了状態が導出できるかどうかを判断する。なお、上記他の状態は、例えば、ルール候補生成部１２０等が、ドメイン知識１６１に含まれる各状態の述語と項を組み合わせることにより生成してもよい。また、他の状態は、ユーザにより予め設定された、所定の状態でもよい。
【００７２】
また、本発明の第１の実施の形態においては、ユーザにより、開始状態、及び、終了状態が入力される場合を例に説明した。しかしながら、これに限らず、ユーザにより開始状態、及び、終了状態の内の一方のみが入力されてもよい。開始状態のみが入力された場合、推論システム１００は、ドメイン知識１６１における任意の状態を終了状態として抽出し、ルール候補を生成、新たなルールを選択することにより、開始状態から当該任意の状態を導出できるかを判定してもよい。同様に、終了状態のみが入力された場合、推論システム１００は、ドメイン知識１６１における任意の状態を開始状態として抽出し、ルール候補を生成、新たなルールを選択することにより、当該任意の状態から終了状態を導出できるかを判定してもよい。
【００７３】
次に、本発明の第１の実施の形態の特徴的な構成を説明する。図９は、本発明の第１の実施の形態の特徴的な構成を示すブロック図である。
【００７４】
図９を参照すると、本発明の第１の実施の形態の推論システム１００は、入力部１１０、ルール候補生成部１２０、ルール選択部１３０、及び、導出部１４０を含む。
【００７５】
入力部１１０は、開始状態、及び、終了状態の入力を受け付ける。
【００７６】
ルール候補生成部１２０は、開始状態から既知のルールを辿ることにより得られる第１の状態と、終了状態から既知のルールを遡ることにより得られる第２の状態とを、それぞれ特定する。そして、ルール候補生成部１２０は、第１の状態と第２の状態とに係るルール候補を生成、または、第１の状態に係るルール候補と前記第２の状態に係るルール候補とを生成する。
【００７７】
ルール選択部１３０は、既知のルールを基に算出した、ルール候補の成立性に基づいて、当該ルール候補を新規のルールとして選択する。
【００７８】
導出部１４０は、既知のルールと、新規のルールと、に基づいて、開始状態から終了状態を導出する導出処理を実行する。
【００７９】
次に、本発明の第１の実施の形態の効果を説明する。
【００８０】
本発明の第１の実施の形態によれば、知識（ルール）が不足する場合でも推論を行うことができる。その理由は、推論システム１００が、開始状態からルールを辿って得られる状態と終了状態からルールを遡って得られる状態とに係るルール候補を生成し、ルール候補の成立性に基づいて新規のルールを選択し、導出処理を実行するためである。これにより、既知のルールのみでは開始状態から終了状態を導けないケースでも、導出の可否とその根拠を提示でき、より正しい推論結果を提示できる。
【００８１】
また、一般に、推論を行う対象の知識（ルールの数）が膨大な場合、推論結果を得るために、膨大な時間がかかる可能性があった。本発明の第１の実施の形態によれば、知識が膨大であっても、より短い時間で推論結果を得ることができる。その理由は、推論システム１００が、開始状態からルールを辿って得られる状態と終了状態からルールを遡って得られる状態とに係るルール候補から新規のルールを選択し、選択された新規のルールを用いるような導出木の範囲で、導出処理を実行するためである。
【００８２】
（第２の実施の形態）
次に、本発明の第２の実施の形態について説明する。
【００８３】
本発明の第２の実施の形態においては、入力された終了状態に対するリスク状態を特定し、開始状態からリスク状態を導出する点において、本発明の第１の実施の形態と異なる。
【００８４】
はじめに、本発明の第２の実施の形態の構成を説明する。図１０は、本発明の第２の実施の形態の構成を示すブロック図である。図１０を参照すると、本発明の第２の実施の形態の推論システム１００は、本発明の第１の実施の形態の推論システム１００の構成に加えて、リスク状態特定部１８０を含む。
【００８５】
リスク状態特定部１８０は、終了状態に対するリスク状態を特定する。リスク状態は、終了状態の否定状態や終了状態を阻害する状態等、終了状態に対するリスクに相当する状態である。
【００８６】
ルール候補生成部１２０は、本発明の第１の実施の形態と同様の方法で、開始状態からリスク状態を導くために必要なルール候補を生成する。
【００８７】
導出部１４０は、本発明の第１の実施の形態と同様の方法で、開始状態からリスク状態を導出する、導出処理を実行する。
【００８８】
次に、本発明の第２の実施の形態の動作について説明する。
【００８９】
図１１は、本発明の第２の実施の形態の動作を示すフローチャートである。
【００９０】
はじめに、入力部１１０は、開始状態、及び、終了状態の入力を受け付ける（ステップＳ２０１）。
【００９１】
リスク状態特定部１８０は、入力された終了状態に対するリスク状態を特定する（ステップＳ２０２）。ここで、リスク状態特定部１８０は、入力された終了状態の否定状態をリスク状態に設定してもよい。また、リスク状態特定部１８０は、予め、ドメイン知識記憶部１６０等に記憶された、ドメイン知識１６１上の各状態に対するリスク状態を基に、終了状態に対するリスク状態を特定してもよい。また、リスク状態特定部１８０は、入力部１１０を介して、ユーザにより入力されたリスク状態を用いてもよい。
【００９２】
ルール候補生成部１２０は、ステップＳ２０１で入力された開始状態、ステップＳ２０２で特定されたリスク状態、及び、ドメイン知識１６１を基に、ルール候補を生成する（ステップＳ２０３）。
【００９３】
ここで、ルール候補生成部１２０は、ドメイン知識１６１において、開始状態からルールを順方向に辿ることにより導出できる状態（第１の状態）を特定する。また、ルール候補生成部１２０は、ドメイン知識１６１において、リスク状態からルールを逆方向に辿る（遡る）ことにより、その状態からリスク状態を導出できる状態（第２の状態）を特定する。そして、ルール候補生成部１２０は、第１の状態と第２の状態との各組み合わせについて、第１の状態が前提、第２の状態が帰結であるルール候補を生成する。
【００９４】
ルール選択部１３０、は、モデル記憶部１７０に記憶されたモデル１７１を用いて、ステップＳ２０３で生成された各ルール候補について、成立性スコアを算出し、算出した成立性スコアを基に、新たなルールを選択する（ステップＳ２０４）。
【００９５】
導出部１４０は、ドメイン知識１６１、及び、ステップＳ２０４で選択された新たなルールを用いて、開始状態からリスク状態を導出できるかどうかを判定する（ステップＳ２０５）。ここで、導出部１４０は、開始状態から終了状態を導出できるかどうかも、併せて判定してよい。
【００９６】
最後に、導出部１４０は、出力部１５０を介して、導出部１４０による判定結果（推論結果）をユーザに出力（表示）する（ステップＳ２０６）。ここで、導出部１４０は、推論結果とともに、開始状態からリスク状態までの導出木を出力してもよい。さらに、導出部１４０は、開始状態から終了状態までの導出木も、出力してよい。この場合、出力部１５０は、開始状態からリスク状態までの導出木と開始状態からリスク状態までの導出木とを並べて出力してもよい。
【００９７】
以上により、本発明の第２の実施の形態の動作が完了する。
【００９８】
次に、本発明の第２の実施の形態の動作の具体例について説明する。
【００９９】
＜具体例１：経営判断支援＞
はじめにに、具体例１として、推論システム１００による経営判断支援の例を説明する。
【０１００】
ここでは、経営プランとして、「製品Ｘの生産コストを下げるために、Ａ国で生産する」が策定されたと仮定する。この場合、ユーザは、この経営プランのリスクを把握する必要がある。
【０１０１】
図１２は、本発明の第２の実施の形態における、ドメイン知識１６１の例を示す図である。
【０１０２】
図１２のドメイン知識１６１における既知のルールを用いた場合、開始状態「Ａ国で製品Ｘを生産」から終了状態「製品Ｘの生産コストが低下」までの導出木における各状態の否定状態を、リスクとして提示できる。例えば、リスクとして、「Ａ国の賃金が安くなくなると、目標を達成できない」が提示できる。
【０１０３】
しかしながら、このようなリスクは、ドメイン知識１６１に記載された既知のルールのみから容易に得られるリスクであり、新たな気づきにはつながらない。そこで、推論システム１００は、ドメイン知識１６１に記載された既知のルールのみからは得られない新たなリスクを抽出、提示し、経営判断を支援する。
【０１０４】
ここで、ドメイン知識記憶部１６０に、図１２のようなドメイン知識１６１が記憶されていると仮定する。
【０１０５】
また、モデル記憶部１７０には、図１２のドメイン知識１６１を基に学習されたモデル１７１が格納されていると仮定する。この場合、モデル１７１は、例えば、「法律や条例が成立→対策機能の追加が必要」という状態間の関係がルールとして成立しやすいことを学習している。
【０１０６】
入力部１１０は、開始状態として、ユーザから「Ａ国で製品Ｘを生産」、「Ｃ法が成立」の入力を受け付ける。ここで、開始状態「Ｃ法が成立」は、例えば、入力部１１０が、ニュースや公報等の情報源を定期的にウォッチし、当該情報源から抽出することにより、生成されてもよい。また、入力部１１０は、終了状態として、ユーザから「製品Ｘの生産コストが低下」の入力を受け付ける。入力部１１０は、入力された終了状態に対する否定状態「製品Ｘの生産コストが増大」をリスク状態に設定する。
【０１０７】
図１３は、本発明の第２の実施の形態における、ルール候補の生成例を示す図である。
【０１０８】
ルール候補生成部１２０は、図１３に示すように、開始状態「Ａ国で製品Ｘを生産」、「Ｃ法が成立」からルールを順方向に辿ることで得られる状態を特定する。また、ルール候補生成部１２０は、リスク状態「製品Ｘの生産コストが増大」からルールを逆方向に辿る（遡る）ことで得られる状態を特定する。そして、ルール候補生成部１２０は、特定した状態の各組み合わせを、ルール候補として抽出する。
【０１０９】
ルール選択部１３０、は、各ルール候補について、モデル１７１を用いて、成立性スコアを算出する。
【０１１０】
図１４は、本発明の第２の実施の形態における、新たなルールの決定例を示す図である。
【０１１１】
ここで、モデル１７１により、ルール候補「Ｃ法が成立→製品Ｘに追加機能が必要」に対して、閾値以上の成立性スコアが算出されたと仮定する。この場合、ルール選択部１３０は、図１４に示すように、当該ルール候補を新たなルールに決定する。
【０１１２】
導出部１４０は、図１４において、開始状態「Ｃ法が成立」から、新たなルール、及び、ドメイン知識１６１の各ルールを辿ることにより、リスク状態「製品Ｘの生産コストが増大」を導出できると判断する。
【０１１３】
図１５は、本発明の第２の実施の形態における、出力画面１５１の例を示す図である。図１５の例では、推論結果である新たなリスク（「Ｃ法が成立すると、目標を達成できない」）と、導出木が表示されている。
【０１１４】
出力部１５０は、図１５のような出力画面１５１をユーザに表示する。
【０１１５】
これにより、ユーザは、ドメイン知識１６１に記載された既知のルールのみからは得られない、新たなリスクに気づくことができる。さらに、ニュースや公報を定期的にウォッチし、開始状態として入力することで、新たな開始状態に係るリスクが提示されるため、ユーザは素早い意思決定ができるようになる。
【０１１６】
＜具体例２：行動支援＞
次に、具体例２として、推論システム１００による行動支援の例を説明する。
【０１１７】
ここでは、行動支援として、目的地までのルートを案内する場合を考える。目的地までのルートとして、近道である峠道を用い、走行時間の短いＡルートと、遠回りである幹線道路を用い、走行時間の長いＢルートがあると仮定する。この場合、一般的には、例えば、到着予想時間の観点だけで、走行時間の短いＡルートが選択される。
【０１１８】
そこで、推論システム１００が、ドメイン知識１６１に記載された既知のルールのみからは得られない新たなリスクを抽出、提示し、ルートの選択を支援する。
【０１１９】
図１６は、本発明の第２の実施の形態における、ドメイン知識１６１の他の例を示す図である。ドメイン知識記憶部１６０には、図１６のようなドメイン知識１６１が記憶されていると仮定する。
【０１２０】
また、モデル記憶部１７０には、図１６のドメイン知識１６１を基に学習されたモデル１７１が格納されていると仮定する。この場合、モデル１７１は、例えば、「山にある道→カーブが多い」という状態間の関係がルールとして成立しやすいことを学習している。
【０１２１】
入力部１１０は、開始状態として、ユーザから「Ａルートを選択」、「子供がいる」の入力を受け付ける。また、入力部１１０は、終了状態として、ユーザから「早く到着」の入力を受け付ける。入力部１１０は、入力された終了状態に対する否定状態「遅く到着」をリスク状態に設定する。
【０１２２】
図１７は、本発明の第２の実施の形態における、ルール候補の他の生成例を示す図である。
【０１２３】
ルール候補生成部１２０は、図１７に示すように、開始状態「Ａルートを選択」からルールを順方向に辿ることで得られる状態、及び、リスク状態「遅く到着」からルールを逆方向に辿る（遡る）ことで得られる状態を特定する。そして、ルール候補生成部１２０は、特定した状態の各組み合わせを、ルール候補として抽出する。
【０１２４】
ルール選択部１３０、は、各ルール候補について、モデル１７１を用いて、成立性スコアを算出する。
【０１２５】
図１８は、本発明の第２の実施の形態における、新たなルールの他の決定例を示す図である。
【０１２６】
ここで、モデル１７１により、ルール候補「峠道→カーブが多い」に対して、閾値以上の成立性スコアが算出されたと仮定する。この場合、ルール選択部１３０は、図１８に示すように、当該ルール候補を新たなルールに決定する。
【０１２７】
導出部１４０は、図１８において、開始状態「Ａルートを選択」から、新たなルール、及び、ドメイン知識１６１の各ルールを辿ることにより、リスク状態「遅く到着」を導出できると判断する。
【０１２８】
図１９は、本発明の第２の実施の形態における、出力画面１５１の他の例を示す図である。図１９の例では、推論結果である新たなリスク（「Ａルートを選択すると、峠道で、カーブが多く、子供が酔って、…、遅くなるかもしれない」）と、導出木が表示されている。
【０１２９】
さらに、出力画面１５１には、他のルートであるＢルートの選択を推薦することや、Ａルートを選択する場合は子供の着替えを持つべき等のアドバイスが表示されてもよい。
【０１３０】
出力部１５０は、図１９のような出力画面１５１をユーザに表示する。
【０１３１】
これにより、ユーザは、ドメイン知識１６１に記載された既知のルールのみからは得られない、新たなリスクに気づくことができる。さらに、ユーザは、子供の着替えを持つこと等、状況に合わせた支援を得ることができる。
【０１３２】
＜具体例３：プロジェクト管理支援＞
最後に、具体例３として、推論システム１００によるプロジェクト管理支援の例を説明する。
【０１３３】
ここでは、Ａ社から受注したシステム開発のプロジェクト管理について考える。このシステム開発では、要求仕様が曖昧であったため、追加開発が発生している。このため、プロジェクトの管理プランとして、「追加予算を確保し、開発要員を確保することで、納期を厳守する」が策定されたと仮定する。
【０１３４】
推論システム１００は、ドメイン知識１６１に記載された既知のルールのみからは得られない新たなリスクを抽出、提示し、プロジェクト管理を支援する。
【０１３５】
図２０は、本発明の第２の実施の形態における、ドメイン知識１６１のさらに他の例を示す図である。ドメイン知識記憶部１６０には、図２０のようなドメイン知識１６１が記憶されていると仮定する。
【０１３６】
また、モデル記憶部１７０には、図２０のドメイン知識１６１を基に学習されたモデル１７１が格納されていると仮定する。この場合、モデル１７１は、例えば、ルール「ｘ社から追加開発を受ける→ｘ社からの追加開発が常態化」という状態間の関係がルールとして成立しやすいことを学習している。
【０１３７】
入力部１１０は、開始状態として、ユーザから「追加予算を確保、開発要員確保」の入力を受け付ける。また、入力部１１０は、終了状態として、ユーザから「納期内に開発完了」の入力を受け付ける。入力部１１０は、入力された終了状態に対するリスク状態として、例えば、ドメイン知識記憶部１６０において状態「納期内に開発完了」に対して定義されている「工数計算が困難になる」を設定する。
【０１３８】
図２１は、本発明の第２の実施の形態における、ルール候補のさらに他の生成例を示す図である。
【０１３９】
ルール候補生成部１２０は、図２１に示すように、開始状態「追加予算を確保、開発要員確保」からルールを順方向に辿ることで得られる状態、及び、リスク状態「工数計算が困難になる」からルールを逆方向に辿る（遡る）ことで得られる状態を特定する。そして、ルール候補生成部１２０は、特定した状態の各組み合わせを、ルール候補として抽出する。
【０１４０】
ルール選択部１３０、は、各ルール候補について、モデル１７１を用いて、成立性スコアを算出する。
【０１４１】
図２２は、本発明の第２の実施の形態における、新たなルールのさらに他の決定例を示す図である。
【０１４２】
ここで、モデル１７１により、ルール候補「受注後仕様変更→受注後仕様変更状態化」の成立性スコアが閾値以上の場合、ルール選択部１３０は、図２２に示すように、当該ルール候補を新たなルールに決定する。
【０１４３】
導出部１４０は、図２２において、開始状態「追加予算を確保、開発要員確保」から、新たなルール、及び、ドメイン知識１６１の各ルールを辿ることにより、リスク状態「工数計算が困難になる」を導出できると判断する。
【０１４４】
図２３は、本発明の第２の実施の形態における、出力画面１５１のさらに他の例を示す図である。図２３の例では、推論結果である新たなリスク（「現在のプランは、工数計算が困難になる可能性あり」）と、導出木が表示されている。
【０１４５】
出力部１５０は、図２３のような出力画面１５１をユーザに表示する。
【０１４６】
これにより、ユーザは、ドメイン知識１６１に記載された既知のルールのみからは得られない、新たなリスクに気づくことができる。
【０１４７】
次に、本発明の第２の実施の形態の特徴的な構成を説明する。図２４は、本発明の第２の実施の形態の特徴的な構成を示すブロック図である。
【０１４８】
図２４を参照すると、本発明の第２の実施の形態の推論システム１００は、入力部１１０、リスク状態特定部１８０、及び、導出部１４０を含む。
【０１４９】
入力部１１０は、開始状態、及び、終了状態の入力を受け付ける。
【０１５０】
リスク状態特定部１８０は、終了状態に対するリスク状態を特定する。
【０１５１】
導出部１４０は、既知のルールに基づいて、開始状態からリスク状態を導出する導出処理を実行する。
【０１５２】
次に、本発明の第２の実施の形態の効果を説明する。
【０１５３】
本発明の第２の実施の形態によれば、ユーザに対する発想支援を行うことができる。その理由は、推論システム１００が、終了状態に対するリスク状態を特定し、既知のルールに基づいて、開始状態からリスク状態を導出する導出処理を実行するためである。これにより、ユーザに対して、既知のルールのみからは得られないリスクやその根拠等、新たな発想（気づき）を得るための情報を提示できる。
【０１５４】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【０１５５】
１００    推論システム
１０１    ＣＰＵ
１０２    記憶デバイス
１０３    入出力デバイス
１０４    通信デバイス
１１０    入力部
１２０    ルール候補生成部
１３０    ルール選択部
１４０    導出部
１５０    出力部
１５１    出力画面
１６０    ドメイン知識記憶部
１６１    ドメイン知識
１７０    モデル記憶部
１７１    モデル
１８０    リスク状態特定部
【図１】
2017081715.tif 000003
【図２】
2017081715.tif 000004
【図３】
2017081715.tif 000005
【図４】
2017081715.tif 000006
【図５】
2017081715.tif 000007
【図６】
2017081715.tif 000008
【図７】
2017081715.tif 000009
【図８】
2017081715.tif 000010
【図９】
2017081715.tif 000011
【図１０】
2017081715.tif 000012
【図１１】
2017081715.tif 000013
【図１２】
2017081715.tif 000014
【図１３】
2017081715.tif 000015
【図１４】
2017081715.tif 000016
【図１５】
2017081715.tif 000017
【図１６】
2017081715.tif 000018
【図１７】
2017081715.tif 000019
【図１８】
2017081715.tif 000020
【図１９】
2017081715.tif 000021
【図２０】
2017081715.tif 000022
【図２１】
2017081715.tif 000023
【図２２】
2017081715.tif 000024
【図２３】
2017081715.tif 000025
【図２４】
2017081715.tif 000026
【図２５】
2017081715.tif 000027
【図２６】
2017081715.tif 000028
【手続補正書】
【提出日】平成29年3月13日(2017.3.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
開始状態、及び、終了状態の入力を受け付ける入力手段と、
前記開始状態から既知のルールを辿ることにより得られる第１の状態と、前記終了状態から前記既知のルールを遡ることにより得られる第２の状態とを、それぞれ特定し、前記第１の状態と前記第２の状態とに係るルール候補を生成、または、前記第１の状態に係るルール候補と前記第２の状態に係るルール候補とを生成する、ルール候補生成手段と、
前記既知のルールを基に算出した、前記生成したルール候補の成立性に基づいて、当該ルール候補を新規のルールとして選択する、ルール選択手段と、
前記既知のルールと、前記新規のルールと、に基づいて、前記開始状態から前記終了状態を導出する導出処理を実行する、導出手段と、
を備える推論システム。
【請求項２】
前記ルール候補の成立性は、前記ルール候補に係る状態間の関係と、前記既知のルールに係る状態間の関係と、の類似性を基に算出される、
請求項１に記載の推論システム。
【請求項３】
前記ルール候補の成立性は、前記ルール候補に係る一の状態を表すベクトルをＶ１、他の状態を表すベクトルをＶ２、重み行列をＷと定義した場合に、Ｖ１Ｔ・Ｗ・Ｖ２により算出され、当該重み行列は、前記既知のルールに対して高い成立性を示すように学習される、
請求項２に記載の推論システム。
【請求項４】
前記ルール候補の成立性は、前記ルール候補に係る一の状態と前記既知のルールに係る一の状態との類似性、及び、当該ルール候補に係る他の状態と当該既知のルールに係る他の状態との類似性、を基に算出される、
請求項２に記載の推論システム。
【請求項５】
前記ルール候補生成手段は、１以上の前記第１の状態の各々と１以上の前記第２の状態の各々との組み合わせに対して、前記ルール候補を生成し、
前記ルール選択手段は、前記生成したルール候補の各々の成立性に基づいて、前記生成したルール候補から前記新規のルールを選択する、
請求項１乃至４のいずれかに記載の推論システム。
【請求項６】
前記ルール選択手段は、前記ルール候補の内、否定されている状態に係るルール候補を除外したルール候補から、前記新規のルールを選択する、
請求項５に記載の推論システム。
【請求項７】
前記導出手段は、さらに、前記開始状態から前記終了状態までのルールを示す導出木を表示する、
請求項１乃至６のいずれかに記載の推論システム。
【請求項８】
前記導出手段は、前記導出木において、前記新規のルールと前記既知のルールとを、互いに異なる態様で出力する、
請求項７に記載の推論システム。
【請求項９】
前記入力手段は、さらに、前記生成したルール候補の内、前記新規のルールとして選択すべきルール候補の指定を受け付け、
前記ルール選択手段は、さらに、前記指定されたルール候補を前記新規のルールとして選択する、
請求項１乃至８のいずれかに記載の推論システム。
【請求項１０】
前記入力手段は、前記開始状態を、所定の情報源から収集して設定する、
請求項１乃至９のいずれかに記載の推論システム。
【請求項１１】
前記ルールは、当該ルールに係る一の状態が前提であり、当該ルールに係る他の状態が帰結である関係を定義する、
請求項１乃至１０のいずれかに記載の推論システム。
【請求項１２】
開始状態、及び、終了状態の入力を受け付け、
前記開始状態から既知のルールを辿ることにより得られる第１の状態と、前記終了状態から前記既知のルールを遡ることにより得られる第２の状態とを、それぞれ特定し、前記第１の状態と前記第２の状態とに係るルール候補を生成、または、前記第１の状態に係るルール候補と前記第２の状態に係るルール候補とを生成し、
前記既知のルールを基に算出した、前記生成したルール候補の成立性に基づいて、当該ルール候補を新規のルールとして選択し、
前記既知のルールと、前記新規のルールと、に基づいて、前記開始状態から前記終了状態を導出する導出処理を実行する、
推論方法。
【請求項１３】
コンピュータに、
開始状態、及び、終了状態の入力を受け付け、
前記開始状態から既知のルールを辿ることにより得られる第１の状態と、前記終了状態から前記既知のルールを遡ることにより得られる第２の状態とを、それぞれ特定し、前記第１の状態と前記第２の状態とに係るルール候補を生成、または、前記第１の状態に係るルール候補と前記第２の状態に係るルール候補とを生成し、
前記既知のルールを基に算出した、前記生成したルール候補の成立性に基づいて、当該ルール候補を新規のルールとして選択し、
前記既知のルールと、前記新規のルールと、に基づいて、前記開始状態から前記終了状態を導出する導出処理を実行する、
処理を実行させるプログラムを格納する、コンピュータが読み取り可能な記録媒体。
【請求項１４】
開始状態、及び、終了状態の入力を受け付ける入力手段と、
前記終了状態に対するリスク状態を特定する、リスク状態特定手段と、
既知のルールに基づいて、前記開始状態から前記リスク状態を導出する導出処理を実行する、導出手段と、
を備える、推論システム。
【請求項１５】
前記導出処理は、さらに、前記開始状態から前記終了状態を導出する、
請求項１４に記載の推論システム。
【請求項１６】
前記導出処理は、前記開始状態から前記終了状態までのルールを示す導出木と、前記開始状態から前記リスク状態までのルールを示す導出木と、を出力する、
請求項１５に記載の推論システム。
【請求項１７】
さらに、
前記開始状態から既知のルールを辿ることにより得られる第１の状態と、前記リスク状態から前記既知のルールを遡ることにより得られる第２の状態とを、それぞれ特定し、前記第１の状態と前記第２の状態とに係るルール候補を生成、または、前記第１の状態に係るルール候補と前記第２の状態に係るルール候補とを生成する、ルール候補生成手段と、
前記既知のルールを基に算出された前記ルール候補の成立性に基づいて前記ルール候補を新規のルールとして選択する、ルール選択手段と、
を備え、
前記導出処理は、前記既知のルールと、前記新規のルールと、に基づいて、前記開始状態から前記リスク状態を導出する、
請求項１４乃至１６のいずれかに記載の推論システム。
【請求項１８】
開始状態、及び、終了状態の入力を受け付け、
前記終了状態に対するリスク状態を特定し、
既知のルールに基づいて、前記開始状態から前記リスク状態を導出する導出処理を実行する、
推論方法。
【請求項１９】
コンピュータに、
開始状態、及び、終了状態の入力を受け付け、
前記終了状態に対するリスク状態を特定し、
既知のルールに基づいて、前記開始状態から前記リスク状態を導出する導出処理を実行する、
処理を実行させるプログラムを格納する、コンピュータが読み取り可能な記録媒体。
【請求項２０】
開始状態、及び、終了状態の入力を受け付ける入力手段と、
前記開始状態、前記終了状態およびルールの集合に基づいて、前記開始状態から前記終了状態を導出する導出手段と、
前記集合に含まれているルールとは異なるルールであって、前記開始状態から前記終了状態までを導出するために用いられるルールの候補である一つまたは複数のルール候補を生成するルール候補生成手段と、
一つまたは複数の前記ルール候補から少なくとも一つのルールを選択するルール選択手段と、
前記導出手段により導出される結果を出力する出力手段と、
を備え、
前記導出手段は、前記集合に含まれるルールと、前記選択されたルールと、に基づいて、前記開始状態から前記終了状態を導出し、
前記出力手段は、前記集合に含まれるルールと前記選択されたルールとを異なる態様にて出力する、
推論システム。
【請求項２１】
開始状態、及び、終了状態の入力を受け付け、
前記開始状態、前記終了状態およびルールの集合に基づいて、前記開始状態から前記終了状態を導出し、
前記集合に含まれているルールとは異なるルールであって、前記開始状態から前記終了状態までを導出するために用いられるルールの候補である一つまたは複数のルール候補を生成し、
一つまたは複数の前記ルール候補から少なくとも一つのルールを選択し、
前記導出される結果を出力し、
前記導出において、前記集合に含まれるルールと、前記選択されたルールと、に基づいて、前記開始状態から前記終了状態を導出し、
前記出力において、前記集合に含まれるルールと前記選択されたルールとを異なる態様にて出力する、
推論方法。
【請求項２２】
コンピュータに、
開始状態、及び、終了状態の入力を受け付け、
前記開始状態、前記終了状態およびルールの集合に基づいて、前記開始状態から前記終了状態を導出し、
前記集合に含まれているルールとは異なるルールであって、前記開始状態から前記終了状態までを導出するために用いられるルールの候補である一つまたは複数のルール候補を生成し、
一つまたは複数の前記ルール候補から少なくとも一つのルールを選択し、
前記導出される結果を出力し、
前記導出において、前記集合に含まれるルールと、前記選択されたルールと、に基づいて、前記開始状態から前記終了状態を導出し、
前記出力において、前記集合に含まれるルールと前記選択されたルールとを異なる態様にて出力する、
処理を実行させるプログラムを格納する、コンピュータが読み取り可能な記録媒体。
【請求項２３】
開始状態、及び、終了状態の入力を受け付ける入力手段と、
前記開始状態、前記終了状態およびルールの集合に基づいて、前記開始状態から前記終了状態を導出する導出手段と、
前記集合に含まれているルールとは異なるルールであって、前記開始状態から前記終了状態までを導出するために用いられるルールの候補である一つまたは複数のルール候補を生成するルール候補生成手段と、
前記ルール候補を出力し、前記出力したルール候補からユーザーにより選択されるルールを受け付ける受付手段と、を備え、
前記導出手段は、前記集合に含まれるルールと、前記選択されたルールと、に基づいて、前記開始状態から前記終了状態を導出する、
推論システム。
【請求項２４】
開始状態、及び、終了状態の入力を受け付け、
前記開始状態、前記終了状態およびルールの集合に基づいて、前記開始状態から前記終了状態を導出し、
前記集合に含まれているルールとは異なるルールであって、前記開始状態から前記終了状態までを導出するために用いられるルールの候補である一つまたは複数のルール候補を生成し、
前記ルール候補を出力し、前記出力したルール候補からユーザーにより選択されるルールを受け付け、
前記導出において、前記集合に含まれるルールと、前記選択されたルールと、に基づいて、前記開始状態から前記終了状態を導出する、
推論システム。
【請求項２５】
コンピュータに、
開始状態、及び、終了状態の入力を受け付け、
前記開始状態、前記終了状態およびルールの集合に基づいて、前記開始状態から前記終了状態を導出し、
前記集合に含まれているルールとは異なるルールであって、前記開始状態から前記終了状態までを導出するために用いられるルールの候補である一つまたは複数のルール候補を生成し、
前記ルール候補を出力し、前記出力したルール候補からユーザーにより選択されるルールを受け付け、
前記導出において、前記集合に含まれるルールと、前記選択されたルールと、に基づいて、前記開始状態から前記終了状態を導出する、
処理を実行させるプログラムを格納する、コンピュータが読み取り可能な記録媒体。
【手続補正書】
【提出日】平成30年4月17日(2018.4.17)
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
開始状態、及び、終了状態の入力を受け付ける入力手段と、
前記開始状態から既知のルールを辿ることにより得られる第１の状態と、前記終了状態から前記既知のルールを遡ることにより得られる第２の状態とを、それぞれ特定し、前記第１の状態と前記第２の状態とに係るルール候補を生成、または、前記第１の状態に係るルール候補と前記第２の状態に係るルール候補とを生成する、ルール候補生成手段と、
前記既知のルールを基に算出した、前記生成したルール候補の成立性に基づいて、当該ルール候補を新規のルールとして選択する、ルール選択手段と、
前記既知のルールと、前記新規のルールと、に基づいて、前記開始状態から前記終了状態を導出する導出処理を実行する、導出手段と、
を備える推論システム。
【請求項２】
開始状態、及び、終了状態の入力を受け付け、
前記開始状態から既知のルールを辿ることにより得られる第１の状態と、前記終了状態から前記既知のルールを遡ることにより得られる第２の状態とを、それぞれ特定し、前記第１の状態と前記第２の状態とに係るルール候補を生成、または、前記第１の状態に係るルール候補と前記第２の状態に係るルール候補とを生成し、
前記既知のルールを基に算出した、前記生成したルール候補の成立性に基づいて、当該ルール候補を新規のルールとして選択し、
前記既知のルールと、前記新規のルールと、に基づいて、前記開始状態から前記終了状態を導出する導出処理を実行する、
推論方法。
【請求項３】
コンピュータに、
開始状態、及び、終了状態の入力を受け付け、
前記開始状態から既知のルールを辿ることにより得られる第１の状態と、前記終了状態から前記既知のルールを遡ることにより得られる第２の状態とを、それぞれ特定し、前記第１の状態と前記第２の状態とに係るルール候補を生成、または、前記第１の状態に係るルール候補と前記第２の状態に係るルール候補とを生成し、
前記既知のルールを基に算出した、前記生成したルール候補の成立性に基づいて、当該ルール候補を新規のルールとして選択し、
前記既知のルールと、前記新規のルールと、に基づいて、前記開始状態から前記終了状態を導出する導出処理を実行する、
処理を実行させるプログラム。
【請求項４】
開始状態、及び、終了状態の入力を受け付ける入力手段と、
前記終了状態に対するリスク状態を特定する、リスク状態特定手段と、
既知のルールに基づいて、前記開始状態から前記リスク状態を導出する導出処理を実行する、導出手段と、
を備える、推論システム。
【請求項５】
開始状態、及び、終了状態の入力を受け付け、
前記終了状態に対するリスク状態を特定し、
既知のルールに基づいて、前記開始状態から前記リスク状態を導出する導出処理を実行する、
推論方法。
【請求項６】
コンピュータに、
開始状態、及び、終了状態の入力を受け付け、
前記終了状態に対するリスク状態を特定し、
既知のルールに基づいて、前記開始状態から前記リスク状態を導出する導出処理を実行する、
処理を実行させるプログラム。
【請求項７】
開始状態、及び、終了状態の入力を受け付ける入力手段と、
前記開始状態、前記終了状態およびルールの集合に基づいて、前記開始状態から前記終了状態を導出する導出手段と、
前記集合に含まれているルールとは異なるルールであって、前記開始状態から前記終了状態までを導出するために用いられるルールの候補である一つまたは複数のルール候補を生成するルール候補生成手段と、
一つまたは複数の前記ルール候補から少なくとも一つのルールを選択するルール選択手段と、
前記導出手段により導出される結果を出力する出力手段と、
を備え、
前記導出手段は、前記集合に含まれるルールと、前記選択されたルールと、に基づいて、前記開始状態から前記終了状態を導出し、
前記出力手段は、前記集合に含まれるルールと前記選択されたルールとを異なる態様にて出力する、
推論システム。
【請求項８】
開始状態、及び、終了状態の入力を受け付け、
前記開始状態、前記終了状態およびルールの集合に基づいて、前記開始状態から前記終了状態を導出し、
前記集合に含まれているルールとは異なるルールであって、前記開始状態から前記終了状態までを導出するために用いられるルールの候補である一つまたは複数のルール候補を生成し、
一つまたは複数の前記ルール候補から少なくとも一つのルールを選択し、
前記導出される結果を出力し、
前記導出において、前記集合に含まれるルールと、前記選択されたルールと、に基づいて、前記開始状態から前記終了状態を導出し、
前記出力において、前記集合に含まれるルールと前記選択されたルールとを異なる態様にて出力する、
推論方法。
【請求項９】
開始状態、及び、終了状態の入力を受け付ける入力手段と、
前記開始状態、前記終了状態およびルールの集合に基づいて、前記開始状態から前記終了状態を導出する導出手段と、
前記集合に含まれているルールとは異なるルールであって、前記開始状態から前記終了状態までを導出するために用いられるルールの候補である一つまたは複数のルール候補を生成するルール候補生成手段と、
前記ルール候補を出力し、前記出力したルール候補からユーザーにより選択されるルールを受け付ける受付手段と、を備え、
前記導出手段は、前記集合に含まれるルールと、前記選択されたルールと、に基づいて、前記開始状態から前記終了状態を導出する、
推論システム。
【請求項１０】
開始状態、及び、終了状態の入力を受け付け、
前記開始状態、前記終了状態およびルールの集合に基づいて、前記開始状態から前記終了状態を導出し、
前記集合に含まれているルールとは異なるルールであって、前記開始状態から前記終了状態までを導出するために用いられるルールの候補である一つまたは複数のルール候補を生成し、
前記ルール候補を出力し、前記出力したルール候補からユーザーにより選択されるルールを受け付け、
前記導出において、前記集合に含まれるルールと、前記選択されたルールと、に基づいて、前記開始状態から前記終了状態を導出する、
推論方法。
【国際調査報告】
2017081715.tif 000029
2017081715.tif 000030