考察:「日本文と知識表現」

by ご近所のきよきよ


 
 文字認識を作っているとき気が付いたのですが、何事も2項関係で表現するのが柔軟で、推論がし易いデータ構造になるという物でした。データ表現を生データから得ていくのにも2項関係で全て表現していくと簡単なシステムになるのです。そこで、今回は文解析と、文生成について、2項関係表現の威力を見ていきましょう。
 
 次の文の意味を2項関係で表現してみましょう。
(例文1)私は誰よりも早く学校に行く事が好きだ。

図1 例文1の意味構造

 
 関係には次の物が有ります。
(1)格
(2)プロパティ
(3)説明
(4)行動
(5)項(オブジェクト)
(6)時間
(7)場所
(8)真実/伝聞/想像/擬人化
 
 2項関係は基本的に、2つの知識要素とそれらを結びつける関係とからなりますが、幾つかの知識要素が組み合わさって(例文1の「誰よりも早く学校に行く」のように)一つの知識要素となる場合があります。この場合には1隊nの関係になりますが、それでも、その関係を一つと見なす知識要素として、他の関係を結んでいくことになります。
 
 前に機械翻訳システムを作っていたとき、この知識の入れ子構造があると、マッチング処理が面倒になることに気が付きました。ある場合には入れ子構造の表層でマッチングしたのですが、構造を持たない元のままの羅列のもとでのマッチングをしたい・・・。そんな両方の要求が有りました。これを解決するには、基盤は構造を持たないプレーンな知識表現にして、構造は構造を知識要素として、基盤のプレーン部分の各知識要素をポインタする・・・そんな方法を思いつきました。これがヒットでした。
 
 例文1の知識表現は次のようになるでしょう。
(1)「私」の意味表現---agent-----「好きだ」の意味表現
(2)「こと」の概念表現---direct_object----「好きだ」の意味表現
(3)「こと」の概念表現---propaty---(「行く」の意味表現、「学校」の意味表現、「早く」の意味表現、「だれ」の意味表現)
(4)「学校」の意味表現---target---「行く」の意味表現
(5)「早く」の意味表現---propaty---「行く」の意味表現
(6)「だれ」の意味表現---compare_to---「早く」の意味表現
 
 
 文生成の手順としては2項関係を解きほぐしていく過程であります。
(1)「「私」は(「こと」が示していること)が「好きだ」。」を生成する。
(2)こと:「学校」へ「行く」と生成する。
(3)(1)と(2)を合成して「私は学校へ行く事が好きだ」とする。
 もちろん、この辺の処理は生成用の文法(システミック文法)を適用していくことになります。
 
 
 選択肢が沢山ある場合の生成語を選択するのは大きな技術になると思います。それは、思考とか行動のプランニングと通じる問題を抱えているからです。悉皆検索でどう生成語を選択していくか、これからのテーマになるはずです。接続と推移確率、そして好みというような評価機構の設計の問題になると思いますが、結構大きなシステムになると感じます。
 例えば次の機械翻訳を考えて見ます。
(例文2)「やり方は何通りもある」
(訳文)「There is more than one way to do it」
 
 意味表現は、
(1)「やり方」の意味表現---propaty---「何通りもある」
です。
 訳語としては、
(1)「やり方」に対して、「method」、「way」、「path」・・・とあります。
(2)「何通りもある」に対して、「plural」、「many」、「plural path」・・・とあります。
 
 表現として、「there is」構文を選ぶとして(好み)、そのときの推移確率から、
「There is more than one way」が選択したとします。「way」が名詞で、「やり方」に「+action」意味があって、その関係から、
(1)how to do
(2)to do
が候補になったとすると、接続情報から「There is more than one way to do」と選択結果がでます。文の完成度を評価して、最後に「it」を埋め込んで、訳文を完成させます。
 
 

おわり