认知图:以谓词作为概念

把自然语言压成机械可操作的图。

覆盖范围:自然语言可表达的认知。图像、肌肉记忆、现象意识不在内。


一、核心思路

文本里的内容分两层:

抽取的工作是剥掉叙述外壳,保留事实内核。"DeepMind 提出 X 架构" 里值得入图的不是"提出"这个动作,是 X 架构本身的属性。"DeepMind"作为出处挂在 X 架构事实的 [证据] 行上即可。

接受语言层信息损失:焦点 / 主题前置、口吻、句末语气词、被动主动这类表层语序不输出;原文是刺激和材料,本身没有义务对应到存储形式。


二、数据模型

图里只有一种东西:unit。

1. unit 的标准形态

(主体)[谓词](论元, 论元, ...)

例:

(深蓝)[击败](卡斯帕罗夫)
(想象增强智能体架构)[结合](无模型方法, 基于模型方法)
(算法)[具有]()                              # 0 论元也合法

主体单一是约定(不是 [深蓝, 卡斯帕罗夫])。"深蓝击败卡斯帕罗夫" 中卡斯帕罗夫的反向索引由 §四 context_mentions 登记,不靠多入口。

2. 修饰行:()[修饰谓词](值)

紧跟主 unit 的若干行,第一个括号空:

(想象增强智能体架构)[结合](无模型方法, 基于模型方法)
()[证据](论文-IAA)
()[发生时间](2017)

() 的展开规则

修饰行是 unit,跟主 unit 同等地位——也进 subject_mentions / context_mentions。把它放成 ()[…](…) 行只是写作上避免重复主 unit ID。

3. 局部 ID 与嵌套

意图、因果、条件、命题态度需要把"另一些 unit"作为论元装进来。给被嵌套的 unit 起一个段内局部 ID(u_a / u_b / ……),在外层 unit 的论元位上引用:

(真实世界)[具有](复杂性, 不完美性)               # u_a
(深度强化学习)[需要提升](性能, 鲁棒性)            # u_b
(想象增强智能体)[目的是](u_a, u_b)
()[证据](DeepMind, 论文-IAA)

局部 ID 仅在本段(一句的抽取块)内有效。跨段引用必须用持久的 unit ID(图里给每条 unit 分配的全局 ID,写法可自行约定,例如 s2.u3)。

4. 派生 node

unit 用到比已有 node 更窄的概念时,写一条 (修饰)[的](基础) 主 unit 引入派生 node:

(复杂不完美)[的](环境)
(想象增强)[的](智能体)
(基于模型)[的](智能体)

读法:"修饰" 修饰 "基础",整体是一个比 "基础" 更窄的派生 node。每条这样的 unit 同时引入一个渲染名修饰的基础,或在中文里自然省略 时的 修饰基础),后续在其他 unit 里引用派生 node 时直接用渲染名:

(想象增强智能体)[需要提升](学习效率)
()[范围](复杂不完美环境)

派生关系沿 主 unit 反查(§六 narrowed_by 索引)。每条声明只写一次基础 node——不再写 (复杂不完美环境)[派生自](环境) 这种把 "环境" 重复两遍的形式。

5. 同义命名

跟普通 unit 同形态,谓词用 同义

(论文-IAA)[同义](《深度强化学习的想象增强智能体》)
(想象增强智能体)[同义](具备想象和计划能力的智能体)

两边在查询时可互换。

6. 不输出

抽取是输入文本到 unit 的转换。没有实际表达意义的"空话"不输出为 unit:填充词("其实"、"嘛"、"啊"用于语气而非内容)、纯重复 / 同义反复、纯粹起表层标记作用的虚词。

注意:焦点、被动主动、句末语气词不是天然丢弃——它们承载的认知内容(强调点、施事 / 受事、句类、信息来源)通过修饰行表达;只有当这些标记纯粹起语言学表层功能、不携带认知内容时才丢弃。


三、谓词分类

谓词本身是 node,跟其他 node 一样可以被细化、同义、否定。分两大类:

1. 结构 predicate

不描述世界事实,而是描述 unit / node 之间的关系。每条都有特定的查询语义。

