掌桥专利:专业的专利平台
掌桥专利
首页

检索名称的错别字纠正方法、装置、电子设备和存储介质

文献发布时间:2023-06-19 12:14:58


检索名称的错别字纠正方法、装置、电子设备和存储介质

技术领域

本申请实施例涉及语言处理技术领域,尤其涉及一种检索名称的错别字纠正方法、装置、电子设备和存储介质。

背景技术

目前,常规的机器翻译的方法已经成为文本纠错的主流技术,主要思想是把纠错看成同种语言中错误句子翻译为正确句子的过程,其核心由语言模型和翻译模型组成。语言模型学习语言规则、语言知识;翻译模型从平行语料中学习用户的纠错行为。

但对于某些特殊领域的名称检索,如地理名称、书籍名称或歌曲名称等,由于很多名称在起名时为了凸显醒目和特别,并不严格遵循语言规则、语言知识,甚至故意使用违反语义习惯的字或非常用字,导致常规的语言模型在这些检索名称的纠错领域表现效果不佳,从而无法检索到用户想要的结果。

发明内容

本申请实施例提供一种检索名称的错别字纠正方法、装置、电子设备和存储介质,以解决现有技术中存在的对检索名称中的错别字的纠正效果不佳的问题。

第一方面,本申请实施例提供一种检索名称的错别字纠正方法,包括:

获取初始检索名称;

根据错别字位置模型和错别字类型模型,对所述初始检索名称进行处理,得到目标检索名称,所述错别字位置模型中包括各正确检索名称、意图检索名称及错误检索名称与错别字位置标签的映射关系,所述错别字类型模型中包括各错误检索名称与错别字类型标签的映射关系;

根据所述目标检索名称进行检索。

可选地,所述错别字位置标签用于反映检索名称中首个错别字的位置序号,所述错别字类型标签用于反映所述错误检索名称中首个错别字的类型,所述根据错别字位置模型和错别字类型模型,对所述初始检索名称进行处理,得到目标检索名称,包括:

采用错别字位置模型,对所述初始检索名称进行错别字位置推断,得到所述初始检索名称中错别字的第一位置标签;

若所述第一位置标签不为0,则采用错别字类型模型,对所述初始检索名称进行错别字类型推断,得到所述初始检索名称中错别字的第一类型标签;

根据所述第一位置标签和所述第一类型标签,对所述初始检索名称中错别字进行纠正,得到目标检索名称。

可选地,所述根据所述第一位置标签和所述第一类型标签,对所述初始检索名称中错别字进行纠正,得到目标检索名称,包括:

确定所述初始检索名称中第一位置标签对应的第一错别字;

根据所述第一类型标签,对所述初始检索名称中的第一错别字进行替换,得到至少一个候选检索名称;

采用所述错别字位置模型,对所述至少一个候选检索名称进行错别字位置推断,得到所述至少一个候选检索名称的第二位置标签;

筛选出所述第二位置标签与所述第一位置标签不同的有效检索名称;

若所述有效检索名称的第二位置标签为0,则将所述有效检索名称确定为目标检索名称。

可选地,所述方法还包括:

若所述有效检索名称的第二位置标签不为0,则采用错别字类型模型,对所述有效检索名称进行错别字类型推断,得到所述有效检索名称中错别字的第二类型标签;

根据所述第二位置标签和所述第二类型标签,对所述有效检索名称中错别字进行纠正,得到目标检索名称。

可选地,所述错别字类型标签包括同音字标签和形近字标签,所述根据所述第一类型标签,对所述初始检索名称中的第一错别字进行替换,得到至少一个候选检索名称,包括:

若所述第一类型标签为同音字标签,则根据所述第一错别字的同音字字表,对所述初始检索名称中的第一错别字进行替换,得到至少一个候选检索名称;

若所述第一类型标签为形近字标签,则根据所述第一错别字的形近字字表,对所述初始检索名称中的第一错别字进行替换,得到至少一个候选检索名称。

可选地,所述方法还包括:

若所述第一位置标签为0,则将所述初始检索名称确定为目标检索名称。

可选地,所述根据错别字位置模型和错别字类型模型,对所述初始检索名称进行处理,得到目标检索名称之前,所述方法还包括:

获取正确检索名称;

对所述正确检索名称进行预处理,得到与各正确检索名称对应的意图检索名称和错误检索名称;

根据所述正确检索名称、所述意图检索名称和所述错误检索名称,对预先构建的深度学习模型进行训练,得到所述错别字位置模型;

根据所述错误检索名称,对预先构建的深度学习模型进行训练,得到所述错别字类型模型。

可选地,所述根据所述正确检索名称、所述意图检索名称和所述错误检索名称,对预先构建的深度学习模型进行训练,得到所述错别字位置模型,包括:

根据所述正确检索名称、所述意图检索名称和所述错误检索名称中错别字的位置,生成包括所述错误检索名称、所述正确检索名称、所述意图检索名称和错别字位置标签的第一训练数据集;

采用所述第一训练数据集对所述深度学习模型进行训练,得到所述错别字位置模型。

可选地,所述根据所述错误检索名称,对预先构建的深度学习模型进行训练,得到所述错别字类型模型,包括:

根据所述错误检索名称中错别字的类型,生成包括所述错误检索名称和错别字类型标签的第二训练数据集;

采用所述第二训练数据集对所述深度学习模型进行训练,得到所述错别字类型模型。

可选地,所述对所述正确检索名称进行预处理,得到与各正确检索名称对应的意图检索名称及错误检索名称,包括:

