CN114330328B - 基于Transformer-CRF的藏文分词方法 - Google Patents
基于Transformer-CRF的藏文分词方法 Download PDFInfo
- Publication number
- CN114330328B CN114330328B CN202111520289.6A CN202111520289A CN114330328B CN 114330328 B CN114330328 B CN 114330328B CN 202111520289 A CN202111520289 A CN 202111520289A CN 114330328 B CN114330328 B CN 114330328B
- Authority
- CN
- China
- Prior art keywords
- layer
- tibetan
- syllable
- crf
- word segmentation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Document Processing Apparatus (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于Transformer‑CRF的藏文分词方法,该方法包括:输入数据集、数据预处理、音节扩展、构建基于Transformer‑CRF的藏文分词模型、训练并保存模型及其参数以及输入待分词语料,输出分词结果。本发明以当前音节为中心向左向右扩展两个单元,使用unigram和bigram相结合的方法,可以提取到更多的特征向量。同时,本发明克服了传统分词方法中存在的运算速度、准确率低等缺点。另外,基于Transformer‑CRF的藏文分词模型采用并行计算,大大增加了计算效率,而且模型中的自注意力机制的特征抽取能力比LSTM的特征抽取能力要好。
Description
技术领域
本发明属于自然语言处理领域,具体涉及一种基于Transformer-CRF的藏文分词方法。
背景技术
藏文是我国一种历史悠久的民族语言,藏文由音节和音节点构成,按音节拼写。音节间用隔开,词尾用/>终结。例如/>中/>词是由两个音节组成,音节中间由/>隔开,一个音节相当于汉语中的一个字。藏语其使用范围遍及西藏、青海、甘肃、四川、云南等西部地区以及尼泊尔、不丹、巴基斯坦、印度等国家的部分地区,使用人口多达800万,分布地域广大。因此加强对藏文信息处理的基础研究很有必要。
分词是指将连续的字序列按照一定的规范重新组合成词序列的过程,对于一个输入句子X=[x1,x2,...,xi,...,xn](其中X表示句子、xi为句子中第i个字,i=1,2,…,n,在本发明中,n最大为80),经过编码后得到的向量输入到分词模型中,得到句子中每个字的标签y=(y1,y2,...,yi,...,yn)。(其中yi为句子中第i个字的标签、yi∈{B,M,E,S},起始字标签B,中间字标签M,结束字标签E,单个字标签S)。在藏文信息处理中,只要涉及到句法、语义,就需要以词为单位进行处理,如藏文信息检索、文本校正、机器翻译、文本分类、自动摘要等。因而在藏文信息处理中首先需要解决词的切分问题。
在分词领域中,以前的研究都是把分词问题看作为序列标注的问题,其按照算法分类可分为基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法。这些方法的最大缺点是需要有大量预先分好词的语料作支撑,训练过程中时空开销极大,而且在效率和精度上远不及深度学习的方法。
近年来,随着深度神经网络的不断发展,基于深度神经网络的分词模型已经成为主流,常用的是循环神经网络(RNN)系列,具有代表性的网络是长短时记忆网(LSTM)以及门控循环单元(GRU)。但是由于RNN的训练是迭代的、串行的,必须要等当前字处理完,才可以处理下一个字,无法进行并行计算,为藏文分词模型在大规模语料上运用带来困难,且计算效率较低。
在2017年,谷歌提出了一种用于seq2seq任务的Transformer模型,它没有RNN循环结构或者卷积神经网络(CNN)的卷积结构,Transformer是一种避免循环的模型结构,它完全依赖于注意力机制对输入输出的全局依赖关系进行建模。相比于RNN模型,Transformer可以进行并行输入且具有更好的特征提取能力。
发明内容
基于上述问题以及Transformer模型的优点,本发明提出了一种基于Transformer-CRF的藏文分词方法,该方法使用Transformer-Encoder作为特征提取器将自然语言序列映射为隐藏层。利用条件随机场(CRF)作为解码器将隐藏层映射为标签序列,该方法可以并行地将字向量输入,计算效率更高。
本发明提出了一种基于Transformer-CRF的藏文分词方法,该方法采用基于Transformer-CRF的藏文分词模型实现,所述基于Transformer-CRF的藏文分词模型依次包括Transformer-Encoder层和条件随机场(CRF)层。相比于传统的分词方法,本发明的计算效率和精度更高;相比于现有的LSTM-CRF模型,本发明的基于Transformer-CRF的藏文分词模型计算效率更高且特征提取能力更好。
本发明提出的一种基于Transformer-CRF的藏文分词方法,具体包括如下步骤:
S1:获取藏文语料,对于所述藏文语料中的每个句子,已经标注了每个音节的标签,所述标签为B、M、E或S,其中B表示起始字标签,M表示中间字标签,E表示结束字标签,S表示单个字标签。藏文语料中的某一个句子如下所示: 其中,#表示分割符。
S2:将所述藏文语料进行预处理,得到预处理后的语料库。
S3:藏文语料进行预处理之后,对预处理后的语料库中每个句子通过音节扩展层对其中的每个音节进行音节扩展,得到每个音节的unigram和bigram拼接特征,由此得到音节扩展后的语料库。将音节扩展后的语料库进行划分,即将音节扩展后的语料库中的所有句子按预设比例划分得到训练集、验证集及测试集。其中训练集用于训练模型,验证集用于调整模型超参数,测试集用于测试模型泛化能力。
S4:构建基于Transformer-CRF的藏文分词模型,所述基于Transformer-CRF的藏文分词模型依次包括Transformer-Encoder层和条件随机场(CRF)层,Transformer-Encoder层将每个扩展后的音节分别映射成隐藏层。
S5:由于Transformer-Encoder层无法学到标签之间的关系,利用Transformer-CRF的藏文分词模型中的CRF层对Transformer-Encoder层得到的隐藏层进行约束修正,所述约束修正采用所述训练集训练基于Transformer-CRF的藏文分词模型实现,模型的训练最大轮数为100轮,即训练100轮后停止训练;并使用验证集对基于Transformer-CRF的藏文分词模型的超参数(如BATCH_SIZE:一次训练的样本数等)进行调整,得到调参后的Transformer-CRF的藏文分词模型。
S6:将所述测试集中藏文语料输入到步骤S5中调参后的Transformer-CRF的藏文分词模型中,然后计算该验证后的Transformer-CRF的藏文分词模型藏文分词精准率(P)、召回率(r)、综合指标(F1)的值。
其中,对于音节扩展层:基于Transformer-CRF的藏文分词模型的输入不仅仅只是当前的输入音节,对于预处理后的语料库中的每一个藏文句子X=[x1,x2,...,xi,...,xn],在句首和句尾添加两个特殊音节<B O S>和<E O S>作为起始字符和结束字符,表示为X=[bos,bos,x1,x2,...,xi,...,xn,eos,eos],以句子X中当前音节为中心向左向右各扩展两个音节单元,设置窗口大小为5,使用窗口内音节的unigram和bigram相结合,作为当前音节的输入。例如对于五个音节来说,第三个音节/>为中心,其unigram表示为/> bigram表示为/>所以/>的特征表示为/> 则X经过音节扩展之后的特征表示为X′=[x′1,x′2,...,x′i,...,x′n],其中x′i表示藏文句子X中第i个音节xi经过音节扩展之后的音节特征。
Transformer-Encoder层:所述基于Transformer-CRF的藏文分词模型的输入为一个句子经过音节扩展之后的特征表示,将X′=[x′1,x′2,...,x′i,...,x′n]中的每一个音节特征x′i编码为音节向量wi,由此得到藏文句子X编码之后的向量表示W=[w1,w2,...,wi,...,wn],i=1,2,…,n,wi表示藏文句子X中第i个音节xi的音节向量。在本发明中,n≤80。用于进行特征提取,将向量嵌入层得到的藏文句子X中每一个音节的音节向量分别映射成对应的隐藏层。
条件随机场(CRF)层:条件随机场层的输入是Transformer-Encoder层的输出,由于Transformer-Encoder层无法学到标签之间的关系,而在分词任务中,标签之间是有关系的(关系是指如在输出标签中不可能同时出现两个B等,B代表一个词的开始音节)。所以需要通过条件随机场层对藏文句子X中每个音节的标签关系进行训练。通过条件随机场得到可能性最大的标签序列。其中可以通过向量中1对应的位置得到,其中B标签对应的向量为(1,0,0,0),M标签对应的向量为(0,1,0,0),E对应的向量为(0,0,1,0),S对应的向量为(0,0,0,1),根据藏文句子X中每个音节的标签为B、M、E或S,即可对一句话进行分词。由于标签E代表一个词的结尾,标签S代表单音节,B表示起始字标签,M表示中间字标签,所以可以通过标签E和S或E和B将一句话进行划分,分为一个个词。
进一步地,S2中的预处理为:首先根据所述藏文语料的文本数据来源进行基本文本处理,包括编码转换等。然后计算所述藏文语料每一个句子中每一个音节加上其标签的长度是否为2,如果是则完整,如果不是,则当前音节是不完整的,以检测藏文语料的完整性,即检测有没有音节缺失或者标签的缺失。
进一步地,对音节扩展后的语料库进行划分,将音节扩展后的语料库中的60%的句子作为训练集,20%的句子作为验证集,20%的句子作为测试集。其中训练集用于训练模型,验证集用于调整模型超参数,测试集用于测试模型泛化能力。
进一步地,基于Transformer-CRF的藏文分词模型包含:Transformer-Encoder层和CRF层,其中Transformer-Encoder层用于特征提取,CRF层用于对提取到的特征进行预测。
进一步地,
其中Transformer-Encoder层依次包括向量嵌入层、位置嵌入层、多头自注意力机制层、第一残差连接层和第一层正则化、前馈神经网络层、第二残差连接层和第二层正则化。
向量嵌入层:所述基于Transformer-CRF的藏文分词模型的输入为一个句子经过音节扩展之后的特征表示,将X′=[x′1,x′2,...,x′i,...,x′n]中的每一个音节特征x′i编码为音节向量wi,由此得到藏文句子X编码之后的向量表示W=[w1,w2,...,wi,...,wn],i=1,2,…,n,wi表示藏文句子X中第i个音节xi的音节向量。在本发明中,n≤80。
其中位置嵌入层与向量嵌入层相连,是为了标记各个音节之间的时序或位置关系。向量嵌入层会把一个音节编码成一个d维的音节向量,但这个音节向量没有包含位置信息,需要重新编码一个新的d维的位置向量,位置向量包含位置信息,最终向量嵌入层得到的音节向量和位置嵌入层得到的对应的位置向量相加。藏文句子X中第i个音节的音节向量wi经过位置嵌入层后得到的位置向量表示为其中
其中i是指一句话中某个音节的位置,/>指第i个音节的位置向量中第m个元素,m是指音节向量wi和位置向量Pi维度的序号,d指音节向量wi和位置向量Pi的维度,m=1,2,…,d,/>d=512,向量表示W=[w1,w2,...,wi,...,wn]中的每一个音节向量分别与对应的位置向量相加后得到矩阵W′=[w′1,w′2,...,w′i,...,w′n]。
多头自注意力机制层:与位置嵌入层相连,包含六个自注意力机制,对于所述多头自注意力机制层中的每一个自注意力机制,通过将矩阵W′=[w′1,w′2,...,w′i,...,w′n]乘以不同的矩阵WQ,WK,WV,分别得到其中WQ,WK,WV通过随机初始化后作为基于Transformer-CRF的藏文分词模型的参数进行训练得到。对于任意第h个自注意力机制,其对应的矩阵为/>将矩阵W′=[w′1,w′2,...,w′i,...,w′n]乘以/>分别得到/> 其中任意第h个自注意力机制输出矩阵为:
其中d指音节向量wi维度。
由于每个自注意力机制关注不同的信息,需要将这些自注意力机制拼接起来。使用conc at()函数将六个自注意力机制分别得到的输出矩阵拼接起来,得到所述多头自注意力机制层的输出矩阵Attention_total(W′):
Attention_total(W′)=concat(Attention1(W′),Attention2(W′),...,Attention6(W′))
其中,c o n c a t()函数表示将六个自注意力机制分别得到的输出结果Attention1(W′),Attention2(W′),...,Attention6(W′)拼接在一起的操作。
第一残差连接层:与多头自注意力机制层相连,公式为
T=W′+Attention_total(W′)
其中T为经过第一残差连接层的输出矩阵,W′为经过向量嵌入层和位置嵌入层之后得到的矩阵,Attention_total(W′)为W′经过了多头自注意力机制层后得到的输出矩阵。使用残差连接层的第一个好处是解决梯度消失的问题,第二个好处是解决权重矩阵的退化问题。
LN(·)代表层正则化操作,层正则化的作用是把网络中的隐藏层归一化为标准正态分布,加快模型的训练速度。矩阵T经过第一层正则化后的输出为output1,output1为一个n×d的矩阵,并且output1第i行第j列的元素为T′ij,第一层正则化公式为:
其中,Tij表示矩阵T第i行第j列的元素,i=1,2,…,n,j=1,2,…,d,μj为矩阵T第j列的均值,为矩阵T第j列的方差,output1为矩阵T经过第一层正则化后的输出,ε为一个预设参数,防止除数为0,其取值通常非常小,取值范围为[0.01,0.1],一般取0.01;n为句子长度。
前馈神经网络层:第一层正则化的输出会传递到前馈神经网络层中。前馈神经网络是一个两层的全连接层,第一层的激活函数为Relu,第二层不使用激活函数。
FFN(output1)=max(0,output1×W1+b1)W2+b2
其中FFN(outputl)为前馈神经网络层的输出,W1和W2分别为所述前馈神经网络层的第一层和第二层全连接层的权重,b1、b2为所述前馈神经网络层的第一层和第二层全连接层的偏置,W1、W2、b1和b2通过随机初始化并作为基于Transformer-CRF的藏文分词模型的参数进行训练得到。
第二残差连接层:与前馈神经网络层相连,公式为:
M=output1+FFN(output1)
其中M为第二残差连接层的输出,output1为第一层正则化得到的矩阵,FFN(output1)为前馈神经网络层得到的矩阵。
同理,LN(·)代表层正则化操作,层正则化的作用是把网络中的隐藏层归一化为标准正态分布,加快模型的训练速度。矩阵M经过第二层正则化后的输出为output2,output2为一个n×d的矩阵,并且output2第i行第j列的元素为M′ij,第二层正则化公式为:
其中,μ′j为矩阵M第j列的均值,为矩阵M第j列的方差,Mij表示矩阵M第i行第j列的元素,i=1,2,…,n,j=1,2,…,d,output2为矩阵M经过第二层正则化后的输出,ε为一个预设参数,防止除数为0,其取值通常非常小,取值范围为[0.01,0.1],一般取0.01;n为句子长度。
具体的,Transformer-Encoder层将多头自注意力机制层、第一残差连接层和第一层正则化、前馈神经网络层、第二残差连接层和第二层正则化作为一个大层,并将这个大层堆叠了四次,加深对特征的提取,从而得到Transformer-Encoder层的输出结果。
CRF层:与Transformer-Encoder层相连,Transformer-Encoder层的输出结果经过线性变换后输入条件随机场层,通过条件随机场得到可能性最大的标签序列。根据相邻标签依次为E和S将藏文句子进行划分,将句子分为一个个词。
本发明的输入不仅仅只是当前音节的特征向量,而是使用以当前音节为中心向左向右扩展两个单元,使用unigram和bigram相结合的方法。这样可以有助于提取到当前音节更多的特征向量。同时,本发明采用的基于Transformer-CRF的藏文分词方法,克服了传统分词方法中存在的运算速度、准确率低等缺点;而且,基于Transformer-CRF的藏文分词模型在藏文分词方面相比于LSTM-CRF模型具有以下优点:1)LSTM无法并行计算,因为T时刻的计算依赖T-1时刻的计算结果,基于Transformer-CRF的藏文分词模型采用并行计算,大大增加了计算效率。2)自注意力机制模块的特征抽取能力比LSTM的特征抽取能力要好。
附图说明
图1为本发明的基于Transformer-CRF的藏文分词模型的结构图。
图2为本发明的基于Transformer-CRF的藏文分词方法的流程图。
图3为本发明的音节特征扩展表示图。
图4为本发明Transformer-Encoder模块图。
图5为本发明的自注意力机制结构图。
图6为本发明的多头自注意力机制结构图。
图7为本发明提出的模型和CRF模型及BI-LSTM-CRF模型训练的F1对比图。
具体实施方式
下面结合附图对本发明的具体实施方式以及工作原理作进一步详细说明。
如图1所示为本发明的基于Transformer-CRF的藏文分词模型结构图,整个模型结构为Encoder-Decoder结构。其中Encoder是Transformer模型的编码部分,用于将自然语言序列映射为隐藏层;Decoder是由CRF层构成,用于将隐藏层映射为标签序列y=(y1,y2,...,yi,...,yn),(其中yi为句子中第i个字的标签、yi∈{B,M,E,S},起始字标签B,中间字标签M,结束字标签E,单个字标签S)。
如图2所示,为本发明的基于Transformer-CRF的藏文分词方法的流程图:步骤1为输入数据集,步骤2为数据预处理,步骤3为对输入模型的句子进行音节扩展,步骤4为构建基于Transformer-CRF的藏文分词模型,步骤5为训练并保存模型及其参数,步骤6为输入待分词语料,输出分词结果。具体地,本发明提出的基于Transformer-CRF的藏文分词方法包括如下步骤:
S1:获取藏文语料,对于所述藏文语料中的每个句子,已经标注了每个音节的标签,所述标签为B、M、E或S,其中B表示起始字标签,M表示中间字标签,E表示结束字标签,S表示单个字标签。藏文语料中的某一个句子如下所示: 其中,#表示分割符。
S2:将所述藏文语料进行预处理,得到预处理后的语料库。
S3:藏文语料进行预处理之后,对预处理后的语料库中每个句子通过音节扩展层对其中的每个音节进行音节扩展,得到每个音节的unigram和bigram拼接特征,由此得到音节扩展后的语料库。将音节扩展后的语料库进行划分,即将音节扩展后的语料库中的所有句子按预设比例划分得到训练集、验证集及测试集。其中训练集用于训练模型,验证集用于调整模型超参数,测试集用于测试模型泛化能力。
S4:构建基于Transformer-CRF的藏文分词模型,所述基于Transformer-CRF的藏文分词模型依次包括Transformer-Encoder层和条件随机场(CRF)层。Transformer-Encoder层将每个音节向量分别映射成隐藏层。
S5:由于Transformer-Encoder层无法学到标签之间的关系,利用Transformer-CRF的藏文分词模型中的CRF层对Transformer-Encoder得到的隐藏层进行约束修正,所述约束修正采用所述训练集训练基于Transformer-CRF的藏文分词模型实现,模型的训练最大轮数为100轮,即训练100轮后停止训练;并使用验证集对基于Transformer-CRF的藏文分词模型的超参数(如BATCH_SIZE:一次训练的样本数等)进行调整,得到调参后的Transformer-CRF的藏文分词模型。
S6:将所述测试集中待识别的藏文语料输入到步骤S5中保存的调参后的Transformer-CRF的藏文分词模型中,然后计算Transformer-CRF的藏文分词模型藏文分词精准率(P)、召回率(r)、综合指标(F1)的值。
其中,步骤S2中的数据预处理具体包括:根据不同的文本数据来源,可能涉及到的基本文本处理包括去除编码转换等。其次需要对数据集检测完整性,具体为:计算藏文语料中的每一个音节加上其标签的长度是否为2,如果是则完整的,如果不是,则当前音节是不完整的,以检测藏文语料的完整性。
步骤S3中对预处理后的语料库中每个藏文句子X=[x1,x2,...,xi,...,xn]进行音节扩展的具体操作为在句首和句尾添加两个特殊音节<BOS>和<EOS>作为起始字符和结束字符,表示为X=[bos,bos,x1,x2,...,xi,...,xn,eos,eos],以当前音节为中心向左向右各扩展两个音节单元,使用unigram和bigram相结合,作为当前音节的输入。如图3所示,例如对于五个音节来说,第三个音节/>为中心,其unigram表示为/>bigram表示为/>所以/>的特征表示为/> 则经过音节扩展之后的特征表示为X′=[x′1,x′2,...,x′i,...,x′n],其中x′i表示藏文句子X中第i个音节xi经过音节扩展之后的音节特征。
步骤S4是构建基于Transformer-CRF的藏文分词模型,如图4所示,为Transformer-CR F的Encoder结构图。其中Transformer-Encoder层依次包括向量嵌入层、位置嵌入层、多头自注意力机制层、第一残差连接和第一层正则化、前馈神经网络层、第二残差连接和第二层正则化。
向量嵌入层为:模型的输入为一个句子中的每个音节的unigram和bigram结合的特征表示即经过音节扩展之后的音节特征。向量嵌入层将X′=[x′1,x′2,...,x′i,...,x′n]中的每一个音节特征x′i编码为音节向量wi,由此得到藏文句子X编码之后的向量表示W=[w1,w2,...,wi,...,wn],i=1,2,…,n,wi表示藏文句子X中第i个音节xi的音节向量。在本发明中,n≤80。
其中位置嵌入层与向量嵌入层相连,是为了标记各个音节之间的时序或位置关系。向量嵌入层会把一个音节编码一个d维的音节向量,但这个音节向量没有包含位置信息,需要重新编码一个新的d维的位置向量,位置向量包含位置信息,最终向量嵌入层得到的音节向量和位置嵌入层得到的对应的位置向量相加。藏文句子X中第i个音节的音节向量wi经过位置嵌入层后得到的位置向量表示为其中
其中i是指一句话中某个音节的位置,/>指第i个音节的位置向量中第m个元素,m是指音节向量wi和位置向量Pi维度的序号,d指音节向量wi和位置向量Pi的维度,m=1,2,…,d,/>d=512,向量表示W=[w1,w2,...,wi,...,wn]中的每一个音节向量分别与对应的位置向量相加后得到矩阵W′=[w′1,w′2,...,w′i,...,w′n]。
多头自注意力机制层:如图6所示,所述多头自注意力机制层与位置嵌入层相连,对于所述多头自注意力机制层中的任意第h个自注意力机制,其对应的矩阵为h=1,2,…,6,将矩阵W′=[w′1,w′2,...,w′i,...,w′n]乘以/>分别得到 其中/>通过随机初始化后作为基于Transformer-CRF的藏文分词模型的参数进行训练得到。
具体的,所述多头自注意力机制层中包含六个自注意力机制,每个自注意力机制关注不同的信息,最终将这些自注意力机制拼接起来。如图5所示,其中任意第h个自注意力机制输出矩阵为:
其中d指音节向量wi维度。
使用concat()函数将六个自注意力机制分别得到的输出矩阵拼接起来,得到所述多头自注意力机制层的输出矩阵Attention_total(W′):
Attention_total(W′)=concat(Attention1(W′),Attention2(W′),...,Attention6(W′))
第一残差连接层:与多头自注意力机制层相连,公式为
T=W′+Attention_total(W′)
其中T为经过第一残差连接层的输出矩阵,W′为经过向量嵌入层和位置嵌入层之后得到的矩阵,Attention_total(W′)为W′经过了多头自注意力机制层后得到的输出矩阵。使用残差连接层的第一个好处是解决梯度消失的问题,第二个好处是解决权重矩阵的退化问题。
LN(·)代表层正则化操作,层正则化的作用是把网络中的隐藏层归一化为标准正态分布,加快模型的训练速度。矩阵T经过第一层正则化后的输出为output1,output1为一个n×d的矩阵,并且output1第i行第j列的元素为T′ij,第一层正则化公式为:
其中,Tij表示矩阵T第i行第j列的元素,i=1,2,…,n,j=1,2,…,d,μj为矩阵T第j列的均值,为矩阵T第j列的方差,output1为矩阵T经过第一层正则化后的输出,ε为一个预设参数,防止除数为0,其取值通常非常小,取值范围为[0.01,0.1],一般取0.01;n为句子长度。
前馈神经网络层:第一层正则化的输出会传递到前馈神经网络层中。前馈神经网络是一个两层的全连接层,第一层的激活函数为Relu,第二层不使用激活函数。
FFN(output1)=max(0,output1×W1+b1)W2+b2
其中FFN(output1)为前馈神经网络层的输出,W1和W2分别为所述前馈神经网络层的第一层和第二层全连接层的权重,b1、b2为所述前馈神经网络层的第一层和第二层全连接层的偏置,W1、W2、b1和b2通过随机初始化并作为基于Transformer-CRF的藏文分词模型的参数进行训练得到。
第二残差连接层:与前馈神经网络层相连,公式为:
M=output1+FFN(output1)
其中M为第二残差连接层的输出,output1为第一层正则化得到的矩阵,FFN(output1)为前馈神经网络层得到的矩阵。
同理,LN(·)代表层正则化操作,层正则化的作用是把网络中的隐藏层归一化为标准正态分布,加快模型的训练速度。矩阵M经过第二层正则化后的输出为output2,output2为一个n×d的矩阵,并且output2第i行第j列的元素为M′ij,第二层正则化公式为:
其中,μ′j为矩阵M第j列的均值,为矩阵M第j列的方差,Mij表示矩阵M第i行第j列的元素,i=1,2,…,n,j=1,2,…,d,output2为矩阵M经过第二层正则化后的输出,ε为一个预设参数,防止除数为0,其取值通常非常小,取值范围为[0.01,0.1],一般取0.01;n为句子长度。
具体的,Transformer-Encoder层将多头自注意力机制层、第一残差连接层和第一层正则化、前馈神经网络层、第二残差连接层和第二层正则化作为一个大层,并将这个大层堆叠了四次,加深对特征的提取,从而得到Transformer-Encoder层的输出结果。
CRF层:与Transformer-Encoder层相连,Transformer-Encoder层的输出结果经过线性变换后输入条件随机场层,通过条件随机场得到可能性最大的标签序列。根据标签依次为E和S将藏文句子进行划分,将句子进行分词。
所述CRF层有两类特征函数,一类是针对观测序列与状态的对应关系,一类是针对状态间关系。在基于Transformer-CRF的藏文分词模型中,观测序列与状态的对应关系由Transfo rmer-Encoder层的输出结果替代记为E,状态间关系由转移特征矩阵R表示,矩阵R是通过随机初始化并作为模型参数进行训练得到,转移特征矩阵R的大小为4×4,矩阵R的每一行和每一列均包括B,M,E,S四种标签状态。其中对于X=[x1,x2,...,xi,...,xn],经过音节扩展后输入模型,在Transformer-Encoder层中得到状态特征矩阵E,矩阵E的大小为n×4,每个音节xi对应的标签得分分布为ei,ei=E[i],E[i]表示矩阵E的第i行数据,ei是一个4维向量,音节xi标签为yi的得分表示为ei[yi],yi∈{B,M,E,S},i=1,2,…,n。通过转移特征矩阵R,我们可以得到句子X中上一个音节xi-1的标签为yi-1且当前音节xi标签为yi的转移得分,即对应转移特征矩阵R中yi-1的标签类型所在行、yi的标签类型所在列对应的元素值R[yi-1,yi]。
对于一个句子序列X=[x1,x2,...,xi,...,xn],如果序列的长度为n,标签个数为m,那么共有mn个标签序列结果,即mn个Y=(y1,y2,...,yi,...,yn),计算出每个可能的标签序列结果的得分score(Y),然后利用softmax进行归一化求出任一标签序列的概率选择概率最大的作为标注结果,其中/>表示所有可能标签序列结果对应的得分指数和,m=4。
而Y=(y1,y2,...,yi,...,yn)是一个标签序列,我们将所有的ei[yi]加起来只是得到了音节的分数,还需要标签转移的分数。即yi-1到yi的转移分数,根据前面的定义标签转移矩阵(即转移特征矩阵)为R,即yi-1到yi的转移分数为R[yi-1,yi],即则/>
步骤S5中基于Transformer-CRF的藏文分词模型的损失函数为loss=-logp(Y|X),基于Transformer-CRF的藏文分词模型的训练轮数为100轮,模型的评价标准为精准率(P)、召回率(r)、综合指标(F1),定义TP为标准答案为正,模型分类也为正的样例数量;FN为标准答案为正,模型分类却为负的样例数量;FP为标准答案为负,模型分类却为正的样例数量;TN为标准答案为负,模型分类也为负的样例数量;则
基于Pytorch搭建网络模型,在计算机CPU型号i5-1035G1、内存大小8GB的实验环境下,使用是西藏大学提供的藏文文本数据集,该数据集包含12919个句子。对上述基于Tran sformer-CRF的藏文分词模型进行测试,所得的结果如下表1所示:
表1测试结果
从表中可见,如图7所示,本发明所提出的基于Transformer-CRF模型在藏文分词中的F1均高于使用现有的CRF模型及BI-LSTM-CRF模型的准确率,说明该模型在藏文分词方面表现优异。保存模型的参数,将没有标签的藏文语料输入到模型中,得到分词的结果。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。
Claims (8)
1.一种基于Transformer-CRF的藏文分词方法,其特征在于,该方法包括如下步骤:
步骤S1):获取藏文语料,对于所述藏文语料中的每个藏文句子,已经标注了各音节的标签,所述标签为B、M、E或S,其中B表示起始字标签,M表示中间字标签,E表示结束字标签,S表示单个字标签,藏文句子中的一个音节相当于汉语中的一个字;
步骤S2):将所述藏文语料进行预处理,得到预处理后的语料库;
步骤S3):对所述预处理后的语料库中的每个句子,通过音节扩展层对其中的每个音节进行音节扩展,具体包括:
对于所述预处理后的语料库中的每一个藏文句子X=[x1,x2,...,xi,...,xn],在其句首和句尾分别添加两个特殊音节<BOS>和<EOS>作为起始字符和结束字符,表示为X=[bos,bos,x1,x2,...,xi,...,xn,eos,eos],以藏文句子X中当前音节为中心向左向右各扩展两个音节单元,设置窗口大小为5,使用窗口内音节的unigram和bigram相结合,作为当前音节的输入,藏文句子X经过音节扩展之后的特征表示为X′=[x′1,x′2,...,x′i,...,x′n],其中x′i表示藏文句子X中第i个音节xi经过音节扩展之后的音节特征,i=1,2,…,n;n为藏文句子X的长度。
得到每个音节经过音节扩展之后的音节特征,由此得到音节扩展后的语料库,将所述音节扩展后的语料库中的所有句子按预设比例划分得到训练集、验证集及测试集;
步骤S4):构建基于Transformer-CRF的藏文分词模型,所述基于Transformer-CRF的藏文分词模型依次包括Transformer-Encoder层和条件随机场(CRF)层,Transformer-Encoder层将每个扩展后的音节分别映射成隐藏层;
步骤S5):由于Transformer-Encoder层无法学到一个藏文句子中各音节标签之间的关系,利用所述Transformer-CRF的藏文分词模型中的条件随机场层对Transformer-Encoder层得到的隐藏层进行约束修正,所述约束修正采用所述训练集训练基于Transformer-CRF的藏文分词模型实现,训练的最大轮数设置为N′轮;并使用所述验证集对基于Transformer-CRF的藏文分词模型的超参数进行调整,得到调参后的Transformer-CRF的藏文分词模型;
步骤S6):将所述测试集中的藏文句子输入到Transformer-CRF的藏文分词模型中,然后计算Transformer-CRF的藏文分词模型藏文分词精准率P、召回率r、综合指标F1的值;
2.根据权利要求1所述的基于Transformer-CRF的藏文分词方法,其特征在于,所述步骤S2)中的预处理操作包括:首先根据所述藏文语料的文本数据来源进行包括编码转换在内的基本文本处理;其次对进行基本文本处理后的所述藏文语料检测完整性,具体为:计算所述藏文语料中的每一个音节加上其标签的长度是否为2,如果是则完整的,如果不是,则当前音节是不完整的。
3.根据权利要求2所述的基于Transformer-CRF的藏文分词方法,其特征在于,所述步骤S4)中所述Transformer-Encoder层依次包括向量嵌入层、位置嵌入层、多头自注意力机制层、第一残差连接层和第一层正则化、前馈神经网络层、第二残差连层和第二层正则化;
其中,所述向量嵌入层中的操作具体为:将X′=[x′1,x′2,...,x′i,...,x′n]中的每一个音节特征x′i编码为音节向量wi,由此得到藏文句子X编码之后的向量表示W=[w1,w2,...,wi,...,wn],wi表示藏文句子X中第i个音节xi的音节向量;
位置嵌入层与所述向量嵌入层相连,是为了标记各个音节之间的时序或位置关系,藏文句子X中第i个音节的音节向量wi经过所述位置嵌入层后得到的位置向量表示为其中
其中 指第i个音节的位置向量中第m个元素,d指音节向量wi和位置向量Pi的维度,m是音节向量wi和位置向量Pi维度的序号,m=1,2,…,d,向量表示W=[w1,w2,...,wi,...,wn]中的每一个音节向量分别与对应的位置向量相加后得到矩阵W′=[w′1,w′2,...,w′i,...,w′n];
所述多头自注意力机制层与所述位置嵌入层相连,所述多头自注意力机制层中包含六个自注意力机制,对于任意第h个自注意力机制,其对应的矩阵为将矩阵W′=[w′1,w′2,...,w′i,...,w′n]乘以/>分别得到 其中/>通过随机初始化后作为基于Transformer-CRF的藏文分词模型的参数进行训练得到,任意第h个自注意力机制输出矩阵为:
使用concat()函数将六个自注意力机制分别得到的输出矩阵拼接起来,得到所述多头自注意力机制层的输出矩阵Attention_total(W′):
Attention_total(W′)=concat(Attention1(W′),Attention2(W′),...,Attention6(W′));
所述第一残差连接层与所述多头自注意力机制层相连,公式为:
T=W′+Attention_total(W′)
其中T为经过第一残差连接层的输出矩阵,W′为经过位置嵌入层之后得到的矩阵,Attention_total(W′)为W′经过了多头自注意力机制层后得到的输出矩阵;
然后矩阵T经过第一层正则化后输出output1,output1为一个n×d的矩阵,并且output1第i行第j列的元素为T′ij,第一层正则化公式为:
其中,Tij表示矩阵T第i行第j列的元素,i=1,2,…,n,j=1,2,…,d,μj为矩阵T第j列的均值,为矩阵T第j列的方差,ε为一个预设参数,防止除数为0,其取值范围为[0.01,0.1];
第一层正则化的输出会传递到所述前馈神经网络层中,所述前馈神经网络层由两个全连接层组成,第一个全连接层的激活函数为Relu,其权重和偏置分别为W1、b1;第二个全连接层不使用激活函数,其权重和偏置分别为W2、b2;所述前馈神经网络层的输出为:
FFN(output1)=max(0,output1×W1+b1)W2+b2
其中,W1、W2、b1和b2通过随机初始化并作为基于Transformer-CRF的藏文分词模型的参数进行训练得到;
第二残差连接层与所述前馈神经网络层相连,公式为:
M=output1+FFN(output1)
其中M为第二残差连接层的输出矩阵,output1为第一层正则化得到的矩阵,FFN(output1)为前馈神经网络层得到的矩阵;
随后矩阵M经过第二层正则化后输出output2,output2为一个n×d的矩阵,并且output2第i行第j列的元素为M′ij,第二层正则化公式为:
其中,μ′j为矩阵M第j列的均值,为矩阵M第j列的方差,Mij表示矩阵M第i行第j列的元素,i=1,2,…,n,j=1,2,…,d,ε为一个预设参数,防止除数为0,其取值范围为[0.01,0.1];
所述Transformer-Encoder层将多头自注意力机制层、第一残差连接层和第一层正则化、前馈神经网络层、第二残差连接层和第二层正则化作为一个大层,并将这个大层堆叠了四次,加深对特征的提取,从而得到Transformer-Encoder层的输出结果。
4.根据权利要求3所述的基于Transformer-CRF的藏文分词方法,其特征在于,所述步骤S6)中得到藏文分词结果的操作为:将所述测试集中藏文句子输入到Transformer-CRF的藏文分词模型中,得到Transformer-Encoder层的输出结果,将Transformer-Encoder层的输出结果经过线性变换后输入条件随机场层,通过条件随机场得到可能性最大的标签序列,根据标签E和S将藏文句子进行划分,分为一个个词,具体地:
所述条件随机场层有两类特征函数,一类是针对观测序列与状态的对应关系,一类是针对状态间关系;在基于Transformer-CRF的藏文分词模型中,观测序列与状态的对应关系由Transformer-Encoder层的输出结果替代记为状态特征矩阵E,矩阵E的大小为n×4,藏文句子X中每个音节xi对应的标签得分分布为ei,ei=E[i],E[i]表示矩阵E的第i行数据,ei是一个4维向量,音节xi标签为yi的得分表示为ei[yi],yi∈{B,M,E,S},i=1,2,…,n;状态间关系由转移特征矩阵R表示,矩阵R是通过随机初始化并作为基于Transformer-CRF的藏文分词模型的参数进行训练得到,矩阵R的大小为4×4,矩阵R的每一行和每一列均包括B,M,E,S四种标签状态,通过转移特征矩阵R得到藏文句子X中上一个音节xi-1的标签为yi-1且当前音节xi标签为yi的转移得分,即对应转移特征矩阵R中yi-1的标签类型所在行、yi的标签类型所在列对应的元素值R[yi-1,yi];
对于一个藏文句子X=[x1,x2,...,xi,...,xn],由于句子长度为n,标签个数为m,那么共有mn个标签序列结果,即mn个Y=(y1,y2,...,yi,...,yn),计算出每个可能的标签序列的得分score(Y),然后利用softmax进行归一化求出任一标签序列的概率选择概率最大的作为标注结果,其中/>表示所有可能标签序列对应的得分指数和,其中/>m=4。
5.根据权利要求4所述的基于Transformer-CRF的藏文分词方法,其特征在于,所述基于Transformer-CRF的藏文分词模型的损失函数为loss=-log p(Y|X),其中训练的最大轮数N′=100;所述超参数包括一次训练的样本数。
6.根据权利要求5所述的基于Transformer-CRF的藏文分词方法,其特征在于,所述n≤80,d=512,ε=0.01。
7.根据权利要求6所述的基于Transformer-CRF的藏文分词方法,其特征在于,所述预设比例为3:1:1。
8.根据权利要求7所述的基于Transformer-CRF的藏文分词方法,其特征在于,藏文分词精准率P、召回率r、综合指标F1计算公式为:定义TP为标准答案为正,所述调参后的Transformer-CRF的藏文分词模型分类也为正的样例数量;FN为标准答案为正,所述调参后的Transformer-CRF的藏文分词模型分类却为负的样例数量;FP为标准答案为负,所述调参后的Transformer-CRF的藏文分词模型分类却为正的样例数量;TN为标准答案为负,所述调参后的Transformer-CRF的藏文分词模型分类也为负的样例数量;则
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111520289.6A CN114330328B (zh) | 2021-12-13 | 2021-12-13 | 基于Transformer-CRF的藏文分词方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111520289.6A CN114330328B (zh) | 2021-12-13 | 2021-12-13 | 基于Transformer-CRF的藏文分词方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114330328A CN114330328A (zh) | 2022-04-12 |
CN114330328B true CN114330328B (zh) | 2023-10-10 |
Family
ID=81050760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111520289.6A Active CN114330328B (zh) | 2021-12-13 | 2021-12-13 | 基于Transformer-CRF的藏文分词方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114330328B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111339779A (zh) * | 2020-03-20 | 2020-06-26 | 桂林电子科技大学 | 一种用于越南语的命名实体识别方法 |
CN112270193A (zh) * | 2020-11-02 | 2021-01-26 | 重庆邮电大学 | 基于bert-flat的中文命名实体识别方法 |
CN112786006A (zh) * | 2021-01-13 | 2021-05-11 | 北京有竹居网络技术有限公司 | 语音合成方法、合成模型训练方法、装置、介质及设备 |
CN112800776A (zh) * | 2021-03-10 | 2021-05-14 | 湖北工业大学 | 双向gru关系抽取数据处理方法、系统、终端、介质 |
CN113705163A (zh) * | 2021-03-23 | 2021-11-26 | 腾讯科技(深圳)有限公司 | 实体提取方法、装置、设备及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11881210B2 (en) * | 2020-05-05 | 2024-01-23 | Google Llc | Speech synthesis prosody using a BERT model |
-
2021
- 2021-12-13 CN CN202111520289.6A patent/CN114330328B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111339779A (zh) * | 2020-03-20 | 2020-06-26 | 桂林电子科技大学 | 一种用于越南语的命名实体识别方法 |
CN112270193A (zh) * | 2020-11-02 | 2021-01-26 | 重庆邮电大学 | 基于bert-flat的中文命名实体识别方法 |
CN112786006A (zh) * | 2021-01-13 | 2021-05-11 | 北京有竹居网络技术有限公司 | 语音合成方法、合成模型训练方法、装置、介质及设备 |
CN112800776A (zh) * | 2021-03-10 | 2021-05-14 | 湖北工业大学 | 双向gru关系抽取数据处理方法、系统、终端、介质 |
CN113705163A (zh) * | 2021-03-23 | 2021-11-26 | 腾讯科技(深圳)有限公司 | 实体提取方法、装置、设备及计算机可读存储介质 |
Non-Patent Citations (2)
Title |
---|
Xipeng Qiu等.A Concise Model for Multi-Criteria Chinese Word Segmentation with Transformer Encoder.《网页在线公开:https:arxiv.org/abs/1906.12035》.2020,第1-11页. * |
谢腾 等.基于BERT-BiLSTM-CRF模型的中文实体识别.《计算机系统应用》.2020,第29卷(第07期),第48-55页. * |
Also Published As
Publication number | Publication date |
---|---|
CN114330328A (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110298037B (zh) | 基于增强注意力机制的卷积神经网络匹配的文本识别方法 | |
CN110210037B (zh) | 面向循证医学领域的类别检测方法 | |
CN110275936B (zh) | 一种基于自编码神经网络的相似法律案例检索方法 | |
CN112733541A (zh) | 基于注意力机制的BERT-BiGRU-IDCNN-CRF的命名实体识别方法 | |
CN113190656B (zh) | 一种基于多标注框架与融合特征的中文命名实体抽取方法 | |
CN110516070B (zh) | 一种基于文本纠错与神经网络的中文问句分类方法 | |
CN111695052A (zh) | 标签分类方法、数据处理设备、可读存储介质 | |
CN111414481A (zh) | 基于拼音和bert嵌入的中文语义匹配方法 | |
CN115081437B (zh) | 基于语言学特征对比学习的机器生成文本检测方法及系统 | |
CN111881256B (zh) | 文本实体关系抽取方法、装置及计算机可读存储介质设备 | |
CN116127952A (zh) | 一种多粒度中文文本纠错方法和装置 | |
CN116151256A (zh) | 一种基于多任务和提示学习的小样本命名实体识别方法 | |
CN113360667B (zh) | 基于多任务学习的生物医学触发词检测和命名实体识别方法 | |
CN114359946A (zh) | 一种基于残差注意力Transformer的光学乐谱图像识别方法 | |
CN114386417A (zh) | 一种融入词边界信息的中文嵌套命名实体识别方法 | |
CN115600597A (zh) | 基于注意力机制和词内语义融合的命名实体识别方法、装置、系统及存储介质 | |
CN114254645A (zh) | 一种人工智能辅助写作系统 | |
CN113191150B (zh) | 一种多特征融合的中文医疗文本命名实体识别方法 | |
CN111523320A (zh) | 一种基于深度学习的中文病案分词方法 | |
CN114841151A (zh) | 基于分解-重组策略的医学文本实体关系联合抽取方法 | |
CN112883726B (zh) | 基于音节切分和词切分联合学习的多任务泰语分词方法 | |
CN114048314A (zh) | 一种自然语言隐写分析方法 | |
Zulfiqar et al. | Logical layout analysis using deep learning | |
CN111723572B (zh) | 基于CNN卷积层和BiLSTM的中文短文本相关性度量方法 | |
CN113377844A (zh) | 面向大型关系型数据库的对话式数据模糊检索方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |