応答文生成のためのニューラルネットワークによる知識表現福田 雅志

１．まえがき延澤 志保
東京理科大学

太原 育夫

中心とした関係と同じように，間に構文要素を挟む形で関係を
自然言語は単語と構文規則からなる情報表現系であり，人 示し，共起関係は同じ一文中にある動詞以外の格となっている
間はこの言語を使って思考し，内的な情報を表現する．したが それぞれのノードを互いに結ぶ事で表現する．例えば「日本のって，自然言語をそのまま用いて問題解決を行うような人工知 作家の漱石は 1867 年に東京で生まれた」という文は図１のよう能が構築されれば，人間と計算機との情報交換を容易にするこ に表現される．とができる．その手段として自然言語を用いるためには，その構生まれた造と用法，概念を明らかにする必要がある．このような目的を持った知識表現の一つとして，自然言語の語をノードとして扱い，主格
場所格
時間格
それらをリンクしたニューラルネットワークで知識を表現し，ニュー ロ ン 演 算 で 知 的 処 理 を す る モ デ ル Ｓ Ｍ Ｎ Ｍ (Symbolic漱石
東京
Manipulation type Neural-Network Model)が提案されて1867 年
いる[1] [2]．
修飾
修飾
本稿では，自然言語の文書をその構文構造に基づき記述，処理するための知識表現として構文情報を持つニューラルネッ
日本作家修飾
トワークモデルを提案する．本モデルは，文中の自立語をノード，ノード間の構文関係などの相互関係をリンクとした意味ネットワ
図１ 一文のネットワーク表現
ークで表現し，それをニューラルネットワークとして扱う．本手法
は知識ベースからの応答文生成を目的としており，本稿では、
図１で使われている構文要素は主格，時間格，場所格，修飾
質問文を入力としてニューラルネットワークを活性化させ応答文であり，それぞれリンクしているノード同士の関係を示している．
を生成するためのシステムを構築した．
修飾関係においてのリンクが矢印になっているのは，動詞と他の自立語との関係，もしくは共起関係のように双方向ではなく，２．知識のネットワーク表現片方向のリンクを表している．「生まれた」と主格は「漱石」であり，2.1 ネットワークの記述
本モデルでは，まず日本語の一文を意味表現によって記述 「漱石」を主格としているのは「生まれた」であるが，「作家」をする．日本語の一文に含まれる自立語と助詞，様々な疑問詞に 「漱石」を修飾しているが，「漱石」は「作家」を修飾していないか対応する概念を表す要素を用意して，それらの事象を記述する らである．
最小単位の要素とする．要素はネットワークにおけるノードで表し，ノード同士を結ぶことによって記述されたものを一つの知識 2.２ 同一化の規則とみなす． その一文中の語と語の間の関係は，格文法の概念
図１に示すように，本手法では一文中のノードは，文の中心とに基づき，動詞を中心にとらえる．動詞と他の語との構文の関 なる動詞が存在する第１層，文中の動詞に関係した自立語が係を，間に構文要素を表すノードを挟む形で記述する．本モデ 存在する第２層，そしてそれらを修飾する語が存在している第３ルでの構文要素は表１の分類となる[４]．
層のいずれか，もしくはある文中において他のノードを修飾し，その他の文において動詞の格となっているような場合には複数
表１ 構文要素の表の層に属することになる．
そのように共通の語を含む複数の文を同時に扱う際には，共（動作）主格
ある動作を引き起こす者の役割．
通の概念を指すノードを同一化することで，複数の文の保持す経験者格ある心理事象を体験する者の役割．
る知識を統合することが可能である．このノードの同一化の制約
道具格
ある出来事の直接原因となったり，ある心理事象とは各層により異なる．第１層においては，同じ動詞でも指し示す関係して反応を起こされる刺激となる役割．
動作が同一とは限らないため，複数のノードを一つに纏めること対象格
移動する対象物や変化する対象物．あるいは，判はできない．第２，３層においては，文中の動詞以外の自立語断，想像のような心理事象の内容を表す役割．
が存在する層であり，この層におけるネットワーク全体の中に一源泉格
対象物の移動における起点，および状態変化と形つの概念に対してつねに一つだけノードが存在するように構成状変化における最初の状態や形状を表す役割．
する．これにより，個々の文は第２，３層の自立語を介してつな
目標格
対象物の移動における終点，および状態変化と形がり，ノードによる文の記述とその文中の語句の内容を示した記
状変化における最終的な状態，結果を表す役割．
述が一体的に，またあるノードに関連する情報がすべてそのノ場所格
ある出来事が起こる場所および位置を表す役割．
ードにリンクされた総合的な構成の意味ネットワークとなる．例え
時間格
ある出来事が起こる時間を表す役割．
ば，「日本の作家の漱石は 1867 年に東京で生まれた」と「作家の露伴は 1867 年に東京で生まれた」という文は図２のように第一文中の関係として，動詞を中心としたもの以外の関係として２，３層のノードを共有するようなネットワークで表現される．
は，他に修飾関係と共起関係を定義する．修飾関係も動詞をこのネットワークのノードとリンクをニューロンとみなすと，それは局所表現したニューラルネットワークとなり，ニューロン演算によって推論する知的処理モデルとなる．その処理については次章で述べる．
生まれた1∑ k ji A i ( t )n i（ただし， k ji は U i と U j との結合の有無を表し，結合がある場合は k ji = 1 ，無い場合は k ji = 0 を示す．また n は活性化したノードの個数である）
A j ( t + 1) =生まれた

Aj ≥ 1 の刺激を受けたノードがしきい値を超えて発火する．
いま，n個のノードを活性化したとき，出力強度 Ai (t ) を１とすれ
主格ば，それぞれのリンク上を伝播する興奮波によって，活性化した
漱石
東京
すべてのノードにリンクしたノードだけが (1/ n) × n = 1 のしきい値
露伴に達する刺激を受ける．つまり，条件となるn 個のノードを活性1867 年化させてニューロン演算を行うと，活性化したすべてのノードに修飾
修飾
修飾リンクしたノードが発火し，すべての推論の条件となるノードを発作家
火すると，その条件を満たすノードが発火し，ニューロン演算に日本
修飾より検索ができることになる．
図２ 二文のネットワーク表現
図２の知識に対して，「東京で 1867 年に生まれたのは誰か？」という質問を入力した場合を考える．ここで疑問文の中の疑問詞にあたる自立語要素を疑問詞要素と呼び，それに伴う2.３ 複雑な事象の記述
本モデルでは，このように最初に日本語の一文をノードとリン 発火させる要素を条件要素と呼ぶ．ここでは，「東京」，「1687クによって記述し，一文を一つの知識とみなすと前述した．しか 年」，そして，その二つをそれぞれ場所格，時間格として持ってし，文の構成によっては一文から複数の知識になる場合がある いる「生まれた」，そして疑問詞要素「誰」に対応する「主格」のリ[５]．基本的な文の構成でも，幾つかの種類があり，前述したモ ンクが条件要素となる．これにより，「生まれた」「1867 年」「東デル化により，基本的な単文においては，ネットワーク表現が可 京」は，上記の式に従い，それぞれのリンクしている要素へ 1/3能である．そして，重文においては二つの文にわけることにより， の興奮波を伝播させる．これにより，しきい値が１を超えた「漱ネットワーク表現が可能である．複文においても同じように，例 石」と「露伴」が答えとして発火し答えを検索することができる
えば，「東京で生まれた漱石は草枕を書いた」という文は，「漱 （図３）．
石は東京で生まれた」という文と「漱石は草枕を書いた」という文生まれた生まれたにわけることによりネットワーク表現が可能である．
重文，複文をネットワーク表現するにあたり，まずはそれを単主格
場所格
場所格
時間格
文に分解する必要がある．それにより，複雑な構文の文もネット
時間格
主格ワーク表現することが可能になる．しかし，複文においては，文漱石
東京自体がある自立語を修飾している関係となっているので，容易露伴に二つの文にわけられるものではなく，ネットワーク表現すること1867 年
修飾
修飾はできない文も存在する．このようなことは複雑な文においての修飾み言えることではなく，省略されている格要素が複雑であること修飾
日本作家
や，文の構成の解釈において複数の可能性がある場合にも，モデル化は困難になる．
図３ 応答プロセス
主格

時間格

場所格場所格
時間格

３．ニューラルネットワークとしての機能
3.1 発火規則

そしてその答えと疑問文のモデルにより，「漱石と露伴が本モデルは，以下のような手順に従って動作することでニュ 1867 年に東京で生まれました」という回答が作成される．これはーラルネットワークとして機能する．本ネットワークでは，ノードが 両者ともにこの条件を満足しているためである．このように，本概念を表し，ネットワーク構成の一部あるいは全体が自然言語 モデルは自然言語の情報を要素によって構成して，その関係文を表しており，自然言語文を構成するノードを発火することで， を使って処理するため，情報の形にとらわれない柔軟な機構で概念や自然言語文に対する操作を可能にする．ノードが発火 ある．
するとリンクはニューロン軸索として機能し興奮波を伝播するため，しきい値を超えて刺激を受けたノードが発火するニューロン 3.２ 処理機構演算を行う．ここで，ノード特性はしきい値関数とし，リンクは双汎用の計算機上での実行できる検索システムとして，入出力方向の結合を持つものとする．一般に相互結合型のニューラル および演算を行う本モデルの処理機構を図４に示す．処理およネットワークは複数回のニューロン演算を繰り返しながら安定な びデータの流れを矢印で示し，各処理を担う機構は矩形で示し状態を見つける操作になるが，この演算は興奮波の伝播強度 ている．システム全体は大きく分けて，学習システムと検索シスを一律に制御し，通常は次回起こるノードの発火で止める．この テムに分けられる．
演算を数式モデルで表すと，ノード U i を活性化したときの出力
学習システムは，日本語の一文を知識として変換してデータ
強度 Ai (t ) ，また結合係数を１としたとき，次時刻にノード U i が ベースに登録する機構である．登録者は自然言語の一文を入力すると，それは自然言語文変換機構に渡される．自然言語文
受ける強度 Aj (t + 1) は，次式で示される[1]．
変換機構は意味ネットワーク化機構を持ち，入力された自然言語文を意味ネットワーク表現の知識に変換する．最終的に知識は知識登録機構によって適切なデータ構造へと変換され，知識データベースに登録される．知識データベースはネットワーク構造を保持できるデータ構造を持っている．登録者が次々と知識を登録することによって，複数の知識を持つ大きなニューラルネットワークが構成され，それによって学習が行なわれるのである．
＜検索システム＞＜学習システム＞

質問者

登録者

自然言語文変換機構

表２ 各テーブルの定義「Ｎｏｄｅ」テーブル定義
フィールド型説明

NodeID

整数型

ノード固有の ID

NodeName

文字列型

ノードの概念（＝記号名

回答文

疑問文

自然言語文

る「Node」テーブル，第 2 にノード間のリンクの情報を保持する「Link」テーブル，第 3 に疑問文から得られた条件要素の発火時刻情報を保持する「Prerequisite」テーブルである．各テー
ブルの定義を表２に示す．

疑問文変換機構「Ｌｉｎｋ」テーブル定義
フィールド型説明

LinkID

整数型

リンク固有の ID

NodeID

整数型

Node テーブルの同名と同じ

LinkNode

整数型

NodeID が示すノードがLinkType

整数型

リンクしている ID

意味ネットワーク化機構

条件要素発火機構
知識登録機構ニューロン演算機構

リンクの形式（表１を参照）「Ｐｒｅｒｅｑｕｉｓｉｔｅ」テーブル定義
フィールド型

説明

PreID

整数型