对所述正确检索名称进行分词处理,得到所述正确检索名称的分词集合;

丢弃所述分词集合中的至少一个分词,对分词集合中的剩余的分词进行合并,得到意图检索名称;

对所述正确检索名称和所述意图检索名称中的字进行同音字或形近字替换,得到所述错误检索名称。

第二方面,本申请实施例提供一种检索名称的错别字纠正装置,包括:

获取模块,用于获取初始检索名称;

处理模块,用于根据错别字位置模型和错别字类型模型,对所述初始检索名称进行处理,得到目标检索名称,所述错别字位置模型中包括各正确检索名称、意图检索名称及错误检索名称与错别字位置标签的映射关系,所述错别字类型模型中包括各错误检索名称与错别字类型标签的映射关系;

检索模块,用于根据所述目标检索名称进行检索。

第三方面,本申请实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述第一方面所述的检索名称的错别字纠正方法。

第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的检索名称的错别字纠正方法。

本申请实施例提供的检索名称的错别字纠正方法、装置、电子设备和存储介质,通过获取初始检索名称,根据错别字位置模型和错别字类型模型,对初始检索名称进行处理,得到目标检索名称,错别字位置模型中包括各正确检索名称、意图检索名称及错误检索名称与错别字位置标签的映射关系,错别字类型模型中包括各错误检索名称与错别字类型标签的映射关系;根据目标检索名称进行检索,实现了对检索名称中错别字的智能纠错,提高了检索名称中错别字的纠错质量,提升了用户使用体验。

附图说明

图1为本申请实施例提供的一种应用场景示意图;

图2为本申请实施例一提供的一种检索名称的错别字纠正方法的流程示意图;

图3为本申请实施例一提供的错别字位置模型的工作原理示意图;

图4为本申请实施例一提供的错别字类型模型的工作原理示意图;

图5为本申请实施例二提供的另一种检索名称的错别字纠正方法的流程示意图;

图6为本申请实施例二提供的一种由错别字位置模型和错别字类型模型组合纠正错别字的流程示意图;

图7为本申请实施例三提供一种错别字位置模型和错别字类型模型的训练流程示意图;

图8为本申请实施例三提供的错别字位置模型和错别字类型模型的训练流程示意图;

图9为本申请实施例四提供的检索名称的错别字纠正装置的结构示意图;

图10为本申请实施例五提供的一种电子设备的结构示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。

本申请实施例的技术方案,可应用于根据用户输入的检索名称,进行数据检索的应用领域,如地理位置、歌曲、书籍等检索领域。本实施例提供的技术方案可应用于各种类型的设备后台,也可应用于服务器中。

示例性地,图1为本申请实施例提供的一种应用场景示意图,以地理位置检索为例,如图1所示,用户设备与服务器之间通信连接,用户设备即用户端设备,如手机、平板电脑、车载终端等,用户设备上安装有应用客户端,如导航应用(application,App)。服务器具有能够根据用户设备发送的请求,进行相应的数据处理,并将数据处理结果反馈给用户设备的功能。该服务器可为普通服务器,也可以是云服务器或服务器集群等。

本申请技术方案的主要思路:基于现有技术中存在的技术问题,本申请实施例提供一种检索名称的错别字纠正方案,依据正确检索名称,生成长度不同且含有同音字错误的名称和含有形近字错误的名称,来模拟用户检索时可能输入的检索名称,并为每个检索名称设置错别字位置标签,为每个错误检索名称设置错别字类型标签,得到含有两种标签的名称数据,并基于上述两种名称数据,分别对深度学习模型进行训练,学习名称数据的文本特征与对应标签的关系,得到能够识别错别字位置的模型和能够识别错别字类型的模型。

在名称纠错阶段,组合使用两种模型,首先使用能够识别错别字位置的模型推断错别字位置,然后,使用能够识别错别字类型的模型判断错别字是同音字错误还是形近字错误,根据错别字所在错误位置用备选的同音字或形近字替换,生成一组新名称,如果对某个新名称再次推断错别字位置时,其返回的错别字位置标签与前次推断相比发生变化,则认为当前位置的错别字已纠正正确,依次递归执行上述推断过程,直到找不到新的错别字为止,实现对检索名称中所有错别字的纠正。

实施例一

图2为本申请实施例一提供的一种检索名称的错别字纠正方法的流程示意图,本实施例的方法可以由本申请实施例所提供的检索名称的错别字纠正装置执行,该装置可以由软件和/或硬件的方式来实现,并可集成于计算机、服务器等电子设备中。如图2所示,本实施例的检索名称的错别字纠正方法,包括:

S101、获取初始检索名称。

示例性地,如图1所示,当用户在用户设备的应用客户端的检索栏中输入检索名称时,由于可能不确定某些字的正确读音或混淆字形,而导致检索名称出现错别字,从而导致用户设备难以精准检索,影响用户使用体验。

与现有技术中,根据用户输入的检索名称直接进行检索的方式不同,本实施例中,当用户在检索栏输入检索名称时,通过对用户输入的初始检索名称进行处理,判断初始检索名称中是否存在错别字,以及当确定初始检索名称中存在错别字时,对存在的错别字进行纠正,并根据纠错后的检索名称进行数据检索,以达到避免由于初始检索名称中存在的错别字导致的无法有效检索的问题。为此,本步骤中,需要先进行初始检索名称的获取。

