在自然语言处理 (NLP) 的世界里,我们往往认为语序是理所当然的。如果你说英语,“The dog chased the cat” (狗追猫) 和“The cat chased the dog” (猫追狗) 意味着两件完全不同的事情。句法——即句子的结构——是由单词的顺序严格定义的。
但是,如果顺序并不重要呢?如果你可以说“Chased cat dog the” (追 猫 狗 这) ,并且由于单词被修饰或“标记”的方式,其含义保持完全不变,那会怎样?
这就是像梵语 (Sanskrit) 、土耳其语 (Turkish) 和立陶宛语 (Lithuanian) 等形态丰富语言 (Morphologically-Rich Languages, MRLs) 的现实。在这些语言中,语法是由复杂的词尾 (形态) 处理的,而不是位置。虽然这给了说话者诗意的自由,但它给现代 AI 模型带来了巨大的麻烦。大多数最先进的句法分析器,特别是那些建立在 Transformer 架构上的分析器,在很大程度上依赖于位置编码 (positional encoding) 。 它们期望词序中有某种模式。当它们遇到一种顺序任意的语言时,它们很难泛化,往往会过拟合训练数据中出现的特定语序。
在这篇文章中,我们将深入探讨一篇引人入胜的研究论文,题为 “CSSL: Contrastive Self-Supervised Learning for Dependency Parsing…” (CSSL: 面向相对自由语序和形态丰富的低资源语言依存句法分析的对比自监督学习) 。研究人员提出了一个巧妙的解决方案: 一个对比自监督学习 (CSSL) 框架。通过教导模型一个句子和其打乱顺序的版本实际上是同一个东西,他们在低资源语言的依存句法分析中实现了显著的性能提升。
让我们来拆解他们是如何做到的。
问题所在: 当“位置”误导模型时
要理解解决方案,我们需要先理解任务: 依存句法分析 (Dependency Parsing) 。
依存句法分析是分析句子语法结构的过程。目标是建立“中心词 (head) ”和“依存词 (dependent) ”之间的关系。例如,识别出“dog”是动词“chased” (中心词) 的主语 (依存词) 。
自由语序的挑战
在英语中,分析器学习到动词之前的名词通常是主语,而之后的名词是宾语。
然而在梵语中,关系是由格标记 (vibhakti) 定义的。只要标记正确,单词几乎可以以任何顺序出现。这被称为“相对自由语序”。

如上方的 图 1 所示,原始梵语句子 (上图) 和打乱顺序版本 (下图) 的依存树是完全相同的。箭头 (依存关系) 仍然指向具有相同标签 (如表示施事者/主语的 kartā) 的相同单词,即使单词的线性位置已经完全改变。
与预训练的冲突
冲突就在这里。现代预训练模型 (如 BERT 或 mBERT) 是带有位置编码训练的。它们学习到位置 \(1\) 以特定方式与位置 \(2\) 相关联。
当你在这个梵语数据集上微调这些模型时,模型试图根据位置学习句法规则。但由于位置是任意的,模型会感到困惑。它可能会从训练数据中学习到一条并不适用于测试数据的规则,仅仅是因为作者选择了不同的词序。
你可能会问: 为什么不直接去掉位置编码? 研究人员强调了先前工作中的一个反直觉发现: 简单地剥离位置信息实际上会损害性能。模型需要某种结构感。因此,目标不是让模型对位置视而不见,而是让模型对位置的变化具有鲁棒性 (robustness) 。
解决方案: 对比自监督学习 (CSSL)
研究人员提出了一种方法,强制模型学习“置换不变性 (Permutation Invariance) ”。他们希望无论单词如何排序,模型对句子的内部表示都是相同的。
为了做到这一点,他们采用了对比学习 (Contrastive Learning) 。
什么是对比学习?
对比学习是一种通过比较相似和不相似对来学习数据有效表示的技术。直觉很简单:
- 取一个 锚点 (Anchor) 输入 (原始数据) 。
- 取一个 正样本 (Positive) 输入 (锚点的一个略微不同但含义相同的版本) 。
- 取一个 负样本 (Negative) 输入 (完全不同的数据) 。
- 训练模型将锚点和正样本在向量空间中拉近,同时将锚点和负样本推远。

图 2 展示了这个几何概念。模型调整其权重,使得蓝点 (锚点) 向绿点 (正样本) 移动,并远离红点 (负样本) 。
将 CSSL 应用于依存句法分析
在计算机视觉中,创建一个“正样本”对很容易——你只需裁剪或旋转图像。在 NLP 中,这更难;如果你改变单词,通常会改变含义。
然而,研究人员利用了形态丰富语言的独特特征: 置换 (Permutation) 。
因为梵语中的词序是自由的,一个打乱顺序的句子是一个完美的正样本 。 它包含与原始句子完全相同的语义和句法信息。
- 锚点 (\(X_i\)): 来自训练集的原始句子。
- 正样本 (\(X_i^+\)): 单词被随机重新排序的同一句子。
- 负样本 (\(X_i^-\)): 来自批次 (batch) 中的另一个随机句子。