前提条件固有の ID

NodeID整数型

Node テーブルの同名と同じ

NodeName

整数型

Node テーブルの同名と同じ

LinkType

整数型

Link テーブルの同名と同じ

知識データベース

図４ 処理機構
検索システムは，質問を発行すると検索を行い，その回答を返す機構である．質問者が疑問文を入力すると，それは疑問文変換機構によって意味ネットワーク表現に変換される．意味ネッ
トワーク化するのは意味ネットワーク化機構だが，これは学習システムがもつそれと共通である．疑問文は意味ネットワーク表現
されると，条件要素の発火を制御する．まず条件要素発火制御機構によって指示された発火すべき条件自立語要素に対応するデータベース内のノードを発火させてニューロン演算する．発火が収束した時点で，質問者に回答不能という結果も含めて，検索の結果をして回答文を返す．
この処理機構は，知識の登録と検索の入出力機能，さらには手続きのプログラムを内部に持ち，データベースを外部に持つ２階層のデータベースシステムとなる．計算機上での実現を考え，データベースは一般的な関係型データベースシステムを想定している．

図３で示した発火を行う時点での，Node テーブルのデータを示す（表３）．まず，知識として「日本の作家の漱石は 1867 年に東京で生まれた」という文の自立語が Node テーブルに ID を付けて登録され，そのノード間の関係が Link テーブルに登録される．同じように，「作家の露伴は 1867 年に東京で生まれた」という文の構造がそれぞれのテーブルに登録される．この時，２章で示した同一化の規則により，動詞以外の既に登録されているノードは登録されない．ここでは，「生まれた」と「露伴」の二つのノードが登録されている．そして既存のノードと新しく登録されたノードの関係を，構文要素を補足して Link テーブルに登録している．それらの登録された知識に対して発せられた疑問文は，まずモデル化され，その後に Prerequisite テーブルに登録される．図３における疑問文は「東京で 1867 年に生まれたのは誰か？」という文であり，「生まれた」というノードと「誰」に対応した「主格」の構文要素，そして「東京」と「1867 年」というノードがまず発火するため，それらが登録される．
表３ Node テーブルのデータ

４．実装
本モデルの意味ネットワークを構成しているノードとリンクを２つの集合と捉え，その情報を保持できるように，２次元表型のデータ構造に変換すると，汎用の関係型データベースシステムで本モデルを実現することができるのである．この取り扱いについて以下に示す．
システムは変換されたネットワーク情報を保持するデータベースを持つ．関係表を用いて，その内部定義を考える．ここでは３つのテーブルを用意する．第 1 に各ノードの情報を保持す

次に，これらのテーブル内の情報に対してニューロン演算を行うために，式を SQL による問い合わせをする．SQL は，いわば集合演算を行うツールであり，通常 SQL は内部のデータや 機能した．
今回の実験では表１で示した８つの構文要素と，修飾関係，その構造を強く意識してデータを操作・抽出する．すなわち，未知のデータベースから有益な情報を探し出すには不向きのツ そして共起関係を示した 10 種類の構文要素を使用した．モデールと言える．しかし，自然言語の持つ情報をデータとして持ち， ル化できなかった文やノードは，この関係だけでは表せないも検索にも自然言語を使う本モデルは，ニューロン演算を SQL のであり，主に複数の文で出来事が表されていた．多くの場合，で代替できる．それは本モデルのシステムと計算機との親和性 文と文との関係は接続詞によって表される場合が多く，このようが高く，本モデルは汎用の計算機で実現できる知識表現である な構造の構成方法は，論理的な時間の流れや，原因と結果の関係を示す概念などを持つ要素を用意して記述し，それらの新ことを意味する．
発火の式を実装した SQL を実行すると，表４のような結果が しい構文要素と現在使用している 10 種類の構文要素を考慮し得られる．確かに，「漱石」 と「露伴」というノードが発火の結果 て，改めて発火の式を定義する必要がある．
そのような構文要素が全てのコーパスに対して，上手く機能として導かれている．このように，知識を Node テーブルと Linkテーブルに登録し，それらに対する質問を Prerequisite テー するかは，より多くの例文で確かめる必要があるが，このようにブルに登録し，SQL を実行することによって，ニューロン演算が 新たな構造要素を用意して関係を表現すれば，より多くの文を知識表現できる可能性を示唆している．
実現できる．

