CN111814455B - 搜索词纠错对构建方法、终端及存储介质 - Google Patents

搜索词纠错对构建方法、终端及存储介质 Download PDF

Info

Publication number
CN111814455B
CN111814455B CN202010617014.3A CN202010617014A CN111814455B CN 111814455 B CN111814455 B CN 111814455B CN 202010617014 A CN202010617014 A CN 202010617014A CN 111814455 B CN111814455 B CN 111814455B
Authority
CN
China
Prior art keywords
error correction
word segment
word
segment
pair
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.)
Active
Application number
CN202010617014.3A
Other languages
English (en)
Other versions
CN111814455A (zh
Inventor
王异秀
谭贤
邹若奇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An International Smart City Technology Co Ltd
Original Assignee
Ping An International Smart City Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An International Smart City Technology Co Ltd filed Critical Ping An International Smart City Technology Co Ltd
Priority to CN202010617014.3A priority Critical patent/CN111814455B/zh
Publication of CN111814455A publication Critical patent/CN111814455A/zh
Application granted granted Critical
Publication of CN111814455B publication Critical patent/CN111814455B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/232Orthographic correction, e.g. spell checking or vowelisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Document Processing Apparatus (AREA)
  • Machine Translation (AREA)

Abstract

本发明涉及人工智能技术领域,提供一种搜索词纠错对构建方法、终端及存储介质,包括:基于从文本语料库中筛选出的多个候选词语片段构建两颗编辑距离树;获取用户历史搜索的多个文本数据中的多个用户词语片段;针对每个用户词语片段,根据两颗编辑距离树查询出对应的目标词语片段,基于用户词语片段和目标词语片段构建多个词语片段纠错对及计算纠错分值;基于多个词语片段纠错对及纠错分值训练两个纠错对打分模型,从而从多个词语片段纠错对中识别出多个目标词语片段纠错对。本发明能够从海量数据中构建出多个词语片段纠错对,提高搜索效率。此外,本发明还涉及区块链技术领域,多个目标词语片段纠错对存储于区块链中。

Description

搜索词纠错对构建方法、终端及存储介质
技术领域
本发明涉及人工智能技术领域,具体涉及一种搜索词纠错对构建方法、终端及存储介质。
背景技术
搜索词纠错是自然语言处理的经典任务,在搜索任务中,对搜索词进行纠错可以提升搜索系统的召回指标,提升用户的搜索体验。搜索词纠错的算法一般通过获取纠错对的方式,通过检索获取、日志获取、平行语料对中抽取的方式。
然而,当需要在狭窄搜索领域中进行搜索时,用户往往存在一个非常明确的搜索意图,搜索的目标领域多为专有名词,与通用的语料数据具有很大的差距。在狭窄搜索领域下,传统的搜索词纠错方案直接进行应用可能存在如下问题:难以直接获取平行语料对,垂直领域搜索时用户搜索的关键词短小,搜索人名时可能出现拼音、字形都无法完全匹配的情况,传统的通过语料构建难以获得有效的平行语料;在搜索日志不够完备的情况下,也无法通过日志抽取潜在的纠错对;狭窄领域下含有大量专有名词,分词算法分出的词汇,不足以作为纠错的基本单位;狭窄领域下的专有名词搜索场景下,需要对一些传统语义下没有错误的词语进行纠错。如在狭窄领域内,有一个专有人名卢伟,用户搜索芦苇一词时,虽然芦苇也是一个正确的词语,但在当前搜索场景下,仍然需要被纠错。
因此,有必要提供一种针对狭窄搜索领域内的搜索词纠错对的获取方法,可以在无平行语料,无搜索日志的情况下,对各种专有名词,转义名词进行纠错,并保持纠错对构建的时效性。
发明内容
鉴于以上内容,有必要提出一种搜索词纠错对构建方法、终端及存储介质,能够从海量数据中构建出多个词语片段纠错对,提高搜索效率。
本发明的第一方面提供一种搜索词纠错对构建方法,所述方法包括:
利用新词发现算法计算出文本语料库中每个词语片段的邻接熵和凝固度并根据所述邻接熵和凝固度筛选出多个候选词语片段;
基于所述多个候选词语片段构建中文字形编辑距离树及构建中文拼音编辑距离树;
获取用户历史搜索的多个文本数据,并利用所述新词发现算法确定出所述多个文本数据中的多个用户词语片段;
针对每个用户词语片段,根据所述中文文字形编辑距离树及所述中文拼音编辑距离树查询出与所述用户词语片段对应的目标词语片段,并基于所述用户词语片段和所述目标词语片段构建多个词语片段纠错对;
计算每一个用户词语片段对应的词语片段纠错对的纠错分值;
基于所述多个词语片段纠错对及对应的纠错分值训练第一纠错对打分模型和第二纠错对打分模型;
通过所述第一纠错对打分模型和所述第二纠错对打分模型从所述多个词语片段纠错对中识别出多个目标词语片段纠错对。
根据本发明的一个可选的实施例,所述基于所述多个词语片段纠错对及对应的纠错分值训练第一纠错对打分模型和第二纠错对打分模型包括:
从所述多个词语片段纠错对中选取出第一预设数量的词语片段纠错对;
为所述第一预设数量的词语片段纠错对设置标识;
将所述第一预设数量的词语片段纠错对及对应的标识作为第一训练数据;
基于所述第一训练数据训练第一纠错对打分模型及训练第二纠错对打分模型;
从所述多个词语片段纠错对中选取出第二预设数量的词语片段纠错对输入至所述第一纠错对打分模型和第二纠错对打分模型中;
获取所述第一纠错对打分模型输出的第一预测纠错分值和所述第二纠错对打分模型输出的第二预测纠错分值;
计算所述第一预测纠错分值及对应的所述第二预测纠错分值之间的差值,并选取差值大于预设差值阈值的目标差值及获取所述目标差值对应的第一词语片段纠错对;
获取所述第一预测纠错分值及对应的所述第二预测纠错分值均小于预设分值阈值的第二词语片段纠错对;
将所述第一词语片段纠错对及所述第二词语片段纠错对添加至所述第一训练数据中得到第二训练数据,并基于所述第二训练数据重新训练所述第一纠错对打分模型和所述第二纠错对打分模型。
根据本发明的一个可选的实施例,所述利用中文新词发现算法计算出文本语料库中每个词语片段的邻接熵和凝固度并根据所述邻接熵和凝固度筛选出多个候选词语片段包括:
利用新词发现算法计算出文本语料库中每个词语片段的左邻接熵、右邻接熵和凝固度;
分别比较每个词语片段的所述左邻接熵、所述右邻接熵和所述凝固度是否大于预设阈值;
筛选出左邻接熵、右邻接熵且凝固度均大于所述预设阈值的词语片段并将筛选出的词语片段作为候选词语片段。
根据本发明的一个可选的实施例,所述基于所述候选词语片段构建中文字形编辑距离树包括:
随机选择一个候选词语片段作为中文字形编辑距离树的根节点;
计算其余任意一个候选词语片段与所述根节点处的候选词语片段之间的编辑距离;
判断是否存在与所述编辑距离相同的子节点;
当判断存在与所述编辑距离相同的子节点时,将所述子节点作为父节点并将所述其余候选词语片段作为所述父节点的子节点;
当判断不存在与所述编辑距离相同的子节点时,将所述根节点作为父节点并将所述其余候选词语片段作为所述父节点的子节点,
其中,所述父节点处的候选词语片段与对应的所述子节点处的候选词语片段之间的编辑距离作为所述父节点与所述子节点之间的边的权重。
根据本发明的一个可选的实施例,所述根据所述中文文字形编辑距离树及所述中文拼音编辑距离树查询出与所述用户词语片段对应的目标词语片段包括:
遍历所述多个候选词语片段并查询所述多个候选词语片段中是否存在与所述用户词语片段相同的目标词语片段;
当查询不存在与所述用户词语片段相同的目标词语片段时,从所述中文字形编辑距离树查询出与所述用户词语片段的编辑距离小于预设编辑距离阈值的目标词语片段,及从所述中文拼音编辑距离树查询出与所述用户词语片段的拼音的编辑距离小于预设编辑距离阈值的目标词语片段。
根据本发明的一个可选的实施例,所述计算每一个用户词语片段对应的词语片段纠错对的纠错分值包括:
针对每一个用户词语片段,调用动态规划算法根据所述中文字形编辑距离树和所述中文拼音编辑距离树获取出每一个词语片段纠错对的最优纠错路径;
根据多个预设规则计算出最优纠错路径上的每个目标词语片段的多个特征;
计算每个特征与对应的预设分值得到纠错分值。
根据本发明的一个可选的实施例,所述调用所述第一纠错对打分模型和所述第二纠错对打分模型从所述多个词语片段纠错对中识别出目标词语片段纠错对包括:
调用所述第一纠错对打分模型识别未打标识的词语片段纠错对的第一纠错分值;
调用所述第二纠错对打分模型识别未打标识的词语片段纠错对的第二纠错分值;
计算所述第一纠错分值与所述第二纠错分值的平均纠错分值,并将平均纠错分值最高的词语纠错片段作为所述用户词语片段对应的目标词语片段纠错对。
根据本发明的一个可选的实施例,所述方法还包括:
接收用户的搜索请求,所述搜索请求中携带有搜索词语片段;
将所述搜索词语片段与所述多个目标词语片段纠错对中的用户词语片段进行匹配,并在匹配成功时获取所述多个目标词语片段纠错对中的所述用户词语片段对应的目标词语片段;
以获取的目标词语片段为搜索关键词进行搜索得到搜索文本。
本发明的第二方面提供一种终端,所述终端包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现所述搜索词纠错对构建方法。
本发明的第三方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述搜索词纠错对构建方法。
综上所述,本发明所述的搜索词纠错对构建方法、终端及存储介质,通过为领域内或者社交圈内的文本预料库构建两个编辑距离树,并训练两个纠错对打分模型,来识别出词语片段纠错对,能够对在领域内有特殊含义、转义的词组提供潜在纠错方案;对于低词频的领域内特有词汇,如普通人的名字、低频事物名等,也可以给出其在当前领域文本中的潜在纠错方案;将字形特征,字音特征,键盘信息,词频信息进行整合,提高了训练半监督的纠错对打分模型计算纠错分值的准确性;本实施例无需海量数据,无需平行语料的构建,也不需要搜索埋点数据的支持,可以快速的计算出海量数据下的纠错方案,并提供在线更新功能。有效的纠错对构建可以提高用户的搜索体验,搜索效率越快,搜索质量越高,越有助于提升搜索系统的召回能力。
附图说明
图1是本发明实施例一提供的搜索词纠错对构建方法的流程图。
图2是本发明实施例二提供的搜索词纠错对构建装置的结构图。
图3是本发明实施例三提供的终端的结构示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
图1是本发明实施例一提供的搜索词纠错对构建方法的流程图。所述搜索词纠错对构建方法具体包括以下步骤,根据不同的需求,该流程图中步骤的顺序可以改变,某些可以省略。
S11,利用新词发现算法计算出文本语料库中每个词语片段的邻接熵和凝固度并根据所述邻接熵和凝固度筛选出多个候选词语片段。
本实施例中,可以先收集领域内或者社交圈内的所有文本片段,基于收集的文本片段构建文本语料库。不同的领域或者社交圈,由于关注的热点及话题性不同,其新词分布也不同,因此需要基于领域或者社交圈的文本语料库做新词发现,确定出文本语料库中的所有词语片段,才能实现更精确的文本语义分析及搜索。
在一个可选的实施例中,所述利用中文新词发现算法计算出文本语料库中每个词语片段的邻接熵和凝固度并根据所述邻接熵和凝固度筛选出多个候选词语片段包括:
利用新词发现算法计算出文本语料库中每个词语片段的左邻接熵、右邻接熵和凝固度;
分别比较每个词语片段的所述左邻接熵、所述右邻接熵和所述凝固度是否大于预设阈值;
筛选出左邻接熵、右邻接熵且凝固度均大于所述预设阈值的词语片段并将筛选出的词语片段作为候选词语片段。
该可选的实施例中,凝固度用来衡量候选新词单独出现的频次,频次越高,表明其成词的概率就越高。邻接熵用来衡量候选新词的左右邻接字符的不确定性,其不确定性越大,说明其邻接字符包含的信息越多,其成词的概率就越高。若某个词语片段的左邻接熵、右邻接熵和凝固度都大于预先设置的阈值,说明该词语片段越有可能成为领域或者社交圈内的专有名词,则保留该词语片段;若某个词语片段的左邻接熵、右邻接熵和凝固度不都大于预先设置的阈值,说明该词语片段越成为领域或者社交圈内的专有名词的可能性较低,则删除该词语片段。通过每个词语片段的邻接熵和凝固度来过滤和筛选词语片段,能够有效的筛选出候选词语片段。新词发现算法为现有技术,本发明不详细介绍如何通过新词发现算法计算每个词语片段的左邻接熵、右邻接熵及凝固度。
S12,基于所述多个候选词语片段构建中文字形编辑距离树及构建中文拼音编辑距离树。
编辑距离用来判断两个字符串之间的相似度,字符串A到B的编辑距离是指:只用插入、删除和替换三种操作,最少需要多少步可以把字符串A变成字符串B。例如,从字符串FAME到字符串GATE需要两步(两次替换),从字符串GAME到字符串ACM则需要三步(删除G和E再添加C)。
在一个可选的实施例中,所述基于所述候选词语片段构建中文字形编辑距离树包括:
随机选择一个候选词语片段作为中文字形编辑距离树的根节点;
计算其余任意一个候选词语片段与所述根节点处的候选词语片段之间的编辑距离;
判断是否存在与所述编辑距离相同的子节点;
当判断存在与所述编辑距离相同的子节点时,将所述子节点作为父节点并将所述其余候选词语片段作为所述父节点的子节点;
当判断不存在与所述编辑距离相同的子节点时,将所述根节点作为父节点并将所述其余候选词语片段作为所述父节点的子节点,
其中,所述父节点处的候选词语片段与对应的所述子节点处的候选词语片段之间的编辑距离作为所述父节点与所述子节点之间的边的权重。
该可选的实施例中,从筛选出的多个候选词语片段里面随机选择一个候选词语片段作为根(root)节点,然后计算选择的候选词语片段与其他候选词语片段之间的编辑距离n。若已有相同编辑距离n的子节点,就挂在子节点下;若没有,就新建一个边为n的子节点。如此递归下去,直至将所有的候选词语片段都映射到中文字形编辑距离树上。
需要说明的是,基于所述候选词语片段构建中文拼音编辑距离树,需要先获取每个候选词语片段的中文拼音,然后按照构建中文字形编辑距离树相同的过程构建中文拼音编辑距离树。构建中文拼音编辑距离树的具体过程,本文不再详细阐述。
S13,获取用户历史搜索的多个文本数据,并利用所述新词发现算法确定出所述多个文本数据中的多个用户词语片段。
对于用户历史搜索过的文本数据利用新词发现算法计算出文本数据中每个词语片段的左邻接熵、右邻接熵和凝固度,然后筛选出左邻接熵、右邻接熵且凝固度均大于所述预设阈值的词语片段并将筛选出的词语片段作为用户词语片段。
S14,针对每个用户词语片段,根据所述中文文字形编辑距离树及所述中文拼音编辑距离树查询出与所述用户词语片段对应的目标词语片段,并基于所述用户词语片段和所述目标词语片段构建多个词语片段纠错对。
针对每个用户词语片段,从多个目标词语片段中查询出所有可能的目标词语片段作为用户词语片段的纠错词语片段,从而基于用户词语片段和纠错词语片段构建出词语片段纠错对。
在一个可选的实施例中,所述根据所述中文文字形编辑距离树及所述中文拼音编辑距离树查询出与所述用户词语片段对应的目标词语片段包括:
遍历所述多个候选词语片段并查询所述多个候选词语片段中是否存在与所述用户词语片段相同的目标词语片段;
当查询不存在与所述用户词语片段相同的目标词语片段时,从所述中文字形编辑距离树查询出与所述用户词语片段的编辑距离小于预设编辑距离阈值的目标词语片段,及从所述中文拼音编辑距离树查询出与所述用户词语片段的拼音的编辑距离小于预设编辑距离阈值的目标词语片段。
该可选的实施例中,遍历多个候选词语片段,如果多个候选词语片段中不存在与用户词语片段相同的词语片段,则通过构建的中文文字形编辑距离树及中文拼音编辑距离树,分别获取与用户词语片段的字形编辑距离及拼音编辑距离小于预设编辑距离阈值(例如,3)的所有可能的目标词语片段,作为纠错片段。
基于用户词语片段和目标词语片段构建词语片段纠错对(source_word,target_word),其中,source_word代表用户词语片段,target_word代表目标词语片段。
S15,计算每一个用户词语片段对应的词语片段纠错对的纠错分值。
每一个用户词语片段对应多个词语片段纠错对,针对每一个用户词语片段,需要计算出每一个词语片段纠错对的纠错分值,从而根据纠错分值训练出纠错模型,并通过训练出的纠错模型识别出词语片段纠错对的纠错分值。
在一个可选的实施例中,所述计算每一个用户词语片段对应的词语片段纠错对的纠错分值包括:
针对每一个用户词语片段,调用动态规划算法根据所述中文字形编辑距离树和所述中文拼音编辑距离树获取出每一个词语片段纠错对的最优纠错路径;
根据多个预设规则计算出最优纠错路径上的每个目标词语片段的多个特征;
计算每个特征与对应的预设分值得到纠错分值。
该可选的实施例中,对每一个词语片段纠错对,通过动态规划算法获取一条最优纠错路径,计算出最优纠错路径上进行了哪些中文字符的增加、删除、替换;以及进行了哪些拼音的增加、删除、替换等,将最优纠错路径上的所有这些特征收集起来作为所述词语片段纠错对的特征。
所述预设规则可以包括以下一种或多种的组合:中文简体字形,繁体字形,字符的TF-IDF值,拼音字母在键盘上的距离,并考虑到中文拼音的独有特征设计规则,计算target_word在特定领域和广义搜索语料中的词频,把以上所有特征收集起来作为该纠错对的特征。
IDF表征了新词在文本中出现的次数,如果出现的频次越高,说明这个新词在不同的环境中出现的概率更高,IDF越高,说明认可度越高,越有可能是新词。但是如果IDF非常高,反而代表这个新词非常普通,不一定进入到新词库中,尤其是为了防止造成新词污染,影响词的原子性。
S16,基于所述多个词语片段纠错对及对应的纠错分值训练第一纠错对打分模型和第二纠错对打分模型。
在一个可选的实施例中,所述基于所述多个词语片段纠错对及对应的纠错分值训练第一纠错对打分模型和第二纠错对打分模型包括:
从所述多个词语片段纠错对中选取出第一预设数量的词语片段纠错对;
为所述第一预设数量的词语片段纠错对设置标识;
将所述第一预设数量的词语片段纠错对及对应的标识作为第一训练数据;
基于所述第一训练数据训练第一纠错对打分模型及训练第二纠错对打分模型;
从所述多个词语片段纠错对中选取出第二预设数量的词语片段纠错对输入至所述第一纠错对打分模型和第二纠错对打分模型中;
获取所述第一纠错对打分模型输出的第一预测纠错分值和所述第二纠错对打分模型输出的第二预测纠错分值;
计算所述第一预测纠错分值及对应的所述第二预测纠错分值之间的差值,并选取差值大于预设差值阈值的目标差值及获取所述目标差值对应的第一词语片段纠错对;
获取所述第一预测纠错分值及对应的所述第二预测纠错分值均小于预设分值阈值的第二词语片段纠错对;
将所述第一词语片段纠错对及所述第二词语片段纠错对添加至所述第一训练数据中得到第二训练数据,并基于所述第二训练数据重新训练所述第一纠错对打分模型和所述第二纠错对打分模型。
该可选的实施例中,选取少量的词语片段纠错对并打上标识,随后分别使用SVM算法基于已打上标识的词语片段纠错对训练第一纠错对打分模型和使用xgboost算法基于已打上标识的词语片段纠错对训练第二纠错对打分模型,并把两个纠错对打分模型应用于所有的未打上标识的词语片段纠错对中,选取两个纠错对打分模型下预测纠错分值差异大于预设差值阈值(例如0.3)的词语片段纠错对作为新标注的词语片段纠错对,并将新标注的词语片段纠错对及两个纠错对打分模型的预测纠错分值小于预设分值阈值(例如0.05)的词语片段纠错对加入已标注的词语片段纠错对中。通过数轮的半监督迭代训练,获得最终的词语片段纠错对打分模型。
通过从所述多个词语片段纠错对中选取出少量的词语片段纠错对并打上标识,然后迭代训练两个不同的纠错对打分模型,来完成对所有词语片段纠错对的打分,速度较快。
S17,通过所述第一纠错对打分模型和所述第二纠错对打分模型从所述多个词语片段纠错对中识别出多个目标词语片段纠错对。
对于未打标识的词语片段纠错对,即可调用训练好的两个纠错对打分模型(所述第一纠错对打分模型和所述第二纠错对打分模型)进行识别,从而根据识别结果确定出多个目标词语片段纠错对,基于所述多个目标词语片段纠错对构建纠错对数据库,作为对用户的搜索进行纠错的数据来源。
在一个可选的实施例中,所述调用所述第一纠错对打分模型和所述第二纠错对打分模型从所述多个词语片段纠错对中识别出目标词语片段纠错对包括:
调用所述第一纠错对打分模型识别未打标识的词语片段纠错对的第一纠错分值;
调用所述第二纠错对打分模型识别未打标识的词语片段纠错对的第二纠错分值;
计算所述第一纠错分值与所述第二纠错分值的平均纠错分值,并将平均纠错分值最高的词语纠错片段作为所述用户词语片段对应的目标词语片段纠错对。
该可选的实施例中,对于每一个用户词语片段(source_word)的多个词语片段纠错对中,调用两个纠错打分模型对每一个词语片段纠错对进行打分并计算出两个纠错打分模型的打分均值最高的词语片段纠错对作为所述用户词语片段的目标词语片段纠错对。平均纠错分值最高,表明词语片段纠错对中的两个词语片段的相似度最高,词语片段纠错对中的目标词语片段最有可能是对应用户词语片段的正确片段。
在一个可选的实施例中,所述方法还包括:
接收用户的搜索请求,所述搜索请求中携带有搜索词语片段;
将所述搜索词语片段与所述多个目标词语片段纠错对中的用户词语片段进行匹配,并在匹配成功时获取所述多个目标词语片段纠错对中的所述用户词语片段对应的目标词语片段;
以获取的目标词语片段为搜索关键词进行搜索得到搜索文本。
该可选的实施例中,用户需要搜索文本时,输入搜索词语片段,通过识别出的词语片段纠错对即可匹配出正确的目标词语片段,进而根据匹配出的目标词语片段搜素文本,能够提高搜素的成功率及响应率。
需要说明的是,当将所述搜索词语片段与所述多个目标词语片段纠错对中的用户词语片段匹配失败时,则可以执行步骤S13-S17,为搜索词语片段识别出纠错词语片段并构建词语片段纠错对,便于后续再次接收到同一个搜素词语片段时,能够快速的匹配出纠错词语片段,从而快速的响应用户的搜索请求,提升用户的搜索体验。
综上所述,本实施例中通过为领域内或者社交圈内的文本预料库构建两个编辑距离树,并训练两个纠错对打分模型,来识别出词语片段纠错对,能够对在领域内有特殊含义、转义的词组提供潜在纠错方案;对于低词频的领域内特有词汇,如普通人的名字、低频事物名等,也可以给出其在当前领域文本中的潜在纠错方案;将字形特征,字音特征,键盘信息,词频信息进行整合,提高了训练半监督的纠错对打分模型计算纠错分值的准确性;本实施例无需海量数据,无需平行语料的构建,也不需要搜索埋点数据的支持,可以快速的计算出海量数据下的纠错方案,并提供在线更新功能。有效的纠错对构建可以提高用户的搜索体验,搜索效率越快,搜索质量越高,越有助于提升搜索系统的召回能力。
需要强调的是,为进一步保证上述多个目标词语片段纠错对的私密性和安全性,上述多个目标词语片段纠错对可存储于区块链的节点中。
图2是本发明实施例二提供的搜索词纠错对构建装置的结构图。
在一些实施例中,所述搜索词纠错对构建装置20可以包括多个由计算机程序段所组成的功能模块。所述搜索词纠错对构建装置20中的各个程序段的计算机程序可以存储于终端的存储器中,并由所述至少一个处理器所执行,以执行(详见图1描述)基于人工智能的搜索词纠错对建立的功能。
本实施例中,所述搜索词纠错对构建装置20根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:筛选模块201、构建模块202、获取模块203、查询模块204、计算模块205、训练模块206、识别模块207及搜索模块208。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在本实施例中,关于各模块的功能将在后续的实施例中详述。
所述筛选模块201,用于利用新词发现算法计算出文本语料库中每个词语片段的邻接熵和凝固度并根据所述邻接熵和凝固度筛选出多个候选词语片段。
本实施例中,可以先收集领域内或者社交圈内的所有文本片段,基于收集的文本片段构建文本语料库。不同的领域或者社交圈,由于关注的热点及话题性不同,其新词分布也不同,因此需要基于领域或者社交圈的文本语料库做新词发现,确定出文本语料库中的所有词语片段,才能实现更精确的文本语义分析及搜索。
在一个可选的实施例中,所述筛选模块201利用中文新词发现算法计算出文本语料库中每个词语片段的邻接熵和凝固度并根据所述邻接熵和凝固度筛选出多个候选词语片段包括:
利用新词发现算法计算出文本语料库中每个词语片段的左邻接熵、右邻接熵和凝固度;
分别比较每个词语片段的所述左邻接熵、所述右邻接熵和所述凝固度是否大于预设阈值;
筛选出左邻接熵、右邻接熵且凝固度均大于所述预设阈值的词语片段并将筛选出的词语片段作为候选词语片段。
该可选的实施例中,凝固度用来衡量候选新词单独出现的频次,频次越高,表明其成词的概率就越高。邻接熵用来衡量候选新词的左右邻接字符的不确定性,其不确定性越大,说明其邻接字符包含的信息越多,其成词的概率就越高。若某个词语片段的左邻接熵、右邻接熵和凝固度都大于预先设置的阈值,说明该词语片段越有可能成为领域或者社交圈内的专有名词,则保留该词语片段;若某个词语片段的左邻接熵、右邻接熵和凝固度不都大于预先设置的阈值,说明该词语片段越成为领域或者社交圈内的专有名词的可能性较低,则删除该词语片段。通过每个词语片段的邻接熵和凝固度来过滤和筛选词语片段,能够有效的筛选出候选词语片段。新词发现算法为现有技术,本发明不详细介绍如何通过新词发现算法计算每个词语片段的左邻接熵、右邻接熵及凝固度。
所述构建模块202,用于基于所述多个候选词语片段构建中文字形编辑距离树及构建中文拼音编辑距离树。
编辑距离用来判断两个字符串之间的相似度,字符串A到B的编辑距离是指:只用插入、删除和替换三种操作,最少需要多少步可以把字符串A变成字符串B。例如,从字符串FAME到字符串GATE需要两步(两次替换),从字符串GAME到字符串ACM则需要三步(删除G和E再添加C)。
在一个可选的实施例中,所述构建模块202基于所述候选词语片段构建中文字形编辑距离树包括:
随机选择一个候选词语片段作为中文字形编辑距离树的根节点;
计算其余任意一个候选词语片段与所述根节点处的候选词语片段之间的编辑距离;
判断是否存在与所述编辑距离相同的子节点;
当判断存在与所述编辑距离相同的子节点时,将所述子节点作为父节点并将所述其余候选词语片段作为所述父节点的子节点;
当判断不存在与所述编辑距离相同的子节点时,将所述根节点作为父节点并将所述其余候选词语片段作为所述父节点的子节点,
其中,所述父节点处的候选词语片段与对应的所述子节点处的候选词语片段之间的编辑距离作为所述父节点与所述子节点之间的边的权重。
该可选的实施例中,从筛选出的多个候选词语片段里面随机选择一个候选词语片段作为根(root)节点,然后计算选择的候选词语片段与其他候选词语片段之间的编辑距离n。若已有相同编辑距离n的子节点,就挂在子节点下;若没有,就新建一个边为n的子节点。如此递归下去,直至将所有的候选词语片段都映射到中文字形编辑距离树上。
需要说明的是,基于所述候选词语片段构建中文拼音编辑距离树,需要先获取每个候选词语片段的中文拼音,然后按照构建中文字形编辑距离树相同的过程构建中文拼音编辑距离树。构建中文拼音编辑距离树的具体过程,本文不再详细阐述。
所述获取模块203,用于获取用户历史搜索的多个文本数据,并利用所述新词发现算法确定出所述多个文本数据中的多个用户词语片段。
对于用户历史搜索过的文本数据利用新词发现算法计算出文本数据中每个词语片段的左邻接熵、右邻接熵和凝固度,然后筛选出左邻接熵、右邻接熵且凝固度均大于所述预设阈值的词语片段并将筛选出的词语片段作为用户词语片段。
所述查询模块204,用于针对每个用户词语片段,根据所述中文文字形编辑距离树及所述中文拼音编辑距离树查询出与所述用户词语片段对应的目标词语片段,并基于所述用户词语片段和所述目标词语片段构建多个词语片段纠错对。
针对每个用户词语片段,从多个目标词语片段中查询出所有可能的目标词语片段作为用户词语片段的纠错词语片段,从而基于用户词语片段和纠错词语片段构建出词语片段纠错对。
在一个可选的实施例中,所述查询模块204根据所述中文文字形编辑距离树及所述中文拼音编辑距离树查询出与所述用户词语片段对应的目标词语片段包括:
遍历所述多个候选词语片段并查询所述多个候选词语片段中是否存在与所述用户词语片段相同的目标词语片段;
当查询不存在与所述用户词语片段相同的目标词语片段时,从所述中文字形编辑距离树查询出与所述用户词语片段的编辑距离小于预设编辑距离阈值的目标词语片段,及从所述中文拼音编辑距离树查询出与所述用户词语片段的拼音的编辑距离小于预设编辑距离阈值的目标词语片段。
该可选的实施例中,遍历多个候选词语片段,如果多个候选词语片段中不存在与用户词语片段相同的词语片段,则通过构建的中文文字形编辑距离树及中文拼音编辑距离树,分别获取与用户词语片段的字形编辑距离及拼音编辑距离小于预设编辑距离阈值(例如,3)的所有可能的目标词语片段,作为纠错片段。
基于用户词语片段和目标词语片段构建词语片段纠错对(source_word,target_word),其中,source_word代表用户词语片段,target_word代表目标词语片段。
所述计算模块205,用于计算每一个用户词语片段对应的词语片段纠错对的纠错分值。
每一个用户词语片段对应多个词语片段纠错对,针对每一个用户词语片段,需要计算出每一个词语片段纠错对的纠错分值,从而根据纠错分值训练出纠错模型,并通过训练出的纠错模型识别出词语片段纠错对的纠错分值。
在一个可选的实施例中,所述计算模块205计算每一个用户词语片段对应的词语片段纠错对的纠错分值包括:
针对每一个用户词语片段,调用动态规划算法根据所述中文字形编辑距离树和所述中文拼音编辑距离树获取出每一个词语片段纠错对的最优纠错路径;
根据多个预设规则计算出最优纠错路径上的每个目标词语片段的多个特征;
计算每个特征与对应的预设分值得到纠错分值。
该可选的实施例中,对每一个词语片段纠错对,通过动态规划算法获取一条最优纠错路径,计算出最优纠错路径上进行了哪些中文字符的增加、删除、替换;以及进行了哪些拼音的增加、删除、替换等,将最优纠错路径上的所有这些特征收集起来作为所述词语片段纠错对的特征。
所述预设规则可以包括以下一种或多种的组合:中文简体字形,繁体字形,字符的TF-IDF值,拼音字母在键盘上的距离,并考虑到中文拼音的独有特征设计规则,计算target_word在特定领域和广义搜索语料中的词频,把以上所有特征收集起来作为该纠错对的特征。
IDF表征了新词在文本中出现的次数,如果出现的频次越高,说明这个新词在不同的环境中出现的概率更高,IDF越高,说明认可度越高,越有可能是新词。但是如果IDF非常高,反而代表这个新词非常普通,不一定进入到新词库中,尤其是为了防止造成新词污染,影响词的原子性。
所述训练模块206,用于基于所述多个词语片段纠错对及对应的纠错分值训练第一纠错对打分模型和第二纠错对打分模型。
在一个可选的实施例中,所述训练模块206基于所述多个词语片段纠错对及对应的纠错分值训练第一纠错对打分模型和第二纠错对打分模型包括:
从所述多个词语片段纠错对中选取出第一预设数量的词语片段纠错对;
为所述第一预设数量的词语片段纠错对设置标识;
将所述第一预设数量的词语片段纠错对及对应的标识作为第一训练数据;
基于所述第一训练数据训练第一纠错对打分模型及训练第二纠错对打分模型;
从所述多个词语片段纠错对中选取出第二预设数量的词语片段纠错对输入至所述第一纠错对打分模型和第二纠错对打分模型中;
获取所述第一纠错对打分模型输出的第一预测纠错分值和所述第二纠错对打分模型输出的第二预测纠错分值;
计算所述第一预测纠错分值及对应的所述第二预测纠错分值之间的差值,并选取差值大于预设差值阈值的目标差值及获取所述目标差值对应的第一词语片段纠错对;
获取所述第一预测纠错分值及对应的所述第二预测纠错分值均小于预设分值阈值的第二词语片段纠错对;
将所述第一词语片段纠错对及所述第二词语片段纠错对添加至所述第一训练数据中得到第二训练数据,并基于所述第二训练数据重新训练所述第一纠错对打分模型和所述第二纠错对打分模型。
该可选的实施例中,选取少量的词语片段纠错对并打上标识,随后分别使用SVM算法基于已打上标识的词语片段纠错对训练第一纠错对打分模型和使用xgboost算法基于已打上标识的词语片段纠错对训练第二纠错对打分模型,并把两个纠错对打分模型应用于所有的未打上标识的词语片段纠错对中,选取两个纠错对打分模型下预测纠错分值差异大于预设差值阈值(例如0.3)的词语片段纠错对作为新标注的词语片段纠错对,并将新标注的词语片段纠错对及两个纠错对打分模型的预测纠错分值小于预设分值阈值(例如0.05)的词语片段纠错对加入已标注的词语片段纠错对中。通过数轮的半监督迭代训练,获得最终的词语片段纠错对打分模型。
通过从所述多个词语片段纠错对中选取出少量的词语片段纠错对并打上标识,然后迭代训练两个不同的纠错对打分模型,来完成对所有词语片段纠错对的打分,速度较快。
所述识别模块207,用于通过所述第一纠错对打分模型和所述第二纠错对打分模型从所述多个词语片段纠错对中识别出多个目标词语片段纠错对。
对于未打标识的词语片段纠错对,即可调用训练好的两个纠错对打分模型(所述第一纠错对打分模型和所述第二纠错对打分模型)进行识别,从而根据识别结果确定出多个目标词语片段纠错对,基于所述多个目标词语片段纠错对构建纠错对数据库,作为对用户的搜索进行纠错的数据来源。
在一个可选的实施例中,所述识别模块207调用所述第一纠错对打分模型和所述第二纠错对打分模型从所述多个词语片段纠错对中识别出目标词语片段纠错对包括:
调用所述第一纠错对打分模型识别未打标识的词语片段纠错对的第一纠错分值;
调用所述第二纠错对打分模型识别未打标识的词语片段纠错对的第二纠错分值;
计算所述第一纠错分值与所述第二纠错分值的平均纠错分值,并将平均纠错分值最高的词语纠错片段作为所述用户词语片段对应的目标词语片段纠错对。
该可选的实施例中,对于每一个用户词语片段(source_word)的多个词语片段纠错对中,调用两个纠错打分模型对每一个词语片段纠错对进行打分并计算出两个纠错打分模型的打分均值最高的词语片段纠错对作为所述用户词语片段的目标词语片段纠错对。平均纠错分值最高,表明词语片段纠错对中的两个词语片段的相似度最高,词语片段纠错对中的目标词语片段最有可能是对应用户词语片段的正确片段。
所述搜索模块208,用于接收用户的搜索请求,所述搜索请求中携带有搜索词语片段;将所述搜索词语片段与所述多个目标词语片段纠错对中的用户词语片段进行匹配,并在匹配成功时获取所述多个目标词语片段纠错对中的所述用户词语片段对应的目标词语片段;以获取的目标词语片段为搜索关键词进行搜索得到搜索文本。
该可选的实施例中,用户需要搜索文本时,输入搜索词语片段,通过识别出的词语片段纠错对即可匹配出正确的目标词语片段,进而根据匹配出的目标词语片段搜素文本,能够提高搜素的成功率及响应率。
需要说明的是,当将所述搜索词语片段与所述多个目标词语片段纠错对中的用户词语片段匹配失败时,则可以执行步骤S13-S17,为搜索词语片段识别出纠错词语片段并构建词语片段纠错对,便于后续再次接收到同一个搜素词语片段时,能够快速的匹配出纠错词语片段,从而快速的响应用户的搜索请求,提升用户的搜索体验。
综上所述,本实施例中通过为领域内或者社交圈内的文本预料库构建两个编辑距离树,并训练两个纠错对打分模型,来识别出词语片段纠错对,能够对在领域内有特殊含义、转义的词组提供潜在纠错方案;对于低词频的领域内特有词汇,如普通人的名字、低频事物名等,也可以给出其在当前领域文本中的潜在纠错方案;将字形特征,字音特征,键盘信息,词频信息进行整合,提高了训练半监督的纠错对打分模型计算纠错分值的准确性;本实施例无需海量数据,无需平行语料的构建,也不需要搜索埋点数据的支持,可以快速的计算出海量数据下的纠错方案,并提供在线更新功能。有效的纠错对构建可以提高用户的搜索体验,搜索效率越快,搜索质量越高,越有助于提升搜索系统的召回能力。
需要强调的是,为进一步保证上述多个目标词语片段纠错对的私密性和安全性,上述多个目标词语片段纠错对可存储于区块链的节点中。
参阅图3所示,为本发明实施例三提供的终端的结构示意图。在本发明较佳实施例中,所述终端3包括存储器31、至少一个处理器32、至少一条通信总线33及收发器34。
本领域技术人员应该了解,图3示出的终端的结构并不构成本发明实施例的限定,既可以是总线型结构,也可以是星形结构,所述终端3还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置。
在一些实施例中,所述终端3是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的终端,其硬件包括但不限于微处理器、专用集成电路、可编程门阵列、数字处理器及嵌入式设备等。所述终端3还可包括客户设备,所述客户设备包括但不限于任何一种可与客户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、数码相机等。
需要说明的是,所述终端3仅为举例,其他现有的或今后可能出现的电子产品如可适应于本发明,也应包含在本发明的保护范围以内,并以引用方式包含于此。
在一些实施例中,所述存储器31中存储有计算机程序,所述计算机程序被所述至少一个处理器32执行时实现如所述的搜索词纠错对构建方法中的全部或者部分步骤。所述存储器31包括只读存储器(Read-Only Memory,ROM)、可编程只读存储器(ProgrammableRead-Only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-OnlyMemory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子擦除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
在一些实施例中,所述至少一个处理器32是所述终端3的控制核心(ControlUnit),利用各种接口和线路连接整个终端3的各个部件,通过运行或执行存储在所述存储器31内的程序或者模块,以及调用存储在所述存储器31内的数据,以执行终端3的各种功能和处理数据。例如,所述至少一个处理器32执行所述存储器中存储的计算机程序时实现本发明实施例中所述的搜索词纠错对构建方法的全部或者部分步骤;或者实现搜索词纠错对构建装置的全部或者部分功能。所述至少一个处理器32可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。
在一些实施例中,所述至少一条通信总线33被设置为实现所述存储器31以及所述至少一个处理器32等之间的连接通信。
尽管未示出,所述终端3还可以包括给各个部件供电的电源(比如电池),优选的,电源可以通过电源管理装置与所述至少一个处理器32逻辑相连,从而通过电源管理装置实现管理充电、放电、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述终端3还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (9)

1.一种搜索词纠错对构建方法,其特征在于,所述方法包括:
利用新词发现算法计算出文本语料库中每个词语片段的邻接熵和凝固度并根据所述邻接熵和凝固度筛选出多个候选词语片段;
基于所述多个候选词语片段构建中文字形编辑距离树及构建中文拼音编辑距离树;
获取用户历史搜索的多个文本数据,并利用所述新词发现算法确定出所述多个文本数据中的多个用户词语片段;
针对每个用户词语片段,根据所述中文字形编辑距离树及所述中文拼音编辑距离树查询出与所述用户词语片段对应的目标词语片段,并基于所述用户词语片段和所述目标词语片段构建多个词语片段纠错对;
计算每一个用户词语片段对应的词语片段纠错对的纠错分值;
基于所述多个词语片段纠错对及对应的纠错分值训练第一纠错对打分模型和第二纠错对打分模型,包括:从所述多个词语片段纠错对中选取出第一预设数量的词语片段纠错对;为所述第一预设数量的词语片段纠错对设置标识;将所述第一预设数量的词语片段纠错对及对应的标识作为第一训练数据;基于所述第一训练数据训练第一纠错对打分模型及训练第二纠错对打分模型;从所述多个词语片段纠错对中选取出第二预设数量的词语片段纠错对输入至所述第一纠错对打分模型和第二纠错对打分模型中;获取所述第一纠错对打分模型输出的第一预测纠错分值和所述第二纠错对打分模型输出的第二预测纠错分值;计算所述第一预测纠错分值及对应的所述第二预测纠错分值之间的差值,并选取差值大于预设差值阈值的目标差值及获取所述目标差值对应的第一词语片段纠错对;获取所述第一预测纠错分值及对应的所述第二预测纠错分值均小于预设分值阈值的第二词语片段纠错对;将所述第一词语片段纠错对及所述第二词语片段纠错对添加至所述第一训练数据中得到第二训练数据,并基于所述第二训练数据重新训练所述第一纠错对打分模型和所述第二纠错对打分模型;
通过所述第一纠错对打分模型和所述第二纠错对打分模型从所述多个词语片段纠错对中识别出多个目标词语片段纠错对。
2.如权利要求1所述的搜索词纠错对构建方法,其特征在于,所述利用新词发现算法计算出文本语料库中每个词语片段的邻接熵和凝固度并根据所述邻接熵和凝固度筛选出多个候选词语片段包括:
利用新词发现算法计算出文本语料库中每个词语片段的左邻接熵、右邻接熵和凝固度;
分别比较每个词语片段的所述左邻接熵、所述右邻接熵和所述凝固度是否大于预设阈值;
筛选出左邻接熵、右邻接熵且凝固度均大于所述预设阈值的词语片段并将筛选出的词语片段作为候选词语片段。
3.如权利要求1所述的搜索词纠错对构建方法,其特征在于,所述基于所述候选词语片段构建中文字形编辑距离树包括:
随机选择一个候选词语片段作为中文字形编辑距离树的根节点;
计算其余任意一个候选词语片段与所述根节点处的候选词语片段之间的编辑距离;
判断是否存在与所述编辑距离相同的子节点;
当判断存在与所述编辑距离相同的子节点时,将所述子节点作为父节点并将其余候选词语片段作为所述父节点的子节点;
当判断不存在与所述编辑距离相同的子节点时,将所述根节点作为父节点并将其余候选词语片段作为所述父节点的子节点,
其中,所述父节点处的候选词语片段与对应的所述子节点处的候选词语片段之间的编辑距离作为所述父节点与所述子节点之间的边的权重。
4.如权利要求1所述的搜索词纠错对构建方法,其特征在于,所述根据所述中文字形编辑距离树及所述中文拼音编辑距离树查询出与所述用户词语片段对应的目标词语片段包括:
遍历所述多个候选词语片段并查询所述多个候选词语片段中是否存在与所述用户词语片段相同的目标词语片段;
当查询不存在与所述用户词语片段相同的目标词语片段时,从所述中文字形编辑距离树查询出与所述用户词语片段的编辑距离小于预设编辑距离阈值的目标词语片段,及从所述中文拼音编辑距离树查询出与所述用户词语片段的拼音的编辑距离小于预设编辑距离阈值的目标词语片段。
5.如权利要求1所述的搜索词纠错对构建方法,其特征在于,所述计算每一个用户词语片段对应的词语片段纠错对的纠错分值包括:
针对每一个用户词语片段,调用动态规划算法根据所述中文字形编辑距离树和所述中文拼音编辑距离树获取出每一个词语片段纠错对的最优纠错路径;
根据多个预设规则计算出最优纠错路径上的每个目标词语片段的多个特征;
计算每个特征与对应的预设分值得到纠错分值。
6.如权利要求1所述的搜索词纠错对构建方法,其特征在于,所述通过所述第一纠错对打分模型和所述第二纠错对打分模型从所述多个词语片段纠错对中识别出多个目标词语片段纠错对包括:
调用所述第一纠错对打分模型识别未打标识的词语片段纠错对的第一纠错分值;
调用所述第二纠错对打分模型识别未打标识的词语片段纠错对的第二纠错分值;
计算所述第一纠错分值与所述第二纠错分值的平均纠错分值,并将平均纠错分值最高的词语纠错片段作为所述用户词语片段对应的目标词语片段纠错对。
7.如权利要求1至6中任意一项所述的搜索词纠错对构建方法,其特征在于,所述方法还包括:
接收用户的搜索请求,所述搜索请求中携带有搜索词语片段;
将所述搜索词语片段与所述多个目标词语片段纠错对中的用户词语片段进行匹配,并在匹配成功时获取所述多个目标词语片段纠错对中的所述用户词语片段对应的目标词语片段;
以获取的目标词语片段为搜索关键词进行搜索得到搜索文本。
8.一种终端,其特征在于,所述终端包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至7中任意一项所述搜索词纠错对构建方法。
9.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述搜索词纠错对构建方法。
CN202010617014.3A 2020-06-29 2020-06-29 搜索词纠错对构建方法、终端及存储介质 Active CN111814455B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010617014.3A CN111814455B (zh) 2020-06-29 2020-06-29 搜索词纠错对构建方法、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010617014.3A CN111814455B (zh) 2020-06-29 2020-06-29 搜索词纠错对构建方法、终端及存储介质

Publications (2)

Publication Number Publication Date
CN111814455A CN111814455A (zh) 2020-10-23
CN111814455B true CN111814455B (zh) 2022-08-26

Family

ID=72855281

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010617014.3A Active CN111814455B (zh) 2020-06-29 2020-06-29 搜索词纠错对构建方法、终端及存储介质

Country Status (1)

Country Link
CN (1) CN111814455B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112613522B (zh) * 2021-01-04 2023-03-14 重庆邮电大学 一种基于融合字形信息的服药单识别结果纠错方法
CN113012705B (zh) * 2021-02-24 2022-12-09 海信视像科技股份有限公司 一种语音文本的纠错方法及装置
CN112560452B (zh) * 2021-02-25 2021-05-18 智者四海(北京)技术有限公司 一种自动生成纠错语料的方法和系统
CN114328798B (zh) * 2021-11-09 2024-02-23 腾讯科技(深圳)有限公司 搜索文本的处理方法、装置、设备、存储介质和程序产品
CN116050391B (zh) * 2022-11-17 2024-05-14 西安电子科技大学广州研究院 基于细分行业纠错词表的语音识别纠错方法及装置
CN116341524A (zh) * 2023-03-23 2023-06-27 四川省特种设备检验研究院 一种应用于特种设备检测的文本纠错方法
CN116227471B (zh) * 2023-05-10 2023-09-01 荣耀终端有限公司 一种纠错方法、装置及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102915314A (zh) * 2011-08-05 2013-02-06 腾讯科技(深圳)有限公司 一种纠错对自动生成方法及系统
WO2016034052A1 (zh) * 2014-09-03 2016-03-10 乐视网信息技术(北京)股份有限公司 一种数据搜索中的纠错装置及其方法
CN108376129A (zh) * 2018-01-24 2018-08-07 北京奇艺世纪科技有限公司 一种纠错方法及装置
CN109543022A (zh) * 2018-12-17 2019-03-29 北京百度网讯科技有限公司 文本纠错方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102915314A (zh) * 2011-08-05 2013-02-06 腾讯科技(深圳)有限公司 一种纠错对自动生成方法及系统
WO2016034052A1 (zh) * 2014-09-03 2016-03-10 乐视网信息技术(北京)股份有限公司 一种数据搜索中的纠错装置及其方法
CN108376129A (zh) * 2018-01-24 2018-08-07 北京奇艺世纪科技有限公司 一种纠错方法及装置
CN109543022A (zh) * 2018-12-17 2019-03-29 北京百度网讯科技有限公司 文本纠错方法和装置

Also Published As

Publication number Publication date
CN111814455A (zh) 2020-10-23

Similar Documents

Publication Publication Date Title
CN111814455B (zh) 搜索词纠错对构建方法、终端及存储介质
WO2021093755A1 (zh) 问题的匹配方法及装置、问题的回复方法及装置
CN113110866B (zh) 一种数据库变更脚本的评估方法及装置
CN110929125B (zh) 搜索召回方法、装置、设备及其存储介质
CN104699730A (zh) 用于识别候选答案之间的关系的方法和系统
CN113761218B (zh) 一种实体链接的方法、装置、设备及存储介质
CN105389349A (zh) 词典更新方法及装置
CN111984793A (zh) 文本情感分类模型训练方法、装置、计算机设备及介质
CN112149409B (zh) 医疗词云生成方法、装置、计算机设备及存储介质
CN111797222A (zh) 课程知识图谱构建方法、装置、终端及存储介质
CN112115232A (zh) 一种数据纠错方法、装置及服务器
CN113033198B (zh) 相似文本推送方法、装置、电子设备及计算机存储介质
CN111986792A (zh) 医疗机构评分方法、装置、设备及存储介质
CN113157903A (zh) 一种面向多领域的电力词库构建方法
WO2015084757A1 (en) Systems and methods for processing data stored in a database
CN115562679A (zh) 一种基于Java语言的自动生成代码的方法及服务器
US20190236173A1 (en) Utilizing artificial intelligence to integrate data from multiple diverse sources into a data structure
CN115422371A (zh) 一种基于软件测试知识图谱的检索方法
CN115422372A (zh) 一种基于软件测试的知识图谱构建方法和系统
CN113282764B (zh) 一种网络安全数据知识图谱构建方法及装置
CN113344125A (zh) 长文本匹配识别方法、装置、电子设备及存储介质
CN109508557A (zh) 一种关联用户隐私的文件路径关键词识别方法
CN112579781A (zh) 文本归类方法、装置、电子设备及介质
JP4185399B2 (ja) 顧客データ管理装置、顧客データ管理方法および顧客データ管理用プログラムならびに顧客データ管理用プログラムを格納した記録媒体
CN111651452A (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
GR01 Patent grant
GR01 Patent grant