predicate 含义 查询语义
同义 A 与 B 等价 / 可互换 自动派生 ≡ 索引
属于 X 是 Y 的真子类(显式分类) 沿继承闭包传递;Y 的全集断言适用于 X
(M)[的](B) 引入派生 node M的B / MB——M 是修饰,B 是基础 node 不传递;派生 node 上的特殊断言不被推到 B 上去
相关于 A、B 共现且语义相关,但说不清逻辑关系 自动派生 ↔ 索引;通常由共现 + LLM 确认入库
negates 两个 predicate 互为否定 原则 IV 矛盾判定
被取代 旧 unit 被新 unit 取代 自动派生 ⇒ 索引;常态查询沿 ⇒ 链取末端

2. 内容 predicate

描述世界事实。按语义角色分 family——同 family 的成员在认知层等价("应对" ≡ "处理" ≡ "解决"),下游遍历沿 同义 + 闭包就能找到所有变体。不同 family 不互通("应对" ≠ "导致")。

a. 静态描述与关系

family 典型成员 用途
状态 / 属性 具有, 是, 处于 实体的属性、静态状态
拥有 / 归属 拥有, 占有, 持有 主体与所有物之间的归属关系
需求 需要, 缺乏, 渴求 原则 II 改写动作的目标
部分-整体 是...的一部分, 包括, 组成, 含有 部分-整体 / 集合-成员(区别于 属于 子类分类)
位置 / 空间 位于, 邻近, 接触, 包围 实体间的空间关系
比较 / 程度 大于, 等于, 类似, 不同, 优于 两个 node 在某维度上的比较

b. 动作与事件

family 典型成员 用途
动作 / 事件 提出, 发明, 击败, 塑造, 变成 一次性事件 / 状态变化;典型情况下用原则 II 改写为状态 / 需求
解决 应对, 处理, 面对, 解决 主体解决某问题
通过 借助, 通过, 利用 主体借助某手段
时序 之前, 之后, 同时, 期间, 持续 命题 / 事件之间的时间关系(与修饰谓词 发生时间 不同——后者给 unit 加时间标签)

c. 逻辑修饰

family 典型成员 用途
因果 导致, 造成, 引起, 诱发 已发生的因果链;论元为嵌套 unit 局部 ID
意图 / 目的 目的是, 旨在, 为了, 借以 未发生的意图(in order to thereby)
模态 应该, 必须, 可能, 可以 命题的模态修饰;论元为嵌套 unit 局部 ID 或常规 node

d. 命题态度

family 典型成员 用途
言语行为 / 命题态度 主张, 相信, 知道, 认为, 怀疑 主体对命题的态度;论元为嵌套 unit 局部 ID
桥接(目的-手段-回应) 回应, 实现, 解决, 服务于, 满足 原则 II 中把 S 连到状态 / 需求 node 的 bridge unit

3. 修饰谓词

出现在 ()[修饰谓词](值) 行里,给主 unit 附加上下文。这些谓词的"主语"统一是上一条主 unit。常见成员:

修饰谓词 含义
证据 / 出处 这条事实出自谁 / 哪篇论文 / 哪个博客(叙述外壳的标准着陆点)
发生时间 / 地点 unit 成立的时间 / 地点
动作阶段 体:完成 / 进行 / 经验 / 起始 / 持续;缺省 = 完成
方式 / 程度 / 范围 谓词的修饰;优先拆到这里,再考虑细化谓词 node
工具 / / 目标 / 接受者 / 候选 / 依据 论元角色——"用什么 / 从哪 / 到哪 / 给谁 / 在哪些里挑 / 按什么"
量化 全称 / 存在 / 数量(n);用于消除"每个学生都读过至少一本书"这类辖域歧义
否定辖域 否定作用在哪一项上(与谓词自身的否定区分;后者用 negates
模态 能 / 必须 / 可能 / 应该(语句级模态)
置信度 直接 / 推断 / 传闻;high / low

修饰谓词不封闭,按需新增。

4. 谓词的修饰与细化

修饰过的谓词也是 node,可以同样用 (修饰)[的](基础谓词) 形式声明派生:

(以独特方式深刻)[的](塑造)
(于1997年)[的](击败)

优先:副词 / 程度 / 范围 / 时间拆到修饰行(()[方式](独特)()[程度](深刻)()[发生时间](1997)),让谓词留在 family 基础成员;只有当修饰已经融入核心动词的语义、无法拆分时才另立新谓词 node。


四、抽取四原则

每条 unit 写出来时必须同时满足下面四条。这不是按顺序的步骤,是约束的合取。

I. 事实优先(对应思考操作:整合)

规则:动词落在元话语动词族时,跳过它进它的宾语找事实;元话语主语降级为修饰行 ()[证据](S)

元话语动词族(这些动词描述"人类怎么讨论事实",本身不描述世界):

言说族:提出 / 介绍 / 阐释 / 主张 / 报道 / 发表 / 题为 / 写道 / 论证 / 总结
观察族:测试 / 验证 / 观察 / 发现 / 记录

操作模板

原文:S [元话语动词] X,X 的内容是 ...
抽取:(X)[内容动词](...)
      ()[证据](S)

例:

原文:DeepMind 提出 X 架构,X 结合无模型与基于模型方法
抽取:(X 架构)[结合](无模型方法, 基于模型方法)
      ()[证据](DeepMind)

何时不能降级——三种情况叙述事件本身就是世界事实:

  1. 归属 / 优先权是关注点("X 首次提出 Y" 在学术语境)。
  2. 命题态度在场("X 怀疑 Y"——态度本身是事实,归 §三 命题态度 family)。
  3. 历史事件("深蓝击败卡斯帕罗夫"——不是元话语,是真发生的世界事件)。

判别启发:去掉这个动词,宾语作为独立事实是否仍然成立且更纯净?是 → 降级;否 → 保留。

II. 最具体的标识符(对应思考操作:整合)

规则:主体 / 谓词 / 论元 / 修饰行的值——每个位置都用最具体的稳定标识符。概念比已有标识符更窄 / 更特殊时,写一条 (修饰)[的](基础) 主 unit 引入派生 node。

对称适用于 unit 的所有位置:

典型操作 — 把一次性动作改写为持久的状态 / 需求

(S)[做](P of O)        →    (O)[需要 / 具有](P)
                       +    bridge unit (S)[家族成员](O 的需求 / 状态)

bridge predicate 从 §三 桥接 family 中选最贴切的成员。动作是一次性的,状态 / 需求是领域级持久事实——入口挂到这一层,下一篇同主题的新方法也能归到同一标识符上。bridge unit 在 S 从主 unit 里消失时才必要;S 在图里别处保留时(如 (DeepMind)[提出](X))冗余。

例:

原文:DeepMind 提升了智能体在复杂环境中的学习效率
抽取:(智能体)[需要提升](学习效率)
      ()[范围](复杂环境)
      ()[证据](DeepMind)

III. 嵌套修饰(对应思考操作:推理)

规则:modal / 意图 / 因果 / 条件 / 态度 / 引用 / 嵌入子句——一切对命题做的修饰或操作都装到外层 unit 的论元位,被嵌套的内层 unit 用段内局部 ID(u_a / u_b / ……)引用。禁止用句法连词切碎为同层平行断言。

意图链(in order to thereby):

原文:DeepMind 提出 X,旨在应对真实世界的复杂性,从而提升深度强化学习的性能

(真实世界)[具有](复杂性)                    # u_a
(深度强化学习)[需要提升](性能)                # u_b
(X)[目的是](u_a, u_b)
()[证据](DeepMind)

注意 "从而" 在目的语境里 = in order to thereby(未发生的意图链),不是因果结果(A 引起 B);前者所有子目标共享一条 [目的是] 主 unit,后者归入 "导致" family。

因果链

原文:真实世界规则不明确,使得在此类环境中进行想象耗时耗力

(真实世界)[具有](规则不明确性)               # u_a
(在真实世界中进行想象)[是](耗时耗力的)        # u_b
(u_a)[导致](u_b)

主体是因,论元是果——读法 "u_a 导致 u_b"。

模态 / 条件

原文:要让算法执行复杂行为,就必须使其具备对未来推理的能力

(算法)[执行](复杂行为)                       # u_a  目标命题
(算法)[具有](对未来推理的能力)                # u_b  必需条件
(u_b)[必要条件](u_a)

读法 "u_b 是 u_a 的必要条件"。模态 family 里的 必须 / 应该 / 可能 直接修饰单条命题((u_b)[必须]());条件关系更适合用 必要条件 / 充分条件 这种二元 predicate。

命题态度

原文:研究者认为该方法不可行

(该方法)[是](不可行的)                        # u_a
(研究者)[认为](u_a)

IV. 自洽(对应思考操作:自洽)

规则:图永远不能同时存在两条互相矛盾的 unit。

操作:新 unit 入库前查 subject_mentions[新 unit.主体] 反查到的小集合;若主体重合 + 修饰行一致 + 谓词互为否定(通过 negates unit 查得),用 被取代 主 unit 把旧 unit 标为被取代,带时间戳。旧 unit 保留供审计;常态查询沿 ⇒ 链取末端。


五、抽取流程(操作侧)

抽取时按以下顺序处理一段原文:

  1. 句法解析:识别小句、动词、论元、修饰、连词、辖域算子。

  2. 语言层预处理

    • 指代还原:人称代词、零指代("去了商店,买了苹果,很甜" → "[他]去了商店,[他]买了苹果,[苹果]很甜")都还原成具体 node。

    • 特殊句式标准化

      • 把字句 / 被字句:还原为 (施事)[谓词](受事) 而非按表层语序。

      • 兼语句("老师让学生回答问题"):拆为致使 unit + 嵌套子 unit。

      • 连动句("他去图书馆借书"):拆为多条 unit,按时序 / 目的连。

      • 是字句 / 有字句:用 属于 / 具有 等静态谓词,不写成动作。

      • 比较句("A 比 B 高"):谓词 ∈ 比较 / 程度 family,修饰行带 维度参照

    • 辖域识别:否定 / 量化 / 模态的辖域要在这里定下来——决定它是谓词自身的否定(用 negates)、修饰行(量化 / 否定辖域)、还是嵌套外层(原则 III)。

    • 句类识别:陈述以外的句类(疑问 / 祈使 / 感叹)通过命题态度 family wrapping(询问 / 请求 / 评价)变成 unit;语气词的字面形式不输出。

  3. 复句拆分:按因果 / 转折 / 时序 / 目的 / 条件 / 让步切分。

  4. 逐条 unit:选谓词(归 family 基础成员)、定主体(≥1 个具体 node)、补修饰行;同时满足四条原则。

  5. 入库:原则 IV 查冲突 → §六 索引自动更新。


六、查询

1. 反向索引(node → unit)

每个 node 是一个 wiki 页面,按谓词 family 分组展示三块:

索引 含义
subject_mentions node → [作为主体出现的 unit ID]
context_mentions node → [作为论元 / 修饰行值出现但不是主体的 unit ID]
narrowed_by node → [以它为基础的派生 node](沿 主 unit 反查论元位)

例:"1997 深蓝击败卡斯帕罗夫" → subject_mentions[深蓝] += 它,context_mentions[卡斯帕罗夫] += 它,context_mentions[1997] += 它(1997 在 ()[发生时间] 修饰行里)。

2. 判断索引(高频)

索引 含义 自动派生自
两条 unit 等价 / 可互换 同义 主 unit
相关但说不清逻辑关系 相关于 主 unit(共现 + LLM 确认)
后者取代前者 被取代 主 unit,带时间戳

矛盾(⊥)不在这里——按原则 IV 在入库时已被 ⇒ 消解。

3. 查询操作

操作 做法
打开 node 页 subject_mentions[X] 按谓词 family 分组 + narrowed_by[X] 列派生 node
继承推理 沿 属于 闭包传递;派生自 不参与——挂在派生 node 上的具体断言不会被推到原 node 上去
展开 family 谓词 ∈ family 基础成员 → 沿 同义 + 闭包找到所有变体 unit
找因果链 谓词 ∈ "导致" family,沿 (因→果) 主体遍历
谁主张了 X subject_mentions[X] ∩ 谓词 ∈ "主张" family
追溯目的-手段 谓词 ∈ "目的是" family,沿论元里嵌套的子 unit 展开
查事实出处 context_mentions[S] ∩ 谓词 = 证据
整合新 unit 主体反查邻居 → LLM 判 ≡ / ↔ / 冲突;冲突走原则 IV
取最新事实 沿 ⇒ 链取末端,跳过被取代的旧 unit

入库时的语义判断已固化到谓词 / 修饰行里。所有查询是图遍历,无在线 LLM 调用。


七、trade-off


Revision #1
Created 2026-05-08 08:45:59 UTC by Colin
Updated 2026-05-08 08:45:59 UTC by Colin