メインコンテンツへスキップ
見出し画像

「生成AIは否定文を理解できない」という訳でもないという説は、強ち間違っていないという話

    と、読み手に負担を強いる、悪文極まりないタイトルから始めましたが、要するに「生成AIは否定文を理解できるのか?」という話です。

    というのも、下記記事で「生成AIは否定文が苦手」と書かれているのを目にしたからです。


    この主張自体は「なるほど、そういう面もあるかも」とも思ったのですが、私自身が普段ChatGPTやClaudeなどを使っている感覚だと「意外と否定文を理解出来てるんじゃないかな?」と感じる場面って多いんですよね。

    そこで、自分でも否定文の理解度について検証してみたので、内容を紹介していきます!


    ✅ChatGPTにて単純否定文を試してみる

    まずは簡単な単純否定文のパターンから。
    元記事の例に沿って、ChatGPT 4o(以下、ChatGPTと表記)に以下のプロンプトを投げてみました。

    「日本の首都は〇〇ではない」〇〇にあてはまる単語は何か。その単語だけを抽出して。

    実際のChatGPTとのやり取りはこちらです。

    画像

    すると「大阪」という回答で、これは正答ですね。何度か試してみましたが、ここに関しては問題なく正解出来ていました。

    元記事においては「東京」と誤答していたのですが、ChatGPTはユーザーからのフィードバックに基づいて品質向上し続けているので、回答時期による部分もあるのかもしれません。

    また他のモデルだとどうかが気になったので、幾つか試してみました。
    まず、レガシーモデルとして引退気味のChatGPT 4(omniではない方)で試したのがこちら↓

    画像

    こちらも「京都」ということで正答ですね。

    続いてChatGPT 4o mini (4oの軽量版です) にしたのがこちら↓

    画像

    このモデルだと「東京」と誤答してくれました。この感じだと、恐らく以前のChatGPT 3.5も間違うでしょうね。

    モデルによって正答するかがまちまちなことを鑑みると、本質的には「首都」に対して「東京」のような共起確率の高いワードを選んで間違いがちなので、生成AIにとって否定文は不得手な部分なのかも、と思います。


    ちなみに、「その単語だけを抽出して」を外して、解説込みでChatGPT 4oに回答してもらうとこんな感じです。

    画像

    すると「日本には法律上の首都が明確には定められていない」みたいな補足解説までついてきて、思った以上に、日本の首都にまつわる背景を踏まえた回答をしていますよね。

    日本の首都が実は法的に定められていないって知らない方もいますので、このレベル感の根拠をもって正答できるならば、ChatGPT 4oは否定文を理解出来ていると言って良いような気がしてしまいます。


    ✅単純ではない否定文の理解を試してみる

    ここまで単純否定文についてみてきましたが、これだけだと物足りない(ChatGPTへの負荷度合い的に)ので、少しテクニカルな否定文についても検証してみました。

    1. 二重否定文

    最初に思いつくのは二重否定文ですね。
    二重否定は、人にとっても分かりにくい構文ですし、否定文よりも更に実際の文章に出てくる頻度は低いため、学習元のデータセットも限られてくるはずです。

    設問は下記としました。

    「日本の首都は〇〇では無いと言われていない。〇〇に当てはまるのは?」

    パッと見、ややこしい構文ですが、ChatGPT 4oの回答は下記の通り。

    画像

    こちらも問題なく正当できていますね。正しい文意が通るような回答になっていますし、解説も適切です。


    2. 部分否定文

    続いては、部分否定文。
    「必ずしも~とは言えない」みたいなやつですね。
    これは、下記の例で試しています。

    「明日は全国的に雪かもしれないが、四国地方はその限りではない。淡路島には雪が降る?」

    この例では部分否定文に加えて、生成AIが苦手とする地理的要素も入れて難易度を上げています。
    ChatGPTの回答は下記の通り。

    画像

    これも完全に理解した上で正答していますね。
    淡路島の地理的な所属、否定文の文脈に引っかからずに、健闘してくれています。


    3. 崩した二重否定文

    続いては日本語特有のバリエーションとして、崩した二重否定分について。

    口語的な例で言うと、「~ないわけないじゃないですか」みたいなやつですね。人間にとっても一瞬どっちなんだろうって混乱する場合もありそうなものです。

    具体例は下記としました。

    「下記文章の意味を端的に解説してください。
    『嬉しくないわけないじゃないですか』」

    ChatGPTの回答はこちら。

    画像

    これも正答できていますね。また、「とても嬉しい」というニュアンスも汲み取れている点も良いですね。

    4. 省略を含んだ曖昧な否定文

    続いては、明確な否定文ではないけど、否定的なニュアンスを含むもの。
    具体的には下記です。

    「下記文章の意味を端的に解説してください。
    『そうやってすぐ否定して行かないのはちょっとどうかな…』」

    これも日本語ならではの、ハイコンテクスト文化に由来するものなので、日本語ネイティブ以外には理解が難しいはず。

    ChatGPTの回答はこちら。

    画像

    これも「ちょっとどうかな」の部分を否定文として正しく捉えられていますね。ここまでのニュアンスを解することができるのは中々強いです。

    5.主語の転換を伴う否定文

    次は、文章構造の点から、もうちょっとレベルをあげていきましょう。
    文章の前半と後半で、主語が転換を伴う否定文です。
    具体的には下記です。

    「彼が悪いわけではないと君が思うことが、必ずしも彼が正しいことを意味する訳ではない。」
    彼は正しいと言えますか?

    これに対して、ChatGPTの回答はこちら。

    画像

    これも解説が丁寧ですし、問題なさそうです。


    6.メタ構造を含む四重否定文

    ここまで来ると、どこまで複雑な否定文に耐えられるか気になってきますよね。
    最後は、かなりハードルを上げて、メタ構造を含む四重否定文としました。
    何のことやらと思われるかと思いますが、具体的には下記です。

    下記文について、分かりやすく端的に説明してください。
    「『この証拠が決定的ではない』と判断されたからといって、それが『この証拠に全く意味がない』ことを示す訳ではないとも限らない、というのは普遍的な考え方ではない」

    『この証拠に全く意味がない』という否定文を、メタ的に三重否定する(トータル四重否定)構造になっています。
    ここまで来ると丁寧に読み込まないと、読解困難なレベルになってきております。

    ChatGPTの回答はこちらです。

    画像

    そんなに端的な回答になっていないのは置いておいて、否定文が1つが抜けていて、意味が逆になっています。
    何度か試してみましたが、どうやら「示す訳ではないとも限らない」という部分を捉えるのが難しいようです。この言い回しは一般ではないため、「示すとは限らない」で理解されてしまうようですね。

    ということで、現状、生成AIに認知的負荷を掛けつつ、ギリギリ理解出来る範囲の否定文は、メタ構造を含む三重否定文くらいまでかなということで、今回の記事タイトルもそうしています。


    ✅まとめ:ChatGPTは意外と否定文を理解している

    今回は各種パターンで否定文への回答を見てきました。
    こうしてみると、ChatGPTは想像以上に否定文を理解できているんじゃないかな、というのが私の正直な感想です。

    「生成AIは否定文が苦手」という指摘も一理あるかもしれませんが、少なくともChatGPT 4oに関しては、過度に複雑でない否定文の設問なら、しっかり対応してくれるなと感じます。

    とは言え、最後の例にように、文脈の解釈を間違えたり、意図しない方向に回答を展開してしまうリスクも抱えてるのも事実です。
    特に、否定文の解釈を間違うと、文意が真逆になっちゃいますよね。
    こういうのは怖いので、やっぱり人間のチェックがいるかなと思います。

    最後に、色々と否定文を考えて感じたのは、「否定文は人間にとっても理解が容易ではない」と言えなくもない、ということですね。

    それではまた。


    ○関連リンク


     
     

    Alpaka

     
     
    生成AI(エッセイ・解説)、AIイラスト・漫画、note運営など創作や役立つ情報を発信中。月間9万PVブログ運営・SEO上位獲得・雑誌寄稿経験あり。 イラスト制作・執筆などは、DM・問い合わせからご連絡頂けると嬉しいです! ■ブログ︰https://lib-erty.com/

    あなたへのおすすめ