APP下载

联合多神经网络模型的藏文字校对方法*

2021-05-10安见才让

微处理机 2021年2期
关键词:藏文语料双向

安见才让

(青海民族大学计算机学院,西宁810007)

1 引 言

信息社会的发展,使电子书、网上图书馆以及网页等种类繁多的信息平台不断出现,供人们使用。这些平台上的信息主要是通过键盘录入、图像扫描等方式输入到计算机的。在输入过程中,任何一种方式都无法保证存入的信息准确无误,校对技术,作为确保准确输入信息的一种专业性技术,便显示出其重要性来。

国外研究在英文文本校对方面取得了一定成果,部分成果实现了商品化。英文校对一般分为两部分[1],一是针对英语单词内部出现的拼写错误,主要采用最小编辑距离技术、相似键技术等六种方法来实现[2];二是对句子中出现的单词正确但用法错误的情况进行校正,主要采用自然语言处理和统计语言模型技术(SLM)解决。由于汉语与英语在语言本身及文本输入方式上均存在较大差异, 因而汉语的文本校对系统所采用的策略及技术,与英文校对系统有一定的差异。现今普遍采用的技术有:词切分技术[3]、近似集模糊匹配技术[4-5]、语法分析及语义分析技术等[6]。国内对文本校对方面的研究始于上世纪90 年代初期,但发展速度较快,其中藏文字的主要校对方法采用字典匹配法进行。文献[7]详细描述了藏文的文法并根据藏文文法提出了基于分段的藏文校对方法。随着深度学习方法的发展,一些神经网络模型也被成功应用于藏文字的校对任务。

2 藏文字校对神经网络模型架构

2.1 藏文字母向量化

利用神经网络模型处理藏文字校对问题,首先需要将字母向量化表示。可使用一个特定维度的特征向量代表藏文字母。字母向量可以刻画字母与字母在语义和语法上的相关性,并作为藏文字母特征成为神经网络的输入。使用训练语料集中的所有字母建立一个大小为d×N 的藏文字字典矩阵,d 是字向量的维度,N 是字典的大小,以此构造一个字母到字母嵌入的查找表,将输入的藏文字母转换为字母嵌入向量,作为模型的输入。研究表明,使用大规模无监督学习得到的字母向量作为输入矩阵的初始值比随机初始化有着更优的效果。此处使用word2vec[8]在藏文语料库预训练获得字母向量,取值d=300,N=152。

2.2 藏文字校对模型构建

在此创建名为BiGtCFCMTC(BiGRU three CNN FC Modle of Tibetan Checking,双向GRU 三卷积全连接网络)的模型。

藏文字校对任务通常可以认为是判断基于藏文字母序列组合的合法性的任务。藏文字中一般最多有7 个藏文字母,7 个字母之间有严格文法规定,它们之间的组合关系非常紧密,前面的字母会影响到后面字母的选择,同时,后面字母的出现也影响着前面字母的选择。所以,为抽取其相互关系的语义在此采用双向GRU。

藏文字经过循环网络GRU 语义抽取后,对其输出部分分别进行拼接,形成新的语义矩阵M7×300。然后,用三个大小分别为 2×300、3×300、4×300 卷积核作卷积和池化运算,所得结果作连接成向量,作全连接并用Softmax 函数进行归一化处理。藏文字校对模型框架如图1 所示。

2.3 双向双层GRU 神经网络模型

双向GRU 的目的是解决单向GRU 无法处理后文信息的问题。单向的GRU 只能在一个方向上处理数据,双向GRU 的基本思想则是提出每一个训练序列向前和向后分别是两个循环神经网络,且这两个网络都连接着一个输出层。图2 展示的即是一个沿着时间展开的改进双向双层GRU 神经网络模型(Bi-GRU),可用来获得字母序列的标注信息。Bi-GRU 转化函数如下:

图1 藏文字校对模型框架

图2 双向双层GRU 神经网络模型

向后推算(backwardpass):

需要注意的是,一个现代藏文字最多7 个字母,向后推算部分是从最后一个字母开始,即t 从6遍历至0。

向前推算(forwardpass):

向前推算与后向推算部分类似,向量上的箭头方向相反,而且它是从句子的第一个词扫描至最后一个字母,在7 字母的情况下,则t 从0 遍历至6。公式如下:

在向前推算中输入向量由两个向量组合而成:向前推算第t 个字母的向量xt和后向推算第6 个字母到第t 个字母积累的历史信息的串联拼接。

