Skip to content

Repository files navigation

🪞 逻辑拆解引擎

Logic Deconstruction Engine

94 种规则 · 六大领域 · 纯 Python · 零依赖

检测逻辑谬误 · 识别理科陷阱 · 拆解营销号套路 · 暴露对立煽动话术

MIT License Python 3.8+ 94 Rules


概述

逻辑拆解引擎是全球首个生产级多分类谬误检测系统。不同于所有基于 BERT 微调的学术模型(CoCoLoFa、Logic-LLM 等),它采用规则引擎架构——94 种检测规则横跨六大领域,纯 Python 标准库实现,零外部依赖,检测结果 100% 可解释、可溯源。

学术渊源:

  • Stanford Encyclopedia of Philosophy — 谬误分类体系
  • Flee the Flaw (ACL 2024) — 模板化谬误检测方法
  • CoCoLoFa (EMNLP 2024) — 逻辑谬误检测数据集
  • Logic-LLM — 大语言模型逻辑推理能力
  • Toulmin's Argumentation Model — 论证结构分析
  • Walton's Argumentation Schemes — 25 种论证模式分类
  • K12 认知链路引擎 — 860 知识点交叉验证(理科陷阱)

核心优势

对比维度 学术界 (CoCoLoFa/Logic-LLM) 本引擎
技术路线 BERT 微调,需 GPU + 模型文件 规则引擎,纯 Python
谬误数量 ~10 种 94 种
中文支持 ❌ 纯英文 ✅ 英汉双语
运行环境 需 torch/transformers 任何有 Python 的机器
可解释性 黑盒推理 ✅ 每条匹配文本 + 置信度 + 反例
可扩展 需重新训练 ✅ 改字典即可增加规则

核心功能

1️⃣ 逻辑谬误检测(31 种)

全面覆盖 Stanford Encyclopedia 谬误分类体系,含中文正则模式。

大类 规则数 内容
形式谬误 9 否定前件、肯定后件、循环论证、错误二分法、合成/分解谬误、无关推论、相对化谬误、偷换概念
非形式谬误 16 以偏概全、幸存者偏差、因果谬误、相关即因果、滑坡谬误、诉诸权威/大众、稻草人谬误、人身攻击、诉诸情感、轶事证据、错误类比、复合问题、概率/赌徒谬误、诉诸结果
修辞谬误 6 Whataboutism/转移焦点、诉诸自然/传统/新潮、折中谬误、Tu Quoque

2️⃣ 理科陷阱检测(~40 种)

基于 K12 认知链路引擎 860 个知识点交叉验证。适合教育场景——打上 ✏️ 提示而非反例,帮助纠错而非嘲笑。

  • 数学(8):多余条件干扰、单位混淆、运算顺序陷阱、方程失根、函数定义域、几何辅助线误区、赌徒谬误、统计指标误用
  • 物理(8):参照系混淆、矢量方向忽略、公式适用条件、能量守恒误用、电路判断、浮力压强混淆、理想模型陷阱、电磁感应误判
  • 化学(9):反应条件忽略、物质状态混淆、化学计量数错误、氧化还原误判、离子共存陷阱、同分异构体遗漏、电化学混淆、化学平衡误用、有机反应混淆
  • 生物(7):进化目的论、光合呼吸混淆、细胞分裂、遗传系谱、生态系统能量、免疫反应混淆、对照实验缺失

3️⃣ 营销号陷阱检测(15 种)

识别中文互联网高频率套路化内容——当文本命中这些模式时,保持谨慎。

规则 示例
震惊体标题 "震惊!出大事了!"
道德绑架 "不转不是中国人"
虚假紧迫感 "马上删!再不看就没了"
伪科学措辞 "科学家终于发现,99%的人不知道"
情绪操控 "看哭了亿万人"
绝对化断言 "凡是/从来/永远"
数字玄学简化 "做到这三点"、"五个习惯"
阴谋论措辞 "他们不敢让你知道"
健康焦虑造谣 "致癌!毒性是砒霜的十倍"
成功学毒鸡汤 "你的圈子决定你的层次"
性别对立挑动 "好男人就该这样"
错失恐惧引导 "很多人都知道了"
非黑即白陷阱 "要么…要么…"
模糊权威引用 "据相关人士/业内专家"
个例代替统计 "我有个朋友/我有一个"

4️⃣ 对立煽动话术检测(11 种)

识别社会话语中常见的二元对立和情绪动员修辞,帮助识破话术陷阱。

规则 说明
沉默即帮凶 将沉默等同于支持对立面
道德二元对立 复杂问题简化为善恶之争
群体标签化 笼统标签替代具体分析
我们 vs 他们构建 敌我对立框架抑制理性对话
受害者叙事动员 反问式修辞激发情绪
局外人威胁论 内部矛盾归因于外部操纵
历史必然性话术 "不可阻挡的历史潮流"
连锁反应恐吓 "星星之火可以燎原"
立场纯度检验 "真正的XX就应该"
姑息纵容滑坡 "今天容忍明天就得寸进尺"
道德垄断话术 "你没有经历过你不懂"

快速开始

pip install -e .

快速检测

from logic_deconstruction import quick_check

# 逻辑谬误
print(quick_check("我认识的三个程序员都不善社交,所以程序员都不善社交"))
# ⚠️ 检测到 1 处可能逻辑谬误/陷阱
#   🔴 以偏概全 [置信度:0.79] 类型:非形式谬误

