[发明专利]基于音节切分和词切分联合学习的多任务泰语分词方法有效
| 申请号: | 202110079486.2 | 申请日: | 2021-01-21 | 
| 公开(公告)号: | CN112883726B | 公开(公告)日: | 2021-12-28 | 
| 发明(设计)人: | 线岩团;王悦寒;余正涛;相艳;毛存礼 | 申请(专利权)人: | 昆明理工大学 | 
| 主分类号: | G06F40/289 | 分类号: | G06F40/289;G06F40/129;G06F16/35;G06N3/08 | 
| 代理公司: | 昆明人从众知识产权代理有限公司 53204 | 代理人: | 何娇 | 
| 地址: | 650093 云*** | 国省代码: | 云南;53 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 基于 音节 切分 联合 学习 任务 泰语 分词 方法 | ||
1.基于音节切分和词切分联合学习的多任务泰语分词方法,其特征在于:所述方法的具体步骤如下:
Step1、对泰语语料库中获取的泰语文本进行预处理,为每一个字符匹配它对应的字符类别,给每个字符之间的边界按照音节和词结构特点打标签;
Step2、通过滑动窗口的方式从经过Step1预处理过的数据中依次得到包含若干个字符信息的输入,利用字符嵌入和位置嵌入对泰语字符进行特征编码,将获得的字符表征和字符类别表征进行拼接得到新的表征,将新的表征输入Transformer的编码器模型,确定每个字符组成音节或词的概率;
所述步骤Step1的具体步骤为:
Step1.1、针对已经进行词切分的泰语语料,进行过滤筛选,删除泰语文本中的'NE'、'/NE'、'AB'、'/AB'字符,之后依次遍历泰语文本中的每一个字符,并为每一个字符匹配它对应的字符类别;
Step1.2、根据泰语文本中用“|”划分的词汇,结合字符在词汇中的位置信息,给每一个字符标注切分标识,一个泰语词汇中第一个字符,标注为1,其它位置的字符,标注为0;
Step1.3、调用PyThaiNLP中的syllable_tokenize方法对词汇进行音节切分,结合字符在音节中的位置信息,给每一个字符标注切分标识,一个泰语音节中第一个字符,标注为1,其它位置的字符,标注为0;
Step1.4、以DataFrame的数据结构形式对得到的字符、字符类别、组成词的字符标识和组成音节的字符标识信息进行存储;
所述步骤Step2的具体步骤如下:
Step2.1、通过滑动窗口的方式从预处理过的数据中依次得到包含n个字符信息的输入,每个训练样本S={c1,c2,...,ci,...,cn},包含待标注字符ci、上下文中的前(n-1)/2个字符(ci-(n-1)/2,...,ci-2,ci-1)和后(n-1)/2个字符(ci+1,ci+2,...,ci+(n-1)/2);同理,字符类别也采用同样的方式依次得到包含n个字符类别信息的输入,n取正奇数,i=(n+1)/2;对每一个泰语字符和字符类别进行编码,得到对应的字符嵌入和字符类别嵌入将字符嵌入和字符类别嵌入进行拼接得到的嵌入为采用位置编码方式对得到的嵌入进行编码,得到具有位置信息的词向量PEj:
其中t是指当前字符在句子中的位置,在偶数位置,使用正弦编码,在奇数位置,使用余弦编码;
最后把位置编码PEj与字符和字符类别嵌入拼接得到的编码的值相加,作为输入送到下一层;这个序列S={c1,c2,...,ci,...,cn}的嵌入矩阵为:
其中和dmodel分别表示输入序列向量的长度和维度,j=1,2,3,...,n;
Step2.2、编码层使用Transformer的编码器,采用多个多头自我注意力层去抽取每一个字符的上下文特征;假设给定一个序列的嵌入矩阵一个单头自我注意力将H投影到三个不同的矩阵:Q矩阵为K矩阵为V矩阵为然后使用缩放的点积注意力来获取输出表示;
Q,K,V=HWQ,HWK,HWV (4)
是比例值归一化,dk表示K矩阵的维度,dv表示V矩阵的维度;
Step2.3、Transformer编码器由一些堆叠的多头自我注意力层和全连接层组成;假设多头自我注意力层的输入为H,则其输出通过下面的公式计算;
E=layer-norm(H+MultiHead(H)) (6)
其中layer-norm(·)表示归一化层,FFN表示Feed Forward Network层,两个线性变换和ReLU函数实现;
Step2.4、为了得到输入的每个字符在音节和词汇中的位置信息,用音节切分去辅助词切分;先按照第一个任务音节切分对得到的结果进行线性变换,h表示针对音节的线性变换后得到的一个隐状态张量;
最后进行Sigmoid激活,用于预测序列中每个字符的标识符为(1,0)的概率p;同理,词切分进行线性变换和激活;
p=Sigmoid(W2*h+b2) (9)
其中*表示拼接操作,W1和W2是可学习的权重,b1和b2是偏置参数;
Step2.5、根据训练语料得到训练样本的输出词序列pword={p1,p2,...,pi}和音节序列psyl={p11,p22,...,pii},选择二值交叉熵BCELoss损失作为损失函数,计算公式如下:
losssyl=BCELoss(ysyl,psyl) (10)
lossword=BCELoss(yword,pword) (11)
total_loss=λ×losssyl+lossword (13)
其中,n表示字符个数,ysyl是音节切分的真实标签,yword是词切分的真实标签,λ是可调节的参数,ytrue表示泰语字符真实的序列标签,ypre表示模型预测出来的字符序列标签。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于昆明理工大学,未经昆明理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110079486.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种环件机加工装夹工装
- 下一篇:一种结合种养生态处理蔬菜加工废水的系统设备