在藏文字校对中,这个模块的输入为藏文字的第一个字母到最后一个字母,最多有7 个字母,达不到7 个字母用-1 补齐。经双向GRU 处理后,输出为 hi(hi∈R1×d, d =300, 0≤i≤6),把 hi全部拼接后得到矩阵 M7×300:

2.4 卷积神经网络模型

对藏文字局部特征的提取可利用CNN 来完成。CNN 是一种前馈神经网络,其模型结构主要包括输入层、卷积层、池化层、全连接层和输出层几部分。

在输入层操作中,双向双层GRU 神经网络的输出 hi拼接成矩阵 M7×300(hi∈R1×300,其中,1 表示一个字母,300 是字母向量维度)作为输入,特征向量为hi包含了第i 字母前后的全部语义特征。

卷积操作主要完成特征提取的工作。藏文字中一般前2 个、3 个和4 个字母之间需要严格遵守文法的规定,元音和后两个字母相对比较简单不易出错。所以,通过设置大小为 2×300、3×300 和 4×300的滤波器 ω0、ω1、ω2来完成对输入藏文字特征的提取,如下式:

其中,ωi(0≤i≤2)是卷积核,Mj:j+i+1是 j 到 j+i+1 个字母组成的向量,b 是偏置项,通过卷积层后,得到特征矩阵 Ji(0≤i≤2),具体为 Ji=[ci0,ci1,ci2,ci3,ci4,ci5,ci6]。

通过卷积层之后得到的字向量特征矩阵Ji比较小,所以没有池化层。在此把卷积后特征进行水平拼接:

此处,J 包含 3 次卷积×7 个元素/卷积=21 个元素。

再将3 次卷积后所得的特征J 作为输入,作全连接运算,并作Softmax 运算:

其中,w为全连接权重,n 为偏移项,p 只有两个值。

2.5 损失函数

采用反向传播机制,使用自适应学习率的随机梯度下降算法来训练模型中的权重矩阵和偏置项,通过最小化交叉熵来优化模型。交叉熵代价函数为:

其中,r 为训练数据集大小;c 为类别数,此处值为2;y 为预测类别为实际类别;λ2||θ||2为 L2正则项。

设置损失阈值T,当损失函数Lloss小于T 时,视为模型收敛。在此收敛状态下的参数优化情况得到BiGtCFCMTC 模型的最优权值,使用测试文本集来对此时的最优化模型进行验证,再通过对比分类器精度和泛化能力来评估改进算法的性能。

3 实验结果与分析

实验使用的藏语语料由青海民族大学藏文信息处理与软件研究所提供。此语料是中国西北五省区藏区初中藏语文教材中的课文, 测试语料包含了73155 个藏文字,其中,正样本占55.1%,负样本占44.9%。

首先,用人工方式对训练语料采用前文所述方法进行预处理。实验采用TensorFlow2.0 框架,构建上述神经网络模型,并使用语料训练网络的权值,不断迭代,直到算法收敛。实验在内存为16GB、GPU内存为8 GB 的Windows 系统上进行。程序采用Python 语言进行编程模型中的超参数:上下文窗口长度 k =3,藏文字母向量长度 d =300,隐藏层单元数 h = 128,初始学习率 α = 0.1,Dropount 比率 p =0.5,Batchsize 值为 128。

使用上述方法在语料中进行实验,对藏文的字母标注结果用标准bake-off 打分程序来计算准确率P,召回率R。准确率和召回率的调和平均值F。经实验,所提出的新模型BiGTCFCMTC 的藏文字校对准确率为93.95%,召回率为94.17%,F 值为94.06%。

4 结 束 语

新提出的藏文字检错双向GRU 三卷积全连接网络模型在73155 个藏文字语料上进行实验,获得较为理想的结果。实际工作中,模型凭借GPU 的运算能力可大大缩短深度神经网络模型的训练时间,该网络模型的方法也更容易推广应用到其他NLP中序列标注的任务,具有一定的通用性和实用价值。

猜你喜欢

藏文语料双向
双向度的成长与自我实现
西藏大批珍贵藏文古籍实现“云阅读”
黑水城和额济纳出土藏文文献简介
基于语料调查的“连……都(也)……”出现的语义背景分析
藏文音节字的频次统计
现代语境下的藏文报刊
一种软开关的交错并联Buck/Boost双向DC/DC变换器
华语电影作为真实语料在翻译教学中的应用
一种工作频率可变的双向DC-DC变换器
《苗防备览》中的湘西语料