Featured image of post 构建中文逻辑数据库:三段论数据集

构建中文逻辑数据库:三段论数据集

总论

在利用LLM辅助学习或科研的过程中,LLM理解水平的限制会带来实际的困扰。

例如,在起草论文/重要文章等需要准确表达的场景,AI并不能完全遵从草稿中上下文的逻辑,很容易擅自改成其认为通顺但实际上并不严谨的表达。再例如,GPT5在推荐文献时,对其的介绍会出现幻觉。一开始吸引人去看的点,在看完论文后,会发现其实并不存在。再例如,LLM有时会存在用术语解释术语这样的来回兜圈子的过程。

前两个例子中,LLM的问题在于其生成内容时候,理解的逻辑精细程度不够,其生成的内容即使受到prompt的影响,但本质也还是概率性的,而非逻辑性的。最后一个例子暴露出的问题在于,LLM 的知识主要来自论文、教科书和技术文档,在这些专业语料中,用术语解释术语是非常自然的,但模型用这类语料训练后很可能只学会了术语之间的共现关系,而缺乏深入拆解术语含义的意识。

还有一些对LLM的能力有更高要求的学习场景。学习需要动机和学习资源。动机层面,涉及人的情感和潜意识,可见另外一篇文章。相比不可改的天赋,学习资源的重要性一直被低估(学习资源不在于“有没有书”,而是“能不能在自己的起点上真正读懂”)。我希望LLM可以引导学习者的动机,给学习者提供足够的学习资源:

长文本结构化理解与隐含前提提取

学习资源层面,即使知识文化理论上是所有前人智慧的结晶,理应对所有人开放,但学习资源的实际获取存在不必要的门槛。即使专业领域的论文大多开源,相关课程的讲义很多也能在网络上找到,但对此的学习涉及到阅读大量充满专业术语的篇幅很长、逻辑链复杂的文献和教材,这种传递知识的形式给学习者带来的困难常常大于理解知识本身:对很多人来说,“读进去”比“理解内容本身”还难。LLM应该帮人“啃开”这样的难读的文本,通过长文本逻辑层级提取,以及学会用日常语言和例子解释清楚专业术语,来帮助学习者理解这些知识。并且,提取长文本的逻辑层级时,不能只沿着作者给出的叙事顺序往前走,而应该显式地重建一条逻辑链,标出其中的隐含前提假设;如果缺乏对于这些隐含前提假设的理解和评判,只从表面叙事来评价一篇文章的质量,就很容易被“写得流畅”迷惑,而忽视前提假设是否合理、是否偷换概念或夹带私货等问题。

构建长文本的逻辑提取语料相对复杂,可以先训练LLM从较短的文本段落提取整理逻辑,并且识别出其中的隐含前提假设。用于训练的文本段落既可以来源于学术论文,也可以来源于日常语言,确保即使用日常语言表述,LLM也仍然能准确地捕捉到逻辑,而不是放松对于准确性的要求。

另外,基于原文构建逻辑结构,可能存在多种类似的表述同一个意思的方式;我建议是同时收集好几种等价描述,最好也给出逻辑上有细微差别的例子,以让模型学会正确区分。更进一步地,在模型完成了逻辑结构的梳理之后,下一步可以涉及到其中哪个环节最重要/最有问题的价值判断。

日常语言相对于学术论文语言来说,一般包含着较多的情感作为未言明的假设,语言的表述也没那么精确,涉及模糊性和意会,需要时刻根据上下文来推理出最可能的含义。这也是目前LLM比较薄弱的一环,当prompt语言表达不够清晰时,就很容易误解,产生幻觉。对于这类言外之意的提取,可见下段链接:

情感/心理的逻辑分析

[基于文本的情感分析] https://catfly.blog/posts/%E5%BF%83%E7%90%86prompt1/

逻辑存在的范围,远不只是数理和代码领域;复杂的情景和情感,本身也可以通过引入潜在未言明的逻辑来解释。复杂情景和心理蕴含的信息量是很大,但也不是不能用语言来描述的。

情感在这里不意味着完全无逻辑的感性宣泄,更多的指代的是,还未被个体充分意识到的,对个体行为有重要影响的行为准则。在个体的显意识 意识到有这个准则存在之前,几乎总是会被自己的情感牵着走,仿佛宿命一般无法摆脱。意识到情感这个准则存在的下一步,就是试图去溯源,找出最关键的症结,从源头上改善和重塑和其有关的所有行为机制。