其中,初始检索名称,是指用户通过用户设备的应用客户端直接输入的检索名称,是未经纠错处理的检索名称,直接反映用户的检索需求。

本实施例中,可以由设备后台直接识别用户在前端页面输入的初始检索名称,也可以由服务器通过远程通信的方式,从用户设备获取初始检索名称。示例性地,如图1所示,当用户在用户设备接收到用户输入的初始检索名称时或当用户设备搜索不到初始检索名称对应的数据时,用户设备将初始检索名称发送给服务器,服务器实现初始检索名称的获取。

S102、根据错别字位置模型和错别字类型模型,对初始检索名称进行处理,得到目标检索名称。

本步骤中,通过错别字位置模型和错别字类型模型的组合使用,以对初始检索名称进行处理,得到目标检索名称,其中,目标检索名称可以是对初始检索名称纠错后得到的检索名称,也可以是初始检索名称本身。具体地,若初始检索名称中存在错别字,则目标检索名称为对初始检索名称纠错后得到的检索名称,若初始检索名称中不存在错别字,则目标检索名称为初始检索名称本身。

本实施例中,错别字位置模型中包括各个正确检索名称、意图检索名称及错误检索名称与错别字位置标签的映射关系,具有识别检索名称中错别字位置的功能;错别字类型模型中包括错误检索名称与错别字类型标签的映射关系,具有识别错别字类型的功能。

正确检索名称,是指从原始应用数据获取到的检索名称,如从地图数据中获取的原始地理名称。可以理解的是,正确检索名称中不包括错别字。

意图检索名称,对正确检索名称进行简化处理,用以模拟用户可能输入的各种长度的检索名称得到的,对同一正确检索名称进行处理,可以得到不同的意图检索名称。可以理解的是,意图检索名称中也不包括错别字。

错误检索名称,通过同音字替换或形近字替换等方式对正确检索名称和意图检索名称进行处理后得到的检索名称。错误检索名称至少含有一个错别字,对于同一个正确检索名称或意图检索名称,经过同音字或形近字替换处理,可以得到包含不同错别字个数、不同错别字类型、不同错别字位置和不同错别字组合的多个错误检索名称。

为简化模型和减少对设备内存的占用,本实施例中,用错别字位置标签来表示错别字在检索名称中的位置,用错别字类型标签来表示检索名称中出现的错别字的类型。

其中,错别字的位置,可以简单理解为错别字在检索名称中出现的位置顺序,根据语言的读写习惯,该位置顺序默认的是从左到右的顺序,则位置标签就表示该检索名称中从左到右的第N个字为错别字,例如,若某检索名称中的第二个字为错别字,则其位置标签可以表示为2。

示例性地,图3为本申请实施例一提供的错别字位置模型的工作原理示意图,如图3所示,本实施例中,错别字位置模型的输入为检索名称(可以是初始检索名称,也可以是纠错过程中产生的待推断检索名称),输出为错别字位置标签,如0、1、2、……,其中,0表示待纠错检索名称中没有错别字。

不难看出,在错别字位置模型中,正确检索名称和意图检索名称对应的错别字位置标签均为0,错误检索名称对应的错别字位置标签为大于等于1的正整数。

错别字的类型,可以简单理解为错别字的类型分类,本实施例中,根据产生错别的原因,将错别字的类型分同音字错误和形近字错误两大类,可以通过事先设置不同的符号作为同音字错误和形近字错误的类别标签,例如,用x表示同音字错误标签,用y表示形近字错误标签。

示例性地,图4为本申请实施例一提供的错别字类型模型的工作原理示意图,如图4所示,本实施例中,错别字类型模型的输入为检索名称(可以是初始检索名称,也可以是纠错过程中产生的待推断检索名称),输出为错别字类型标签,如x或y。

相应地,本步骤中,可以通过将用户输入的初始检索名称输入到错别字位置模型中,由错别字位置模型将初始检索名称与错别字位置模型中的正确检索名称、意图检索名称和错误检索名称进行匹配,找到与初始检索名称对应的检索名称,根据初始检索名称对应的错别字位置标签,确定初始检索名称中是否存在错别字或存在的错别字的位置。

具体地,若错别字位置标签为0,则确定初始检索名称不存在错别字,则将初始检索名称确定为目标检索名称;若错别字位置标签不为0,则确定初始检索名称存在错别字,且错别字的位置为与错别字位置标签对应的初始检索名称中从左到右的第N个字,则进一步地将初始检索名称输入到错别字类型模型中,由错别字类型模型将初始检索名称与错别字类型模型中的错误检索名称进行匹配,找到与初始检索名称对应的错误检索名称,根据该错误检索名称对应的错别字类型标签,确定初始检索名称中错别字的类型,并根据错别字位置模型输出的位置标签和错别字类型模型输出的类型标签,采用与对应位置的错别字的对应类型的字,如采用第二个位置的错别字的同音字或形近字,对初始检索名称中对应位置的错别字进行替换,得到目标检索名称。

S103、根据目标检索名称进行检索。

本步骤中,根据S102中得到的目标检索名称进行数据检索,从而避免了由于初始检索名称中存在的错别字导致的无法有效检索的问题,提升了用户的使用体验。

本实施例中,通过获取初始检索名称,根据错别字位置模型和错别字类型模型,对初始检索名称进行处理,得到目标检索名称,错别字位置模型中包括各正确检索名称、意图检索名称及错误检索名称与错别字位置标签的映射关系,错别字类型模型中包括各错误检索名称与错别字类型标签的映射关系;根据目标检索名称进行检索,实现了对检索名称中错别字的智能纠错,由于错别字位置模型和错别字类型模型中的错误检索名称真实再现了用户可能的错别字输入,能够对检索名称中错别字进行有效的位置定位和类型识别,从而提高了检索名称中错别字的纠错质量,提升了用户使用体验。

