现在汉语:语法结构对SVO表示的挑战
汉语语法结构对 SVO 表示的挑战
上一篇讨论了"目的标记"(旨在 / 为了)为什么不该被压进谓词。 本文是它的扩展:把汉语里所有给
(S)[V](O)三元组表示带来麻烦的语法结构梳理一遍,统一归到几种"破坏方式"下,并指出每一类对应的修补维度。阅读对象:在做自然语言→结构化认知存储的人。
〇、问题前提:SVO 三元组隐含了什么假设
(S)[V](O) 这种形式默认了几件事:
- 命题是 realis(已发生 / 事实陈述),不是潜在 / 目标 / 假设;
- 命题是 原子,与其他命题之间没有结构化关系(最多并列);
- 主语 / 谓语 / 宾语都是 核心论元,没有外部修饰;
- 谓语 V 是一个 单一动作,没有时体、模态、否定、量化等算子作用其上;
- 说话人对命题的 认识态度(来源、确信度)是默认的"我相信、第一手"。
汉语里有大量结构系统性地违反这些假设。下面按"以何种方式违反"重新组织。
一、四种主要的破坏方式
| 破坏方式 | 现象 | 典型例子 | 涉及的语法类 |
|---|---|---|---|
| A. 模态坍塌 | 命题被一个意向 / 可能性算子包裹,抽 SVO 时算子消失 | 旨在 / 应该 / 也许 / 必须 | 目的、模态、情态 |
| B. 辖域丢失 | 否定 / 量化的作用范围在三元组里无法标记 | 不、没、所有、有的、都 | 否定、量化 |
| C. 关系断裂 | 多个事件之间的因果 / 条件 / 转折关系退化为平行断言 | 因为 / 所以 / 但是 / 如果 | 复句、关联词 |
| D. 维度丢失 | 时体 / 焦点 / 证据 / 言语行为等正交维度被抹平 | 了、过、是…的、据说、吗 | 时体、信息结构、情态、语气 |
下面按汉语语法类别铺开,每一类标注它属于哪种破坏方式。
二、状语类(命题外环境信息)
状语都是附加在 V 之外的修饰,SVO 把它们要么塞进 V,要么丢掉。
| 类别 | 标记词 | 例子 | 破坏方式 |
|---|---|---|---|
| 时间 | 在、于、当、…时、昨天、已经 | "他昨天来了" | D |
| 地点 | 在、于、从、向、往 | "在北京举行" | 一般可压进 V,但跨句指代会断 |
| 方式 | 用、以、通过、借助、按照 | "通过实验验证" | 可压进 V |
| 工具 | 用、拿、以 | "用刀切" | 可压进 V |
| 原因 | 因为、由于、因 | "因为下雨取消" | C(事件间关系) |
| 目的 | 为了、旨在、以便、用以、好让 | "为了应对复杂性" | A(意向算子) |
| 条件 | 如果、假如、要是、只要、除非 | "如果下雨就取消" | A + C |
| 让步 | 虽然、尽管、即使、就算 | "虽然累但坚持" | C |
| 结果 | 因此、从而、以致、致使 | "因而提升性能" | C |
| 伴随 | 随着、伴随、连同 | "伴随经济增长" | C |
| 范围 | 在…方面、就…而言、关于 | "就性能而言最优" | 焦点限定,D |
| 程度 | 很、非常、极其、相当 | "非常重要" | 可压进 V,但失去强度信息 |
| 频率 | 经常、偶尔、总是、再三 | "总是犯同样的错" | 量化的一种,B |
关键观察:状语里的 原因 / 目的 / 条件 / 让步 / 结果 不是修饰一个事件,而是在两个事件之间建立关系。把它们塞进单一谓词里是范畴错误。
三、模态与情态(命题外的态度算子)
模态是说话人对命题的态度,作用在整个 V 之上:
| 子类 | 标记词 | 示例 |
|---|---|---|
| 认识情态(命题真假的可能性) | 可能、也许、大概、必然、肯定、一定、应该 | "他可能来" |
| 道义情态(义务 / 许可) | 应当、必须、得 (děi)、可以、不许、禁止 | "你必须完成" |
| 动力情态(能力 / 意愿) | 能、会、能够、愿意、想、敢、肯 | "他愿意帮忙" |
| 目的情态 | 旨在、意在、为的是、目的是 | "旨在应对" |
SVO 的失效:(他)[来] 与 (他)[可能来] 与 (他)[必须来] 在该格式里要么完全相同,要么把模态硬塞进 V 字符串——后者会让谓词词典爆炸("必须来"、"可能来"、"应该来"、"愿意来" 全是不同的 V)。
修补方向:把模态作为算子层,与 V 正交。
(他)[来]
@modality: epistemic=possible
或
@modality: deontic=obligatory
四、时体系统(事件的时间相位)
汉语没有时态形态,全靠虚词标注体(aspect):
| 体类 | 标记 | 含义 | 例子 |
|---|---|---|---|
| 完成体 | 了 | 动作已完成 | "他走了" |
| 经验体 | 过 | 曾经发生过 | "我去过北京" |
| 进行体 | 在、正在、正 | 正在进行 | "他在写" |
| 持续体 | 着 | 状态持续 | "门开着" |
| 起始体 | 起来、上 | 开始进入状态 | "笑起来" |
| 继续体 | 下去 | 继续进行 | "做下去" |
| 短时体 | V 一 V、V 一下 | 短暂尝试 | "看一下" |
SVO 的失效:(他)[走] 完全无法区分"走了"(已完成)/"在走"(进行中)/"会走"(将来)/"走过"(曾经)。这些在认知图里是根本不同的事实——已发生的事件可以作为推理前提,未发生的事件不能。
修补方向:相位 / 时态层。
五、否定与极性
| 类别 | 标记 | 难点 |
|---|---|---|
| 一般否定 | 不、没、未、别、勿、非、无 | 辖域歧义 |
| 双重否定 | 没有不、不是不 | 等价于强肯定,但表面是否定 |
| 修辞否定 | 反问 "难道…吗"、"怎么会" | 实际是肯定 |
| 部分否定 | 不是所有、未必都 | 与量化纠缠 |
SVO 的失效:核心问题是否定辖域。
"他不是因为饿了才吃" 中,"不是"否定的是"因为饿了"这个原因,不是"吃"这个事件。 但若抽成
(他)[不吃]就完全错了——他确实吃了,只是原因不是饿。
修补方向:否定必须显式标记其作用范围(V / O / 整个命题 / 某个状语)。
六、量化
| 类别 | 标记 | 例子 |
|---|---|---|
| 全称 | 所有、每、任何、都、凡 | "所有学生都来了" |
| 存在 | 有的、某些、有些、至少有 | "有的学生来了" |
| 否定全称 | 没有一个、谁都不 | "没有一个来" |
| 数量 | 三个、几个、若干、大多数 | "大多数来了" |
SVO 的失效:
"每个学生都读过至少一本书" 量化辖域歧义:是"每人各自读过至少一本(可以是不同的书)",还是"存在一本书所有人都读过"?
平铺成 (学生)[读](书) 把这个区别完全擦除,而这个区别在推理时是关键的。
修补方向:量化器及其辖域必须保留,最低限度是给 S 和 O 都标注量词类型。
七、句间关系(最大的盲区)
汉语中事件之间的关系靠关联词显式或隐式建立。SVO 把多个事件拆成平行三元组时,这些关系全部丢失。
| 关系类型 | 标记词对 | 语义 |
|---|---|---|
| 因果 | 因为…所以;由于…因此;既然…就 | E1 是 E2 的原因 |
| 转折 | 虽然…但是;尽管…却;然而;不过 | E1 与 E2 预期相反 |
| 并列 | 既…又;一边…一边;同时;并且 | E1 与 E2 同时成立 |
| 递进 | 不仅…而且;甚至;连…也 | E2 比 E1 程度更深 |
| 条件 | 如果…就;只要…就;除非…才;要是 | E1 成立则 E2 成立 |
| 假设反事实 | 要不是;倘若;早知…就 | E1 反事实下 E2 |
| 让步 | 即使…也;就算;哪怕 | E1 不影响 E2 |
| 选择 | 或者…或者;要么…要么;不是…就是 | E1 与 E2 互斥 |
| 时序 | 然后;接着;先…后;首先…其次 | E1 时间上早于 E2 |
| 目的 | 为了;以便;好让;省得 | E2 是 E1 的目的 |
| 方式-结果 | 通过…以;以…的方式 | E1 是 E2 的手段 |
SVO 的失效:原句
"因为下雨,比赛取消了,但观众没有抱怨。"
抽成
(天)[下](雨)
(比赛)[被取消]
(观众)[没抱怨]
丢失了 因果(下雨→取消)和 转折(取消 vs 不抱怨的预期违反)。三个孤立断言无法重建原文的逻辑骨架。
修补方向:把"事件间关系"提升为一等公民。基础层是 SVO,关系层是 SVO 与 SVO 之间的二阶关系图。
八、特殊句式(论元结构变异)
汉语有几个高频句式让 SVO 抽取困难:
8.1 兼语句
"老师让学生回答问题"
让/使/叫/请/命令 后面的 NP 既是上一个 V 的宾语又是下一个 V 的主语:
S1=老师, V1=让, [O1=S2=学生], V2=回答, O2=问题
平铺为 (老师)[让](学生) + (学生)[回答](问题) 会丢失"使因关系"——学生回答是被老师致使的,不是独立事件。
8.2 连动句
"他去北京开会"
一个主语连用多个 V:去 → 开会。两个 V 之间是目的或时序关系,不是并列。
8.3 把字句 / 被字句
"他把书撕了" / "书被他撕了"
主语和宾语在表层倒置,但深层论元结构不变。SVO 抽取必须把 把/被 的语义重新映射回施事 / 受事,否则会出现 (书)[撕](他) 这种荒唐三元组。
8.4 是字句 / 有字句
"他是老师" / "桌上有书"
是 不是动作,是判断 / 等同;有 不是动作,是存在。把它们当 V 处理会让"动作"这个范畴变质——所有"分类"、"等同"、"存在"断言都披上了动作的伪装。
应该单列:分类 / 等同 / 存在 是与"事件 V"不同的关系类型。
8.5 比较句
"A 比 B 好" / "A 不如 B" / "A 跟 B 一样"
涉及三个角色:比较项 A、参照项 B、比较维度(好 / 高 / 多)。SVO 只有两个槽,不够装。
九、嵌入与从句(命题作为论元)
| 类别 | 例子 |
|---|---|
| 主语从句 | "他来了 是好消息" |
| 宾语从句 | "我知道 他来了" |
| 定语从句 | "来了的 人" |
| 同位语从句 | "他失败了 这件事" |
| 间接引语 | 老师说 "今天放假" |
SVO 的失效:S 或 O 本身是一个完整命题,而不是简单实体。例如:
"我相信他会成功"
不能抽成 (我)[相信](他),会丢"成功"。也不能简单串成 (我)[相信他会成功](?),会丢内层结构。
修补方向:命题作为节点——一个命题节点本身可以作为另一个命题的 S 或 O。这要求图结构而非纯三元组。
十、信息结构(主题、焦点、已知 / 未知)
汉语是主题优先(topic-prominent)语言。常见结构:
| 结构 | 例子 | 信息功能 |
|---|---|---|
| 主题-评述 | "这本书,我看过" | 主题前置 |
| 是…的 | "是他做的" / "他是昨天来的" | 焦点突出 |
| 倒装 | "下雨了,院子里" | 强调环境 |
| 把字句 | "把作业做完了" | 处置义焦点 |
| 连…也/都 | "连他都不知道" | 量级焦点 |
SVO 的失效:信息结构在三元组里完全消失。
"是他打破了杯子" 与 "他打破了杯子" 在 SVO 里同形。 但前者是在回答"谁打破的?"——焦点是"他"。 这个差异在对话理解、追问、纠错时是关键的。
修补方向:信息结构层(主题 / 焦点 / 旧信息 / 新信息标记)。
十一、指代与零回指
汉语大量使用零指代(pro-drop),主语经常省略:
"[他]去了商店,[他]买了苹果,[苹果]很甜。"
实际写出来通常是:
"去了商店,买了苹果,很甜。"
SVO 的失效:抽取时 S 缺失,需要跨句回指消解。这不是 SVO 格式本身的锅,但它意味着抽取前必须做回指还原,否则三元组会大面积出现空位。
文件里规则 5("代词还原")已经覆盖了这点,但零指代比代词更难——根本没有显式锚点。
十二、证据性与认识来源
| 标记 | 含义 |
|---|---|
| 据说、听说、传闻 | 间接获得 |
| 显然、明显、看来、似乎 | 推断 |
| 我看 / 我觉得 / 我认为 | 主观判断 |
| 据 X 报道 / 根据 X | 来源标注 |
| 说不定、估计 | 推测 |
SVO 的失效:
"据说他辞职了"
抽成 (他)[辞职] 后,信息来源消失——这条断言会被当成事实存入认知图,与"我亲眼看到他辞职"无差别。但前者的可信度和后者完全不同。
修补方向:每条命题应附带 evidence 字段(直接 / 间接 / 推断 / 传闻 / 个人观点)和 confidence 字段。
十三、言语行为与语气
| 句类 | 标记 | 语义 |
|---|---|---|
| 陈述 | 默认 | 断言 |
| 疑问 | 吗、呢、什么、怎么、是非问 | 询问 |
| 祈使 | 请、别、不要、…吧 | 指令 |
| 感叹 | 多么、真、…啊 | 评价 |
SVO 的失效:SVO 默认所有命题都是陈述。
"他来了吗?" 不是断言"他来了"。 "请关门" 不是断言"你关门"。
把疑问 / 祈使句原样抽成 SVO 就把它们伪造成了事实。
修补方向:句类标签。多数知识库只关心陈述,但若要存对话 / 指令 / 计划,就必须区分。
十四、汉语相对其他语言的特殊难点
汉语在 SVO 抽取上比印欧语难,原因集中在:
- 缺少形态变化:时态、数、格、人称都靠虚词或上下文,没有词形提示;
- 大量零指代:主语省略是常态而非例外;
- 主题优先:表层主语 ≠ 句法主语 ≠ 语义施事,三层经常错位;
- 流水句:长句不是"一个 SVO 内嵌从句",而是"多个 SVO 用逗号串起来",断句要看语义不看标点;
- 兼语 / 连动高频:一句话里多个动作链式衔接是日常用法;
- 虚词承重:了 / 着 / 过 / 把 / 被 / 是 / 的 / 得 / 地 等少量虚词承担了印欧语形态变化的全部功能,丢一个就改变意义;
- 隐性逻辑关系:因果 / 转折常常不写关联词,靠语序和语境推断("下雨了,比赛取消"——因果是隐式的)。
十五、汇总:分层模型雏形
把上面所有破坏方式倒过来,能推出一个最小的分层结构:
基础层 (factual core)
(S)[V](O) — 谁对谁做了什么
时相层 (aspect/tense)
@aspect: realized | ongoing | experienced | inceptive
@tense: past | present | future | (unmarked)
模态层 (modality)
@epistemic: possible | necessary | certain
@deontic: obligatory | permitted | forbidden
@dynamic: able | willing | intending
@purpose: <另一个命题>
辖域层 (scope)
@negation: V | O | proposition | adjunct(<which>)
@quantifier(S): universal | existential | numeric(n)
@quantifier(O): universal | existential | numeric(n)
事件间关系层 (discourse relations)
cause(E1, E2)
condition(E1, E2)
concession(E1, E2)
purpose(E1, E2)
sequence(E1, E2)
...
信息结构层 (info structure)
@topic: <which constituent>
@focus: <which constituent>
认识层 (epistemic source)
@evidence: direct | inferred | reported | hypothetical
@confidence: high | medium | low
@source: <speaker / cited entity>
言语行为层 (speech act)
@act: assert | question | command | exclaim
核心观察:基础 SVO 只表达**"谁对谁做了什么",而其他层分别表达"什么时候 / 是不是真的 / 在多大范围 / 与什么有关 / 关注哪部分 / 我怎么知道 / 是陈述还是询问"。这些是正交维度**,不是 V 的子分类。
十六、对实现的建议
不需要一次把所有层做出来。优先级建议:
- 先做事件间关系层(第七节)——这是最大盲区,对推理影响最大;
- 再做模态层 + 辖域层(三、五、六节)——决定一条断言能否作为推理前提;
- 再做时相层(四节)——决定断言是事实还是计划;
- 信息结构与认识层最后做——主要影响对话和反问,知识图早期可以不要。
每加一层,SVO 抽取规则都要相应调整:从"把修饰塞进谓词"转向"把修饰按层归位"。规则 3("关键修饰塞进谓词")实际上是这个分层的未分化形式——所有维度被一锅端进了 V 字符串。分层化就是把这一锅拆开。
附:与上一篇的衔接
上一篇 [《目的状语为什么不该被压进谓词》] 是本文 A 类(模态坍塌) + C 类(关系断裂) 的具体一例。 本文把那个观察推广到了所有类似的"被压扁的维度"——目的不是孤立的反例,而是 SVO 三元组系统性盲区的代表。