例如内向者为什么内向,为什么有人厌恶权威和宏大叙事,为什么有人会讨好权威,为什么有人很不愿意麻烦别人,为什么不愿意主动和朋友开启话题……这些背后,都有情感方面的原因。很多时候只是过往经历塑造的习惯而无关对错,但如果其发展到影响个人发展 给个体带来困扰的地步,则非常有必要找出其根本的原因。 …

利用prompt来引导LLM识别三段论结构

利用prompt来引导LLM识别三段论结构是一个快速构建大量语料的可行方案。

识别三段论结构是一个复杂任务,需要写好prompt。prompt的质量对于输出质量有很大影响。

三段论结构

逻辑学上,我们可以把任何一段话区分为 非推理性语句 和 推理性语句。其中,非推理性语句 包括 陈述 疑问 祈使 感叹,推理性语句由多个陈述组成,包含前提和结论,分为演绎推理,归纳推理,溯因推理。

演绎推理是从一般性前提推导出特殊性结论的推理,其特点是如果前提为真,则结论必然为真。

格式可以这样写:

  • 大前提:所有M都有P特点。
  • 小前提:S是M。
  • 结论:S也有P特点。

假言推理 选言推理 也可以写成三段论的格式。

数学归纳法可以看作是三段论的应用:

  • 大前提:如果某性质对1成立,且若对k成立则对k+1成立,则这个性质对所有自然数成立。

  • 小前提:性质P对1成立,且若对k成立则对k+1成立。

  • 结论:性质P对所有自然数都成立。


原始语料选择和切分

扔给LLM要求其分析的原始语料选择和切分也很重要,对此需要另外写一个prompt。

虽然我是希望,即使给LLM多复杂多长的逻辑结构,都能马上梳理出其清晰简洁的逻辑结构,但实践上,这一点目前还很难做到。需要在难度上循序渐进,先让LLM学会切分后的语料的逻辑拆解,之后逐渐过渡到拆解复杂的树状的逻辑结构。

以及,语料的筛选也很重要。一开始应该尽量减少包含很多的情感和重复论述部分的语料,让LLM专注于逻辑结构。等到训练后期再考虑让模型从有杂乱逻辑结构的语料中梳理出清晰的逻辑。

数据集示例

以下给出一些数据,具体结构还可以更加结构化,也可以给出更多保持逻辑关系不变的同义改写。