实施例二

由于检索名称中可能同时出现不止一个错别字,在上述实施例的基础上,为降低模型复杂度和提高纠错效率,本实施例中,设置错别字位置模型中错别字位置标签来反映对应正确检索名称、意图检索名称及错误检索名称中出现的第一个错别字的位置,设置错别字类型模型中错别字类型标签来反映对应错误检索名称中出现的第一个错别字的类型。示例性地,表1示出了一种错别字位置模型中的错误检索名称与错别字位置标签的映射关系,错别字位置标签中的2表示检索名称中的第2个字存在错误,5表示检索名称中的第5个字存在错误;表2示出了一种错别字类型模型中错误检索名称与错别字类型标签的映射关系,错别字类型标签中的x代表同音字错误,y代表形近字错误。

表1

表2

表1和表2中错误检索名称为“北京富力万丽酒店”对应的错误检索名称,错误检索名称中加粗的字即为错别字。由表1和表2可知,当错误检索名称中有多个错别字时,由于错别字位置模型中的位置标签用于反映错误检索名称中首个错别字的位置序号,因此,表1中“北亰富力萬丽酒店”对应的错别字位置标签指示的是“亰”的位置序号;由于错别字类型模型中的类型标签用于反映错误检索名称中首个错别字的类型,因此,表2中“北亰富力萬丽酒店”对应的错别字类型标签指示的是“亰”的错别字类型,即形近字错误。

示例性地,图5为本申请实施例二提供的另一种检索名称的错别字纠正方法的流程示意图,如图5所示,本实施例中,根据错别字位置模型和错别字类型模型,对初始检索名称中的错别字进行纠正,得到目标检索名称,包括:

S201、采用错别字位置模型,对初始检索名称进行错别字位置推断,得到初始检索名称中错别字的第一位置标签。

本步骤中,将初始检索名称输入到错别字位置模型中,经错别字位置模型进行错别字位置推断,得到初始检索名称中第一个错别字的位置标签,为便于区分,这里将错别字位置模型第一次推断出来的错别字位置标签叫做第一位置标签。

S202、若第一位置标签不为0,则采用错别字类型模型,对初始检索名称进行错别字类型推断,得到初始检索名称中错别字的第一类型标签。

若S201中,经错别字位置模型输出的第一位置标签不是0,则说明初始检索名称中存在错别字,那么本步骤中,进一步地,将初始检索名称输入到错别字类型模型中,经错别字类型模型进行错别字类型推断,得到初始检索名称中第一个错别字的类型,为便于区分,这里将错别字类型模型第一次推断出来的错别字类型标签叫做第一类型标签。

可以理解的是,若S201中,经错别字位置模型输出的第一位置标签是0,则初始检索名称中不存在错别字,则可以直接将初始检索名称确定为目标检索名称。

S203、确定初始检索名称中第一位置标签对应的第一错别字。

在得到第一位置标签和第一类型标签后,本步骤中,为便于后续纠错的顺利进行,需要确定出第一位置标签在初始检索名称中对应的错别字是哪个字。

示例性地,可以根据第一位置标签,按照从左到右的方式,找到初始检索名称中位置序号与第一位置标签一致的字,得到第一位置标签对应的错别字,为便于区分,这里将第一位置标签对应的错别字叫做第一错别字。

S204、根据第一类型标签,对初始检索名称中的第一错别字进行替换,得到至少一个候选检索名称。

本步骤中,在确定出第一错别字后,根据第一类型标签,就可以确定第一错别字的类型,如同音字错误或形近字错误,那么,根据事先整理的第一错别字的同音字表或形近字表,采用同音字表中的同音字或形近字表中的形近字对初始检索名称中的第一错别字进行逐一替换,得到初始检索名称对应的至少一个候选检索名称。

S205、采用错别字位置模型,对至少一个候选检索名称进行错别字位置推断,得到至少一个候选检索名称的第二位置标签。

可以理解的,根据S204得到的多个候选检索名称中,只有一个候选检索名称有效纠正了初始检索名称中的第一错别字,即只有一个候选检索名称纠正了第一错别字。为此,本实施例中,通过采用错别字位置模型对候选检索名称继续进行位置推断的方式,确定出那个纠正了第一错别字的候选检索名称,完成第一错别字的纠正。为便于区分,这里将错别字位置模型对候选检索名称中的错别字位置进行推断,得到的错别字位置标签叫做第二位置标签。

相应地,本步骤中,将S204中得到的至少一个候选检索名称分别输入到错别字位置模型中,经错别字位置模型对各候选检索名称中的错别字进行位置推断,得到各候选检索名称对应的错别字的第二位置标签。

S206、筛选出第二位置标签与第一位置标签不同的有效检索名称。

本步骤中,通过对各候选检索名称的第二位置标签进行筛选,确定出对初始检索名称中的第一错别字的纠正成功的候选检索名称,即有效检索名称。

可以理解的是,将某候选检索名称输入到错别字位置模型中,若得到第二位置标签与第一位置标签相同,则说明该候选检索名称中第一位置标签对应的位置处仍然存在错别字,即没有实现对初始检索名称中第一错别字的纠正;若第二位置标签与第一位置标签不同,则说明该候选检索名称中第一位置标签对应的位置处不存在错别字,即实现了对初始检索名称中第一错别字的纠正,这里分两种情况:

若得到的第二位置标签为0,则说明该候选检索名称中不存在错别字,即初始检索名称中的第一错别字纠正成功,并且初始检索名称中不存在其他的错别字;若得到的第二位置标签的值比第一位置标签的值大,则说明候选检索名称中首个错别字的位置相比于初始检索名称中首个错别字的位置发生后移,说明该候选检索名称中还存在错别字,即初始检索名称中的第一错别字纠正成功,并且初始检索名称中还存在除第一错别字以外的其他错别字。

由此可见,有效检索名称即第二位置标签与第一位置标签不同的候选检索名称,相应地,本步骤中,筛选出第二位置标签与第一位置标签不同的候选检索名称,即可确定出有效检索名称。

S207、若有效检索名称的第二位置标签为0,则将有效检索名称确定为目标检索名称。

由前述分析可知,当有效检索名称的第二位置标签为0时,说明初始检索名称中不存在除第一错别字外的其他错别字了,即对初始检索名称的纠错结束,得到的有效检索名称即为初始检索名称的目标检索名称。

S208、若有效检索名称的第二位置标签不为0,则采用错别字类型模型,对有效检索名称进行错别字类型推断,得到有效检索名称中错别字的第二类型标签。

由前述分析可知,当有效检索名称的第二位置标签不为0时,说明初始检索名称中还存在除第一错别字外的其他的错别字,该错别字是有效检索名称中的第一个错别字,对应为初始检索名称中的第二个错别字,为便于描述,将该错别字叫做第二错别字。

为实现对第二错别字的纠正,本步骤中,需要进一步地将有效检索名称输入到错别字类型模型中,由错别字类型模型推断有效检索名称中错别字的类型,得到有效检索名称中错别字的第二类型标签,即初始检索名称中第二错别字的类型标签。

S209、根据第二位置标签和第二类型标签,对有效检索名称中错别字进行纠正,得到目标检索名称。

在S208之后,基于新得到的第二位置标签和第二类型标签,通过重复S203-S208,实现初始检索名称中第二错别字及其他可能存在的错别字的纠正,得到目标检索名称。

需要说明的是,在重复S203-S208的过程中,只要将原有的位置标签和类型标签分别替换为新推断出的位置标签和类型标签即可。

以用户输入的初始检索名称为“北亰富力萬丽酒店”为例,图6为本申请实施例二提供的一种由错别字位置模型和错别字类型模型组合纠正错别字的流程示意图,如图6所示,对“北亰富力萬丽酒店”中的错别字进行纠错的流程包括:

①将“北亰富力萬丽酒店”输入到错别字位置模型中,由错别字位置模型进行错别字位置推断,得到的推断结果为:2(即“北亰富力萬丽酒店”中的第二个字为错别字);

②将“北亰富力萬丽酒店”输入到错别字类型模型中,由错别字类型模型进行错别字类型推断,得到的推断结果为:y(即“北亰富力萬丽酒店”为形近字错误);

③根据错别字位置模型的推断结果“2”和错别字类型模型的推断结果“y”,采用“亰”的形近字,对“北亰富力萬丽酒店”中的“亰”进行替换,得到“北亰富力萬丽酒店”的对应的一系列候选检索名称:北京富力萬丽酒店、北倞富力萬丽酒店、北凉富力萬丽酒店、……;

④将这些候选检索名称分别输入到错别字位置模型中,推断各候选检索名称中错别字的位置,得到候选检索名称与错别字位置标签的关系为:

北京富力萬丽酒店:5、

北倞富力萬丽酒店:2、

北凉富力萬丽酒店:2、

……;

⑤丢弃推断结果仍为2的候选检索名称,保留有效检索名称“北京富力萬丽酒店”,至此“北亰富力萬丽酒店”中的第一个错别字纠正完成;

⑥将“北京富力萬丽酒店”输入到错别字类型模型中,由错别字类型模型进行错别字类型推断,得到的推断结果为:x(即“北京富力萬丽酒店”为同音字错误);

⑦根据错别字位置模型的推断结果“5”和错别字类型模型的推断结果“x”,采用“萬”的同音字,对“北京富力萬丽酒店”中的“萬”进行替换,得到“北京富力萬丽酒店”对应的一系列候选检索名称:北京富力皖丽酒店、北京富力湾丽酒店、北京富力万丽酒店、……;

⑧将这些候选检索名称分别输入到错别字位置模型中,推断各候选检索名称中错别字的位置,得到候选检索名称与错别字位置标签的关系为:

北京富力皖丽酒店:5、

北京富力湾丽酒店:5、

北京富力万丽酒店:0、

……;

⑨丢弃推断结果仍为5的候选检索名称,保留有效检索名称“北京富力万丽酒店”,至此“北亰富力萬丽酒店”中的第二个错别字纠正完成。

由“北京富力万丽酒店”中的错别字位置标签为0,可知,“北京富力万丽酒店”中不存在错别字,即“北亰富力萬丽酒店”中所有的错别字均纠错完成,返回目标检索名称“北京富力万丽酒店”进行检索。

本实施例中,通过设置错别字位置模型中错别字位置标签来反映对应检索名称中出现的第一错别字的位置,设置错别字类型模型中错别字类型标签来反映对应错误检索名称中出现的第一个错别字的类型,并通过错别字位置模型和错别字类型模型的组合使用,对待纠错检索名称中的错别字逐字纠正,由于模型不需要考虑各种复杂的错别字组合,这不仅降低了模型的复杂度,还提高了待纠错检索名称中错别字的纠正效率和准确率,有利于进一步提升用户使用体验。

实施例三

下面将以一个具体的实施例,对本实施例中错别字位置模型和错别字类型模型的训练过程加以说明,示例性地,图7为本申请实施例三提供一种错别字位置模型和错别字类型模型的训练流程示意图,在上述实施例一和实施例二的基础上,如图7所示,错别字位置模型和错别字类型模型训练步骤包括:

S301、获取正确检索名称。

以正确检索名称为地理检索名称为例,为提高错别字位置模型和错别字类型模型对地理名称中错别字纠正的准确性,本实施例中,以地图数据中的原始地图名称作为对错别字位置模型和错别字类型模型的源数据,为此,本步骤中,通过获取地图数据中的原始地图名称,得到正确检索名称。

在一种可能的实施方式中,若进行错别字位置模型和错别字类型模型训练的电子设备上存储有地图数据,则本步骤中,可以直接从地图数据中获取原始地图名称。

在另一种可能的实施方式中,若进行错别字位置模型和错别字类型模型训练的电子设备上没有存储地图数据,则本步骤中,可以通过向存储地图数据的设备发送地图数据获取请求,从而得到地图APP的地图数据,进而提取进行模型训练所需的原始地图名称。

可以理解的是,对于除地理位置之外的检索领域,如歌曲、书籍等检索领域,其正确检索名称为对应的原始歌曲名称、原始书籍名称等,相应地,本实施例中,可以从相关应用的歌曲库、书箱目录等中采取与上述类似的方式,进行正确检索名称的获取。

S302、对正确检索名称进行预处理,得到与各正确检索名称对应的意图检索名称和错误检索名称。

本步骤中,通过对正确检索名称进行预处理,以模拟用户在进行检索时可能输入的检索名称和错别字的可能情况,得到各正确检索名称对应的意图检索名称和错误检索名称。

在一种可能的实施方式中,本实施例中,对正确检索名称的预处理过程包括:

(1)对正确检索名称进行分词处理,得到原始地图名称的分词集合。

在对正确检索名称进行分词处理时,可以借助一些常用的中文分词工具,如自然语言处理与信息检索(natural language processing and information retrieval,NLPIR)、语言技术平台(language technology platform,LTP)、斯坦福分词器、jieba分词等。

(2)丢弃分词集合中的至少一个分词,对分词集合中的剩余的分词进行合并,得到意图检索名称。

本步骤中,由于用户在应用APP中输入检索名称时,可能并不会完全按照原始地理名称进行输入,通常只会输入简称或关键的几个词,为在这种情况下也能得到用户期望的检索结果,在进行模型训练时,需要将这些可能的名称也考虑在内。

示例性地,本步骤中,以词为单位,保持分词的顺序,按分词的顺序依次分别丢弃1个词、丢弃2个词,……,重新组合出新的名称,以得到更贴近用户实际输入的意图检索名称。

(3)对正确检索名称和意图检索名称中的字进行同音字或形近字替换,得到错误检索名称。

本步骤中,对于正确检索名称和意图检索名称中的每个字,分别采用其对应的同音字或形近字对其进行替换,得到包含错别字的错误检索名称。

具体地,可以根据预先整理得到的同音字表对原始地图名称和意图检索名称中的字逐一进行同音字替换,根据预先整理得到的形近字表对原始地图名称和意图检索名称中的字逐一进行形近字替换,得到包括至少一个形近字错误或至少一个同音字错误或既包括同音字错误又包括形近字错误的错误检索名称。

S303、根据正确检索名称、意图检索名称和错误检索名称,对预先构建的深度学习模型进行训练,得到错别字位置模型。

由于错别字位置模型中包括各正确检索名称、意图检索名称及错误检索名称与错别字位置标签的映射关系,因此,本步骤中,根据正确检索名称、意图检索名称和错误检索名称中错别字的位置,生成包括正确检索名称、意图检索名称、错误检索名称和错别字位置标签的第一训练数据集,采用第一训练数据集对深度学习模型进行训练,得到错别字位置模型。

其中,第一训练数据集,是通过为S301中获取的正确检索名称及S302中得到的意图检索名称和错误检索名称分别添加错别字位置标签,如0,1,2,……得到的,因此,第一训练数据集中包括正确检索名称、意图检索名称、错误检索名称和错别字位置标签。本步骤中,通过第一训练数据集对深度学习模型进行训练,可以得到错别字位置模型。

深度学习模型,可以是预先使用谷歌的TensorFlow框架提供的深度学习库构建得到的,为使训练得到的模型具有错别字位置识别或错别字类型识别的功能,可选地,构建的深度学习模型可以包括多层一维卷积层、池化层和全连接层。其中,多层一维卷积层和池化层用于提取名称数据的文本特征,全连接层用于学习检索名称与标签之间的映射关系。

具体地,在生成错别字位置模型时,深度学习模型中的多层一维卷积层和池化层用于提取第一训练数据集中检索名称(包括正确检索名称、意图检索名称和错误检索名称)的文本特征,全连接层用于学习检索名称(包括正确检索名称、意图检索名称和错误检索名称)与错别字位置标签之间的映射关系。

S304、根据错误检索名称,对预先构建的深度学习模型进行训练,得到错别字类型模型。

由于错别字类型模型中包括各错误检索名称与错别字类型标签的映射关系因此,本步骤中,根据错误检索名称中错别字的类型,生成包括错误检索名称和错别字类型标签的第二训练数据集,采用第二训练数据集分别对深度学习模型进行训练,得到错别字类型模型。第二训练数据集,是通过为S302中得到的错误检索名称添加错别字类型标签,如x,y得到的,因此,第二训练数据集中包括错误检索名称和错别字类型标签。本步骤中,通过第二训练数据集对深度学习模型进行训练,可以得到错别字类型模型。在生成错别字类型模型时,深度学习模型中的多层一维卷积层和池化层用于提取第二训练数据集中错误检索名称的文本特征,全连接层用于学习错误检索名称与错别字类型标签之间的映射关系。

可以理解的是,本实施例中,根据需要,也可以对错误检索名称进行分类以后,再分别进行错别字位置模型和错别字类型模型的训练,以得到多个错别字位置模型和多个错别字类型模型,在使用时,筛选出与用户输入的检索名称的特征对应的错别字位置模型和错别字类型模型进行纠错,以加快纠错速度。如根据错误检索名称的长度等进行错误检索名称的分类,得到对不同长度的输入检索名称进行纠错的不同错别字位置模型和错别字类型模型,如4字、5字、6字、……,每次纠错时,只需要找到与用户输入的检索名称的字数长度相匹配的错别字位置模型和错别字类型模型即可。

以“北京富力万丽酒店”为例,图8为本申请实施例三提供的错别字位置模型和错别字类型模型的训练流程示意图,如图8所示,训练与“北京富力万丽酒店”相关的错别字位置模型和错别字类型模型的流程包括:

①对“北京富力万丽酒店”,进行分词处理,得到分词集合{北京,富力,万丽,酒店};

②对分词集合中的分词进行重新组合,得到用户可能输入的检索名称,如:北京富力万丽酒店、北京富力万丽、富力万丽酒店、北京富力酒店、北京万丽酒店、北京富力、北京万丽、北京酒店、富力万丽、富力酒店、万丽酒店;

③对②中得到的检索名称进行同音字替换,得到同音字错误检索名称,如:被京富力万丽酒店、北经富力万丽酒店、北京福力万丽酒店、北京富立万丽酒店、北京富力萬丽酒店、北京富力万莉酒店、北京富力万丽玖店、北京富力万丽酒殿、贝京富力万丽、北景富力万丽、北京釜力万丽……;

④对②中得到的检索名称进行形近字替换,得到形近字错误检索名称,如:兆京富力万丽酒店、北亰富力万丽酒店、北京冨力万丽酒店、北京富刀万丽酒店、北京富力万酾酒店、北京富力万丽洒店、北京富力万丽酒扂……;

⑤对②、③和④中得到的检索名称进行错别字位置标注,得到第一训练数据集,如:北京富力万丽酒店:0、被京富力万丽酒店:1、北经富力万丽酒店:2、北京福力万丽酒店:3、北京富立万丽酒店:4、北京富力萬丽酒店:5、北京富力万莉酒店:6、北京富力万丽玖店:7、北京富力万丽酒殿:8、北京富力万丽:0、兆京富力万丽酒店:1、北亰富力万丽酒店:2、北京冨力万丽酒店:3、……;

⑥对③和④中得到的错误检索名称进行错别字类型标注,得到第二训练数据集,如:被京富力万丽酒店:x、北经富力万丽酒店:x、北京福力万丽酒店:x、北京富力萬丽酒店:x、北京富力万莉酒店:x、北京富力万丽玖店:x、兆京富力万丽酒店:y、北亰富力万丽酒店:y、北京冨力万丽酒店:y、北京富刀万丽酒店:y、北京富力万酾酒店:y、北京富力万丽酒扂:y、……;

⑦采用深度学习方式,利用⑤中得到的第一训练数据集对深度学习模型进行训练,得到错别字位置模型;

⑧采用深度学习方式,利用⑥中得到的第二训练数据集对深度学习模型进行训练,得到错别字类型模型。

本实施例中,通过获取正确检索名称,对正确检索名称进行预处理,得到与各正确检索名称对应的意图检索名称和错误检索名称;根据正确检索名称、意图检索名称和错误检索名称,对预先构建的深度学习模型进行训练,得到错别字位置模型;根据所述错误检索名称,对预先构建的深度学习模型进行训练,得到错别字类型模型,其中,错别字位置模型中包括各正确检索名称、意图检索名称及错误检索名称与错别字位置标签的映射关系,错别字类型模型中包括各错误检索名称与错别字类型标签的映射关系,通过使用本实施例中训练得到的错别字位置模型和错别字类型模型进行检索名称中错别字的纠正,可以提高纠错的准确率和效率,从而提升用户的使用体验。

实施例四

图9为本申请实施例四提供的检索名称的错别字纠正装置的结构示意图,如图9所示,本实施例中检索名称的错别字纠正装置10包括:

获取模块11、处理模块12和检索模块13。

其中,获取模块11,用于获取初始检索名称;

处理模块12,用于根据错别字位置模型和错别字类型模型,对所述初始检索名称进行处理,得到目标检索名称,所述错别字位置模型中包括各正确检索名称、意图检索名称及错误检索名称与错别字位置标签的映射关系,所述错别字类型模型中包括各错误检索名称与错别字类型标签的映射关系;

检索模块13,用于根据所述目标检索名称进行检索。