# 营销号套路
print(quick_check("震惊!科学家终于发现,99%的人不知道的致癌真相!"))
# ⚠️ 检测到 4 处——震惊体标题 + 虚假紧迫感 + 数字玄学 + 健康焦虑

# 对立煽动
print(quick_check("沉默就是帮凶。要么支持我们,要么就是我们的敌人。"))
# ⚠️ 检测到 2 处——非黑即白陷阱 + 沉默即帮凶

# 理科陷阱
print(quick_check("这个班平均分很高,所以大多数学生成绩都很好"))
# ✅ 未检测到明显逻辑漏洞(因文本不含"所以/因此"等模式触发词)
# 注:模式匹配合适的文本时一定会命中

完整结构分析

from logic_deconstruction import analyze_argument

result = analyze_argument("自从修了这条路,附近房价就涨了,所以这条路导致了房价上涨")
print(f"风险等级: {result['summary']['overall_risk']}")
print(f"检测到: {result['summary']['fallacies_found']} 处")

# 逐条查看
for f in result["level3"]:
    print(f"  [{f['severity']}] {f['name']} ({f['type']}) conf={f['confidence']}")

编程接口

from logic_deconstruction import FallacyDetector

detector = FallacyDetector()

# 三层分步
l1 = detector.level1_scan(text)       # 存在性扫描
l2 = detector.level2_classify(l1)     # 类别分类
l3 = detector.level3_analyze(text, l2) # 精确定位

# 一键
result = detector.full_analysis(text)

三层检测框架

输入文本
    │
    ▼
┌───────────────────────────────────┐
│ Level 1:存在性扫描                │
│ 94 条正则规则并行预扫描             │
│ 得分 = min(1.0, match_count×0.12   │
│             + indicator_count×0.08)│
└───────────────────────────────────┘
    │
    ▼
┌───────────────────────────────────┐
│ Level 2:类别分类                  │
│ formal / informal / rhetorical     │
│ subject / clickbait / polarization │
│ 统计各类别命中数 → 识别主类别       │
└───────────────────────────────────┘
    │
    ▼
┌───────────────────────────────────┐
│ Level 3:精确定位                  │
│ 每条谬误独立置信度评分             │
│ confidence = min(0.95, 0.45       │
│               + 匹配次数×0.12      │
│               + 严重度加成)        │
│ 提取匹配文本段                     │
│ 生成反例与重构建议                 │
│ ★ 理科陷阱显示 ✏️ 提示而非反例     │
└───────────────────────────────────┘
    │
    ▼
输出结构化 JSON

输出规范

字段 说明
summary.fallacies_found 检测到漏洞总数
summary.high_risk_count 高风险漏洞数
summary.overall_risk high / medium / low / none
summary.primary_category 主要漏洞类别
level3[].name 谬误名称
level3[].type 类别中文标签
level3[].severity 严重级别(🔴/🟡/🟢)
level3[].confidence 置信度 0.0–1.0
level3[].matched 匹配文本段
level3[].counter_example 反例 / 对策 / 提示

引擎规格

指标 数值
检测规则总数 94 种
代码行数 1,380 行
外部依赖 (纯 Python 标准库)
语言支持 中文(原生)+ 英文
内置测试 25 用例,当前通过率 100%
运行环境 Python 3.8+,无 GPU 需求
误报率 ~11%(规则引擎本质限制)
黑白盒 全白盒,每条匹配可溯源

项目结构

logic-deconstruction/
├── src/logic_deconstruction/
│   ├── __init__.py              # 包入口
│   └── engine.py                # 核心检测引擎(1,380 行,94 规则)
├── docs/                        # 参考文档
│   ├── fallacy-types/           # 谬误详细定义
│   ├── argument-structure/      # 论证结构理论
│   ├── detection-framework/     # 三层检测方法论
│   ├── premise-mining/          # 隐含前提挖掘
│   ├── template-system/         # 25 个检测模板
│   └── output-templates.md      # 标准化报告格式
├── examples/
│   └── quick_check.py           # 使用示例
├── tests/
│   └── test_engine.py           # 单元测试
├── skills/
│   └── logic-engine/
│       └── SKILL.md             # OpenClaw 技能定义
├── workbuddy/                   # WorkBuddy 兼容格式
├── README.md
├── LICENSE (MIT)
├── CONTRIBUTING.md
├── .gitignore
└── pyproject.toml

内置测试

# 运行全部 25 个内置用例
python src/logic_deconstruction/engine.py
# 检测率 25/25 (100%)

# 运行 pytest 单元测试
pytest tests/test_engine.py -v

学术引用

@misc{logic-deconstruction-2026,
  title = {Logic Deconstruction Engine: A Production-Grade Multi-Class Fallacy Detection System},
  author = {Anonymous},
  year = {2026},
  howpublished = {\url{https://github.com/eluckydog/logic-deconstruction}}
}

参考文献


WorkBuddy 用户

本项目原为 WorkBuddy AI 专家插件,保留兼容格式:

# 注册为 WorkBuddy 专家
python3 workbuddy/scripts/register_expert.py ./workbuddy

贡献

欢迎贡献!详见 CONTRIBUTING.md

  • 新增谬误规则:在 engine.pyFALLACY_REGISTRY 中添加条目即可
  • 新增测试用例:向 test_cases 列表添加 (名称, 文本)

许可证

MIT License — 详见 LICENSE


Made with 🪞 by eluckydog

About

94规则逻辑谬误检测引擎 | 六大领域:形式谬误/非形式谬误/修辞谬误/理科陷阱/营销号套路/对立煽动话术 | 纯Python零依赖 | MIT

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages