CN114860870A - 一种文本的纠错方法及装置 - Google Patents
一种文本的纠错方法及装置 Download PDFInfo
- Publication number
- CN114860870A CN114860870A CN202210351633.1A CN202210351633A CN114860870A CN 114860870 A CN114860870 A CN 114860870A CN 202210351633 A CN202210351633 A CN 202210351633A CN 114860870 A CN114860870 A CN 114860870A
- Authority
- CN
- China
- Prior art keywords
- candidate
- text
- pinyin
- error correction
- corrected
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/3332—Query translation
-
- 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/226—Validation
-
- 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
Abstract
本申请提供了一种文本的纠错方法及装置,其中,该方法包括:获取查询语句;其中,查询语句中的字符串用于表征待纠错的文本;对查询语句所携带的待纠错的文本进行通用纠错和/或领域纠错;其中,通用纠错是指对文本所关联的通用表述错误进行纠错,领域纠错是指对文本与所关联的垂直领域内的关键词不匹配进行纠错;输出待纠错的文本的纠错结果。通过本申请,解决了现有技术中针对单个用户的语料训练语言模型进行纠错过程复杂且效率低的技术问题。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种文本的纠错方法及装置。
背景技术
软件即服务(Software as a Service,简称SaaS)是指由云提供商开发和维护云应用软件,提供自动软件更新,并通过互联网以即用即付费的方式将软件提供给用户。在SaaS场景下,不同的租户对配置和功能的需求不同,也就是说,一个系统需要满足多个租户的不同需求,每一个租户下的用户共用一套需求配置。现有的查询纠错解决方案主要是基于用户的语料训练语言模型,对用户自身的语料要求很高,需要用户提供大量的文档数据,然后根据语言模型进行检错以及纠错,最终得到纠错的结果,针对不同的用户之间重叠的纠错场景会冗余地进行纠错,无法进行SaaS化部署。现有技术中的查询纠错方法存在针对单个用户的语料训练语言模型进行纠错过程复杂且效率低的技术问题。
发明内容
本申请实施例的目的在于提供一种文本的纠错方法及装置,解决了现有技术中存在的针对单个用户的语料训练语言模型进行纠错过程复杂且效率低的技术问题。具体技术方案如下:
在本申请实施的第一方面,首先提供了一种文本的纠错方法,所述方法包括:获取查询语句;其中,查询语句中的字符串用于表征待纠错的文本;对查询语句所携带的待纠错的文本进行通用纠错和/或领域纠错;其中,通用纠错是指对文本所关联的通用表述错误进行纠错,领域纠错是指对文本与所关联的垂直领域内的关键词不匹配进行纠错;输出待纠错的文本的纠错结果。
在本申请实施的第二方面,还提供了一种文本的纠错装置,所述装置包括:第一获取模块,用于获取查询语句;其中,查询语句中的字符串用于表征待纠错的文本;纠错模块,用于对查询语句所携带的待纠错的文本进行通用纠错和/或领域纠错;其中,通用纠错是指对文本所关联的通用表述错误进行纠错,领域纠错是指对文本与所关联的垂直领域内的关键词不匹配进行纠错;输出模块,用于输出待纠错的文本的纠错结果。
在本申请实施的第三方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现第一方面所述的方法步骤。
在本申请实施的第四方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的文本的纠错方法。
本申请可以应用于信息检索技术领域用于对查询语句进行纠错。本申请实施例提供的文本的纠错方法及装置,通过获取查询语句;其中,查询语句中的字符串用于表征待纠错的文本;对查询语句所携带的待纠错的文本进行通用纠错和/或领域纠错;其中,通用纠错是指对文本所关联的通用表述错误进行纠错,领域纠错是指对文本与所关联的垂直领域内的关键词不匹配进行纠错;输出待纠错的文本的纠错结果;也就是说,根据SaaS租户的配置对每一个用户的查询语句进行通用纠错和/或领域纠错,从而解决了现有技术中针对单个用户的语料训练语言模型进行纠错过程复杂且效率低的技术问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本申请实施例中文本的纠错方法流程图之一;
图2为本申请实施例中文本的纠错方法流程图之二;
图3为本申请实施例中文本的纠错方法流程图之三;
图4为本申请实施例中文本的纠错方法流程图之四;
图5为本申请实施例中文本的纠错方法流程图之五;
图6为本申请实施例中文本的纠错方法BK树示意图;
图7为本申请实施例中文本的纠错方法流程图之六;
图8为本申请实施例中文本的纠错方法流程图之七;
图9为本申请实施例中文本的纠错方法流程图之八;
图10为本申请实施例中文本的纠错方法流程图之九;
图11为本申请实施例中文本的纠错方法流程图之十;
图12为本申请实施例中文本的纠错方法一示范例BK树示意图;
图13为本申请实施例中文本的纠错装置结构示意图;
图14为本申请实施例中电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述地实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在后续的描述中,使用用于表示元件的诸如“模块”、“单元”的后缀仅为了有利于本申请的说明,其本身并没有特定的意义。因此,“模块”与“部件”可以混合地使用。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。本申请实施例提供了一种文本的纠错方法,如图1所示,包括以下步骤:
步骤102:获取查询语句;其中,查询语句中的字符串用于表征待纠错的文本;
其中,需要说明的是,在获取查询语句以后,对查询语句进行预处理,如图2所示,包括对查询语句中的拼音进行标准化、对查询语句的全角和半角进行统一、去除查询语句中的标点符号;经过预处理后的查询语句所携带的待纠错的文本分为拼音、汉字、拼音与汉字组合三种类型。
步骤104:对查询语句所携带的待纠错的文本进行通用纠错和/或领域纠错;其中,通用纠错是指对文本所关联的通用表述错误进行纠错,领域纠错是指对文本与所关联的垂直领域内的关键词不匹配进行纠错;
其中,需要说明的是,对待纠错的文本进行通用纠错和/或领域纠错,可以是只进行通用纠错,可以是只进行领域纠错,可以是先进行通用纠错后进行领域纠错,还可以是先进行领域纠错后进行通用纠错。
步骤106:输出待纠错的文本的纠错结果。
通过本申请实施例的上述步骤102至步骤106,获取查询语句;其中,查询语句中的字符串用于表征待纠错的文本;对查询语句所携带的待纠错的文本进行通用纠错和/或领域纠错;其中,通用纠错是指对文本所关联的通用表述错误进行纠错,领域纠错是指对文本与所关联的垂直领域内的关键词不匹配进行纠错;输出待纠错的文本的纠错结果;也就是说,根据SaaS租户的配置对每一个用户的查询语句进行通用纠错和/或领域纠错,从而解决了现有技术中存在的针对单个用户的语料训练语言模型进行纠错过程复杂且效率低的技术问题。
在本申请实施例的可选实施方式中,在待纠错的文本为汉字的情况下,本申请步骤104中涉及到的对查询语句所携带的待纠错的文本进行通用纠错,如图3所示,包括:
步骤302:对查询语句中的字符串进行错误检测;
其中,需要说明的是,在待纠错的文本为汉字的情况下,对查询语句中的字符串进行错误检测包括:采用滑动窗口的方式,获取到查询语句的字符串片段,通过通用语料训练出的通用语言模型对字符串片段进行打分,并通过通用语言模型对查询语句中的字符串整体进行打分,在字符串片段得分与字符串整体得分的差值大于一定阈值的情况下,判断该字符串片段对应的文本存在错误。
步骤304:对检测出有错误的字符串所对应的文本从预设混淆集召回所对应的候选集;其中,混淆集包括多个文本以及与多个文本分别对应的候选集合;
其中,需要说明的是,在混淆集中,所有文本都有对应的可用于替换的候选集。
步骤306:将候选集合中的候选文本依次换入待纠错的文本中,得到候选待纠错的文本;
步骤308:基于通用语言模型,对候选待纠错的文本打分;其中,通用语言模型为基于通用语料训练得到且用于对通用语料进行打分的语言模型;
步骤310:对打分后的候选待纠错的文本进行排序,并从排序结果中选择出得分最高的候选待纠错的文本;
步骤312:在得分最高的候选待纠错的文本分值与待纠错的文本的分值的差值大于第一预设阈值的情况下,将得分最高的候选待纠错的文本确定为纠错结果。
其中,需要说明的是,在不存在分值与待纠错的文本的分值的差值大于第一预设阈值的候选待纠错的文本的情况下,则不对待纠错的文本进行纠错;在一示范例中,得分最高的候选待纠错的文本“笔记本电脑”得分为95分,待纠错的文本的得分为80分,第一预设阈值为10分,候选待纠错的文本“笔记本电脑”的得分与待纠错的文本的得分的差值为15分,该差值大于第一预设阈值,此时可以将候选待纠错的文本“笔记本电脑”作为待纠错的文本的纠错结果。
可见,本申请实施例提供的文本的纠错方法可以针对汉字型的待纠错的文本进行错误检测,基于通用语言模型确定候选待纠错的文本并判断是否对汉字型的待纠错的文本进行纠错。
在本申请实施例的可选实施方式中,在待纠错的文本为拼音,或待纠错的文本为拼音与汉字组合的情况下,本申请步骤104中涉及到的对查询语句所携带的待纠错的文本进行通用纠错,如图4所示,包括:
步骤402:在待纠错的文本中存在汉字的情况下,将待纠错的文本中的汉字转换为对应的拼音;
其中,需要说明的是,待纠错的文本中存在汉字即待纠错的文本为拼音与汉字组合,将待纠错的文本中的汉字转换为对应的拼音后,拼接原有拼音,待纠错的文本变为从拼音与汉字组合变成拼音。
步骤404:对待纠错的文本所对应的拼音进行分词处理,得到第一分词结果;
其中,需要说明的是,分词处理可以采用前向最大匹配方法,根据拼音词典进行前向最大匹配进行连续的长拼音字符串的分词;其中,拼音词典通过对所有的拼音组合进行穷举得到。
步骤406:将第一分词结果中的拼音分词序列转换为对应的汉字序列;
其中,需要说明的是,拼音分词序列转换为对应的汉字序列可以通过通用语料训练得到的隐马尔可夫模型进行;其中,隐马尔可夫模型为通用语言模型中的一种,其中包含了拼音序列与汉字序列的对应的转换概率。
步骤408:基于通用语言模型,对汉字序列中的汉字进行打分;其中,通用语言模型为基于通用语料训练得到且用于对通用语料进行打分的语言模型;
步骤410:根据汉字序列的得分进行排序,得到排序结果;
步骤412:从排序结果中得分大于第二预设阈值的汉字序列中选择得分最高的汉字序列作为待纠错的文本的纠错结果。
其中,需要说明的是,在一示范例中,得分最高的汉字序列“知识图谱”得分为90分,第二预设阈值为80分,得分最高的汉字序列“知识图谱”的得分大于第二预设阈值,此时可以将汉字序列“知识图谱”作为待纠错的文本的纠错结果;在另一示范例中,得分最高的汉字序列“磨砂玻璃”得分为70分,第二预设阈值为75分,得分最高的汉字序列“磨砂玻璃”的得分小于第二预设阈值,此时得分最高的汉字序列“磨砂玻璃”将不作为待纠错的文本的纠错结果,不对待纠错的文本进行纠错。
可见,本申请实施例提供的文本的纠错方法可以针对纯拼音或拼音与汉字组合的待纠错文本进行处理,并基于通用语言模型确定汉字序列是否可以作为待纠错的文本的纠错结果。
本申请实施例提供的文本的纠错方法,在步骤104涉及到的对查询语句所携带的待纠错的文本进行领域纠错之前,如图5所示,包括:
步骤502:获取领域词典,并将领域词典中领域词所对应的汉字以及与汉字对应的拼音作为键值对存入目标数据库;其中,领域词为多个不同领域中的专有术语,领域词典还包括领域词所对应的权重;
其中,需要说明的是,目标数据库可以是远程字典服务(Remote DictionaryServer,简称Redis)数据库;领域词典由SaaS场景中的租户进行上传,同一租户下的软件用户可以使用同一领域纠错配置,例如,面向医学领域的租户上传了医药术语领域词典,该租户下的用户所输入的查询语句在进行查询纠错时需要针对医学领域的领域词进行纠错。
步骤504:基于目标数据库中领域词中汉字所对应的拼音构建BK树;其中,BK树为包括以领域词为根节点和多个子节点的数据结构,根节点与子节点之间的编辑距离用于表征根节点对应的拼音需要经过多少次处理可得到子节点对应的拼音,两个子节点之间的编辑距离用于表征接近根节点的子节点对应的拼音需要经过多少次处理可得到远离根节点的子节点对应的拼音。
其中,需要说明的是,目标数据库中领域词中汉字与对应的拼音是一一对应的关系,因此可以基于目标数据库将领域词中汉字转换为对应的拼音;BK(Burkhard Keller)树以随机的一个领域词中汉字所对应的的拼音作为根节点;在一示范例中,根节点有第一子节点和第二子节点两个子节点,第二子节点有第三子节点一个子节点;其中,根节点对应的拼音为“doufu”,第一子节点对应的拼音为“dounai”,第二子节点对应的拼音为“shuofu”,第三子节点对应的拼音为“shuoqi”;需要经过3次处理才能将“doufu”处理为“dounai”,因此根节点与第一子节点之间的编辑距离为3;需要经过4次处理才能将“doufu”处理为“shuofu”,因此根节点与第二子节点之间的编辑距离为4;需要经过2次处理才能将“shuofu”处理为“shuoqi”,因此第二子节点和第三子节点之间的编辑距离为2,据此构建出的BK树示意图如图6所示。
可见,本申请实施例提供的文本的纠错方法可以基于租户上传的领域词典中的领域词对应的汉字和拼音构建BK树,针对各领域的租户对查询语句进行领域纠错。
在本申请实施例的可选实施方式中,在待纠错的文本为汉字的情况下,本申请步骤104中涉及到的对查询语句所携带的待纠错的文本进行领域纠错,如图7所示,包括:
步骤702:将用于表征汉字的字符串转换为用于表征拼音的字符串;
步骤704:通过滑动窗口遍历用于表征拼音的字符串以获取对应的拼音;
步骤706:基于BK树查询通过滑动窗口获取到的拼音的第一候选拼音;
步骤708:从目标数据库中查询与第一候选拼音对应的汉字,得到第一候选汉字;
步骤710:将用于表征第一候选汉字的字符串替换查询语句中用于表征待纠错的汉字的字符串,得到候选查询语句;
步骤712:基于领域语言模型,对候选查询语句进行打分;其中,领域语言模型为基于领域语料训练得到且用于对领域语料进行打分的语言模型;
步骤714:根据候选查询语句的得分对候选查询语句进行排序;
步骤716:在得分最高的候选查询语句的得分与查询语句的得分差值大于第三预设阈值的情况下,将得分最高的候选查询语句中的汉字确定为纠错结果。
其中,需要说明的是,在一示范例中,得分最高的候选查询语句“解决方案”得分为85分,查询语句的得分为70分,第三预设阈值为10分,候选查询语句“解决方案”的得分与查询语句的得分的差值为15分,该差值大于第三预设阈值,此时可以将候选查询语句“解决方案”作为查询语句的纠错结果。
可见,本申请实施例提供的文本的纠错方法针对待纠错的文本为汉字的查询语句,可以将其转换为拼音后利用领域语言模型对查询语句进行领域纠错,提高了查询纠错的针对性,满足了SaaS场景下不同领域的用户的查询纠错需求。
在本申请实施例的可选实施方式中,在待纠错的文本为拼音的情况下,本申请步骤104中涉及到的对查询语句所携带的待纠错的文本进行领域纠错,如图8所示,包括:
步骤802:基于BK树查询拼音的第二候选拼音;
步骤804:从目标数据库中查询候选拼音对应的汉字,得到第二候选汉字;
步骤806:基于领域词典查询第二候选汉字对应的权重,将权重最高的候选汉字确定为纠错结果。
可见,本申请实施例提供的文本的纠错方法针对待纠错的文本为拼音的查询语句,可以根据领域词典中的权重对待纠错文本进行领域纠错,提高了查询纠错的针对性,满足了SaaS场景下不同领域的用户的查询纠错需求。
在本申请实施例的可选实施方式中,在待纠错的文本为拼音与汉字组合的情况下,本申请步骤104中涉及到的对查询语句所携带的待纠错的文本进行领域纠错,如图9所示,包括:
步骤902:将待纠错的文本中的汉字转换为拼音;
步骤904:基于BK树查询拼音的第三候选拼音;
步骤906:从目标数据库中查询候选拼音对应的汉字,得到第三候选汉字;
步骤908:基于领域词典查询第三候选汉字对应的权重,将权重最高的候选汉字确定纠错结果;
步骤910:在纠错结果表征为需要进行纠错的情况下,返回纠错结果;
步骤912:在纠错结果表征为不需要进行纠错的情况下,将第三候选拼音和待纠错文本中的拼音转换为汉字;
步骤914:将用于表征转换得到的汉字的字符串转换为用于表征拼音的字符串;
步骤916:通过滑动窗口遍历用于表征拼音的字符串以获取对应的拼音;
步骤918:基于BK树查询通过滑动窗口获取到的拼音的第四候选拼音;
步骤920:从目标数据库中查询与候选拼音对应的汉字,得到第四候选汉字;
步骤922:将用于表征第四候选汉字的字符串替换查询语句中用于表征待纠错的汉字的字符串,得到候选查询语句;
步骤924:基于领域语言模型,对候选查询语句进行打分;其中,领域语言模型为基于领域语料训练得到且用于对领域语料进行打分的语言模型;
步骤926:根据候选查询语句的得分对候选查询语句进行排序;
步骤928:在得分最高的候选查询语句的得分与查询语句的得分差值大于第四预设阈值的情况下,将得分最高的候选查询语句中的汉字确定为候选纠错结果;
步骤930:在候选纠错结果中包括待纠错的文本中的拼音的情况下,将候选纠错结果确定为纠错结果;
步骤932:在候选纠错结果中未包括待纠错的文本中的拼音的情况下,禁止对待纠错的文本进行纠错。
可见,本申请实施例提供的文本的纠错方法针对待纠错的文本为拼音与汉字组合的查询语句,可以将其转换为拼音后利用领域语言模型对查询语句进行领域纠错,提高了查询纠错的针对性,满足了SaaS场景下不同领域的用户的查询纠错需求。
综合上述步骤702至716、步骤802至816、步骤902至932,对查询语句进行领域纠错的流程,如图10所示,在查询语句对应的待纠错文本为汉字的情况下,将待纠错文本转换为拼音,利用滑动窗口将待纠错文本分为多个部分,基于BK树查询拼音的候选拼音,从而进行领域纠错,简称为领域部分纠错;在查询语句对应的待纠错文本为拼音的情况下,利用待纠错文本对应的拼音整体基于BK树查询拼音的候选拼音,从而进行领域纠错,简称为整体纠错;在查询语句对应的待纠错文本为拼音与汉字组合的情况下,首先将汉字转换为拼音,利用待纠错文本对应的拼音整体基于BK树查询拼音的候选拼音,简称为整体纠错,在纠错结果表征为需要进行纠错的情况下,直接返回纠错结果,在纠错结果表征为不需要进行纠错的情况下,利用滑动窗口将待纠错文本分为多个部分基于BK树查询拼音的候选拼音进行领域纠错,简称为领域部分纠错,并且在在候选纠错结果中包括待纠错的文本中的拼音的情况下才进行纠错,在候选纠错结果中未包括待纠错的文本中的拼音的情况下不对待纠错的文本进行纠错。
在本申请实施例的可选实施方式中,本申请实施例提供的文本的纠错方法,步骤706、步骤802、步骤904、步骤918涉及的基于BK树查询拼音的候选拼音,如图11所示,包括:
步骤1102:基于拼音与BK树中的根节点之间的编辑距离和第五预设阈值确定编辑距离范围;
其中,需要说明的是,第五预设阈值根据SaaS租户的需求进行预设,例如拼音字符串长度大于10的时候将第五预设阈值设置为1,拼音字符串长度小于或等于10的时候将第五预设阈值设置为0;在一示范例中,拼音与BK树中的根节点之间的编辑距离D为3,第五预设阈值N为1,则编辑距离范围为[D-N,D+N],即[2,4]。
步骤1104:基于编辑距离范围从BK树确定候选子节点;其中,候选子节点所对应的拼音与拼音编辑距离小于或等于第五预设阈值;
其中,需要说明的是,基于编辑距离范围从BK树确定候选子节点,首先需要从根节点开始确定编辑距离在编辑距离范围内的子节点,然后从上述的子节点中查找与拼音的编辑距离最小的子节点,当存在子节点与拼音的编辑距离小于第五预设阈值时,将该子节点确定为候选子节点,并继续从该子节点的子节点中继续查找是否存在与拼音的编辑距离小于第五预设阈值的子节点,若存在则确定为候选子节点;在一示范例中,如图12所示,在第五预设阈值N为2的情况下,基于BK树查询拼音“beifang”的候选拼音,根节点有第一子节点、第二子节点、第三子节点共计三个子节点,第一子节点有第四子节点共计一个子节点,第二子节点有第五子节点和第六子节点共计两个子节点,第三子节点有第七子节点共计一个子节点;根节点对应的拼音为“dongfang”,第一子节点对应的拼音为“dongan”,第二子节点对应的拼音为“dongnan”,第三子节点对应的拼音为“xifang”,第四子节点对应的拼音为“xiuxi”,第五子节点对应的拼音为“chonglai”,第六子节点对应的拼音为“kunnan”,第七子节点对应的拼音为“xibeifang”;根节点“dongfang”与拼音“beifang”之间的编辑距离D为4,N为2,编辑距离范围为[D-N,D+N],即[2,6];根节点与第一子节点之间的编辑距离为2,根节点与第二子节点之间的编辑距离为2,根节点与第三子节点之间的编辑距离为4,第三子节点对应的拼音与拼音“beifang”编辑距离X为2,X≤N,因此,将第三子节点确定为候选子节点,第七子节点对应的拼音与拼音“beifang”编辑距离X为2,X≤N,因此,将第七子节点确定为候选子节点。
步骤1106:将候选子节点对应的拼音确定为候选拼音。
其中,需要说明的是,如图12所示的示范例,第三子节点和第七子节点被确定为候选子节点,则第三子节点对应的拼音“xifang”和第七子节点对应的拼音“xibeifang”确定为候选拼音。
可见,本申请实施例所提供的文本的纠错方法,可以根据SaaS租户的配置对每一个用户的查询语句进行通用纠错和/或领域纠错,从而解决现有技术中存在的针对单个用户的语料训练语言模型进行纠错过程复杂且效率低的技术问题。
本申请实施例提供了一种文本的纠错装置,如图13所示,该装置包括:
第一获取模块1302,用于获取查询语句;其中,查询语句中的字符串用于表征待纠错的文本;
纠错模块1304,用于对查询语句所携带的待纠错的文本进行通用纠错和/或领域纠错;其中,通用纠错是指对文本所关联的通用表述错误进行纠错,领域纠错是指对文本与所关联的垂直领域内的关键词不匹配进行纠错;
输出模块1306,用于输出对待纠错的文本的纠错结果。
通过本申请实施例提供的文本的纠错装置,通过第一获取模块获取查询语句;其中,查询语句中的字符串用于表征待纠错的文本;通过纠错模块对查询语句所携带的待纠错的文本进行通用纠错和/或领域纠错;其中,通用纠错是指对文本所关联的通用表述错误进行纠错,领域纠错是指对文本与所关联的垂直领域内的关键词不匹配进行纠错;通过输出模块输出待纠错的文本的纠错结果;也就是说,根据SaaS租户的配置对每一个用户的查询语句进行通用纠错和/或领域纠错,从而解决了现有技术中存在的针对单个用户的语料训练语言模型进行纠错过程复杂且效率低的技术问题。
在本申请实施例的可选实施方式中,本申请实施例提供的纠错模块1304,进一步可以包括:
检测单元,用于对查询语句中的字符串进行错误检测;
召回单元,用于对检测出有错误的字符串所对应的文本从预设混淆集召回所对应的候选集;其中,混淆集包括多个文本以及与多个文本分别对应的候选集合;
第一处理单元,用于将候选集合中的候选文本依次换入待纠错的文本中,得到候选待纠错的文本;
第一打分单元,用于基于通用语言模型,对候选待纠错的文本打分;其中,通用语言模型为基于通用语料训练得到且用于对通用语料进行打分的语言模型;
第二处理单元,用于对打分后的候选待纠错的文本进行排序,并从排序结果中选择出得分最高的候选待纠错的文本;
第一确定单元,用于在得分最高的候选待纠错的文本分值与待纠错的文本的分值的差值大于第一预设阈值的情况下,将得分最高的候选待纠错的文本确定为纠错结果。
在本申请实施例的可选实施方式中,在待纠错的文本为拼音,或待纠错的文本为拼音与汉字组合的情况下,本申请实施例提供的纠错模块1304,进一步可以包括:
第一转换单元,用于在待纠错的文本中存在汉字的情况下,将待纠错的文本中的汉字转换为对应的拼音;
分词单元,用于对待纠错的文本所对应的拼音进行分词处理,得到第一分词结果;
第二转换单元,用于将第一分词结果中的拼音分词序列转换为对应的汉字序列;
第二打分单元,用于基于通用语言模型,对汉字序列中的汉字进行打分;其中,通用语言模型为基于通用语料训练得到且用于对通用语料进行打分的语言模型;
第三处理单元,用于根据汉字序列的得分进行排序,得到排序结果;
选择单元,用于从排序结果中得分大于第二预设阈值的汉字序列中选择得分最高的汉字序列作为待纠错的文本的纠错结果。
在本申请实施例的可选实施方式中,本申请实施例提供的文本的纠错装置,进一步可以包括:
第二获取模块,用于获取领域词典,并将领域词典中领域词所对应的汉字以及与汉字对应的拼音作为键值对存入目标数据库;其中,领域词为多个不同领域中的专有术语,领域词典还包括领域词所对应的权重;
构建模块,用于基于目标数据库中领域词中汉字所对应的拼音构建BK树;其中,BK树为包括以领域词为根节点和多个子节点的数据结构,根节点与子节点之间的编辑距离用于表征根节点对应的拼音需要经过多少次处理可得到子节点对应的拼音,两个子节点之间的编辑距离用于表征接近根节点的子节点对应的拼音需要经过多少次处理可得到远离根节点的子节点对应的拼音。
在本申请实施例的可选实施方式中,在待纠错的文本为汉字的情况下,本申请实施例提供的纠错模块1304,进一步可以包括:
第三转换单元,用于将用于表征汉字的字符串转换为用于表征拼音的字符串;
第一获取单元,用于通过滑动窗口遍历用于表征拼音的字符串以获取对应的拼音;
第一查询单元,用于基于BK树查询通过滑动窗口获取到的拼音的第一候选拼音;
第四处理单元,用于从目标数据库中查询与第一候选拼音对应的汉字,得到第一候选汉字;
第五处理单元,用于将用于表征第一候选汉字的字符串替换查询语句中用于表征待纠错的汉字的字符串,得到候选查询语句;
第三打分单元,用于基于领域语言模型,对候选查询语句进行打分;其中,领域语言模型为基于领域语料训练得到且用于对领域语料进行打分的语言模型;
第六处理单元,用于根据候选查询语句的得分对候选查询语句进行排序;
第二确定单元,用于在得分最高的候选查询语句的得分与查询语句的得分差值大于第三预设阈值的情况下,将得分最高的候选查询语句中的汉字确定为纠错结果。
在本申请实施例的可选实施方式中,在待纠错的文本为拼音的情况下,本申请实施例提供的纠错模块1304,进一步可以包括:
第二查询单元,用于基于BK树查询拼音的第二候选拼音;
第七处理单元,用于从目标数据库中查询候选拼音对应的汉字,得到第二候选汉字;
第三确定单元,用于基于领域词典查询第二候选汉字对应的权重,将权重最高的候选汉字确定为纠错结果。
在本申请实施例的可选实施方式中,在待纠错的文本为拼音与汉字组合的情况下,本申请实施例提供的纠错模块1304,进一步可以包括:
第四转换单元,用于将待纠错的文本中的汉字转换为拼音;
第三查询单元,用于基于BK树查询拼音的第三候选拼音;
第八处理单元,用于从目标数据库中查询候选拼音对应的汉字,得到第三候选汉字;
第四确定单元,用于基于领域词典查询第三候选汉字对应的权重,将权重最高的候选汉字确定纠错结果;
返回单元,用于在纠错结果表征为需要进行纠错的情况下,返回纠错结果;
第五转换单元,用于在纠错结果表征为不需要进行纠错的情况下,将第三候选拼音和待纠错文本中的拼音转换为汉字;
第六转换单元,用于将用于表征转换得到的汉字的字符串转换为用于表征拼音的字符串;
第二获取单元,用于通过滑动窗口遍历用于表征拼音的字符串以获取对应的拼音;
第四查询单元,用于基于BK树查询通过滑动窗口获取到的拼音的第四候选拼音;
第九处理单元,用于从目标数据库中查询与候选拼音对应的汉字,得到第四候选汉字;
第十处理单元,用于将用于表征第四候选汉字的字符串替换查询语句中用于表征待纠错的汉字的字符串,得到候选查询语句;
第四打分单元,用于基于领域语言模型,对候选查询语句进行打分;其中,领域语言模型为基于领域语料训练得到且用于对领域语料进行打分的语言模型;
第十一处理单元,用于根据候选查询语句的得分对候选查询语句进行排序;
第五确定单元,用于在得分最高的候选查询语句的得分与查询语句的得分差值大于第四预设阈值的情况下,将得分最高的候选查询语句中的汉字确定为候选纠错结果;
第六确定单元,用于在候选纠错结果中包括待纠错的文本中的拼音的情况下,将候选纠错结果确定为纠错结果;
第十二处理单元,用于在候选纠错结果中未包括待纠错的文本中的拼音的情况下,禁止对待纠错的文本进行纠错。
在本申请实施例的可选实施方式中,本申请实施例提供的文本的纠错装置,第一查询单元、第二查询单元、第三查询单元、第四查询单元分别包括:
第一确定子单元,用于基于拼音与BK树中的根节点之间的编辑距离和第五预设阈值确定编辑距离范围;
第二确定子单元,用于基于编辑距离范围从BK树确定候选子节点;其中,候选子节点所对应的拼音与拼音编辑距离小于或等于第五预设阈值;
第三确定子单元,用于将候选子节点对应的拼音确定为候选拼音。
本申请实施例还提供了一种电子设备,如图14所示,包括处理器1401、通信接口1402、存储器1403和通信总线1404,其中,处理器1401,通信接口1402,存储器1403通过通信总线1404完成相互间的通信,
存储器1403,用于存放计算机程序;
处理器1401,用于执行存储器1403上所存放的程序时,实现图1中的方法步骤,其所起到的作用与图1中的方法步骤一样,在此不再赘述。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图14中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的文本的纠错方法。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的文本的纠错方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (11)
1.一种文本的纠错方法,其特征在于,包括:
获取查询语句;其中,所述查询语句中的字符串用于表征待纠错的文本;
对所述查询语句所携带的所述待纠错的文本进行通用纠错和/或领域纠错;其中,所述通用纠错是指对文本所关联的通用表述错误进行纠错,所述领域纠错是指对文本与所关联的垂直领域内的关键词不匹配进行纠错;
输出所述待纠错的文本的纠错结果。
2.根据权利要求1所述的方法,其特征在于,在所述待纠错的文本为汉字的情况下,所述对所述查询语句所携带的所述待纠错的文本进行通用纠错,包括:
对所述查询语句中的字符串进行错误检测;
对检测出有错误的字符串所对应的文本从预设混淆集召回所对应的候选集;其中,所述混淆集包括多个文本以及与所述多个文本分别对应的候选集合;
将所述候选集合中的候选文本依次换入所述待纠错的文本中,得到候选待纠错的文本;
基于通用语言模型,对所述候选待纠错的文本打分;其中,所述通用语言模型为基于通用语料训练得到且用于对所述通用语料进行打分的语言模型;
对打分后的所述候选待纠错的文本进行排序,并从排序结果中选择出得分最高的所述候选待纠错的文本;
在得分最高的所述候选待纠错的文本分值与所述待纠错的文本的分值的差值大于第一预设阈值的情况下,将得分最高的所述候选待纠错的文本确定为所述纠错结果。
3.根据权利要求1所述的方法,其特征在于,在所述待纠错的文本为拼音,或所述待纠错的文本为拼音与汉字组合的情况下,所述对所述查询语句所携带的所述待纠错的文本进行通用纠错,包括:
在所述待纠错的文本中存在汉字的情况下,将所述待纠错的文本中的汉字转换为对应的拼音;
对所述待纠错的文本所对应的拼音进行分词处理,得到第一分词结果;
将所述第一分词结果中的拼音分词序列转换为对应的汉字序列;
基于通用语言模型,对所述汉字序列中的汉字进行打分;其中,所述通用语言模型为基于通用语料训练得到且用于对所述通用语料进行打分的语言模型;
根据所述汉字序列的得分进行排序,得到排序结果;
从所述排序结果中得分大于第二预设阈值的所述汉字序列中选择得分最高的所述汉字序列作为所述待纠错的文本的所述纠错结果。
4.根据权利要求1所述的方法,其特征在于,在对所述查询语句所携带的所述待纠错的文本进行领域纠错之前,包括:
获取领域词典,并将所述领域词典中领域词所对应的汉字以及与所述汉字对应的拼音作为键值对存入目标数据库;其中,所述领域词为多个不同领域中的专有术语,所述领域词典还包括所述领域词所对应的权重;
基于所述目标数据库中所述领域词中汉字所对应的拼音构建BK树;其中,所述BK树为包括以所述领域词为根节点和多个子节点的数据结构,所述根节点与所述子节点之间的编辑距离用于表征所述根节点对应的拼音需要经过多少次处理可得到所述子节点对应的拼音,两个所述子节点之间的编辑距离用于表征接近所述根节点的所述子节点对应的拼音需要经过多少次处理可得到远离所述根节点的所述子节点对应的拼音。
5.根据权利要求4所述的方法,其特征在于,在所述待纠错的文本为汉字的情况下,对所述查询语句所携带的所述待纠错的文本进行领域纠错,包括:
将用于表征所述汉字的字符串转换为用于表征拼音的字符串;
通过滑动窗口遍历用于表征拼音的字符串以获取对应的拼音;
基于所述BK树查询通过所述滑动窗口获取到的拼音的第一候选拼音;
从所述目标数据库中查询与所述第一候选拼音对应的汉字,得到第一候选汉字;
将用于表征所述第一候选汉字的字符串替换所述查询语句中用于表征待纠错的汉字的字符串,得到候选查询语句;
基于领域语言模型,对所述候选查询语句进行打分;其中,所述领域语言模型为基于领域语料训练得到且用于对所述领域语料进行打分的语言模型;
根据所述候选查询语句的得分对所述候选查询语句进行排序;
在得分最高的所述候选查询语句的得分与所述查询语句的得分差值大于第三预设阈值的情况下,将得分最高的所述候选查询语句中的汉字确定为所述纠错结果。
6.根据权利要求4所述的方法,其特征在于,在所述待纠错的文本为拼音的情况下,对所述查询语句所携带的所述待纠错的文本进行领域纠错包括:
基于所述BK树查询所述拼音的第二候选拼音;
从所述目标数据库中查询所述候选拼音对应的汉字,得到第二候选汉字;
基于所述领域词典查询所述第二候选汉字对应的权重,将所述权重最高的所述候选汉字确定为所述纠错结果。
7.根据权利要求4所述的方法,其特征在于,在所述待纠错的文本为拼音与汉字组合的情况下,对所述查询语句所携带的所述待纠错的文本进行领域纠错包括:
将所述待纠错的文本中的汉字转换为拼音;
基于所述BK树查询所述拼音的第三候选拼音;
从所述目标数据库中查询所述候选拼音对应的汉字,得到第三候选汉字;
基于所述领域词典查询所述第三候选汉字对应的权重,将所述权重最高的所述候选汉字确定纠错结果;
在所述纠错结果表征为需要进行纠错的情况下,返回所述纠错结果;
在所述纠错结果表征为不需要进行纠错的情况下,将所述第三候选拼音和所述待纠错文本中的拼音转换为汉字;
将用于表征转换得到的汉字的字符串转换为用于表征拼音的字符串;
通过滑动窗口遍历用于表征拼音的字符串以获取对应的拼音;
基于所述BK树查询通过所述滑动窗口获取到的拼音的第四候选拼音;
从所述目标数据库中查询与所述候选拼音对应的汉字,得到第四候选汉字;
将用于表征所述第四候选汉字的字符串替换所述查询语句中用于表征待纠错的汉字的字符串,得到候选查询语句;
基于领域语言模型,对所述候选查询语句进行打分;其中,所述领域语言模型为基于领域语料训练得到且用于对所述领域语料进行打分的语言模型;
根据所述候选查询语句的得分对所述候选查询语句进行排序;
在得分最高的所述候选查询语句的得分与所述查询语句的得分差值大于第四预设阈值的情况下,将得分最高的所述候选查询语句中的汉字确定为候选纠错结果;
在所述候选纠错结果中包括所述待纠错的文本中的拼音的情况下,将所述候选纠错结果确定为所述纠错结果;
在所述候选纠错结果中未包括所述待纠错的文本中的拼音的情况下,禁止对所述待纠错的文本进行纠错。
8.根据权利要求5或6或7所述的方法,其特征在于,基于所述BK树查询拼音的候选拼音,包括:
基于所述拼音与所述BK树中的根节点之间的编辑距离和第五预设阈值确定编辑距离范围;
基于所述编辑距离范围从所述BK树确定候选子节点;其中,所述候选子节点所对应的拼音与所述拼音编辑距离小于或等于所述第五预设阈值;
将所述候选子节点对应的拼音确定为所述候选拼音。
9.一种查询语句的纠错装置,其特征在于,包括:
第一获取模块,用于获取查询语句;其中,所述查询语句中的字符串用于表征待纠错的文本;
纠错模块,用于对所述查询语句所携带的所述待纠错的文本进行通用纠错和/或领域纠错;其中,所述通用纠错是指对文本所关联的通用表述错误进行纠错,所述领域纠错是指对文本与所关联的垂直领域内的关键词不匹配进行纠错;
输出模块,用于输出所述待纠错的文本的纠错结果。
10.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-8任一所述的方法步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210351633.1A CN114860870A (zh) | 2022-04-02 | 2022-04-02 | 一种文本的纠错方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210351633.1A CN114860870A (zh) | 2022-04-02 | 2022-04-02 | 一种文本的纠错方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114860870A true CN114860870A (zh) | 2022-08-05 |
Family
ID=82629706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210351633.1A Pending CN114860870A (zh) | 2022-04-02 | 2022-04-02 | 一种文本的纠错方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114860870A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115862674A (zh) * | 2023-02-21 | 2023-03-28 | 山东山大鸥玛软件股份有限公司 | 英语口语评测的语音识别及纠错方法、系统、设备及介质 |
-
2022
- 2022-04-02 CN CN202210351633.1A patent/CN114860870A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115862674A (zh) * | 2023-02-21 | 2023-03-28 | 山东山大鸥玛软件股份有限公司 | 英语口语评测的语音识别及纠错方法、系统、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109918640B (zh) | 一种基于知识图谱的中文文本校对方法 | |
CN104657439B (zh) | 用于自然语言精准检索的结构化查询语句生成系统及方法 | |
US8560300B2 (en) | Error correction using fact repositories | |
WO2017092380A1 (zh) | 用于人机对话的方法、神经网络系统和用户设备 | |
CN110727779A (zh) | 基于多模型融合的问答方法及系统 | |
CN104657440B (zh) | 结构化查询语句生成系统及方法 | |
CN110019732B (zh) | 一种智能问答方法以及相关装置 | |
CN110717034A (zh) | 一种本体构建方法及装置 | |
CN111611807B (zh) | 一种基于神经网络的关键词提取方法、装置及电子设备 | |
CN111209740B (zh) | 文本模型训练方法、文本纠错方法、电子设备及存储介质 | |
WO2022237253A1 (zh) | 一种测试用例生成方法、装置及设备 | |
CN111611452B (zh) | 搜索文本的歧义识别方法、系统、设备及存储介质 | |
CN111310440A (zh) | 文本的纠错方法、装置和系统 | |
CN112687328B (zh) | 确定临床描述信息的表型信息的方法、设备和介质 | |
CN113672708A (zh) | 语言模型训练方法、问答对生成方法、装置及设备 | |
CN110874536A (zh) | 语料质量评估模型生成方法和双语句对互译质量评估方法 | |
CN112528001A (zh) | 一种信息查询方法、装置及电子设备 | |
CN113220835A (zh) | 文本信息处理方法、装置、电子设备以及存储介质 | |
US11379527B2 (en) | Sibling search queries | |
CN114860870A (zh) | 一种文本的纠错方法及装置 | |
CN104572632A (zh) | 一种确定具有专名译文的词汇的翻译方向的方法 | |
CN114141384A (zh) | 用于检索医学数据的方法、设备和介质 | |
CN112560425B (zh) | 模板生成方法、装置、电子设备及存储介质 | |
CN113051894A (zh) | 一种文本纠错的方法和装置 | |
CN117370190A (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 |