图 3 展示了这一流程。短语 “gacchāmi aham vanam” (我要去森林) 是输入。模型学习将其与打乱顺序的版本 “aham vanam gacchāmi” 紧密关联,同时将其与不相关的句子区分开来。
深入探究: 数学框架
这种方法的妙处在于它是模块化的。它不需要重新发明 Transformer 架构。它只是在训练过程中添加了一个辅助的“损失函数”。
训练涉及同时优化两个目标:
- 分类损失 (\(\mathcal{L}_{CE}\)): 预测正确依存树的标准任务。
- 对比损失 (\(\mathcal{L}_{CSSL}\)): 对齐置换句子向量表示的任务。
对比损失函数
研究人员使用一个特定的公式来计算模型区分正负样本对的能力。

让我们拆解这个方程:
- \(z_i\) 和 \(z_{i^+}\): 这些是锚点和正样本 (置换后) 句子的向量表示 (嵌入) 。
- 相似度 (\(z_i \cdot z_{i^+}\)): 点积计算这两个向量的相似程度。我们希望这个数字很大。
- 分母 (\(\sum \exp(...)\)): 这里将锚点与批次中所有其他示例 (负样本) 之间的相似度求和。我们希望锚点与这些不相似,从而使分母相对于分子变小。
- \(\tau\) (Tau): 一个“温度”参数,用于控制概率分布的锐度。
本质上,这个公式计算了从一批随机负样本中识别出正确正样本对的概率。最小化这个损失迫使模型无论词序如何,都能编码句子的“本质”。
总损失
神经网络的最终目标函数是这两个任务的简单相加:

这里,\(\mathcal{L}_{CE}\) 确保模型仍然学习如何分析语法 (寻找中心词和依存词) ,而 \(\mathcal{L}_{CSSL}\) 确保模型的理解对单词乱序具有鲁棒性。
实验与结果
这个理论在实践中站得住脚吗?研究人员在 梵语 (使用 Sanskrit Treebank Corpus) 和 6 种其他低资源形态丰富语言 (土耳其语、泰卢固语、哥特语、匈牙利语、古希伯来语和立陶宛语) 上测试了他们的 CSSL 框架。
他们使用了一个强大的基线模型,称为 RNGTr (Recursive Non-Autoregressive Graph-to-Graph Transformer) ,这是目前该任务最好的架构之一。
梵语上的结果
梵语的结果令人信服。他们比较了几种变体:
- RNGTr: 标准基线。
- RNGTr (NoPos): 移除了位置编码的基线。
- RNGTr (DA): 使用“数据增强” (Data Augmentation,即在更多打乱的数据上训练) 但没有使用对比损失的基线。
- Prop. System (CSSL): 提出的方法。

表 1 (上图) 揭示了关键见解:
- 位置编码很重要: 注意 “RNGTr (NoPos)” 这一行。得分大幅下降 (从 89.62 降至 80.78 UAS) 。这证实了简单地让模型对位置“失明”是一个坏主意。它需要位置数据,但它需要学习不要过度依赖它。
- CSSL 优于标准增强: 虽然数据增强 (DA) 有所帮助 (90.38 UAS),但 CSSL 方法达到了 91.86 UAS 。
- 两全其美: 结合数据增强 和 CSSL (最后一行) 产生了最高的结果 (92.43 UAS),表明这两种技术是互补的。
多语言鲁棒性
研究人员并没有止步于梵语。他们在其他六种语言上进行了相同的实验。趋势保持一致。平均而言,CSSL 方法比基线的句法分析准确率 (UAS/LAS 分数) 提高了约 3 个点 。
有趣的是,他们还在 英语 上进行了测试。由于英语具有固定的语序,你会预期这种方法 (打乱单词) 会损害性能,或者至少没有帮助。
- 结果: 该方法并没有太大地损害英语性能,但也没有显着帮助,且标准数据增强对英语效果更好。这作为一个“合理性检查”,证实了 CSSL 特别适用于语序真正自由的语言。
为什么这很重要
这篇论文为处理语言多样性中最棘手的方面之一——语序——提供了一个蓝图。
多年来,NLP 一直被以英语为中心的假设所主导。像 BERT 这样的模型假设如果“Man”出现在“Bites”之前,那么 Man 就是施事者。但对于世界上大量的语言——包括许多古典语言和低资源语言——这种假设是失效的。
这里提出的 CSSL 框架之所以优雅,是因为:
- 它在语序方面是无监督的: 你不需要手动规则告诉模型“这种语言是自由语序”。对比对会自动教导它。
- 它兼容现有模型: 你可以将此损失函数插入几乎任何基于图的句法分析器中。
- 它解决了“低资源”瓶颈: 这些语言通常缺乏海量数据集。通过有效地将置换作为“免费”的正样本使用,模型从有限的数据中榨取了更多的学习成果。
通过教导模型“语序是噪声,形态才是信号”,我们在通向真正通用的语言理解之路上迈进了一步。
参考文献
- Ray, P., Sandhan, J., Krishna, A., & Goyal, P. CSSL: Contrastive Self-Supervised Learning for Dependency Parsing on Relatively Free-Word-Ordered and Morphologically-Rich Low-Resource Languages.
- 注: 文中引用的所有图片和表格均改编自原始论文提供的图片集。
](https://deep-paper.org/en/paper/2410.06944/images/cover.png)