1

私は現在、自然テキストの高レベルの機械表現に取り組んでいます。たとえば、「私は犬を 1 匹飼っていましたが、犬を飼っていなかったダニーにあげました」は次のようになります。

I.have.dog =1
I.have.dog -=1
Danny.have.dog = 0
Danny.have.dog +=1

このようなもの....

リソースを見つけようとしていますが、実際に一致するトピックが見つかりません.. この種の研究に有効な主題名はありますか? リソースのライブラリはありますか? 自然論理は何か関連しているように聞こえますが、実際には私が取り組んでいるものと同じではありません。私を助けてください!

4

2 に答える 2

2

自然言語の意味を表現することは、計算セマンティクスの領域です。その領域内で、多くのフレームワークが開発されていますが、基本的なものはまだ一次ロジックです。

具体的には、あなたの問題は、言語の使用によってもたらされる情報の変化を扱う談話セマンティクスの認識の問題のようです。これはほとんどオープンな研究分野であるため、多くの研究論文や博士号を取得することが期待されますが、すぐに使用できるソフトウェアはほとんどありません。

于 2012-05-20T11:15:18.863 に答える
1

larsmans がすでに述べたように、これは計算意味論 (計算言語学のサブフィールド) と呼ばれる、かなりオープンな研究分野です。

comp-sem の世界に入る前に、理解しておく必要がある重要なことが 1 つあります。そこでは、ほとんどの人が派手な高水準言語を使用しています。高レベルとは、C を意味するのではなく、LISP、Prolog、または最近では Haskell のようなものです。計算セマンティクスはロジックに非常に近いため、このトピックを研究している人々は、関数型言語や論理型言語をより快適に使用できます。つまり、実際に一日中使用する言語に近いのです。

また、述語論理の基本的なコースを最初に確認することも非常に役立ちます。これは、基礎となる文献では通常、当然のことと考えられているためです。ロジックと言語の関係についての良い入門書は、LTF Gamut — ロジック、言語、および意味、ボリューム Iです。これはセマンティクスの言語的側面を扱っており、実装には何の役にも立ちませんが、次の文献を理解するの役立ちます。とはいえ、少なくとも述語論理を説明している本はいくつかありますが、私に尋ねれば、本当に興味がある人なら誰でも正式なシステムとしての言語の表現では、述語と、おそらく直観主義的および内包的論理のコースを受講する必要があります。

少し覗いてみると、あなたの例は現在のcomp-semアプローチでは扱いがかなり難しいです。不可能ではありませんが、すでにかなりの難易度です。それを困難にしているのは、一部の時制です (時制とアスペクトを扱うと、通常、偶数のセマンティクスになります) だけでなく、この例で機能する方法でギブとアベイルの関係を定義する必要があります(より簡単な例としては、「私 犬を飼っていましたが、犬を飼っていなかったダニーにあげました。その理由がわかりますか?」

「私は犬を飼っています」を訳してみましょう。

∃x[dog(x) ∧ have(I,x)]

(オブジェクト x があり、x は犬であり、所有関係は "I" と x の間に成立します。)

これらの文は、「I」定数がすでに定義されている可能性があるモデルに対して評価されます。複数の文を順番に評価することで、会話を追跡できるようにそのモデルを変更できます。

始めるためのいくつかの提案をしましょう。古典的な comp-sem システムは SHRDLUで、特定の色の幾何学的図形を仮想環境に配置します。リンク先のページにオンラインで Windows 互換のデモがあるので、いろいろ試してみてください。

このトピックに関する最も優れた最新の本は、おそらくBlackburn and Bos (2005)です。これは Prolog で書かれていますが、Prolog を学ぶためのページにリンクされているソースがあります (今すぐ!)

Van Eijck と Ungerは、Haskell の計算セマンティクスに関する優れたコースを提供しています。これはもう少し新しいものですが、生の計算セマンティクスに関しては、Blackburn と Bos ほど教育的ではないと思います。

于 2012-05-21T07:16:43.510 に答える