识别专有名词的系统和方法

文档序号:1087397 发布日期:2020-10-20 浏览:7次 >En<

阅读说明:本技术 识别专有名词的系统和方法 (System and method for recognizing proper nouns ) 是由 胡娟 陈欢 宋奇 马利 于 2019-04-04 设计创作,主要内容包括:本发明涉及识别专有名词的方法和系统,所述方法包括:获取包含目标查询词的检索请求;以及基于训练好的识别模型,确定所述目标查询词中是否包括至少一个专有名词,其中,所述训练好的识别模型被配置为提供所述目标查询词包括至少一个专有名词的概率;以及响应于确定所述概率大于预设的概率阈值,确定所述目标查询词包括至少一个专有名词。所述方法还可以包括至少基于专有名词列表,切分所述目标查询词,所述专有名词列表包括至少两个专有名词。所述方法还可以基于专有名词列表对与目标查询词相关的一个或以上感兴趣的词语的至少一部分进行排序。本发明可以基于精确的专有名词列表,自动且有效地识别查询中的专有名词或实现切分查询。(The invention relates to a method and a system for recognizing proper nouns, wherein the method comprises the following steps: acquiring a retrieval request containing a target query word; and determining whether the target query term includes at least one proper noun based on a trained recognition model, wherein the trained recognition model is configured to provide a probability that the target query term includes at least one proper noun; and in response to determining that the probability is greater than a preset probability threshold, determining that the target query term includes at least one proper noun. The method may further include segmenting the target query term based at least on a proper noun list, the proper noun list including at least two proper nouns. The method may also rank at least a portion of the one or more terms of interest related to the target query term based on the list of proper nouns. The invention can automatically and effectively identify proper nouns in the query or realize segmentation query based on the accurate proper noun list.)

识别专有名词的系统和方法

技术领域

本申请一般涉及用于识别专有名词的系统和方法,以及,具体地,涉及基于专有名词切分查询的系统和方法。

背景技术

当前,当用户通过用户终端输入查询(例如,用户想要检索的查询)来发起检索请求时,在接收到检索请求之后,提供检索服务的系统切分查询,基于切分结果,确定与查询相关联的一个或以上感兴趣的词语(Term of Interest,TOI),并向用户终端推荐感兴趣的词语的至少一部分。所述方法可能切分包含在查询中的专有名词,使系统无法识别包含在查询中的专有名词(例如,人名、地名、组织的名称)。例如,如果用户想要检索新能德科技有限公司(公司名称),提供检索服务的系统可以将新能德科技有限公司切分为,例如新能、德科技,科技有限公司等。因此,系统不能识别专有名词“新能德科技有限公司”。为了解决所述问题,传统地,通过使用序列标注的上下文信息训练序列标注模型来执行专有名词识别方法。但是,由于在出行场景中某些专有名词出现的频率低,且用户输入的查询和TOI串短,导致上下文信息不足,这种传统方法可能效果不理想。因此,希望提供基于精确的专有名词列表,自动且有效地识别查询中的专有名词或切分查询的新系统和方法。

发明内容

针对上述由于在出行场景中某些专有名词的出现的频率低,且用户输入的查询和TOI串短,导致上下文信息不足,效果不理想的问题,本发明的目的之一在于提供一种切分目标查询词的系统和方法,以基于精确的专有名词列表,自动且有效地识别查询中的专有名词或实现切分查询。为达到上述目的,本申请提供的技术方案如下:

本申请实施例之一提供一种切分目标查询词的系统。所述系统可以包括:至少一个包括指令集的存储介质;以及与所述至少一个存储介质通信的至少一个处理器,其中,当执行所述指令集时,所述至少一个处理器用于:获取包含目标查询词的检索请求;以及至少基于专有名词列表,切分所述目标查询词,所述专有名词列表包括至少两个专有名词,其中,所述专有名词列表的提供通过:获取至少两个第一历史检索记录,其中,所述至少两个第一历史检索记录中的每一个包括来自第一用户的第一查询词,和由所述第一用户选择出作为所述第一历史检索记录的第一检索词语的第一感兴趣的词语TOI,所述第一TOI中的至少一部分包括至少一个专有名词;获取训练好的识别模型,其中,所述训练好的识别模型被配置为提供候选TOI包括至少一个专有名词的概率;以及至少基于所述训练好的识别模型和所述至少两个第一历史检索记录,确定所述专有名词列表。

在一些实施例中,为了至少基于包括至少两个专有名词的专有名词列表来切分所述目标查询词,所述至少一个处理器可以用于:使用切分技术,将所述目标查询词切分为两个或以上两个分词,其中,所述切分技术包括N-元文切分技术;将所述两个或以上两个分词与所述专有名词列表进行比较;以及响应确定所述两个或以上分词中的至少两个分词的组合是所述专有名词列表中的专有名词,将所述至少两个分词组合在一起。

在一些实施例中,为了至少基于包括至少两个专有名词的专有名词列表来切分所述目标查询词,所述至少一个处理器可以用于:获取切分模型,其中,所述切分模型被配置为切分所述目标查询词;通过为所述专有名词列表分配权重系数,将所述专有名词列表合并到所述切分模型;以及基于所述合并后的切分模型,切分所述目标查询词。

在一些实施例中,所述至少基于所述训练好的识别模型和所述至少两个第一历史检索记录,确定所述专有名词列表,可以包括:对于所述至少两个第一历史检索记录中的每一个,确定所述第一TOI的词语包括至少一个专有名词的第一概率;和确定所述第一概率是否大于第一预设的概率阈值;以及如果所述第一概率大于所述第一预设的概率阈值,将所述专有名词添加到所述专有名词列表中。

在一些实施例中,所述训练好的识别模型是通过训练过程确定的,所述训练过程可以包括:获取至少两个第二历史检索记录,其中,所述至少两个第二历史检索记录中的每一个包括来自第二用户的第二查询词,和由所述第二用户选择出作为所述第二历史检索记录的第二检索词语的第二TOI,所述第二TOI的至少一部分包括至少一个专有名词;基于所述至少两个第二历史检索记录,获取至少两个训练样本;基于所述至少两个训练样本,训练初始识别模型,以生成所述训练好的识别模型。

在一些实施例中,所述基于所述至少两个第二历史检索记录,获取至少两个训练样本,可以包括:对于所述至少两个第二历史检索记录中的每一个,将所述第二历史检索记录中的所述第二TOI切分为至少两个第二分词;提取与所述至少两个第二分词相关联的特征信息;确定所述特征信息是否满足第一预设的条件;和如果所述特征信息满足所述第一预设的条件,指定所述第二历史检索记录为候选检索记录;以及基于所述候选检索记录,确定所述至少两个训练样本。

在一些实施例中,所述至少两个第二分词中的每一个的所述特征信息可以包括:与所述第二查询词和所述第二分词相关联的第一一致性参数、与所述第二TOI和所述第二分词相关联的第二一致性参数、与所述第二分词相关联的凝聚度参数、与所述第二分词相关联的左熵、与所述第二分词相关联的右熵、与所述第二分词相关联的自由度、所述第二分词位于所述第二TOI的开头或所述第二TOI的结尾的概率、以及与所述第二分词相关联的频次中的至少一个。

在一些实施例中,所述系统还可以包括:在所述候选检索记录中,手动筛选出至少一个候选检索记录;以及基于所述筛选出的候选检索记录,确定所述至少两个训练样本。

在一些实施例中,所述基于所述至少两个训练样本,训练初始识别模型,以生成所述训练好的识别模型,可以包括:基于所述初始识别模型和所述至少两个训练样本中的每一个的所述特征信息,确定对应于所述至少两个训练样本的至少两个样本概率;确定所述至少两个样本概率是否满足第二预设条件;以及响应于确定所述至少两个样本概率满足所述第二预设条件,将所述初始识别模型指定为所述训练好的识别模型。

在一些实施例中,所述训练好的识别模型可以包括支持向量机模型。

