在机器学习的世界里,数据为王。但当你需要的数据根本不存在时,该怎么办?
这是极弱监督文本分类 (XWS-TC) 中的常见场景。想象一下,你想构建一个分类器来检测推文中一种非常具体、罕见的情绪——比如“惊讶” (Surprised) ——但你没有任何标注样本。你只有一个类名: “惊讶”。
传统上,研究人员有两种解决方法。他们要么“挖掘”原始数据以找到现有的例子,要么要求大型语言模型 (LLM) “合成” (编写) 新的例子。对于少数类 (即数据中很少出现的类别) ,这两种方法都有致命的缺陷。
在本文中,我们将深入探讨一种名为文本嫁接 (Text Grafting) 的新框架,该框架由加州大学圣地亚哥分校的研究人员提出。这种方法结合了两个世界的优点,使用巧妙的“掩码填充 (mask-and-fill) ”技术来生成高质量的训练数据,这些数据既符合标签,又忠实于真实世界的数据分布。
问题所在: 长尾与分布偏移
为了理解为什么需要文本嫁接,我们首先需要看看为什么现有方法在少数类上会失败。现实世界的数据通常遵循长尾分布: 少数类别非常常见,而许多其他类别则很罕见。
方法一: 文本挖掘
文本挖掘涉及搜索大量未标记的原始文本,以找到与你的类名匹配的示例 (例如,找到包含单词“shocked”的推文来代表“Surprised”类) 。
虽然这对常见主题有效,但对少数类却完全失效。如果一个类别仅占数据的 3%,简单的关键字匹配或聚类通常会返回噪声,或者什么也找不到。

如图 2 所示,随着类别比例的下降,文本挖掘的精度直线下降。对于稀有类别,挖掘过程就像在大海捞针,而这根针甚至可能根本不在那里。
方法二: 数据合成
另一种选择是使用 LLM (如 GPT-4) 从头开始生成数据。你只需提示模型: “写一条表示惊讶的推文。”
这里的问题很微妙但很严重: 分布偏移 (Distribution Shift) 。 LLM 有自己从庞大的互联网中学到的“写作风格”。当 LLM 写推文时,它看起来通常与你的特定数据集中真实用户的推文截然不同。如果你在这个“合成”风格上训练分类器,它通常很难在测试期间识别出“真实”风格。
权衡
我们本质上被困在两个不完美的选择之间:
| 框架 | 来源 | 数据质量 | 分布内 (In-Distribution) ? |
|---|---|---|---|
| 文本挖掘 | 真实数据 | 嘈杂 (标签常错) | 是 (真实数据) |
| 数据合成 | LLM | 干净 (标签正确) | 否 (LLM 风格) |

文本嫁接旨在填补上表中的空白: 提供分布内 (In-Distribution) 的干净 (Clean) 标签。
解决方案: 文本嫁接
文本嫁接的核心见解是,即使一个句子不属于少数类,它也可能包含非常适合目标领域的结构成分或措辞。
作者提出了一个生物学隐喻: 嫁接 。 在植物学中,你可能会取一棵树的根 (提供稳定性和对土壤的适应性) ,并将另一棵树的枝条嫁接到它上面 (以生产特定的果实) 。
在本文语境中:
- 砧木 (Rootstock) 是你数据集中的原始文本 (提供正确的写作风格/分布) 。
- 接穗 (Scion) 是少数类的语义含义 (由 LLM 提供) 。

如图 1 所示,该过程通过保留有用的单词并重写其余部分,将多数类文本 (例如,一条普通推文) 转换为少数类样本 (例如,一条“惊讶”推文) 。
三阶段过程
让我们以生成“惊讶”情绪的数据为例,详细分解该算法是如何工作的。
第一阶段: 潜在文本挖掘
首先,我们需要在原始数据中找到“潜力”。我们不是在寻找已经是惊讶的文本;我们是在寻找很容易变得惊讶的文本。
研究人员使用一个小巧高效的 LLM (如 Gemma-7B) 对原始文本中的单词进行评分。他们计算每个单词的“潜力得分” (\(\Delta p\)) 。这个分数衡量了当我们以特定类别标签为条件与通用指令相比时,一个单词出现的可能性增加了多少。
单词 \(x_{(i,j)}\) 的潜力得分公式为:

- \(I_c\) : 带有类名的指令 (例如,“写一个惊讶的句子”) 。
- \(I_r\) : 正则化指令 (例如,“写一个句子”) 。
如果一个单词经常出现在“惊讶”的语境中,但在通用语境中不常出现,它就会得到高分。
然后,我们通过对表现最好的单词 (Top-K%) 的分数求平均值来对整个句子进行评分:

具有高 \(\Delta P_i\) 的文本被选为候选文本。
第二阶段: 模板创建
一旦我们有了一个候选文本,我们不会保留整个文本。我们保留高潜力的单词 (“根”) ,并屏蔽其余部分。
- 高分词: 保留作为锚点 (例如,“believe”,“when luck”,“feel”) 。
- 低分词: 替换为空白标记
_。
这就创建了一个模板 。 该模板强制最终输出保留原始数据集的句子结构和词汇,从而保留分布特征。
第三阶段: 模板填充
最后,我们将此模板输入到一个强大的 LLM (如 GPT-4) 中。我们要求它填空,以创建一个符合目标标签的连贯句子。

