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

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

Info

Publication number
JP6567218B1
JP6567218B1 JP2019506207A JP2019506207A JP6567218B1 JP 6567218 B1 JP6567218 B1 JP 6567218B1 JP 2019506207 A JP2019506207 A JP 2019506207A JP 2019506207 A JP2019506207 A JP 2019506207A JP 6567218 B1 JP6567218 B1 JP 6567218B1
Authority
JP
Japan
Prior art keywords
information
inference
graph
node
route
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
JP2019506207A
Other languages
English (en)
Other versions
JPWO2020065906A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6567218B1 publication Critical patent/JP6567218B1/ja
Publication of JPWO2020065906A1 publication Critical patent/JPWO2020065906A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • 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/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Algebra (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Operations Research (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

推論装置(10)は、人間の状態に関する情報及び人間の行動に関する情報を含み、知識ベース(11a)から提供される知識情報と、ルールデータベース(12a)から提供される推論ルールとを用いて、動的に変化する外部の情報のうちの互いに異なるドメインに属する情報であるグラフを前向き連鎖で結合することによって統合グラフを生成するグラフ結合部(14)を有する。

Description

本発明は、推論装置、推論方法、及び推論プログラムに関する。
近年、深層学習技術の進展と第三次AI(Artificial Intelligence)ブームとが相まって、スマートスピーカなどのような、人工知能を活用したユーザインタフェースが普及しつつある。人工知能を活用したユーザインタフェースを実現する主要な方法として、以下の2つの方法がある。第1の方法は、ユーザインタフェースを人手で設計する方法である(例えば、特許文献1及び2参照)。第2の方法は、ユーザインタフェースに機械学習を利用する方法である(例えば、非特許文献1及び2参照)。
特許文献1は、第1の方法の例として、音声対話を含む複数のコミュニケーションモードを利用するマルチモーダルインタフェースを、ステートチャートで設計する技術を記載している。また、特許文献2は、第1の方法の例として、音声対話などの動作シーケンスをステートチャートで記述し、動作シーケンスを高速に実行する技術を記載している。
非特許文献1は、第2の方法の例として、ニューラルネットワークにメモリ構造を追加して、対話データをEnd−To−End教師あり学習する技術を記載している。また、非特許文献2は、第2の方法の例として、知識ベースを利用した対話データをEnd−To−End強化学習する技術を記載している。
特許第6022111号公報 国際公開第2018/083729号
S.Sukhbaatar、外3名、 "End−To−End Memory Networks"、 NIPS 2015 B.Dhingra、外6名、 "Towards End−to−End Reinforcement Learning of Dialogue Agents for Information Access"、 Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics 2017
しかしながら、上記いずれの技術を用いても、様々な状況において、人間に「気が利く」と思わせる知的な対話を実現することは困難である。人間(以下「ユーザ」ともいう。)に「気が利く」と思わせる人工知能エージェント(以下「AG」ともいう。)による知的な対話の例を以下の表1に、対話例D1及びD2として示す。
Figure 0006567218
対話例D2のように、AGに『近くに冷やし中華のレストランありますよ。』という気の利いた発話を自動で行わせるためには、「情報統合」と「推論」の2つの要素技術が必要である。
「情報統合」は、互いに異なる複数のドメインの各々に属する情報を統合する要素技術である。互いに異なる複数のドメインの各々に属する情報は、例えば、天気、人間による操作履歴、ナビゲーション(単に「ナビ」ともいう。)情報、人間の好み、及び人間の行動に関する知識、などである。人間は、例えば、運転手である。人間の行動に関する知識は、例えば、「暑いときに冷たい食べ物を食べる」といった人間の行動に関する情報である。
「推論」は、例えば、演繹推論の要素技術である。以下の(D3)〜(D5)は、演繹推論の例である。
(D3)「ユーザが空調機の設定温度を下げたということは、ユーザが暑いと感じているということである。」
(D4)「ユーザが暑いと感じているということは、ユーザは冷たいものを食べたいと感じているということである。」
(D5)「ユーザが冷たいものを食べたいと感じているということは、近くに冷やし中華のお店があるので、そのお店をユーザに勧めるべきであるということである。」
対話例D1及びD2のように利用できる情報が動的に変化する環境では、上記第1の方法のように、すべての状態を列挙して対話シーケンスを人手で設計することは困難である。
同様に、利用できる情報が動的に変化する環境では、すべてのケースを網羅するような対話データを収集することは非常に高コストであるか、又は現実的に不可能である。このため、上記第2の方法において、対話データをEnd−To−End教師あり学習することは困難である。
また、利用できる情報が動的に変化する環境で、上記第2の方法において、対話データをEnd−To−End強化学習するためには、学習データを効率的に収集するための対話シミュレータが必要である。しかし、あらゆる状況に対応することができる対話シミュレータの作成は困難である。
本発明は、上記従来技術の課題を解決するためになされたものであり、複数のドメインの各々に属する情報からユーザに適した推論結果を導出することを可能にする推論装置、推論方法、及び推論プログラムを提供することを目的とする。
本発明の一態様に係る推論装置は、人間の状態に関する情報及び人間の行動に関する情報を含み、知識ベースから提供される知識情報と、ルールデータベースから提供される推論ルールと、を用いて、動的に変化する外部の情報のうちの互いに異なるドメインに属する情報を前向き連鎖で結合することによって統合情報を生成する情報結合部と、情報解析部とを有し、前記互いに異なるドメインに属する情報は、ノードとエッジとを有する有向グラフとして表現できる情報であり、前記統合情報は、前記異なるドメインに属する情報である前記有向グラフを結合することによって生成された統合グラフであり、前記情報解析部は、前記統合グラフの構成要素であるノードの重要度を、前記統合グラフ上をランダムウォークして定常状態に収束したときの前記ノードに到達する確率から算出する又はページランクのアルゴリズムを用いて算出することを特徴とする。
本発明の他の態様に係る推論方法は、推論装置が実行する推論方法であって、前記推論装置が、人間の状態に関する情報及び人間の行動に関する情報を含み、知識ベースから提供される知識情報と、ルールデータベースから提供される推論ルールと、を用いて、動的に変化する外部の情報のうちの互いに異なるドメインに属する情報を前向き連鎖で結合することによって統合情報を生成するステップであって、前記互いに異なるドメインに属する情報は、ノードとエッジとを有する有向グラフとして表現できる情報であり、前記統合情報は、前記異なるドメインに属する情報である前記有向グラフを結合することによって生成された統合グラフであるステップと、前記推論装置が、前記統合グラフの構成要素であるノードの重要度を、前記統合グラフ上をランダムウォークして定常状態に収束したときの前記ノードに到達する確率から算出する又はページランクのアルゴリズムを用いて算出するステップとを有することを特徴とする。
本発明によれば、複数のドメインの各々に属する情報が動的に変化する環境であっても、複数のドメインの各々に属する情報からユーザに適した推論結果を導出することが可能である。
本発明の実施の形態1に係る推論装置の構成を概略的に示す機能ブロック図である。 実施の形態1に係る推論装置のハードウェア構成の例を示す図である。 実施の形態1に係る推論装置のハードウェア構成の他の例を示す図である。 実施の形態1に係る推論装置の動作を示すフローチャートである。 RDF表現の例を、有向グラフを用いて示す図である。 実施の形態1における知識ベースの例を表形式(表3)で示す図である。 実施の形態1に係る推論装置の動的情報取得部が生成するデータの例を表形式(表4)で示す図である。 (a)及び(b)は、実施の形態1に係る推論装置のグラフ結合部がルールデータベースに格納された推論ルールである前向き連鎖ルールを用いて有向グラフを作成する様子を示す図である。 表3(図6)及び表4(図7)に示される知識ベースを表現するグラフに対して、推論ルールである前向き連鎖ルールを順次適用することで得られたグラフの例を示す図である。 (a)〜(c)は、演繹推論、帰納推論、及び仮説的推論をグラフとして示す図である。 実施の形態1に係る推論装置のグラフ検索部がグラフを検索することによって取得したデータの例を表形式(表5)で示す図である。 実施の形態1に係る推論装置のグラフ検索部によって検索されたノードの重要度、検索結果を含む統合グラフ(図11に対応する統合グラフ)の例を示す図である。 実施の形態1に係る推論装置によってユーザの意図を理解するための動作例を表形式(表6)で示す図である。 実施の形態1に係る推論装置の動作によって取得された重要度を含む統合グラフ(図13に対応する統合グラフ)の例を示す図である。 実施の形態1に係る推論装置によってユーザのアテンションを理解するための動作例を表形式(表7)で示す図である。 実施の形態1に係る推論装置の動作によって取得された重要度を含む統合グラフ(図15に対応する統合グラフ)の例を示す図である。 本発明の実施の形態2に係る推論装置の構成を概略的に示す機能ブロック図である。 (a)及び(b)は、実施の形態2に係る推論装置の情報出力部によって出力される情報の例を示す図である。 実施の形態2に係る推論装置のグラフ解析部の動作例を表形式(表8)で示す図である。 本発明の実施の形態3に係る推論装置の構成を概略的に示す機能ブロック図である。 実施の形態3に係る推論装置のグラフ経路解析部の動作例を示す図である。 (a)及び(b)は、実施の形態3に係る推論装置のグラフ経路解析部の他の動作例を示す図である。 (a)から(c)は、実施の形態3に係る推論装置のグラフ経路解析部のさらに他の動作例を示す図である。
以下に、本発明の実施の形態に係る推論装置、推論方法、及び推論プログラムを、図面を参照しながら説明する。以下の実施の形態は、例にすぎず、本発明の範囲内で種々の変更が可能である。
《1》実施の形態1
《1−1》構成
実施の形態1に係る推論装置は、互いに異なる複数のドメインに属する情報を、グラフを用いる方法で統合し、統合された情報としての統合グラフを作る。また、実施の形態1に係る推論装置は、統合された情報としての統合グラフから推論の結果を導出する構成を備えることができる。ここで、グラフとは、頂点(すなわち、ノード)と辺(すなわち、エッジ)とを構成要素として有する図形である。推論の結果を導出する方法は、例えば、学習データを必要としないグラフ解析方法である。グラフは主に、有向グラフと無向グラフとに分類される。有向グラフは、頂点と、向きを持つ辺(すなわち、矢印)と、により構成される。無向グラフは、頂点と、向きを持たない辺と、により構成される。無向グラフは、頂点と、両方向に向きを持つ辺と、により構成される双方向グラフと等価である。実施の形態1における有向グラフは、例えば、後述の図5、図8(a)及び(b)、などに示される。
図1は、実施の形態1に係る推論装置10の構成を概略的に示す機能ブロック図である。推論装置10は、実施の形態1に係る推論方法を実施することができる装置である。図1に示されるように、推論装置10は、情報結合部としてのグラフ結合部14を備えている。また、推論装置10は、知識ベース11aを保存する知識ベース部11と、ルールデータベース12aを保存するルールデータベース部12と、動的情報取得部13と、情報結合部としてのグラフ結合部14と、情報解析部としてのグラフ解析部15と、情報検索部としてのグラフ検索部16と、情報出力部17とを備えてもよい。
知識ベース部11は、知識情報からなる知識ベース11aを保存する記憶装置である。知識ベース部11は、推論装置10の一部である。ただし、知識ベース部11は、推論装置10と通信できるように接続された外部の装置に備えられてもよい。
ルールデータベース部12は、複数のグラフを結合(すなわち、連結)するための複数のルール(以下「推論ルール」ともいう。)を保存する記憶装置である。ルールデータベース部12は、推論装置10の一部である。ただし、ルールデータベース部12は、推論装置10と通信できるように接続された外部の装置に備えられてもよい。
動的情報取得部13は、動的に変化する外部の情報を取得する。動的情報取得部13は、時々刻々と動的に変化する情報を取得し、取得された情報を予め決められた形式の情報に変換して出力する。外部の情報は、外部の装置、外部の装置で実行されるアプリケーション、などから取得される。外部の情報は、例えば、アプリケーション41、ユーザインタフェース42、GPS(Global Positioning System)43、カメラ44、インターネット45、外部データベース46、センサ47、などから取得される。アプリケーション41は、コンピュータ、携帯情報端末、などの装置で動作するソフトウェアである。
グラフ結合部14は、知識ベース11aから提供された知識情報と、ルールデータベース12aから提供された推論ルールと、動的情報取得部13によって取得された外部の情報とに基づいて、グラフ(以下「意味のグラフ」又は「データ構造」又は「知識グラフ」ともいう。)を動的に結合することによって、情報が統合された統合グラフを生成する。
グラフ解析部15は、グラフ結合部14によって生成された統合グラフを解析して、この統合グラフの構成要素であるノードの重要度を算出する。各ノードの重要度は、例えば、統合グラフ上を無限にランダムウォークして定常状態となったときの、各ノードに到達する確率、すなわち、各ノードへの到達確率である。
グラフ検索部16は、グラフ解析部15によって解析された統合グラフから、グラフ解析部15によって算出された重要度を用いて、所望の情報を検索する。所望の情報は、例えば、グラフ解析部15によって解析された統合グラフにおける特定の情報パターンである。
情報出力部17は、グラフ検索部16によって検索された所望の情報をユーザインタフェース51に出力する。
ユーザインタフェース51は、例えば、音声を出力する音声出力装置としてのスピーカ、映像を表示する映像出力装置としてのディスプレイ、などである。ユーザインタフェース51は、グラフ検索部16によって検索された所望の情報を、ユーザに対し、音声、映像、などによって提供する。
図2は、実施の形態1に係る推論装置10のハードウェア構成の例を示す図である。図2の例では、推論装置10は、処理回路61と、記憶装置としてのハードディスクドライブ(HDD)62と、入力インタフェース装置63と、出力インタフェース装置64とを備えている。処理回路61は、例えば、図1に示される動的情報取得部13、グラフ結合部14、グラフ解析部15、グラフ検索部16、及び情報出力部17の機能を実現することができる半導体集積回路である。入力インタフェース装置63は、例えば、外部機器、外部機器で実行されるソフトウェア、などと通信を行う回路である。出力インタフェース装置64は、例えば、外部機器、外部機器で実行されるソフトウェア、などと通信を行う回路である。
処理回路61は、例えば、専用のハードウェアである。処理回路61は、例えば、単一回路、複合回路、プログラムを実行するプロセッサ、並列プログラムを実行するプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field−Programmable Gate Array)、又はこれらを組み合わせたものであってもよい。
図3は、実施の形態1に係る推論装置10のハードウェア構成の他の例を示す図である。図3において、図2に示される構成要素と同一又は対応する構成要素には、図2に示される符号と同じ符号が付される。図3の例では、推論装置10は、情報処理部としてのプロセッサであるCPU(Central Processing Unit)71と、プログラムを記憶する記憶装置としてのメモリ72と、記憶装置としてのHDD62と、入力インタフェース装置63と、出力インタフェース装置64とを備えている。メモリ72は、実施の形態1に係る推論プログラムを記憶することができる。CPU71は、メモリ72に記憶されている推論プログラムを実行することによって、図1に示される動的情報取得部13、グラフ結合部14、グラフ解析部15、グラフ検索部16、及び情報出力部17の機能を実現することができる。
CPU71は、1次キャッシュメモリ及び2次キャッシュメモリなどの複数のキャッシュメモリを備えてもよい。また、HDD62、メモリ72、などに記憶されているプログラムは、推論装置10が行う処理の手順又は方法をコンピュータに実行させる。メモリ72は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read−Only Memory)などのような、不揮発性又は揮発性の半導体メモリである。
図2及び図3において、学習データの保存には、HDD62を使用することができる。なお、学習データは、DVD(Digital Versatile Disc)などのような光ディスクを用いる光学式記憶装置、半導体メモリ、外部の記憶装置、などに記憶されてもよい。
なお、推論装置10は、その機能の一部を専用のハードウェアで実現し、機能の他の一部をソフトウェア又はファームウェアで実現してもよい。例えば、動的情報取得部13の機能を専用のハードウェアとしての処理回路で実現し、動的情報取得部13以外の構成の機能をメモリに格納されたプログラムを実行するプロセッサであるCPUで実現してもよい。
《1−2》動作
《1−2−1》動作の概要
図4は、実施の形態1に係る推論装置10の動作を示すフローチャートである。推論装置10の動作は、フェーズPh1の動作である事前準備と、フェーズPh2の動作である推論の実行とを含む。
フェーズPh1は、ステップS101の処理である知識ベース11aの準備と、ステップS102の処理であるルールデータベース12aの準備とを含む。フェーズPh1の処理の全体又は一部は、推論装置10以外の装置によって行われてもよい。
フェーズPh2は、ステップS103の処理である動的情報の取得と、ステップS104の処理であるグラフの結合と、ステップS105の処理である統合グラフの解析と、ステップS106の処理である統合グラフの検索と、ステップS107の処理である情報の出力とを含む。ステップS104の処理であるグラフの結合は、事前準備された知識ベース11aとルールデータベース12aとを用いて実行される。
《1−2−2》ステップS101:知識ベース11aの準備
まず、推論装置10を動作させるために使用される様々な知識情報を保存する知識ベース11aが作成される。知識ベース11aは、知識ベース部11に格納される。
知識ベース11aとして保存される情報の形式は、例えば、RDF(Resource Description Framework)である。RDFは、インターネット上にある情報(リソース)を表現するための標準化された枠組みである。RDFでは、主語、述語、及び目的語からなるトリプレット、すなわち、3個の項目の組、を用いてデータを表現する。
また、RDFS(RDF Schema)は、リソースを表現するための標準化された語彙定義である。表2に示される例Y1では、RDFSで定義されている「rdfs:subClassOf」という述語を用いて、ラーメンクラス(主語)は食べ物クラス(目的語)であることを、1つのトリプレットを用いて表現している。ここで、「ラーメンクラス」は、ラーメンに属する物を意味している。また、「食べ物クラス」は、食べ物に属する物を意味している。
Figure 0006567218
図5は、RDF表現の例Y1を、有向グラフを用いて示す図である。図5に示されるように、RDF表現では、主語と目的語とは頂点、すなわち、ノードとして表現され、述語は辺、すなわち、エッジとして表現される。RDF表現では、主語、述語、及び目的語からなるトリプレットは、主語であるノードと、目的語であるノードと、述語である矢印、すなわち、主語から目的語へ向かうエッジである矢印と、を含む有向グラフとして表現される。
本出願において、例えば、主語A0、述語B0、及び目的語C0からなるトリプレットは、以下のように、括弧を用いて記述される。
(A0、 B0、 C0)
知識ベース11aとして保存されている知識情報は、例えば、機器情報、常識(すなわち、コモンセンス)情報、一般的な知識情報、これらの情報のオントロジー、などである。知識ベース11aとして保存されている知識情報は、機器情報、常識情報、一般的な知識情報、これらの情報のオントロジー、などのうちの2種類以上を含むことができる。
「機器情報」は、機器に関する情報である。機器情報は、例えば、機器の属性、機器の名前、機器の種類、機器の設定項目、機器の設定項目の数値範囲、機器の利用制限、機器の使用回数、機器の使い方、などである。機器の属性は、例えば、エアコンクラス、扇風機クラス、音楽再生機クラス、などを含むことができる。
「常識情報」は、人間の一般常識に関する情報である。常識情報は、例えば、人間の価値観、人間の考え、人間の行動、人間の状態、などである。常識情報は、人間の状態に関する情報と人間の行動に関する情報とを含む。人間の状態に関する情報は、人間の物理的状態に関する情報と人間の心理的状態に関する情報とを含む。人間の状態に関する情報は、例えば、人間が暑いと感じている、人間が寒いと感じている、人間が困っている、人間が笑っている、などの情報を含むことができる。人間の行動に関する情報は、例えば、運転する、食べる、寝る、探す、特定の場所に行く、などの情報を含むことができる。
知識ベース11aの常識情報の例F1を以下に示す。
F1=(暑い、 then、 冷たい食べ物を食べる)
常識情報の例F1は、「人間は、暑いならば、冷たい食べ物を食べる。」という知識を、(主語、 述語、 目的語)の1つのトリプレットで表現している。例F1のトリプレットにおける「then」(述語)は、「人間が(主語)の状態にある場合、次に取る行動は(目的語)の行動である。」を意味するものとして、定義される。したがって、例F1のトリプレットは、「人間が「暑い」(主語)という状態にある場合、人間が次に取る行動は「冷たい物を食べる」(目的語)の行動である」ことを示している。
知識ベース11aの常識情報の例F2a及びF2bを以下に示す。
F2a=(冷たい食べ物を食べる、 slot、 冷たい食べ物クラス)
F2b=(冷たい食べ物を食べる、 subAct、 食べる)
常識情報の例F2a及びF2bは、「「冷たい食べ物を食べる」という行動は、その対象が「冷たい食べ物クラス」であり、上位概念としての行動は「食べる」である。」という知識を、(主語、 述語、 目的語)を含む2つのトリプレットで表現している。例F2aにおける「slot」(述語)は、「(主語)の行動が対象とする物体は、(目的語)の物体である。」を意味するものとして、定義される。例F2bにおける「subAct」(述語)は、「(主語)の上位概念の行動は、(目的語)の行動である。」を意味するものとして、定義される。
なお、使用される常識情報は、地域、性別、及び推論の対象としているアプリケーション、のドメインごとに、異なる情報であってもよい。つまり、推論装置10が対象としている人又は分野に応じて、推論装置10が使用する知識ベース11aの常識情報を、複数種類の常識情報のうちのいずれかの常識情報に切替えてもよい。
「一般的な知識情報」は、普遍的な事実に関する情報である。「一般的な知識情報」は、工学、物理、科学、生物、医学、食品、地理、宗教、経済、政治、歴史、有名人物、などに関する情報を含むことができる。
知識ベース11aの一般的な知識情報の例G1を以下に示す。
G1=(アイスクリーム、 rdfs:subClassOf、 冷たい食べ物クラス)
一般的な知識情報の例G1における「rdfs:subClassOf」(述語)は、「(主語)の物は、(目的語)の物のサブクラスである。」を意味するものとして、定義される。例G1は、「アイスクリーム(主語)は、冷たい食べ物(目的語)の、サブクラスである。」という知識を、(主語、 述語、 目的語)の1つのトリプレットで表現している。
知識ベース11aの一般的な知識情報の例G2を以下に示す。
G2=(苺アイスクリーム、 instanceOf、 アイスクリームクラス)
一般的な知識情報の例G2における「instanceOf」(述語)は、「(主語)の物は、(目的語)のインスタンスである。」を意味するものとして、定義される。例G2は、「苺アイスクリーム(主語)は、アイスクリームクラス(目的語)、のインスタンス(実態)である。」という知識を、(主語、 述語、 目的語)の1つのトリプレットで表現している。
前記オントロジーとは、対象とするドメインの語彙、語彙と語彙の関係、クラス、属性、制約条件等である。
オントロジーは、例えば、以下に列記する情報である。
・述語「slot」は「(主語)の行動が対象とする物体は(目的語)である。」を意味する。
・述語「slot」がとり得る主語は行動に関する語彙である。
・述語「slot」がとり得る目的語はオブジェクトのクラスに関する語彙である。
図6は、実施の形態1における知識ベース11aの例を表形式(表3)で示す図である。
《1−2−3》ステップS102:ルールデータベース12aの準備
次に、推論装置10を動作させるために使用される1つ以上の推論ルールが、ルールデータベース12aとして用意される。ルールデータベース12aは、ルールデータベース部12に格納される。用意された推論ルールは、互いに異なる複数のドメインの各々に属する情報を結合することによって複数の情報を1つの情報に統合すること、センサなどから取得された外部情報から新たな仮説を生成すること、などに利用される。
互いに異なる複数のドメインの各々に属する情報を結合するために、例えば、人間の状態に関する情報と人間の行動に関する情報とを利用してもよい。例えば、以下の推論ルールの例W1及びW2をルールデータベース12aに保存してもよい。
推論ルールの例W1は、「車外の気温が30度以上ならば、車外及び運転手の状態は暑い。」である。推論ルールの例W1は、温度センサにより取得された車外の気温情報と、人間の状態に関する情報と、を結合する役割を持つ。
推論ルールの例W2は、「現在時刻が7時又は12時又は17時である場合、現在時刻は「食べる」という動作に関連する。」である。推論ルールの例W2は、時計により取得された現在時刻である時間情報と、人間の行動に関する情報と、を結合する役割を持つ。
また、推論ルールは、外部から入力される情報を利用して、新たな仮説を生成するものであってもよい。例えば、人間が発話する音声をマイクで収集できる場合、以下の推論ルールの例W3〜W5を、ルールデータベース12aとして保存してもよい。
推論ルールの例W3は、「人間が『お腹がいっぱい』と発話した場合、その人間は直前にレストランで何かを食べた。」である。
推論ルールの例W4は、「人間が『お腹がいっぱい』と発話した場合、その人間は直前に車の中で何かを食べた。」である。
推論ルールの例W5は、「人間が『お腹がいっぱい』と発話した場合、その人間は直前に家の中で何かを食べた。」である。
《1−2−4》ステップS103:動的情報の取得
動的情報取得部13は、時々刻々と動的に変化する情報を取得し、取得された情報を知識ベース11aと共通の形式の情報に変換して出力する。
動的情報取得部13が情報を取得するタイミングは、例えば、一定時間ごとである。動的情報取得部13が情報を取得するタイミングは、他のタイミングであってもよい。動的情報取得部13が情報を取得するタイミングは、例えば、動的情報取得部13がユーザによって入力された情報取得の命令を受け取った直後であってもよい。また、動的情報取得部13が情報を取得するタイミングは、特定の時刻であってもよい。特定の時刻は、例えば、昼の12時になったとき、車両が特定の市街地に入ったときなどである。また、動的情報取得部13が情報を取得するタイミングは、情報を取得する位置において特定の時刻になったとき、又は情報を取得する位置において特定のイベントがあるとき、などのように、複数の条件が同時に満たされる度であってもよい。
動的情報取得部13が取得する情報は、例えば、センサ情報、アプリケーション情報、ユーザの個人情報、ユーザの命令情報、及びその他の情報、などである。動的情報取得部13が取得する情報は、外部の情報ともいう。
センサ情報は、例えば、タッチパネル、マイク、などのユーザインタフェース42で得られたユーザ操作の情報又は発話の情報である。また、センサ情報は、カメラ44又は各種のセンサで得られた外界又は人間に対するセンシング結果であってもよい。各種のセンサは、例えば、温度計、湿度計、などである。また、センサ情報は、GPS43などで得られた位置情報であってもよい。
車を例にすると、センサ情報は、例えば、車内に設置された可視光カメラ又は赤外線カメラで得られた情報である。センサ情報は、例えば、運転手の顔と目の位置を検出した結果を示す情報であってもよい。また、カメラ44は、車内に設置された複数のカメラであってもよい。或いは、センサ情報は、車内に設置されたマイクによって取得された、運転手又は同乗者によって発話された音声を示す音声情報であってもよい。また、センサ情報は、生体センサ又は感圧センサなどによって取得された情報であってもよい。生体センサは、モーションセンサ、血圧センサ、心電図センサ、心拍数センサ、などを含むことができる。
例えば、動的情報取得部13が、温度センサ及び湿度センサから「車外の温度は、35度である。」及び「車外の湿度は、90%である。」という情報を取得した場合、動的情報取得部13は、それらの情報を、(主語、 述語、 目的語)からなる以下のようなトリプレットの例J1及びJ2に変換する。
J1=(車外の状態、 temperature、 35度)
J2=(車外の状態、 humidity、 90%)
また、動的情報取得部13が、時計から得た現在時刻の情報として「現在は、12時です。」という情報を取得した場合、動的情報取得部13は、それらの情報を、(主語、 述語、 目的語)からなる以下のようなトリプレットの例J3に変換する。
J3=(現在時刻、 is、 12時)
動的情報取得部13が取得するアプリケーション情報は、例えば、ユーザの環境で動作しているアプリケーションが取得した情報、アプリケーションの利用状況、アプリケーションの利用履歴、アプリケーションによって表示中の画面、アプリケーションによって表示中の選択肢表示、などを含む。
動的情報取得部13が、カーナビゲーションシステムのアプリケーションにより、近くのお店の情報を取得し、「近隣にある、「アイスクリーム屋#6」という名称のお店が、見つかった。」場合に、動的情報取得部13は、その情報を、(主語、 述語、 目的語)からなる以下のようなトリプレットの例J4に変換する。
J4=(近くのお店、 has、 アイスクリーム屋#6)
動的情報取得部13が取得するユーザ命令情報は、例えば、ユーザが推論装置10を含む推論システムに対して明示的又は非明示的に命令した内容、などである。
例えば、「ユーザがボタン操作により、エアコンを起動して温度を下げた。」場合、動的情報取得部13は、その情報を、(主語、 述語、 目的語)からなる以下のようなトリプレットの例J5に変換する。
J5=(直近の命令、 is、 温度を下げる)
動的情報取得部13が取得するユーザの個人情報は、ユーザの名前、ユーザの家族、ユーザの趣向、などである。
動的情報取得部13は、例えば、「運転手の名前は東京太郎であり、運転手はラーメン一般が好き。」という情報を、(主語、 述語、 目的語)からなる以下のような2つのトリプレットの例J6及びJ7に変換する。
J6=(運転手、 name、 東京太郎)
J7=(運転手、 like、 ラーメンクラス)
動的情報取得部13が取得する外部情報は、例えば、インターネット45から得られる天気、ニュース、地理情報、などを含む。また、動的情報取得部13が取得する外部情報は、外部データベース46に保存された国、自治体、企業、個人などが提供している情報、などを含んでもよい。
図7は、実施の形態1に係る推論装置10の動的情報取得部13が生成するデータの例を表形式(表4)で示す図である。表4の例は、車内の状態、カーナビゲーションの情報、現在時刻、命令情報、運転手の情報、を含む。
《1−2−5》ステップS104:グラフの結合
次に、グラフ結合部14は、例えば、知識ベース11aと、動的情報取得部13の出力と、に対して、ルールデータベース12aとして保存された推論ルールを、前向き連鎖(Forward Chaining)により順次適用して、複数のグラフを結合し、最終的に結合された複数のグラフからなる1つの統合グラフを生成する。統合グラフを構成する複数のグラフは、例えば、有向グラフである。
ルールデータベース12aにおける推論ルールの適用を、グラフを用いて表現すると以下のようになる。
「対象のグラフに特定の情報パターンが見つかった場合、そのグラフに、ノードもしくはエッジを追加/変更/削除する。」
前述の推論ルールの例W1及びW2を用いて、グラフの結合の具体例を説明する。以下において、「?x」は、任意の変数を示す。
推論ルールの例W1として、「車外の気温が30度以上ならば、車外及び運転手の状態は暑い。」を、グラフを用いて表現すると、以下のようになる。
「対象のグラフに、トリプレット(車外の状態、 temperature、 ?x)の情報パターンが見つかり、かつ、条件「?x≧30」を満たす場合、
グラフに、
トリプレット(車外の状態、 status、 暑い)と、
トリプレット(運転手、 status、 暑い)と、を新規に追加する。」
図8(a)及び(b)は、実施の形態1に係る推論装置10のグラフ結合部14がルールデータベース12aに格納された推論ルールである前向き連鎖ルールを用いて有向グラフを作成する様子を示す図である。
推論ルールの例W2として、「現在時刻が7時又は12時又は17時の場合、現在時刻は“食べる”という動作に関連する。」をグラフで表現すると、以下のようになる。
「対象のグラフに、トリプレット(現在時刻、 is、 ?x)の情報パターンが見つかり、かつ、条件「?x=7時」又は「?x=12時」又は「?x=17時」を満たす場合、
グラフに、
トリプレット(現在時刻、 relate、 食べる)を新規に追加する。」
例えば、図6に示される表3と図7に示される表4とを示すグラフに対して、推論ルールの例W1及びW2を、前向き連鎖により順次適用すると、図9に示されるようなグラフが得られる。図9のグラフは、例示である。
以上のように、グラフ結合部14は、センサから得られた情報又は互いに異なる複数のドメインの各々に属する情報から、図9に示されるような、統合された1つのグラフを生成することができる。すなわち、グラフ結合部14は、ルールを前向き連鎖により順次適用することで、互いに異なる複数のドメインの各々に属する情報を結合することによって、統合された情報を生成することができる。また、統合された情報は、統合グラフとして表現できる。
また、特に、グラフ結合部14は、互いに異なる複数のドメインの各々に属する情報を結合するために、例えば、人間の状態に関する情報と人間の行動に関する情報とを利用することができる。人間の状態に関する情報は、例えば、「暑い」、「寒い」、「お腹が空いた」、などである。人間の行動に関する情報は、例えば、「温度を下げる」、「温度を上げる」、「冷たいものを食べる」、などである。
例えば、推論ルールの例W1を適用することで、「車外の状態」というセンサのドメインの情報と、「冷やし中華」という食品のドメインの情報とを、すなわち、互いに異なる複数のドメインの各々に属する情報を、結合することができる。
具体的には、(主語、 述語、 目的語)からなるトリプレットK1〜K4、により、「車外の情報」と「冷やし中華」とを、有向グラフを用いて結合することができる。
K1=(車外の状態、 status、 暑い)
K2=(暑い、 then、 冷たいものを食べる)
K3=(冷たいものを食べる、 slot、 冷たい食べ物クラス)
K4=(冷やし中華、 instanceOf、 冷たい食べ物クラス)
《1−2−6》ステップS105:グラフの解析
次に、グラフ解析部15は、グラフ結合部14におけるグラフの結合によって生成された統合グラフ(例えば、図9)のノードを、エッジを通って辿ることで、確率的な推論を実行し、推論の結果として各ノードの重要度を算出する。グラフ解析部15は、統合グラフ上のノードを辿ることで、演繹推論(deduction)、帰納推論(induction)、及び仮説的推論(abduction)を実行する。図10(a)〜(c)は、演繹推論、帰納推論、及び仮説的推論をグラフとして示す図である。
例えば、図10(a)に示されるグラフのように、トリプレット(A0、 x、 B0)とトリプレット(B0、 y、 C0)とがある場合、グラフを辿ることで、ノードA0からノードC0を演繹推論することができる。
具体的には、トリプレット(ソクラテス、 is、 人)とトリプレット(人、 is、 死ぬ)とがある場合、ノード「ソクラテス」からノード「死ぬ」を推論し、「ソクラテスは死ぬ。」を結論として得ることができる。
また、例えば、図10(b)に示されるグラフのように、トリプレット(A0、 x、 B0)と、トリプレット(A0、 x、 B2)と、トリプレット(B0、 y、 C0)と、トリプレット(B2、 y、 C0)と、トリプレット(B3、 y、 C0)と、がある場合、ノードA0からノードB0又はB2を介してノードC0へと辿り、最後に、ノードC0からノードB3へ逆に辿ることで、ノードA0からノードB3を帰納推論することができる。
具体的には、
トリプレット(太郎さん、 好き、 醤油ラーメン)と、
トリプレット(太郎さん、 好き、 とんこつラーメン)と、
トリプレット(醤油ラーメン、 rdfs:subClassOf、 ラーメンクラス)と、
トリプレット(とんこつラーメン、 rdfs:subClassOf、 ラーメンクラス)と、
トリプレット(味噌ラーメン、 rdfs:subClassOf、 ラーメンクラス)と、がグラフに含まれる場合を検討する。この場合、ノード「太郎さん」とノード「味噌ラーメン」とは、グラフでは直接繋がってはいない。しかし、ノード「太郎さん」は、ノード「醤油ラーメン」とノード「とんこつラーメン」とが好きであることから、ラーメン一般を意味する「ラーメンクラス」が好きである。それならば、ノード「太郎さん」は、ノード「味噌ラーメン」も好きである。つまり、このような帰納推論が可能である。
また、例えば、図10(c)に示されるグラフのように、トリプレット(A0、 x、 B0)という事象が起きた場合、トリプレット(B0、 y、 C0)とトリプレット(B0、 y、 C2)のグラフを辿ることで、ノードA0からノードC0又はノードC2の仮説を推論することができる。
具体的には、
トリプレット(花子さん、 12時の行動、 お昼ご飯を食べた)という事象と、
トリプレット(お昼ご飯を食べた、 次の行動、 昼寝をする)と、
トリプレット(お昼ご飯を食べた、 次の行動、 散歩をする)と、がある場合、
仮説「花子さんの次の行動は、昼寝をする。」及び仮説「花子さんの次の行動は、散歩をする。」という2つの仮説(つまり、いずれが正しいかは、わからない説)を推論することができる。このような推論は、仮説的推論ともいう。
グラフ結合部14が生成したグラフ(例えば、図9)は、各ノードが複雑に結合された巡回グラフである。このため、グラフ結合部14が生成した統合グラフ(例えば、図9)では、図10(a)〜(c)のように単純に統合グラフを辿るだけでは推論の結論を1つに特定することができない。そこで、例えば、グラフ結合部14が算出した統合グラフ(例えば、図9)上を無限にランダムウォークして定常状態となったときの、各ノードに到達する確率、すなわち、到達確率を算出する。この確率は、その「ノードが推論の結論である確率」と解釈できるので、この確率は各ノードの重要度と定義される。また、統合グラフ上をランダムウォークすることは、確率的に演繹推論、帰納推論、及び仮説的推論、を実行していることと等価である。
次に、グラフ解析部15の具体的な計算方法を示すステップS105a、S105b、S105c、すなわち、図4に示されるステップS105の内容を説明する。
《ステップS105a:グラフの変換と遷移行列の作成》
グラフ解析部15は、グラフ解析部15に入力された統合グラフを適宜変換して、ランダムウォークのためのノード間の遷移行列を作成する。
まず、グラフ解析部15に入力されたグラフL1に含まれる各トリプレットの動詞の種類に応じて、新規にグラフL2を作成する。グラフ解析部15によって作成されたグラフL2は、「推論グラフ」ともいう。推論グラフの作成においては、例えば、以下の変換パターンTP1、変換パターンTP2、変換パターンTP3のいずれかを適用する。
「変換パターンTP1」では、入力されたグラフL1である有向グラフを、そのまま推論グラフL2として利用する。
「変換パターンTP2」では、入力されたグラフL1である有向グラフを、無向グラフ、すなわち、双方向グラフに変換することで推論グラフL2を作成する。
「変換パターンTP3」では、入力されたグラフL1である有向グラフを、逆方向の有向グラフに変換することで推論グラフL2を作成する。
次に推論グラフL2の隣接行列を作成し、この行列の各列の合計値を1で規格化したノード間の遷移行列Pを求める。ノード数をN(Nは正の整数)とすると、ノード間の遷移行列Pは、サイズが(N×N)の行列である。
ここで、遷移行列Pの要素P(i,j)は、統合グラフ上のランダムウォークにおいて、j番目のノードから、i番目のノードへの遷移確率を示す。例えば、あるノードA5を主語として、ノードA5に接続されているノードが4個のノードA6〜A9である場合、ノードA5からノードA6〜A9の各々への遷移確率を、均等な値である0.25に設定する。ただし、ノードA5からノードA6〜A9の各々への遷移確率は、均等な値である必要はない。設定される遷移確率は、互いに異なる値であってもよい。
変換パターンTP2に示されるように、入力されたグラフL1である有向グラフを、無向グラフに変換することで推論グラフL2を作成する場合には、以下のような効果が得られる。
例えば、(暑い、 then、 冷たいものを食べる)というトリプレットでは、「暑い」ならば「冷たいものを食べる」と推論することもできるし、逆に、「冷たいものを食べる」ならばグラフを逆方向に辿って、「暑い」と推論することもできる。また、図10(b)に示される帰納推論の例のように、ノードC0からノードB3に、すなわち、逆方向に、グラフを辿ることで、推論の結論を得ることができる。
例えば、(j、 x、 i)というトリプレットにおいて、遷移行列Pの要素P(i,j)及び要素P(j,i)の遷移確率の初期の設定は、以下の通りである。
P(i,j)=α (0<α≦1)
P(j,i)=0
しかし、変換パターンTP2にしたがって、有向グラフであるグラフL1を無向グラフであるグラフL2に変換した場合には、変換されたグラフL2のトリプレットにおいては、遷移行列Pの要素P(i,j)及び要素P(j,i)の遷移確率の初期の設定は、例えば、以下の通りである。
P(i,j)=P(j,i)=α (0<α≦1)
或いは、遷移確率は、偏りをもたせて、以下のように設定される。
P(i,j)=α (0<α≦1)
P(j,i)=β (0<β≦1)
ここで、αとβは、互いに等しくない。このことで、後述するランダムウォークの処理において、ノードiとノードjの間を自由に行き来することができる。
次に、変換パターンTP3に示されるように、入力されたグラフL1である有向グラフを、逆方向の有向グラフに変換することで推論グラフL2を作成する場合には、以下のような効果が得られる。
例えば、トリプレット(太郎さん、 好き、 ラーメン)と、トリプレット(太郎さん、 嫌い、 ドリアン)とがある場合に、太郎さんが好きなものを推論するタスクを考える。
仮に、上記トリプレット(太郎さん、 好き、 ラーメン)と、トリプレット(太郎さん、 嫌い、 ドリアン)とをそのまま推論に利用すると、後述するステップS105cである重要度算出ステップにおいて、「ラーメン」と「ドリアン」の重要度が同程度になる可能性がある。そこで、「嫌い」という動詞において、有向グラフを逆方向にする。このことで、後述の重要度算出ステップにおいて推論グラフをランダムウォークする際に、「ドリアン」を経由する確率を低くすることができる。よって、「ドリアン」の重要度を下げる効果がある。
次に、変換パターンTP3に示されるように、入力されたグラフL1である有向グラフを、逆方向の有向グラフに変換する方法を以下に述べる。
具体的には、
(j、 x、 i)というトリプレットにおいて、遷移確率の初期設定は、以下の通りである。
P(i,j)=α (0<α≦1)
P(j,i)=0
また、逆方向の有向グラフに変換した際には、遷移確率の初期設定は、以下の通りである。
P(i,j)=0
P(j,i)=α (0<α≦1)
《ステップS105b:観測ノードの設定》
グラフ解析部15は、外部から取得された情報又はセンサによって検出された情報など、推論の起点となる重要なノードを「観測ノード」と設定する。
次に、グラフ解析部15は、観測ノードの重みを0以上に設定し、それ以外のノードを0としたN次元の観測ベクトルvを作る。vは確率分布であり、総和は1である。
例えば、観測ノードとして「車外の状態」、「近くのお店」、「直近の命令」、「運転手」とした場合、それらのノードに相当する観測ベクトルvの要素を、各々0.25(=1/4)と設定する。それ以外のノードに相当する観測ベクトルvの要素を、0と設定する。
後述する処理で、観測ノードからランダムウォークを再スタートすることで、観測ノードに近いノードほど重要度が高くなる効果がある。
《ステップS105c:重要度の算出》
次に、グラフ解析部15は、遷移行列Pと、観測ベクトルvを利用して、推論グラフ(グラフL2)に含まれる各ノードの重要度を求める。すなわち、グラフ解析部15は、観測ベクトルvの確率に基づいて、ランダムウォークの開始点を決定し、遷移行列Pにより推論グラフ上をランダムウォークすることで各ノードに到達する確率を求め、これを各ノードの重要度とする。
具体的な計算例は、例えば、以下のものである。まず、推論行列M、すなわち、
Figure 0006567218
を、以下の式(1)のように定義する。
Figure 0006567218
ここで、αは、0<α≦1を満たす、予め決められた定数を示す。
Figure 0006567218
は、N×Nの遷移行列を示し、遷移行列Pとも表記する。
Figure 0006567218
は、N×1のサイズの観測ベクトルを示し、観測ベクトルvとも表記する。
Figure 0006567218
は、すべての要素が1の、1×Nのサイズのベクトルを示し、ベクトル1とも表記する。
式(1)の右辺の第1項は、遷移行列Pに基づいて統合グラフをランダムウォークすることを示している。式(1)の右辺の第2項は、ランダムウォークの途中に(1−α)の確率で観測ノードから再度ランダムウォークを開始することを示している。
次に、N次元の重要度ベクトルをx、すなわち、
Figure 0006567218
とし、以下の式(2)により、この重要度ベクトルを求める。
Figure 0006567218
式(2)は、ランダムウォークを繰り返して、重要度ベクトルxが収束したことを表す。x(i)は、i番目のノードの重要度を示す。
式(2)における重要度ベクトルxの計算には、ベキ乗法を利用することができる。例えば、この重要度ベクトルxの計算には、ウェブページの重要度を決定するためのアルゴリズムであるページランク(PageRank)と同様の方法を利用することができる。また、この重要度ベクトルxの計算には、非特許文献3に記載のページランクと同様の計算方法を利用することができる。
L.Page、外3名、 "The PageRank Citation Ranking: Bringing Order to the Web"、 Technical Report. Stanford InfoLab.、 1999
また、式(1)と式(2)とから、以下の式(3)によってコスト関数CF1、すなわち、
Figure 0006567218
を算出し、このコスト関数の値を最小化するような、総和が1の重要度ベクトルxを求めることで、ノードの重要度を算出してもよい。
Figure 0006567218
式(3)において、
Figure 0006567218
は、N×Nの単位行列を示し、単位行列Eとも表記する。また、ベクトルvは、N×1のサイズの観測ベクトルを示す。
《1−2−7》ステップS106:グラフの検索
グラフ検索部16は、所望の情報を抽出するために、重要度ベクトルxを利用して、グラフL2から特定の情報パターンを検索する。グラフ検索部16の具体的な動作例について述べる。
表1に示される対話例D1及びD2を例として説明する。ここでは、グラフ検索部16は、主語、述語、目的語が、それぞれ
(?action、 slot、 ?slotClass)かつ
(?slotValue、 instanceOf、 ?slotClass)
を満たす情報パターンを統合グラフから抽出する。ここで“?”から始まる文字列は、変数であり、任意の文字列が入る。
例えば、表3及び表4の例では、
「トリプレット(冷たい食べ物を食べる、 slot、 冷たい食べ物クラス)及びトリプレット(冷やし中華、 instanceOf、 冷たい食べ物クラス)を満たす」又は「トリプレット(温度を下げる、 slot、 エアコンクラス)及びトリプレット(エアコン#1、 instanceOf、 エアコンクラス)を満たす」が、検索対象の情報パターンに相当する。
図11は、実施の形態1に係る推論装置10のグラフ検索部16が統合グラフを検索することによって取得したデータの例を表形式(表5)で示す図である。つまり、図11は、グラフ検索結果をまず、「?action」の重要度でソートし、次に「?slotValue」の重要度でソートした結果を示している。
図12は、実施の形態1に係る推論装置10のグラフ検索部16によって検索されたノードの重要度、検索結果を含む統合グラフ(図11に対応する統合グラフ)の例を示す図である。図12において、カッコ内は、重要度を示す。ハッチングされた四角は観測ノード、ハッチングされた丸は重要度の高いノードを示す。
この例では、最上位に、
{slotValue:‘冷やし中華’、 slotClass:‘冷たい食べ物クラス’、 action:‘冷たい食べ物を食べる’}
が得られる。これにより、車載エージェントが「冷やし中華をたべませんか」とユーザに勧めるための情報が得られた。
図11の例では、最上位の検索結果に
{‘slotClass’:‘冷たい食べ物クラス’, ‘action’:‘冷たい食べ物を食べる’, ‘slotValue’:‘冷やし中華’}
が得られる。その理由は、最上位の検索結果は、
「運転手がラーメンを好きである、つまり、(運転手, like, ラーメンクラス)」と、
「近くのお店にラーメン屋Raとアイスクリーム屋Icがある。」と、
「現在時刻は12時で、食べる行動と関連している。」と、
「車内の気温35度であるから、状態が暑い。したがって、人間は冷たいものを食べるか、温度を下げる。」と、を利用すれば、多段階の推論を、ランダムウォークにより統合グラフを辿ることで取得できるからである。また、「‘冷たい食べ物を食べる’又は、‘冷やし中華’」のノードの重要度が高くなった(すなわち、推論の結論となる可能性が高くなった)からである。
《1−2−8》ステップS107:情報の出力
最後に、情報出力部17は、グラフ検索部16の出力を利用して、ディスプレイ又はスピーカなどのユーザインタフェース51に情報を適切な形で出力する。情報出力部17は、例えば、表1の対話例D1及びD2では、音声合成により、「近くに冷やし中華のレストランありますよ。」などの音声を出力する。
《1−2−9》ユーザの意図を理解するための動作例
実施の形態1に係る推論装置10は、ユーザの意図を理解するためのタスクに使用することも可能である。例えば、推論装置10が、ユーザから、単に「下げる」という命令を受け付け、その命令の意図を理解するタスクを考える。この場合、知識ベース11aには、「音量を下げる」と「温度を下げる」と、の2つが含まれているため、推論装置10は、ユーザから与えられた命令の意図の候補として、これら2つの項目を挙げる。しかし、実施の形態1に係る推論装置10を利用すれば、知識ベース11aにおいてユーザの命令に関係するノードの重要度に基づいて、状況に応じた1つの候補を適切に選択することができる。
図13は、推論装置10が生成した統合グラフにおいて、「車外の状態」、「近くのお店」、「現在時刻」、「運転手」、「下げる」の観測ベクトルの比率(すなわち、観測ベクトル値)を各々0.2と設定し、重要度を計算した結果を、表形式(表6)として示す図である。図14は、表6に示される推論の結果の統合グラフを示す図である。
この結果、「エアコン#1」の「温度を下げる」が第1候補として選択される。「下げる」を観測ノードに加えたことで、「温度を下げる」の重要度が増している。これにより、「エアコンの温度を下げる」が「冷やし中華を食べる」の重要度を上回り、最上位となっている。
《1−2−10》ユーザのアテンション(注意又は注目)を理解するための動作例
実施の形態1に係る推論装置10は、ユーザのアテンション(注意又は注目)を利用して推論を実行することも可能である。ユーザによって入力された「直近の命令」が「音量を上げる」であり、さらに、ユーザから「下げる」という命令を受け付けた場合、ユーザの命令の意図を理解するタスクを考える。この場合、文脈から、ユーザは直近でミュージックプレイヤに注目しているので、ユーザの意図は「音量を下げる」である可能性が高い。推論装置10は、観測ベクトルの比率を適切に調整することで、ユーザの意図を適切に求めることができる。
まず、知識ベース11aにて、
(‘直近の命令’、 ‘is’、 ‘音量を上げる’)
と設定する。
次に、観測ベクトルの比率を示す観測ベクトル値を設定する。
「車外の状態」、「近くのお店」、「現在時刻」、「運転手」の各々の観測ベクトル値を1とし、
「下げる」の観測ベクトル値を10とし、
「直近の命令」の観測ベクトル値を3とし、
その他の観測ベクトル値を0とする。
ここで、「下げる」及び「直近の命令」は、ユーザから直接的に受けた命令であるため、観測ノード値、つまり、重みを上げている。
図15は、このような設定によって各ノードの重要度を計算して得られた例を表形式(表7)として示す図である。図16は、表7の結果を示す統合グラフを示す図である。
図15に示されるように、最上位の検索結果には、「ミュージックプレイヤ#5」と「音量を下げる」とが抽出される。これは、「下げる」は、「音量を下げる」又は「温度を下げる」のいずれかであり、直近の命令である「音量を上げる」により、ミュージックプレイヤが操作されたという事実を利用した推論により、「ミュージックプレイヤ#5」と「音量を下げる」の重要度が高まったためである。
《1−3》効果
以上に説明したように、実施の形態1に係る推論装置10及び推論方法によれば、以下の効果が得られる。
先ず、推論装置10は、互いに異なる複数のドメインの各々に属する情報を動的に結合することで、統合された情報を生成することができる。気温又は、人間の行動、デバイス、ナビゲーションの情報など、異なるドメインのグラフを、前向き連鎖のルールで結合することで、統合グラフを生成し、この統合グラフを推論に利用することができる。
また、推論装置10は、大量の学習データを必要としないで、推論を実行することができる。つまり、大量の学習データを必要とせず、各ノードの重要度を算出することができる。
また、推論装置10は、推論過程を可視化できるので、推論内容を設計可能及び提案する際に、知識ベース11a、推論ルール、観測ノードの作成において、手動で値を設計可能にすることが可能である。また、システム状況に応じて適用ルールセット又は、観測ノードを適宜切り替えることで、応答内容を変更することが可能である。さらに、推論結果は図12、図14、図16に示されるように統合グラフ表示による可視化が可能である。
《1−4》他の分野への適用
上記説明では、運転中に人工知能が音声対話する例について述べたが、推論装置10は、車又は音声対話だけでなく、車、家、工場、広域セキュリティ、など、様々な形式/時間軸のデータが存在し、動的に変化する環境での、ユーザインタフェース、計画立案、行動予測に有効である。
例えば、家の中に設置された監視カメラ又はセンサ、エアコン又は冷蔵庫などの家電品に設置されたカメラを利用して、人工知能が居住者の次の行動を予測し、自動でテレビを録画したり、お湯を沸かしたり、出かけるときに傘の忘れ物を指摘したり、などすることも可能である。
《2》実施の形態2
《2−1》構成
実施の形態1に係る推論装置10及び推論方法では、外部から取得された情報、センサによって検出された情報、などを、推論の起点となる重要なノードである「観測ノード」と設定し、観測ノードから観測ベクトルを求め、求められた観測ベクトルに基づいて推論結果を算出している。これに対し、実施の形態2に係る推論装置及び推論方法では、ユーザの操作履歴に基づいて観測ベクトルを更新し、更新された観測ベクトルに基づいて重要度ベクトルを算出することで、各々のユーザに適応した推論結果を算出している。
図17は、実施の形態2に係る推論装置20の構成を概略的に示す機能ブロック図である。図17において、図1に示される構成要素と同一又は対応する構成要素には、図1に示される符号と同じ符号が付される。実施の形態2に係る推論装置20は、操作履歴保存部28を備えている点及びグラフ解析部25がユーザの操作履歴に基づいて処理を行う点において、実施の形態1に係る推論装置10と相違する。
《2−2》動作
推論装置20は、推論を繰り返し行う。以下に、1回目の推論と2回目以降の推論とを説明する。
《1回目の推論》
まず、ステップS201において、重要度が算出される。実施の形態1の場合の動作と同様に、グラフ解析部25は、各ノードの重要度を計算し、情報出力部17が、その結果をユーザに提示する。なお、1回目の推論において重要度ベクトルxを算出する際には、観測ベクトルとして、予め決められた初期ベクトルを用いる。実施の形態2では、実施の形態1と同一の方法で観測ベクトルを設定することができる。或いは、観測ベクトルとして、手動で設定した値又はすべての要素に均一な値を設定することができる。
次のステップS202において、選択肢が提示される。情報出力部17は、重要度ベクトルを利用して、選択肢を提示する。例えば、図18(a)に示されるように、情報出力部17は、上位3つの推論結果を、アプリケーションのディスプレイに表示する。ディスプレイには、選択肢OP1、選択肢OP2、選択肢OP3、の3つの選択肢ボタンが推論の重要度の高い順番に上から順に並んで表示されている。また、その他の下位の重要度の選択肢を表示できる「その他」のボタンも表示されている。表示方法は、ユーザが自由に選択できる。
選択肢OP1、選択肢OP2、選択肢OP3は、それぞれノードOP1、ノードOP2、ノードOP3に対応している。
次のステップS203では操作履歴が保存される。操作履歴保存部28は、動的情報取得部13を経由して取得したユーザの操作履歴を時々刻々と保存する。操作履歴保存部28が保存するデータは、ユーザが選択したノード名に関する情報であってもよい。或いは、操作履歴保存部28が保存するデータは、ユーザが選択したノードと、その他のノードとの順序、もしくは相対的な重要度を示す情報であってもよい。
ここで、ノードの相対的な重要度を示す情報について説明する。例えば、図18(a)に示される例で、ユーザが選択肢OP3を選択した場合を検討する。この場合、このユーザは、選択肢OP1及び選択肢OP2よりも、選択肢OP3の重要度が高い、と判断することができる。そこで、操作履歴保存部28は、情報「選択肢OP3(ノードOP3)の重要度>選択肢OP1(ノードOP1)の重要度」及び情報「選択肢OP3(ノードOP3)の重要度>選択肢OP2(ノードOP2)の重要度」を含む情報を、操作履歴として保存する。
次のステップS204では、観測ベクトルが更新される。グラフ解析部25は、操作履歴を利用して、更新された観測ベクトルv[n]を求める。観測ベクトルv[n]の更新方法は、後述する。ここで、v[n]は、n回目(nは正の整数)の推論で算出した観測ベクトルを示す。
《2回目以降の推論》
先ず、ステップS201において、重要度が算出される。グラフ解析部25は、n回目の推論において、
過去に求めた1回目から(nー1)回目までの観測ベクトルv[1]〜v[n−1]、すなわち、
Figure 0006567218
を利用し、
統合グラフに含まれる各ノードの重要度ベクトルx[n]、すなわち、
Figure 0006567218
を求める。ここで、ベクトルx[n]は、n回目の推論で算出した重要度ベクトルを示す。
グラフ解析部25は、式(1)又は式(3)にしたがって重要度ベクトルを求める。その際に、グラフ解析部25は、観測ベクトルv[n−1]のみを使用してもよい。或いは、グラフ解析部25は、観測ベクトルv[1]〜v[n−1]の線形和を観測ベクトルとして使用してもよい。つまり、グラフ解析部25は、β[i](iは正の整数)を予め決められた定数として、以下の式(4)
Figure 0006567218
により求めた観測ベクトル
Figure 0006567218
を、n回目の推論で使用してもよい。
後述するように、観測ベクトルには操作履歴の情報が保持されているため、グラフ解析部25は、条件「選択肢OP3(ノードOP3)の重要度>選択肢OP1(ノードOP1)の重要度」と条件「選択肢OP3(ノードOP3)の重要度>選択肢OP2(ノードOP2)の重要度」と、を満たすような重要度ベクトルx[n]を算出することができる。
次のステップS202では、選択肢が提示される。情報出力部17は、重要度ベクトルを利用して、ユーザに選択肢を再度提示する。このとき、前回のユーザの選択結果を反映した選択肢が、ディスプレイに表示される。例えば、図18(b)に示されるように、前回、ユーザが選択した、選択肢OP3が、一番上の位置に表示され、続いて、選択肢OP1、選択肢OP2の順に表示される。
次にステップS203,S204が実行される。これらは、1回目の推論におけるものと同じ処理である。
推論装置20は、ステップS201〜S204の処理を繰り返し、ユーザの操作履歴を得る度に、重要度を算出し、観測ベクトルを更新し、その時々で、ユーザに応じた推論結果を返す。以下では、観測ベクトルvの更新方法の2つの具体例について述べる。
《観測ベクトルvの更新方法の例(U1)》
図19は、実施の形態2に係る推論装置20のグラフ解析部25が、観測ベクトルv[n]を求める方法を説明するために用いられる表8を示す図である。図19を用いて、グラフ解析部25が、観測ベクトルv[n]を求める方法について述べる。この例では、例えば、動的に取得できるデータが推論の度に変更されている。
1回目の推論では、対象としているグラフに、
(バニラアイスクリーム、 instanceOf、 アイスクリームクラス)
(醤油ラーメン、 instanceOf、 ラーメンクラス)
のトリプレットが含まれる。
2回目の推論では、対象としているグラフに
(苺アイスクリーム、 instanceOf、 アイスクリームクラス)
(豚骨ラーメン、 instanceOf、 ラーメンクラス)
のトリプレットが含まれている。
まず、推論を始める前に、初期の観測ベクトルvの値の比率を、図19に示されるように、アイスクリームクラスについての観測ベクトルの比率を1に設定し、ラーメンクラスの比率を1に設定し、その他の比率を0に設定する。なお、観測ベクトルvの値は、観測ベクトルvの総和が1となるように、適宜、正規化される。
次に、1回目の推論で、グラフ解析部25が重要度を算出し、情報出力部17が、「醤油ラーメン」と「バニラアイスクリーム」を選択肢としてユーザに提示し、ユーザが「醤油ラーメン」を選択した場合を説明する。このとき、グラフ解析部25は、例えば、選択された「醤油ラーメン」と、その抽象的な上位概念である「ラーメンクラス」の観測ベクトルvの比率を1だけインクリメントする。この結果、1回目の推論の終了時には、アイスクリームクラスの観測ベクトルvの比率は1、ラーメンクラスの比率は2、醤油ラーメンの比率は1、その他の比率は0となる。
すなわち、この時点で、ラーメンクラスの観測ノードに最も大きな重みが付き、次回以降の推論では、ラーメンクラスと、ラーメンクラスのインスタンスとなるノードの重要度が高くなる。すなわち、観測ベクトルvは、「ユーザがラーメン一般(ラーメンクラス)を好きである」という情報を保持している。
2回目の推論では、グラフ解析部25が重要度を算出した場合、前回選択された「醤油ラーメン」のノードは無いが、ラーメンクラスの観測ノードに最も大きな重みがつくことから、グラフ解析部25が算出した重要度の比率は、例えば、以下のようにラーメンに関するノードに大きな重みがつく。例えば、アイスクリームクラスの重要度ベクトルの比率は2、ラーメンクラスの比率は3、豚骨ラーメンの比率は2、苺アイスクリームの比率は1、その他の比率は0である。
情報出力部17は、この重要度の情報を用いて、豚骨ラーメン、苺アイスクリーム、の順番に情報を提示する。ここで、ユーザが「豚骨ラーメン」を選択した場合を検討する。このとき、グラフ解析部15は、例えば、選択された「豚骨ラーメン」と、その上位概念である「ラーメンクラス」の観測ベクトルvの比率を、各々1だけインクリメントする。この結果、2回目の推論の終了時には、観測ベクトルvの比率は以下のようになる。アイスクリームクラスの比率は1、ラーメンクラスの比率は3、醤油ラーメンの比率は1、豚骨ラーメンの比率は1、その他の比率は0である。
この結果、ラーメンクラスに最も大きな重みが付く。観測ベクトルvは、「ユーザがラーメン一般(ラーメンクラス)を好きである」という情報を、より大きな確信度とともに、保持していることを意味する。
このように、推論装置20は、ユーザの選択結果を利用して観測ベクトルを更新することで、観測ベクトルにユーザの趣向又は癖の情報を保持することができる。よって、2回目以降の推論においてユーザの趣向又は癖に応じた推論結果を算出することが可能となる。
特に、上記例に示したように、ユーザの選択結果から観測ベクトルの更新を繰り返すことで、醤油ラーメン又は豚骨ラーメンなどの具体的なインスタンスではなく、ラーメンクラス又は、アイスクリームクラスといった、上位概念(アッパーオントロジー)に対して観測ベクトルの重みが強くなる。このことで、ユーザの趣向又は癖を、具体的な事象ではなく、上位概念で保持することができる。これにより、取得される情報が動的に変化し、新しい事象のノードが追加される場合でも、上位概念のノードは常にグラフに存在していることで、ユーザに適応した推論が可能となる。
一方で、ユーザがある特定の事象を好む、という事例も、観測ベクトルの更新で表現できる。例えば、ユーザが常に「醤油ラーメン」だけを選択する場合は、観測ベクトルの「醤油ラーメン」の重みだけが強くなる。よって、具体的な事象である「醤油ラーメン」のノードの重要度が常に高くなる。
《観測ベクトルvの更新方法の例(U2)》
グラフ解析部25は、後述するコスト関数CF2を最小化することで、観測ベクトルを更新してもよい。以下、動作例について述べる。重要度ベクトルをxとし、i番目のノードの重要度をx(i)とする。図18(a)及び(b)に示されるように、選択肢OP1、OP2、OP3がある場合、それぞれのノード番号をi,j,kとする。例えば、x(i)は、選択肢OP1の重要度である。
ここで、第1回目の推論では、「x(i)>x(j)」及び「x(j)>x(k)」の結果を得たと仮定する。このとき、図18(a)のように、ディスプレイには選択肢OP1、OP2、OP3の重要度の高い順番で上から表示される。
ここで、例えば、図18(a)の例で、ユーザが選択肢OP3を選択した場合を説明する。この場合、このユーザにとって、選択肢OP1と選択肢OP2よりも選択肢OP3の重要度が高い、と判断できるため、操作履歴保存部は、条件「選択肢OP3の重要度>選択肢OP1の重要度」と条件「選択肢OP3の重要度>選択肢OP2の重要度」のノードの情報を、操作履歴Histとして保存する。
次に、グラフ解析部25は、操作履歴Histの情報を元に、条件「選択肢OP3の重要度>選択肢OP1の重要度」と、条件「選択肢OP3の重要度>選択肢OP2の重要度」、すなわち、「x(k)>x(i)」及び「x(k)>x(j)」を満たすような観測ベクトルvを求める。
具体的には、グラフ解析部25は、以下の式(5)で算出されるコストCF2を最小化するような、新しい観測ベクトルvと、重要度ベクトルxとを、同時に求める。
Figure 0006567218
式(5)の右辺の第1項は、式(3)の右辺と同じである。式(5)の右辺の第2項と第3項は、「x(k)>x(i)」と「x(k)>x(j)」とを保証するための項である。また、
Figure 0006567218
は、u<0の場合は0であり、u≧0の場合は正の値を取る、任意の関数であり、関数H(u)とも表記する。
例えば、関数H(u)は、以下の式(6)に示されるような、hinge loss関数であってもよい。
Figure 0006567218
式(6)において、関数H(u)は、u<0の場合は0であり、u≧0の場合は線形に増加する関数である。
また、ベクトルvとベクトルxの要素は、非負値であり、ベクトルvの要素の総和は、1であり、ベクトルxの要素の総和は、1である。このようにして求められた観測ベクトルvは、条件「x(k)>x(i)」及び条件「x(k)>x(j)」を満たすため、ユーザ選択結果の情報を保持していると解釈できる。
《2−3》効果
以上に説明したように、実施の形態2に係る推論装置20又は推論方法によれば、ユーザの操作履歴を保存し、操作履歴に基づいて観測ベクトルを更新し、観測ベクトルに基づいて次の推論結果を算出することで、ユーザの趣向に合わせた音声対話など、適応的なユーザインタフェースの応答を実現できる。
また、観測ベクトルの更新においては、個別の事象だけではなく、上位概念(アッパーオントロジー)に重みをつけることで、抽象化された概念レベルにおいてユーザの趣向又は癖を学習することができる。
上記以外の点について、実施の形態2は、実施の形態1と同じである。
《3》実施の形態3
《3−1》構成
実施の形態1に係る推論装置10及び推論方法を用いた場合、ユーザは、推論の結果の理由、すなわち、推薦対象を推薦した理由を知りたい場合がある。例えば、表1に示される対話例において、推論装置10を含む人工知能エージェントが『近くに冷やし中華のレストランありますよ。』と発話したときに、ユーザが『なんで冷やし中華を勧めたの?』と、推薦理由を聞き返す場合がある。このとき、人工知能エージェントは、推薦対象が「冷やし中華」である理由をユーザに説明することが求められる。実施の形態3では、ユーザに対し推薦理由を説明する機能を備えた推論装置30及びこのような機能を実行するための推論方法を説明する。
図20は、実施の形態3に係る推論装置30の構成を概略的に示す機能ブロック図である。図20において、図1に示される構成要素と同一又は対応する構成要素には、図1に示される符号と同じ符号が付される。実施の形態3に係る推論装置30は、グラフ経路解析部38を備えている点と、グラフ解析部35及びグラフ検索部36が行う処理の点とにおいて、実施の形態1に係る推論装置10と相違する。
《3−2》動作
最初のステップS301において、実施の形態1と同様に、グラフ解析部35は、取得した統合グラフにおける各ノードの重要度を求め、各ノードの重要度に応じた複数の選択肢をユーザに提示する。例えば、表1の対話例のように、情報出力部17が、「車外の状態」を観測ノードとし、「冷やし中華」のノードを推薦した場合を検討する。
次のステップS302において、グラフ経路解析部38は、統合グラフを取得し、統合グラフにおけるノードにおいて、推論開始ノードと推論終了ノードとを設定する。グラフ経路解析部38は、推論開始ノードと推論終了ノードとを結ぶグラフ上の経路のうち、経路上のノードの重要度の合計が最大となる経路を算出する。ただし、算出する経路は、同じノードを1回だけ通る経路である。
図21は、実施の形態3に係る推論装置30のグラフ経路解析部38の動作例を示す図である。図21では、例えば、推論開始ノードには、観測ノードの1つである「車外の状態」を設定する。推論終了ノードには、推薦内容である「冷やし中華」を設定する。
次に、グラフ経路解析部38は、推論開始ノードである「車外の状態」から、推論終了ノードの「冷やし中華」までのグラフ上の経路のうち、ノードの重要度の合計が最大となる経路(図21において、点線の矢印で示した経路)を算出する。
具体的には、グラフ経路解析部38は、「車外の状態」、「暑い」、「冷たいものを食べる」、「冷たい食べ物」、「冷やし中華」の各ノードを順に結ぶ経路を取得する。この経路は、推論開始ノードと推論終了ノードを結ぶ経路のうち、重要度合計が最大(値19)となる経路である。ここで、経路の列挙には、例えば、非特許文献4に記載のZDD(Zero−suppressed Decision Diagram)を用いたグラフ列挙方法を用いてもよい。
Jun Kawahara、外3名、 "Frontier−based Search for Enumerating All Constrained Subgraphs with Compressed Representation"、 TCS Technical Report、 Division of Computer Science、 Report Series A、 2014年9月30日
次のステップS303において、情報出力部17は、最適経路の情報を利用して、推論理由を出力する。例えば、情報出力部17は、「車外の状態」、「暑い」、「冷たいものを食べる」、「冷たい食べ物」、「冷やし中華」の順に並ぶノードを持つ統合グラフ上の経路情報を元に、「車外の状態が暑くて、あなたが冷たいものを食べたい、つまりそれは冷やし中華だと推論したからです。」という文章を生成する。
以上の処理により、ユーザの『なんで冷やし中華を勧めたの?』という問に対して、推論装置30は『車外の状態が暑くて、あなたが冷たいものを食べたい、つまりそれは冷やし中華だと推論したからです。』と出力することができる。
また、推論開始ノードが複数ある場合には、最適経路と、推論理由を複数算出してもよい。例えば、「車外の状態」、「近くのお店」、「直近の命令」、「運転手」の4つが観測ノードである場合、それらを推論開始ノードとして各々設定し、4つの最適経路と4つの推論理由を算出してもよい。
《3−3》変形例1
図22(a)は、実施の形態3の変形例1に係る推論装置のグラフ経路解析部の他の動作例を示す図である。
図21の例では、グラフ経路解析部38が、推論開始ノードと推論終了ノードを結ぶ経路のうち、重要度の合計が最大となる経路を求め、この経路を最適経路とし、この最適経路に基づいて推論理由を生成した。しかし、グラフ経路解析部38の動作は、図21に示すものに限られない。グラフ解析動作部38は、推論開始ノードと推論終了ノードを結ぶ経路上のノードの個数、すなわち、ノード合計数に基づいて最適経路を決定し、この最適経路に基づいて推論理由を生成してもよい。例えば、グラフ解析動作部38は、推論開始ノードと推論終了ノードを結ぶ経路のうち、ノード合計数が最小となる経路を求めて、この経路を最適経路としてもよい。また、グラフ解析動作部38は、ノード合計数が最小となる複数の経路がある場合には、それら複数の経路のうちの、経由するノードの重要度の合計が最大となる経路を求めて、これを最適経路としてもよい。
図22(a)において、推論開始ノードSと推論終了ノードGを結ぶ経路は、以下の3つである。
(経路P11):ノードS,N1,N2,N3,Gを結ぶ経路
(経路P12):ノードS,N4,Gを結ぶ経路
(経路P13):ノードS,N5,Gを結ぶ経路
経路P11では、経由するノードの個数は5、経由するノードの重要度の合計は14、である。
経路P12では、経由するノード数の個数は3、経由するノードの重要度の合計は7、である。
経路P13では、経由するノードの個数は3、経由するノードの重要度の合計は3、である。
このとき、グラフ解析動作部38は、推論開始ノードSと推論終了ノードGを結ぶ経路P11、P12、P13のうち、経由するノード数の合計が最小となる経路P12とP13を求め、最小となる複数の経路がある場合には、それらのうちの、重要度の合計が最大となる経路P12を最適経路として採用し、最適経路を利用して推論理由を生成する。ここでは、経路P12が最適経路に相当する。経路P12を利用して推論理由を生成することで、簡略化されたな推論理由を生成することができる効果がある。
一方、推論開始ノードSと推論終了ノードGを結ぶ経路P11、P12、P13のうち、重要度の合計が最大となる経路は経路P11である。経路P11を利用して推論理由を生成すると、文章が長くなり、人間にとって理解が困難になってしまうことがある。図22(a)に示される変形例1は、このような場合に、適切な推論理由を生成することができる。
《3−4》変形例2
図22(b)は、実施の形態3の変形例2に係る推論装置のグラフ経路解析部の他の動作例を示す図である。
推論理由の生成に必ず利用しなければいけないノードが事前に判明していることがある。グラフ経路解析部38は、最適経路が経由することが決められているノード、すなわち、推論理由の生成に必ず利用しなければいけないノードを必須の推論経由ノードとして指定することで、推論理由を生成してもよい。
図22(b)に示される例において、グラフ経路解析部38は、Sを推論開始ノードに、Gを推論終了ノードに、N5を必須の推論経由ノードに指定する。グラフ経路解析部38は、推論開始ノードSと推論終了ノードGとを結び、かつ必須の推論経由ノードN5を通るグラフ上の経路を最適経路として算出する。図22(b)の例では、必須の推論経由ノードN5を通る経路P13、すなわち、経路P131又はP132、が最適経路に相当する。
図22(b)の例では、必須の推論経由ノードN5を通る複数の経路があるので、グラフ経路解析部38は、複数の経路のうちのいずれか、すなわち、経路P131又はP132のいずれかを推論理由の生成に利用する。この場合には、グラフ経路解析部38は、例えば、図22(a)で説明した推論理由の生成方法を用いることができる。
図22(b)において、推論開始ノードSと推論終了ノードGを結び、必須の推論経由ノードN5を通る経路は、以下の2つである。
(経路P131):ノードS,N5,N6,Gを結ぶ経路
(経路P132):ノードS,N5,N7,Gを結ぶ経路
経路P131では、経由するノードの個数は4、経由するノードの重要度の合計は4、である。
経路P132では、経由するノードの個数は4、経由するノードの重要度の合計は5、である。
このとき、グラフ解析動作部38は、推論開始ノードSと推論終了ノードGを結ぶ経路P131、P132のうち、経由するノード数の合計が最小となる経路P131とP132を求め、最小となる複数の経路がある場合には、それらのうちの、重要度の合計が最大となる経路P132を最適経路として採用し、最適経路を利用して推論理由を生成する。ここでは、経路P132が最適経路に相当する。経路P132を利用して推論理由を生成することで、簡略化されたな推論理由を生成することができる効果がある。
《3−5》変形例3
グラフ経路解析部38は、ルールノードを利用して推論理由を生成し、適用された推論ルールの情報を推論理由に含めてもよい。
図23(a)から(c)は、実施の形態3の変形例3に係る推論装置のグラフ経路解析部38のさらに他の動作例を示す図である。図23(a)は、推論ルールを適用する前のグラフであり、このグラフには、ノードA,B,C,Sのみが存在している。ここで、ノードSを観測ノードと仮定する。
次のステップS301aにおいて、グラフ経路解析部38は、推論ルールを適用し、統合グラフを生成する。このとき、グラフ結合部14は、各推論ルールの前提条件と、推論ルールが新しく生成したノードの情報を示す、ルールノードを統合グラフに追加する。図23(b)は、グラフ結合部14によって、以下の2つの推論ルールであるrule1及びrule2を適用することで得られた統合グラフの例を示す。
rule1:ノードAかつノードBが存在するならば、トリプレット(X、 prop1、 Y)が成り立つ。
rule2:ノードCかつノードXが存在するならば、トリプレット(X、 prop2、 Z)が成り立つ。
ここで、「prop1」及び「prop2」は、property1及びproperty2、すなわち、属性1及び属性2を意味する。「prop1」及び「prop2」は、例えば、likeであるが、他のpropertyであってもよい。
「prop1」及び「prop2」が、likeである場合、
rule1:ノードAかつノードBが存在するならば、トリプレット(X、 like、 Y)が成り立つ。つまり、Xの好きなものはYである、が成り立つ。
rule2:ノードCかつノードXが存在するならば、トリプレット(X、 like、 Z)が成り立つ。つまり、Xの好きなものはZである、が成り立つ。
図23(b)に示されるように、例えば、グラフ結合部14は、ルールノードrule1とrule2を生成して統合グラフに追加する。ここで、例えば、トリプレット(A、 前提、 rule1)は、「Aはrule1の前提理由である。」を示す。また、トリプレット(rule1、 生成、 X)は、「rule1により新しくノードXが生成された。」ことを示す。
次のステップS302aにおいて、グラフ経路解析部38は、ルールノードを必須の推論経由ノードに指定して、最適経路を求める。
例えば、図23(b)の統合グラフにおいて、
「なぜZが生成されたのか?」というユーザの問いに対して、グラフ経路解析部38は、以下のように理由を生成することができる。
図23(c)の統合グラフにおいて、グラフ経路解析部38は、観測ノードであるSを推論開始ノードに、rule1とrule2を必須の推論経由ノードに、Zを推論終了ノードに設定して、重要度の合計が最大となる経路を算出する。なお、rule1とrule2を必須の推論経由ノードに指定した場合に、推論開始ノードSから必須の推論経由ノードを経由して推論終了ノードZまでの経路として、複数の経路がある場合の処理は、図22(b)を用いて説明した変形例2の場合の処理とすることができる。
この結果、例えば、グラフ経路解析部38は、ノードS、B、rule1、Y、X、rule2、Zを結ぶ経路を算出する。この経路を、図23(c)において、点線80の矢印で示す。
次のステップS303において、情報出力部17は、最適経路の情報を利用して、推論理由を出力する。例えば、経路上のノード情報を利用して、以下のように、順次、推論理由を生成する。このように、「どのルールが適用されてZが生成されたのか」を、算出することができる。
図23(c)の例では、生成された推論理由は、以下の理由である。
・推論開始ノードSの要素にノードBがある。
・ノードBはノードrule1の前提である。
・ノードrule1はノードYを生成した。
・ノードYはノードXのprop1である。
・ノードXはノードrule2の前提である。
・ノードrule2は推論終了ノードZを生成した。
《3−6》効果
以上に説明したように、実施の形態3に係る推論装置30又は推論方法によれば、ユーザの「なぜ、そう思ったの?」という人工知能への問に対する回答を、その理由を視覚的にわかりやすく、かつ論理的に提示することができる。
上記以外の点について、実施の形態3は、実施の形態1又は2と同じである。また、実施の形態1から3の構成要素は、互いに適宜組み合わせることが可能である。
10,20,30 推論装置、 11 知識ベース部、 11a 知識ベース、 12 ルールデータベース部、 12a ルールデータベース、 13 動的情報取得部、 14 グラフ結合部(情報結合部)、 15,25,35 グラフ解析部(情報解析部)、 16,36 グラフ検索部(情報検索部)、 17 情報出力部、 28 操作履歴保存部、 38 グラフ経路解析部、 41 アプリケーション、 42 ユーザインタフェース、 43 GPS、 44 カメラ、 45 インターネット、 46 外部データベース、 47 センサ、 51 ユーザインタフェース。

Claims (14)

  1. 人間の状態に関する情報及び人間の行動に関する情報を含み、知識ベースから提供される知識情報と、ルールデータベースから提供される推論ルールと、を用いて、動的に変化する外部の情報のうちの互いに異なるドメインに属する情報を前向き連鎖で結合することによって統合情報を生成する情報結合部と、
    情報解析部と
    を有し、
    前記互いに異なるドメインに属する情報は、ノードとエッジとを有する有向グラフとして表現できる情報であり、
    前記統合情報は、前記異なるドメインに属する情報である前記有向グラフを結合することによって生成された統合グラフであり、
    前記情報解析部は、前記統合グラフの構成要素であるノードの重要度を、前記統合グラフ上をランダムウォークして定常状態に収束したときの前記ノードに到達する確率から算出する又はページランクのアルゴリズムを用いて算出する
    ことを特徴とする推論装置。
  2. 前記情報解析部は、前記有向グラフを変換するための変換パターンを有し、
    前記変換パターンは、
    前記有向グラフを変換せずに利用する第1の変換パターンと、
    前記有向グラフを無向グラフに変換する第2の変換パターンと、
    前記有向グラフを逆向きの有向グラフに変換する第3の変換パターンと、
    を含む
    ことを特徴とする請求項1に記載の推論装置。
  3. 前記情報解析部は、
    前記有向グラフの構成要素であって、前記推論ルールに従う推論の基点となるノードを観測ノードに設定し、
    前記観測ノードの重みを0以上に設定し、前記観測ノード以外のノードの重みを0とした観測ベクトルを作成し、
    前記観測ベクトルに基づいて前記重要度を算出する
    ことを特徴とする請求項1又は2に記載の推論装置。
  4. 人間の状態に関する情報及び人間の行動に関する情報を含み、知識ベースから提供される知識情報と、ルールデータベースから提供される推論ルールと、を用いて、動的に変化する外部の情報のうちの互いに異なるドメインに属する情報を前向き連鎖で結合することによって統合情報を生成する情報結合部と、
    グラフ経路解析部と
    を有し、
    前記互いに異なるドメインに属する情報は、ノードとエッジとを有するグラフとして表現できる情報であり、
    前記統合情報は、前記異なるドメインに属する情報である前記グラフを結合することによって生成された統合グラフであり、
    前記グラフ経路解析部は、前記統合グラフにおいて、前記ノードのうちの推論開始ノードと、推論経由ノードと、推論終了ノードとを設定し、前記推論開始ノードと前記推論終了ノードを結ぶ前記統合グラフ上の経路のうちから、最適経路を算出することを特徴とする推論装置。
  5. 前記グラフ経路解析部は、前記推論開始ノードと前記推論終了ノードを結ぶ前記統合グラフ上の経路のうち、前記経路上のノードの重要度の合計が最大となる経路を前記最適経路とすることを特徴とする請求項4に記載の推論装置。
  6. 前記グラフ経路解析部は、
    前記推論開始ノードと前記推論終了ノードを結ぶ前記統合グラフ上の経路のうち、前記経路上のノードの個数が最小となる経路が1つの経路である場合は、前記1つの経路を前記最適経路とし、
    前記推論開始ノードと前記推論終了ノードを結ぶ前記統合グラフ上の経路のうち、前記経路上のノードの個数が最小となる経路が複数の経路である場合は、前記複数の経路のうちの、前記ノードの重要度の合計が最大となる経路を前記最適経路とする
    ことを特徴とする請求項4に記載の推論装置。
  7. 前記グラフ経路解析部は、
    最適経路が経由することが決められているノードを必須の推論経由ノードとして指定し、
    前記推論経由ノードを経由する経路を前記最適経路とする
    ことを特徴とする請求項4に記載の推論装置。
  8. 前記グラフ経路解析部は、
    最適経路が経由することが決められているノードを必須の推論経由ノードとして指定し、
    前記必須の推論経由ノードを経由する経路が1つの経路である場合は、前記1つの経路を前記最適経路とし、
    前記必須の推論経由ノードを経由する経路が複数の経路であり、かつ、前記複数の経路のうち、前記経路上のノードの個数が最小となる経路が1つの経路である場合は、前記1つの経路を前記最適経路とし、
    前記必須の推論経由ノードを経由する経路が複数の経路であり、かつ、前記複数の経路のうち、前記経路上のノードの個数が最小となる経路が複数の経路である場合は、前記経路上のノードの個数が最小となる前記複数の経路のうちの、前記ノードの重要度の合計が最大となる経路を前記最適経路とする
    ことを特徴とする請求項4に記載の推論装置。
  9. 前記統合グラフに、前記必須の推論経由ノードとして、推論ルールを示すルールノードと、前記ルールノードが適用されて生成されたノードとが追加されたことを特徴とする請求項8に記載の推論装置。
  10. ユーザの操作履歴を保存する操作履歴保存部をさらに備え、
    前記情報解析部は、
    前記操作履歴に基づいて前記観測ベクトルを更新し、
    前記更新された観測ベクトルに基づいて前記重要度を算出する
    ことを特徴とする請求項3に記載の推論装置。
  11. 前記外部の情報を予め決められた形式の情報に変換して前記情報結合部に提供する動的情報取得部をさらに有することを特徴とする請求項1から10のいずれか1項に記載の推論装置。
  12. 前記知識ベースを保存する知識ベース部と、
    前記ルールデータベースを保存するルールデータベース部と
    をさらに有することを特徴とする請求項1から11のいずれか1項に記載の推論装置。
  13. 推論装置が実行する推論方法であって、
    前記推論装置が、人間の状態に関する情報及び人間の行動に関する情報を含み、知識ベースから提供される知識情報と、ルールデータベースから提供される推論ルールと、を用いて、動的に変化する外部の情報のうちの互いに異なるドメインに属する情報を前向き連鎖で結合することによって統合情報を生成するステップであって、前記互いに異なるドメインに属する情報は、ノードとエッジとを有する有向グラフとして表現できる情報であり、前記統合情報は、前記異なるドメインに属する情報である前記有向グラフを結合することによって生成された統合グラフであるステップと、
    前記推論装置が、前記統合グラフの構成要素であるノードの重要度を、前記統合グラフ上をランダムウォークして定常状態に収束したときの前記ノードに到達する確率から算出する又はページランクのアルゴリズムを用いて算出するステップと
    を有することを特徴とする推論方法。
  14. 人間の状態に関する情報及び人間の行動に関する情報を含み、知識ベースから提供される知識情報と、ルールデータベースから提供される推論ルールと、を取得する処理と、
    前記知識情報と前記推論ルールとを用いて、動的に変化する外部の情報のうちの互いに異なるドメインに属する情報を前向き連鎖で結合することによって統合情報を生成する処理であって、前記互いに異なるドメインに属する情報は、ノードとエッジとを有する有向グラフとして表現できる情報であり、前記統合情報は、前記異なるドメインに属する情報である前記有向グラフを結合することによって生成された統合グラフである処理と、
    前記統合グラフの構成要素であるノードの重要度を、前記統合グラフ上をランダムウォークして定常状態に収束したときの前記ノードに到達する確率から算出する又はページランクのアルゴリズムを用いて算出する処理と
    をコンピュータに実行させることを特徴とする推論プログラム。
JP2019506207A 2018-09-28 2018-09-28 推論装置、推論方法、及び推論プログラム Active JP6567218B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/036198 WO2020065906A1 (ja) 2018-09-28 2018-09-28 推論装置、推論方法、及び推論プログラム

Publications (2)

Publication Number Publication Date
JP6567218B1 true JP6567218B1 (ja) 2019-08-28
JPWO2020065906A1 JPWO2020065906A1 (ja) 2021-01-07

Family

ID=67766613

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019506207A Active JP6567218B1 (ja) 2018-09-28 2018-09-28 推論装置、推論方法、及び推論プログラム

Country Status (5)

Country Link
US (1) US20210166141A1 (ja)
JP (1) JP6567218B1 (ja)
CN (1) CN112740238A (ja)
DE (1) DE112018007932T5 (ja)
WO (1) WO2020065906A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021124502A1 (ja) * 2019-12-19 2021-06-24
WO2021131013A1 (ja) * 2019-12-27 2021-07-01 三菱電機株式会社 推論装置、設定方法、及び設定プログラム
JP2022505015A (ja) * 2019-10-08 2022-01-14 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド 知識グラフのベクトル表現生成方法、装置及び電子機器
DE112020006904T5 (de) 2020-05-21 2023-01-12 Mitsubishi Electric Corporation Inferenzvorrichtung, Aktualisierungsverfahren und Aktualisierungsprogramm
DE112020006968T5 (de) 2020-05-28 2023-01-19 Mitsubishi Electric Corporation Inferenzvorrichtung, programm und inferenzverfahren
JP7523558B2 (ja) 2020-03-09 2024-07-26 インターナショナル・ビジネス・マシーンズ・コーポレーション ハイブリッド推論を用いたグラフ・コンピューティングのための方法およびシステム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11698918B2 (en) * 2019-05-21 2023-07-11 Sisense Ltd. System and method for content-based data visualization using a universal knowledge graph
US11663498B2 (en) 2019-05-21 2023-05-30 Sisense Ltd. System and method for generating organizational memory using semantic knowledge graphs
US11687553B2 (en) 2019-05-21 2023-06-27 Sisense Ltd. System and method for generating analytical insights utilizing a semantic knowledge graph
CN113256395B (zh) * 2021-06-23 2023-11-24 中国平安人寿保险股份有限公司 基于推荐图网络的产品推荐方法、装置、设备及存储介质
CN114067233B (zh) * 2021-09-26 2023-05-23 四川大学 一种跨模态匹配方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011028339A (ja) * 2009-07-21 2011-02-10 Nippon Telegr & Teleph Corp <Ntt> 情報処理装置、情報処理システムおよび情報処理方法
JP2014147659A (ja) * 2013-01-09 2014-08-21 Canon Inc 医療診断支援装置及び医療診断支援方法
JP2016015124A (ja) * 2014-06-30 2016-01-28 富士通株式会社 コンピュータ装置、処理方法及びコンピュータプログラム
JP2018147042A (ja) * 2017-03-01 2018-09-20 日本電気株式会社 推論結果可視化装置、推論結果可視化方法、及びプログラム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3128257B2 (ja) * 1991-04-25 2001-01-29 株式会社 エー・アイ・イー研究社 図形情報処理装置
JP3184551B2 (ja) * 1991-04-26 2001-07-09 株式会社 エー・アイ・イー研究社 情報推論装置における知識ベースの管理方式
JPH05108355A (ja) * 1991-10-15 1993-04-30 Fuji Xerox Co Ltd エキスパートシステム
US5899985A (en) * 1994-09-05 1999-05-04 Kabushiki Kaisha Toshiba Inference method and inference system
KR20050062624A (ko) * 2002-10-18 2005-06-23 도꾸리쯔교세이호징 가가꾸 기쥬쯔 신꼬 기꼬 구조화 지식에 의거한 학습ㆍ사고기계 및 학습ㆍ사고방법과컴퓨터 시스템 및 정보생성방법
CN102722569B (zh) * 2012-05-31 2014-10-22 浙江理工大学 基于rdf图路径游走的知识发现装置及方法
JP2014127019A (ja) * 2012-12-26 2014-07-07 Nec Corp 質問生成装置、情報処理装置、質問生成方法、情報処理方法、および、コンピュータ・プログラム
US10402453B2 (en) * 2014-06-27 2019-09-03 Nuance Communications, Inc. Utilizing large-scale knowledge graphs to support inference at scale and explanation generation
CN104506338A (zh) * 2014-11-21 2015-04-08 河南中烟工业有限责任公司 一种基于决策树的工业以太网网络故障诊断专家系统
JP6232522B2 (ja) * 2015-03-27 2017-11-15 株式会社日立製作所 計算機及びグラフデータ生成方法
JP5881030B2 (ja) * 2015-09-07 2016-03-09 洋彰 宮崎 自己組織的に知識を拡大する人工知能装置
US10496678B1 (en) * 2016-05-12 2019-12-03 Federal Home Loan Mortgage Corporation (Freddie Mac) Systems and methods for generating and implementing knowledge graphs for knowledge representation and analysis
KR101752488B1 (ko) * 2016-06-24 2017-07-11 주식회사 삼진엘앤디 사물 인터넷 환경에서 온톨로지 기반의 상황인지 서비스를 제공하기 위한 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체
CN106445913A (zh) * 2016-09-06 2017-02-22 中南大学 基于MapReduce的语义推理方法及系统
KR102091240B1 (ko) * 2016-11-23 2020-03-20 한국전자통신연구원 결정적 및 비결정적 지식 처리의 융합을 위한 데이터 처리 장치 및 방법
CN107578106B (zh) * 2017-09-18 2020-03-24 中国科学技术大学 一种融合单词语义知识的神经网络自然语言推理方法
US10534862B2 (en) * 2018-02-01 2020-01-14 International Business Machines Corporation Responding to an indirect utterance by a conversational system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011028339A (ja) * 2009-07-21 2011-02-10 Nippon Telegr & Teleph Corp <Ntt> 情報処理装置、情報処理システムおよび情報処理方法
JP2014147659A (ja) * 2013-01-09 2014-08-21 Canon Inc 医療診断支援装置及び医療診断支援方法
JP2016015124A (ja) * 2014-06-30 2016-01-28 富士通株式会社 コンピュータ装置、処理方法及びコンピュータプログラム
JP2018147042A (ja) * 2017-03-01 2018-09-20 日本電気株式会社 推論結果可視化装置、推論結果可視化方法、及びプログラム

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022505015A (ja) * 2019-10-08 2022-01-14 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド 知識グラフのベクトル表現生成方法、装置及び電子機器
JP7262571B2 (ja) 2019-10-08 2023-04-21 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド 知識グラフのベクトル表現生成方法、装置及び電子機器
US11995560B2 (en) 2019-10-08 2024-05-28 Beijing Baidu Netcom Science And Technology Co., Ltd. Method and apparatus for generating vector representation of knowledge graph
JPWO2021124502A1 (ja) * 2019-12-19 2021-06-24
WO2021124502A1 (ja) * 2019-12-19 2021-06-24 三菱電機株式会社 推論装置、推論方法、及び推論プログラム
JP7031079B2 (ja) 2019-12-19 2022-03-07 三菱電機株式会社 推論装置、推論方法、及び推論プログラム
WO2021131013A1 (ja) * 2019-12-27 2021-07-01 三菱電機株式会社 推論装置、設定方法、及び設定プログラム
JPWO2021131013A1 (ja) * 2019-12-27 2021-07-01
JP7012916B2 (ja) 2019-12-27 2022-01-28 三菱電機株式会社 推論装置、設定方法、及び設定プログラム
JP7523558B2 (ja) 2020-03-09 2024-07-26 インターナショナル・ビジネス・マシーンズ・コーポレーション ハイブリッド推論を用いたグラフ・コンピューティングのための方法およびシステム
DE112020006904T5 (de) 2020-05-21 2023-01-12 Mitsubishi Electric Corporation Inferenzvorrichtung, Aktualisierungsverfahren und Aktualisierungsprogramm
DE112020006968T5 (de) 2020-05-28 2023-01-19 Mitsubishi Electric Corporation Inferenzvorrichtung, programm und inferenzverfahren

Also Published As

Publication number Publication date
DE112018007932T5 (de) 2021-06-17
CN112740238A (zh) 2021-04-30
WO2020065906A1 (ja) 2020-04-02
US20210166141A1 (en) 2021-06-03
JPWO2020065906A1 (ja) 2021-01-07

Similar Documents

Publication Publication Date Title
JP6567218B1 (ja) 推論装置、推論方法、及び推論プログラム
US11704595B2 (en) Cognitive search operation
CN110998567B (zh) 用于对话语义分析的知识图谱
US11556865B2 (en) User-centric browser location
CN111630539A (zh) 联合的智能助理
Augusto et al. A survey on the evolution of the notion of context-awareness
Pineda et al. Sitlog: A programming language for service robot tasks
Bahramian et al. A context-aware tourism recommender system based on a spreading activation method
Kulakov et al. Towards an understanding of smart service: The case study for cultural heritage e-Tourism
Cao et al. Semantic approach to travel information search and itinerary recommendation
JP7031079B2 (ja) 推論装置、推論方法、及び推論プログラム
Kovács et al. Service-oriented context-aware framework
Saifullah et al. Optimization of tour scheduling using firefly algorithm
US10691699B2 (en) Augmenting search results with user-specific information
JP7012916B2 (ja) 推論装置、設定方法、及び設定プログラム
Ponce et al. Intention as a Context: An Activity Intention Model for Adaptable Development of Applications in the Internet of Things
Kamateri et al. Knowledge-based intelligence and strategy learning for personalised virtual assistance in the healthcare domain
Dalton et al. Search agent model: A conceptual framework for search by algorithms and agent systems
Atkinson et al. Faster than the Speed of Thought: virtual assistants, search and the logic of pre-emption
Mahdi et al. A new personalization approach by case-based reasoning and fuzzy logic
Basiri et al. Providing relevant information in an ambient services using service requester’s “logical area”
Fischer et al. Context-Aware Restaurant Recommendation for Natural Language Queries: A Formative User Study in the Automotive Domain.
Lam An extension of the crisp ontology for uncertain information modeling: fuzzy ontology map
Eisman Cabeza Emotions, conversatinal systems and heterogeneous data sources
Espinilla et al. Decision Analysis Linguistic Framework

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190204

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190204

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190204

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190521

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190613

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190730

R150 Certificate of patent or registration of utility model

Ref document number: 6567218

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250