Page 286 - 《软件学报》2026年第2期
P. 286
张建新 等: 依存句法信息增强的完全非自回归翻译 765
的翻译性能, 显著提升了翻译质量.
2 基于依存句法信息增强的 Fully NAT
2.1 符号说明
给定一个翻译数据集 D, 该数据集包含多个句子对, 每个句子对表示从源语言句子 X = (x 1 , x 2 ,..., x N ) 到目标
语言句子 Y = (y 1 ,y 2 ,...,y M ) 的翻译关系. 其中, N 表示源语言句子的长度, M 表示目标语言句子的长度.
源语言句子 X 通过依存句法分析器进行分析, 生成依存句法树 G x =(V x , E x ), 其中, V x 表示一系列节点, 每个单
词作为一个节点. E x 表示一系列边, 表示单词之间的依存关系. 通常, 每个句子有一个虚拟根节点, 根节点连接到
句子的核心词 (例如谓词). 边的标签通常表示依存关系, 如主语、宾语、修饰语等. 图 1 展示了对应于句子的依存
句法树.
punct
root
dobj
nsubj rcomd tmod
det nsubj
Tom wears the cap he bought yesterday ·
图 1 句子及其对应的依存句法树
我们将 R 表示为依存关系标签的集合. 依存句法树中的每一条边通过三元组 (i, j, r i, j ) 来表示, 该三元组能够
有效且精确地描述给定句子中单词之间的依存关系. 父节点是连接的起始点, 边标签表示具体的连接关系类型, 而
子节点是连接的终点. 例如, 三元组 (i, j, r i, j ) 表示从父节点 v i 到子节点 v j 的依存关系, 边的关系标签为 r i, j ∈ R. 如
图 1 所示, 三元组 (wears, Tom, nsubj) 具体表示父节点 wears 到子节点 Tom 的依存关系, 边的关系标签为 nsubj.
同时, 连接某个节点的弧分为输入弧和输出弧, 比如, 节点 wears 具有来自节点 root 的输入弧和指向节点 Tom 的
输出弧.
2.2 句子编码器
如后文图 2 所示, SynNAT 模型采用 Transformer 编码器作为句子编码器, 对输入句子进行编码. 句子编码器采
用 L 1 个 Transformer 编码器块, 每个块包含多头注意力机制和前馈全连接层, 以获得源句子中每个词元的上下文
表示:
H = Enc 0:L 1 −1 (emb(X)) (1)
L 1
( )
其中, Enc 0:L 1 −1 表示句子编码器, emb(·) 为离散词元的嵌入函数, 将其映射为向量表示: H = h ,h ,...,h L 1 为源
L 1
L 1
L 1
1 2 N
句子 X 在句子编码器的最后一层输出的词元表示. 我们还在句子编码器以及接下来要介绍的句法编码器和解码器
的每个子层周围使用了残差连接 [48] , 随后进行层归一化 [49] .
2.3 句法编码器
我们使用 DepGCN [50] 来编码依存句法树. DepGCN 由多个相同的堆叠块组成, 每个块包括一个 GCN [17] 子层和
一个前馈全连接子层. 在句法编码器中, 我们使用了 3 个块. 对于 GCN 子层, 考虑到输入弧和输出弧在节点中的作
用可能不同, 我们同时引入了依存输入弧、依存输出弧和依存关系标签.
( )
H = SynEnc 0:L 2 −1 H , A,e (2)
L 1
L 2
其中, A ∈ R n×n 为依存关系标签的邻接矩阵, n 为源句子中的节点数. e ∈ R , 表示邻接关系标签的嵌入, 其中 d 是嵌
d
( )
入维度. SynEnc 0:L 2 −1 表示由 DepGCN 模块组成的句法编码器. H = h ,h ,...,h L 2 表示从句法编码器最终层获得
L 2
L 2
L 2
N
2
1
的源句子的标记表示. 我们采用 GCN 来利用源句子 X 的依存树 G x 中的依存句法知识. 然而, GCN 原本设计用于
无标签无向图, 而依存树是一个有标签的有向图. 因此, 我们也将依存关系视为节点, 通过聚合邻近关系来获得每
个节点的表示.
l-th GCN 中第 h 的计算见公式 (3).
l
i
i 个标记的向量表示

