Skip to main content

现在汉语:语法结构对SVO表示的挑战

汉语语法结构对 SVO 表示的挑战

上一篇讨论了"目的标记"(旨在 / 为了)为什么不该被压进谓词。 本文是它的扩展:把汉语里所有给 (S)[V](O) 三元组表示带来麻烦的语法结构梳理一遍,统一归到几种"破坏方式"下,并指出每一类对应的修补维度。

阅读对象:在做自然语言→结构化认知存储的人。


〇、问题前提:SVO 三元组隐含了什么假设

(S)[V](O) 这种形式默认了几件事:

  1. 命题是 realis(已发生 / 事实陈述),不是潜在 / 目标 / 假设;
  2. 命题是 原子,与其他命题之间没有结构化关系(最多并列);
  3. 主语 / 谓语 / 宾语都是 核心论元,没有外部修饰;
  4. 谓语 V 是一个 单一动作,没有时体、模态、否定、量化等算子作用其上;
  5. 说话人对命题的 认识态度(来源、确信度)是默认的"我相信、第一手"。

汉语里有大量结构系统性地违反这些假设。下面按"以何种方式违反"重新组织。


一、四种主要的破坏方式

破坏方式 现象 典型例子 涉及的语法类
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 抽取上比印欧语难,原因集中在:

  1. 缺少形态变化:时态、数、格、人称都靠虚词或上下文,没有词形提示;
  2. 大量零指代:主语省略是常态而非例外;
  3. 主题优先:表层主语 ≠ 句法主语 ≠ 语义施事,三层经常错位;
  4. 流水句:长句不是"一个 SVO 内嵌从句",而是"多个 SVO 用逗号串起来",断句要看语义不看标点;
  5. 兼语 / 连动高频:一句话里多个动作链式衔接是日常用法;
  6. 虚词承重:了 / 着 / 过 / 把 / 被 / 是 / 的 / 得 / 地 等少量虚词承担了印欧语形态变化的全部功能,丢一个就改变意义;
  7. 隐性逻辑关系:因果 / 转折常常不写关联词,靠语序和语境推断("下雨了,比赛取消"——因果是隐式的)。

十五、汇总:分层模型雏形

把上面所有破坏方式倒过来,能推出一个最小的分层结构:

基础层 (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 的子分类。


十六、对实现的建议

不需要一次把所有层做出来。优先级建议:

  1. 先做事件间关系层(第七节)——这是最大盲区,对推理影响最大;
  2. 再做模态层 + 辖域层(三、五、六节)——决定一条断言能否作为推理前提;
  3. 再做时相层(四节)——决定断言是事实还是计划;
  4. 信息结构与认识层最后做——主要影响对话和反问,知识图早期可以不要。

每加一层,SVO 抽取规则都要相应调整:从"把修饰塞进谓词"转向"把修饰按层归位"。规则 3("关键修饰塞进谓词")实际上是这个分层的未分化形式——所有维度被一锅端进了 V 字符串。分层化就是把这一锅拆开。


附:与上一篇的衔接

上一篇 [《目的状语为什么不该被压进谓词》] 是本文 A 类(模态坍塌) + C 类(关系断裂) 的具体一例。 本文把那个观察推广到了所有类似的"被压扁的维度"——目的不是孤立的反例,而是 SVO 三元组系统性盲区的代表。