一种字符预测模型训练方法及装置制造方法及图纸

技术编号:24354630 阅读:22 留言:0更新日期:2020-06-03 02:17
公开了一种字符预测模型训练方法及装置。不对语句进行分词,而是以语句中的每个字符为颗粒度构建语句的特征矩阵(第一类特征矩阵)。第一类特征矩阵可以作为字符预测模型的输入,进行模型训练以及模型应用。对于字符预测模型,其主要包括第一处理模块、第二处理模块与第三处理模块。其中,第一处理模块负责对第一类特征矩阵进行卷积计算,输出第二类特征矩阵;第二处理模块负责采用LSTM算法或Bi‑LSTM算法对第二类特征矩阵进行计算,输出第三类特征矩阵;第三处理模块负责根据第三类特征矩阵,预测该语句样本中每个字符位置上出现的可选字符的概率,输出语句对应的概率集合。

A training method and device of character prediction model

【技术实现步骤摘要】
一种字符预测模型训练方法及装置
本说明书实施例涉及互联网应用
,尤其涉及一种字符预测模型训练方法及装置。
技术介绍
众所周知,利用模型(如统计模型、机器学习模型)来对文本中存在的错别字进行检测,可以摆脱人力依赖,提升检测效率。现有的方案通常需要对文本进行分词之后,以分词为最小颗粒度,进行模型构建与模型应用。例如,对于统计模型而言,其是基于每个分词在一批文本样本中出现的频率来进行模型构建的(出现频率越高的分词,包括错别字的概率越低)。然而,现有的分词算法往往存在误差,该误差会在模型构建的每个步骤中不断累积,最终导致构建出的模型精确性不足。
技术实现思路
针对上述技术问题,本说明书实施例提供一种字符预测模型训练方法及装置,技术方案如下:根据本说明书实施例的第一方面,提供一种字符预测模型训练方法,所述字符预测模型包括第一处理模块、第二处理模块与第三处理模块,所述方法包括:获取语句样本集合;针对每个语句样本,将该语句样本中的每个字符映射为字符向量,并以该语句样本中每个字符的字符向量为矩阵行,确定该语句样本的第一类特征矩阵;将该第一类特征矩阵输入到所述第一处理模块,输出第二类特征矩阵;其中,所述第一处理模块对该第一类特征矩阵进行卷积计算;将该第二类特征矩阵输入到所述第二处理模块,输出第三类特征矩阵;其中,所述第二处理模块基于长短期记忆网络LSTM算法或双向长短期记忆网络Bi-LSTM算法,对该第二类特征矩阵进行计算;将该第三类特征矩阵输入到所述第三处理模块,输出该语句样本对应的概率集合;其中,所述第三处理模块根据该第三类特征矩阵,预测该语句样本中每个字符位置上出现的可选字符的概率;该语句样本对应的概率集合包括:针对该语句样本的每个字符位置,每个可选字符在该字符位置上出现的概率;判断是否满足训练停止条件;若是,则停止训练;否则,根据每个语句样本对应的概率集合,调整所述字符预测模型的参数,进而重新将每个语句样本的第一类特征矩阵输入到所述第一处理模块。根据本说明书实施例的第二方面,提供一种应用如第一方面所述的字符预测模型进行错误字符修正的方法,包括:获取目标语句;确定所述目标语句的第一类特征矩阵;将所述目标语句的第一类特征矩阵输入到所述字符预测模型,输出所述目标语句对应的概率集合;其中,所述目标语句对应的概率集合包括:针对所述目标语句的每个字符位置,每个可选字符在该字符位置上出现的概率;针对所述目标语句中的任一字符位置,若该字符位置满足指定条件,则将该字符位置上的实际字符确定为错误字符,并替换为该字符位置对应的概率最大的可选字符;所述指定条件包括:该字符位置上的实际字符与该字符位置对应的概率最大的可选字符不一致。根据本说明书实施例的第三方面,提供一种字符预测模型训练装置,所述字符预测模型包括第一处理模块、第二处理模块与第三处理模块,所述装置包括:样本集合获取单元,获取语句样本集合;特征矩阵确定单元,针对每个语句样本,将该语句样本中的每个字符映射为字符向量,并以该语句样本中每个字符的字符向量为矩阵行,确定该语句样本的第一类特征矩阵;第一处理单元,将该第一类特征矩阵输入到所述第一处理模块,输出第二类特征矩阵;其中,所述第一处理模块对该第一类特征矩阵进行卷积计算;第二处理单元,将该第二类特征矩阵输入到所述第二处理模块,输出第三类特征矩阵;其中,所述第二处理模块基于长短期记忆网络LSTM算法或双向长短期记忆网络Bi-LSTM算法,对该第二类特征矩阵进行计算;第三处理单元,将该第三类特征矩阵输入到所述第三处理模块,输出该语句样本对应的概率集合;其中,所述第三处理模块根据该第三类特征矩阵,预测该语句样本中每个字符位置上出现的可选字符的概率;该语句样本对应的概率集合包括:针对该语句样本的每个字符位置,每个可选字符在该字符位置上出现的概率;判断执行单元,判断是否满足训练停止条件;若是,则停止训练;否则,根据每个语句样本对应的概率集合,调整所述字符预测模型的参数,进而触发所述第一处理单元重新将每个语句样本的第一类特征矩阵输入到所述第一处理模块。根据本说明书实施例的第四方面,提供一种应用如第一方面所述的字符预测模型进行错误字符修正的装置,包括:获取目标语句;确定所述目标语句的第一类特征矩阵;将所述目标语句的第一类特征矩阵输入到所述字符预测模型,输出所述目标语句对应的概率集合;其中,所述目标语句对应的概率集合包括:针对所述目标语句的每个字符位置,每个可选字符在该字符位置上出现的概率;针对所述目标语句中的任一字符位置,若该字符位置满足指定条件,则将该字符位置上的实际字符确定为错误字符,并替换为该字符位置对应的概率最大的可选字符;所述指定条件包括:该字符位置上的实际字符与该字符位置对应的概率最大的可选字符不一致。本说明书实施例所提供的技术方案,不对语句进行分词,而是以语句中的每个字符为颗粒度构建语句的特征矩阵(第一类特征矩阵)。第一类特征矩阵可以作为字符预测模型的输入,进行模型训练以及模型应用。对于字符预测模型,其主要包括第一处理模块、第二处理模块与第三处理模块。其中,第一处理模块负责对第一类特征矩阵进行卷积计算,输出第二类特征矩阵;第二处理模块负责采用LSTM算法或Bi-LSTM算法对第二类特征矩阵进行计算,输出第三类特征矩阵;第三处理模块负责根据第三类特征矩阵,预测该语句样本中每个字符位置上出现的可选字符的概率,输出语句对应的概率集合。通过本说明书实施例,在训练或应用字符预测模型的过程中,可以避免分词算法带来的误差,提升模型精度。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。附图说明为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。图1是本说明书实施例提供的一种字符预测模型的模型结构示意图;图2是本说明书实施例提供的一种字符预测模型训练方法的流程示意图;图3是本说明书实施例提供的一种错误字符修正方法的流程示意图;图4是本说明书实施例提供的错误字符修正方法的示意图;图5是本说明书实施例提供的一种字符预测模型训练装置的结构示意图;图6是本说明书实施例提供的一种错误字符修正的装置的结构示意图;图7是用于配置本说明书实施例装置的一种设备的结构示意图。具体实施方式在本说明书的一个或多个实施例中,不对语句进行分词,而是以语句中的每个字符为颗粒度构建语句的特征矩阵(第一类特征矩阵)。第一类特征矩阵可以作为字符预测模型的输入,本文档来自技高网...

【技术保护点】
1.一种字符预测模型训练方法,所述字符预测模型包括第一处理模块、第二处理模块与第三处理模块,所述方法包括:/n获取语句样本集合;/n针对每个语句样本,将该语句样本中的每个字符映射为字符向量,并以该语句样本中每个字符的字符向量为矩阵行,确定该语句样本的第一类特征矩阵;/n将该第一类特征矩阵输入到所述第一处理模块,输出第二类特征矩阵;其中,所述第一处理模块对该第一类特征矩阵进行卷积计算;/n将该第二类特征矩阵输入到所述第二处理模块,输出第三类特征矩阵;其中,所述第二处理模块基于长短期记忆网络LSTM算法或双向长短期记忆网络Bi-LSTM算法,对该第二类特征矩阵进行计算;/n将该第三类特征矩阵输入到所述第三处理模块,输出该语句样本对应的概率集合;其中,所述第三处理模块根据该第三类特征矩阵,预测该语句样本中每个字符位置上出现的可选字符的概率;该语句样本对应的概率集合包括:针对该语句样本的每个字符位置,每个可选字符在该字符位置上出现的概率;/n判断是否满足训练停止条件;若是,则停止训练;否则,根据每个语句样本对应的概率集合,调整所述字符预测模型的参数,进而重新将每个语句样本的第一类特征矩阵输入到所述第一处理模块。/n...