本申请实施例之一提供一种切分目标查询词的系统,所述系统可以包括请求获取模块、列表确定模块和查询切分模块。所述请求获取模块可以用于获取包含目标查询词的检索请求;所述列表确定模块可以用于获取至少两个第一历史检索记录,其中,所述至少两个第一历史检索记录中的每一个包括来自第一用户的第一查询词,和由所述第一用户选择出作为所述第一历史检索记录的第一检索词语的第一感兴趣的词语TOI,所述第一TOI中的至少一部分包括至少一个专有名词;所述列表确定模块可以用于获取训练好的识别模型,其中,所述训练好的识别模型被配置为提供候选TOI包括至少一个专有名词的概率;以及所述列表确定模块可以用于至少基于所述训练好的识别模型和所述至少两个第一历史检索记录,确定专有名词列表。以及所述查询切分模块可以用于至少基于所述专有名词列表,切分所述目标查询词。

本申请实施例之一提供一种识别目标查询词中包含的专有名词的系统,所述系统可以包括请求获取模块和专有名词识别模块。所述请求获取模块可以用于获取包含目标查询词的检索请求;所述专有名词识别模块可以用于基于训练好的识别模型,确定所述目标查询词中是否包括至少一个专有名词,其中,所述训练好的识别模型被配置为提供所述目标查询词包括至少一个专有名词的概率;以及所述专有名词识别模块可以用于响应于确定所述概率大于预设的概率阈值,确定所述目标查询词包括至少一个专有名词。

本申请实施例之一提供一种切分目标查询词的系统,所述系统可以包括请求获取模块和TOI确定模块。所述请求获取模块可以用于获取包含目标查询词的检索请求;所述TOI确定模块可以用于确定与所述目标查询词相关的一个或以上TOI;以及所述TOI确定模块可以用于基于包括至少两个专有名词的专有名词列表,对所述一个或以上TOI的至少一部分进行排序。其中,所述专有名词列表是基于训练好的识别模型和至少两个历史检索记录确定的。

本申请实施例之一提供一种切分目标查询词的方法,所述方法可以包括:获取包含目标查询词的检索请求;以及至少基于专有名词列表,切分所述目标查询词,所述专有名词列表包括至少两个专有名词,其中,所述专有名词的列表提供通过:获取至少两个第一历史检索记录,其中,所述至少两个第一历史检索记录中的每一个包括来自第一用户的第一查询词,和由所述第一用户选择出作为所述第一历史检索记录的第一检索词语的第一感兴趣的词语TOI,所述第一TOI中的至少一部分包括至少一个专有名词;获取训练好的识别模型,其中,所述训练好的识别模型被配置为提供所述第一TOI包括至少一个专有名词的概率;以及至少基于所述训练好的识别模型和所述至少两个第一历史检索记录,确定所述专有名词列表。

本申请实施例之一提供一种识别目标查询词中包含的专有名词的方法,所述方法可以包括:获取包含目标查询词的检索请求;以及基于训练好的识别模型,确定所述目标查询词中是否包括至少一个专有名词,其中,所述训练好的识别模型被配置为提供所述目标查询词包括至少一个专有名词的概率;以及响应于确定所述概率大于预设的概率阈值,确定所述目标查询词包括至少一个专有名词。

本申请实施例之一提供一种切分目标查询词的方法,所述方法可以包括:获取包含目标查询词的检索请求;确定与所述目标查询词相关的一个或以上TOI;以及基于包括至少两个专有名词的专有名词列表,对所述一个或以上TOI的至少一部分进行排序。其中,所述专有名词列表是基于训练好的识别模型和至少两个历史检索记录确定的。

本申请实施例之一提供一种切分目标查询词的装置,所述装置包括至少一个存储介质以及至少一个处理器;所述至少一个存储介质用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令,以实现切分目标查询词的方法。所述方法包括:获取包含目标查询词的检索请求;以及至少基于专有名词列表,切分所述目标查询词,所述专有名词列表包括至少两个专有名词,其中,所述专有名词的列表提供通过:获取至少两个第一历史检索记录,其中,所述至少两个第一历史检索记录中的每一个包括来自第一用户的第一查询词,和由所述第一用户选择出作为所述第一历史检索记录的第一检索词语的第一感兴趣的词语TOI,所述第一TOI中的至少一部分包括至少一个专有名词;获取训练好的识别模型,其中,所述训练好的识别模型被配置为提供所述第一TOI包括至少一个专有名词的概率;以及至少基于所述训练好的识别模型和所述至少两个第一历史检索记录,确定所述专有名词列表。

本申请实施例之一提供一种识别目标查询词中包含的专有名词的装置,所述装置包括至少一个存储介质以及至少一个处理器;所述至少一个存储介质用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令,以实现识别目标查询词中包含的专有名词的方法。所述方法包括:获取包含目标查询词的检索请求;以及基于训练好的识别模型,确定所述目标查询词中是否包括至少一个专有名词,其中,所述训练好的识别模型被配置为提供所述目标查询词包括至少一个专有名词的概率;以及响应于确定所述概率大于预设的概率阈值,确定所述目标查询词包括至少一个专有名词。

本申请实施例之一提供一种切分目标查询词的装置,所述装置包括至少一个存储介质以及至少一个处理器;所述至少一个存储介质用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令,以实现切分目标查询词的方法。所述方法包括:获取包含目标查询词的检索请求;确定与所述目标查询词相关的一个或以上TOI;以及基于包括至少两个专有名词的专有名词列表,对所述一个或以上TOI的至少一部分进行排序。其中,所述专有名词列表是基于训练好的识别模型和至少两个历史检索记录确定的。

本申请实施例之一提供一种计算机可读存储介质,所述存储介质存储有计算机指令,当所述计算机指令被至少一个处理器执行时,实现切分目标查询词的方法。所述方法包括:获取包含目标查询词的检索请求;以及至少基于专有名词列表,切分所述目标查询词,所述专有名词列表包括至少两个专有名词,其中,所述专有名词的列表提供通过:获取至少两个第一历史检索记录,其中,所述至少两个第一历史检索记录中的每一个包括来自第一用户的第一查询词,和由所述第一用户选择出作为所述第一历史检索记录的第一检索词语的第一感兴趣的词语TOI,所述第一TOI中的至少一部分包括至少一个专有名词;获取训练好的识别模型,其中,所述训练好的识别模型被配置为提供所述第一TOI包括至少一个专有名词的概率;以及至少基于所述训练好的识别模型和所述至少两个第一历史检索记录,确定所述专有名词列表。

本申请实施例之一提供一种计算机可读存储介质,所述存储介质存储有计算机指令,当所述计算机指令被至少一个处理器执行时,实现识别目标查询词中包含的专有名词的方法。所述方法包括:获取包含目标查询词的检索请求;以及基于训练好的识别模型,确定所述目标查询词中是否包括至少一个专有名词,其中,所述训练好的识别模型被配置为提供所述目标查询词包括至少一个专有名词的概率;以及响应于确定所述概率大于预设的概率阈值,确定所述目标查询词包括至少一个专有名词。

本申请实施例之一提供一种计算机可读存储介质,所述存储介质存储有计算机指令,当所述计算机指令被至少一个处理器执行时,实现切分目标查询词的方法。所述方法包括:获取包含目标查询词的检索请求;确定与所述目标查询词相关的一个或以上TOI;以及基于包括至少两个专有名词的专有名词列表,对所述一个或以上TOI的至少一部分进行排序。其中,所述专有名词列表是基于训练好的识别模型和至少两个历史检索记录确定的。

本申请的一部分附加特性可以在下面的描述中进行说明。通过对以下描述和相应附图的研究或者对实施例的生产或操作的了解,本申请的一部分附加特性对于本领域技术人员是明显的。本申请的特征可以通过对以下描述的具体实施例的各种方面的方法、手段和组合的实践或使用得以实现和达到。

附图说明

本申请将通过示例性实施例进行进一步描述。这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的符号表示相同的部件,其中:

图1是根据本申请的一些实施例所示的示例性专有名词识别系统的示意图;

图2是根据本申请的一些实施例所示的计算设备的示例性硬件组件和/或软件组件的示意图;

图3是根据本申请的一些实施例所示的移动设备的示例性硬件和/或软件组件的示意图;

图4是根据本申请的一些实施例所示的示例性处理引擎的框图;

图5是根据本申请的一些实施例所示的用于至少基于包括至少两个专有名词的专有名词列表切分目标查询词的示例性过程的流程图;

图6是根据本申请的一些实施例所示的用于确定包括至少两个专有名词的专有名词列表的示例性过程的流程图。

图7是根据本申请的一些实施例所示的用于确定训练好的识别模型的示例性过程的流程图。

图8是根据本申请的一些实施例所示的用于识别包括在目标查询词中的至少一个专有名词的示例性过程的流程图;以及

图9是根据本申请的一些实施例所示的用于基于包括至少两个专有名词的专有名词列表对TOI进行排序的示例性过程的流程图。

具体实施方式

以下描述是为了使本领域的普通技术人员能够实施和利用本申请,并且该描述是在特定的应用场景及其要求的环境下提供的。对于本领域的普通技术人员来讲,显然可以对所公开的实施例作出各种改变,并且在不偏离本申请的原则和范围的情况下,本申请中所定义的普遍原则可以适用于其他实施例和应用场景。因此,本申请并不限于所描述的实施例,而应该被给予与权利要求一致的最广泛的范围。

本申请中所使用的术语仅用于描述特定的示例性实施例,并不限制本申请的范围。如本申请使用的单数形式“一”、“一个”及“该”可以同样包括复数形式,除非上下文明确提示例外情形。还应当理解,如在本申请说明书中,术语“包括”、“包含”仅提示存在所述特征、整体、步骤、操作、组件和/或部件,但并不排除存在或添加一个或以上其他特征、整体、步骤、操作、组件、部件和/或其组合的情况。

根据以下对附图的描述,本申请的这些和其他的特征、特点以及相关结构元件的功能和操作方法,以及部件组合和制造经济性,可以变得更加显而易见,这些附图都构成本申请说明书的一部分。然而,应当理解的是,附图仅仅是为了说明和描述的目的,并不旨在限制本申请的范围。应当理解的是,附图并不是按比例绘制的。

本申请中使用了流程图用来说明根据本申请的一些实施例的系统所执行的操作。应当理解的是,流程图中的操作可以不按顺序执行。相反,可以按照倒序或同时处理各种步骤。此外,可以向流程图添加一个或以上其他操作。也可以从流程图中删除一个或以上操作。

本申请中的词语“请求人”、“请求者”、“服务请求人”、“服务请求者”、“检索请求人”和“检索请求者”可互换使用,以指代可以请求或者订购服务的个体、实体或工具。本申请中的词语“用户”可以指代可以请求服务、订购服务、提供服务或促进提供服务的个体、实体或工具。在本申请中,词语“请求者”和“请求者终端”可以互换使用。

本申请中的词语“请求”、“服务”、“服务请求”和“检索请求”可互换使用,以指代可以来源于请求者、服务请求者、检索请求者等或其任何组合的需求。检索请求或服务请求可以是收费的或免费的。

本申请在于提供比传统查询更有效的系统和方法,以识别输入的查询中的专有名词。这些专有名词不经常使用,或不经常出现在简短的查询和TOI串中,导致上下文信息不足。

本申请的一方面涉及识别包括在与检索请求相关联的目标查询词中的至少一个专有名词的系统。所述系统可以基于训练好的识别模型识别至少一个专有名词。训练好的识别模型可以被配置为确定词语(例如,目标查询词)包括至少一个专有名词的概率。响应于确定所述概率大于预设的阈值,系统可以确定目标查询词可以包括至少一个专有名词。在本申请中,可以基于至少两个第一历史检索记录,来训练训练好的识别模型。

另外,系统可以基于训练好的识别模型和至少两个第二历史检索记录,离线确定包括至少两个专有名词的专有名词列表。系统可以基于由训练好的识别模型确定的至少两个概率来确定专有名词列表,所述至少两个概率与至少两个第二历史检索记录相对应。此外,系统可以基于切分技术或切分模型,使用专有名词列表来切分目标查询词。

图1是根据本申请的一些实施例所示的示例性专有名词识别系统的示意图。例如,专有名词识别系统100可以是在线服务检索平台,例如,运输服务、在线购物服务、地图(例如,谷歌地图、百度地图、腾讯地图)导航服务、订餐服务等。专有名词识别系统100可以包括服务器110、网络120、用户终端130和存储器140。

在一些实施例中,服务器110可以是单个服务器,也可以是服务器组。所述服务器组可以是集中式的,也可以是分布式的(例如,服务器110可以是分布式的系统)。在一些实施例中,服务器110可以是本地的,也可以是远程的。例如,服务器110可以经由网络120访问存储于用户终端130或存储器140中的信息和/或数据。又例如,服务器110可以直接连接到用户终端130和/或存储器140以访问存储的信息和/或数据。在一些实施例中,服务器110可以在云平台上实施。仅作为示例,该云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。在一些实施例中,服务器110可以在图2中所示的有一个或以上组件的计算设备200上实现。

