基于强化学习与自注意力机制的朝鲜语重要句子结构识别
2021-10-19杨飞扬崔荣一赵亚慧李飞雨
杨飞扬,崔荣一,赵亚慧,金 晶,李飞雨
(延边大学 计算机科学与技术学院 智能信息处理研究室,吉林 延吉 133002)
0 引言
少数民族语言文字造就了中华文字的多样性,是中华文字的重要组成部分,为民族文化的发展提供了重要的支持。朝鲜语是我国朝鲜族的官方语言,但我国在朝鲜语自然语言处理方面的研究起步晚、基础差、缺少大规模数据。相比朝鲜与韩国,我国的相关研究还处于基础阶段,无论从知识产权与夺取信息优势的角度,还是自主创新与经济效益的角度,都需要大力推进我国朝鲜语信息处理建设。因此,本研究对加强民族交流团结与推动社会主义文化大发展具有重要的现实意义和迫切的时代需求[1-2]。
目前对于朝鲜语句子的人工标注,结构划分需要花费大量的精力与时间,针对这一问题,利用表征学习的逻辑,从语言本身出发,Li等人[3]提出了以汉字中偏旁部首为特征粒度的charCBOW和charSkipGram模型来提升文本相似度计算的效果,Cui等人[4]与Joshi等人[5]证明了在预训练中屏蔽粗粒度标记对语言模型是有帮助的。Devlin等人[6]提出的BERT(Bidirectional Encoder Representations from Transformers)模型对海量公开数据集进行预训练,在11个自然语言处理下游任务中取得了非常好的效果,其中,英文使用Word Piece子词粒度,中文使用字粒度。因此,本研究将朝鲜语切分为音素、音节、子词、词与隔写5种不同粒度。根据预处理后不同粒度切分后的序列中包含的特征信息的不同,探讨在朝鲜语自然语言处理下游任务中甄选最优粒度来提升模型效果。
从强化学习的角度,将句子重构作为智能体,将句子中单词结构之间如何连接作为动作,将朝鲜语文本分类效果作为强化学习中的环境反馈。而主流的分类模型大致可分为词袋模型、序列模型和图模型。其中,基于统计的词袋模型往往忽略词之间的语义,已经逐渐淡出历史舞台[7]。基于RNNs、CNNs的序列模型在与注意力机制结合的过程中能够获取单词依赖关系和文本结构[8],基于Transformer衍生出的模型在文本任务上有着良好的表现[9]。图模型在捕获语言内部的语法语义解析树方面有着很好的效果[10]。但两者在小规模数据、低资源语言的处理上,由于模型的复杂度与数据的规模的配值失调,并不能有同样强大的表现,所以在处理朝鲜语文本的过程中,本研究结合强化学习的方法提出了HS-K(Hierarchically Structured Korean)模型,将重要结构识别问题转化为序列处理问题,构建词级到短语级的的分层结构,利用强化学习中Actor-Critic的思想[11],将分类准确率作为反馈来学习更好的结构划分,并在预处理部分采用多种粒度进行单词切割,从而识别出更接近人类标注的重要结构。
1 相关工作
1.1 针对朝鲜语的多种特征粒度预处理
探究朝鲜语的多种特征粒度作为输入表示的动机在于,对低资源语言的自然语言处理任务而言,最初的输入尤为重要,模型需要选择一种最为直观的切分粒度。朝鲜语属于黏着语,词根构词法与词缀构词法发达,词汇多数为双音节词与多音节词,且在朝鲜语现行的拼写法中,一般会把隔写作为语节的切分依据,即使用空格切分获得的文本粒度称为语节,语节中会包含词根与词缀。因此,在朝鲜语自然语言处理中,可以利用这些空格对文本进行切分,形成最大粒度的特征表示单元。在朝鲜语分词处理中,会拆分出语节中的助词或词尾,并将谓词还原成词语本身[12]。在朝鲜语分词工具集KoNLPy[13]中包含多种分词工具,例如,Hannanum、Kkma、Komoran、Mecab。针对同一句朝鲜语文本,使用不同分词工具的切分效果如表1所示。
表1 不同分词工具对朝鲜语文本的切分效果
在表1中,Kkma能够分辨出一词多译的现象,所以本文使用Kkma分词工具获得词粒度。子词粒度,是将经过分词处理后的词干或词尾表示成为更小的片段,它使得构建的词典变小。在子词粒度中,传统方法使用BPE算法[14]或Unigram[15]模型。在文献[6]中,BERT模型采用Word Piece进行分割。Word Piece与BPE类似,在每次合并时都选择最频繁出现的字符对,但区别是Word Piece使用类似于Unigram的方法,需要考虑字符对合并的可能性进行判断。本文采用Word Piece获取朝鲜语文本的子词粒度。朝鲜语中句法的最小单位是词,词法的最小单位是音节。能够一次发出的音,具有一个响亮的中心,并被明显感觉到的语音片段叫作音节。朝鲜语属于单音节语言,即一字一音。由于音节数量有限,以音节粒度表示文本时可以保证较小的特征空间,空间复杂度较低。在词粒度中,不同的分词工具处理方法不同,可能会导致病态分词,造成误差[16]。所以当选择音节作为特征粒度时,不会像词粒度一样有不同的表示。比音节更细的粒度还有音素粒度,朝鲜语中的所有音素,如表2所示。
在朝鲜语中,音节由辅音、元音与韵尾三部分构成,辅音、元音与韵尾三部分统称为音素。使用音素粒度对语料进行切分后,对每个音素的字符序列进行编码。在以上多种粒度切分的基础上进行下游自然语言处理任务便可以在不同程度上提升模型的效果。
表2 朝鲜语中的所有音素
1.2 结合注意力机制与强化学习的策略网络
强化学习通过从环境状态映射到动作过程中获取最大累计奖赏,解决了复杂状态空间下的决策问题[17],决策网络的核心逻辑是Actor-Critic思想,与传统的有监督学习不同,在序列级任务中引入强化学习,使得训练过程中直接优化奖励而不再使用交叉熵损失函数,而是将环境反馈信息reward作为有监督学习中的标签。基于不同的策略会得到不同的reward值,reward值越大则动作下次被选中的概率就越大,reward值越小则动作下次被选中的概率就越少,每一个动作产生的反馈累计的总和表示一个完整句子的reward值[18]。
在训练的初期采用随机策略π(at|st;Θ),相比较交叉熵的梯度下降,相当于在动作的概率分布上加入了reward系数,通过一次完整的动作叠加得到反馈,即经历了一次完整的状态-行为序列后得到反馈。其中,每个状态(单词)都对应一个动作,而动作的判定来自对动作函数的采样,在一次完整的句子结构重构的过程中,每个单词都会获取相应的动作,对动作采样后选择概率最大的动作,继而每个句子都会获取相应的动作序列。将得到的动作序列传入文本表示模型,更新句子的结构划分而进行重构,将重构后的句子表示输入到分类器中得到分类的准确率P(y|X),X表示输入的句子,y表示分类的标签。并将其用于反馈函数计算得到reward值,用于模型学习。策略与动作的计算如式(1)、式(2)所示。
其中,π(at|st;Θ)表示选择动作的概率,σ表示激活函数;Θ={W,b}表示神经网络的参数。
结合强化学习算法中的Policy Gradient方法[19],计算不同策略下的reward值,达到最大的奖励收益,如式(3)所示。
(3)
其中,s表示当前状态单词,RL表示句子累计奖励。在此基础上,在强化学习网络的动作序列生成过程中加入注意力机制。因为朝鲜语数据量较少,并且动作序列的获取相对于机器翻译的任务更为简化,所以使用以Self-Attention模型[20]作为核心的注意力模型。在一般的Attention中,source和target中的内容不同,即Query不属于Key,而Self-Attention发生在单个句子内,它的Query属于Key。其注意力机制可表示如式(4)、式(5)所示。
(4)
(5)
2 基于强化学习的朝鲜语重要结构识别模型(HS-K)
由于朝鲜语属于黏着语,词根、词缀表达法丰富,相同的词根与不同的词缀结合后所表示的含义不同,且具有丰富的语言表达形式,所以在预处理时选择不同粒度的切分所包含的语义以及所生成的词典的大小有很大的变化,同时会对下游任务产生一定的影响。
针对这一问题,本文最终的目的是通过强化学习的思想,利用朝鲜语文本分类任务的效果作为标签信息,识别出朝鲜语句子中重要的结构。本文提出了一种分层结构的表示模型——HS-Korean模型,其主体包括三个部分: 策略梯度网络、结构表示模型与分类器,其中,结构表示模型对应强化学习中的Agent部分,根据策略网络传入的动作序列对句子进行结构划分。策略网络对应Action部分,对动作进行抽样筛选,与Self-Attention结合,强化学习中动作的优选与Self-Attention机制的权重分配相呼应,使每个句子对应一个动作序列,同时优化了随机策略对于强化学习造成的方差过大与难以拟合的劣势。分类器对应reward部分,根据更新的句子结构,得到不同结构划分下的分类准确率,用来指导策略网络学习,具体模型如图1所示。
图1 基于强化学习的网络模型结构图
2.1 HS-K模型强化学习网络中反馈函数设计
尽管在强化学习的过程中可以得到逐渐提升的文本分类准确率,但要成功地将强化学习训练拟合并不容易,训练的过程中面临的主要问题有方差较大、梯度不稳定与训练效率低等。目前关于强化学习的训练设置,尚未能达成如何避免此类问题的共识,甚至还没有系统的研究。对于深度强化学习而言,反馈函数的设计直接影响模型效果,其作用至关重要。本文提出的模型对于反馈函数的设计,意图将文本分类准确率与适合朝鲜语数据特点的短语长度作为参考特征,使结构划分过程中不但能提升文本分类的准确率,同时使朝鲜语重要结构的切分任务更接近人工的标注。在分类任务中利用Transformer的encoder部分作为编码器,如图2所示。
图2 Transformer模型结构图
在Transformer的encoder部分[6],由8个相同的网络层堆叠而成,每个网络层包含两个使用残差连接的子网络层,两个子网络层分别为多头自注意力层与前馈神经网络层,在每个网络层中加入Add&Norm层,用于将当前层输出累加并归一化,其中最主要的模块是多头自注意力机制(Multi-Head Attention),其计算如式(6)、式(7)所示。
基于Transformer分类网络得到朝鲜语文本分类的准确率后,若想用于预测结构划分,还需要考虑朝鲜语文本的特点。在一个标准的朝鲜语句子中,短语数目不能过多,也不能过少,可以选用单峰函数控制句子中的短语数目。在语言特征方面,朝鲜语的划分以句子平均长度为10为例,在人工标注100条数据后,统计得出对应平均短语数为2.9,所以认为单峰函数极值应接近0.29。单峰函数与Reward函数设计如式(8)、式(9)所示。
f(x)=1.2x+0.1/x
(8)
RL=logP(y|X)+γ(1.2L′/L+0.1L/L′)
(9)
其中,L′表示划分的短语数,L表示句子长度,γ表示调节超参数,P(y|X)表示文本分类准确率,用分类的准确率与语言特征相互牵制,达到更好的短语结构划分结果与分类结果。在强化学习的过程中,梯度估计存在较大的差异。为了减少差异,Ranzato等人[21]在反馈函数中减去平均奖励,用于更新策略的实际奖励为如式(10)所示。
(10)
2.2 HS-K模型的具体构造
在深度强化学习与Self-Attention相结合的过程中,环境反馈是非常重要的一部分,而本文提出的模型主要以文本分类准确率作为标签信息。在划分结构的过程中,需要获取单词级到短语级的分层关系,故本文采用层次结构模型作为结构表示的基础,其中,关于文本分类的层次结构模型已经广泛应用于分类任务中,例如,Chung等人的层次特征语言模型[22]与Tang等人的门控递归情感分类模型[23]。
在HS-K中包含单词级Self-Attention与短语级Self-Attention,其中单词级Self-Attention将单词序列拼接为短语序列,动作设置为inside与end,即在t-1时刻采样动作为end时,认为t时刻为下一个短语中的第一个单词,其他情况则认为当前时刻的单词状态为短语的中间词,具体过程如式(11)所示。
(11)
短语级Self-Attention将得到的短语序列拼接为句子的最终表示,在t时刻动作为end时表示在t时刻完整构建短语,将单词级隐状态作为短语级的输入,与单词级相同,其他时刻采用动作inside,此过程可以固定短语级Self-Attention,具体过程如式(12)所示。
(12)
图3 HS-K模型结构图
在切分的过程中,reward函数能够同时控制短语切分的位置与短语的长度,在提升分类准确率的过程中,对朝鲜语句子切割得到的短语也逐渐趋近于人工的标注。
3 实验结果及分析
3.1 实验数据集及预处理
实验所用数据集源自本实验室承担的“中韩科技信息加工综合平台”项目构建的科技文献摘要语料,文档约3万篇,分为植物、生物技术、测控技术等13个标签,其中,各标签按8∶1∶1的比例随机选取文档形成训练集和测试集[24]。数据集详情如表3所示。
表3 数据集类别及数目
在朝鲜语预处理中,本实验将语料切分为音素、音节、子词、词与隔写5种不同粒度,不同粒度包含不同的语义信息,同时所构建的词典规模同粒度规模成正比。对于同一句语料信息,使用不同粒度处理后的样式如表4所示。
表4 不同预处理粒度展示
在最终模型下选用不同的粒度进行分类准确率测试,具体效果如表5所示。根据不同粒度在分类效果上的表现,本文最终选择经过Kkma分词处理后再使用Word Piece获得的朝鲜语文本子词粒度,即选择子词粒度作为文本的特征粒度。
表5 不同预处理粒度下的分类准确率
3.2 模型设置及对比实验
在实验的初始化过程中,采用GloVe方法作为词嵌入训练预处理词向量[25],维度设置为256,与位置编码拼接后共同作为模型的输入。因为强化学习的梯度下降比较困难,故采用抑制因子γ平滑策略的更新。在优化器的选择方面,采用了AdaBelief优化器[26],其优点在于可采用自适应方法快速收敛,具有Adam[27]的良好泛化性与训练稳定性,定义优化器的学习率为0.005,分类器采用Transformer堆叠8层的模式,加入Positional Encoding后维度设置为512。
在模型训练的过程中,首先将策略网络Mask,再将完整句子输入到分类器中,达到稳定状态后加入强化学习的策略网络,在训练初期,模型的分类准确率在70%上下浮动,准确率随着迭代而提升,在迭代次数为500到750之间时,准确率上升较快,在1 000次之后准确率在不断波动,最终模型的分类准确率达到85.04%,具体过程如图4所示。
图4 HS-K模型训练过程图
在模型拟合过程中损失函数的变化如图5所示,不同于以往的下降趋势,在引入强化学习后,模型的loss值有波动地下降,在准确率已经最终接近拟合时,loss的波动也明显变小。
图5 HS-K模型损失函数变化图
在分类有效性的对比实验中,采用了以机器翻译为核心的模型MT[28],以序列模型为核心的神经网络模型包括CNN[29]、LSTM、Bi-LSTM与T-BLSTM-CNN[30],以强化学习为核心的ID-LSTM、HS-LSTM[18]。其中,所有模型所使用的词向量维度与预处理粒度均与本文相同,具体结果如表6所示。
表6 多种模型的分类准确率
从多个模型的分类结果可以看出,本文提出的HS-K模型表现良好,从而也证明了针对朝鲜语文本选用合适的粒度作为预处理,同时引入强化学习作为核心逻辑的方法,对于分类效果提升是有效的。在分类准确率处于峰值时,对于朝鲜语句子划分如图6所示。
图6 朝鲜语结构化样例图
图6中的朝鲜语句子在预处理后,模型对其划分出新的“短语”结构,识别出的短语结构接近于人工的标注,同时证明了在强化学习过程中,使用通过分类任务来指导句子的表征学习策略,能够得到良好的文本表示。
4 结论
本文将深度强化学习与Self-Attention相结合,针对朝鲜语文本,提出了一种能够不依赖人工数据标注,识别出句子中重要结构的HS-K模型。模型中主要包含了三个网络,在强化学习的核心逻辑下,将句子的结构表示作为Agent,将句子的结构划分作为Action,将分类器的分类效果作为reward,三个网络集成在一起。在模型训练的过程中,引入基线奖励加速了模型整体的收敛速度,深度强化学习与Self-Attention相辅相成,不但弥补了强化学习难以拟合、反馈信息难以定义的劣势,同时也解决了在注意力机制中模块的参数全部通过标签预测的Loss值反向传播,没有引入其他的监督信息导致的对标签的过拟合问题。实验结果表明,作为模型指导信息的分类效果表现良好,同时得到的朝鲜语句子结构划分接近人工标注。