【技术特征摘要】
1.一种字符预测模型训练方法,所述字符预测模型包括第一处理模块、第二处理模块与第三处理模块,所述方法包括:
获取语句样本集合;
针对每个语句样本,将该语句样本中的每个字符映射为字符向量,并以该语句样本中每个字符的字符向量为矩阵行,确定该语句样本的第一类特征矩阵;
将该第一类特征矩阵输入到所述第一处理模块,输出第二类特征矩阵;其中,所述第一处理模块对该第一类特征矩阵进行卷积计算;
将该第二类特征矩阵输入到所述第二处理模块,输出第三类特征矩阵;其中,所述第二处理模块基于长短期记忆网络LSTM算法或双向长短期记忆网络Bi-LSTM算法,对该第二类特征矩阵进行计算;
将该第三类特征矩阵输入到所述第三处理模块,输出该语句样本对应的概率集合;其中,所述第三处理模块根据该第三类特征矩阵,预测该语句样本中每个字符位置上出现的可选字符的概率;该语句样本对应的概率集合包括:针对该语句样本的每个字符位置,每个可选字符在该字符位置上出现的概率;
判断是否满足训练停止条件;若是,则停止训练;否则,根据每个语句样本对应的概率集合,调整所述字符预测模型的参数,进而重新将每个语句样本的第一类特征矩阵输入到所述第一处理模块。


2.如权利要求1所述的方法,将该语句样本中的每个字符映射为字符向量,具体包括:
针对该语句样本中的每个字符,从字义维度将该字符映射为第一类字符子向量,从拼音维度将该字符映射为第二类字符子向量,以及从笔画维度将该字符映射为第三类字符子向量;
根据该字符的第一类字符子向量、第二类字符子向量以及第三类字符子向量,确定该字符的字符向量。


3.如权利要求1所述的方法,从笔画维度将该字符映射为第三类字符子向量,具体包括:
从笔画维度确定该字符的i-gram笔画结构;i=(1,2,……,P),P为大于1的自然数;
将该字符的i-gram笔画结构映射为笔画结构向量;
根据该字符的1-gram至P-gram的笔画结构向量,确定该字符的第三类字符子向量。


4.如权利要求3所述的方法,根据该字符的1-gram~P-gram的笔画结构向量,确定该字符的第三类字符子向量,具体包括:
将该字符的1-gram~P-gram的笔画结构向量组成笔画结构矩阵;
对该字符的笔画结构矩阵进行卷积计算并通过池化操作对计算结果进行降维,得到该字符的第三类字符子向量。


5.如权利要求1所述的方法,将该第二类特征矩阵输入到所述第二处理模块,具体包括:
将该第二类特征矩阵与该第一类特征矩阵进行横向拼接后,得到拼接矩阵,并将所述拼接矩阵输入到所述第二处理模块。


6.如权利要求5所述的方法,将所述拼接矩阵输入到所述第二处理模块,具体包括:
通过自注意力self-attention操作,对所述拼接矩阵进行转换;
将转换后的所述拼接矩阵输入到所述第二处理模块。


7.如权利要求5或6所述的方法,所述第二处理模块包括至少两个算法层;所述至少两个算法层基于LSTM算法或Bi-LSTM算法执行计算;
所述第二处理模块基于LSTM算法或Bi-LSTM算法,对该第二类特征矩阵进行计算,具体包括:
所述第二处理模块针对所述第二处理模块的每个算法层,若该算法层不是最后一个算法层,则将该算法层的输入矩阵与输出矩阵进行拼接后,输入到下一个算法层;若该算法层是最后一个算法层,则将该算法层的输入矩阵与输出矩阵进行拼接后,作为第三类特征矩阵。


8.如权利要求1所述的方法,判断是否满足所述训练停止条件,具体包括:
针对每个语句样本,执行:针对该语句样本的每个字符位置,判断与该字符位置上的实际字符相同的可选字符出现在该字符位置的概率与1.0的差值是否小于指定值;若该语句样本的每个字符位置对应的判断结果皆为是,则认定所述字符预测模型拟合该语句样本;
若认定所述字符预测模型拟合每个语句样本,则确定满足所述训练停止条件。


9.一种应用如权利要求1~8任一项所述的字符预测模型进行错误字符修正的方法,包括:
获取目标语句;
确定所述目标语句的第一类特征矩阵;
将所述目标语句的第一类特征矩阵输入到所述字符预测模型,输出所述目标语句对应的概率集合;其中,所述目标语句对应的概率集合包括:针对所述目标语句的每个字符位置,每个可选字符在该字符位置上出现的概率;
针对所述目标语句中的任一字符位置,若该字符位置满足指定条件,则将该字符位置上的实际字符确定为错误字符,并替换为该字符位置对应的概率最大的可选字符;
所述指定条件包括:该字符位置上的实际字符与该字符位置对应的概率最大的可选字符不一致。


10.如权利要求9所述的方法,所述指定条件还包括:
该字符位置上的实际字符不属于命名实体。


11.如权利要求9所述的方法,在判断该字符位置是否满足指定条件之前,所述装置还包括:
基于预先根据语料集合统计出的每个可选字符出现的频次,对每个可选字符在该字符位置上出现的概率进行修正。


12.一种字符预测模型训...

【专利技术属性】
技术研发人员:张伟万菲杨佳
申请(专利权)人:共道网络科技有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1