在一些实施例中,服务器110可以包括处理引擎112。处理引擎112可以处理与检索请求有关的信息和/或数据,以执行本申请中描述的一个或以上功能。例如,处理引擎112可以至少基于包括至少两个专有名词的专有名词列表来切分目标查询词。所述处理引擎112可包括一个或者以上处理引擎(例如,单芯片处理引擎或多芯片处理引擎)。处理引擎112可以包括中央处理单元(CPU)、专用集成电路(ASIC)、专用指令集处理器(ASIP)、图形处理单元(GPU)、物理处理单元(PPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、控制器、微控制器单元、精简指令集计算机(RISC)、微处理器或类似物、或其任意组合。

网络120可以促进信息和/或数据的交换。在一些实施例中,专有名词识别系统100的一个或以上组件(例如,服务器110、用户终端130或存储器140)可以经由网络120将信息和/或数据发送到专有名词识别系统100的其他组件。例如,服务器110可以经由网络120从用户终端130获取检索请求。在一些实施例中,网络120可以是有线网络或无线网络等或其任意组合。仅作为示例,网络120可以包括电缆网络、有线网络、光纤网络、电信网络,内部网络、互联网、局域网络(LAN)、广域网络(WAN)、无线局域网络(WLAN)、城域网(MAN),公共开关电话网络(PSTN)、蓝牙网络、ZigBee网络、近场通信(NFC)网络等,或其任意组合。在一些实施例中,网络120可以包括一个或以上网络接入点。例如,网络120可以包括有线或无线网络接入点,如基站和/或互联网交换点120-1、120-2、……,通过该网络交换点,专有名词识别系统100的一个或以上部件可以连接到网络120以交换数据和/或信息。

在一些实施例中,检索请求者可以是用户终端130的用户。在一些实施例中,用户终端130的用户可以是除检索请求者之外的其他人。例如,用户终端130的用户A可以使用用户终端130向用户B发送检索请求或者从服务器110接收检索确认和/或信息或指令。

在一些实施例中,用户终端130可以包括移动设备130-1、平板计算机130-2、膝上型计算机130-3、车载设备130-4等或其任意组合。在一些实施例中,移动设备130-1可以包括智能家居设备、可穿戴设备、智能移动设备、虚拟现实设备、增强现实设备等,或其任意组合。在一些实施例中,智能家居设备可以包括智能照明设备、智能电器控制设备、智能监控设备、智能电视、智能摄像机、对讲机等,或其任意组合。在一些实施例中,该可穿戴设备可包括智能手镯、智能鞋袜、智能眼镜、智能头盔、智能手表、智能衣服、智能背包、智能配件等或其任意组合。在一些实施例中,智能移动设备可以包括智能电话、个人数字助理(PDA)、游戏设备、导航设备、销售点(POS)等,或其任意组合。在一些实施例中,虚拟现实设备和/或增强型虚拟现实设备可以包括虚拟现实头盔、虚拟现实眼镜、虚拟现实眼罩、增强现实头盔、增强现实眼镜、增强现实眼罩等,或其任意组合。例如,虚拟现实设备和/或增强现实设备可以包括Google GlassTM、Oculus RiftTM、HololensTM或Gear VRTM等。在一些实施例中,车载设备130-4可以包括车载计算机、车载电视等。在一些实施例中,用户终端130可以是具有定位技术的设备,用于定位用户终端130的用户(例如,司机)位置。

存储器140可以存储与检索请求有关的数据和/或指令。在一些实施例中,存储器140可以存储从用户终端130获取的数据。在一些实施例中,存储器140可以储存服务器110用来执行或使用来完成本申请中描述的示例性方法的数据及/或指令。在一些实施例中,存储器140可包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(ROM)等或其任意组合。示例性的大容量存储器可以包括磁盘、光盘、固态磁盘等。示例性可移动存储器可以包括闪存驱动器、软盘、光盘、存储卡、压缩盘、磁带等。示例性易失性读写存储器可以包括随机存取内存(RAM)。示例性RAM可包括动态随机存取存储器(DRAM)、双倍数据速率同步动态随机存取存储器(DDR SDRAM)、静态随机存取存储器(SRAM)、晶闸管随机存取存储器(T-RAM)和零电容随机存取存储器(Z-RAM)等。示例性只读存储器可以包括掩模型只读存储器(MROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(PEROM)、电可擦除可编程只读存储器(EEPROM)、光盘只读存储器(CD-ROM)和数字多功能磁盘只读存储器等。在一些实施例中,存储器140可以在云平台上实现。仅作为示例,云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云,多层云等,或其任意组合。

在一些实施例中,存储器140可以连接到网络120以与专有名词识别系统100的一个或以上组件(例如,服务器110、用户终端130)通信。专有名词识别系统100的一个或以上组件可以经由网络120访问存储在存储器140中的数据和/或指令。在一些实施例中,存储器140可以直接连接到专有名词识别系统100的一个或以上组件(例如,服务器110、用户终端130)或与之通信。在一些实施例中,存储器140可以是服务器110的一部分。

在一些实施例中,专有名词识别系统100的一个或以上组件(例如,服务器110、用户终端130)可以具有访问存储器140的许可。在一些实施例中,当满足一个或以上条件时,专有名词识别系统100的一个或以上组件可以读取和/或修改与检索请求者和/或公众有关的信息。例如,服务器110可以在检索服务完成之后读取和/或修改一个或以上检索请求者的信息。

在一些实施例中,可以通过请求检索服务来实现专有名词识别系统100的一个或以上组件的信息交换。检索请求的对象可以是任何产品。在一些实施方案中,产品可以是有形产品或非物质产品。有形产品可包括食品、药品、商品、化学产品、电器、服装、汽车、房屋、奢侈品等,或其任何组合。非物质产品可以包括服务产品、金融产品、知识产品、互联网产品等,或其任何组合。互联网产品可以包括个人主机产品、网站产品、移动互联网产品、商业主机产品、嵌入式产品等或上述举例的任意组合。移动互联网产品可以用于移动终端的软件、程序、系统等的软件或上述举例的任意组合。移动终端可以包括平板计算机、膝上型计算机、移动电话、个人数字助理(PDA)、智能手表、POS装置、车载计算机、车载电视、可穿戴装置等或其任意组合。例如,产品可以是在计算机或移动电话上使用的任何软件和/或应用。所述软件和/或应用程序可以与社交、购物、交通、娱乐、学习、投资等或上述举例的任意组合有关。在一些实施例中,所述与运输有关系统软件和/或应用程序可以包括出行软件和/或应用程序、车辆调度软件和/或应用程序、地图软件和/或应用程序等。在车辆调度软件和/或应用程序中,交通工具可以包括马、马车、人力车(例如独轮手推车、自行车、三轮车)、汽车(例如,出租车、公共汽车、私家车)、火车、地铁、船舶、飞行器(例如,飞机、直升机、航天飞机、火箭、热气球)等其任意组合。

本领域的普通技术人员将理解,当专有名词识别系统100的元件(或组件)执行时,该元件可以通过电信号和/或电磁信号执行。例如,当用户终端130向服务器110发送检索请求时,用户终端130的处理器可以生成编码该检索请求的电信号。然后,用户终端130的处理器可以将电信号发送到输出端口。若请用户终端130经由有线网络与服务器110通讯,则输出端口可物理连接至电缆,其进一步将电信号传输给服务器110的输入端口。如果用户终端130经由无线网络与服务器110通信,则用户终端130的输出端口可以是一个或以上天线,其将电信号转换为电磁信号。在例如用户终端130和/或服务器110的电子设备内,当其处理器处理指令、发出指令和/或执行动作时,该指令和/或动作通过电信号进行。例如,当处理器从存储介质(例如,存储器140)检索或保存数据时,它可以将电信号发送到存储介质的读/写设备,其可以在存储介质中读取或写入结构化数据。该结构化数据可以电信号的形式经由电子装置的总线传输至处理器。此处,电信号可以指一个电信号、一系列电信号和/或至少两个不连续的电信号。

图2是根据本申请的一些实施例所示的计算设备200的示例性硬件组件和/或软件组件的示意图。在一些实施例中,服务器110和/或用户终端130可以在计算设备200上实现。例如,处理引擎112可以在计算设备200上实施并执行本申请所公开的处理引擎112的功能。

计算设备200可以用于实现如本文所述的专有名词识别系统100的任何组件。例如,处理引擎112可以在计算设备200上通过其硬件,软件程序,固件或其组合实现。为了方便起见,图中仅示出了一台计算机,但是本申请描述的与检索服务有关的计算机功能可以在多个类似平台上以分布式方式实现,以分担处理负载。

计算设备200可以包括与网络相连接通信端口250,以实现数据通信。计算设备200还可以包括处理器220,可以以一个或以上处理器(例如,逻辑电路)的形式执行程序指令。例如,处理器220可以包括接口电路和其中的处理电路。接口电路可以被配置为从总线210接收电信号,其***号编码用于处理电路的结构化数据和/或指令。处理电路可以进行逻辑计算,然后将结论、结果和/或指令编码确定为电信号。然后,接口电路可以经由总线210从处理电路发出电信号。

计算设备200还可以包括不同形式的程序存储和数据存储,例如磁盘270、只读存储器(ROM)230或随机存取存储器(RAM)240,用于存储由计算设备处理和/或传输的各种数据文件。示例性计算机平台也可以包括储存在ROM 230、RAM 240和/或其他类型的非暂时储存介质中的程序指令,以由处理器220执行。本申请的方法和/或流程可以以程序指令的方式实现。计算设备200还包括输入/输出(I/O)260,用来支持计算机和其他组件之间的输入/输出。计算设备200也可以通过网络通信接收编程和数据。

为了方便说明,图2中仅描述了一个处理器。也可以包括至少两个处理器,因此本申请中描述的由一个处理器执行的操作和/或方法步骤也可以由多个处理器共同地或单独执行。例如,如果在本申请中,计算设备200的处理器执行步骤A和步骤B,应当理解的是,步骤A和步骤B也可以由计算设备200的两个不同的CPU和/或处理器共同地或独立地执行(例如,第一处理器执行步骤A、第二处理器执行步骤B,或者第一和第二处理器共同地执行步骤A和步骤B)。

图3是根据本申请的一些实施例所示的移动设备的示例性硬件和/或软件组件的示意图。用户终端130可以在移动设备300上实现。如图3所示,移动设备300可以包括通信平台310、显示器320、图形处理单元(GPU)330、中央处理单元(CPU)340、输入/输出(I/O)350、内存360、移动操作系统(OS)370和存储器390。在一些实施例中,任何其他合适的组件,包括但不限于系统总线或控制器(未示出),也可包括在移动设备300内。

在一些实施例中,操作系统370(例如,iOSTM、AndroidTM、Windows PhoneTM等)和一个或以上应用程序380可从存储器390下载至内存360以及由CPU 340执行。应用程序380可以包括浏览器或任何其他合适的移动应用程序,用于接收和呈现与检索服务或来自专有名词识别系统100的其他信息有关的信息。用户与信息流的交互可以经由输入/输出单元(I/O)350实现,并且经由网络120提供给处理引擎112和/或专有名词识别系统100的其他组件。

图4是根据本申请的一些实施例所示的示例性处理引擎的框图。处理引擎112可以包括请求获取模块410、查询切分模块420、列表确定模块430、模型训练模块440、专有名词识别模块450和TOI确定模块460。

请求获取模块410可以被配置为获取包括与用户相关联的目标查询词的检索请求。在一些实施例中,检索请求可以指用于检索目标查询词的检索请求。仅作为示例,检索请求可以包括运输检索请求、在线购物检索请求、地图(例如,谷歌地图、百度地图、腾讯地图)导航检索请求、订餐检索请求等。在一些实施例中,目标查询词可以指用户想要检索的词语。仅作为示例,目标查询词的类型可以包括与运输检索请求或地图(例如,谷歌地图、百度地图、腾讯地图)导航检索请求相关联的词语(例如,地址)、与在线购物检索请求相关联词语(例如,商品)、与订餐检索请求相关联的词语(例如,食品)等。

查询切分模块420可以被配置为至少基于包括至少两个专有名词的专有名词列表,切分目标查询词。如本申请所使用的,专有名词可以指人名、特定地点的名称、特定组织的名称等。例如,周杰伦可以是一个专有名词。又例如,北京大学可以是一个专有名词。再例如,红十字国际委员会(International Committee of the Red Cross,ICRC)可以是一个专有名词。

在一些实施例中,查询切分模块420可以基于专有名词列表和切分技术来切分目标查询词。例如,切分技术可以包括N元文切分技术、正向最大匹配技术、逆向最大匹配技术、双向最大匹配技术、最小匹配技术、最佳匹配技术、隐马尔可夫模型、最大熵模型、条件随机场模型、神经网络模型、联想-回溯技术等,或其任何组合。

在一些实施例中,查询切分模块420可以将目标查询词切分为至少两个分词。此外,查询切分模块420可以将至少两个分词与专有名词列表进行比较。响应于确定至少两个相邻分词可以构成专有名词列表上的专有名词,查询切分模块420可以组合该至少两个分词。例如,周杰伦在专有名词列表上,如果使用切分技术将周杰伦切分成两个分词,查询切分模块420可以将这两个分词组合成单个词,即周杰伦。

在一些实施例中,查询切分模块420可以基于专有名词列表和切分模型来切分目标查询词。切分模型可以用于切分词语(例如,目标查询词)。在一些实施例中,查询切分模块420可以通过为专有名词列表分配权重系数将专有名词列表合并到切分模型中。然后,查询切分模块420可以基于合并后的切分模型切分目标查询词。在一些实施例中,当由合并后的切分模型切分目标查询词时,查询切分模块420不会切分包括在目标查询词中的至少一个专有名词。如本申请所使用的,加权系数可以是专有名词识别系统100的默认设置,或者可以在不同情况下进行调整。

切分模型可以包括与不同应用场景相关联的至少两个分词列表,例如,运输服务、在线购物服务、地图导航服务、订餐服务。如本申请所使用的,分词列表可以指包括与应用场景相关联的至少两个分词的列表。仅作为示例,至少两个分词列表可以包括与运输服务或地图导航服务相关联的分词列表(例如,包括位置的词语)、与在线购物相关联的分词列表(例如,包括商品的词语)服务、与订餐服务相关联的分词列表(例如,包括食品的词语)等,或其任何组合。

列表确定模块430可以被配置为离线确定包括至少两个专有名词的专有名词列表。如本文所使用的,专有名词可以指人名、特定地点的名称、特定组织的名称等。例如,周杰伦可以是一个专有名词。又例如,北京大学可以是一个专有名词。再例如,红十字国际委员会(ICRC)可以是一个专有名词。

在一些实施例中,列表确定模块430可以基于至少两个第一历史检索记录和训练好的识别模型来确定专有名词列表。至少两个第一历史检索记录中的每一个可以包括来自第一用户的第一查询词,和由第一用户选择出作为第一历史检索记录的第一检索词语的第一TOI。至少两个第一历史检索记录的第一TOI中的至少一部分可以包括至少一个专有名词。其中,不同第一历史检索记录对应的第一用户和/或第一查询词可以是相同地或不同地。训练好的识别模型可以被配置为提供至少两个第一历史检索记录中的每一个的词语(例如,第一TOI)包括至少一个专有名词的概率。在一些实施例中,列表确定模块430可以从本申请中其他地方公开的存储设备(例如,存储器140)、第三方(例如,外部数据库)等获取至少两个第一历史检索记录或训练好的识别模型。

模型训练模块440可以被配置用于基于至少两个第二历史检索记录离线确定训练好的识别模型。类似于第一历史检索记录,至少两个第二历史检索记录中的每一个可以包括来自第二用户的第二查询词,和由第二用户选择出作为第二历史检索记录的第二检索词语的第二TOI。其中,不同第二历史检索记录对应的第二用户和/或第二查询词可以是相同地或不同地。第二TOI中的至少一部分可以包括至少一个专有名词。在一些实施例中,至少两个第二历史检索记录可以与至少两个第一历史检索记录部分或完全不同。关于训练好的识别模型的更详细描述可以在本申请的其他地方找到(例如,图7及其描述)。

专有名词识别模块450可以被配置为基于训练好的识别模型在线确定目标查询词是否包括至少一个专有名词。在一些实施例中,专有名词识别模块450可以将概率与预设的概率阈值进行比较。响应于确定概率大于预设的概率阈值,专有名词识别模块450可以确定目标查询词包括至少一个专有名词。如本申请所使用的,预设的概率阈值可以是专有名词识别系统100的默认设置,或者可以在不同情况下进行调整。

TOI确定模块460可以被配置为确定与目标查询词相关联的一个或以上感兴趣的词语(TOI)。如本申请所使用的,TOI可以指用户可能感兴趣的与目标查询词相关联的词语。在一些实施例中,TOI确定模块460可以先确定目标查询词中的前缀、关键词或短语中的至少一个,并基于所述前缀、关键词或短语确定一个或以上的TOI。

在一些实施例中,TOI确定模块460可以确定一个或以上TOI的相关系数。如本申请所使用的,相关系数可以表示目标查询词和TOI之间的相似性。相关系数越大,TOI和目标查询词之间的相似性越高,用户选择该TOI作为与目标查询词相关联的检索词语的概率越大。

在一些实施例中,TOI确定模块460可以基于包括至少两个专有名词的专有名词列表对一个或以上TOI的至少一部分进行排序。在一些实施例中,TOI确定模块460可以将目标查询词与专有名词列表上的专有名词进行比较。响应于确定目标查询词中包括专有名词列表中的至少一个专有名词,TOI确定模块460可以将包括至少一个专有名词的TOI靠前排列。在一些实施例中,TOI确定模块460可以将至少一个加权系数分配给至少一个专有名词。TOI确定模块460可以基于至少一个加权系数和TOI的相关系数,对一个或以上TOI中的至少一个进行排序。响应于确定目标查询词中不包括专有名词列表中的至少一个专有名词,TOI确定模块460可以基于TOI的相关系数,对一个或以上TOI的至少一部分进行排列(例如,从大到小)。

处理引擎112中的模块可以经由有线连接或无线连接彼此连接或通信。有线连接可以包括金属线缆、光缆、混合电缆等或其任意组合。无线连接可以包括局域网络(LAN)、广域网路(WAN)、蓝牙、ZigBee网络、近场通讯(NFC)等或上述举例的任意组合。两个或以上模块可以被组合为单个模块,且所述模块中的任一个可以被分成两个或以上单元。例如,处理引擎112可以包括存储模块(未示出),其可以用于存储由上述模块生成的数据,例如,专有名词列表和训练好的识别模型。又例如,模型训练模块440可以是非必要的,训练好的识别模型可以从本申请中其他地方公开的存储设备(例如,存储器140)或与专有名词识别系统100通信的外部设备获取。

图5是根据本申请的一些实施例所示的用于至少基于包括至少两个专有名词的专有名词列表切分目标查询词的示例性过程的流程图。在一些实施例中,过程500可以通过存储在只读存储器230或随机存取存储器240中的指令集(例如,应用程序)来实现。处理器220和/或图4中的模块可以执行该指令集,当执行该指令集时,处理器220和/或模块可以被配置为执行过程500。以下所示过程的操作仅出于说明的目的。在一些实施例中,过程500可以通过未描述的一个或以上附加操作和/或不通过一个或以上本申请讨论的操作来完成。另外,如图5中所示和下面描述的过程的操作顺序不旨在是限制性的。

在510中,处理引擎112(例如,请求获取模块410)(例如,处理器220的处理电路)可以获取包括与用户相关联的目标查询词的检索请求。在一些实施例中,检索请求可以指用于检索目标查询词的检索请求。仅作为示例,检索请求可以包括运输检索请求、在线购物检索请求、地图(例如,谷歌地图、百度地图、腾讯地图)导航检索请求、订餐检索请求等。在一些实施例中,目标查询词可以指用户想要检索的词语。仅作为示例,目标查询词的类型可以包括与运输检索请求或地图(例如,谷歌地图、百度地图、腾讯地图)导航检索请求相关联的词语(例如,地址)、与在线购物检索请求相关联词语(例如,商品)、与订餐检索请求相关联的词语(例如,食品)等。

在一些实施例中,目标查询词可以由用户经由用户终端130输入。例如,用户可以在安装在用户终端130上的应用程序中输入目标查询词。在一些实施例中,用户可以通过打字输入、手写输入、语音输入、图片输入等方式输入目标查询词。可以通过应用程序或设备完成输入。输入设备可以是键盘、触摸屏、麦克风、手写板、扫描仪、相机或其任何组合。

在520中,处理引擎112(例如,查询切分模块420)(例如,处理器220的处理电路)可以至少基于包括至少两个专有名词的专有名词列表来切分目标查询词。如本申请所使用的,专有名词可以指人名、特定地点的名称、特定组织的名称等。例如,周杰伦可以是一个专有名词。又例如,北京大学可以是一个专有名词。再例如,红十字国际委员会(ICRC)可以是一个专有名词。

在一些实施例中,专有名词列表可以由专有名词识别系统100(例如,处理引擎112)或第三方(例如,外部数据库)提供。专有名词识别系统100可以离线预先确定专有名词列表,并将专有名词列表存储在本申请其他地方公开的存储设备(例如,存储器140)中。

在一些实施例中,专有名词识别系统100可以基于至少两个第一历史检索记录和训练好的识别模型预先确定专有名词列表。至少两个第一历史检索记录中的每一个可以包括来自第一用户的第一查询词,和由第一用户选择出作为第一历史检索记录的第一检索词语的第一TOI。至少两个第一历史检索记录的第一TOI中的至少一部分可以包括至少一个专有名词。其中,不同第一历史检索记录对应的第一用户和/或第一查询词可以是相同地或不同地。训练好的识别模型可以被配置为提供至少两个第一历史检索记录中的每一个的词语(例如,第一TOI)包括至少一个专有名词的概率。在一些实施例中,如果所述概率大于预设的概率阈值,则专有名词识别系统100可以将少一个专有名词添加至专有名词列表上。关于预先确定专有名词列表的更详细描述可以在本申请的其它地方找到,如图6及其描述。

在一些实施例中,可以从如存储设备(例如,存储器140)、第三方等获取至少两个第一历史检索记录和/或训练好的识别模型。专有名词识别系统100可以离线预先确定训练好的识别模型,并将训练好的识别模型存储在本申请中其他地方公开的存储设备(例如,存储器140)中。关于预先确定训练好的识别模型的更详细描述可以在本申请的其他地方找到,如图7及其描述。

在一些实施例中,处理引擎112可以基于专有名词列表和切分技术来切分目标查询词。例如,切分技术可以包括N元文切分技术、正向最大匹配技术、逆向最大匹配技术、双向最大匹配技术、最小匹配技术、最佳匹配技术、隐马尔可夫模型、最大熵模型、条件随机场模型、神经网络模型、联想-回溯技术等,或其任何组合。

在一些实施例中,处理引擎112可以将目标查询词切分为至少两个分词。此外,处理引擎112可以将至少两个分词与专有名词列表进行比较。响应于确定至少两个相邻分词可以构成专有名词列表上的专有名词,处理引擎112可以组合该至少两个分词。例如,周杰伦在专有名词列表上,如果使用切分技术将周杰伦切分成两个分词,处理引擎112可以将这两个分词组合成单个词,即周杰伦。

在一些实施例中,处理引擎112可以基于专有名词列表和切分模型来切分目标查询词。切分模型可用于切分词语(例如,目标查询词)。在一些实施例中,处理引擎112可以通过为专有名词列表分配权重系数将专有名词列表合并到切分模型中。然后,处理引擎112可以基于合并后的切分模型切分目标查询词。在一些实施例中,当由合并后的切分模型切分目标查询词时,处理引擎112不会切分包括在目标查询词中的至少一个专有名词。如本申请所使用的,加权系数可以是专有名词识别系统100的默认设置,或者可以在不同情况下进行调整。

切分模型可以包括与不同应用场景相关联的至少两个分词列表,例如,运输服务、在线购物服务、地图导航服务、订餐服务。如本申请所使用的,分词列表可以指包括与应用场景相关联的至少两个分词的列表。仅作为示例,至少两个分词列表可以包括与运输服务或地图导航服务相关联的分词列表(例如,包括位置的词语)、与在线购物相关联的分词列表(例如,包括商品的词语)服务、与订餐服务相关联的分词列表(例如,包括食品的词语)等,或其任何组合。

本实施例具备以下之一的技术效果:1.离线预先确定专有名词列表,线上实时基于专有名词列表切分查询词,可以节省响应客户检索请求的时间;2.对于包含专有名词的查询词,不切分该专有名词,系统确定的与查询词相关的TOI更精准,用户可以有效地从排序结果中选择出对应于查询词的检索词语,从而更有效地满足用户的检索需求。

应当理解的是,以上描述仅出于说明的目的,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出多种修改和变化。然而,这些修改和变化不会背离本申请的范围。

图6是根据本申请的一些实施例所示的用于确定包括至少两个专有名词的专有名词列表的示例性过程的流程图。在一些实施例中,过程600可以通过存储在只读存储器230或随机存取存储器240中的指令集(例如,应用程序)来实现。处理器220和/或图4中的模块可以执行该指令集,当执行该指令集时,处理器220和/或模块可以被配置为执行过程600。以下所示过程的操作仅出于说明的目的。在一些实施例中,过程600可以通过未描述的一个或以上附加操作和/或不通过一个或以上本申请讨论的操作来完成。另外,如图6中所示和下面描述的过程的操作顺序不旨在是限制性的。

在610中,处理引擎112(例如,列表确定模块430)(例如,处理器220的处理电路)可以获取预设的时间段(例如,最近一个月,最近三个月,最近一年)内的至少两个第一历史检索记录。在一些实施例中,处理引擎112可以从本申请中其他地方公开的存储设备(例如,存储器140)、外部数据库等获取该至少两个第一历史检索记录。

至少两个第一历史检索记录中的每一个可以包括来自第一用户的第一查询词,和由第一用户选择出作为第一历史检索记录的第一检索词语的第一TOI。其中,不同第一历史检索记录对应的第一用户和/或第一查询词可以是相同地或不同地。至少两个第一历史检索记录的第一TOI中的至少一部分可以包括至少一个专有名词。

在620中,处理引擎112(例如,列表确定模块430)(例如,处理器220的处理电路)可以获取训练好的识别模型(例如,支持向量机模型)。训练好的识别模型可以被配置为提供词语(例如,第一TOI)包括至少一个专有名词的概率。在一些实施例中,处理引擎112可以从本申请中其他地方公开的存储设备(例如,存储设备140)、第三方等获取该至少两个第一历史检索记录。

在630中,处理引擎112(例如,列表确定模块430)(例如,处理器220的处理电路)可以至少基于训练好的识别模型和至少两个第一历史检索记录来确定专有名词列表。在一些实施例中,处理引擎112可以基于至少两个第一历史检索记录中的每一个的第一概率确定专有名词列表,所述第一概率是基于训练好的识别模型确定的。在一些实施例中,对于至少两个第一历史检索记录中的每一个,处理引擎112可以确定相应的第一概率是否大于第一预设的概率阈值。响应于确定相应的第一概率大于第一预设的概率阈值,处理引擎112可以将包含在第一TOI中的至少一个专有名词添加到专有名词列表中。如本申请所使用的,第一预设的概率阈值可以是专有名词识别系统100的默认设置,或者可以在不同情况下进行调整。

应当理解的是,以上描述仅出于说明的目的,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出多种修改和变化。然而,这些修改和变化不会背离本申请的范围。例如,可以在过程600中的其他地方添加一个或以上其他可选步骤(例如,存储步骤)。在存储步骤中,处理引擎112可以将专有名词列表存储在本申请中其他地方公开的存储设备(例如,存储器140)中。

图7是根据本申请的一些实施例所示的用于确定训练好的识别模型的示例性过程的流程图。在一些实施例中,过程700可以通过存储在只读存储器230或随机存取存储器240中的指令集(例如,应用程序)来实现。处理器220和/或图4中的模块可以执行该指令集,当执行该指令集时,处理器220和/或模块可以被配置为执行过程700。以下所示过程的操作仅出于说明的目的。在一些实施例中,过程700可以通过未描述的一个或以上附加操作和/或不通过一个或以上本申请讨论的操作来完成。另外,如图7中所示和下面描述的过程的操作顺序不旨在是限制性的。

在710中,处理引擎112(例如,模型训练模块440)(例如,处理器220的处理电路)可以获取至少两个第二历史检索记录。在一些实施例中,处理引擎112可以从本申请中其他地方公开的存储设备(例如,存储器140)、外部数据库等获取至少两个第二历史检索记录。

如610所述,类似于第一历史检索记录,至少两个第二历史检索记录的每一个可以包括来自第二用户的第二查询词,和由第二用户选择出作为第二历史检索记录的第二检索词语的第二TOI。其中,不同第二历史检索记录对应的第二用户和/或第二查询词可以是相同地或不同地第二TOI中的至少一部分可以包括至少一个专有名词。在一些实施例中,至少两个第二历史检索记录可以与至少两个第一历史检索记录部分或完全不同。

在720中,处理引擎112(例如,模型训练模块440)(例如,处理器220的处理电路)可以基于至少两个第二历史检索记录获取至少两个训练样本。在一些实施例中,处理引擎112可以提取与至少两个第二历史检索记录中的每一个相关联的特征信息。处理引擎112可以基于特征信息和至少两个第二历史记录来确定至少两个训练样本。

在一些实施例中,对于至少两个第二历史检索记录中的每一个,处理引擎112可以将第二历史检索记录中的第二TOI切分为至少两个第二分词。如操作520所述,处理引擎112可以基于切分技术或切分模型来切分第二TOI。更详细的描述可以在520中找到,这里不再重复。

然后,处理引擎112可以基于至少两个第二分词和第二历史查询来确定与至少两个第二历史检索记录中的每一个相关联的特征信息。仅作为示例,对于至少两个第二分词的一个第二分词,特征信息可以包括与第二查询词和第二分词相关联的第一一致性参数、与第二TOI和第二分词相关联的第二一致性参数、与第二分词相关联的凝聚度参数、与第二分词相关联的左熵、与第二分词相关联的右熵、与第二分词相关联的自由度、第二TOI位于查询的开头或第二TOI的结尾的概率、以及与第二分词相关联的频率等。

如本申请所使用的,第一一致性参数可以指在第二历史查询中至少两个后续分词是单个词语的概率。以两个分词为例,概率可以是包括分词1和分词2、分词1和分词2是连续的且为单个词语的第二历史查询的第一数量与包括分词1和分词2的第二历史查询的第二数量之间的比值。如果第一计数是n,第二计数是m,则至少两个分词的一致性参数可以是n/m×100%。类似于第一一致性参数,第二一致性参数可以指在第二历史TOI中至少两个连续分词是单个词语的概率。

凝聚度参数可以指至少两个分词之间的相关性或内聚性,即,至少两个分词可以构成单个词语的概率。例如,楼主的凝聚度参数大于楼门的凝聚度参数。在一些实施例中,处理引擎112可以根据下面的公式(1)确定凝聚度参数:

Figure BDA0002017925200000281

其中,C指包含两个分词的词语1的凝聚度参数,其中,词语1可以拆分成分词1和分词2或分词3和分词4。P1指在语料数据库中词语1出现的概率,Pleft1指在语料数据库中分词1出现的概率,Pright2指在语料数据库中分词2出现的概率,Pleft3指在语料数据库中分词3出现的概率,以及Pright4指在语料数据库中分词4出现的概率。其中,语料数据库包括用于语言研究的书面文本或口头文本的集合。处理引擎112可以从本申请中其他地方公开的存储设备(例如,存储器140)、第三方(例如,外部数据库)等获取该语料数据库。

左熵可以指参考分词之前的分词和参考分词之间的组合的多样性。右熵可以指参考切分后面的分词和参考分词之间的组合的多样性。在一些实施例中,处理引擎112可以根据公式(2)和公式(3)分别确定左熵和右熵:

L=∑p(mi)×log(p(mi)) (2)

R=∑p(nj)×log(p(nj)) (3)

其中,L指左熵,mi指在语料数据库中出现在第一分词左边的第二分词的集合中的第i个第二分词,P(mi)指在语料数据库中第i个第二分词出现在第一分词左边的概率,R指右熵,ni指在语料数据库中出现在第一分词右边的第三分词的集合中的第j个第三分词,P(ni)指在语料数据库中第j个第三分词出现在第一分词右边的概率。

自由度可以指参考分词和其他分词之间组合的多样性。自由度可以与左熵或右熵相关联。在一些实施例中,处理引擎112可以根据公式(4)确定自由度:

F=min(L,R) (4)

其中,指F自由度,L指左熵,R指右熵。

在一些实施例中,处理引擎112可以基于候选第二历史检索记录和对应于候选第二历史检索记录的特征信息来确定至少两个训练样本。处理引擎112可以基于与至少两个第二历史检索记录相关联的特征信息来选择候选第二历史检索记录。对于候选第二历史检索记录,与候选第二历史检索记录相关联的特征信息满足第一预设的条件。在一些实施例中,第一预设的条件可以包括特征信息中的至少一个分别大于预设的阈值。例如,第一预设的条件可以包括第一一致性参数大于预设的阈值。又例如,第一预设的条件可以包括自由度大于预设的阈值。再例如,第一预设的条件可以包括第一一致性参数大于第一预设的阈值,并且自由度大于第二预设的阈值。

在一些实施例中,处理引擎112可以基于筛选出的(候选的)第二历史检索记录来确定至少两个训练样本。可以手动筛选出(候选)第二历史检索记录。专有名词识别系统100的提供者可以通过如互联网检索数据,并确定相应的(候选的)第二TOI是否实际包括相应的至少一个专有名词。

在一些实施例中,处理引擎112可以基于第二历史检索记录、候选第二历史检索记录或筛选出的(候选)第二历史检索记录来确定至少两个正训练样本和至少两个负样本。如本申请所使用的,至少两个正训练样本中的每一个可以包括第二历史查询和包括至少一个专有名词的第二TOI。至少两个负训练样本中的每一个可以包括第二历史查询和不包括任何专有名词的第二TOI。

在730中,处理引擎112(例如,模型训练模块440)(例如,处理器220的处理电路)可以确定初始识别模型。初始识别模型可以包括初始决策树模型(例如,初始二分类树模型)、初始朴素贝叶斯模型、初始增强树模型、初始最近邻模型、初始支持向量机模型等。

在740中,处理引擎112(例如,模型训练模块440)(例如,处理器220的处理电路)可以基于初始识别模型和至少两个训练样本的每一个的特征信息确定至少两个训练样本的至少两个样本概率。如本申请中其他地方所述,类似于第一概率,样本概率可以指词语(例如,第二TOI)包括至少一个专有名词的概率。

在一些实施例中,处理引擎112可以将至少两个训练样本的特征信息输入到训练好的识别模型中。训练好的识别模型可以输出样本概率。在一些实施例中,处理引擎112可以将至少两个训练样本输入训练好的识别模型。训练好的识别模型可以输出样本概率。

在750中,处理引擎112(例如,模型训练模块440)(例如,处理器220的处理电路)可以确定至少两个样本概率是否满足预设的条件。例如,处理引擎112可以确定初始识别模型的损失函数,并基于至少两个样本概率确定损失函数的值。进一步,处理引擎112可以确定损失函数的值是否小于阈值。阈值可以是专有名词识别系统100的默认设置,或者可以在不同情况下进行调整。

在760中,响应于确定至少两个样本概率满足预设的条件,处理引擎112(例如,模型训练模块440)(例如,处理器220的处理电路)可以将初始识别模型指定为训练好的识别模型。另一方面,响应于确定至少两个样本概率不满足预设的条件,处理引擎112可执行过程700并返回操作730以更新初始识别模型。例如,处理引擎112可以更新初始识别模型的一个或以上初步参数(例如,权重矩阵、偏差向量)以产生更新的识别模型。

进一步,处理引擎112可以确定更新的识别模型下的至少两个更新的样本概率是否满足预设的条件。响应于确定至少两个更新的样本概率满足预设的条件,处理引擎112可在760中将更新的识别模型指定为训练好的识别模型。另一方面,响应于确定至少两个更新的样本概率仍然不满足预设的条件,处理引擎112仍然可以执行过程700并返回到730以更新更新的识别模型,直到至少两个更新的样本概率满足预设的条件。

应当理解的是,以上描述仅出于说明的目的,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出多种修改和变化。然而,这些修改和变化不会背离本申请的范围。

图8是根据本申请的一些实施例所示的用于识别包括在目标查询词中的至少一个专有名词的示例性过程的流程图。在一些实施例中,过程800可以通过存储在只读存储器230或随机存取存储器240中的指令集(例如,应用程序)来实现。处理器220和/或图4中的模块可以执行该指令集,当执行该指令集时,处理器220和/或模块可以被配置为执行过程800。以下所示过程的操作仅出于说明的目的。在一些实施例中,过程800可以通过未描述的一个或以上附加操作和/或不通过一个或以上本申请讨论的操作来完成。另外,如图8中所示和下面描述的过程的操作顺序不旨在是限制性的。

在810中,处理引擎112(例如,专有名词识别模块450)(例如,处理器220的处理电路)可以获取包括目标查询词的检索请求。如510所述,检索请求可以指用于检索目标查询词的检索请求。目标查询词可以指用户想要检索的词语。仅作为示例,目标查询词的类型可以包括与运输检索请求或地图(例如,谷歌地图、百度地图、腾讯地图)导航检索请求相关联的词语(例如,地址)、与在线购物检索请求相关联词语(例如,商品)、与订餐检索请求相关联的词语(例如,食品)等。

在820中,处理引擎112(例如,专有名词识别模块450)(例如,处理器220的处理电路)可基于训练好的识别模型确定目标查询词是否包括至少一个专有名词。如图7所述,训练好的识别模型可以被配置为提供词语(例如,目标查询词)包括至少一个专有名词的概率。可以基于至少两个第二历史检索记录和初始识别模型来训练训练好的识别模型。更详细的描述可以在图7中找到,这里不再重复。

在830中,响应于确定概率大于预设的概率阈值,处理引擎112(例如,专有名词识别模块450)(例如,处理器220的处理电路)可以确定目标查询词包括至少一个专有名词。在一些实施例中,处理引擎112可以将概率与预设的概率阈值进行比较。响应于确定概率大于预设的概率阈值,处理引擎112可以确定目标查询词包括至少一个专有名词。如本申请所使用的,预设的概率阈值可以是专有名词识别系统100的默认设置,或者可以在不同情况下进行调整。

在一些实施例中,可以基于识别出的专有名词干预目标查询的切分。例如,专有名词系统100不会将专有名词切分成两个或以上的分词,从而基于该切分结果确定的TOI与目标查询更精确。在一些实施例中,若识别出的专有名词为新词,可以将其加入到编写好的词典中,可以增强词典的有效性。本实施例具备以下之一的技术效果:1.基于训练好的识别模型,可以实时判断用户检索请求中的查询词是否包含专有名词;2.基于判断出用户检索请求中的查询词包含专有名词,不切分该专有名词,系统确定的与查询词相关的TOI更准确,用户可以有效地选择出对应于查询词的检索词语,从而更有效地满足用户的检索需求。

应当理解的是,以上描述仅出于说明的目的,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出多种修改和变化。然而,这些修改和变化不会背离本申请的范围。

图9是根据本申请的一些实施例所示的用于基于包括至少两个专有名词的专有名词列表对TOI进行排序的示例性过程的流程图。在一些实施例中,过程900可以通过存储在只读存储器230或随机存取存储器240中的指令集(例如,应用程序)来实现。处理器220和/或图4中的模块可以执行该指令集,当执行该指令集时,处理器220和/或模块可以被配置为执行过程900。以下所示过程的操作仅出于说明的目的。在一些实施例中,过程900可以通过未描述的一个或以上附加操作和/或不通过一个或以上本申请讨论的操作来完成。另外,如图9中所示和下面描述的过程的操作顺序不旨在是限制性的。

在910中,处理引擎112(例如,TOI确定模块460)(例如,处理器220的处理电路)可以获取包括目标查询词的检索请求。如510或810所述,检索请求可以指用于检索目标查询词的检索请求。目标查询词可以指用户想要检索的词语。仅作为示例,目标查询词的类型可以包括与运输检索请求或地图(例如,谷歌地图、百度地图、腾讯地图)导航检索请求相关联的词语(例如,地址)、与在线购物检索请求相关联词语(例如,商品)、与订餐检索请求相关联的词语(例如,食品)等。

在920中,处理引擎112(例如,TOI确定模块460)(例如,处理器220的处理电路)可以确定与目标查询词相关联的一个或以上感兴趣的词语(TOI)。如本申请所使用的,TOI可以指用户可能感兴趣的与目标查询词相关联的词语。

在一些实施例中,处理引擎112可以先确定目标查询词中的前缀、关键词或短语中的至少一个,并基于所述前缀、关键词或短语确定一个或以上的TOI。

在一些实施例中,处理引擎112可以确定一个或以上TOI的相关系数。如本申请所使用的,相关系数可以表示目标查询词和TOI之间的相似性。相关系数越大,TOI和目标查询词之间的相似性越高,用户选择该TOI作为与目标查询词相关联的检索词语的概率越大。

在930中,处理引擎112(例如,TOI确定模块460)(例如,处理器220的处理电路)可基于包括至少两个专有名词的专有名词列表对一个或以上TOI的至少一部分进行排序。在一些实施例中,处理引擎112可以将目标查询词与专有名词列表上的专有名词进行比较。响应于确定目标查询词中包括专有名词列表中的至少一个专有名词,处理引擎112可以将包括至少一个专有名词的TOI靠前排列。在一些实施例中,处理引擎112可以将至少一个加权系数分配给至少一个专有名词。处理引擎112可以基于至少一个加权系数和TOI的相关系数,对一个或以上TOI中的至少一个进行排序。响应于确定目标查询词中不包括专有名词列表中的至少一个专有名词,处理引擎112可以基于TOI的相关系数对一个或以上TOI的至少一部分进行排列(例如,从大到小)。

本实施例具备以下之一的技术效果:1.对于包含专有名词的用户查询词,至少基于专有名词列表对与用户查询词相关的TOI进行排序,可将与用户查询词更相关的TOI靠前排列,排序更准确;2.将该排序结果展示给用户,用户可以有效地从排序结果中选择出对应于查询词的检索词语,从而更有效地满足用户的检索需求。

应当理解的是,以上描述仅出于说明的目的,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出多种修改和变化。然而,这些修改和变化不会背离本申请的范围。例如,处理引擎112可以在特定时间间隔(例如,每一个月,每两个月)基于至少两个新获取的第二历史检索记录更新训练好的识别模型。

上文已对基本概念做了描述,显然,对于阅读此申请后的本领域的普通技术人员来说,上述发明公开仅作为示例,并不构成对本申请的限制。虽然此处并没有明确说明,本领域技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。

同时,本申请使用了特定词语来描述本申请的实施例。例如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特性。因此,应当强调并注意的是,本说明书中在不同位置两次或以上提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定系指同一实施例。此外,本申请的一个或以上实施例中的某些特征、结构或特性可以进行适当的组合。

此外,本领域的普通技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的过程、机器、产品或物质的组合,或对其任何新的和有用的改良。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括韧体、常驻软件、微代码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“单元”、“模块”或“系统”。此外,本申请公开的各方面可以采取体现在一个或以上计算机可读介质中的计算机程序产品的形式,其中计算机可读程序代码包含在其中。

计算机可读信号介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。此类传播信号可以有多种形式,包括电磁形式、光形式等或任何合适的组合形式。计算机可读信号介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机可读信号介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质等或其任意组合。

本申请各部分操作所需的计算机程序编码可以用任意一种或以上程序语言编写,包括面向主体编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、Visual Basic、Fortran 2003、Perl、COBOL 2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。

此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。

同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或以上发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或以上发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。

35页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种术语替换方法及系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!