意味ネットワークについて

back


この文章は、以下の書籍の部分を読んでまとめたものです :
G. A. Ringland and D. A. Duce (Ed.),
``Knowledge Representation - An Introduction,''
Research Studies Press LTD, 1988,
(ISBN 0-86380-064-5)

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 を紹介する。


これまでの意味ネットワーク

むかしの話

意味ネットワークに関連する「意味」の研究は、これまで次のような 経過をたどってきた。

Aristotle (B.C. 350?)
bachelor = unmarried + man などのような、意味の構成要素への分離
James Mill (1869)
「book」という概念の使用における、曖昧性を指摘。 book は book でも「John's book」と「Mary's book」では違う。
Thomas Brown (1820)
さまざまな概念を、ラベル付けされた「リンク」により接続。
Otto Selz (1926)
意味ネットワークをたどって推論をすることが可能であることを指摘。

初期の AI研究における意味ネットワーク

計算機上で最初に意味ネットワークを実装したのは Quillian である。 かれはその Ph. D 論文 (Quillian, 1966) のなかで、言語理解システムに 使う辞書のようなものとして、人間の直観によくマッチするような 意味ネットワークを導入した (図 1)。 これはのちに彼の Semantic Memory へと発展した (Quillian, 1968)。


図 1・Quillian の意味ネットワーク

Quillian の意味ネットワークでは、多義語を扱うために概念そのものを 表すノード (type) と、それを表示する単語のノード (token) を区別する ことができた。たとえば plant (植物) と plant (工場) は別々の type ノードを 持っている。概念の詳しい定義や、他の概念へのリンクは各概念の type ノードに埋め込まれていた。また、subclass というリンクによって、 ある概念が別の概念の下位概念であることを示した。しかしこの ネットワークはかなり ad hoc (場当たり的) なもので、ひとつのノードに いろいろな属性や special link がくっついて大変見通しの悪いものに なってしまっていた。

一方、これとは別に Winston は積木世界における事例ベースの学習を 実現するため Structured Descriptions (Winston, 1975) と呼ばれる意味ネットワークを実現した (図 2)。


図 2・Winston の意味ネットワーク

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 という語は

  1. 自然言語から形式言語へと翻訳されたもの
  2. 形式言語の真理値
  3. 形式言語を操作する手続き

という意味が混同して使われている。また 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)」している。


図 3・structural なリンクと assertional なリンク

のちに KL-ONE の項で登場することになる Brachman はまた次のようにも いっている。従来の意味ネットワークで使われていた IS-A 関係を示す リンクには実際のところ何種類もあるというのである (Brachman, 1983)。 彼によれば、 人間によっては同じ IS-A 関係を示すように見えるリンクでも、

  1. canary IS-A bird (クラス の包含関係)
  2. Tweety IS-A canary (クラス と インスタンス の関係)

のように、区別して考える必要がある。つまり人間は member-of, instance-of, superset などの関係をみんな同じ「IS-A」関係だと 思い込んでしまうという。Brachman はさらに、クラス の属性値と インスタンス の属性値を別々に扱うべきであることを主張した。これはのちに KL-ONE におけるアイデアの基となる。

また Woods は意味ネットワークにおいて同じ外延を指すものでも、 その表現には異なる内包が与えられていなければならないとした。 有名な例として、Frege による「明けの明星」「宵の明星」の例がある。 これらは外延としては同一のもの (金星) を指すが、表現方法は 2つ以上ある。 Woods があげた例として、もし

``John's height is 1.83m.''
という文を 図 4a において表すとした場合、
``John's height is greater than Mary's height.''
という文を表現しにくくなってしまうという問題がある。 このため Woods は、意味ネットワークのノードは基本的にすべて内包を 表すものとし、外延を表すときには特別な記号を付け加えることを要請した (図 4b)。

図 4・内包を表すノード

