SWAN: Semantic Watermarking with Abstract Meaning Representation¶
会议: ACL2026
arXiv: 2605.04305
代码: 无
领域: LLM安全 / 文本水印 / 语义表示
关键词: 语义水印, AMR, paraphrase robustness, S2match, 文本溯源
一句话总结¶
SWAN 用 Abstract Meaning Representation 模板把水印嵌入句子的语义图结构,而不是 token 或 embedding 区域,因此在保持原意的 paraphrase 后仍能通过 AMR 解析、模板匹配和比例 z 检验检测出水印。
研究背景与动机¶
领域现状:LLM 生成文本越来越自然,文本水印成为识别 AI 生成内容、追踪内容来源和缓解大规模误导信息的重要技术路线。
现有痛点:主流 token-level watermark 通过改变生成时的 token 采样偏好,把更多 token 推向 secret green list。这类方法实现简单、检测方便,但遇到 paraphrase、同义替换或轻微重写时很容易丢失信号。
核心矛盾:水印既要隐蔽、可检测,又要能经受保持语义的改写。token 级信号太表层,embedding 级语义水印虽然更稳,但如果 paraphrase 把句向量推到另一个语义区域,检测仍会下降。
本文目标:作者希望把水印锚定到比 token 和 sentence embedding 更稳定的层级:句子的抽象语义结构。只要改写没有改变“谁对谁做了什么”这类核心语义关系,水印就应该保留。
切入角度:Abstract Meaning Representation 用图表示句子语义,节点代表概念或事件,边代表语义角色。多种表层不同的 paraphrase 可以映射到同一个或高度相似的 AMR 图,这天然适合做 paraphrase-robust watermark。
核心 idea:构建一个私有 AMR template bank,生成时让每个句子匹配随机抽取的 AMR 模板,检测时解析文本 AMR 并统计与私有模板匹配的句子比例。
方法详解¶
整体框架¶
SWAN 的核心改动,是把"水印 key"从词表哈希或 embedding 分区,换成一个私有的 AMR 模板库;整个方法 training-free——不训练水印模型、不接触目标 LLM 的 logits,只靠 prompt 引导加拒绝采样,把句子"挤"进目标语义结构。
构建阶段,作者从 MASSIVE-AMR(约 84K 个 AMR 图、对应 1685 条信息查询类语句)出发,把原始 AMR 进一步抽象成模板:具体命名实体换成 NE、普通名词换成 N、不指定的概念换成 X,只保留频率落在 3~20 之间、且至少含 3 个概念节点的 pattern,得到一个私有 template bank。
生成阶段,每写一句话就从私有库里随机抽一个模板,把当前上下文和模板一起塞进 LLM prompt,要求它生成一句既连贯、又满足用户原意、还尽量贴合模板语义结构的句子;生成后用 AMR parser 把候选句解析成图,再用 S2match 和目标模板算相似度,超过注入阈值就接受、否则重采样,若某模板在当前上下文反复失败就换一个,避免死磕不兼容的结构。检测阶段则把候选段落切句、逐句解析 AMR,算它与私有库里所有模板的最大 S2match,超过检测阈值即记为 watermarked,最后对整段 watermarked 句子的比例做 one-proportion z 检验。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400, 'subGraphTitleMargin': {'top': 8, 'bottom': 16}}}}%%
flowchart TD
subgraph BANK["私有 AMR 模板库"]
direction TB
A["MASSIVE-AMR<br/>约 84K 个 AMR 图"] --> B["抽象成模板<br/>实体→NE / 名词→N / 概念→X,保留频率 3~20"]
end
BANK --> C["随机抽一个模板"]
C --> D["AMR 引导的拒绝采样注入<br/>上下文 + 模板塞进 prompt,LLM 生成候选句"]
D --> E["AMR parser 解析候选句,与目标模板算 S2match"]
E -->|"S2match ≥ θ_accept 接受"| F["写入该句"]
E -->|"低于阈值则重采样;反复失败则换模板"| C
F --> G["段落级 z 检验<br/>逐句取最大 S2match ≥ θ_detect 计入命中数 k"]
G --> H["one-proportion z 检验<br/>判断命中比例是否异常偏高 → 判定 watermarked"]
关键设计¶
1. 私有 AMR 模板库:把水印密钥从"词表/向量区域"换成"抽象语义图结构"
token 级方法的 key 是绿名单词表,embedding 级方法的 key 是向量区域,二者都活在表层或连续空间里,paraphrase 一改就容易移位。SWAN 把 key 定义成一组抽象语义图:从 MASSIVE-AMR 抽出图结构后,剥掉具体实体和词汇细节,只留谓词、语义角色和概念关系。模板频率的区间(3~20)是刻意卡的——频率太低的 pattern 太稀有、生成时很难命中,频率太高的又太常见、会推高误报,中等频率才兼顾可生成性和判别力。只要这个 bank 保密,检测方就能验证结构匹配,而攻击者根本不知道该绕开哪些 AMR pattern。
2. AMR 引导的拒绝采样注入:不改参数、不碰 logits,把句子推向目标语义结构
直接往句子里硬插关键词会破坏流畅度,也容易被删掉。SWAN 改为让模型"围着模板写":prompt 里同时给出历史上下文和目标 AMR 模板,要求生成自然句并把 NE/N/X 等占位概念实例化;每个候选句被解析成 \(\hat{g}\) 后与目标模板 \(g\) 算 S2match,只有当 \(S2match(\hat{g}, g) \geq \theta_{accept}\) 时才接受,否则重采样。这样水印被藏进谓词-论元结构里,表层文字依旧自然;又因为不依赖 logits、是黑盒生成,方法可以直接套在闭源 API 模型上。
3. 段落级 z 检验:把逐句的模板匹配累积成段落级溯源判断
单句 AMR 解析本身有噪声,单句误报也躲不掉,只看一句话不足以下结论。SWAN 对段落里每句算它与 bank 的最大模板相似度,超过 \(\theta_{detect}\) 就计入命中数 \(k\);给定总句数 \(n\) 和零假设下的随机命中率 \(\lambda\),用
判断命中比例是否异常偏高。这把弱的句级信号聚合成强的段落级统计,思路与 token 水印里的 z-score detector 一脉相承,只是把"token 命中"换成了"语义模板命中"。
损失函数 / 训练策略¶
SWAN 没有训练损失,关键超参来自生成和检测流程。AMR bank 默认大小为 50,作者也测试了 100、500、800 的设置。水印生成使用 DeepSeek-R1-Distill-Qwen-14B,temperature 0.6、top_p 0.9,每句最多尝试 50 次(最多 10 个模板、每个模板最多 5 次生成)。检测用 amrlib 的 parse_xfm_bart_large pipeline(基于 BART-large、在 AMR-3 上训练)。paraphrase attack 用 Pegasus、Parrot 和 Claude 3.7 Sonnet;文本质量则让 Claude 3.7 从 coherence、fluency、diversity 三个维度做 reference-free 评分。
实验关键数据¶
主实验¶
无 paraphrase 场景下,SWAN 的 raw detectability 与强 sentence-level baselines 接近,并优于 token-level SynthID 的低 FPR 指标。
| 方法 | AUC↑ | TPR@1%↑ | TPR@5%↑ |
|---|---|---|---|
| SynthID | 97.0 | 64.8 | 84.8 |
| SemStamp | 99.4 | 96.8 | 100.0 |
| k-SemStamp | 99.1 | 96.8 | 96.4 |
| SWAN | 99.1 | 91.6 | 97.6 |
在最关键的 paraphrase robustness 上,SWAN 在三类攻击下 AUC 都最高,尤其对 Claude 3.7 这种强 LLM 改写优势明显。
| 方法 | Pegasus AUC/TPR@1%/TPR@5% | Parrot AUC/TPR@1%/TPR@5% | Claude AUC/TPR@1%/TPR@5% |
|---|---|---|---|
| SemStamp | 97.6 / 87.2 / 97.6 | 94.8 / 69.2 / 97.6 | 84.4 / 36.8 / 84.8 |
| k-SemStamp | 97.3 / 88.8 / 88.4 | 92.8 / 68.0 / 66.8 | 87.6 / 53.6 / 53.2 |
| SWAN | 98.1 / 81.2 / 92.8 | 97.5 / 82.0 / 92.4 | 98.3 / 86.0 / 95.2 |
这个表直接体现 AMR 语义锚定的价值:Claude 改写会显著削弱 SemStamp 和 k-SemStamp,但 SWAN 的 AUC 反而保持在 98.3。
消融实验¶
AMR bank size 对 AUC 的影响较小,说明方法对模板库规模不敏感。
| AMR bank size | AUC↑ |
|---|---|
| 50 | 99.1 |
| 100 | 98.7 |
| 500 | 98.4 |
| 800 | 99.3 |
采样效率方面,SWAN 比 SemStamp 更慢一些,但大多数句子很快收敛。
| 指标 | SWAN | 对比 / 说明 |
|---|---|---|
| 平均接受尝试次数 | 17.7 | SemStamp 为 13.8 |
| 10 次内接受比例 | 42% | 说明相当多模板容易满足 |
| 15 次内接受比例 | 54% | 超半数句子在较低预算内成功 |
| 最大预算附近 spike | 46-50 trials | 表示部分模板与上下文语义不兼容 |
| 生成规模 | 1,250 句 | 250 samples × 每段 5 句 |
关键发现¶
- SWAN 在原文未改写场景不牺牲 detectability,AUC 与 SemStamp/k-SemStamp 基本同档。
- paraphrase 后差距显著扩大,尤其 Claude 改写下 SWAN AUC 98.3,而 SemStamp 只有 84.4,k-SemStamp 为 87.6。
- AMR bank 从 50 扩到 800 后 AUC 仍保持 98+,说明模板覆盖和误报之间的平衡比较稳。
- 拒绝采样开销存在,但 42% 句子 10 次内成功,整体 overhead 可以接受;真正难点在 context-aware template selection。
- 文本质量评估显示所有水印方法都会造成轻微质量下降,但 SWAN 与 sentence-level baselines 相近,没有为鲁棒性付出额外明显质量代价。
亮点与洞察¶
- SWAN 最有价值的洞察是“paraphrase 保留 meaning,因此水印应写进 meaning representation”。这比在 token 或 embedding 上追着 paraphrase 跑更自然。
- AMR 模板库把水印变成可解释的结构信号。检测失败时可以分析是哪类谓词-论元结构没解析出来,而不是只得到一个 opaque embedding hash。
- training-free 和 black-box generation 使方法更容易接入闭源或 API 模型,因为它不需要 logits access,也不需要改模型权重。
- 段落级 z-test 继承了传统 watermark detector 的统计思想,同时把 token 命中换成语义模板命中,是一个很干净的抽象迁移。
局限与展望¶
- 检测高度依赖 AMR parser 质量,解析错误会导致漏检或误报。在低资源语言、专业术语密集文本或非新闻体裁中,AMR 解析可能不稳定。
- AMR bank 是私有 key,如果攻击者猜到或泄露模板库,就可以刻意改写语义结构避开检测。
- 当前方法主要评估英文 RealNews,领域和语言覆盖有限。
- 拒绝采样仍有成本,部分模板与上下文不兼容时会反复失败;需要更智能的 template-context matching。
- SWAN 关注句级 AMR,面对合并句子、拆分句子、跨句改写等攻击时,水印结构可能被重组。未来可探索 paragraph-level AMR 或 AMR subgraph watermark。
相关工作与启发¶
- vs SynthID / token-level watermark: SynthID 依靠 token 分布扰动,低 FPR 检测有效但对 paraphrase 脆弱。SWAN 不改 token 偏好,而是约束语义结构,因此更抗表层重写。
- vs SemStamp: SemStamp 把句向量空间划为 green buckets,具备一定 paraphrase robustness,但强改写会移动 embedding。SWAN 用 AMR 图匹配,能在语义等价改写下保持结构信号。
- vs k-SemStamp: k-SemStamp 用聚类改进语义区域划分,但仍是连续 embedding 区域。SWAN 的离散图结构更可解释,也更贴近“含义不变”的定义。
- vs PostMark / post-hoc watermark: PostMark 通过段落语义和 watermark words 注入信号,实用但可能留下词汇痕迹。SWAN 不依赖固定词表,信号藏在语义角色组合中。
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ 用 AMR 图结构做文本水印非常新颖,和 token/embedding 水印路线差异明显。
- 实验充分度: ⭐⭐⭐⭐☆ 检测、paraphrase、bank size、采样效率和质量评估都覆盖了,语言与领域范围仍偏窄。
- 写作质量: ⭐⭐⭐⭐☆ 方法解释清楚,实验表直接,但 AMR 解析误差与阈值选择还可展开更多。
- 价值: ⭐⭐⭐⭐⭐ 对鲁棒文本水印和 AI 生成内容溯源都有实际启发,尤其适合研究语义级 provenance。