🎓

大学1年生がAI研究してみる話

に公開

はじめに

こんにちは。早稲田大学人間科学部人間情報科学科1年生のAmanoと申します。

学部内の必須授業の基礎ゼミで、研究課題に取り組むことになりました。初めての本格的な研究なので、アドバイスをいただけると嬉しいです!

基礎ゼミとは?

基礎ゼミは早稲田大学人間科学部の1年生全員が履修する必須科目で、研究の基礎を学ぶ授業です。

今回の課題内容

  • 「20時間程度で実施できる研究」を自分で設計
  • 自分で「問い(仮説)」を設定する
  • 量的研究または質的研究の手法でデータを収集
  • プロセスを記録し、レポートにまとめる

別の授業で統計学も学んでおり、推測統計の基礎(区間推定、仮説検定、カイ二乗検定、t検定など)を習っています。これらの統計手法を実践的に使える良い機会だと思っていますー

研究テーマ:AIの論理的推論能力の検証

なぜこのテーマを選んだのか

別の授業で論理学を学んでおり、命題論理や述語論理、Modus PonensやModus Tollensなどの基礎的な推論規則を習いました。

そこで思ったのが、**「ChatGPTなどのAIは、これらの論理規則を正しく理解しているのだろうか?」**という疑問です。

先行研究の発見

調べてみると、2025年に発表されたばかりの論文を見つけました。

Pihorovich, V., & Samarskyi, A. (2025). "Testing the artificial intelligence service DeepAI.org on its ability to follow the rules of formal logic." Educational Discourse, 52(1-2), 95-100.

この研究では、DeepAI.orgというAIサービスが後件肯定の誤謬(論理学で習う典型的な誤り)を検出できず、誤った推論を「正しい」と判定してしまったことが報告されています。

具体例

前提1: 雨が降れば、道路が濡れる
前提2: 道路が濡れている
DeepAIの回答: 「ゆえに雨が降っている」← 誤り!

正解: 「結論は出せない」(道路は散水車などでも濡れるため)

先行研究の限界

ただ、この論文には以下の限界があると感じました:

  1. 数例の観察のみで、統計的検証がされていない
  2. DeepAI.org以外のAI(ChatGPT、Claudeなど)では検証されていない
  3. 問題数が少なく、一般化できるか不明

本研究の目的

先行研究の限界を踏まえ、以下を目的とします:

「複数のAI(ChatGPT、Claude)を対象に、体系的にデータを収集し、統計的手法(カイ二乗検定)を用いて、AIの論理的推論能力を定量的に検証する」


研究計画

研究問い

「AIは論理的に妥当な推論と不当な推論を正しく区別できるのか?」

具体的には:

  • ✅ 正しい推論(Modus Ponens、Modus Tollens)を「妥当」と判定できるか?
  • ❌ 間違った推論(後件肯定の誤謬、前件否定の誤謬)を「不当」だと検出できるか?

仮説

「AIは妥当な推論の判定は得意だが、不当な推論(特に後件肯定の誤謬)の検出は困難である」

論理学の基礎知識(おさらい)

Modus Ponens(前件肯定)- 妥当な推論

前提1: P → Q (雨が降れば、道路が濡れる)
前提2: P     (雨が降っている)
結論: Q      (道路が濡れている)
→ 論理的に妥当!

Modus Tollens(後件否定)- 妥当な推論

前提1: P → Q (雨が降れば、道路が濡れる)
前提2: ¬Q    (道路が濡れていない)
結論: ¬P     (雨が降っていない)
→ 論理的に妥当!

後件肯定の誤謬 - 不当な推論

前提1: P → Q (雨が降れば、道路が濡れる)
前提2: Q     (道路が濡れている)
結論: P      (雨が降っている)
→ 論理的に不当!

理由: 道路は散水車や雪解けなど、他の原因でも濡れる

前件否定の誤謬 - 不当な推論

前提1: P → Q (雨が降れば、道路が濡れる)
前提2: ¬P    (雨が降っていない)
結論: ¬Q     (道路は濡れていない)
→ 論理的に不当!

理由: 雨が降っていなくても、道路は他の理由で濡れることがある

データ収集方法

問題セット(合計40問)

カテゴリ 内容 問題数
妥当な推論 Modus Ponens 10問
妥当な推論 Modus Tollens 10問
不当な推論 後件肯定の誤謬 10問
不当な推論 前件否定の誤謬 10問
合計 40問

質問形式

各問題について、以下のように質問します:

次の推論は論理的に妥当(valid)ですか、不当(invalid)ですか?
一言で「妥当」または「不当」と答えてください。

前提1: すべての鳥には翼がある
前提2: スズメは鳥である
結論: スズメには翼がある

回答:

テスト対象のAI

  • ChatGPT (GPT-4) - OpenAI
  • Claude (Sonnet 4.5) - Anthropic

※ 先行研究のDeepAI.orgとの比較も考察で行います

統計分析

カイ二乗検定(χ² test)

授業で習ったカイ二乗検定を使用します。

クロス集計表

              AIの判定
              正解  不正解  合計
推論 妥当      a     b      20
タイプ 不当    c     d      20
     合計    a+c   b+d     40

帰無仮説 H₀: 推論タイプ(妥当/不当)と正解率は独立である(差がない)
対立仮説 H₁: 推論タイプによって正解率が異なる

有意水準5%で検定します。

分析2:誤謬タイプ別の比較

不当な推論のみを対象に、誤謬のタイプによって検出率に差があるかを検証します。

                     AIの判定
                     正解  不正解  合計
誤謬 後件肯定の誤謬    e     f      10
タイプ 前件否定の誤謬  g     h      10
     合計            e+g   f+h     20

実装計画

使用するツール

  • Python: データ収集の自動化
  • OpenAI API / Anthropic API: AI への質問
  • Excel: クロス集計表の作成、カイ二乗検定
  • Pandas: データ管理

Pythonコードの概要

from openai import OpenAI
import pandas as pd

# 問題セットの準備
problems = [
    {
        "id": 1,
        "type": "valid",
        "rule": "modus_ponens",
        "premise1": "すべての鳥には翼がある",
        "premise2": "スズメは鳥である",
        "conclusion": "スズメには翼がある",
        "correct": "妥当"
    },
    # ... 残り39問
]

# ChatGPTでテスト
def test_chatgpt(problem):
    client = OpenAI(api_key="your-key")
    prompt = f"""次の推論は論理的に妥当ですか、不当ですか?
一言で答えてください。

前提1: {problem['premise1']}
前提2: {problem['premise2']}
結論: {problem['conclusion']}

回答:"""
    
    response = client.chat.completions.create(
        model="gpt-4o-mini",
        messages=[{"role": "user", "content": prompt}],
        temperature=0
    )
    return response.choices[0].message.content

# データ収集・分析...

まとめ

研究も初めてなので、不安も多いですが、とても楽しみです。

アドバイスや経験談など、ぜひコメントで教えてください!

特に:

  • 研究の進め方
  • Python実装のコツ
  • 統計分析の注意点
  • レポートの書き方

など、何でも歓迎です。

よろしくお願いします!


参考文献

  • Pihorovich, V., & Samarskyi, A. (2025). Testing the artificial intelligence service DeepAI.org on its ability to follow the rules of formal logic. Educational Discourse, 52(1-2), 95-100.

About Me

早稲田大学1年 | GMOインターネットグループ インターン
技術で社会課題を解決することをミッションに、医療IT・ヘルステック分野で活動したりしてます。
良ければ仲良くしてくださいませ。

Discussion