一方 Schubert は、意味ネットワークで述語論理を適切に扱う方法を 模索した (Schubert, 1976)。 それによれば、命題記号そのものをひとつのノードにするよりも (図 5a)、命題を表現する中心となるノードをまずひとつ作り、それに 命題記号や引数をつけるほうがよい (図 5b)。


図 5・命題記号の扱い

Woods は量化の問題についても考察している。たとえば、

  1. Every boy loves his dog.
  2. Every boy needs a dog.

を意味ネットワーク上でどのように区別して表すのかという問題がある。 考えられる単純な解決策としては、すべてのノードを、boy と dog の数だけ 別個に作るという手があるが、これは効率的でない。 これを解決する手段として、Woods は以下のようなものを提案している。

  1. 限量子を意味ネットワークよりも高次なレベルの表現として定義する (これは Shapiro が採用した方法である)。
  2. Resolution によって全称限量子をとってしまう (しかし、これは実装が困難である)。
  3. 「集合→集合へのリンク」を導入する。

Woods の研究は総じて意味ネットワークに対して批判的だったが、 これがもとで意味ネットワーク全体の見直しがさかんに行われるようになった。


KL-ONE

Brachman の意味ネットワーク 5階層

Brachman は意味ネットワークをいくつかの階層に分類した (Brachman, 1979)。Brachman によれば、 意味ネットワークは次の 5つのレベルで考えることができる :

1. Implementational レベル
もっとも原始的なレベル。 このレベルでは、意味ネットワークは単なる計算機上のデータ構造として 扱われる。つまり、各ノードはいくつかの要素をもった構造体であり、 それらをつなぐリンクはポインタとみなす。
2. Logical レベル
命題論理、あるいは述語論理構造を表現できるレベル。 ここでは、∧, ⊃, ∃ などと等価な構造を意味ネットワークで 表現できなければならない。このレベルは、特に Shapiro, Woods, Hendrix らが研究した。
3. Conceptual レベル
「明白に定義できる」概念を表現できるレベル。 「明白に定義できる」概念とは、ノードでいえば ちょうど Schank の概念依存における GRASP (握る)、INGEST (摂取する)、 PTRANS (物理的に移動する)、 リンクでいえば AGENT (〜は〜の行為者である)、 INSTRUMENT (〜は〜の道具である) などの、われわれ人間に とって最も radical で基礎的な概念と思われるもののことである。 この分野は Schank を筆頭に、Rumelhert, Norman, Simmons, Rieger らが研究した。
4. Linguistic レベル
自然言語と 1対 1 で写像が可能なレベルの構造。 ここでは、語義の曖昧性や文脈による省略などはすべて解消されている ものと考える。
5. Epistemological レベル
最高次の、 知識構造のレベル。文章やある体系の知識間の橋渡しを行うレベルである (注 : ここについては、原書に詳しい解説がみられなかった)。

Brachman は、従来の意味ネットワークは上にあげたレベルを あれこれと混在させており、それが混乱のもとになったのだと指摘した。 Brachman は意味ネットワークが (ちょうど LAN の分野でいうところの OSI の 7階層モデルのように) いくつかのレベルでの確固たる基盤を提供し、それを使ってはじめてその上の レベルの記述をサポートしていくべきであると主張した。

これらをふまえたうえで、Brachman は意味ネットワークが満たすべき いくつかの基準を提示している :

1. Neutrality
いかなるレベルでの意味ネットワークも、ほかのレベルの記述に 踏み込んではならない。
2. Adequacy
いかなるレベルでの意味ネットワークも、そのひとつ上のレベルへの、 確固とした基盤を提供しなければならない。これは、さらに次の 2つに 分けられる :
3. Meaning
そのレベルの意味ネットワークに対して行なわれる操作が、 きちんと形式化された形で定義されていなければならない。

KL-ONE の概要

KL-ONE は「構造化された階層ネットワーク (structured inheritance network)」であり、単なる知識表現のためのデータ構造以上のものを 持っている (Brachman, 1985c)。 KL-ONE における各ノードはすべて内包で表され、ノードは Concept、リンクは Role と呼ばれる。また、KL-ONE においては Role と Role の関係も Structural Description と呼ばれる構造で表すことができる。 そしてこれらをたどることにより推論が可能となっている (?)。


