system: [SYSTEM]

user: 3. 韵律单元边界预测方法 3.1. BERT-CRF模型 3.1.1. BERT模型 BERT模型(Bidirectional Encoder Representation from Transformers)，是Google公司于2018年提出的一种基于Transformer模型的语言模型。我们可将BERT模型看作为一个通用的语言模型，用于实现不同的下游任务。BERT模型结构 [ 10 ] 如图2所示，所使用Transformer的编码器部分 [ 11 ]，结构如图3所示。 其中，图中用Tran表示Transformer模型， E 1 ， E 2 ， ⋯ ， E m 表示以字为单位的文本输入， T 1 ， T 2 ， ⋯ ， T m 表示模型的输出向量。 如图3所示，Transformer模型的编码器是由多层单元组合构成，每层单元包含两个子层，每层单元内部的子层间是通过残差连接，以确保信息能完整传输： 图2. BERT模型结构 图3. Transformer模型的编码器结构 第一个子层：将以字为单位的序列输入至多注意力机制层，在编码过程中可查看该字的前后信息。在自注意力机制中，每个输入的字向量中含有三个d维的分向量，将分别乘以查询权重、键权重，以及值权重得到查询向量Q、键向量K、值向量V；然后为获得每个字的注意力得分，查询向量Q和键向量K进行内积处理；最后注意力层的输出和输入进行相加，对结果进行归一化处理得到A，如式(2-1)。 A = softmax ( Q K T d k ) V (2-1) 其中， d k 为惩罚因子。 由于BERT模型使用的是多头注意力机制，是由多个自注意力机制组合而成的，所以，多头注意力层的输出计算方式如式(2-2)、(2-3)。 h e a d i = A t t e n t i o n ( Q W i Q ， K W i K ， V W i V ) (2-2) M u l t i h e a d = c o n c a t ( h e a d 1 ， h e a d 2 ， ⋯ ， h e a d n ) W O (2-3) 其中， W i Q 、 W i K 、 W i V 分别表示第i个注意力的 W Q 、 W K 、 W V 权重矩阵， W O 是随机初始化矩阵。 第二个子层：将第一个子层的输出传入一个全连接的前馈神经网络中，然后进行上述同样的残差处理和归一化处理。 为了训练深层的双向Transformer模型，本文采用了掩蔽的语言模型(Mask Language Model，MLM)作为训练任务，只需要预测被掩蔽的字，而无需重建整个句子。在每个输入句子中随机选择15%的缅甸字作为要被遮盖的字，然后在这些被遮盖的字中，随机选择80%的字直接用“[MASK]”替代，10%的字随机替换成其他字，10%的字保留不变 [ 10 ]。 3.1.2. CRF模型 条件随机场模型(Conditional Random Fields，CRF)是基于最大熵模型(Maximum Entropy Model，ME)和隐马尔科夫模型(Hidden Markov Model，HMM)构建的一种判别式概率模型，该模型使用全局优化的思想，可以更好地对文本序列实现标签预测。假设给定一组输入序列 A = ( a 1 ， a 2 ， ⋯ ， a n ) ，对应的预测序列为 Y = ( y 1 ， y 2 ， ⋯ ， y n ) ，那该预测序列的分值函数 [ 12 ] 如式(2-4)。 s ( A ， y ) = ∑ i = 0 n M y i ， y i + 1 + ∑ i = 1 n P i ， y i (2-4) 其中，M为标签之间的转移分数， P i ， y i 为每个字对应标签的分数。 在模型训练过程中，采用极大似然优化方法进行优化，得到预测序列的似然概率如式(2-5)。 log ( P ( y | A ) ) = s ( A ， y ) − log ( ∑ y ¯ ∈ Y A n e s ( A ， y ¯ ) ) (2-5) 其中， Y A 是指一个输入序列A对应的所有预测的标签序列。 在模型预测阶段，采用Viterbi算法，得到最大得分的输出序列如式(2-6)。 y * = arg y ¯ ∈ Y A max s ( A ， y ¯ ) (2-6) 通过公式(2-6)可以看出， s ( A ， y ) 分值越高，预测越准确。 3.1.3. BERT-CRF模型 本文将韵律单元边界预测任务看作是字级别的序列标注任务，提出了基于BERT-CRF模型的缅甸语韵律单元边界预测模型，该模型充分将BERT模型和CRF模型的优点结合，利用BERT预训练模型获取上下文信息序列，自动学习序列的状态特征，将状态特征连接至一个全连接层输出一个状态分数，然后又直接传入至CRF网络；通过CRF网络对预测结果进一步加入约束条件来保证预测结果的合理性。该模型可分为三部分：输入层、BERT层和预测层。其模型结构如图4所示。 图4. 基于BERT-CRF模型的缅甸语韵律单元预测 BERT模型的输入是一组将文本中的每个缅甸字经过查询字向量表转换成的向量序列。输入由3部分组成，由下至上分别为：字向量(token embedding)、分割向量(segment embedding)、位置向量(position embedding)。其中，字向量是BERT模型经过对大规模样本的无监督训练得到的词向量或字向量，本文用的是字向量，输入序列的首个字符由一个特殊的[CLS]标签填补。分割向量是用于划分文本的句子或段落，就段落而言，E A 和E B 分别代表左句子和右句子；就句子而言，只存在E A 。此次用于实验的缅甸语文本语料是单个句子，所以用E A 表示，分割向量为0。位置向量是表示该缅甸字在当前句中的位置信息。 BERT模型的输出是每个缅甸字的编码向量，大小为768，此向量中含有当前位置的语义信息。在BERT模型后添加一层全连接层，便可把编码向量序列转换为预测标签集合，从而为下一步实现韵律单元边界预测做准备。 在文本序列标注任务中，预测阶段往往采用softmax函数计算出各个标签的概率，将最大概率对应的标签作为最终的预测结果，显而易见预测过程中没有考虑标签之间的关系，而CRF网络可以自动学习到标签的前后信息，对预测结果加入限制条件来保证预测结果的正确性。在训练过程中，CRF层会主动学习到所有的限制条件，从而可使得错误的预测序列极大降低。 3.2. 输入数据预处理和模型训练方法 3.2.1. 输入数据预处理方法 本文将韵律单元边界预测任务视为是序列标注任务，并且是在BERT预训练模型的基础上利用自己已标注数据进行训练，因此需要对文本数据进行预处理。缅甸语文本语料库是以单句为单位，需要将文本数据按照格式预处理成两列：一列缅甸字(即缅甸语音节)，一列标注标签，利用“BMES”作为标注标签。一个缅甸语句子实例：မင္းလွၿမိဳ႕ဆိုတာရူခင္းသိပ္သာယာတဲ့ၿမိဳ႕ကေလးျဖစ္ငါတယ္။，其韵律标注过程如图5所示。过程①表示将句子分为4个韵律短语，过程②表示将一个韵律短语划分为相应的韵律词，过程③表示将每一个韵律词划分为对应的音节进行标注。 图5. 缅甸语韵律文本标注 3.2.2. 模型训练方法 由于韵律词与韵律短语之间是一种递进关系，韵律词是韵律短语的构词基础，所以为了避免韵律词的预测效果影响韵律短语的预测效果，本文选择分别独立训练和预测韵律词和韵律短语。对于每个任务，首先对每个缅甸字得到其输入的特征向量，然后经过BERT预训练模型和全连接层得到每个字的输出结果，将输出结果直接通过CRF线性层，进行式(2-5)处理得到预测序列的概率向量，最后根据式(2-6)得到最大的分值对应的预测标签。