发布信息

一种印尼语的拼写纠错方法、装置、设备及存储介质 专利技术说明

作者:admin      2023-07-05 12:06:54     428



计算;推算;计数设备的制造及其应用技术1.本发明涉及自然语言处理技术领域,尤其涉及一种印尼语的拼写纠错方法、装置、终端设备及计算机可读存储介质。背景技术:2.现有的自然语言拼写纠错技术,普遍把纠错任务视为分类任务。这类技术在训练用于拼写纠错的深度学习模型时,会事先制定一个有限的单词表,这部分单词被称为“登录词”,然后让深度学习模型学习这些单词的高维表达,从而让深度模型理解输入文本的含义。在进行纠错的时候,深度模型通过计算从登录词表中选出一个最有可能的单词作为纠错方案。这意味着这类技术将无法给出登录词表以外的单词作为纠错方案,当错误单词的正确形式是一个登录词表以外的单词,这部分拼写纠错技术将无法纠正。3.而印尼语作为一种具有代表性的低资源语言,印尼语现有的语料库规模不足且数据稀疏,从而导致现有的应用于印尼语的深度学习模型只能学习到有限的印尼语单词,若错误单词的正确形式未被深度学习模型所学习,则该错误单词无法被正确纠正,造成印尼语单词拼写纠错的正确率较低。技术实现要素:4.本发明提供一种印尼语的拼写纠错方法、装置、终端设备以及计算机可读存储介质,能够提高印尼语单词拼写纠正的正确率。5.本发明实施例提供了一种印尼语的拼写纠错方法,包括:6.获取待检测的印尼语语句,根据预设的印尼语词典对所述印尼语语句中的单词进行检测,得到所述印尼语语句中的错误单词;7.通过预设的语义提取模型,对所述错误单词的上下文进行语义提取,得到所述错误单词的上下文特征向量;8.基于所述错误单词和预先构建的二元印尼语统计模型,获取所述错误单词对应的候选单词集合;其中,所述候选单词集合中包括若干候选单词;9.通过预先搭建的encoder-decoder框架、所述错误单词和所述上下文特征向量,计算所述候选单词集合中每一所述候选单词的第一选取概率;10.根据每一所述候选单词与所述错误单词的编辑距离,对每一所述候选单词的第一选取概率进行调整,得到每一所述候选单词的第二选取概率;11.根据每一所述候选单词的第二选取概率,从所述候选单词集合中选择第二选取概率最大的所述候选单词作为所述错误单词的纠错单词,以对所述错误单词进行纠正。12.作为上述方案的改进,所述基于所述错误单词和预先构建的二元印尼语统计模型,获取所述错误单词对应的候选单词集合,包括:13.获取与所述错误单词编辑距离小于预设阈值的单词,以构成第一候选单词子集;14.获取所述错误单词在所述印尼语语句中的前一个单词和后一个单词;15.将所述错误单词的前一个单词作为上文单词,通过预先构建的二元印尼语统计模型对所述上文单词的下一个单词进行预测,以得到第二候选单词子集;其中,所述第二候选单词子集包括所有由所述上文单词预测得到的单词;16.将所述错误单词的下一个单词作为下文单词,通过预先构建的二元印尼语统计模型对所述下文单词的上一个单词进行预测,以得到第三候选单词子集;其中,所述第三候选单词子集包括所有由所述下文单词预测得到的单词;17.对所述第一候选单词子集、所述第二候选单词子集和所述第三候选单词子集取交集,得到所述错误单词对应的候选单词集合;其中,所述候选单词集合中的单词为候选单词。18.作为上述方案的改进,所述encoder-decoder框架由编码器、解码器和注意力层构成;19.则,所述通过预先搭建的encoder-decoder框架、所述错误单词和所述上下文特征向量,计算所述候选单词集合中每一所述候选单词的第一选取概率,包括:20.将所述错误单词逐字符输入至所述encoder-decoder框架的编码器中进行编码,得到所述错误单词的第i个字符的隐藏特征向量和最后时刻输出的上下文条件向量;其中,i大于或等于0;21.将所述错误单词的上下文条件向量和所述上下文特征向量进行相加,得到所述错误单词的初始编码特征向量;22.通过所述encoder-decoder框架的注意力层、所述错误单词的第i个字符的隐藏特征向量和所述错误单词的初始编码特征向量,计算所述编码器输入所述错误单词的第i个字符的注意力特征向量;23.将所述错误单词的第i个字符的注意力特征向量和每一所述候选单词的第i-1个字符进行拼接,得到每一所述候选单词的第i个字符的待解码特征向量;24.将每一所述候选单词的第i个字符的待解码特征向量输入至所述encoder-decoder框架的解码器中进行解码,得到每一所述候选单词的第i个字符的字符概率;25.计算每一所述候选单词的所有字符的字符概率的均值,得到每一所述候选单词的第一选取概率。26.作为上述方案的改进,所述根据每一所述候选单词与所述错误单词的编辑距离,对每一所述候选单词的第一选取概率进行调整,得到每一所述候选单词的第二选取概率,包括:27.根据每一所述候选单词与所述错误单词的编辑距离,确定调整权重;其中,所述候选单词与所述错误单词的编辑距离和所述调整权重呈反比;28.将每一所述候选单词的第一选取概率乘以对应的所述调整权重,得到每一所述候选单词的第二选取概率。29.作为上述方案的改进,所述通过预设的语义提取模型,对所述错误单词的上下文进行语义提取,得到所述错误单词的上下文特征向量,包括:30.对所述印尼语语句中的所述错误单词进行遮掩,得到待检测语句;31.将所述待检测语句输入至预设的语义提取模型,对所述错误单词的上下文进行语义提取,得到所述错误单词的上下文特征向量。32.作为上述方案的改进,所述语义提取模型为bert-bilstm模型;33.则,所述将所述待检测语句输入至预设的语义提取模型,对所述错误单词的上下文进行语义提取,得到所述错误单词的上下文特征向量,包括:34.将所述待检测语句输入至预设的语义提取模型,通过所述语义提取模型中的bert模型对所述待检测语句进行语义提取,得到第一语义特征向量;35.通过所述语义提取模型中的bilstm层对所述第一语义特征向量进行语义提取,得到第二语义特征向量;36.将所述第二语义特征向量中所述错误单词对应位置的特征,作为所述错误单词的上下文特征向量。37.作为上述方案的改进,所述encoder-decoder框架的编码器的单元数为所述语义提取模型的bilstm层的单元数的两倍。38.相应地,本发明另一实施例提供一种印尼语的拼写纠错装置,包括:39.数据预处理模块,用于获取待检测的印尼语语句,根据预设的印尼语词典对所述印尼语语句中的单词进行检测,得到所述印尼语语句中的错误单词;40.语义提取模块,用于通过预设的语义提取模型,对所述错误单词的上下文进行语义提取,得到所述错误单词的上下文特征向量;41.候选词获取模块,用于基于所述错误单词和预先构建的二元印尼语统计模型,获取所述错误单词对应的候选单词集合;其中,所述候选单词集合中包括若干候选单词;42.单词生成模块,用于通过预先搭建的encoder-decoder框架、所述错误单词和所述上下文特征向量,计算所述候选单词集合中每一所述候选单词的第一选取概率;43.概率调整模块,用于根据每一所述候选单词与所述错误单词的编辑距离,对每一所述候选单词的第一选取概率进行调整,得到每一所述候选单词的第二选取概率;44.单词纠错模块,用于根据每一所述候选单词的第二选取概率,从所述候选单词集合中选择第二选取概率最大的所述候选单词作为所述错误单词的纠错单词,以对所述错误单词进行纠正。45.本发明另一实施例提供一种终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上任意一项所述的印尼语的拼写纠错方法。46.本发明另一实施例提供一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上任意一项所述的印尼语的拼写纠错方法。47.与现有技术相比,本发明实施例公开的印尼语的拼写纠错方法、装置、终端设备和计算机可读存储介质,首先,获取待检测的印尼语语句,根据预设的印尼语词典对所述印尼语语句中的单词进行检测,得到所述印尼语语句中的错误单词;通过预设的语义提取模型,对所述错误单词的上下文进行语义提取,得到所述错误单词的上下文特征向量;并基于所述错误单词和预先构建的二元印尼语统计模型,获取所述错误单词对应的候选单词集合,使得所获取的候选单词集合与所述错误单词的相似度较高,并能够获取除语义提取模型或者encoder-decoder框架训练用的登录词表以外的印尼语单词,以提高印尼语错误单词纠错的准确性;然后,通过预先搭建的encoder-decoder框架、所述错误单词和所述上下文特征向量,从字符级上计算所述候选单词集合中每一所述候选单词的第一选取概率;根据每一所述候选单词与所述错误单词的编辑距离,对每一所述候选单词的第一选取概率进行调整,得到每一所述候选单词的第二选取概率;最后,根据每一所述候选单词的第二选取概率,从所述候选单词集合中选择第二选取概率最大的所述候选单词作为所述错误单词的纠错单词。因此,能够从候选单词集合中选取与错误单词相似度最高/可能性最高的候选单词对所述错误单词进行纠正,同时,由于候选单词均是基于现有的印尼语词典进行选择,因此,能够限制纠错方案的可选范围,以保证最后对所述错误单词进行纠正的单词是正确的,以提高印尼语单词拼写纠正的正确率。附图说明48.图1是本发明实施例提供的一种印尼语的拼写纠错方法的流程示意图;49.图2是本发明实施例提供的一种印尼语的拼写纠错方法所使用的模型框架;50.图3是本发明实施例提供的一种印尼语的拼写纠错装置的结构示意图;51.图4是本发明实施例提供的一种终端设备的结构示意图。具体实施方式52.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。53.参见图1,图1是本发明一实施例提供的一种印尼语的拼写纠错方法的流程示意图。54.本发明实施例提供的印尼语的拼写纠错方法,包括步骤:55.s11、获取待检测的印尼语语句,根据预设的印尼语词典对所述印尼语语句中的单词进行检测,得到所述印尼语语句中的错误单词;56.s12、通过预设的语义提取模型,对所述错误单词的上下文进行语义提取,得到所述错误单词的上下文特征向量;57.s13、基于所述错误单词和预先构建的二元印尼语统计模型,获取所述错误单词对应的候选单词集合;其中,所述候选单词集合中包括若干候选单词;58.s14、通过预先搭建的encoder-decoder框架、所述错误单词和所述上下文特征向量,计算所述候选单词集合中每一所述候选单词的第一选取概率;59.s15、根据每一所述候选单词与所述错误单词的编辑距离,对每一所述候选单词的第一选取概率进行调整,得到每一所述候选单词的第二选取概率;60.s16、根据每一所述候选单词的第二选取概率,从所述候选单词集合中选择第二选取概率最大的所述候选单词作为所述错误单词的纠错单词,以对所述错误单词进行纠正。61.需要说明的是,拼写错误纠正是许多应用程序的基本组成部分,例如:作文评分、搜索引擎、语音识别等,它被定义为识别错误的单词并提出纠正建议。拼写错误可分为两类:(1)非词错误,将一个单词错误拼写为现实中不存在的单词,如apple-aple,这类错误通常借助词典检索法可以检测出来;(2)真词错误,单词被拼错为另一个现实存在的单词,如apple-apply。本发明主要侧重于非词错误的纠正。因此,在步骤s11中,在获取到待检测的印尼语语句后,根据预设的印尼语词典对所述印尼语语句中的单词进行检测,得到所述印尼语语句中的错误单词,即非词。此外,在根据预设的印尼语词典对所述印尼语语句中的单词进行检测之前,需要对所述印尼语语句进行分析,将印尼语语句中的单词划分出来,分词处理可参照其他现有技术,在此不再过多赘述。62.作为其中一个优选的实施例,所述基于所述错误单词和预先构建的二元印尼语统计模型,获取所述错误单词对应的候选单词集合,包括:63.获取与所述错误单词编辑距离小于预设阈值的单词,以构成第一候选单词子集;64.获取所述错误单词在所述印尼语语句中的前一个单词和后一个单词;65.将所述错误单词的前一个单词作为上文单词,通过预先构建的二元印尼语统计模型对所述上文单词的下一个单词进行预测,以得到第二候选单词子集;其中,所述第二候选单词子集包括所有由所述上文单词预测得到的单词;66.将所述错误单词的下一个单词作为下文单词,通过预先构建的二元印尼语统计模型对所述下文单词的上一个单词进行预测,以得到第三候选单词子集;其中,所述第三候选单词子集包括所有由所述下文单词预测得到的单词;67.对所述第一候选单词子集、所述第二候选单词子集和所述第三候选单词子集取交集,得到所述错误单词对应的候选单词集合;其中,所述候选单词集合中的单词为候选单词。68.具体地,所述二元印尼语统计模型是基于预设的印尼语词典中的单词二元对构建的。69.具体地,所述二元印尼语统计模型的构建步骤如下:70.从预设的印尼语词典中获取n个印尼语文本,对所述印尼语文本进行分词;其中,n大于1;71.统计所有所述印尼语文本中的单词二元对<front_word,back_word>的频次,其中,front_word和back_word为印尼语文本中相邻的两个单词,front_word为back_word的前一个单词;72.将频次为1的单词二元对去除,并保存最终的单词二元对的频次统计结果,以得到二元印尼语统计模型。73.优选地,所述预设阈值为3。74.示例性地,以预设阈值为3为例,步骤s13的步骤具体为:获取与所述错误单词编辑距离小于3的单词,以构成第一候选单词子集;获取所述错误单词在所述印尼语语句中的前一个单词和后一个单词;通过所述二元印尼语统计模型查询所述错误单词的前一个单词(即,上文单词)作为front_word时的单词二元对,将其对应的back_word组合成第二候选单词子集;通过所述二元印尼语统计模型查询所述错误单词的后一个单词(即,下文单词)作为back_word时的单词二元对,将其对应的front_word组合成第三候选单词子集;对所述第一候选单词子集、所述第二候选单词子集和所述第三候选单词子集取交集,得到所述错误单词对应的候选单词集合lcandidate={wc_1_1,wc_1_2,...,wc_d_j};其中,wc_d_j为候选单词集合中编辑距离为d的第j个候选单词,wc_d_j={c1,c2,...,cm},cm为wc_d_j中的第m个字符。75.值得说明的是,通过对现有印尼语数据集中的非词错误进行分析,发现错误单词和正确单词在字母组成上高度相似,因此,可以使用编辑距离来衡量错误单词和词典中单词的相似度,从词典中筛选出相似度较高的单词作为候选词,并根据错误单词的上一个单词和下一个单词,以及上一个单词和下一个单词在现有印尼语文本中出现时相关的单词二元对,进一步确定候选单词,约束候选单词的选择范围,以提高印尼语拼写纠错的正确率。76.在一些更优的实施例中,所述encoder-decoder框架由编码器、解码器和注意力层构成;77.则,所述通过预先搭建的encoder-decoder框架、所述错误单词和所述上下文特征向量,计算所述候选单词集合中每一所述候选单词的第一选取概率,包括:78.将所述错误单词逐字符输入至所述encoder-decoder框架的编码器中进行编码,得到所述错误单词的第i个字符的隐藏特征向量和最后时刻输出的上下文条件向量;其中,i大于或等于0;79.将所述错误单词的上下文条件向量和所述上下文特征向量进行相加,得到所述错误单词的初始编码特征向量;80.通过所述encoder-decoder框架的注意力层、所述错误单词的第i个字符的隐藏特征向量和所述错误单词的初始编码特征向量,计算所述编码器输入所述错误单词的第i个字符的注意力特征向量;81.将所述错误单词的第i个字符的注意力特征向量和每一所述候选单词的第i-1个字符进行拼接,得到每一所述候选单词的第i个字符的待解码特征向量;82.将每一所述候选单词的第i个字符的待解码特征向量输入至所述encoder-decoder框架的解码器中进行解码,得到每一所述候选单词的第i个字符的字符概率;83.计算每一所述候选单词的所有字符的字符概率的均值,得到每一所述候选单词的第一选取概率。84.在本实施例中,所述编码器(encoder)由一个lstm网络组成,所述解码器(decoder)由一个lstm网络组成。85.具体地,所述将所述错误单词逐字符输入至所述encoder-decoder框架的编码器中进行编码,得到所述错误单词的第i个字符的隐藏特征向量和最后时刻输出的上下文条件向量,具体为:86.将所述错误单词逐字符输入至所述encoder-decoder框架的编码器中,根据以下公式对所述错误单词进行编码,得到所述错误单词的第i个字符的隐藏特征向量和最后时刻输出的上下文条件向量:87.hi=lstmencoder(xi)88.outputfinal=hm89.其中,xi为错误单词中的第i个字符,lstmencoder表示编码器的运算,hi为错误单词的第i个字符的隐藏特征向量,hm为错误单词的第m个字符的隐藏特征向量,outputfinal为编码器最后时刻输出的上下文条件向量。90.具体地,所述错误单词的初始编码特征向量为vint_state=vhidden_state+outputfinal;其中,vhidden_state为所述错误单词的上下文特征向量。91.需要说明的是,所述错误单词的初始编码特征向量用于作为解码器的初始状态。92.进一步地,所述通过所述encoder-decoder框架的注意力层、所述错误单词的第i个字符的隐藏特征向量和所述错误单词的初始编码特征向量,计算所述编码器输入所述错误单词的第i个字符的注意力特征向量,具体为:93.将所述错误单词的第i个字符的隐藏特征向量和所述错误单词的初始编码特征向量输入至所述encoder-decoder框架的注意力层,根据以下公式计算所述编码器输入所述错误单词的第i个字符的注意力特征向量:94.wattention=softmax(w3tanh(w1vint_state+w2hi+b1)+b2)[0095]vcontent=∑wattention·vint_state[0096]其中,wattention为所述编码器输入所述错误单词的第i个字符的注意力权重,tanh为激活函数,w1、w2、w3、b1、b2为网络优化参数,vcontent为所述编码器输入所述错误单词的第i个字符的注意力特征向量。[0097]具体地,每一所述候选单词的第i个字符的待解码特征向量通过以下公式计算得到:xdecoder_t=(vcontent|ci-1);其中,xdecoder_t为候选单词的第i个字符的待解码特征向量,ci-1为候选单词的第i-1个字符。[0098]值得说明的是,对于任一候选单词,其第0个字符为c0=《start〉。[0099]具体地,每一所述候选单词的第i个字符的字符概率通过以下公式计算得到:其中,为候选单词的第i个字符的字符概率,lstmdecoder为解码器的运算。[0100]具体地,每一所述候选单词的第一选取概率通过以下公式计算得到:其中,为候选单词wc_d_j的第一选取概率,m为候选单词wc_d_j的总字符数。[0101]在一个具体的实施方式中,所述根据每一所述候选单词与所述错误单词的编辑距离,对每一所述候选单词的第一选取概率进行调整,得到每一所述候选单词的第二选取概率,包括:[0102]根据每一所述候选单词与所述错误单词的编辑距离,确定调整权重;其中,所述候选单词与所述错误单词的编辑距离和所述调整权重呈反比;[0103]将每一所述候选单词的第一选取概率乘以对应的所述调整权重,得到每一所述候选单词的第二选取概率。[0104]在一个具体的实施方式中,以所述预设阈值为3为例,若所述候选单词与所述错误单词的编辑距离为1,则调整权重为1.73;若所述候选单词与所述错误单词的编辑距离为2,则调整权重为1.19;若所述候选单词与所述错误单词的编辑距离为3,则调整权重为1.03。可以理解地,由于编辑距离小的候选单词比编辑距离大的候选单词更有可能是正确的纠正方案,为了体现这一特性,我们根据候选词wc_d_j的编辑距离d,将每一所述候选单词的第一选取概率乘以对应的所述调整权重进行微调,使得编辑距离较小的候选单词得到更多的重视。[0105]值得说明的是,在实际的操作过程中,在计算得到每一所述候选单词的第二选取概率之后,以第二选取概率由大到小的方式对每一所述候选单词进行排序,从所述候选单词集合中选择第二选取概率排名前5个的候选单词作为纠错的推荐方案。在本实施例中,将第二选取概率最高的候选单词作为默认的纠错方案。当然,也可以根据实际情况选择第二选取概率排名第二、第三或者第四的候选单词作为默认的纠错方案,在此不做具体限定。[0106]值得说明的是,现有的基于神经网络为主的拼写纠错模型,在纠错的过程中主要是在词汇级上将纠错任务视为分类任务,这也就导致现有的拼写纠错模型只能够将错误单词分类为预先学习过的登陆词表中的某一个登录词。而在本发明中,将印尼语的拼写纠错任务视为生成任务,将错误单词的字符组成作为预先搭建的encoder-decoder框架的输入,并结合语义提取模型给出的所述错误单词的上下文特征向量,采用逐字符判断错误单词生成候选单词对应字符的概率的方式,逐字符生成纠错方案,而不是现有技术中的从登录词表中选择纠错方案,因此,可以给出登陆词表以外的纠错方案。[0107]具体地,所述通过预设的语义提取模型,对所述错误单词的上下文进行语义提取,得到所述错误单词的上下文特征向量,包括:[0108]对所述印尼语语句中的所述错误单词进行遮掩,得到待检测语句;[0109]将所述待检测语句输入至预设的语义提取模型,对所述错误单词的上下文进行语义提取,得到所述错误单词的上下文特征向量。[0110]示例性地,给定一个长度为n的印尼语语句s={w1,w2,...,wi,...,wn},假设印尼语语句中的第i个单词wi为错误单词,为了便于区分,将错误单词表示为x,x=wi,通过[mask]对所述印尼语语句中的错误单词进行遮掩,得到待检测语句s[mask]={w1,w2,...,[mask],...,wn}。[0111]进一步地,所述语义提取模型为bert-bilstm模型;[0112]则,所述将所述待检测语句输入至预设的语义提取模型,对所述错误单词的上下文进行语义提取,得到所述错误单词的上下文特征向量,包括:[0113]将所述待检测语句输入至预设的语义提取模型,通过所述语义提取模型中的bert模型对所述待检测语句进行语义提取,得到第一语义特征向量;[0114]通过所述语义提取模型中的bilstm层对所述第一语义特征向量进行语义提取,得到第二语义特征向量;[0115]将所述第二语义特征向量中所述错误单词对应位置的特征,作为所述错误单词的上下文特征向量。[0116]具体地,所述第一语义特征向量h=bert(s[mask]);其中,bert()表示所述bert模型的模型运算,s[mask]为待检测语句。[0117]具体地,所述第二语义特征向量hl=bilstm(h);其中,bilstm()表示所述bilstm层的模型运算,hl={hl1,hl2,...,hlmask,...,hln},hln为第二语义特征向量中的第n个特征,hlmask为第二语义特征向量中所述错误单词对应位置的特征。[0118]具体地,所述错误单词的上下文特征向量vhidden_state=hlmask。[0119]具体地,所述encoder-decoder框架的编码器的单元数为所述语义提取模型的bilstm层的单元数的两倍。[0120]值得说明的是,若所述编码器为lstm网络,则所述编码器的lstm网络的单元数为所述语义提取模型的bilstm层的单元数的两倍,以确保所述错误单词的上下文条件向量和所述上下文特征向量可以进行相加。[0121]值得说明的是,语义提取模型是bert模型加bilstm层,相比较普通的网络模型,bert模型能够更好的获取上下文特征向量;候选单词集合的获取是从现有的印尼语词典中获取可能性较高的候选单词,限制了纠错方案的可选范围,使得纠正更准确;单词生成模块是一个encoder-decoder框架,能够综合错误单词的字符组成和上下文特征向量,逐字符生成纠错方案。因此,本发明对印尼语标注的数据量的依赖不高。由于本发明所使用的语义提取模型可以是预先训练好的,所以语义提取模块和encoder-decoder框架在训练纠错任务的时候,只需要少量的数据进行微调即可。此外,由于候选单词的获取所采用的是编辑距离和n-gram统计语言模型,因此,也并不需要专门针对印尼语拼写纠错的数据,相比现有技术而言,本发明实施例所提供的印尼语的拼写纠错方法对印尼语文本的拼写错误具有更好的纠错效果。[0122]参见图2,是本发明实施例提供的一种印尼语的拼写纠错方法所使用的模型框架,下面以一个具体实施例对本实施例所提供的印尼语的拼写纠错方法进行简单说明:[0123]给定一个长度为n的印尼语语句s={w1,w2,...,wi,...,wn};其中,wi是长度为m的错误单词x=wi,x={x1,x2,...,xm}。将x和s输入至本发明对应的模型框架中,输出目标单词y={y1,y2,...,ym}。由于非词错误的检测通常是通过词典检测获得,因此,可以将任务表述为条件生成问题,通过建模最大化条件概率p(y|xs)。参见图2所示的模型框架,对s中的非词x进行mask处理后,输入到语义提取模型,获得x在词汇级上的上下文特征向量vhidden_state。将vhidden_state作为初始状态,向搭建的encoder-decoder框架循环输入x进行编码,获得上下文条件向量outputfinal后,开始生成纠正方案ypredict,即最终被选中的候选单词。在实际应用中,为了控制生成结果不存在拼写错误,采用模拟输入评分的生成策略,从词典中筛选出和x编辑距离小于等于3,且存在n-gram关系的候选单词,构成候选单词集合lcandidate={wc_1_1,wc_1_2,...,wc_d_j},然后利用encoder-decoder框架的decoder计算候选单词的置信度,即第一选取概率,从而得到最佳的纠错方案。其中,图2所示的pym为在给定前m-1个字符的前提下生成第m个字符ym的字符概率,py为生成目标单词y的第一选取概率。[0124]参见图3,是本发明实施例提供的一种印尼语的拼写纠错装置的结构示意图。[0125]本发明实施例提供的印尼语的拼写纠错装置,包括:[0126]数据预处理模块21,用于获取待检测的印尼语语句,根据预设的印尼语词典对所述印尼语语句中的单词进行检测,得到所述印尼语语句中的错误单词;[0127]语义提取模块22,用于通过预设的语义提取模型,对所述错误单词的上下文进行语义提取,得到所述错误单词的上下文特征向量;[0128]候选词获取模块23,用于基于所述错误单词和预先构建的二元印尼语统计模型,获取所述错误单词对应的候选单词集合;其中,所述候选单词集合中包括若干候选单词;[0129]单词生成模块24,用于通过预先搭建的encoder-decoder框架、所述错误单词和所述上下文特征向量,计算所述候选单词集合中每一所述候选单词的第一选取概率;[0130]概率调整模块25,用于根据每一所述候选单词与所述错误单词的编辑距离,对每一所述候选单词的第一选取概率进行调整,得到每一所述候选单词的第二选取概率;[0131]单词纠错模块26,用于根据每一所述候选单词的第二选取概率,从所述候选单词集合中选择第二选取概率最大的所述候选单词作为所述错误单词的纠错单词,以对所述错误单词进行纠正。作为上述方案的改进,[0132]作为其中一个优选的实施方式,候选词获取模块23具体用于:[0133]获取与所述错误单词编辑距离小于预设阈值的单词,以构成第一候选单词子集;[0134]获取所述错误单词在所述印尼语语句中的前一个单词和后一个单词;[0135]将所述错误单词的前一个单词作为上文单词,通过预先构建的二元印尼语统计模型对所述上文单词的下一个单词进行预测,以得到第二候选单词子集;其中,所述第二候选单词子集包括所有由所述上文单词预测得到的单词;[0136]将所述错误单词的下一个单词作为下文单词,通过预先构建的二元印尼语统计模型对所述下文单词的上一个单词进行预测,以得到第三候选单词子集;其中,所述第三候选单词子集包括所有由所述下文单词预测得到的单词;[0137]对所述第一候选单词子集、所述第二候选单词子集和所述第三候选单词子集取交集,得到所述错误单词对应的候选单词集合;其中,所述候选单词集合中的单词为候选单词。[0138]作为其中一个优选的实施方式,单词生成模块24中的所述encoder-decoder框架由编码器、解码器和注意力层构成;[0139]则,单词生成模块24包括:[0140]特征向量编码单元,用于将所述错误单词逐字符输入至所述encoder-decoder框架的编码器中进行编码,得到所述错误单词的第i个字符的隐藏特征向量和最后时刻输出的上下文条件向量;其中,i大于或等于0;[0141]特征向量初始化单元,用于将所述错误单词的上下文条件向量和所述上下文特征向量进行相加,得到所述错误单词的初始编码特征向量;[0142]注意力特征运算单元,用于通过所述encoder-decoder框架的注意力层、所述错误单词的第i个字符的隐藏特征向量和所述错误单词的初始编码特征向量,计算所述编码器输入所述错误单词的第i个字符的注意力特征向量;[0143]特征向量拼接单元,用于将所述错误单词的第i个字符的注意力特征向量和每一所述候选单词的第i-1个字符进行拼接,得到每一所述候选单词的第i个字符的待解码特征向量;[0144]字符概率运算单元,用于将每一所述候选单词的第i个字符的待解码特征向量输入至所述encoder-decoder框架的解码器中进行解码,得到每一所述候选单词的第i个字符的字符概率;[0145]候选词概率运算单元,用于计算每一所述候选单词的所有字符的字符概率的均值,得到每一所述候选单词的第一选取概率。[0146]具体地,概率调整模块25具体用于:[0147]根据每一所述候选单词与所述错误单词的编辑距离,确定调整权重;其中,所述候选单词与所述错误单词的编辑距离和所述调整权重呈反比;[0148]将每一所述候选单词的第一选取概率乘以对应的所述调整权重,得到每一所述候选单词的第二选取概率。[0149]具体地,语义提取模块22包括:[0150]mask处理单元,用于对所述印尼语语句中的所述错误单词进行遮掩,得到待检测语句;[0151]语义提取单元,用于将所述待检测语句输入至预设的语义提取模型,对所述错误单词的上下文进行语义提取,得到所述错误单词的上下文特征向量。[0152]进一步地,所述语义提取模型为bert-bilstm模型;[0153]则,所述语义提取单元具体用于:[0154]将所述待检测语句输入至预设的语义提取模型,通过所述语义提取模型中的bert模型对所述待检测语句进行语义提取,得到第一语义特征向量;[0155]通过所述语义提取模型中的bilstm层对所述第一语义特征向量进行语义提取,得到第二语义特征向量;[0156]将所述第二语义特征向量中所述错误单词对应位置的特征,作为所述错误单词的上下文特征向量。[0157]需要说明的是,本实施例的印尼语的拼写纠错装置的各实施例的相关具体描述和有益效果可以参考上述的印尼语的拼写纠错方法的各实施例的相关具体描述和有益效果,在此不再赘述。[0158]参见图4,是本发明一实施例提供的一种终端设备的结构示意图。[0159]本发明实施例提供的一种终端设备,包括处理器10、存储器20以及存储在所述存储器20中且被配置为由所述处理器10执行的计算机程序,所述处理器10执行所述计算机程序时实现如上述任一实施例所述的印尼语的拼写纠错方法。[0160]所述处理器10执行所述计算机程序时实现上述印尼语的拼写纠错方法实施例中的步骤,例如图1所示的印尼语的拼写纠错方法的所有步骤。或者,所述处理器10执行所述计算机程序时实现上述印尼语的拼写纠错装置实施例中各模块/单元的功能,例如图3所示的印尼语的拼写纠错装置的各模块的功能。[0161]示例性的,所述计算机程序可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器20中,并由所述处理器10执行,以完成本发明。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述终端设备中的执行过程。[0162]所述终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器10、存储器20。本领域技术人员可以理解,所述示意图仅仅是终端设备的示例,并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。[0163]所称处理器10可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器10是所述终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分。[0164]所述存储器20可用于存储所述计算机程序和/或模块,所述处理器10通过运行或执行存储在所述存储器20内的计算机程序和/或模块,以及调用存储在存储器20内的数据,实现所述终端设备的各种功能。所述存储器20可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。[0165]其中,所述终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。[0166]需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。[0167]本发明另一实施例提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上方法实施例中任意一项所述的印尼语的拼写纠错方法。[0168]综上,本发明实施例所提供的一种印尼语的拼写纠错方法、装置、终端设备及计算机可读存储介质,首先,获取待检测的印尼语语句,根据预设的印尼语词典对所述印尼语语句中的单词进行检测,得到所述印尼语语句中的错误单词;通过预设的语义提取模型,对所述错误单词的上下文进行语义提取,得到所述错误单词的上下文特征向量;并基于所述错误单词和预先构建的二元印尼语统计模型,获取所述错误单词对应的候选单词集合,使得所获取的候选单词集合与所述错误单词的相似度较高,并能够获取除语义提取模型或者encoder-decoder框架训练用的登录词表以外的印尼语单词,以提高印尼语错误单词纠错的准确性,保证对oov单词的纠正能力;然后,通过预先搭建的encoder-decoder框架、所述错误单词和所述上下文特征向量,从字符级上计算所述候选单词集合中每一所述候选单词的第一选取概率;根据每一所述候选单词与所述错误单词的编辑距离,对每一所述候选单词的第一选取概率进行调整,得到每一所述候选单词的第二选取概率;最后,根据每一所述候选单词的第二选取概率,从所述候选单词集合中选择第二选取概率最大的所述候选单词作为所述错误单词的纠错单词。因此,能够从候选单词集合中选取与错误单词相似度最高/可能性最高的候选单词对所述错误单词进行纠正,同时,由于候选单词均是基于现有的印尼语词典进行选择,因此,能够限制纠错方案的可选范围,以保证最后对所述错误单词进行纠正的单词是正确的,以提高印尼语单词拼写纠正的正确率。[0169]以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部