図 6・KL-ONE の例

図 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-DATEREPLY-BY-DATE より 値 1 だけ小さいような REPLY-REQUESTED-MESSAGE」が URGENT-MESSAGEである、 ということを示している。

KL-ONE によく見られる批判のひとつは、それが複雑すぎるという ことだった。KL-ONE は論理的にはあまり美しくない概念やフックを認めている。 また、ある概念から別の概念を継承させる機能の不十分さも指摘された。 KL-ONE はシステムの表現力をあげるため、記述の健全性および完全性 (すべて真なる命題を推論できること) を棚にあげてしまった。 しかし健全性や完全性を求めようとすると、そのシステムの表現力は ほとんどなくなってしまうというトレードオフが存在する。


Conceptual Graph

KL-ONE とは独立に、Sowa の開発した Conceptual Graph は グラフベースの知識表現システムで、 それまでのさまざまなアイデアの集大成といえるものであった (Sowa, 1984Sowa, 1986)。 この理論はもともと人間の認知モデルから得られたものだが、 そのアイデアは単純でわかりやすく、論理的な基盤もしっかりしている。 Conceptual Graph は次のような特徴をそなえている :

  1. 一階述語論理を完全にサポートしており、どんな Conceptual Graph も 一階述語論理に変換できる。
  2. 知識表現としての能力は低いが、自然言語の意味を簡潔に表現するのに 適しており、また推論にも適している。
  3. 計算機で扱うのに効率のよい手法も併せて考案されている。

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)。


図 7・``A black cat sits on a mat.'' の Conceptual Graph による表現


図 8・Type-Hierarchy の例

Conceptual Graph では、 Type-Hierarchy は述語論理の推論のさいに 役立てることができる。つまり、図 8 において CAT が MAMMAL の サブクラスとなっている場合、

x CAT(x) → MAMMAL(x)
x CENTAUR(x) → HORSE(x)
といった規則が適用できるのである。また、Type-Hierarchy は多重継承を 行なってラティス (lattice、格) を形成しても よいが、多重継承がされていない Concept-Type の場合 (この例でいえば CAT と HORSE) は次のような規則 :
x CAT(x) → ¬HORSE(x)
を追加して推論の効率を上げることができる。

具体的な構造の説明に入る。図 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 のように表すことができる。


図 9・``There exists a cat.'' を示す Conceptual Graph