数据:

  1. 机器人应该和狗还是小浣熊在一起,我觉得得看机器人更喜欢和狗一起的生活,还是和小浣熊一起的生活。应该看自己想要什么,自己的选择应该如实反映出自己的动机。

    • 大前提:A和谁在一起应该看A更想和谁在一起(原文:我觉得得看机器人更喜欢和狗一起的生活,还是和小浣熊一起的生活 。应该看自己想要什么,自己的选择应该如实反映出自己的动机。)
    • 小前提:机器人更想要和小浣熊在一起
    • 结论:机器人应该和小浣熊在一起
  2. 爱情可以用天长地久的契约来约束吗,为什么能用自己还没有经历过的人生发誓,你现在的誓言在未来真的有约束力吗。你现在想要的一定是你以后想要的吗。

    • 大前提:有约束力的承诺必须基于对承诺期内所有情况的完全了解。
    • 小前提:人对还没有经历过的人生缺乏了解。(为什么能用自己还没有经历过的人生发誓,你现在的誓言在未来真的有约束力吗。你现在想要的一定是你以后想要的吗。)
    • 结论:人对未来的天长地久的爱情誓言是没有约束力的。(爱情可以用天长地久的契约来约束吗)
  3. 没几个人有天下公心,基本上都是说说而已,但会借公义互相攻讦。也没人在意公义是不是被利用了,在意的只有自己的目的是否达到。

    • 不构成三段论结构,因为没有逻辑的递进,只是并列的断言。
  4. 他害怕厌恶于高官操纵他人命运,自己也渴望成为高官来死死握住权力以操纵他人。

    • 不构成三段论结构,因为没有逻辑的递进,而是描述两种相反欲望的并存。
    • 如果添加“逃避被操纵是基本生存本能,掌握权力也是基本生存本能”,可以统一这两种相反的欲望,但这在原文中没有直接写出。
  5. 她想死,也想去巴黎。

    • 不构成三段论结构,因为没有逻辑的递进,而是描述两种相反欲望的并存。
    • 如果添加“无法拥有巴黎的生活给她带来的和现实的反差感会让她想死”,可以统一这两种相反的欲望,但这在原文中没有直接写出。
  6. 她到死的疑问是文学怎么可以这样巧言令色言不由衷,看似充满了文青特有的矫情,实际想问的可能是,我为什么会是这样的,为什么会被这样言不由衷的东西吸引。毕竟人死前的困惑总是关于其自身。

    • 大前提:人死前的困惑总是关于其自身
    • 小前提:她死前的疑问是文学怎么可以这样巧言令色言不由衷
    • 结论:她死前的疑问,文学怎么可以这样巧言令色言不由衷,本质上不是关于文学,而是关于她自己,例如,她为什么会被言不由衷的文学吸引。
  7. 林所在的境遇是否是客观上的绝境,这个我觉得不是。因此她的应对(自杀)不是她实际上能做到的最优解。

    • 大前提:只有在客观上的绝境,人物实际上能做到的最优解才是自杀。
    • 小前提:林所在的境遇不是客观上的绝境。
    • 结论:她的应对(自杀)不是她实际上能做到的最优解。
  8. 她想要抗争但最终失败,也正因如此才令人惋惜。

    • 大前提:想要抗争但最终失败的人会令人惋惜。
    • 小前提:她想要抗争但最终失败
    • 结论:她令人惋惜。
  9. (机器人应该和小狗还是小浣熊在一起),总不能看谁更需要机器人吧,首先不能把自己物化成满足他人的工具,其次,自己的心理缺陷终究还是要自己去填补。

    • 大前提:A的选择不应该被B对A的需求干扰
    • 小前提:狗对机器人有需求
    • 结论:机器人的选择不应该被狗的需求干扰
    • 这个大前提也可以作为两个另外的三段论的结论:
      • 如果A因为B需要自己,就认为自己应该和B在一起,那么A把自己物化成满足B需求的工具,这是不应该的。

        • 对应的大前提:要求自己满足别人需求的人,放弃了对自己意愿的遵守,物化了自己,这是不应该的。
        • 这个大前提的同义改写:个体存在的最高价值在于主体性,而非工具性,放弃主体性选择工具性是不应该的。
      • 如果B因为自己需要A,就要求A和自己在一起,那么B忽略了填补自己情感缺陷的人生课题,这是不应该的。

        • 对应的大前提:要求别人满足自己的人,忽略了填补自身情感缺陷的责任,这是不应该的。
        • 这个大前提的同义改写:任何个体都有完善自我的内在责任,此责任不应该转嫁他人。
  10. 但凡有人真的爱过他也不至如此(自杀)。

    • 大前提:被人真的爱过的人不会自杀。
    • 小前提:他自杀了。
    • 结论:他没有被真的爱过。
  11. 都说升米仇斗米恩,为什么这么说,就是因为人在接受帮助时实际上要让渡自己的一部分权利给施救者,这可能会导致仇恨

    • 大前提:让渡太多自己权力给他人的人,可能会对他人感到仇恨。
    • 小前提:接受很多帮助的人让渡了很多自己的权利给施救者
    • 结论:接受很多帮助的人可能会仇恨施救者。(升米仇)

prompt示例:

【任务】:

请你充分地从逻辑和价值取向的角度分析给定材料。之后,在此基础上,详细分析给定材料的逻辑结构,分析其是否构成演绎推理,如果是,用三段论写出其论证结构:大前提-小前提-结论。

你需要分析材料中是否存在不止一个逻辑结构,例如三段论的大前提是否对应另外一个演绎推理的结论。你需要写出所有的演绎推理的三段论论证结构。

【要求】:

优先挑选语料中的原文构建三段论结构。如果原文没有显式给出完整的三段论结构,允许用自己的话挑选原文中的信息来补全,但必须用括号标明不属于作者原文。

【例子1】:

林所在的境遇是否是客观上的绝境,这个我觉得不是。因此她的应对(自杀)不是她实际上能做到的最优解。

  • 大前提:只有在客观上的绝境,人物实际上能做到的最优解才是自杀。
  • 小前提:林所在的境遇不是客观上的绝境。
  • 结论:她的应对(自杀)不是她实际上能做到的最优解。

【例子2】:

她想死,也想去巴黎。

  • 没有构成演绎推理结构。

【需要分析的材料】:

(机器人应该和小狗还是小浣熊在一起),总不能看谁更需要机器人吧,首先不能把自己物化成满足他人的工具,其次,自己的心理缺陷终究还是要自己去填补。

【输出】:

请你只输出三段论结构本身,不需要输入任何分析过程。

格式:[大前提]:xxx,[小前提]:xxx, [结论]:xxx.