アルゴリズムによる文の否定の試みに精通している人がいるかどうか疑問に思っていました。
たとえば、「この本は良いです」のような文が与えられた場合、「この本は良くない」または「この本は悪い」のような反対の意味の代替文をいくつでも提供します。
明らかに、これを高度な精度で達成することは、現在の NLP の範囲を超えている可能性がありますが、この件に関して何らかの研究が行われたことは確かです。何か仕事を知っている人がいたら、いくつかの論文を教えてくれませんか?
アルゴリズムによる文の否定の試みに精通している人がいるかどうか疑問に思っていました。
たとえば、「この本は良いです」のような文が与えられた場合、「この本は良くない」または「この本は悪い」のような反対の意味の代替文をいくつでも提供します。
明らかに、これを高度な精度で達成することは、現在の NLP の範囲を超えている可能性がありますが、この件に関して何らかの研究が行われたことは確かです。何か仕事を知っている人がいたら、いくつかの論文を教えてくれませんか?
否定文の自動生成を具体的に検討している作業はありませんが、正式な意味論と語用論の言語学の作業を読むことから始めるのがよいと思います。わかりやすい入門書は、StevenC.Levinsonの語用論の本です。
あなたが遭遇すると思う一つの問題は、文によって伝えられるすべての情報を否定することは非常に難しいかもしれないということです。たとえば、次のようにします。
John fixed the vase that he broke.
これをジョンに変えても、彼が壊した花瓶を直さなかったとしても、花瓶があり、ジョンがそれを壊したという前提があります。
同様に、ジョンが麻薬の使用をやめたので、ジョンが麻薬の使用をやめなかったという文を否定するだけでも、ジョンはある時点で麻薬を使用したことを伝えています。より徹底的な否定は、ジョンが薬物を使用したことがないということです。
あなたが見たいと思うかもしれないいくつかの既存の自然言語処理(NLP)の仕事は、MacCartney andManning2007のテキスト推論のための自然論理です。この論文では、GeorgeLakoffのNaturalLogicの概念とSanchezValenciaの単調性計算を使用して、ある文が別の文を伴うかどうかを自動的に判断するソフトウェアを作成します。おそらく、非含意を検出するためのいくつかの手法を使用して、否定された矛盾する文を人為的に作成することができます。
単純な文の場合、英語の文法規則を前提として副詞または形容詞を解析し、意味が1つしかない場合は反意語に置き換えます。それ以外の場合は、正しい英語の否定規則を使用して動詞を否定します(つまり、is-> is not)。
高レベルのアルゴリズム:
従属節のある文など、より複雑な文の場合は、より複雑な分析が必要になりますが、単純な文の場合、これは実行不可能ではありません。
もちろん単純な方法は、{am,are,is} の直後に「not」を追加しようとすることです。これがあなたの設定でどのように機能するかはわかりませんが、おそらく述語のような文でのみ機能します。
一次論理にも同様のプロセスがあります。通常のアルゴリズムは、 にマップP
してからnot P
、有効な変換を実行して をnot
便利な場所に移動します。たとえば、次のようになります。
Original: (not R(x) => exists(y) (O(y) and P(x, y)))
Negate it: not (not R(x) => exists(y) (O(y) and P(x, y)))
Rearrange: not (R(x) or exists(y) (O(y) and P(x, y)))
not R(x) and not exists(y) (O(y) and P(x, y))
not R(x) and forall(y) not (O(y) and P(x, y))
not R(x) and forall(y) (not O(y) or not P(x, y))
英語で同じことを行うと、「ここで雨が降っていない場合、屋外での活動であり、ここで実行できる活動があります」から「それはそうではありません...」、そして最後に「それはです」に否定されます.雨が降っていないし、考えられるすべての活動は、屋外向けではないか、ここで行うことができないかのどちらかです。」
もちろん、自然言語は一次論理よりもはるかに複雑です...しかし、文を解析して、「ない」、「および」、「または」、「存在する」などの単語を識別できる場合、その後、同様の翻訳を実行できるはずです。
NTLK を使用した優れたデモ - http://text-processing.com/demoと短い記事 - http://text-processing.com/demo/sentiment/。