IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

特許7544261仮説推論装置、仮説推論方法及びプログラム
<>
  • 特許-仮説推論装置、仮説推論方法及びプログラム 図1
  • 特許-仮説推論装置、仮説推論方法及びプログラム 図2
  • 特許-仮説推論装置、仮説推論方法及びプログラム 図3
  • 特許-仮説推論装置、仮説推論方法及びプログラム 図4
  • 特許-仮説推論装置、仮説推論方法及びプログラム 図5
  • 特許-仮説推論装置、仮説推論方法及びプログラム 図6
  • 特許-仮説推論装置、仮説推論方法及びプログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-26
(45)【発行日】2024-09-03
(54)【発明の名称】仮説推論装置、仮説推論方法及びプログラム
(51)【国際特許分類】
   G06N 5/04 20230101AFI20240827BHJP
【FI】
G06N5/04
【請求項の数】 8
(21)【出願番号】P 2023514302
(86)(22)【出願日】2021-04-16
(86)【国際出願番号】 JP2021015727
(87)【国際公開番号】W WO2022219809
(87)【国際公開日】2022-10-20
【審査請求日】2023-10-11
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】山本 風人
【審査官】多賀 実
(56)【参考文献】
【文献】国際公開第2020/003585(WO,A1)
【文献】伊藤 史朗 ほか,「論理制約利用による高速仮説推論システム」,情報処理学会研究報告,社団法人情報処理学会,1990年05月09日,第90巻, 第32号,人工知能70-5 pp.1-10
(58)【調査した分野】(Int.Cl.,DB名)
G06N 5/04-5/048
(57)【特許請求の範囲】
【請求項1】
背景知識を1以上の論理式により表現した背景知識情報と、観測事実を1以上の論理式により表現したクエリ情報とを取得する取得手段と、
前記背景知識情報、及び前記クエリ情報を参照して複数の仮説を生成する生成手段と、
前記複数の仮説をそれぞれ構成する複数の要素間において満たすべき複数の論理制約の一部を列挙して制約集合を構築する構築手段と、
前記制約集合を参照して前記複数の仮説のうち何れかを解仮説の候補として探索する探索手段と、
前記解仮説の候補が、当該候補を構成する要素間において満たすべき論理制約のうち前記制約集合に含まれない論理制約を満たすか否かを判定する判定手段と、
前記解仮説の候補が前記制約集合に含まれない論理制約を満たす場合に、当該候補を解仮説として出力する出力手段と、
を備えた仮説推論装置。
【請求項2】
前記判定手段は、前記解仮説の候補が前記制約集合に含まれない論理制約を満たさない場合に、当該論理制約を前記制約集合に追加して前記探索手段を再度機能させる、
請求項1に記載の仮説推論装置。
【請求項3】
前記探索手段は、前記制約集合に含まれない論理制約を満たさない解仮説の候補を除外して、前記制約集合を参照して新たな解仮説の候補を探索する、
請求項1又は2に記載の仮説推論装置。
【請求項4】
前記構築手段は、前記複数の仮説をそれぞれ構成する複数の要素の組み合わせ毎に生じる論理制約を判定対象として、前記複数の論理制約のうち前記判定対象以外の論理制約を列挙して前記制約集合を構築する、
請求項1から3の何れか1項に記載の仮説推論装置。
【請求項5】
前記判定対象の論理制約は、前記複数の要素間の等価関係に関する論理制約を含む、
請求項4に記載の仮説推論装置。
【請求項6】
前記判定対象の論理制約は、前記複数の要素間の順序関係に関する論理制約を含む、
請求項4又は5に記載の仮説推論装置。
【請求項7】
仮説推論装置が、
背景知識を1以上の論理式により表現した背景知識情報と、観測事実を1以上の論理式により表現したクエリ情報とを取得すること、
前記背景知識情報、及び前記クエリ情報を参照して複数の仮説を生成すること、
前記複数の仮説をそれぞれ構成する複数の要素間において満たすべき複数の論理制約の一部を列挙して制約集合を構築すること、
前記制約集合を参照して前記複数の仮説のうち何れかを解仮説の候補として探索すること、
前記解仮説の候補が、当該候補を構成する要素間において満たすべき論理制約のうち前記制約集合に含まれない論理制約を満たすか否かを判定すること、及び、
前記解仮説の候補が前記制約集合に含まれない論理制約を満たす場合に、当該候補を解仮説として出力すること、
を含むことを特徴とする仮説推論方法。
【請求項8】
コンピュータを仮説推論装置として機能させるプログラムであって、
前記プログラムは、前記コンピュータを、
背景知識を1以上の論理式により表現した背景知識情報と、観測事実を1以上の論理式により表現したクエリ情報とを取得する取得手段と、
前記背景知識情報、及び前記クエリ情報を参照して複数の仮説を生成する生成手段と、
前記複数の仮説をそれぞれ構成する複数の要素間において満たすべき複数の論理制約の一部を列挙して制約集合を構築する構築手段と、
前記制約集合を参照して前記複数の仮説のうち何れかを解仮説の候補として探索する探索手段と、
前記解仮説の候補が、当該候補を構成する要素間において満たすべき論理制約のうち前記制約集合に含まれない論理制約を満たすか否かを判定する判定手段と、
前記解仮説の候補が前記制約集合に含まれない論理制約を満たす場合に、当該候補を解仮説として出力する出力手段と、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮説推論の技術に関する。
【背景技術】
【0002】
仮説推論(Abduction, Abductive reasoning)とは、観測を表すクエリ論理式(Query)と背景知識(Background knowledge)とを受け取り、所定の評価関数の基で、最良の仮説を表す論理式を出力する推論方式である。ここで、所定の評価関数とは、個々の仮説候補の良さを実数値で表す関数(評価関数、Evaluation function)である。また、最良の仮説を表す論理式とは、背景知識と無矛盾であり、かつ、観測を表すクエリ論理式を演繹的に導けるような論理式(仮説、Hypotheses)の中で最良のもの(最良仮説、解仮説、Solution hypothesis)である。
【0003】
非特許文献1には、仮説推論を計算機上で実装するための方式が開示されている。また、非特許文献2には、非特許文献1で示される方式の拡張として、論理制約を逐次的に考慮していくことで、効率的に計算を行うための方式が開示されている。
【先行技術文献】
【非特許文献】
【0004】
【文献】Naoya Inoue and Kentaro Inui. ILP-based Reasoning for Weighted Abduction. In Proceedings of AAAI Workshop on Plan, Activity and Intent Recognition, pp. 25-32, August 2011.
【文献】Naoya Inoue and Kentaro Inui. Large-scale Cost-based Abduction in Full-fledged First-order Predicate Logic with Cutting Plane Inference. In Proceedings of the 13th European Conference on Logics in Artificial Intelligence, pp.281-293, September 2012.
【発明の概要】
【発明が解決しようとする課題】
【0005】
非特許文献1及び非特許文献2にかかる技術では、推論に必要な論理制約を全て列挙してから、それらを数理最適化ソルバに与えることで解仮説を求めるという手順を採っている。そのため、考慮すべき論理制約の数が膨大になるような事例においては、論理制約を列挙する処理にかかる計算時間が長大化してしまうために、その処理をボトルネックとして全体の推論時間も長大化してしまうという問題があった。
【0006】
本発明の一態様は、上記の問題に鑑みてなされたものであり、その目的の一例は、仮説推論における解仮説の生成に係る計算効率を向上させる技術を提供することである。
【課題を解決するための手段】
【0007】
本発明の一側面に係る仮説推論装置は、背景知識を1以上の論理式により表現した背景知識情報と、観測事実を1以上の論理式により表現したクエリ情報とを取得する取得手段と、前記背景知識情報、及び前記クエリ情報を参照して複数の仮説を生成する生成手段と、前記複数の仮説をそれぞれ構成する複数の要素間において満たすべき複数の論理制約の一部を列挙して制約集合を構築する構築手段と、前記制約集合を参照して前記複数の仮説のうち何れかを解仮説の候補として探索する探索手段と、前記解仮説の候補が、当該候補を構成する要素間において満たすべき論理制約のうち前記制約集合に含まれない論理制約を満たすか否かを判定する判定手段と、前記解仮説の候補が前記制約集合に含まれない論理制約を満たす場合に、当該候補を解仮説として出力する出力手段と、を備える。
【0008】
本発明の一側面に係る仮説推論方法は、仮説推論装置が、背景知識を1以上の論理式により表現した背景知識情報と、観測事実を1以上の論理式により表現したクエリ情報とを取得すること、前記背景知識情報、及び前記クエリ情報を参照して複数の仮説を生成すること、前記複数の仮説をそれぞれ構成する複数の要素間において満たすべき複数の論理制約の一部を列挙して制約集合を構築すること、前記制約集合を参照して前記複数の仮説のうち何れかを解仮説の候補として探索すること、前記解仮説の候補が、当該候補を構成する要素間において満たすべき論理制約のうち前記制約集合に含まれない論理制約を満たすか否かを判定すること、及び、前記解仮説の候補が前記制約集合に含まれない論理制約を満たす場合に、当該候補を解仮説として出力すること、を含むことを特徴とする。
【0009】
本発明の一側面に係るプログラムは、コンピュータを仮説推論装置として機能させるプログラムであって、前記プログラムは、前記コンピュータを、背景知識を1以上の論理式により表現した背景知識情報と、観測事実を1以上の論理式により表現したクエリ情報とを取得する取得手段と、前記背景知識情報、及び前記クエリ情報を参照して複数の仮説を生成する生成手段と、前記複数の仮説をそれぞれ構成する複数の要素間において満たすべき複数の論理制約の一部を列挙して制約集合を構築する構築手段と、前記制約集合を参照して前記複数の仮説のうち何れかを解仮説の候補として探索する探索手段と、前記解仮説の候補が、当該候補を構成する要素間において満たすべき論理制約のうち前記制約集合に含まれない論理制約を満たすか否かを判定する判定手段と、前記解仮説の候補が前記制約集合に含まれない論理制約を満たす場合に、当該候補を解仮説として出力する出力手段と、として機能させることを特徴とする。
【発明の効果】
【0010】
本発明の一態様によれば、仮説推論における解仮説の生成に係る計算効率を向上させることができる。
【図面の簡単な説明】
【0011】
図1】本発明の例示的実施形態1に係る仮説推論装置の構成を示すブロック図である。
図2】本発明の例示的実施形態1に係る仮説推論方法の流れを示すフロー図である。
図3】本発明の例示的実施形態2に係る仮説推論装置の構成を示すブロック図である。
図4】本発明の例示的実施形態2に係る仮説推論方法の流れを示すフロー図である。
図5】本発明の例示的実施形態2に係る順序関係を含む推論において考慮すべき論理制約の例を示す図である。
図6】本発明の例示的実施形態2に係る仮説と論理制約との関係を模式的に示す図である。
図7】本発明の各例示的実施形態における仮説推論装置のハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【0012】
〔例示的実施形態1〕
本発明の第1の例示的実施形態について、図面を参照して詳細に説明する。本例示的実施形態は、後述する例示的実施形態の基本となる形態である。
【0013】
(仮説推論装置の構成)
本例示的実施形態に係る仮説推論装置1の構成について、図1を参照して説明する。図1は、仮説推論装置1の構成を示すブロック図である。仮説推論装置1は、仮説推論により仮説を生成する装置である。仮説推論装置1は、取得部11、生成部12、構築部13、探索部14、判定部15、及び出力部16を備える。
【0014】
(取得部)
取得部11は、背景知識を1以上の論理式により表現した背景知識情報と、観測事実を1以上の論理式により表現したクエリ情報とを取得する。背景知識情報は、前件が成り立てば後件が成り立つというルールの集合(背景知識)を、1以上の論理式により表現した情報である。背景知識は推論知識と呼ばれることもある。クエリ情報は、観測事実を1以上の論理式により表現した情報である。
【0015】
取得部11は、背景知識情報及びクエリ情報の一方又は両方を、仮説推論装置1が内蔵する記憶装置から読み出すことにより取得してもよく、また、外部記憶装置から読み出すことにより取得してもよい。また、取得部11は、他の装置から通信部を介して背景知識情報及びクエリ情報の一方又は両方を受信することにより取得してもよい。また、取得部11は、マウスやタッチパネル等の任意の入力装置を介して行われたユーザの入力操作に応じて、背景知識情報及びクエリ情報の一方又は両方を生成し、生成した情報を取得してもよい。
【0016】
(生成部)
生成部12は、背景知識情報及びクエリ情報を参照して複数の仮説を生成する。仮説は、背景知識情報及びクエリ情報と同様に、論理式で表される。背景知識情報とクエリ情報とを用いて複数の仮説を生成する具体的な手法としては、例えば「山本風人 et. al.,“誤差逆伝播を利用した重み付き仮説推論の教師あり学習”,情報処理学会研究報告,Vol.2012-NL-206 No.9/Vol.2012-SLP-91 No.9,2012」に記載されているような重み付き仮説推論等、種々の手法を適用することができる。
【0017】
(構築部)
構築部13は、複数の仮説をそれぞれ構成する複数の要素間において満たすべき複数の論理制約の一部を列挙して制約集合を構築する。論理制約とは、仮説が背景知識と矛盾しないために充足すべき制約である。論理制約は、複数の種類に分類される。構築部13は、複数の種類の論理制約のうち、一部の種類の論理制約を列挙する。
【0018】
構築部13が列挙する論理制約は、生成部12が生成した複数の仮説が充足すべき論理制約のうち、後述する判定部15の対象としない論理制約である。構築部13が列挙する論理制約は、一例として、矛盾を導くような論理式の組み合わせが解仮説中に存在してはならないという条件を満たす制約である。また、論理制約は、一例として、解仮説が観測を演繹的に導出できるものでなければならないという条件を満たす制約である。構築部13は、一例として、非特許文献1又は非特許文献2に記載されている手法により、判定部15の判定対象としない論理制約を列挙する。なお、構築部13が論理制約を列挙する方法は上述した手法に限られない。構築部13Aは他の手法により論理制約を列挙してもよい。
【0019】
(探索部)
探索部14は、制約集合を参照して、生成部12が生成した複数の仮説のうち何れかを解仮説の候補として探索する。換言すると、探索部14は、構築部13が列挙した論理制約の下で、複数の仮説の中から解仮説の候補を探索する。探索部14は、一例として、制約集合を整数線形計画問題として表現した上で、任意の整数線形計画問題のソルバを用いることによって解仮説の候補を探索する。なお、探索部14は他の手法を用いて解仮説の候補を探索してもよい。
【0020】
(判定部)
判定部15は、解仮説の候補が、当該候補を構成する要素間において満たすべき論理制約のうち、構築部13が構築した制約集合に含まれない論理制約を満たすか否かを判定する。一例として、判定部15は、解仮説の候補を構成する要素に基づき、判定対象とする論理制約を生成し、生成した論理制約を解仮説の候補が満たすか否かを判定する。判定部15は、一例として、非特許文献1又は非特許文献2に記載されている手法により、判定部15の判定対象の論理制約を列挙する。なお、判定部15が論理制約を列挙する方法は上述した手法に限られない。判定部15は他の手法により判定対象の論理制約を列挙してもよい。
【0021】
(出力部)
出力部16は、解仮説の候補が、制約集合に含まれない論理制約を満たす場合に、当該候補を解仮説として出力する。出力部16は、一例として、表示パネルに解仮説を表示してもよく、また、図示しない記録媒体に解仮説を格納してもよい。また、出力部16は、一例として、入出力インタフェース又は通信インタフェースを介して他の装置に解仮説を出力してもよい。
【0022】
以上のように、本例示的実施形態に係る仮説推論装置1は、背景知識を1以上の論理式により表現した背景知識情報と、観測事実を1以上の論理式により表現したクエリ情報とを取得する取得部11と、背景知識情報、及びクエリ情報を参照して複数の仮説を生成する生成部12と、複数の仮説をそれぞれ構成する複数の要素間において満たすべき複数の論理制約の一部を列挙して制約集合を構築する構築部13と、制約集合を参照して複数の仮説のうち何れかを解仮説の候補として探索する探索部14と、解仮説の候補が、当該候補を構成する要素間において満たすべき論理制約のうち制約集合に含まれない論理制約を満たすか否かを判定する判定部15と、解仮説の候補が制約集合に含まれない論理制約を満たす場合に、当該候補を解仮説として出力する出力部16と、を備える構成が採用されている。
【0023】
上記の構成によれば、仮説推論装置1は、複数の仮説をそれぞれ構成する複数の要素間において満たすべき複数の論理制約の全てではなく、複数の論理制約の一部を参照して解仮説の候補を探索する。これにより、複数の論理制約の全てを参照して解仮説を探索する場合に比べて、解仮説の生成に係る計算効率を向上させることができる。
【0024】
(仮説推論方法の流れ)
本例示的実施形態に係る仮説推論方法の流れについて、図2を参照して説明する。図2は、仮説推論方法の流れを示すフロー図である。図2に示すとおり、本例示的実施形態に係る仮説推論方法は、少なくとも、ステップS11~S16を含む。
【0025】
ステップS11において、取得部11は、背景知識を1以上の論理式により表現した背景知識情報と、観測事実を1以上の論理式により表現したクエリ情報とを取得する。ステップS12において、生成部12は、背景知識情報、及びクエリ情報を参照して複数の仮説を生成する。ステップS13において、構築部13は、複数の仮説をそれぞれ構成する複数の要素間において満たすべき複数の論理制約の一部を列挙して制約集合を構築する。ステップS14において、探索部14は、制約集合を参照して複数の仮説のうち何れかを解仮説の候補として探索する。
【0026】
ステップS15において、判定部15は、解仮説の候補が、当該候補を構成する要素間において満たすべき論理制約のうち制約集合に含まれない論理制約を満たすか否かを判定する。ステップS16において、出力部16は、解仮説の候補が制約集合に含まれない論理制約を満たす場合に、当該候補を解仮説として出力する。
【0027】
本例示的実施形態に係る当該仮説推論方法によれば、仮説推論における解仮説の生成に係る計算効率を向上させることができるという効果が得られる。なお、取得部11、生成部12、構築部13、探索部14、判定部15、及び出力部16の機能を少なくとも1つのプロセッサにより実現した場合、上記S11~S16の処理の主体は少なくとも1つのプロセッサと表現することもできる。
【0028】
〔例示的実施形態2〕
本発明の第2の例示的実施形態について、図面を参照して詳細に説明する。なお、例示的実施形態1にて説明した構成要素と同じ機能を有する構成要素については、同じ符号を付し、その説明を適宜省略する。
【0029】
(仮説推論装置の構成)
本例示的実施形態に係る仮説推論装置1Aの構成について、図3を参照して説明する。図3は、仮説推論装置1Aの構成を示すブロック図である。仮説推論装置1Aは、例示的実施形態1の仮説推論装置1と同様に、仮説推論により仮説を生成する装置である。また、図3には、背景知識情報とクエリ情報とを仮説推論装置1Aに入力する入力装置2と、仮説推論装置1Aが出力する情報の出力先である出力装置3についても併せて示している。
【0030】
仮説推論装置1Aは、取得部11A、生成部12A、構築部13A、探索部14A、判定部15A、及び出力部16Aを備える。また、仮説推論装置1Aは、背景知識情報格納部21A、クエリ情報格納部22A、仮説集合格納部23A、制約集合格納部24Aを備える。
【0031】
取得部11Aは、例示的実施形態1の取得部11と同様に、背景知識情報とクエリ情報とを取得する。取得部11Aは、一例として、入力装置2が入力した背景知識情報とクエリ情報とを取得し、背景知識情報格納部21A及びクエリ情報格納部22Aに記憶する。
【0032】
生成部12Aは、例示的実施形態1の生成部12と同様に、背景知識情報及びクエリ情報を参照して複数の仮説を生成する。生成部12Aは、生成した複数の仮説を仮説集合格納部23Aに記憶する。
【0033】
構築部13Aは、例示的実施形態1の構築部13と同様に、複数の仮説をそれぞれ構成する複数の要素間において満たすべき複数の論理制約の一部を列挙して制約集合を構築する。構築部13Aは、構築した制約集合を制約集合格納部24Aに格納する。
【0034】
探索部14Aは、例示的実施形態1の探索部14と同様に、制約集合を参照して複数の仮説のうち何れかを解仮説の候補として探索する。探索部14Aは、探索した解仮説の候補を判定部15Aに供給する。
【0035】
判定部15Aは、例示的実施形態1の判定部15と同様に、探索部14Aが探索した解仮説の候補が、当該候補を構成する要素間において満たすべき論理制約のうち制約集合に含まれない論理制約を満たすか否かを判定する。
【0036】
出力部16は、例示的実施形態1の出力部16と同様に、解仮説の候補が、制約集合に含まれない論理制約を満たす場合に、当該候補を解仮説として出力する。出力部16は、一例として、出力装置3に解仮説を出力する。
【0037】
入力装置2は、一例として、マウス、タッチパネル等の入力装置である。また、入力装置2は、入出力インタフェース又は通信インタフェースを介して仮説推論装置1と接続された装置であってもよい。出力装置は、一例として、表示パネルを備えた表示装置、外部記憶装置、又は印刷装置である。また、出力装置は、一例として、入出力インタフェース又は通信インタフェースを介して仮説推論装置1と接続された装置であってもよい。
【0038】
(仮説推論方法の流れ)
図4は、本実施形態にかかる仮説推論方法S10Aの流れを示すフローチャートである。ステップS11Aにおいて、取得部11Aは、背景知識情報D1とクエリ情報D2とを取得する。一例として、取得部11Aは、入力装置2から背景知識情報D1とクエリ情報D2とを取得する。
【0039】
ステップS12Aにおいて、生成部12Aは、背景知識情報D1とクエリ情報D2とから、順次、複数の仮説を生成して仮説集合D3を構築する。生成部12Aが複数の仮説を生成する手法は、上述の例示的実施形態1の生成部12が複数の仮説を生成する方法と同様である。
【0040】
ステップS13Aにおいて、構築部13Aは、仮説集合D3に含まれる各仮説が充足すべき論理制約のうち、判定部15Aの判定対象としない論理制約を列挙し、制約集合D4を構築する。換言すると、構築部13Aは、生成部12Aが生成した複数の仮説をそれぞれ構成する複数の要素の組み合わせ毎に生じる論理制約を判定部15Aの判定対象とし、複数の論理制約のうち判定対象以外の論理制約を列挙して前記制約集合を構築する。
【0041】
本例示的実施形態において、仮説が充足すべき論理制約は、一例として、以下の(i)~(iv)の4種類の論理制約を含む。なお、本例示的実施形態に係る論理制約はこれらに限られず、他の種類の論理制約を含んでもよい。
(i)等価関係に関する推移律
(ii)術語に関する推移律・非対称律・非反射律
(iii)背景知識情報D1と無矛盾であるための制約
(iv)仮説が観測を演繹的に導出できなければならないという制約
【0042】
(i)等価関係に関する推移律とは、任意の論理変数x、y、zの間に、以下の(1)式の関係が成り立たなくてはならない、という制約である。
(x=y)^(y=z)=>(x=z) …(1)
【0043】
(ii)術語に関する推移律・非対称律・非反射律とは、これらの性質が引数について成り立つような術語を持つ論理式について、以下の(2)~(4)式が成り立たなくてはならない、という制約である。以下の(2)~(4)式において、seqはそのような術語の一例であり、時間の前後関係を表す術語である。
seq(x,y)^seq(y,z) =>seq(x,z) …(2)
seq(x,y)=>!seq(x,y) …(3)
seq(x,y)=>(x!=y) …(4)
【0044】
(iii)背景知識情報D1と矛盾であるための制約、および、(iv)仮説が観測を演繹的に導出できなければならないという制約、はそれぞれ、以下の(5)式、および(6)式で表現される。(5)式および(6)式において、Bは、背景知識情報D1に含まれる背景知識、Hは仮説集合D3に含まれる仮説、Oはクエリ情報D2に含まれる、観測を表す情報である。
【数1】
【数2】
【0045】
判定部15Aの判定対象の論理制約は、一例として、複数の要素間の等価関係に関する論理制約を含む。また、判定部15Aの判定対象の論理制約は、一例として、複数の要素間の順序関係に関する論理制約を含む。判定部15Aの判定対象とする論理制約を、以下では「第1論理制約」ともいう。判定部15Aの判定対象とする論理制約は、一例として、(i)等価関係に関する推移律、及び(ii)術語に関する推移律・非対称律・非反射律、である。
【0046】
一方、構築部13Aが列挙する論理制約は、一例として、(i)等価関係に関する推移律、及び(ii)術語に関する推移律・非対称律・非反射律、を除いた制約である。以下の説明では、構築部13Aが列挙する論理制約を「第2論理制約」ともいう。構築部13Aが列挙する第2論理制約は、一例として、(iii)背景知識情報D1と無矛盾であるための制約、及び、(iv)仮説が観測を演繹的に導出できなければならないという制約、を含む。構築部13Aが第2論理制約を列挙するために用いる手法としては、一例として、非特許文献1又は非特許文献2に記載されている手法が挙げられる。なお、構築部13Aが論理制約を列挙する方法はこれに限られず、構築部13Aは他の手法を用いてもよい。
【0047】
第1論理制約(判定部15が判定する論理制約)は、一例として、要素の数が多いほど組み合わせの数が膨大になるような種類の制約である。第1論理制約である等価関係の推移律、及び、順序関係を表す術語などに関する論理制約は、論理制約として考慮すべき組み合わせが非常に膨大である一方で、実際に解仮説を得る上で必要な論理制約はそのうちのごく一部である、といった特徴を有する。一方、第2論理制約(探索部14が用いる論理制約)は、一例として、第1論理制約と比較すると組み合わせが膨大にはならない論理制約である。
【0048】
図5は、仮説に含まれる要素の順序関係と、順序の循環を成す論理式の組み合わせとの具体例を示す図である。時間の前後関係を表す術語seq(t1,t2)を含む推論を考えると、この術語には推移律、非対称律、非反射律が成り立つ。仮定推論において、この術語によって表される時間順序が循環を引き起こすような、すなわち非対称律に矛盾するような論理式の組み合わせの数は、図示のように、この術語を持つ論理式の数に応じて指数関数的に増大していく。
【0049】
図4のステップS14Aにおいて、探索部14Aは、制約集合D4の下で、仮説集合D3から解仮説の候補D5を探索する。以下では、解仮説の候補を、「解仮説候補」ともいう。探索部14Aは、一例として、制約集合D4を整数線形計画問題として表現した上で、任意の整数線形計画問題のソルバを用いることによって解仮説の候補を探索する。なお、探索部14Aは、他の手法を用いて解仮説の候補を探索してもよい。
【0050】
ステップS15Aにおいて、判定部15Aは、解仮説の候補D5が、第1論理制約に矛盾するかどうかを判定する。判定部15Aは、一例として、解仮説の候補D5を構成する要素に基づき、(i)等価関係に関する推移律、(ii)術語に関する推移律・非対称律・非反射律、を含む第1論理制約を列挙し、解仮説の候補D5が列挙した第1論理制約に矛盾するかを判定する。
【0051】
判定部15Aが列挙した第1論理制約の中に矛盾するものが含まれていた場合(ステップS15;YES)、判定部15AはステップS16Aの処理に進む。一方、矛盾する第1論理制約がない場合(ステップS15A;NO)、判定部15AはステップS17Aの処理に進む。
【0052】
ステップS16Aにおいて、判定部15Aは、解仮説の候補D5と矛盾した第1論理制約を、制約集合D4に追加する。判定部15AはステップS16Aの処理を終えると、ステップS14Aの処理に戻り、探索部14Aが解仮説の候補D5の探索を再度実行する。換言すると、判定部15Aは、ステップS15A~ステップS14Aにおいて、解仮説の候補D5が制約集合D4に含まれない第1論理制約を満たさない場合に、当該第1論理制約を制約集合D4に追加して探索部14Aを再度機能させる。論理制約に矛盾しない解仮説が得られるまで、仮説推論装置1AがステップS14A~ステップS16Aを繰り返し実行する。
【0053】
ステップS14Aにおいて、探索部14Aは、制約集合D4に含まれない第1論理制約を満たさない解仮説の候補を除外して、制約集合D4を参照して新たな解仮説の候補を探索してもよい。
【0054】
ステップS17Aにおいて、出力部16Aは、解仮説の候補D5を解仮説として出力する。出力部16Aは、一例として、出力装置3に解仮説を出力する。
【0055】
図6は、仮説と論理制約との関係を模式的に示す図である。図の例で、仮説集合D3は、仮説h1、h2、h3、…を含む。制約集合D7は、仮説集合D3に含まれる仮説が従属すべき論理制約の集合であり、制約集合D4を含む。制約集合D4は、構築部13Aが構築する集合、すなわち第2論理制約の集合である。
【0056】
また、論理制約x11、x12、…、y11、y12、…は、仮説h1を構成する要素間で満たすべき論理制約である。論理制約x21、x22、…、y21、y22、…は、仮説h2を構成する要素間で満たすべき論理制約である。論理制約x31、x32、…、y31、y32、…は、仮説h3を構成する要素間で満たすべき論理制約である。なお、図6では、説明の理解を容易にするため、制約集合D7に含まれる論理制約がそれぞれひとつの仮説に対応する場合を図示しているが、制約集合D7に含まれる論理制約の一部又は全部は、複数の仮説に対応してもよい。
【0057】
この例で、探索部14Aが解仮説の候補D5として仮説h2を特定した場合、判定部15Aは、仮説h2を構成する要素e21、e22、…、の複数の要素間において満たすべき第1論理制約y21、y22、…を列挙し、判定を行う。すなわち、判定部15Aは、図6に示した第1論理制約の集合D6のうち、解仮説の候補D5以外の他の仮説h1、h3、…に関連する第1論理制約y11、y12、…、y31、y32、…を列挙しない。
【0058】
ところで、非特許文献1及び非特許文献2では、以下の方式により仮説推論が行われていた。まず、クエリ論理式と背景知識から、解仮説の候補(Candidate hypotheses)を列挙する。次に、当該方式では、列挙した解仮説の候補の中から、最良の解仮説を探索する問題を、整数線形計画問題などの制約付き組み合わせ最適化問題として等価に変換する。そして、当該方式では、変換後の最適化問題を外部のソルバを用いて最良の解仮説を得る。
【0059】
また、非特許文献2に記載の方式では、最良の解仮説を探索する際に全ての制約をソルバに与えずに、論理制約のうち一部だけをソルバに与え、そこから得られた解仮説が残りの制約を充足するかどうかを判定し、いずれかの論理制約に違反している場合はその論理制約をソルバに追加した上で最良解仮説の探索を再実行する。このような手順を採ることで、最良解仮説の探索を効率化できることが、当該文献で主張されている。
【0060】
しかしながら、どちらの方式においても、考慮すべき論理制約については全てを先に列挙することを前提としている。換言すると、非特許文献2に記載の方式では、図6に示した第2論理制約(制約集合D4)及び第1論理制約(集合D6)の全てを先に列挙する必要がある。そのため、そもそも考慮すべき論理制約の数が膨大な事例においては、論理制約を列挙する処理をボトルネックとして計算速度が著しく低下するという問題があった。無矛盾な仮説を得るためには、これらの組み合わせがいずれも生じないように論理制約を定義する必要があり、結果として考慮すべき論理制約の数も指数関数的に増大していくため、論理制約を列挙する処理にかかる計算時間も長大化してしまう、という問題があった。
【0061】
このような状況を引き起こす典型的な例としては、いわゆる順序関係を表すための、推移律と非対称律を満たすような術語を含むような推論がある。このような術語を持つ論理式が探索空間に多く含まれるほど、必要な論理制約の数も指数関数的に増大していくため、多くの場合、解仮説を得るのが現実的に不可能になってしまう。
【0062】
それに対し本例示的実施形態によれば、仮説推論装置1Aは、事前に全ての論理制約を列挙するのではなく、一部の種類の論理制約を列挙して得た解仮説の候補に対し、残りの種類の論理制約を用いて判定を行う。図6の例では、仮説推論装置1Aは、第2論理制約(制約集合D4)を列挙して得た解仮説の候補D5に対し、残りの種類の第1論理制約であるy21、y22を用いて判定を行う。これにより、探索空間を小さくして探索処理を行くことができ、仮説推論における解仮説の生成に係る計算効率を向上させることができる。
【0063】
また、本例示的実施形態によれば、仮説推論装置1Aは、探索部14Aが探索した解仮説の候補が第1論理制約を満たさない場合に、その第1論理制約を制約集合D4に追加して探索部14A再度機能させる。これにより、事前に全ての論理制約を列挙する場合に比べて、仮説推論における解仮説の生成に係る計算効率を向上させることができる。
【0064】
また、本例示的実施形態によれば、仮説推論装置1Aは、制約集合D4に含まれない第1論理制約を満たさない解仮説の候補を除外して、制約集合D4を参照して新たな解仮説の候補を探索する。これにより、仮説推論における解仮説の生成に係る計算効率を向上させることができる。
【0065】
〔ソフトウェアによる実現例〕
仮説推論装置1、1Aの一部又は全部の機能は、集積回路(ICチップ)等のハードウェアによって実現してもよいし、ソフトウェアによって実現してもよい。
【0066】
後者の場合、仮説推論装置1、1Aは、例えば、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータによって実現される。このようなコンピュータの一例(以下、コンピュータCと記載する)を図7に示す。コンピュータCは、少なくとも1つのプロセッサC1と、少なくとも1つのメモリC2と、を備えている。メモリC2には、コンピュータCを仮説推論装置1、1Aとして動作させるためのプログラムPが記録されている。コンピュータCにおいて、プロセッサC1は、プログラムPをメモリC2から読み取って実行することにより、仮説推論装置1、1Aの各機能が実現される。
【0067】
プロセッサC1としては、例えば、CPU(Central Processing Unit)、GPU(Graphic Processing Unit)、DSP(Digital Signal Processor)、MPU(Micro Processing Unit)、FPU(Floating point number Processing Unit)、PPU(Physics Processing Unit)、マイクロコントローラ、又は、これらの組み合わせなどを用いることができる。メモリC2としては、例えば、フラッシュメモリ、HDD(Hard Disk Drive)、SSD(Solid State Drive)、又は、これらの組み合わせなどを用いることができる。
【0068】
なお、コンピュータCは、プログラムPを実行時に展開したり、各種データを一時的に記憶したりするためのRAM(Random Access Memory)を更に備えていてもよい。また、コンピュータCは、他の装置との間でデータを送受信するための通信インタフェースを更に備えていてもよい。また、コンピュータCは、キーボードやマウス、ディスプレイやプリンタなどの入出力機器を接続するための入出力インタフェースを更に備えていてもよい。
【0069】
また、プログラムPは、コンピュータCが読み取り可能な、一時的でない有形の記録媒体Mに記録することができる。このような記録媒体Mとしては、例えば、テープ、ディスク、カード、半導体メモリ、又はプログラマブルな論理回路などを用いることができる。コンピュータCは、このような記録媒体Mを介してプログラムPを取得することができる。また、プログラムPは、伝送媒体を介して伝送することができる。このような伝送媒体としては、例えば、通信ネットワーク、又は放送波などを用いることができる。コンピュータCは、このような伝送媒体を介してプログラムPを取得することもできる。
【0070】
また、仮説推論装置1、1Aの各部(取得部11、11A、生成部12、12A、構築部13、13A、探索部14、14A、判定部15、15A、及び出力部16、16Aは、それぞれが専用のハードウェアで実現されていてもよい。また、各装置の各構成要素の一部又は全部は、汎用又は専用の回路(circuitry)、プロセッサ等やこれらの組合せによって実現されもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。
【0071】
また、仮説推論装置1、1Aの各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。また、仮説推論装置1、1Aの機能がSaaS(Software as a Service)形式で提供されてもよい。
【0072】
〔付記事項1〕
本発明は、上述した実施形態に限定されるものでなく、請求項に示した範囲で種々の変更が可能である。例えば、上述した実施形態に開示された技術的手段を適宜組み合わせて得られる実施形態についても、本発明の技術的範囲に含まれる。
【0073】
〔付記事項2〕
上述した実施形態の一部又は全部は、以下のようにも記載され得る。ただし、本発明は、以下の記載する態様に限定されるものではない。
(付記1)
背景知識を1以上の論理式により表現した背景知識情報と、観測事実を1以上の論理式により表現したクエリ情報とを取得する取得手段と、
前記背景知識情報、及び前記クエリ情報を参照して複数の仮説を生成する生成手段と、
前記複数の仮説をそれぞれ構成する複数の要素間において満たすべき複数の論理制約の一部を列挙して制約集合を構築する構築手段と、
前記制約集合を参照して前記複数の仮説のうち何れかを解仮説の候補として探索する探索手段と、
前記解仮説の候補が、当該候補を構成する要素間において満たすべき論理制約のうち前記制約集合に含まれない論理制約を満たすか否かを判定する判定手段と、
前記解仮説の候補が前記制約集合に含まれない論理制約を満たす場合に、当該候補を解仮説として出力する出力手段と、
を備えた仮説推論装置。
【0074】
上記の構成によれば、仮説推論における解仮説の生成に係る計算効率を向上させることができる。
【0075】
(付記2)
前記判定手段は、前記解仮説の候補が前記制約集合に含まれない論理制約を満たさない場合に、当該論理制約を前記制約集合に追加して前記探索手段を再度機能させる、
付記1に記載の仮説推論装置。
【0076】
上記の構成によれば、解仮説の候補が制約集合に含まれない論理制約を満たさない場合に、解仮説の候補再度探索することができる。
【0077】
(付記3)
前記探索手段は、前記制約集合に含まれない論理制約を満たさない解仮説の候補を除外して、前記制約集合を参照して新たな解仮説の候補を探索する、
付記1又は2に記載の仮説推論装置。
【0078】
上記の構成によれば、論理制約集合に含まれない論理制約を満たさない解仮説の候補を除外しない場合に比べて、解仮説の候補の探索に係る計算効率を向上させることができる。
【0079】
(付記4)
前記構築手段は、前記複数の仮説をそれぞれ構成する複数の要素の組み合わせ毎に生じる論理制約を判定対象として、前記複数の論理制約のうち前記判定対象以外の論理制約を列挙して前記制約集合を構築する、
付記1から3の何れか1つに記載の仮説推論装置。
【0080】
上記の構成によれば、仮説推論における解仮説の生成に係る計算効率を向上させることができる。
【0081】
(付記5)
前記判定対象の論理制約は、前記複数の要素間の等価関係に関する論理制約を含む、
付記4に記載の仮説推論装置。
【0082】
上記の構成によれば、仮説推論における解仮説の生成に係る計算効率を向上させることができる。
【0083】
(付記6)
前記判定対象の論理制約は、前記複数の要素間の順序関係に関する論理制約を含む、
付記4又は5に記載の仮説推論装置。
【0084】
上記の構成によれば、仮説推論における解仮説の生成に係る計算効率を向上させることができる。
【0085】
(付記7)
仮説推論装置が、
背景知識を1以上の論理式により表現した背景知識情報と、観測事実を1以上の論理式により表現したクエリ情報とを取得すること、
前記背景知識情報、及び前記クエリ情報を参照して複数の仮説を生成すること、
前記複数の仮説をそれぞれ構成する複数の要素間において満たすべき複数の論理制約の一部を列挙して制約集合を構築すること、
前記制約集合を参照して前記複数の仮説のうち何れかを解仮説の候補として探索すること、
前記解仮説の候補が、当該候補を構成する要素間において満たすべき論理制約のうち前記制約集合に含まれない論理制約を満たすか否かを判定すること、及び、
前記解仮説の候補が前記制約集合に含まれない論理制約を満たす場合に、当該候補を解仮説として出力すること、
を含むことを特徴とする仮説推論方法。
【0086】
(付記8)
コンピュータを仮説推論装置として機能させるプログラムであって、
前記プログラムは、前記コンピュータを、
背景知識を1以上の論理式により表現した背景知識情報と、観測事実を1以上の論理式により表現したクエリ情報とを取得する取得手段と、
前記背景知識情報、及び前記クエリ情報を参照して複数の仮説を生成する生成手段と、
前記複数の仮説をそれぞれ構成する複数の要素間において満たすべき複数の論理制約の一部を列挙して制約集合を構築する構築手段と、
前記制約集合を参照して前記複数の仮説のうち何れかを解仮説の候補として探索する探索手段と、
前記解仮説の候補が、当該候補を構成する要素間において満たすべき論理制約のうち前記制約集合に含まれない論理制約を満たすか否かを判定する判定手段と、
前記解仮説の候補が前記制約集合に含まれない論理制約を満たす場合に、当該候補を解仮説として出力する出力手段と、
として機能させることを特徴とするプログラム。
【0087】
〔付記事項3〕
上述した実施形態の一部又は全部は、更に、以下のように表現することもできる。
【0088】
少なくとも1つのプロセッサを備え、前記プロセッサは、
背景知識を1以上の論理式により表現した背景知識情報と、観測事実を1以上の論理式により表現したクエリ情報とを取得する取得処理と、
前記背景知識情報、及び前記クエリ情報を参照して複数の仮説を生成する生成処理と、
前記複数の仮説をそれぞれ構成する複数の要素間において満たすべき複数の論理制約の一部を列挙して制約集合を構築する構築処理と、
前記制約集合を参照して前記複数の仮説のうち何れかを解仮説の候補として探索する探索処理と、
前記解仮説の候補が、当該候補を構成する要素間において満たすべき論理制約のうち前記制約集合に含まれない論理制約を満たすか否かを判定する判定処理と、
前記解仮説の候補が前記制約集合に含まれない論理制約を満たす場合に、当該候補を解仮説として出力する出力処理と、
を備えた仮説推論装置。
【0089】
なお、この仮説推論装置は、更にメモリを備えていてもよく、このメモリには、前記取得処理と、前記生成処理と、前記構築処理と、前記探索処理と、前記判定処理と、前記出力処理とを前記プロセッサに実行させるためのプログラムが記憶されていてもよい。また、このプログラムは、コンピュータ読み取り可能な一時的でない有形の記録媒体に記録されていてもよい。
【符号の説明】
【0090】
1、1A 仮説推論装置
11、11A 取得部(取得手段)
12、12A 生成部(生成手段)
13、13A 構築部(構築手段)
14、14A 探索部(探索手段)
15、15A 判定部(判定手段)
16、16A 出力部(出力手段)
S1、S10A 仮説推論方法
図1
図2
図3
図4
図5
図6
図7