６．むすび

表４ SQL の結果

注意として現段階では本研究は自然言語文をネットワーク化してデータベースに登録する作業や疑問文の条件要素を解析する作業，さらには導かれた自立語要素から回答文を作り出す作業は手作業で行っている．これらを自動化する手法は，知識表現の分野から外れるので，本稿での議論は省く．

５．評価実験

本稿では，自然言語の一文中の語をノードとしネットワークを作り，ニューラルネットワークとして機能するよう構成することにより，ニューロン演算で知識を検索するニューラルネットワークモデルができることを示した．この知識表現は，文と文の関係を共通のノードを同一化する処理を行い，多数の文に渡って，意味に基づく柔軟な処理を可能にした．また，本モデルの具体的な処理機構を明らかにすることにより，このシステムの計算機上での実現可能性を示した．
言語は語の組合せと構文規則などで作られた情報表現系で，人間はこの言語を使って思考し内的な情報を表すことから，人間の内部情報も言語の概念に基づく構成に近い構造になっていると考えられる．人間と機械との情報交換を容易にし思考形態を近づけるためには，知識表現をこれに近づけることが必要であり，この意味で本モデルは，自然言語文をそのまま扱い処理するものであり，人間の思考形態に近い知識表現であると考えられる．

年表コーパスにおける 50 文を対象として，それをモデル化しニューロン演算による検索を行うことによってシステムの性能を評価した．評価尺度としては，モデル化率と解答率を用いた．
モデル化は，日本語の一文を，本手法においてモデル化が可能であった割合であり，解答率はそのモデル化した知識に対し，参考文献質問を与えて発火機能が正常に機能した割合である．
[1] 赤羽： “記号処理型のニューラルネット―ワークモデルと集合で表コーパスの 50 文の中に含まれるノードは 398 語あった．これ した知識表現,”人工知能学会誌，Vol.11，No.4，pp.566-573, Jul,を本手法の同一化の規則により共通ノードを検索した所，45 語 1996．
が同一化可能なノードであり，知識としてのノードは 283 語とな [２] 小林，太原: “ニューラルネットワークによる自然言語の知識表現,”った．そのノードに構文要素を用いてリンクすることによりモデル 2001 年電子情報通信学会総合大会講演論文集，情報・システム Vol.1，化を行い，これらの複数の知識に対して，関連付けるような質問 p.115，Mar. 2001.
や，逆に特定するような質問をし，ノードの検索を行った．その ［３］小林 靖宙，太原 育夫： “自然言語を対象としたニューラルネット
結果を表５に示す．
ワークによる知識表現と検索”東京理科大学情報科学専攻平成 13 年度修士論文

表５ モデル化率と解答率（％）
ノード

文

モデル化率

8476

解答率

100

100

［４］長尾 真： “自然言語処理”，岩波講座，April.1996［５］江馬 務，谷山 茂，猪野 謙二： “新修国語総覧”，京都書房，Jun.1977［６］福田 雅志，延澤 志保，太原 育夫： “応答文生成のためのニューラルネットワークによる知識表現”，第２回情報科学技術フォーラム（FIT2003），E-502，Sep .2003

今回の実験で対象とした 50 文のうち 38 文，283 語のノードのうち 238 語がモデル化に成功という結果になった．そのモデル化が可能であった文において質問文のノードを発火し，応答文生成のためのノードを検索した．その結果，年表コーパスでは自然言語の知識が比較的簡潔な文で書かれており，格構造の省略が少なく，本モデルに適したコーパスということもあり，モデル化した全ての文とノードにおいて発火機構は全て正常に