可选地,所述错别字位置标签用于反映检索名称中首个错别字的位置序号,所述错别字类型标签用于反映所述错误检索名称中首个错别字的类型,处理模块12具体用于:

采用错别字位置模型,对所述初始检索名称进行错别字位置推断,得到所述初始检索名称中错别字的第一位置标签;

若所述第一位置标签不为0,则采用错别字类型模型,对所述初始检索名称进行错别字类型推断,得到所述初始检索名称中错别字的第一类型标签;

根据所述第一位置标签和所述第一类型标签,对所述初始检索名称中错别字进行纠正,得到目标检索名称。

可选地,处理模块12具体用于:

确定所述初始检索名称中第一位置标签对应的第一错别字;

根据所述第一类型标签,对所述初始检索名称中的第一错别字进行替换,得到至少一个候选检索名称;

采用所述错别字位置模型,对所述至少一个候选检索名称进行错别字位置推断,得到所述至少一个候选检索名称的第二位置标签;

筛选出所述第二位置标签与所述第一位置标签不同的有效检索名称;

若所述有效检索名称的第二位置标签为0,则将所述有效检索名称确定为目标检索名称。

可选地,处理模块12还用于:

若所述有效检索名称的第二位置标签不为0,则采用错别字类型模型,对所述有效检索名称进行错别字类型推断,得到所述有效检索名称中错别字的第二类型标签;

根据所述第二位置标签和所述第二类型标签,对所述有效检索名称中错别字进行纠正,得到目标检索名称。

可选地,所述错别字类型标签包括同音字标签和形近字标签,处理模块12具体用于:

若所述第一类型标签为同音字标签,则根据所述第一错别字的同音字字表,对所述初始检索名称中的第一错别字进行替换,得到至少一个候选检索名称;

若所述第一类型标签为形近字标签,则根据所述第一错别字的形近字字表,对所述初始检索名称中的第一错别字进行替换,得到至少一个候选检索名称。

可选地,处理模块12还用于:

若所述第一位置标签为0,则将所述初始检索名称确定为目标检索名称。

可选地,获取模块11还用于:

获取正确检索名称;

处理模块12还用于:

对所述正确检索名称进行预处理,得到与各正确检索名称对应的意图检索名称和错误检索名称;

根据所述正确检索名称、所述意图检索名称和所述错误检索名称,对预先构建的深度学习模型进行训练,得到所述错别字位置模型;

根据所述错误检索名称,对预先构建的深度学习模型进行训练,得到所述错别字类型模型。

可选地,处理模块12具体用于:

根据所述正确检索名称、所述意图检索名称和所述错误检索名称中错别字的位置,生成包括所述错误检索名称、所述正确检索名称、所述意图检索名称和错别字位置标签的第一训练数据集;

采用所述第一训练数据集对所述深度学习模型进行训练,得到所述错别字位置模型。

可选地,处理模块12具体用于:

根据所述错误检索名称中错别字的类型,生成包括所述错误检索名称和错别字类型标签的第二训练数据集;

采用所述第二训练数据集对所述深度学习模型进行训练,得到所述错别字类型模型。

可选地,处理模块12具体用于:

对所述正确检索名称进行分词处理,得到所述正确检索名称的分词集合;

丢弃所述分词集合中的至少一个分词,对分词集合中的剩余的分词进行合并,得到意图检索名称;

对所述正确检索名称和所述意图检索名称中的字进行同音字或形近字替换,得到所述错误检索名称。

本实施例所提供的检索名称的错别字纠正装置可执行上述方法实施例所提供的检索名称的错别字纠正方法,具备执行方法相应的功能模块和有益效果。本实施例的实现原理和技术效果与上述方法实施例类似,此处不再一一赘述。

实施例五

图10为本申请实施例五提供的一种电子设备的结构示意图,如图10所示,该电子设备20包括存储器21、处理器22及存储在存储器上并可在处理器上运行的计算机程序;电子设备20处理器22的数量可以是一个或多个,图10中以一个处理器22为例;电子设备20中的处理器22、存储器21可以通过总线或其他方式连接,图10中以通过总线连接为例。

存储器21作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请实施例中的获取模块11和处理模块12对应的程序指令/模块。处理器22通过运行存储在存储器21中的软件程序、指令以及模块,从而执行设备/终端/服务器的各种功能应用以及数据处理,即实现上述的检索名称的错别字纠正方法。

存储器21可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器21可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器21可进一步包括相对于处理器22远程设置的存储器,这些远程存储器可以通过网格连接至执行设备/终端/服务器。上述网格的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

实施例六

本申请实施例六还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在由计算机处理器执行时用于执行一种检索名称的错别字纠正方法,该方法包括:

获取初始检索名称;

根据错别字位置模型和错别字类型模型,对所述初始检索名称进行处理,得到目标检索名称,所述错别字位置模型中包括各正确检索名称、意图检索名称及错误检索名称与错别字位置标签的映射关系,所述错别字类型模型中包括各错误检索名称与错别字类型标签的映射关系;

根据所述目标检索名称进行检索。

当然,本申请实施例所提供的一种包计算机可读存储介质,其计算机程序不限于如上所述的方法操作,还可以执行本申请任意实施例所提供的检索名称的错别字纠正方法中的相关操作。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本申请可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网格设备等)执行本申请各个实施例所述的方法。

值得注意的是,上述检索名称的错别字纠正装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。

注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。

相关技术
  • 检索名称的错别字纠正方法、装置、电子设备和存储介质
  • 企业名称检索方法、企业名称检索装置及终端设备
技术分类

06120113228706