Concept は 1変数の特称限量子がついた述語と同値だが、 各 Concept-Relation は 2変数の述語に変換される。始点と終点が 第1引数と第2引数になるのである。図 10 は ``The man `John' looks at his foot.'' という文の Conceptual Graph であり、これは次のような述語論理に変換できる :

xy man(`john') ∧ agent(`john', y) ∧ look(y) ∧ object(y, x) ∧ foot(x) ∧ partof(x, `john')

図 10・``The man `John' looks at his foot.''

しかし、これだけでは一階述語論理における、いわゆるカッコが 使えないため、すべての一階述語論理を Conceptual Graph で表現できない。 そのため、Conceptual Graph を入れ子にできるように、Conceptual Graph そのものを入れることのできる Concept (PROPOSITION) を導入する。 これによって negation を含むすべての一階述語論理を扱うことができる。 この方法は C. S. Peirce によって開発された。図 11 は ``There exists a person with a mother.'' という命題を否定した「すべての人に母親が いるとは限らない」という意味を示した例である。


図 11・ ``There exists a person with a mother.'' の否定

これによって、特称限量子だけでなく全称限量子も扱うことが 可能になる (図 12a)。点線は 2つの変数が同じものである (co-referent) ことを表す。 これができるのは「¬∃x ¬P(x)」という 命題が「∀x P(x)」と同値だからである。しかし、Sowa は 全称限量子を扱うもっと簡単な方法も用意している (図 12b)。


図 12・量化の表現 (点線は co-referent を表す)

Sowa は、Concept をいくつかの Concept-Type の継承で表す方法 (Aristotelian definition) のほかに、もうひとつ Wittgenstein の 家族的類似のような、いくつかの代表例による概念定義も導入している。 ある Concept を別の Concept を使って定義する場合、まず 「Canonical Graph」と呼ばれる Conceptual Graph をつくる。 すると定義される Concept はその Canonical Graph に従って展開される のである。このとき、いくつかのデフォルト値やデフォルトの「グラフ」を 適切に展開できるような機構を Sowa は考え出した (図 13)。


図 13・Canonical Graph による 概念 KISS の定義と利用

感想


参考文献 (本に載っていたものの写し)

  1. Quillian, M. R. (1966),
    ``Semantic memory,''
    Unpublished Ph. D. dissertation, Carnegie Institute of Technology: Pittsburg.
  2. Quillian, M. R. (1968),
    ``Semantic Memory,''
    pp. 216-270 in Semantic Information Processing, ed. M. Minsky, MIT Press: Cambridge, MA.
  3. Winston, P. H. (1975),
    ``Learning Structual Descriptions from Examples,''
    pp. 157-209 in Psychology of Conputer Vision, ed. P. H. Winston, McGraw-Hill: New York.
  4. Fillmore, C. J. (1966),
    ``Toward a modern theory of case,''
    pp. 361-375 in Modern Studies in English: Readings in Transformational Grammer., ed. D. A. Raibel and S. A. Schane, Pretnice-Hall: Englwrood Cliffs, NJ.
  5. Sparck-Jones, K., and Boguraev, B. (1987),
    ``A Note on a Study of Cases,''
    Computational Linguistics 13(1-2), pp. 65-68.
  6. Schank, R. C. (1972),
    ``Conceptual Dependency: A theory of natural language understanding,''
    Cognitive Psychology 3, pp. 552-631.
  7. Woods, W. A. (1975),
    ``What's in a link: foundations for semantic networks,''
    in Representation and ?Unserstanding: Studies in Congnitive Schence, ed. D. G. Bobrow and A. M. Collins, Academic Press: New York, pp. 35-82.
  8. Shapiro, S. C. (1971),
    ``A net structure for semantic information strace, deduction and retrieval'', pp. 512-523
    in Proc. 2nd IJCAI, Mogan Kaufmann: Los Altos, CA.
  9. Brachman, R. J. (1983),
    ``What IS-A is and isn't: an analysis of taxonomic links in Semantic networks,''
    IEEE Computer 16(10), pp. 30-36.
  10. Brachman, R. J. (1977),
    ``What's in a concept: Structural foundations for semantic networks,''
    International Journal of Man-Machine Studies 9, pp.127-152.
  11. Schubert, L. K. (1976),
    ``Extending the expressive power of semantic networks'', Artificial Intelligence 7(2), pp. 163-198.
  12. Brachman, R. J. (1979),
    ``On the epistemological status of semantic networks,''
    in Associative Networks: Representation and Use of Knowledge by Computers, ed. N. V. Findler, Academic Press: New York, pp. 3-50.
  13. Brachman, R. J., and Schmolze, J. G. (1985c),
    ``An overview of the KL-ONE knowledge representation system,''
    Cognitive Science 9(2), pp. 171-216.
  14. Sowa, J. F. (1984),
    Conceptual Structures: Information Processing in Mind and Machine,
    Addison-Wesley: Reading, MA.
    (図書番号: 東工大付属図書館 <10>015266295E, ISBN 0-201-14472-7)
  15. Sowa, J. F., and Way, E. C. (1986),
    ``Implementing a Sementic Interpreter Using Conceptual Graphs,''
    IBM Journal of Research and Development 30(1), pp. 57-69.

Last Modified: Sat Feb 18 17:35:35 EST 2006 (02/19, 07:35 JST)
Yusuke Shinyama