考察:「曖昧性管理」
by ご近所のきよきよ
人工知能では曖昧性の管理が重要な技術となります。文脈管理というのがキー技術です。文脈は連想の場であり、知識の優先順位を決めると言うことでプライミングも重要になります。人工知能のフレームワークとしては、この連想とプライミング・・・さらにはデータの持ち方・・・どんな形式でデータを持つか・・・を十分に考えておくことがポイントです。
そこで考えたのが「2段階マッチング法」です。これを自然言語処理で説明します。
(例文1)信子は明雄が好きだ。
(例文2)明雄は信子にプレゼントした。
例文2から、「明雄」が「信子」を「好き」なのが分かる。(それでも、プレゼントを貰ったから、「信子が明雄のことを好きになった」と解釈もできます。このように曖昧性は解決する必要がないこともあります)
このことを技術としてみますと、例文2のパターンから主語は何で、対象が何で、何なのかということが連想されます。この連想は機械学習で得ていく知識な訳です。先ず第一段階のパターンマッチングは「〜が〜にプレゼントした」というマッチングです。知識を発火していきます。そうしてそのパターンに「〜は〜のことが好きだ」というパターンマッチングしていきます。例文1の一つの曖昧性項目がヒットします。そこで、そのヒットした解釈に投票し、確信度を上げます。
理論はこんなですが、無数の知識を持つのは時間的に解決不可能な問題になります。そこで、マッチング対象を少なく制限する必要があります。それが文脈です。知識ベースの中から最新にヒットした知識項目のみを文脈としてもつようにします。1000とか1万くらいですね。必須単語くらいの数で十分かと。さらに、文脈の中の確信度の高い物のみを選んでマッチングしていくようにすれば効率的でしょう。しかも文脈側から、知識ベースのパターンに向かってマッチングしていく。こうすれば、効率的な曖昧性管理、プライミングができます。
そこで、マッチングですが。できるだけ一意な表現となる方法を取らねばなりません。自然言語では複数の認知表現に成ってしまいます。私が思い至ったのは、全て2項関係にして、オントロジー意味記号で表現できるものを採用するということです。
(例文3)信子は明雄にボールを渡した。
この例文では、動詞と「信子」、「明雄」、「ボール」の3項関係です。これでは認知レベルの表現が複数ありえます。そこで、次のように2項関係に落とし込むようにします。(認知表現)
relate(「信子」,「明雄」,「ボール」)
move「ボール」(from「信子」to「明雄」)
belong(「ボール」,to「信子」)
timepass
belong(「ボール」,to「明雄」)
2項関係以上に分解はできませんから、表現は唯一であることが保証されます。あとは、オントロジーを明確にする作業があります。
ステージ、シーン、カットで自然言語の解釈を表現していこうと前から提唱してきています。2項関係で文脈を表現していきますが、論理的なまとまりにしてカット列でも把握できるようにします。カットは集めてシーンにします。シーンを時間と場所でくくることでステージにします。これはJavaのオブジェクト指向を使えば簡単にできまし。オブジェクトに登録することがそのオブジェクト(ステージとかシーンとかカット)のくくりとなるという解釈にすればよいのです。
ということで、曖昧性処理についてもチェックメイトにできたのではないでしょうか。
おわり