文本纠错方法和装置与流程

文档序号:17264432发布日期:2019-03-30 09:54阅读:226来源:国知局
本发明涉及计算机领域,尤其涉及一种文本纠错方法和装置。
背景技术
::对输入的文本进行纠错通常采用树模型。通过对不同场景进行数据的积累和统计,然后使用树模型强大的特征组合能力得到一个基础的纠错模型。按场景进行划分,纠错需求的主要应用范围包括:大搜纠错、语音纠错、长文本纠错。树模型的优点为可以处理统计特征,在基于统计的大搜纠错和语音纠错需求的垂直场景下非常有效。然而,树模型在长文本纠错场景的效果不好,在进行坏例(badcase)的修复和真实反馈数的学习记忆时,需要重新训练模型,可能会影响树模型原有的纠错能力。技术实现要素:本发明实施例提供一种文本纠错方法与装置,以解决现有技术中的一个或多个技术问题。第一方面,本发明实施例提供了一种文本纠错方法,包括:对查询内容中的待纠错文本进行预处理,得到多个片段;利用树模型对每一片段的候选片段进行打分,得到第一打分结果;利用深度神经网络模型对每一片段的候选片段进行打分,得到第二打分结果;将所述第一打分结果和所述第二打分结果融合,得到融合打分结果;利用融合打分结果对每一片段的候选片段进行排序;利用排序结果对所述待纠错文本进行纠错。在一种实施方式中,所述利用树模型对每一片段的候选片段进行打分,得到第一打分结果,包括:对每一个片段进行短语替换表片段召回,得到每一片段的各候选片段;将各所述候选片段输入所述树模型进行打分,得到第一打分结果。在一种实施方式中,所述利用排序结果对所述待纠错文本进行纠错,包括:对每个片段排序后的各候选片段进行解码,选定融合打分结果的分值最高的候选片段为每个片段的结果片段;将各结果片段组合形成所述待纠错文本的纠错结果文本。在一种实施方式中,所述深度神经网络模型的构建过程包括:利用对输入的错误文本的用户纠错结果,形成用户反馈语料;利用纠错对向量lightpair2vec,对所述用户反馈语料进行所述深度神经网络模型的上下文建模,以对错误文本的正确替换文本进行拟合和记忆。在一种实施方式中,利用对输入的错误文本的用户纠错结果,形成用户反馈语料,包括:获取输入的错误文本;通过纠错提示服务提供待选择的替换文本;如果检测到某个替换文本被点击确认,则将被点击确认的文本作为正确替换文本;将所述正确替换文本映射到用户点击标题,形成用户反馈语料。第二方面,本发明实施例提供了一种文本纠错装置,包括:预处理模块,用于对查询内容中的待纠错文本进行预处理,得到多个片段;树模型模块,用于利用树模型对每一片段的候选片段进行打分,得到第一打分结果;深度神经网络模块,用于利用深度神经网络模型对每一片段的候选片段进行打分,得到第二打分结果;融合模块,用于将所述第一打分结果和所述第二打分结果融合,得到融合打分结果;排序模块,用于利用融合打分结果对每一片段的候选片段进行排序;纠错模块,用于利用排序结果对所述待纠错文本进行纠错。在一种实施方式中,所述树模型模块还用于:对每一个片段进行短语替换表片段召回,得到每一片段的各候选片段;将各所述候选片段输入所述树模型进行打分,得到第一打分结果。在一种实施方式中,所述排序模块还用于:对每个片段排序后的各候选片段进行解码,选定融合打分结果的分值最高的候选片段为每个片段的结果片段;将各结果片段组合形成所述待纠错文本的纠错结果文本。在一种实施方式中,该装置还包括:深度神经网络模型构建模块,用于利用对输入的错误文本的用户纠错结果,形成用户反馈语料;利用纠错对向量lightpair2vec,对所述用户反馈语料进行所述深度神经网络模型的上下文建模,以对错误文本的正确替换文本进行拟合和记忆。在一种实施方式中,所述深度神经网络模型构建模块还用于:获取输入的错误文本;通过纠错提示服务提供待选择的替换文本;如果检测到某个替换文本被点击确认,则将被点击确认的文本作为正确替换文本;将所述正确替换文本映射到用户点击标题,形成用户反馈语料。第三方面,本发明实施例提供了一种文本纠错装置,所述装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,所述装置的结构中包括处理器和存储器,所述存储器用于存储支持所述装置执行上述文本纠错方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述装置还可以包括通信接口,用于与其他设备或通信网络通信。第四方面,本发明实施例提供了一种计算机可读存储介质,用于存储文本纠错装置所用的计算机软件指令,其包括用于执行上述文本纠错方法所涉及的程序。上述技术方案中的一个技术方案具有如下优点或有益效果:先通过树模型对候选片段进行打分;结合上下文信息利用深度神经网络模型对候选片段进行打分;融合树模型和神经网络得到最终的打分结果,并以此作为排序和纠错的依据。在保持树模型的特征组合能力的同时,引入深度神经网络上下文建模,可以结合上下文纠错,提高纠错结果的准确性。上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。附图说明在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本发明公开的一些实施方式,而不应将其视为是对本发明范围的限制。图1示出根据本发明实施例的文本纠错方法的流程图。图2示出根据本发明实施例的文本纠错方法的应用示例的示意图。图3示出根据本发明实施例的文本纠错方法的流程图。图4示出根据本发明实施例的文本纠错方法的流程图。图5示出根据本发明实施例的文本纠错装置的结构框图。图6示出根据本发明实施例的文本纠错装置的结构框图。图7示出根据本发明实施例的文本纠错装置的结构框图。具体实施方式在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。图1示出根据本发明实施例的文本纠错方法的流程图。如图1所示,该方法可以包括如下步骤:s11,对查询内容中的待纠错文本进行预处理,得到多个片段。在一种示例中,通过搜索引擎获取到用户输入的查询内容(query)后,可以自动触发纠错。用户可以在互联网的搜索引擎中输入长文本,如果长文本中的某个字、某个词或每个短语结合上下文是错误的,导致长文本不通顺、表达意思不清楚等。在输入长文本结束时,可以自动对整个长文本检查一遍。如果正确,就无需纠错;如果有错误,就自动纠错。在本实施例中,输入的查询内容中的长文本可以包括各种类型,例如可以是一个或多个句子、一个或多个段落、一篇文章等。采用本实施例的技术方案,可以将长文本作为待纠错文本,对长文本中的句子、段落、文章等进行纠错。在一种示例中,在对长文本进行纠错时,可以先对长文本进行分词、注音等处理,得到若干的分词。其中,一个或多个分词可以组成一个片段。s12,利用树模型对每一片段的候选片段进行打分,得到第一打分结果。在一种实施方式中,步骤s12可以包括:对每一个片段进行短语替换表(phasetable,pt)片段召回,得到每一片段的各候选片段;将各所述候选片段输入所述树模型进行打分,得到第一打分结果。本实施例中,可以预先设置短语替换表。将分词得到的片段看做原始片段,可以对需要纠错的原始片段进行pt片段召回,得到原始片段的候选片段集合,该候选片段集合中可以包括多个候选片段。在一种示例中,可以利用大搜用户点击的拟合结果建立树模型。其中,大搜用户可以包括在互联网中使用搜索引擎进行搜索的用户。建立树模型时,可以拟合用户点击的标题得到正确的候选片段,将正确的候选片段作为目标,进行itr(learningtorank,学习排序)。s13,利用深度神经网络模型对每一片段的候选片段进行打分,得到第二打分结果。在某些场景下,一个词语的表述是否准确和上下文有关。因此,并不是一个词语出现的越多,就一定是正确的词。在纠错时,基于统计结果例如词语出现频率作为打分结果,进行纠错后,为了减少误纠的情况,可以联系上下文进行辅助纠错。在一种示例中,可以利用深度神经网络进行上下文建模。长文本中的当前分词和前后分词是连接的。纠错结果不仅与当前分词有关,还与前后分词有关。当前分词是否需要纠错,可以寻找该分词前后的分词,结合上下文进行分析。例如,结合当前分词的前三个和/或后三个分词进行分析。s14,将所述第一打分结果和所述第二打分结果融合,得到融合打分结果。融合的方式有多种。例如,可以将两种打分结果的数值相加,也可以将两种打分结果的数据按照一定权重相加,还可以采用其他的融合方式。s15,利用融合打分结果对每一片段的候选片段进行排序。例如,如果分值越高表示候选片段越准确,可以按照融合打分结果从高到低的顺序排序。再如,如果分值越低表示候选片段越准确,可以按照融合打分结果从低到高的顺序排序。s16,利用排序结果对所述待纠错文本进行纠错。在一种示例中,可以对所有片段进行解码,解码的过程可以包括为每个原始片段选择打分最高的候选片段作为结果片段,使得整个长文本经过上述过程之后,所有的候选片段都是得分最高的。然后,将这些结果片段按照原来的顺序和位置替换掉长文本中的错误片段,形成新的长文本。如果长文本中没有被替换的片段,表示该长文本没有错误。在一种应用示例中,如图2所示,右侧为树模型纠错结构,例如可以采用梯度提升决策树(gbdt,gradientboostingdecisiontree)。gbdt的打分结果可以由统计特征得到,因此可以采用如下的式(1)表示树模型的打分结果:sgbdt=fgbrank(xstatstic)(1)其中,xstatistic表示统计特征,sgbdt表示树模型根据统计统计特征得到的打分。图2的左侧为深度神经网络模型。深度神经网络模型可以采用如下的式(2)表示:fpair2vec=sigmoid(cos(θcontext,θorigin→target))(2)其中,θcontext表示上下文嵌入(embedding)向量。θorigin-target表示原始片段替换到候选片段的embedding向量。fpair2vec表示深度神经网络模型的打分。sigmoid()表示一种激活函数。树模型与深度神经网络模型的打分结果的融合可以采用如下的式(3)表示:fpred(wtarget)=sigmoid(sgbdt+sdeep)(3)其中,fpred(wtarget)表示候选片段wtarget的树模型打分和神经网络打分的结合,其中sdeep=fpair2vec。树模型具有强悍的特征组合能力。将查询内容中的长文本分词后,获得一系列片段。每一片段具有若干个候选片段。通过统计特征,利用树模型对每一片段的候选片段进行打分,基于统计的结果对这些候选片段的打分和排序。树模型是基于统计特征建立的。例如,假设有n个统计特征,参见图2中的statistic_fea1,statistic_fea2,satistic_fea3……statistic_fean。可以选择有区分度的特征作为突出特征,并将突出特征作为树模型的分裂点。如果某个特征大于预设值,处于分裂点的左边;某个特征小于预设值,处于分裂点的右边。本实施例中,树模型纠错的原理主要是基于统计的结果对片段进行排序。例如,某一个片段有多个候选,a1、a2……an,之后对若干的候选打分,获得各候选片段的第一打分结果,然后排序。如图2所示,在深度神经网络模型中,wt表示当前的分词,wt+1、wt+2、wt+3表示wt后面的三个分词,wt-1、wt-2、wt-3表示wt前面的三个分词,上述这些代表了wt当前分词的上下文中的其他分词。将这些上下文向量拼接(concate)后与候选片段的向量做内积,并通过sigmoid激活函数得到深度神经网络模型的打分fpair2vec。参见图2,以上述的6个上下文词向量为例,假设每一个上下文单词的词向量表示为50维的向量,图2中的拼接(concate)表示将6个上下文词向量拼接成一个300维(即50*6)的向量。图2中的投影(project)表示将拼接(concate)得到的300维向量通过一个全连接层投影为50维的向量。树模型部分为gbrankpart(梯度提升决策树排序部分),深度神经网络在线学习部分pair2vecpart(纠错对向量)。以树模型的打分结果为基础,再结合在线学习部分的结果得到纠错结果的最终打分。在一种示例中,树模型可以不进行更新,以保持基础的纠错能力。在此基础上,深度神经网络模型利用用户反馈语料进行上下文建模,对语料进行学习和记忆,可以弥补树模型的不足。在一种实施方式中,如图3所示,所述深度神经网络模型的构建过程包括:步骤s31、利用对输入的错误文本的用户纠错结果,形成用户反馈语料;步骤s32、利用纠错对向量(lightpair2vec),对所述用户反馈语料进行所述深度神经网络模型的上下文建模,以对错误文本的正确替换文本进行拟合和记忆。在搜索过程中,用户输入的查询内容中如果包括错误文本,用户可以主动纠错,也可以在搜索引擎的纠错提示服务(se_query)所提供的选项中进行选择。如果用户修改或点击选择了正确替换文本,可以将错误文本与其正确替换文本作为用户反馈语料。利用纠错对向量(lightpair2vec)可以对若干的用户反馈语料可以进行深度神经网络模型的上下文建模,从而对用户反馈语料的进行在线学习和记忆,对错误文本的正确替换文本进行拟合和记忆。在一种实施方式中,如图4所示,利用对输入的错误文本的用户纠错结果,形成用户反馈语料,包括:步骤s41、获取输入的错误文本;步骤s42、通过纠错提示服务提供待选择的替换文本;步骤s43、如果检测到某个替换文本被点击确认,则将被点击确认的文本作为正确替换文本;步骤s44、将所述正确替换文本映射到用户点击标题,形成用户反馈语料。例如,用户想要在搜索引擎中输入的查询内容中包括“姓名”,但是错误地输入了“姓明”。搜索引擎的纠错提示服务程序发现了错误后,显示了多个选项“姓名”、“性命”、“兴明”等。如果用户点击选择了选项“姓名”,这时,可以将“姓明”映射到用户点击标题,将“姓明”与对应的正确替换文本“姓名”作为用户反馈语料。此外,也可以根据用户主动的修改动作来生成用户反馈语料。例如,用户想要在搜索引擎中输入的查询内容中包括“曾用名”,但是错误地输入了“曾用明”。用户发现错误后,进行了修改,将“明”改成了“名”。这时,可以将“曾用明”与对应的正确替换文本“曾用名”作为用户反馈语料。利用深度神经网络模型进行上下文建模,在对文本进行纠错时,可以结合待纠错文本的上下文信息。因此,本发明实施例的将树模型与深度神经网络模型融合进行文本纠错的方法,在保持原有树模型强悍的特征组合能力的同时,引入深度神经网络上下文建模,使模型拥有较好的学习和记忆能力。通过深度神经网络实现在线学习,例如,通过学习和记忆百家号、富媒体、feed、广告等应用的用户真实反馈,完成场景相关的数据积累和定制。利用深度神经网络模型干预树模型打分,获得最终的打分结果,提高纠错结果的准确性,可以更好的满足用户的需求,改善用户体验。图5示出根据本发明实施例的文本纠错装置的结构框图,如图5所示,该装置可以包括:预处理模块51,用于对查询内容中的待纠错文本进行预处理,得到多个片段;树模型模块52,用于利用树模型对每一片段的候选片段进行打分,得到第一打分结果;深度神经网络模块53,用于利用深度神经网络模型对每一片段的候选片段进行打分,得到第二打分结果;融合模块54,用于将所述第一打分结果和所述第二打分结果融合,得到融合打分结果;排序模块55,用于利用融合打分结果对每一片段的候选片段进行排序;纠错模块56,用于利用排序结果对所述待纠错文本进行纠错。在一种实施方式中,所述树模型模块还用于:对每一个片段进行短语替换表片段召回,得到每一片段的各候选片段;将各所述候选片段输入所述树模型进行打分,得到第一打分结果。在一种实施方式中,所述排序模块还用于:对每个片段排序后的各候选片段进行解码,选定融合打分结果的分值最高的候选片段为每个片段的结果片段;将各结果片段组合形成所述待纠错文本的纠错结果文本。在一种实施方式中,如图6所示,该装置还包括:深度神经网络模型构建模块61,用于利用对输入的错误文本的用户纠错结果,形成用户反馈语料;利用纠错对向量lightpair2vec,对所述用户反馈语料进行所述深度神经网络模型的上下文建模,以对错误文本的正确替换文本进行拟合和记忆。在一种实施方式中,所述深度神经网络模型构建模块还用于:获取输入的错误文本;通过纠错提示服务提供待选择的替换文本;如果检测到某个替换文本被点击确认,则将被点击确认的文本作为正确替换文本;将所述正确替换文本映射到用户点击标题,形成用户反馈语料。本发明实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。图7示出根据本发明实施例的文本纠错装置的结构框图。如图7所示,该装置包括:存储器910和处理器920,存储器910内存储有可在处理器920上运行的计算机程序。该处理器920执行该计算机程序时实现上述实施例中的纠错方法。该存储器910和处理器920的数量可以为一个或多个。该装置还包括:通信接口930,用于与外界设备进行通信,进行数据交互传输。存储器910可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。如果存储器910、处理器920和通信接口930独立实现,则存储器910、处理器920和通信接口930可以通过总线相互连接并完成相互间的通信。该总线可以是工业标准体系结构(isa,industrystandardarchitecture)总线、外部设备互连(pci,peripheralcomponent)总线或扩展工业标准体系结构(eisa,extendedindustrystandardcomponent)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。可选的,在具体实现上,如果存储器910、处理器920及通信接口930集成在一块芯片上,则存储器910、处理器920及通信接口930可以通过内部接口完成相互间的通信。本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现上述实施例中任一所述的方法。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属
技术领域
:的技术人员所理解。在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。本
技术领域
:的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。所述存储介质可以是只读存储器,磁盘或光盘等。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
:的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1