考察:「和葉設計書8」

by ご近所のきよきよ



 研究生活にもゆとりができたのでしょうか、今までの技術を振り返って見ることが多くなりました。今まで書いてきた、随筆、考察とか論文とかを読んでいます。本も振り返って、読み返すことがあります。

 で、何故RDBを基盤のデータベースにしたか・・・・・考えてみました。2つ理由があります。

(1)同じキーを複数持てる。

 曖昧性を処理しますから、一つの項目に複数のデータが対応していることが普通です。そうしたことはレコードは異なるが、キーは同じといて管理したいわけです。分散データベースではキーの重複は許されません。レプリカと区別できなく成るからです。でも、分散でやりたいときには、一つのキーに複数のデータを連想させるという工夫をすれば実現できますから、大きな制約には成りませんが、システムは複雑になります。

(2)レコードをテーブルとしてまとめて管理できる。

 知識の連想は文脈によって選択できなくてはいけません。テーブルとして文脈をかんりすればスッキリしたシステムになります。分散データベースでも実現は可能でしょうが、システム構成は複雑になります。2段階のキーを持つことになるのでしょうか。そんな感じになってしまいます。




 ということで、データベースの記述方法を設計しています。文とか、係り受けとか、格関係をいかに表記していくか。纏まってきていますので、アウトラインを示してみます。


(例文1)私は道を歩いていた。


 この例文を知識として表記すると次のようになります。

(root;

(term,id=001;(word;私)(type;ND)(mean;+human+pronoun))

(term,id=002;(word;道)(type;ND)(mean;+location+path))

(term,id=003;(word;歩く)(type;VB)(mean;+move))

(sentence, id=004;(term,id=005,case=agent;(id;001))(term,id=006,case=location.on))(term,id=007,case=action;(id;003))

(modify;(to;(id;003))(from;(mean;+ing)))

)

【説明】

 termで文の自立語を表記していきます。idは後の構文、sentence(文を表す)とmodify(修飾関係を表す)で参照する識別子を指定しています。wordは単語、typeは品詞、meanは意味記号です。caseは格を表記します。


 パターンマッチングするコードは(condition;・・ここにコードを埋め込む・・・)タグの中に閉じこめると良い。



 

おわり