Chapter 3, pp.45-80, "Semantic Networks" by Damian Mac Randal,
Chapter 7, pp.161-174, "Conceptual Graphs" by Michael Jackman and Cliff Pavelin
意味ネットワークとは、言語の意味 あるいは 一般的な知識 を人間の 直観に即して効率よく表現しようとする試みである。そのいくつかは 認知科学的視点にもとづいて提案されている。
意味ネットワークは、それぞれの概念を「リンク」と呼ばれる 線で結ぶことにより、様々な意味や知識を表す。しかし、ここで 深刻な問題が発生する。そこで表現される 「概念」や「リンク」は、どのレベルの概念でなければならないか? 概念間の継承関係 (シソーラス) はどうやって与えればよいのか? また、リンクは各々の概念間の「関係」を示さなければならないが、では その「関係」そのものについて語りたい場合 (例 :「右」とは…、等) はどうすればよいのか? それから、意味ネットワークは概念の 「内包 (intension)」と 「外延 (extension)」を区別して扱えねばならない。
さらに、それらを計算量が爆発しないようなやりかたで、 効率よく扱うためのアルゴリズムはどのようなものか。意味ネットワークは、 一見簡単そうで、人間の直観にもよくマッチしているように見える。 しかし、だからこそ混乱が起きやすく、論理的に整合性のとれた ネットワーク構造を提案するのは大変むずかしい仕事である。 また、意味ネットワークは何らかの外部表現をそれに変換する parser、 意味ネットワークの手続き的な操作方法 および 計算機内部での形式的な表現形式、 そしてその上で推論を行うエンジンの動作定義などを含めて議論されなければ ならない。
ここではまずはじめに、従来行われてきた意味ネットワークに関する 代表的な研究をふりかえり、その経緯と問題点を紹介する。 次に、有名な意味ネットワークシステムである Brachman の KL-ONE と Sowa の Conceptual Graph を紹介する。
意味ネットワークに関連する「意味」の研究は、これまで次のような 経過をたどってきた。
計算機上で最初に意味ネットワークを実装したのは Quillian である。 かれはその Ph. D 論文 (Quillian, 1966) のなかで、言語理解システムに 使う辞書のようなものとして、人間の直観によくマッチするような 意味ネットワークを導入した (図 1)。 これはのちに彼の Semantic Memory へと発展した (Quillian, 1968)。
Quillian の意味ネットワークでは、多義語を扱うために概念そのものを 表すノード (type) と、それを表示する単語のノード (token) を区別する ことができた。たとえば plant (植物) と plant (工場) は別々の type ノードを 持っている。概念の詳しい定義や、他の概念へのリンクは各概念の type ノードに埋め込まれていた。また、subclass というリンクによって、 ある概念が別の概念の下位概念であることを示した。しかしこの ネットワークはかなり ad hoc (場当たり的) なもので、ひとつのノードに いろいろな属性や special link がくっついて大変見通しの悪いものに なってしまっていた。
一方、これとは別に Winston は積木世界における事例ベースの学習を 実現するため Structured Descriptions (Winston, 1975) と呼ばれる意味ネットワークを実現した (図 2)。
Winston の意味ネットワークでは、積木世界のそれぞれの物体を各ノードに 割り当て、「one-part-is」「opposite」 などのリンクでそれぞれの関係を 表現していた。しかし、位置関係や物理的な依存関係を示す 「left-of」や「supported-by」といった関係は ノードになっており、 計算機は「関係」そのものも概念として扱うことができた。しかし Winston はどのような関係をリンクとして表し、どのような関係をノードとして 表せばよいのかはっきりと表明していなかった。
同じ時期にもうひとつ重要なこととして、Chomsky 言語学の影響を受けた Fillmore による格フレームの開発がある (Fillmore, 1966)。 Fillmore が最初に提案した格フレームは Agentive, Instrumental, Objective, Dative, Facitive および Locative の 6種類であった。 最近では 28種類もの格が提案されている (Sparck-Jones ら, 1987)。 この格フレームを利用した意味ネットワークは非常に多い。Marcus の English parser、Nash-Webber の音声理解システム、Bobrow と Winograd の KRL なども格フレームを使っている。
さらに認知科学的なアプローチとして、Schank による 「概念依存 (Conceptual Dependency)」がある (Schank, 1972)。 これは人間の最も基本的な意味や格フレームだけを組み合わせて作ったと されており、どんな言語にも依存しない形で文章の意味を表現できると 宣伝されていた。概念依存では、文章の意味を 12 の基本的な動詞の 組み合わせとして表現する (たとえば、「x が歩く」という文は x による x それ自身の PTRANS [物理的な移動] であるといった具合)。
しかし、実は概念依存はちっとも根源的 (radical) ではなかったということが やがて示される。それでも、概念依存は次の 2つの点で重要であった。 ひとつは、Schank の作成した推論エンジンが、従来の言語理解システムと 比べると非常に多様な文章を理解できたこと、もうひとつは、このシステムが 何らかの理論的基盤に基づいて作られたということである。
意味ネットワークでは、それが人間にとって直観的にわかりやすいもので あるがゆえに、ノードやリンクといった概念に対して混乱が起きやすい。 人間はネットワークを解釈しているうちに、勝手にそれらのノードやリンクの 「意味」を拡大解釈してしまうようである。また、ノードに属性がつけられる ようになっていると、あるレベルの知識をノードの属性として表すべきなのか、 ネットワーク構造そのもので表すべきなのか確かでない、といったことも 起こる (この区別は非常に難しい)。
1975年までに開発された意味ネットワークは、どれも論理的な基盤が 非常にあやふやで、混乱が起きやすかった。 またどの意味ネットワークも (Schank のを除き) 特定の言語でしか 利用できず、また扱える文の数も少なかった。従って、まず意味ネットワークの 理論的基盤をはっきりさせる必要があった。70年代中ごろから後半にかけて、 この仕事に取り組んだのが Woods, Schubert, そして Brachman である。
Woods は初期の意味ネットワークにおける理論的な問題に取り組んだ 最初の人である (Woods, 1975)。 彼は意味ネットワークに論理的な適切さを 与えようとした。まず彼は ``semantics'' という語の意味を 定義するところからはじめた。それによれば、semantics という語は
という意味が混同して使われている。また Woods は他にも 推論機構そのものが間違って semantics と呼ばれていることや、 syntax (統語論) と semantics (意味論) が混同されていることなどを指摘した。 次に、Woods は意味ネットワークについて考察し、「異なる 2つの表現が同一のものを指す場合、その表現を統一化する操作は 意味ネットワークにおいて規定されるべきものではない」ことを主張した。
Woods 以前にも、意味ネットワークのこうした混乱を鎮めようとした 試みはあった。Shapiro が実装した意味ネットワークでは、 「リンク」が何かの意味をもつということはなく、その意味は リンク元とリンク先のノードの型によって決まるものであった (Shapiro, 1971)。つまり、リンクは単に 「同値なものどうしの結合」を示し、意味的なものを表現しているのは ノードだけだったのである。
Woods はこのような区別、認識論的 (epistemological) な構造と 意味論的 (semantics) な構造を分けることは重要であることを主張し、 その例としてリンクの種類には 2つの本質的に異なるタイプ、 structural と assertional があることを指摘した。図 3 では、 文 S1234 の格がそれぞれ structural リンクによって結ばれており、 このリンク自体には何も意味論的な主張がない。一方、 ノード John と ノード Mary が HIT というリンクで結ばれているのが assertional である。ここでは「HIT」という名前をもつリンク自体が ものごとを「主張 (assert)」している。
のちに KL-ONE の項で登場することになる Brachman はまた次のようにも いっている。従来の意味ネットワークで使われていた IS-A 関係を示す リンクには実際のところ何種類もあるというのである (Brachman, 1983)。 彼によれば、 人間によっては同じ IS-A 関係を示すように見えるリンクでも、
のように、区別して考える必要がある。つまり人間は member-of, instance-of, superset などの関係をみんな同じ「IS-A」関係だと 思い込んでしまうという。Brachman はさらに、クラス の属性値と インスタンス の属性値を別々に扱うべきであることを主張した。これはのちに KL-ONE におけるアイデアの基となる。
また Woods は意味ネットワークにおいて同じ外延を指すものでも、 その表現には異なる内包が与えられていなければならないとした。 有名な例として、Frege による「明けの明星」「宵の明星」の例がある。 これらは外延としては同一のもの (金星) を指すが、表現方法は 2つ以上ある。 Woods があげた例として、もし
一方 Schubert は、意味ネットワークで述語論理を適切に扱う方法を 模索した (Schubert, 1976)。 それによれば、命題記号そのものをひとつのノードにするよりも (図 5a)、命題を表現する中心となるノードをまずひとつ作り、それに 命題記号や引数をつけるほうがよい (図 5b)。
Woods は量化の問題についても考察している。たとえば、
を意味ネットワーク上でどのように区別して表すのかという問題がある。 考えられる単純な解決策としては、すべてのノードを、boy と dog の数だけ 別個に作るという手があるが、これは効率的でない。 これを解決する手段として、Woods は以下のようなものを提案している。
Woods の研究は総じて意味ネットワークに対して批判的だったが、 これがもとで意味ネットワーク全体の見直しがさかんに行われるようになった。
Brachman は意味ネットワークをいくつかの階層に分類した (Brachman, 1979)。Brachman によれば、 意味ネットワークは次の 5つのレベルで考えることができる :
Brachman は、従来の意味ネットワークは上にあげたレベルを あれこれと混在させており、それが混乱のもとになったのだと指摘した。 Brachman は意味ネットワークが (ちょうど LAN の分野でいうところの OSI の 7階層モデルのように) いくつかのレベルでの確固たる基盤を提供し、それを使ってはじめてその上の レベルの記述をサポートしていくべきであると主張した。
これらをふまえたうえで、Brachman は意味ネットワークが満たすべき いくつかの基準を提示している :
KL-ONE は「構造化された階層ネットワーク (structured inheritance network)」であり、単なる知識表現のためのデータ構造以上のものを 持っている (Brachman, 1985c)。 KL-ONE における各ノードはすべて内包で表され、ノードは Concept、リンクは Role と呼ばれる。また、KL-ONE においては Role と Role の関係も Structural Description と呼ばれる構造で表すことができる。 そしてこれらをたどることにより推論が可能となっている (?)。
図 6 は KL-ONE を用いた一例である。 Concept は根源的な概念である Primitive Concept と、それらのいくつかの特徴を継承することにより 作られる Defined Concept に分けられる。KL-ONE には継承した 概念を意味ネットワーク中の適切な位置に置く Classifier という 機構が用意されている。
Concept はいくつかの引数をとることができ、それが Role によって 表現される。図 6 では Role の部分にはとりうる引数の個数が付属している。 これはちょうどフレームにおけるスロットのようなものと考えればよい。 さらに、Role は引数として許される Concept (型) にリンクしている。
Role 間の関係は Structural Description で指示することができる。 図 6 では、URGENT-MESSAGE と呼ばれるノードの REPLY-BY-DATE Role が Parametric Concept である LESS-THAN-#1 ノードを会して RECEIVED-DATE に 接続しているが、これは「RECEIVED-DATE が REPLY-BY-DATE より 値 1 だけ小さいような REPLY-REQUESTED-MESSAGE」が URGENT-MESSAGEである、 ということを示している。
KL-ONE によく見られる批判のひとつは、それが複雑すぎるという ことだった。KL-ONE は論理的にはあまり美しくない概念やフックを認めている。 また、ある概念から別の概念を継承させる機能の不十分さも指摘された。 KL-ONE はシステムの表現力をあげるため、記述の健全性および完全性 (すべて真なる命題を推論できること) を棚にあげてしまった。 しかし健全性や完全性を求めようとすると、そのシステムの表現力は ほとんどなくなってしまうというトレードオフが存在する。
KL-ONE とは独立に、Sowa の開発した Conceptual Graph は グラフベースの知識表現システムで、 それまでのさまざまなアイデアの集大成といえるものであった (Sowa, 1984、 Sowa, 1986)。 この理論はもともと人間の認知モデルから得られたものだが、 そのアイデアは単純でわかりやすく、論理的な基盤もしっかりしている。 Conceptual Graph は次のような特徴をそなえている :
Conceptual Graph では格フレームを使用しており、格の種類には ATTR, AGNT, OBJ, MANR, LOC などがある。 図 7 は ``A black cat sits on a mat.'' という文をこれで表現してみた 例である。Conceptual Graph では、各 Concept は矩形で、Concept 間の関係である Concept-Relation は楕円で表現されることになっている。 各 Concept は、 Concept-Type を インスタンス化 して作られ、 Concept-Type は階層化して Type-Hierarchy と呼ばれる構造を作る (図 8)。
Conceptual Graph では、 Type-Hierarchy は述語論理の推論のさいに 役立てることができる。つまり、図 8 において CAT が MAMMAL の サブクラスとなっている場合、
具体的な構造の説明に入る。図 9a は CAT のインスタンス cat が 存在していることを示す Conceptual Graph で、その意味は ``There exists a cat.'' となる。Conceptual Graph はすべて 1対 1の対応で 一階述語論理に変換でき、図 9a の場合は「∃x cat(x)」となる。 この場合の cat は CAT のひとつのインスタンスにすぎず、その存在はあくまで 不特定の「a cat」である。特定の cat を示すようにしたい場合、 Concept に追加できる Referent Field と呼ばれるものを用いて、 図 9b のように表すことができる。
各 Concept は 1変数の特称限量子がついた述語と同値だが、 各 Concept-Relation は 2変数の述語に変換される。始点と終点が 第1引数と第2引数になるのである。図 10 は ``The man `John' looks at his foot.'' という文の Conceptual Graph であり、これは次のような述語論理に変換できる :
しかし、これだけでは一階述語論理における、いわゆるカッコが 使えないため、すべての一階述語論理を Conceptual Graph で表現できない。 そのため、Conceptual Graph を入れ子にできるように、Conceptual Graph そのものを入れることのできる Concept (PROPOSITION) を導入する。 これによって negation を含むすべての一階述語論理を扱うことができる。 この方法は C. S. Peirce によって開発された。図 11 は ``There exists a person with a mother.'' という命題を否定した「すべての人に母親が いるとは限らない」という意味を示した例である。
これによって、特称限量子だけでなく全称限量子も扱うことが 可能になる (図 12a)。点線は 2つの変数が同じものである (co-referent) ことを表す。 これができるのは「¬∃x ¬P(x)」という 命題が「∀x P(x)」と同値だからである。しかし、Sowa は 全称限量子を扱うもっと簡単な方法も用意している (図 12b)。
Sowa は、Concept をいくつかの Concept-Type の継承で表す方法 (Aristotelian definition) のほかに、もうひとつ Wittgenstein の 家族的類似のような、いくつかの代表例による概念定義も導入している。 ある Concept を別の Concept を使って定義する場合、まず 「Canonical Graph」と呼ばれる Conceptual Graph をつくる。 すると定義される Concept はその Canonical Graph に従って展開される のである。このとき、いくつかのデフォルト値やデフォルトの「グラフ」を 適切に展開できるような機構を Sowa は考え出した (図 13)。