图 3 提供了一个具体的演练:
- 原始文本: 分析一个随机句子。
- 评分: 识别出像“believe” (相信) 和“luck” (运气) 这样的词对于“Surprised” (惊讶) 类具有高潜力。
- 模板:
_ believe _ when luck _ feel _ - 合成: LLM 填补空白以产生: *“I can’t believe it when luck suddenly changes, and I feel completely astonished.” (当运气突然改变时,我简直不敢相信,我感到完全震惊。) *
结果是一个明显表示“惊讶”的句子 (归功于 LLM) ,但保留了原始语料库独特的措辞方式 (归功于模板) 。
实验与结果
这种混合方法真的比单纯让 GPT-4 写句子更好吗?作者在多个数据集上测试了文本嫁接,包括 TweetEval、Emotion 和 20News。
击败基线
结果令人信服。文本嫁接始终优于标准的文本挖掘 (TM) 和数据合成 (DS) 方法。

请看表 3 中的 “Zero-Occur” (零出现) 一行。这是一个极端场景,研究人员从原始文本中删除了所有少数类的实际实例。
- 文本挖掘完全失败 (得分为 0.00) ,因为没有东西可找。
- 文本嫁接仍然表现出色 (在 TweetEval 上得分约 30.61) ,证明它不需要数据中存在该类别——它只需要风格存在。
可视化分布
研究人员还使用主成分分析 (PCA) 可视化了生成文本的数学“位置”。

在图 4 中,你可以看到分布情况:
- 绿色/黄色 (原始数据) : 这是我们想要达到的目标。
- 蓝色 (数据合成/Incubator) : 注意这个聚类有多远?这就是“分布偏移”。LLM 用它自己的风格写作,而不是数据集的风格。
- 紫色 (文本嫁接) : 这个聚类距离原始数据要近得多。通过嫁接到现有模板上,该方法成功模仿了现实世界的分布。
为什么有效: 分析
论文包含了一项消融研究,以了解流程的哪些部分最重要。
1. 掩码比例
我们应该保留多少原始句子?
- 如果保留太多 (低掩码比例) ,LLM 无法充分改变含义以适应新标签。
- 如果屏蔽太多 (高掩码比例) ,我们就会失去结构优势,退化为标准生成。

图 6 显示, 0.75 左右的掩码比例 (屏蔽 75% 的单词) 是“最佳平衡点”。这给了 LLM 足够的自由度来发挥创造力,同时迫使它遵守原始句子结构。
2. 效率与负样本
通常,在使用合成数据训练分类器时,你需要生成“负”样本 (不属于目标类别的文本) 来教模型区分。这会使成本翻倍。

然而, 图 5 揭示了文本嫁接惊人的效率。红色条形 (没有负样本合成的文本嫁接) 通常表现得和需要生成负数据的方法一样好,甚至更好。因为嫁接文本已经是“分布内”的,所以简单地使用随机原始文本作为负样本就足够了。这使得文本嫁接非常高效。
案例研究: 优势与失败
文本嫁接很强大,但它依赖于这样一个假设: 原始数据包含值得保留的复杂结构。

图 8 完美地说明了这一点:
- 优势 (上图) : 在处理复杂的句子结构 (如“政治”示例) 时,嫁接成功地将关于缝纫机的句子转换为关于参议员的句子,并保持了复杂的语法完整。
- 失败 (下图) : 如果领域是简单的事实性问题 (例如,“哪位墨西哥领导人被枪杀……”) ,模板方法可能会显得笨拙。将“狼”强行塞进关于“领导人”的模板会导致无稽之谈。在文本结构非常简单的情况下,标准生成可能就足够了。
结论
文本嫁接代表了极弱监督学习迈出的重要一步。它解决“少数类”问题的方法不是更努力地搜索可能不存在的数据,也不是幻觉式地生成看起来很假的数据,而是重新利用我们已有的数据。
通过在原始文本中识别“可嫁接”模板并使用 LLM 填充它们,我们可以创建高质量、多样化且至关重要的分布内训练数据集。
对于学生和从业者来说,这篇论文提供了一个宝贵的教训: 有时生成新数据的最佳方式不是从头开始写,而是建立在现有的结构之上。
主要收获:
- 少数类很难分类,因为它们很稀有 (难以挖掘) ,通常需要特定的领域知识 (难以合成) 。
- 文本嫁接挖掘的是“模板”而不是全文,识别对目标类别具有高潜力的单词。
- 该方法生成的数据与真实世界分布一致,从而带来更好的分类器性能。
- 即使目标类别在原始数据中零出现 , 它依然稳健有效。
](https://deep-paper.org/en/paper/2406.11115/images/cover.png)