CN114398875A - 一种纠错模型的训练方法、检索词纠错方法、设备及介质 - Google Patents
一种纠错模型的训练方法、检索词纠错方法、设备及介质 Download PDFInfo
- Publication number
- CN114398875A CN114398875A CN202210061361.1A CN202210061361A CN114398875A CN 114398875 A CN114398875 A CN 114398875A CN 202210061361 A CN202210061361 A CN 202210061361A CN 114398875 A CN114398875 A CN 114398875A
- Authority
- CN
- China
- Prior art keywords
- error correction
- word
- search
- target
- model
- 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.)
- Pending
Links
- 238000012937 correction Methods 0.000 title claims abstract description 432
- 238000012549 training Methods 0.000 title claims abstract description 120
- 238000000034 method Methods 0.000 title claims abstract description 89
- 238000009826 distribution Methods 0.000 claims description 145
- 239000013598 vector Substances 0.000 claims description 138
- 230000006870 function Effects 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 10
- 230000015654 memory Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 abstract description 18
- 230000000694 effects Effects 0.000 abstract description 11
- 230000006378 damage Effects 0.000 abstract description 4
- 238000013519 translation Methods 0.000 description 18
- 238000012545 processing Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 230000007246 mechanism Effects 0.000 description 10
- 230000001537 neural effect Effects 0.000 description 7
- 208000012260 Accidental injury Diseases 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 3
- 208000014674 injury Diseases 0.000 description 3
- 208000001613 Gambling Diseases 0.000 description 2
- 241000288105 Grus Species 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 210000004072 lung Anatomy 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/232—Orthographic correction, e.g. spell checking or vowelisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9532—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
Abstract
本申请公开了一种纠错模型的训练方法,在本方案中,可通过目标训练数据中的纠错前检索词及纠错后检索词对初始纠错模型进行训练,在训练过程中,通过模型中的注意力模块、覆盖率模块及门控模块确定预测检索词,并在训练后得到最终纠错模型,通过该方式对纠错模型进行训练,可以提高模型的纠错准确率,降低模型的误伤率;本申请还提供了一种检索词纠错方法,本方案可利用训练后的最终纠错模型对原始检索词进行纠错,避免因原始检索词存在错误降低检索质量;本发明还公开了一种电子设备及存储介质,同样能实现上述技术效果。
Description
技术领域
本申请涉及检索词纠错技术领域,更具体地说,涉及一种纠错模型的训练方法、检索词纠错方法、设备及介质。
背景技术
目前,用户可以通过搜索引擎从互联网获取对应的搜索结果,如:用户通过搜索引擎的搜索框输入检索词,搜索引擎从互联网上搜索与检索词对应的检索结果,并返回给用户查看。可以看出,检索结果与检索词具有很强的关联性,若用户由于手误等原因在搜索框内输入了错误的检索词,则搜索引擎返回的检索结果为错误检索词的检索结果,因此,若用户在搜索框内输入错误检索词后,搜索引擎根本不能返回符合用户检索意图的结果,从而导致检索质量很差,甚至无检索结果。
发明内容
本申请的目的在于提供一种纠错模型的训练方法、检索词纠错方法、设备及介质,以避免因检索词错误降低检索质量。
为实现上述目的,本申请第一方面提供了一种纠错模型的训练方法,包括:
从目标训练数据中获取纠错前检索词;
将所述纠错前检索词输入初始纠错模型,并确定待纠错字;所述初始纠错模型为Seq2Seq模型;
利用所述初始纠错模型的注意力模块确定与所述待纠错字对应的第一预测分布向量;利用所述初始纠错模型的覆盖率模块确定与所述待纠错字对应的第二预测分布向量;所述第一预测分布向量表示所述纠错前检索词中每个字的预测概率;所述第二预测分布向量表示词表中每个字的预测概率;
将所述第一预测分布向量及所述第二预测分布向量输入所述初始纠错模型的门控模块,得到最终预测分布向量;
根据所述最终预测分布向量确定与所述待纠错字对应的预测字,并继续确定与下一个待纠错字对应的预测字,直至得到与所述纠错前检索词对应的预测检索词为止;所述预测检索词包括每个预测字;
根据每个预测字在对应的最终预测分布向量中的预测值,以及与所述纠错前检索词对应的纠错后检索词的真实分布向量计算损失函数值;
若所述损失函数值大于第一预定阈值,则利用所述损失函数值对所述初始纠错模型进行参数更新,并利用下一个纠错前检索词对初始纠错模型继续训练;否则,将所述初始纠错模型作为最终纠错模型。
为实现上述目的,本申请第二方面提供了一种检索词纠错方法,包括:
获取原始检索词;
将所述原始检索词输入最终纠错模型,并确定目标纠错字;所述最终纠错模型为通过上述纠错模型的训练方法得到;
利用所述最终纠错模型的注意力模块确定与目标纠错字对应的第一目标预测分布向量;利用所述最终纠错模型的覆盖率模块确定与所述目标纠错字对应的第二目标预测分布向量;所述第一目标预测分布向量表示所述原始检索词中每个字的预测概率;所述第二目标预测分布向量表示词表中每个字的预测概率;
将所述第一目标预测分布向量及所述第二目标预测分布向量输入所述最终纠错模型的门控模块,得到最终目标预测分布向量;
根据所述最终目标预测分布向量确定与所述目标纠错字对应的预测字,并继续确定与下一个目标纠错字对应的预测字,直至得到与所述原始检索词对应的目标检索词为止;所述目标检索词包括每个预测字。
为实现上述目的,本申请第三方面提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述纠错模型的训练方法的步骤,和/或,实现上述检索词纠错方法的步骤。
为实现上述目的,本申请第四方面提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述纠错模型的训练方法的步骤,和/或,实现上述检索词纠错方法的步骤。
通过以上方案可知,本申请提供了一种纠错模型的训练方法,在本方案中,可通过目标训练数据中的纠错前检索词及纠错后检索词对初始纠错模型进行训练,在训练过程中,通过模型中的注意力模块、覆盖率模块及门控模块确定预测检索词,并在训练后得到最终纠错模型,通过该方式对纠错模型进行训练,可以提高模型的纠错准确率,降低模型的误伤率;本申请还提供了一种检索词纠错方法,本方案可利用训练后的最终纠错模型对原始检索词进行纠错,避免因原始检索词存在错误降低检索质量;本发明还公开了一种电子设备及存储介质,同样能实现上述技术效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1为本申请实施例提供的一种纠错***的架构图;
图2为本申请实施例提供的一种纠错模型的训练方法流程示意图;
图3为本申请实施例提供的一种检索词纠错方法流程示意图;
图4为本申请实施例提供的一种基于最终纠错模型的纠错流程示意图;
图5为本申请实施例提供的一种纠错模型的训练装置结构示意图;
图6为本申请实施例提供的一种检索词纠错装置结构示意图;
图7为本申请实施例提供的一种电子设备的结构图。
具体实施方式
目前,现有的纠错技术方案有统计机器翻译、Electra模型、Soft-masked bert纠错模型等;其中,统计机器翻译是当前非限定领域机器翻译中性能较佳的一种方法,统计机器翻译的基本思想是通过对大量的平行语料进行统计分析,构建统计翻译模型,进而使用此模型进行翻译;Electra模型是由一个生成器(generator)和一个判别器(discriminator)组成,类似GAN(Generative Adversarial Networks,生成式对抗网络)。生成器负责生成“错误”的句子,判别器负责检测生成器的输出结果中哪些token被替换了。Electra模型的判别器虽然可以检测错误,但模型设计不是为了纠错,而是为了在有限计算资源的条件下能提取更好特征表示,进而得到更好的效果。另外,Soft-Masked BERT模型通过对搜集到的语料,进行同音字替换等简单规则随机生成错误样本,然后得到错误-正确的样本对作为训练数据。该网络模型串联了一个检测模型(BiGRU)和一个纠错模型(BERT),双向的GRU模型输出每个token位置是错误词的概率,当错误概率为1时,退化为原生BERT模型纠错。
通过上述内容可知,现有的纠错方案虽然可实现纠错功能,但是,现有的纠错方案不能解决用词不当、多字少字和乱序问题,导致现有纠错方案的纠错准确率较低,误伤率较高。其中:准确率是指:进行纠错的检索词中,正确纠错的比例,误伤率是指:不需要纠错的检索词中,执行纠错操作的比例。
因此,本申请公开了一种纠错模型的训练方法、检索词纠错方法、设备及介质,以提高纠错准确度,避免因检索词错误降低检索质量。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于理解本申请提供的检索词纠错方法,下面对其使用的***进行介绍。参见图1,其示出了本申请实施例提供的一种纠错***的架构图,通过图1可以看出,该***具体包括搜索引擎和纠错装置。其中,搜索引擎用于接收用户输入的原始检索词,并将其发送至纠错装置,纠错装置从搜索引擎获取原始检索词后,通过最终纠错模型对原始检索词执行纠错处理,得到纠错后的目标检索词,并返回给搜索引擎,以便搜索引擎根据纠错装置返回的目标检索词执行搜索任务。
需要说明的是,本实施例所述的搜索引擎可以是不同领域的搜索引擎,如:音乐搜索引擎、小说搜索引擎、视频搜索引擎等等,在此并不具体限定。并且,随着本方案应用领域的不同,相对应的,获取的原始检索词及最终纠错模型也会随之改变,其中,原始检索词为具体应用领域的检索词,最终纠错模型也是通过具体应用领域的纠错对训练数据训练生成。例如:若搜索引擎为音乐搜索引擎,则该原始检索词具体为音乐领域的检索词,具体包括:歌手名、歌曲名、专辑名、综艺名、影视名等等与音乐相关的检索词;同理,最终纠错模型也需要通过与音乐领域相关的训练数据进行训练获得,如:“周杰伦七离香→周杰伦七里香”等纠错对。
参见图2,为本申请实施例提供的一种纠错模型的训练方法流程示意图,通过图2可见,该训练方法具体包括如下步骤:
S101、从目标训练数据中获取纠错前检索词;
在本实施例中,目标训练数据中包括多个纠错对,每个纠错对包括纠错前检索词和纠错后检索词,例如:“周杰伦七离香→周杰伦七里香”便是一个纠错对,其中,前者的“周杰伦七离香”即为纠错前的检索词,后者的“周杰伦七里”即为纠错后的检索词,纠错前的检索词可以为错误检索词,也可以为正确检索词,纠错后的检索词为正确检索词。也即:本实施例中的纠错对为:将错误检索词纠正为正确检索词的纠错对,或者将正确检索词纠正为正确检索词的纠错对。本实施例在对初始纠错模型进行训练时,首先通过纠错前检索词执行纠错过程,再结合纠错后检索词计算损失函数值,确定模型的预测效果,如果预测效果不好,则对模型进行参数更新后继续训练。
S102、将纠错前检索词输入初始纠错模型,并确定待纠错字;该初始纠错模型为Seq2Seq模型;
在本方案中,可将纠错抽象为一个序列到序列的编解码问题,即:一个错误检索词翻译成正确检索词,因此在本实施例中,具体是通过深度神经翻译模型对原始检索词进行纠错,在本实施例中,将训练前的深度神经翻译模型称为初始纠错模型,将训练后的深度神经翻译模型称为最终纠错模型,本实施例中的深度神经翻译模型可以为Seq2seq(Sequenceto Sequence,序列到序列)模型。目前Seq2seq模型主要应用在翻译领域,一般是在不相同语言之间进行翻译,如:中文和英文互译;而在本实施例中,该深度神经翻译模型主要用来纠错,而纠错是在相同语言之间的特殊翻译,所以整个模型需要围绕纠错单语这个特点来优化。本实施例所述的最终纠错模型可以进行任意语种的纠错,如:对中文检索词进行纠错、对英文检索词进行纠错等等,相对应的,在对模型的训练过程,也需要不同语种的训练数据对模型进行训练。
具体来说,本方案将纠错前检索词输入初始纠错模型后,初始纠错模型会从纠错前检索词中依次确认每个待纠错字,该待纠错字可表示纠错前检索词中第几个被纠错的字,如:纠错前检索词为“不想说话陈奕迅”,首个被待纠错字为“不”,并输出对应的预测字,初始纠错模型会继续预测第二个待纠错字“想”,并输出对应的预测值,直至输出最终的预测检索词为止。
S103、利用初始纠错模型的注意力模块确定与待纠错字对应的第一预测分布向量;利用初始纠错模型的覆盖率模块确定与待纠错字对应的第二预测分布向量;该第一预测分布向量表示纠错前检索词中每个字的预测概率;该第二预测分布向量表示词表中每个字的预测概率;
在本实施例中,模型包括注意力模块及覆盖率模块,注意力模块通过Attention(注意力)机制确定第一预测分布向量,该第一预测分布向量表示当前待纠错字的预测字为纠错前检索词中每个字的预测概率,如:当前的待纠错字为“不要”的后一个字“说”,则注意力模块可得到将“说”纠错为:“不”、“想”、“说”、“话”、“陈”、“奕”、“迅”中每个字的预测概率。覆盖率模块通过coverage(覆盖率)机制确定第二预测分布向量,该第二预测分布向量为当前待纠错字的预测字为词表中每个字的预测概率。
S104、将第一预测分布向量及第二预测分布向量输入初始纠错模型的门控模块,得到最终预测分布向量;
在本实施例中,模型还包括门控模块,在门控模块中可设置比例值,该比例值用于确定第一预测分布向量和第二预测分布向量所占的比例,若设置第一预测分布向量的比例值为(1-Pgen),则第二预测分布向量的比例值即为Pgen,在计算最终预测分布向量时,计算第一预测分布向量与(1-Pgen)的乘积,计算第二预测分布向量与Pgen的乘积,再将两个乘积中表示同一个字的预测概率值相加得到最终预测分布向量。如:第一预测分布向量包括:A、B、C、D这四个字的预测概率,与(1-Pgen)相乘后得到的预测概率为:a1、b1、c1、d1,第二预测分布向量包括:A、E、F、D这四个字的预测概率,与Pgen相乘后得到的预测概率为:a2、e2、f2、d2,则生成的最终预测分布向量中包括:A、B、C、D、E、F这六个字的预测概率,每个字的最终预测概率为:(a1+a2)、b1、c1、(d1+d2)、e2、f2,可见,由于A和D这两个字,即在第一预测分布向量中出现又在第二预测分布向量中出现,因此最终预测分布向量中这两个字的最终预测概率为在两个分布向量中预测概率的和。
S105、根据最终预测分布向量确定与待纠错字对应的预测字,并继续确定与下一个待纠错字对应的预测字,直至得到与纠错前检索词对应的预测检索词为止;该预测检索词包括每个预测字;
在本实施例中,最终预测分布向量中包括每个字的最终预测概率,最终预测概率越大,则代表对应字越有可能成为预测字,最终预测概率越小,则代表对应字越不可能成为预测字。因此本申请根据最终预测分布向量确定与待纠错字对应的预测字时,可从最终预测分布向量中选择最终预测概率最大的字作为预测字,如:最终预测分布向量中包括:A、B、C、D、E、F这六个字的预测概率,每个字的预测概率为:(a1+a2)、b1、c1、(d1+d2)、e2、f2,且A的最终预测概率为最大的,则将A字作为最终的预测字输出。进一步,上述过程为对获得其中一个预测字的过程,为了得到整个预测检索词,还需要继续预测出下一个预测字,直至将所有输出的预测字组成预测检索词为止。如:纠错前检索词为“不想说话陈奕迅”,且通过上述过程输出的预测字分别为:“不”、“要”、“说”、“话”、“陈”、“奕”、“迅”,则输出的预测检索词即为:不要说话陈奕迅。
S106、根据每个预测字在对应的最终预测分布向量中的预测值,以及与纠错前检索词对应的纠错后检索词的真实分布向量计算损失函数值;
S107、若损失函数值大于第一预定阈值,则利用损失函数值对初始纠错模型进行参数更新,并利用下一个纠错前检索词对初始纠错模型继续训练;否则,将初始纠错模型作为最终纠错模型。
在本实施例中,通过上述过程得到预测检索词后,还需要根据预测分布及训练样本的真实分布计算损失函数值,其中:预测分布是指每个预测字在对应的最终预测分布向量中的预测值,训练样本是指与纠错前检索词对应的纠错后检索词,纠错后检索词的真实分布向量中每个字的预测概率为1。计算出损失函数值后,判断该损失函数值是否大于第一预定阈值,若是,则说明模型的训练效果并不理想,此时需要利用该损失函数值进行反向传播,以对模型的参数进行更新,然后继续从目标训练数据中获取下一个纠错前检索词进行训练,直至得到的损失函数值不大于第一预定阈值为止,便将当前训练后生成的模型作为最终纠错模型。
在本方案中,通过目标训练数据中的纠错前检索词及纠错后检索词对初始纠错模型进行训练,在训练过程中,通过模型中的注意力模块、覆盖率模块及门控模块确定预测检索词,并在训练后得到最终纠错模型,通过该方式对纠错模型进行训练,可提高模型的纠错准确率,降低模型的误伤率。
基于上述实施例,在本实施例中,从目标训练数据中获取纠错前检索词之前,还需要获取初始训练数据,并对初始训练数据执行数据增强操作后得到目标训练数据。其中,在本方案在获取初始训练数据时,可获取通过历史搜索数据构建的第一纠错对以及人工构建的第二纠错对,然后将第一纠错对及第二纠错对作为初始训练数据。该第一纠错对中的纠错前检索词为:历史搜索数据中用户输入的检索词,该第一纠错对中的纠错后检索词为:历史搜索数据中与用户输入的检索词对应的用户点击的候选检索词,候选检索词为根据用户输入的检索词召回的检索词。
具体来说,本申请可通过如下两种方式获取初始训练数据中的纠错对:一种为根据历史搜索数据构建第一纠错对,另一种为获取人工构建的第二纠错对。在第一种纠错对获取方式中,第一纠错对中的纠错前检索词为:历史搜索数据中用户输入的检索词,第一纠错对中的纠错后检索词为:历史搜索数据中与用户输入的检索词对应的用户点击的候选检索词。例如:若历史搜索数据中包括如下一条历史搜索数据:用户在终端的搜索框内输入“勿勿那年”,通过搜索召回中含有“匆匆那年”,并且用户点击了“匆匆那年”这个数据,那便可认为用户一开始输入的“勿勿那年”是错误检索词,点击的“匆匆那年”这一数据才是正确的,那么本申请根据这条历史搜索数据构建的第一纠错对为:“勿勿那年→匆匆那年”。在本实施例中,通过历史搜索数据构建的第一纠错对的数量为十万级别,具体数量在此并不限定。
进一步,本实施例中的第二纠错对为人工构建的,该第二纠错对与第一纠错对不同的是:第一纠错对是根据历史搜索数据生成,因此其生成的第一纠错对中的检索词是目前大众流行的检索词,如:“勿勿那年→匆匆那年”;而本实施例中的第二纠错对,是通过人工根据实际场景构建的包括新增检索词的纠错对,如新人歌手、新歌曲等等,例如:在“周杰伦”还未出道之前,“周杰伦”便是错误检索词,而在“周杰伦”出道后,“周杰伦”便是正确检索词,因此通过人工构建的第二纠错对更为准确,通过第二纠错对对模型进行训练,可以提高模型准确率。在本实施例中,第二纠错对的数量可以为一万多条,在此并不具体限定。
在本实施例中,对初始训练数据执行数据增强操作得到目标训练数据时,需要从初始训练数据中确定待增强的纠错对,对待增强的纠错对中的纠错前检索词执行数据增强操作。
具体来说,通过上述两种方式获得初始训练数据后,可将第一纠错对和第二纠错对合并得到初始训练数据,并执行数据增强操作,得到目标训练数据;在本实施例中,对初始训练数据执行数据增强操作,可以构建更多错误类型的纠错对,保证模型训练更充分,鲁棒性更强。并且,本实施例在对初始训练数据执行数据增强操作时,可根据预先设定的增强规则从初始训练数据中确定待增强的纠错对。具体来说,每个纠错对包括:纠错前检索词和纠错后检索词,且纠错前检索词可以为正确检索词或者错误检索词,纠错后检索词为正确检索词;也即:本实施例主要包括如下两种类型的纠错对:
1、不需要纠错的第一类型纠错对,也即:纠错前检索词为正确检索词的第一类型纠错对,此时该纠错对的形式为:正确检索词→正确检索词,如:“周杰伦七里香→周杰伦七里香”的两边均为正确检索词,因此该纠错对为不需要纠错的第一类型纠错对;
2、需要纠错的第二类型纠错对,也即:纠错前检索词为错误检索词的第二类型纠错对,此时该纠错对的形式为:错误检索词→正确检索词,如:“周杰伦七离香→周杰伦七里香”就是将错误检索词纠正为正确检索词,因此该纠错对为需要纠错的第二类型纠错对。
因此,该预先设定的增强规则中,可以设定选取第一类型纠错对及第二类型纠错对作为待增强的纠错对的比例,例如:选取的第一类型纠错对及第二类型纠错对的比例为7:3;并且,该增强规则中还可设定待增强的纠错对执行每种数据增强操作的比例,以及每个待增强的纠错对具体执行几种数据增强操作等等。
需要说明的是,本实施例对纠错对执行数据增强操作时,主要是对纠错对中的纠错前检索词执行数据增强操作,在本实施例中,对待增强的纠错对中的纠错前检索词执行如下至少一者数据增强操作:将纠错前检索词中的任意字替换为随机字、在纠错前检索词中的任意位置***随机字、将纠错前检索词中的至少两个字的位置进行随机交换、将纠错前检索词中的任意字删除;当然,在本实施例中仅以上述数据增强操作为例进行说明,并不具体限定,本领域技术人员可根据实际需求增加新的数据增强操作。
在本实施例中,以待增强的纠错对为“周杰伦七里香→周杰伦七里香”为例,对上述数据增强操作进行具体说明:
1)将纠错前检索词中的任意字替换为随机字:将“周杰伦七里香”中的“里”字替换为其他字,如:“离”,则生成的纠错对为:“周杰伦七离香→周杰伦七里香”;
2)在纠错前检索词中的任意位置***随机字:在“周杰伦七里香”中的“周杰伦”后添加“利”,则生成的纠错对为:“周杰伦利七里香→周杰伦七里香”;
3)将纠错前检索词中的至少两个字的位置进行随机交换:将“周杰伦七里香”中的“七”和“里”交换位置,生成的纠错对为:“周杰伦里七香→周杰伦七里香”;
4)将纠错前检索词中的任意字删除:将“周杰伦七里香”中的“七”删除,则生成的纠错对为:“周杰伦里香→周杰伦七里香”。
通过上述方式对纠错对执行数据增强操作后,可以得到更多错误类型的纠错对,保证模型训练更充分,鲁棒性更强。进一步,在本实施例中,为了保证模型训练效果更好,需要将训练数据中的不需要纠错的第一类型纠错对(正确检索词→正确检索词)的数量,以及需要纠错的第二类型纠错对(错误检索词→正确检索词)的数量保持在合理的范围内。因此在本实施例中,对初始训练数据执行数据增强操作之后,还需要确定当前训练数据中第一类型纠错对的数量及第二类型纠错对的数量,并根据预定比例值调整第一类型纠错对及第二类型纠错对的数量,生成目标训练数据;并且,该预定比例值可设置为3:7~4:6,具体数值可自定义设定,在此并不具体限定。通过对训练数据中第一类型纠错对及第二类型纠错对比例的限定,可保证模型在纠错中不会过于激进或保守,让模型在一个置信度相对较高时才会纠正检索词,提高模型的纠错效果。
综上可见,本方案可通过历史搜索数据或者人工构建的方式生成初始训练数据中的纠错对,这种通过历史搜索数据构建纠错对的方式,可让初始纠错模型通过与搜索引擎对应的更精准的训练数据进行训练,并且该人工构建的训练数据可以为实时热点数据,从而让模型可以及时响应热点数据,例如:搜索引擎为音乐搜索引擎,则通过历史搜索数据或者人工构建的方式生成的初始训练数据均为音乐领域知识,因此通过其对模型训练后,可让模型在对音乐搜索引擎的检索词进行纠错时,具有良好的纠错表现。本方案获得初始训练数据后,可需要对初始训练数据执行数据增强操作,从而构建更多错误类型的纠错对,保证模型训练更充分,鲁棒性更强。并且在执行数据增强操作后,通过控制不需要纠错的第一类型纠错对及需要纠错的第二类型纠错对的比例的方式,进一步提升模型训练效果。
参见图3,为本申请实施例提供的一种检索词纠错方法流程示意图,通过图3可见,该纠错方法具体包括如下步骤:
S201、获取原始检索词;
可以理解的是,本实施例中原始检索词为用户在搜索引擎的输入框内输入的检索词,如果该检索词为正确检索词,则通过搜索引擎搜索后,会得到正确的搜索结果。如果该搜索词为错误检索词,那么搜索引擎获得的搜索结果往往并不能让用户满意。因此在本实施例中,需要获取用户输入的原始检索词,通过后续步骤对该原始检索词进行纠错,从而避免因检索词错误降低检索质量,提高用户体验。
S202、将原始检索词输入最终纠错模型,并确定目标纠错字;其中,该最终纠错模型为通过上述实施例所述的训练方法得到;
在本实施例中,通过上述实施例所述的训练方法得到最终纠错模型后,即可通过该最终纠错模型对用户输入的原始检索词执行纠错处理,得到纠错后的目标检索词。需要说明的是,本方案通过最终纠错模型对原始检索词纠错的过程,与上述方法实施例所述的通过初始纠错模型对纠错前检索词进行纠错的过程类似。在本实施例中,将原始检索词输入最终纠错模型后,最终纠错模型会从纠错前检索词中确认目标纠错字,如:原始检索词为“不想说话陈奕迅”,则首个目标纠错字为“不”,输出对应的预测字后,继续对下一个目标纠错字继续预测,直至输出与目标检索词为止。
S203、利用最终纠错模型的注意力模块确定与目标纠错字对应的第一目标预测分布向量;利用最终纠错模型的覆盖率模块确定与目标纠错字对应的第二目标预测分布向量;第一目标预测分布向量表示所述原始检索词中每个字的预测概率;第二目标预测分布向量表示词表中每个字的预测概率;
在本实施例中,最终纠错模型中的注意力模块和覆盖率模块所实现的功能与上述实施例相同。具体来说,注意力模块用于通过Attention机制确定第一目标预测分布向量,其表示目标纠错字的预测字为原始检索词中每个字的预测概率;覆盖率模块通过coverage机制确定第二目标预测分布向量,其表示目标纠错字的预测字为词表中每个字的预测概率。
S204、将第一目标预测分布向量及第二目标预测分布向量输入最终纠错模型的门控模块,得到最终目标预测分布向量;
在本实施例中,同样在门控模块中设置比例值,该比例值用于确定第一目标预测分布向量和第二目标预测分布向量所占的比例值。在计算最终目标预测分布向量时,首先计算第一目标预测分布向量与对应比例值的乘积,计算第二目标预测分布向量与对应比例值的乘积,再将两个乘积中表示同一个字的预测概率值相加得到最终目标预测分布向量。
S205、根据最终目标预测分布向量确定与目标纠错字对应的预测字,并继续确定与下一个目标纠错字对应的预测字,直至得到与原始检索词对应的目标检索词为止;该目标检索词包括每个预测字。
在本实施例中,最终目标预测分布向量中包括每个字的最终预测概率,最终预测概率越大,则代表对应字越有可能成为预测字,最终预测概率越小,则代表对应字越不可能成为预测字。因此本申请根据最终目标预测分布向量确定与目标纠错字对应的预测字时,可从最终目标预测分布向量中选择最终预测概率最大的字作为预测字,所有输出的预测字便生成目标检索词。例如:原始检索词为“不想说话陈奕迅”,通过本方案输出的目标检索词为“不要说话陈奕迅”,则“不要说话陈奕迅”即为纠错后的检索词,此时便可通过“不要说话陈奕迅”进行检索,从而能得出更准确的检索结果。
综上可见,在本方案中,用户输入原始检索词后,为了避免因原始检索词错误降低检索质量,需要利用训练后的最终纠错模型翻译出与原始检索词对应的正确的目标检索词,从而对原始检索词实现了纠错处理,避免因检索词错误降低检索质量,提高用户体验。
基于上述实施例,在本实施例中,利用最终纠错模型的注意力模块确定与目标纠错字对应的第一目标预测分布向量之后,还包括:
判断所述第一目标预测分布向量中是否存在目标字的预测概率大于第二预定阈值;若是,则将所述目标字直接作为与所述目标纠错字对应的预测字;若否,则继续执行所述利用所述最终纠错模型的覆盖率模块确定与所述目标纠错字对应的第二目标预测分布向量的步骤。
需要说明的是,目前的深度神经翻译模型执行翻译操作时,深度神经翻译模型需要将每个字词翻译为对应语言的表达,而在本实施例中,深度神经翻译模型主要用于纠错,而纠错的目的是将检索词中错误的部分纠正为正确的表达,而正确的部分需要保留下来,因此,本申请基于纠错这一特点,在模型中加入目标网络的复制能力,从而让模型尽量保持句子正确的部分,只对错误的部分通过模型生成正确的内容。本方案在选取具有复制能力的目标网络时,可选择pointer network(指针网络)或者copy network(复制网络),在本实施例中,以pointer network为目标网络为例对进行说明,也即:本实施例中的最终纠错模型为混合了Seq2Seq Attention和pointer network的网络模型,它具有Seq2SeqAttention的生成能力和pointer network的复制能力,在执行纠错操作时,针对错误的部分,可利用pointer network的复制能力将正确目标字从原始检索词复制到目标检索词,对错误词的就采用Seq2Seq Attention生成新的词。
具体来说,本方案得到第一目标预测分布向量后,可以判断第一目标预测分布向量中是否存在目标字的预测概率大于第二预定阈值;例如:原始检索词为“不想说话陈奕迅”,设定第二预定阈值为90%(第二预定阈值的具体数值可根据实际情况进行设定,在此仅以90%为例进行说明),在预测“不要”后的下一个字时,得到的第一目标预测分布向量中,“说”字的预测概率为95%,大于90%,此时说明“说”字为正确的目标字,则直接将“说”字作为预测字输出,如果不存在预测概率大于90%的字,则说明原始检索词中不存在正确的目标字,此时继续执行利用最终纠错模型的覆盖率模块确定与目标纠错字对应的第二目标预测分布向量的步骤。
综上可见,本方案通过将指针网络与Seq2Seq Attention模型结合后,可让模型具有复制功能,在纠错过程中,通过指针网络决定原始检索词中哪些错误字需要纠错,哪些正确字可直接复制保留下来,从而避免将正确字纠错为错误字,提高最终纠错模型的准确率,降低误伤率。
为了对本方案进行具体说明,参见图4,本申请实施例提供了一种基于最终纠错模型的纠错流程示意图。
在本实施例中,最终纠错模型为Seq2Seq Attention模型,其中,Seq2Seq是一种循环神经网络的变种,包括编码器(Encoder)和解码器(Decoder)两部分。并且,由于GRU(Gated Recurrent Unit,门控循环单元)和LSTM(Long Short-Term Memory,长短期记忆人工神经网络)在很多情况下实际表现上相差无几,但是GRU更易于计算,便于训练,因此在本实施例中,Seq2Seq的Encoder采用双向GRU,Seq2Seq的Decoder采用GRU。并且,Attention机制可以选择bahdanau attention或者luong attention,在此并不具体限定。
参见图4,Encoder hidder state为Encoder隐含状态,Decoder hidder state为Decoder隐含状态,Attention Distribution为注意分布,即为本申请中的第一目标预测分布向量,Context Vector为上下文向量,Vocabulary Distribution为词汇分布,即为本申请中的第二目标预测分布向量,Pgen为门控机制,Final Distribution为最终分布,即为本申请中的最终目标预测分布向量。
在本实施例中,以用户输入原始检索词“不想说话陈奕迅”为例进行说明,整个流程可分为如下几个部分:
1、模型的Encoder端输入序列“不想说话陈奕迅”,将输入序列通过双向GRU模块得到Encoder端隐状态:h1,h2,...,hn,在此例中n=7;
2、在Decoder端加入<START>标签,如图4所示,此时已经输出了两个预测字“不要”,在此仅以预测第三个字为例对本方案进行说明。此时,在原检索词中的第三个字为“说”,因此目标纠错字即为“说”。
3、注意力模块在计算第一目标预测分布向量时,根据第二个字“要”的隐状态S3与h1,h2,…,hn使用bahdanau attention方法计算,并通过softmax进行归一化处理,得到Encoder端字表的第一目标预测分布向量Attention Distribution,也即图4中的概率图x;
4、覆盖率模块在计算第二目标预测分布向量时,将Attention Distribution作为h1,h2,...,hn的权重进行加权求和,得到上下文向量context vector,将context vector、S3结合coverage机制处理后,得到Decoder端字表的第二目标预测分布向量vocabularydistribution,也即图4中的概率图X;
5、门控模块计算最终目标预测分布向量时,设置Encoder端字表与Decoder端字表的比例,Encoder端占比为1-Pgen,Decoder端占比为Pgen,将两个字表分布按比例加和,得到对“不要”的下一个字的最终目标预测分布向量,如图4所示,概率图x*(1-Pgen)+概率图X*Pgen后,生成最终目标预测分布向量Final Distribution,通过图4的FinalDistribution可以看出,“说”字的概率最高,因此选择“说”作为最终的目标字输出。然后继续预测下一个字,直至输出对应的目标检索词为止。
需要说明的是,本方案在模型训练过程中引入coverage机制,可以解决Decoder端重复生成问题,核心思想为:用先前的注意力权重决策来影响当前注意力权重的决策,这样就避免在同一位置重复,从而避免重复生成文本。coverage机制实现如下:
A、当预测时刻t的词时,模型在过往的t-1个时刻中,源文本被关注程度的分布情况为:
其中,at′表示预测时刻之前的0~t-1个时刻中第t’个时刻的词的注意力分数,ct表示预测时刻t的converage向量。
B、Attention计算时,Encoder隐状态和Decoder隐状态的基础上加入了converage向量的信息,这样就把coverage信息结合了进来,具体为:
C、将注意力分数累计和加入到损失函数中,定义覆盖损失conlosst如下:
at=softmax(et)
D、对于覆盖损失来说,这里是对累计注意力和当前注意力的重复部分进行惩罚。加入覆盖损失后,总损失函数就为:
其中,表示第t时刻的词向量,表示的生成概率,λ表示预设参数。通过该总损失函数可以看出coverage机制的原理为:若当前预测的词之前该词出现过了,那么其就很大,那么为了减少loss,就需要变小(因为loss是取两者较小值),小就代表着这个位置被注意的概率减少,被注意的概率减少,则重复选取的概率就变少,从而避免重复生成文本,可以进一步提高模型训练效果。
综上所述,本申请通过对初始纠错模型进行训练得到最终纠错模型,并通过最终纠错模型对检索词纠错的方案,与其他传统纠错方案的纠错效果对比后发现,能将纠错准确率提高至95%,召回率提高至93%,误伤率降低至3.2%,从而避免因原始检索词存在错误降低检索质量。
下面对本申请实施例提供的训练装置、纠错装置、设备及存储介质进行介绍,下文描述的训练装置、纠错装置、设备及存储介质与上文描述的训练方法及纠错方法可以相互参照。
参见图5,本申请实施例提供的一种纠错模型的训练装置结构示意图,该装置具体包括:
第一获取模块11,用于从目标训练数据中获取纠错前检索词;
第一输入模块12,用于将所述纠错前检索词输入初始纠错模型,并确定待纠错字;所述初始纠错模型为Seq2Seq模型;
第一确定模块13,用于利用所述初始纠错模型的注意力模块确定与所述待纠错字对应的第一预测分布向量;所述第一预测分布向量表示所述纠错前检索词中每个字的预测概率;
第二确定模块14,用于利用所述初始纠错模型的覆盖率模块确定与所述待纠错字对应的第二预测分布向量;所述第二预测分布向量表示词表中每个字的预测概率;
第二输入模块15,用于将所述第一预测分布向量及所述第二预测分布向量输入所述初始纠错模型的门控模块,得到最终预测分布向量;
第三确定模块16,用于根据所述最终预测分布向量确定与所述待纠错字对应的预测字,并继续确定与下一个待纠错字对应的预测字,直至得到与所述纠错前检索词对应的预测检索词为止;所述预测检索词包括每个预测字;
计算模块17,用于根据每个预测字在对应的最终预测分布向量中的预测值,以及与所述纠错前检索词对应的纠错后检索词的真实分布向量计算损失函数值;
更新模块18,用于在所述损失函数值大于第一预定阈值时,利用所述损失函数值对所述初始纠错模型进行参数更新,并利用下一个纠错前检索词对初始纠错模型继续训练;否则,将所述初始纠错模型作为最终纠错模型。
在上述实施例的基础上,作为一种优选实施方式,该训练装置还包括:
第二获取模块,用于获取初始训练数据;
数据增强模块,用于对所述初始训练数据执行数据增强操作,得到目标训练数据。
在上述实施例的基础上,作为一种优选实施方式,该数据增强模块包括:
第一确定单元,用于从所述初始训练数据中确定待增强的纠错对;
操作单元,用于对所述待增强的纠错对中的纠错前检索词执行数据增强操作。
在上述实施例的基础上,作为一种优选实施方式,该操作单元具体用于:对所述待增强的纠错对中的纠错前检索词,执行如下至少一者数据增强操作:将纠错前检索词中的任意字替换为随机字、在纠错前检索词中的任意位置***随机字、将纠错前检索词中的至少两个字的位置进行随机交换、将纠错前检索词中的任意字删除。
在上述实施例的基础上,作为一种优选实施方式,数据增强模块还包括:
第二确定单元,用于确定当前训练数据中第一类型纠错对的数量及第二类型纠错对的数量,所述第一类型纠错对为:纠错前检索词为正确检索词的纠错对,所述第二类型纠错对为:纠错前检索词为错误检索词的纠错对;
调整单元,用于根据预定比例值调整所述第一类型纠错对及所述第二类型纠错对的数量,生成所述目标训练数据。
在上述实施例的基础上,作为一种优选实施方式,该第二获取模块包括:
第一获取单元,用于获取通过历史搜索数据构建的第一纠错对;所述第一纠错对中的纠错前检索词为:所述历史搜索数据中用户输入的检索词,所述第一纠错对中的纠错后检索词为:所述历史搜索数据中与所述用户输入的检索词对应的用户点击的候选检索词,所述候选检索词为根据用户输入的检索词召回的检索词;
第二获取单元,用于获取人工构建的第二纠错对;
第三确定单元,用于将所述第一纠错对及所述第二纠错对作为所述初始训练数据。
参见图6,本申请实施例提供的一种检索词纠错装置结构示意图,该装置具体包括:
第三获取模块21,用于获取原始检索词;
第三输入模块22,用于将所述原始检索词输入最终纠错模型,并确定目标纠错字;所述最终纠错模型为通过上述纠错模型的训练方法得到;
第四确定模块23,用于利用所述最终纠错模型的注意力模块确定与目标纠错字对应的第一目标预测分布向量;所述第一目标预测分布向量表示所述原始检索词中每个字的预测概率;
第五确定模块24,用于利用所述最终纠错模型的覆盖率模块确定与所述目标纠错字对应的第二目标预测分布向量;所述第二目标预测分布向量表示词表中每个字的预测概率;
第四输入模块25,用于将所述第一目标预测分布向量及所述第二目标预测分布向量输入所述最终纠错模型的门控模块,得到最终目标预测分布向量;
第六确定模块26,用于根据最终目标预测分布向量确定与所述目标纠错字对应的预测字,并继续确定与下一个目标纠错字对应的预测字,直至得到与所述原始检索词对应的目标检索词为止;所述目标检索词包括每个预测字。
在上述实施例的基础上,作为一种优选实施方式,该纠错装置还包括:
判断模块,用于判断所述第一目标预测分布向量中是否存在目标字的预测概率大于第二预定阈值;若是,则将所述目标字直接作为与所述目标纠错字对应的预测字;若否,则继续触发第五确定模块。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成。本申请还提供了一种电子设备,参见图7,本申请实施例提供的一种电子设备30的结构图,如图7所示,可以包括处理器31和存储器32。
其中,处理器31可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器31可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器31也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器31可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器31还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器32可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器32还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器32至少用于存储以下计算机程序321,其中,该计算机程序被处理器31加载并执行之后,能够实现前述任一实施例公开的纠错模型的训练方法的步骤,和/或,检索词纠错方法的步骤。另外,存储器32所存储的资源还可以包括操作***322和数据323等,存储方式可以是短暂存储或者永久存储。其中,操作***322可以包括Windows、Unix、Linux等。
在一些实施例中,电子设备30还可包括有显示屏33、输入输出接口34、通信接口35、传感器36、电源37以及通信总线38。
当然,图7所示的电子设备的结构并不构成对本申请实施例中电子设备的限定,在实际应用中电子设备可以包括比图7所示的更多或更少的部件,或者组合某些部件。
在另一示例性实施例中,还提供了了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意方法实施例所述的纠错模型的训练方法的步骤,和/或,检索词纠错方法的步骤。其中,该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种纠错模型的训练方法,其特征在于,包括:
从目标训练数据中获取纠错前检索词;
将所述纠错前检索词输入初始纠错模型,并确定待纠错字;所述初始纠错模型为Seq2Seq模型;
利用所述初始纠错模型的注意力模块确定与所述待纠错字对应的第一预测分布向量;利用所述初始纠错模型的覆盖率模块确定与所述待纠错字对应的第二预测分布向量;所述第一预测分布向量表示所述纠错前检索词中每个字的预测概率;所述第二预测分布向量表示词表中每个字的预测概率;
将所述第一预测分布向量及所述第二预测分布向量输入所述初始纠错模型的门控模块,得到最终预测分布向量;
根据所述最终预测分布向量确定与所述待纠错字对应的预测字,并继续确定与下一个待纠错字对应的预测字,直至得到与所述纠错前检索词对应的预测检索词为止;所述预测检索词包括每个预测字;
根据每个预测字在对应的最终预测分布向量中的预测值,以及与所述纠错前检索词对应的纠错后检索词的真实分布向量计算损失函数值;
若所述损失函数值大于第一预定阈值,则利用所述损失函数值对所述初始纠错模型进行参数更新,并利用下一个纠错前检索词对初始纠错模型继续训练;否则,将所述初始纠错模型作为最终纠错模型。
2.根据权利要求1所述的训练方法,其特征在于,所述从目标训练数据中获取纠错前检索词之前,还包括:
获取初始训练数据;
对所述初始训练数据执行数据增强操作,得到目标训练数据。
3.根据权利要求2所述的训练方法,其特征在于,所述对所述初始训练数据执行数据增强操作,得到目标训练数据,包括:
从所述初始训练数据中确定待增强的纠错对;
对所述待增强的纠错对中的纠错前检索词执行数据增强操作。
4.根据权利要求3所述的训练方法,其特征在于,所述对所述待增强的纠错对中的纠错前检索词执行数据增强操作,包括:
对所述待增强的纠错对中的纠错前检索词,执行如下至少一者数据增强操作:
将纠错前检索词中的任意字替换为随机字、在纠错前检索词中的任意位置***随机字、将纠错前检索词中的至少两个字的位置进行随机交换、将纠错前检索词中的任意字删除。
5.根据权利要求3所述的训练方法,其特征在于,所述对所述初始训练数据执行数据增强操作之后,还包括:
确定当前训练数据中第一类型纠错对的数量及第二类型纠错对的数量,所述第一类型纠错对为:纠错前检索词为正确检索词的纠错对,所述第二类型纠错对为:纠错前检索词为错误检索词的纠错对;
根据预定比例值调整所述第一类型纠错对及所述第二类型纠错对的数量,生成所述目标训练数据。
6.根据权利要求2所述的训练方法,其特征在于,所述获取初始训练数据,包括:
获取通过历史搜索数据构建的第一纠错对;所述第一纠错对中的纠错前检索词为:所述历史搜索数据中用户输入的检索词,所述第一纠错对中的纠错后检索词为:所述历史搜索数据中与所述用户输入的检索词对应的用户点击的候选检索词,所述候选检索词为根据用户输入的检索词召回的检索词;
获取人工构建的第二纠错对;
将所述第一纠错对及所述第二纠错对作为所述初始训练数据。
7.一种检索词纠错方法,其特征在于,包括:
获取原始检索词;
将所述原始检索词输入最终纠错模型,并确定目标纠错字;所述最终纠错模型为通过如权利要求1至6中任意一项所述的纠错模型的训练方法得到;
利用所述最终纠错模型的注意力模块确定与目标纠错字对应的第一目标预测分布向量;利用所述最终纠错模型的覆盖率模块确定与所述目标纠错字对应的第二目标预测分布向量;所述第一目标预测分布向量表示所述原始检索词中每个字的预测概率;所述第二目标预测分布向量表示词表中每个字的预测概率;
将所述第一目标预测分布向量及所述第二目标预测分布向量输入所述最终纠错模型的门控模块,得到最终目标预测分布向量;
根据所述最终目标预测分布向量确定与所述目标纠错字对应的预测字,并继续确定与下一个目标纠错字对应的预测字,直至得到与所述原始检索词对应的目标检索词为止;所述目标检索词包括每个预测字。
8.根据权利要求7所述的检索词纠错方法,其特征在于,所述利用所述最终纠错模型的注意力模块确定与目标纠错字对应的第一目标预测分布向量之后,还包括:
判断所述第一目标预测分布向量中是否存在目标字的预测概率大于第二预定阈值;
若是,则将所述目标字直接作为与所述目标纠错字对应的预测字;若否,则继续执行所述利用所述最终纠错模型的覆盖率模块确定与所述目标纠错字对应的第二目标预测分布向量的步骤。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述的纠错模型的训练方法的步骤,和/或,实现如权利要求7或8所述的检索词纠错方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的纠错模型的训练方法的步骤,和/或,实现如权利要求7或8所述的检索词纠错方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210061361.1A CN114398875A (zh) | 2022-01-19 | 2022-01-19 | 一种纠错模型的训练方法、检索词纠错方法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210061361.1A CN114398875A (zh) | 2022-01-19 | 2022-01-19 | 一种纠错模型的训练方法、检索词纠错方法、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114398875A true CN114398875A (zh) | 2022-04-26 |
Family
ID=81231380
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210061361.1A Pending CN114398875A (zh) | 2022-01-19 | 2022-01-19 | 一种纠错模型的训练方法、检索词纠错方法、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114398875A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114896965A (zh) * | 2022-05-17 | 2022-08-12 | 马上消费金融股份有限公司 | 文本纠正模型训练方法及装置、文本纠正方法及装置 |
-
2022
- 2022-01-19 CN CN202210061361.1A patent/CN114398875A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114896965A (zh) * | 2022-05-17 | 2022-08-12 | 马上消费金融股份有限公司 | 文本纠正模型训练方法及装置、文本纠正方法及装置 |
CN114896965B (zh) * | 2022-05-17 | 2023-09-12 | 马上消费金融股份有限公司 | 文本纠正模型训练方法及装置、文本纠正方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Uc-Cetina et al. | Survey on reinforcement learning for language processing | |
CN110032633B (zh) | 多轮对话处理方法、装置和设备 | |
CN109657054B (zh) | 摘要生成方法、装置、服务器及存储介质 | |
CN112100354B (zh) | 人机对话方法、装置、设备及存储介质 | |
CN115795009A (zh) | 基于生成式多语言模型的跨语言问答***构建方法和装置 | |
CN111651589B (zh) | 一种针对长文档的两阶段文本摘要生成方法 | |
CN112528637B (zh) | 文本处理模型训练方法、装置、计算机设备和存储介质 | |
CN111460115B (zh) | 智能人机对话模型训练方法、模型训练装置及电子设备 | |
CN111026857B (zh) | 对话状态跟踪方法、人机对话方法及*** | |
US11003993B1 (en) | Training recurrent neural networks to generate sequences | |
CN110678882A (zh) | 使用机器学习从电子文档选择回答跨距 | |
CN114154487A (zh) | 文本自动纠错方法、装置、电子设备及存储介质 | |
CN116186200B (zh) | 模型训练方法、装置、电子设备和存储介质 | |
CN115048505A (zh) | 语料筛选方法和装置、电子设备、计算机可读介质 | |
CN117236410A (zh) | 一种可信的电子文件大语言模型训练、推理方法和装置 | |
CN115062718A (zh) | 语言模型训练方法、装置、电子设备及存储介质 | |
CN114398875A (zh) | 一种纠错模型的训练方法、检索词纠错方法、设备及介质 | |
CN110852066B (zh) | 一种基于对抗训练机制的多语言实体关系抽取方法及*** | |
CN114528387A (zh) | 基于对话流自举的深度学习对话策略模型构建方法和*** | |
CN111428487B (zh) | 模型训练方法、歌词生成方法、装置、电子设备及介质 | |
CN115588429A (zh) | 语音识别的纠错方法及装置 | |
CN115936020A (zh) | 文本翻译的方法、装置、电子设备和介质 | |
CN116304014A (zh) | 训练实体类型识别模型的方法、实体类型识别方法及装置 | |
CN112580365B (zh) | 篇章解析方法及电子设备、存储装置 | |
CN110866195B (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 |