形近字纠错语料挖掘方法、纠错方法、设备及存储介质
技术领域
本公开的实施例一般地涉及信息技术领域,并且更具体地,涉及一种形近字纠错语料挖掘方法、纠错方法、设备及存储介质。
背景技术
随着互联网的发展和普及,用户经常需要输入文字进行信息的交互,例如很多互联网用户具有主动搜索的习惯用来获取自己所关注的信息。目前大多数的主流APP都提供给用户搜索框,方便用户来搜索站内信息,帮助用户更好地发现站内优质资源。目前,文字的输入方式较为多样,包括拼音输入法、例如五笔输入法等字型输入法、语音输入、手写输入等,对于一些用户,喜欢通过手写体来输入文字,***通过OCR(Optical CharacterRecognition,光学字符识别)技术识别文字,但有时候由于书写错误或者书写过于潦草导致OCR识别错误的情况,造成输入或识别的汉字并非用户真实期望输入的汉字而是其形近字,从而不利于检索到需要的信息,影响用户体验,而且增加了搜索处理的负担,耗费计算资源。已有的一些文字纠错方法基于文字编码距离的远近进行形近字的匹配,在手写体输入的情况下准确度较低。
发明内容
为了解决上述问题,本公开的实施例提供了一种形近字纠错方案,能够提高形近字纠错的效率和准确性。
在本公开的第一方面,提供了一种形近字纠错语料挖掘方法,包括:
根据用户搜索日志中的搜索词query和搜索结果title,构建query/title对;
对比所述query/title对中的query和title,得到形近字匹配对;
根据所述形近字匹配对生成纠错语料。
进一步地,所述根据用户搜索日志中的搜索词query和搜索结果title,构建query/title对包括:
从用户搜索日志中获取query以及搜索所述query得到的title;
从搜索所述query得到的title中抽取被用户查看的title;
将所述query与所述被用户查看的title组成query/title对。
进一步地,所述对比所述query/title对中的query和title,得到形近字匹配对包括:
对所述query和title分别进行分词处理,得到query词序列和title词序列;
对比所述query词序列和title词序列,得到不一致的单字;
将所述不一致的单字组成形近字匹配对。
进一步地,所述query为用户通过手写方式和/或字型输入法输入的。
进一步地,在得到形近字匹配对之后,方法包括:
采用形近字验证对对所述形近字匹配对进行筛选,所述形近字验证对是基于图像算法生成的;
根据所述筛选后的形近字匹配对生成纠错语料。
进一步地,采取以下步骤生成所述形近字验证对:
对汉字进行图像化处理;
采用图像算法抽取汉字的图像特征;
计算汉字的图像特征之间的相似度,得到每个汉字的形近字序列;
将每个汉字与其形近字序列中的汉字组成形近字验证对。
在本公开的第二方面,提供了一种形近字纠错方法,包括:
获取输入的文字序列;
使用根据第一方面所述的方法生成的纠错语料对所述文字序列进行纠错。
进一步地,所述文字序列包括用户手写输入的汉字和/或以字型输入法输入的汉字。
在本公开的第三方面,提供了一种电子设备。该电子设备包括:存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如以上所述的方法。
在本公开的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如以上所述的方法。
本公开的实施例提供的形近字纠错语料挖掘方法、纠错方法、设备及存储介质通过对用户搜索日志进行挖掘,得到query/title的点击对,然后采用query和title的对齐规则得到形近字匹配对,能够帮助用户在采用手写体或字形方式输入搜索信息情况下准确地纠正识别错误,改善搜索体验;并且,采用基于图像的形近字识别算法生成形近字验证对,对形近字匹配对进行筛选,从而提高纠错备选形近字的可靠性,减少人工检查的成本。
应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1示出了根据本公开实施例的形近字纠错语料挖掘方法的流程图;
图2示出了根据本公开另一实施例的形近字纠错语料挖掘方法的流程图;
图3示出了根据本公开实施例的形近字纠错方法的流程图;
图4示出了能够实施本公开实施例的示例性电子设备的方框图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本公开保护的范围。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
图1示出了根据本公开实施例的一种形近字纠错语料挖掘方法,包括:
S101、根据用户搜索日志中的搜索词query和搜索结果title,构建query/title对;
其中,query即搜索词,是指为了在数据库中寻找特定的文件、网站、消息或记录等而输入的信息,用户通过输入query来表达需求,例如用户想搜索“科技公司”,则通过手写方式在搜索框中输入文字“科技公司”,但被OCR错误识别为“科枝公司”,“科枝公司”即为此次搜索的搜索词query。title即搜索结果,是指根据query从数据库中按照预设的搜索算法得到的相关文件、消息或记录等。在得到搜索结果title后,通过用户界面呈现,用户从呈现的title中采取点击等方式选择并查看符合个人搜索需求的titile。例如对于“科枝公司”的query,用户根据需求会从呈现的title中点击包含“科技公司”的title。
所述用户搜索日志为历史数据,其包含了历史搜索的query、每个query得到的title以及被查看的title等信息。
具体地,该步骤包括:
从用户搜索日志中获取query以及搜索所述query得到的title;
从搜索所述query得到的全部title中抽取被用户查看的title,例如日志中记录有点击行为的title;
将所述query与所述被用户查看的title组成query/title对。
其中,所述query/title对中的title为用户搜索日志中用户搜索该query后查看的title,通过该query/title对体现了query与符合用户搜索需求的title的匹配关系,其数据形式例如为“科枝公司/xxx科技公司”。需要说明的是,一个query往往对应于多个查看的title,也即对于同一个query,会组成多个query/title对。
S102、对比所述query/title对中的query和title,得到形近字匹配对;
其中,首先对所述query/title对中的query和title分别进行分词处理,得到query词序列和title词序列,然后对比所述query词序列和title词序列,得到不一致的单字,将所述不一致的单字组成形近字匹配对。例如分词得到ABCDE的query词序列和ABFDE的title词序列,其中C和F是不一致的单字,则C和F组成一个形近字匹配对。作为一个示例,根据query/title对“科枝公司/xxx科技公司”可以得到形近字匹配对“枝和技”。
S103、根据所述形近字匹配对生成纠错语料。
其中,将通过上述步骤得到的多个形近字匹配对汇总,得到纠错语料,用于搜索中形近字纠错的处理,形近字匹配对中的后一个汉字作为前一个汉字的备选,或者形近字匹配对中的一个汉字作为另一个汉字的备选。可选地,可以将包括同一个字的多个形近字匹配对汇总为一个形近字匹配库,该匹配库中包括多个字形相近的汉字,对于其中的一个汉字,其它汉字均为纠错处理的备选。
通过本公开上述实施例的方法,能够从历史搜索数据中获取query/title对并生成形近字匹配对,由于利用了用户真实搜索和查看的大数据,得到的形近字匹配对更为准确,而且生成效率较高,能够帮助用户在采用手写体或字形方式输入搜索信息情况下准确地纠正识别错误,改善搜索体验。
但是,由于用户搜索日志中的query可能是通过语音、拼音输入法等方式输入的,根据上述步骤挖掘出的匹配对中可能包括同音字等非形近字的情况,导致所述形近字匹配对仍然含有噪音。
针对于此,可选地,用户搜索日志中记录query的输入方式信息,上述实施例中的query为用户通过手写方式和/或字型输入法输入的,也即从用户搜索日志中仅获取通过手写方式和/或字型输入法输入的query,而不考虑其它输入方式的query。
进一步地,根据本公开的另一实施例,可以通过对形近字匹配对进行进一步地筛选以减少或去除所述噪音。图2示出了本公开另一实施例的形近字纠错语料挖掘方法,其中步骤S201和S202与图1所示的实施例中的步骤S101和S102相同,在此不再赘述。与图1不同的是,在得到形近字匹配对之后,对所述形近字匹配对进行筛选。由于形近字匹配对很多,如果单纯靠人工检查的话,检测速度很慢且容易遗漏。由于汉字是从象形文字中发展出来的,会具有图像的一些特征,可以利用图像算法进行自动筛选。具体地,方法包括:
S203、采用形近字验证对对所述形近字匹配对进行筛选,所述形近字验证对是基于图像算法生成的;
具体地,采取以下步骤生成所述形近字验证对:
a、对汉字进行图像化处理,即将汉字映射成为二维图像;
采用图像算法抽取汉字的图像特征;
其中,所述图像算法可以为现有的图像提取算法,例如采用深度神经网络,抽取得到的图像特征表示为一个n维的向量。
b、计算汉字的图像特征之间的相似度,得到每个汉字的形近字序列;
其中,可以采用向量之间的cos距离来描述相似度。在计算得到汉字图像特征两两之间的相似度后,对于每个汉字,可以按照相似度从高到低排序,选择相似度最高的k个汉字组成该汉字的形近字序列,也可以预先设定相似度阈值,将相似度高于所述阈值的k个汉字组成该汉字的形近字序列。
c、将每个汉字与其形近字序列中的汉字组成形近字验证对。
例如,对于汉字“枝”,按照相似度可以得到“技、伎、枯”等汉字组成的形近字序列,然后构成形近字验证对“枝和技”、“枝和伎”、“枝和枯”等。假设根据图1所述实施例的方法得到形近字匹配对“枝和技”和“枝和知”,则“枝和技”可以通过上述形近字验证对的筛选,“枝和知”无法通过筛选,由此去除了噪音。
S204、根据所述筛选后的形近字匹配对生成纠错语料。
将通过上述步骤得到筛选后的多个形近字匹配对汇总,得到纠错语料,用于搜索中形近字纠错的处理,形近字匹配对中的一个汉字作为另一个汉字的备选。可选地,可以将包括同一个字的多个形近字匹配对汇总为一个形近字匹配库,该匹配库中包括多个字形相近的汉字,互为纠错处理的备选。
通过本公开上述实施例的方法,用图像算法得到的形近字验证对对从用户搜索日志的历史数据得到的形近字匹配对做筛选,可以得到置信度很高的形近字备选,提高了对识别错误的形近字进行纠错处理的准确性和效率。
图3示出了根据本公开实施例的形近字纠错方法,包括:
S301、获取输入的文字序列;
其中,所述输入的文字序列例如为搜索词query,其包括用户手写输入并通过OCR技术识别的汉字,和/或用户以五笔输入法等字型输入法输入的汉字。
S302、使用根据上述的方法生成的纠错语料对所述文字序列进行纠错。
具体地,首先针对输入的文字序列,从所述纠错语料中选出备选字进行替换得到多个备选,采用束搜索来寻找全局概率最大的K个备选为纠错备选序列;
然后针对这K个备选,分别采用预先训练得到排序模型进行评分,最终选取排序模型中分数最大的备选作为最终纠错结果产出。
可选地,本领域技术人员可以采用任何现有的纠错方法,基于本公开实施例生成纠错语料的进行纠错处理。
本公开实施例的形近字纠错方法通过使用上述挖掘方法得到的纠错语料,能够准确、高效地识别形近字错误的汉字,其不仅适用于手写输入的OCR识别错误的情况,对于手写笔误、五笔输入法笔误等任何导致形近字错误的情况,均可以适用且同样具有准确、高效的优势。
本公开的实施例还提供了一种电子设备和一种计算机可读存储介质。该电子设备包括:存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如以上实施例所述的方法。该计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如以上实施例所述的方法。图4示出了可以用来实施本公开的实施例的电子设备400的示意性框图。设备400包括中央处理单元(CPU)401,其可以根据存储在只读存储器(ROM)402中的计算机程序指令或者从存储单元408加载到随机访问存储器(RAM)403中的计算机程序指令,来执行各种适当的动作和处理。在RAM 403中,还可以存储设备400操作所需的各种程序和数据。CPU 401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
设备400中的多个部件连接至I/O接口405,包括:输入单元406,例如键盘、鼠标等;输出单元407,例如各种类型的显示器、扬声器等;存储单元408,例如磁盘、光盘等;以及通信单元409,例如网卡、调制解调器、无线通信收发机等。通信单元409允许设备400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理单元401执行上文所描述的各个方法和处理。例如,在一些实施例中,方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元408。在一些实施例中,计算机程序的部分或者全部可以经由ROM 402和/或通信单元409而被载入和/或安装到设备400上。当计算机程序加载到RAM 403并由CPU 401执行时,可以执行上文描述的方法的一个或多个步骤。备选地,在其他实施例中,CPU 401可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、负载可编程逻辑设备(CPLD)等等。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。