知識表現言語Quixote 概要 知識情報処理の基盤技術である、知識表現、推論などの基本機能を提供する言語処理系であり、データベースエンジンとして拡張非正規関係データベース管理システムKappaを利用した、統合型知識べース管理システム構築のための機能を提供する。 特徴 論理型言語や演緯データベースに、オブジェクト指向灘念、包摂制約、モジュール階層などを導入して拡張した、演緯オブジェクト指向デー一夕ベース(DOOD)のための言語であり、以下の特徴を持つ。 ●オブジェクト識別性:オブジェクトの属性から定義される拡張項記述(オブジェクト項)のオブジェクト識別子としての利用 ●包摂制約:オブジェクト項問の上位-下位概念を表す包摂関係を用いた制約記述・処理 ●属性継承:包摂制約に基づくオブジェクト間の属性継承とオブジェクト識別性に基づく例外の処理 ●モジュール:モジュール概念の導入による、知識べ一スの階層化 ●ルール継承:モジュール間の関係に基づくルールの継承と、ルールの性質に基づく例外の処理 ●条件付き問合せ:知識べ一ス定義への追加条件を伴う問合せと条件つき回答 デモの構成 Quixoteは演繹オブジェクト指向データベースのためで知識表現言語であるだけでなく、制約論理型言語、データベース・プログラミング言語、状況プログラミング言語などの多くの特徴を備えている。 Quixoteの基本的な特徴とその有効性を、以下の4種類のデモで示す。 ●Quixoteの基本的な特徴 ●状況推論への応用 ●分子生物学データベースヘの応用 ●法的推論システムTRIAL Quixoteの基本的な特徴 オブジェクト Quixoteの中心となる概念はオブジェクトである。オブジェクトは、オブジェクト識別子(OID)と属性(プロパティ)の集合とからなる。OIDは複合オブジェクトで表現する。たとえば apple, apple[color=red], apple[color=red,area=nagano] はOIDであり、前者はappleという激念を、後2つは固有の属性を持ったappleの部分概念を表している。非固有の属性は apple/[color=red] apple[color=red]/[area={nagano,aomori}、weight=heavy] のように“/”の右に書く。 オブジェクトはルールによって内包的に定義することもできる。 path[from=X,to=Y]←arc[from=X,to=Y] path[from=X,to=Y]←arc[from=X,to=Z],path[from=Z,to=Y] 包摂関係と属性継承 OID問には包摂関係⊂が定義できる。 apple fruit, fruit plant この拡張としてapple[color=red]⊆appleも定義できる。属性は包摂関係とその拡張の集合問のHoare順序⊆Hによる制約として表現できる。 apple/[family→rose,area←{nagano,aomori}] ⇔apple|{apple.family⊆rose,apple.area⊇H{nagano,aomori}包摂関係によってOIDは束となり、この順序にしたがって属性継承が定義される。 apple/[color=red,family→rose] ⇒apple[color=green]/[family→rose,color=green] 例外は固有属性によって生じ、多重継承は制約のマージとして処理される。 モジュールとルール継承 ルールの集合をモジュールとして定義できる。 west::cider/[source=apple] usa::cider/[alcohol=no] uk::cider/[alcohol=yes] モジュール間にはサブモジュール関係⊆3が定義でき、ルール継承が行われる。 ルール継承に関して例外と多重継承も定義できる。パラメータつきモジュールによって動的にモジュールを生成することもできる。 間合せと解 Quixoteプログラム(データベース)は、制御情報、包摂関係定義、サブモジュール関係定義、ルール定義の4つの部分から構成されている。以下の問合せが可能である。 ●問合せ時にデータベースに新たな内容を条件として付加できる。 if west::cider/[process=ferment]then? -uk:cider/[process=X] ●解は属性に関する仮説つきで返される。 ?-japan:cider/[alcohol=yes]→if japan:cider.aocohol=yes then yes ●必要ならば解の導出過程を説明として返すこともできる。 データベースに対する更新は、問合せ時の他にプログラム中でも指定ができ、入れ子トランザクションで実行される。Quixoteオブジェクトはすべて永続性を持っており、Kappaデータベースまたはファイルに格納される。 状況推論への応用 対象とする問題: 自然言語理解における、信念の扱い、テンス・アスペクトなどの時問的情報の扱いにおいては、状況(文脈)に依存した知識の表現と、推論機能が必要とされる。状況推論のために必要となる機構として以下のものがある。 ●環境に依存するパラメータの記述と利用 ●環境に依存した推論規則の適用 ●暗黙的なパラメータの明示化 Quixoteの利点: 上の機構は、Quixoteの基本的な機能により自然に実現できる。 ●モジュールによる状況の表現 s::o<・⇒s←σ ●オブジェクト項とその属性による、パラメータの表現 0[rel/xxx,agent/yyy・・] ●モジュールを伴うルール記述と、モジュール問関係の設定による、環境に依存した推論規則の適用 sO::O… ●制約による暗黙的パラメータの明示化 s::o《》 ●仮説付き問合せによる、環境情報や仮説的情報の付加 デモ内容: ●見方(Perspective)の定式化による時間情報の推論 テンス・アスペクトは同じ状況に対する異なった見方であるという前提に立ち、個々の単語が持つ時間特性を集積して、語句全体の時問的意味を導く。 例として、複数の意味をとりうる日本語の「ている」を取り上げ、それらの暖昧性を明示する推論を行なう(以下は「着ている」の解釈例)。 (進行)着る最中である。(結果状態)着た状態である。(経験)着たことがある。 ●信念と知識に依存した推論 ある同じ推論規則を適用しても背景にある隠れた信念・知識により、異なった推論結果を導くことがある。ここでは次の例文で、各々の発話者の知識に基づく推論を考える。 If Bizet and Verdi are compatriots,then Bizet is Italian. If Bizet and Verdi are compatriots,then Verdi is French.分子生物学への応用 対象とする問題: 分子生物学データは増加の一途であり、自動的な解析の方法を考案することと、そのために可能な限りの知識を自動的に利用できる形で表現することが必要とされている。表現すべき知識としては、タンパク質に関するデータベースという観点からは以下のものが挙げられる。 ●タンパク質の機能の記述 ●公共データベースの統合的表現 ●未整理データの暫定表現 Quixoteの利点: Quixoteの基本機能は分子生物学の知識表現にさまざまな利点を提供する。 下記のデモ内容以外に、以下のような利点が考えられる。 ●モジュールによる物質/種固有な知識の記述 ●モジュールによる各公共データベース固有な知識の記述 ●モジュールによる未整理矛盾データの隔離 デモ内容: ●ProSiteの表現 機能モチーフのひとつ、zinc fingerを例に、Quixoteを使った場合とテーブルで格納した場合との表現の違い、使われ方の違いを示す。 一スキーマの柔軟性 一質問処理能力 ●シトクロームの機能 代謝反応の一部であるシトクロームの電子輸送の機能を例にQuixoteのモジュールの効果とオブジェクト間関係の利用法の一例を示す。 一モジュールによる回答の詳細化レベルの設定 一オブジェクト階層によるシソーラス表現 ●クエン酸回路の表現 同じく代謝反応の一部であるクエン酸回路と、大腸菌などにみられるグリオキシル酸回路の差異を例に、代謝経路の表現・識別方法について述べる。 一ループを含むバスの表現