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

查询分析方法及系统、计算机可读存储介质及终端

文献发布时间:2023-06-19 16:04:54



技术领域

本公开涉及机器学习领域,尤其涉及一种查询分析方法及系统、计算机可读存储介质及终端。

背景技术

查询分析方法是搜索引擎的一个关键组成部分,它为召回和排序阶段提供指导意义。随着查询分析发现了更多的语义信息,搜索引擎能够更准确地理解用户的信息需求,并相应地为用户提供更满意的搜索结果。近年来,越来越多的研究工作致力于提升查询分析任务的效率。

需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。

发明内容

本公开的目的在于提供一种查询分析方法,至少在一定程度上克服相关技术中查询分析的效率有待提高的问题。

本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。

根据本公开的第一个方面,提供一种查询分析方法,上述方法包括:确定待查询语句对应的向量,得到待查询向量;将上述待查询向量输入训练后的第一模型,根据上述第一模型的输出得到伪标题向量,其中,上述伪标题向量包含上述待查询语句的后验检索信息;将上述待查询语句和上述伪标题向量输入训练后的第二模型,根据上述第二模型的输出确定上述待查询语句的目标预测,并基于上述目标预测进行查询分析。

在本公开一个实施例中,上述第一模型包括第一编码模型和第二编码模型,上述方法包括:获取N个训练样本,第i个训练样本包括第i查询语句和上述第i查询语句对应的第i标题集合,N为正整数,i为不大于N的正整数;将上述第i查询语句输入第一编码模型,得到上述第i查询语句对应的第i查询向量;将上述第i标题集合输入第二编码模型,得到上述第i标题集合对应的第i标题向量;根据上述第i查询向量和上述第i标题向量确定上述第一模型的第一损失函数;根据上述第一损失函数优化上述第一编码模型的参数及上述第二编码模型的参数,以确定上述训练后的第一模型。

在本公开一个实施例中,上述第一损失函数计算方法为:

在本公开一个实施例中,上述将上述待查询向量输入训练后的第一模型,根据上述第一模型的输出得到伪标题向量,包括:将上述待查询向量输入上述训练后的第一模型中的第一编码模型,根据上述第一编码模型的输出得到上述伪标题向量。

在本公开一个实施例中,上述第一模型包括第三编码模型和序列-序列模型,上述方法还包括:获取N个训练样本,第i个训练样本包括第i查询语句和上述第i查询语句对应的第i标题集合,N为正整数,i为不大于N的正整数;将上述第i查询语句输入上述第三编码模型,得到上述第i查询语句对应的上下文向量;通过上述序列-序列模型中的编码器,得到上述上下文向量对应的一组第一隐藏状态;将上述第一隐藏状态的最后一个隐藏状态作为上述第i查询语句对应的第i伪标题向量;确定上述第i标题集合对应的一组第一概率向量;将上述第一隐藏状态和上述第一概率向量输入上述序列-序列模型中的解码器,根据上述解码器的输出得到一组第二隐藏状态;将上述第二隐藏状态输入归一化指数函数,根据上述归一化指数函数的输出得到一组第二概率向量;根据上述第一概率向量和上述第二概率向量的交叉熵函数,确定上述第一模型的第二损失函数;根据上述第二损失函数优化上述第三编码模型的参数及上述序列-序列模型的参数,以确定上述训练后的第一模型。

在本公开一个实施例中,上述第二损失函数计算方法为:

在本公开一个实施例中,上述将上述待查询向量输入训练后的第一模型,根据上述第一模型的输出得到伪标题向量,包括:将上述待查询向量输入上述训练后的第一模型中的第三编码模型,得到上述待查询向量对应的上下文向量;通过上述训练后的第一模型中的序列-序列模型中的编码器,得到上述上下文向量对应的一组第一隐藏状态;将上述一组第一隐藏状态中最后一个隐藏状态确定为上述伪标题向量。

在本公开一个实施例中,上述方法还包括:获取上述第i查询语句对应的第i标签向量,得到N个训练样本;获取在第一模型中得到的上述第i查询语句对应的第i伪标题向量;对上述第i查询语句进行嵌入处理,得到第i嵌入序列;将上述第i伪标题向量和上述第i嵌入序列进行结合处理,并将结合处理后的向量输入至第四编码模型;根据上述第四编码模型的输出得到上述第i查询语句的第i目标表示;将上述第i目标表示输入上述归一化指数函数,根据上述归一化指数函数的输出得到上述目标预测;根据上述第i标签向量和上述目标预测的上述交叉熵函数,确定上述第二模型的第三损失函数;根据上述第三损失函数优化上述第四编码模型的参数,以确定训练后的第二模型。

在本公开一个实施例中,上述第三损失函数计算方法为:

在本公开一个实施例中,上述方法还包括:根据上述第三损失函数及上述第一损失函数或上述第二损失函数确定目标损失函数;根据上述目标损失函数优化上述第一模型和上述第二模型。

在本公开一个实施例中,上述目标损失函数计算方法为:minimizeLoss=Loss

在本公开一个实施例中,上述将上述待查询语句和上述伪标题向量输入训练后的第二模型,根据上述第二模型的输出确定上述待查询语句的目标预测,包括:将上述待查询向量对应的上下文向量进行嵌入处理,得到嵌入序列;将上述伪标题向量和上述嵌入序列进行结合处理,并将结合处理后的向量输入至第四编码模型;根据上述第四编码模型的输出得到上述待查询语句的目标表示;将上述目标表示输入上述归一化指数函数,根据上述归一化指数函数的输出得到上述目标预测。

根据本公开的第二个方面,提供一种查询分析系统,上述系统包括:转换模块,用于:确定待查询语句对应的向量,得到待查询向量;模拟模块,用于:将上述待查询向量输入第一模型,根据上述第一模型的输出得到伪标题向量,其中,上述伪标题向量包含上述待查询语句的后验检索信息;集成模块,用于:将上述待查询语句和上述伪标题向量输入第二模型,根据上述第二模型的输出确定上述待查询语句的目标预测,并基于上述目标预测进行查询分析。

根据本公开的第三个方面,提供一种终端,包括:存储器、处理器以及存储在上述存储器中并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现上述第一个方面的查询分析方法。

根据本公开的第四个方面,提供一种计算机可读存储介质,其上存储有计算机程序,上述计算机程序被处理器执行时实现上述的第一个方面或上述第二个方面的查询分析方法。

本公开的实施例所提供的查询分析方法及系统、计算机可读存储介质及终端,具备以下技术效果:

在本公开实施例提供的查询分析过程中,确定待查询语句对应的向量后,得到待查询向量,并将待查询向量输入训练后的第一模型,根据第一模型的输出得到伪标题向量。其中,伪标题向量包含待查询语句的后验检索信息。将待查询语句和伪标题向量输入训练后的第二模型,根据第二模型的输出确定待查询语句的目标预测,并基于目标预测进行查询分析。本技术方案以查询分析中的查询分类方法为例,将后验检索信息引入至先验检索信息场景中,使得分类器性能与之前的查询分类方法相比得到进一步提升,从而使查询分析的效率提升且性能增强。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了搜索引擎流程的示意图;

图2示意性示出了查询频率的统计图;

图3示意性示出了整体框架的结构图;

图4示意性示出了本公开一实施例提供的查询分析方法的流程图;

图5示意性示出了本公开实施例提供的检测方法训练阶段的流程图;

图6示意性示出了本公开实施例提供的检测方法的结构图;

图7示意性示出了本公开另一示例性的实施例提供的查询分析方法的流程图;

图8示意性示出了本公开实施例提供的生成方法训练阶段的流程图;

图9示意性示出了本公开实施例提供的生成方法的结构图;

图10示意性示出了本公开再一示例性的实施例提供的查询分析方法的流程图;

图11示意性示出了本公开实施例提供的集成模块训练阶段的流程图;

图12示意性示出了本公开实施例提供的一种待查询语句的目标表示的确定方法的流程图;

图13示意性示出了本公开一实施例提供的查询分析系统的结构图;

图14示意性示出了本公开一实施例提供的查询分析终端的框图。

具体实施方式

为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施例方式作进一步地详细描述。

下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本公开的一些方面相一致的系统和方法的例子。

在本公开的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本公开中的具体含义。此外,在本公开的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

参考图1所示的搜索引擎流程示意图,在一个设计良好的搜索引擎中,通常会设置有多个查询分析模块(Query Analysis Modules),包括先验查询分析(pre-retrieval QA)模块和后验查询分析(post-retrieval QA)模块。由于查询语句通常比较短小,如果只是单纯对查询本身的含义进行分析,则准确率会受到一定程度的限制。因此,搜索引擎中的查询分析模块会利用一些与查询语句相关的外部信息来丰富其含义。其中,外部信息可以分为两种:先验检索信息和后验检索信息。如图1所示,先验查询分析模块通常是所输入的查询(query)经过的第一个组件,它为召回(recalling)阶段和排序(ranking)阶段提供足够的先验检索信息,例如查询类别、查询关键概念等。后验分析模块提供在召回阶段和排序阶段之后生成后验检索信息,例如文档标题、摘要以及用户点击数据等。这些后验检索信息对于查询分析的准确性有着极大的帮助。

虽然利用先验查询分析模块的历史查询日志,可以在线获取后验检索信息,但这只对已经出现的查询有用,也就是说,在处理首次出现的新查询时,不能使用历史日志。参考图2,对某一搜索引擎中随机抽取的1000万个查询的搜索频率进行统计后,绘制关于查询频率(Query Frequency)和其相应的查询数量(Numbers of Queries)的频率统计图,可以发现频率分布是长尾式的,即有大量的查询为长尾数据,它们所拥有的样本数量十分稀少,而只有少量的查询所拥有的样本量充分,类内多样性丰富。然而,有限的样本数量不足以代表这个类别真实的分布情况。因此,获得新查询的后验检索信息来提高查询分析模块的性能会比较困难。

由于先验检索场景和长尾数据问题,在推断阶段很可能无法获得良好的后验检索信息。因此,有必要将后验检索的信息融合到先验查询分析模型中。针对上述技术背景和相关技术缺点,本技术方案着重解决如何在受限的先验检查询分析模型中引入后验检索信息来进一步提高查询分析方法性能的技术问题。

由于相关技术中存在后验检索信息在推断阶段无法获取的问题,因此本技术方案假设后验检索信息与先验检索信息有着较强的关联性,可以通过先验检索信息推断出大部分的后验检索信息。具体地,图3示出了根据本公开实施例提供的一种整体框架结构示意图。

参考图3,本技术方案提出了一个PostIF框架,此框架由两部分组成:模拟模块(Imitation Module)和集成模块(Integration Module)。模拟模块负责构建伪后验检索表示,集成模块负责有效地集成先验检索表示和伪后验检索表示。每一个模块都有各自的训练阶段(Training)与推断阶段(Inference)。在训练阶段的输入(Training Input)有查询语句以及其对应的标题,而在推断阶段的输入(Inference Input)只有查询语句。

对于模拟模块,本技术方案引入了两种伪后验检索表示学习策略:检测方法与生成方法。检测方法的目的是尽可能提高标题表示和查询表示之间的相似度,以学习它们之间的转换;生成方法的目的是通过在标题的指导下直接从查询中生成伪标题表示来实现标题与查询之间的转换。

查询分析任务有多种,包括查询分类(输入查询语句,输出其分类)、查询语句补全(输入查询的一部分,补全整个查询)、查询转化(找同义的查询语句替代输入的查询)等等。本技术方案中,以查询分析中的查询分类任务为例进行说明。

本技术方案中,先验检索信息使用查询语句作为先验检索信息,后验检索信息使用排名前5的检索文档标题。由此,提供一个查询语句集合Q={Q

在训练阶段,查询语句集合Q、标题集合T和标签集合Y都可获取。然而,在推断阶段,只有查询语句集合Q是可获取的,它用来推断每个查询语句的所属类别。

下面,将结合附图及实施例对本示例实施方式中的查询分析方法的各个步骤进行更详细的说明。

其中,图4示意性示出了根据本公开一示例性的实施例中查询分析方法的流程图。参考图4,该方法包括以下步骤:

S401,确定待查询语句对应的向量,得到待查询向量;

S402,将待查询向量输入训练后的第一模型,根据第一模型的输出得到伪标题向量,其中,伪标题向量包含待查询语句的后验检索信息;

S403,将待查询语句和伪标题向量输入训练后的第二模型,根据第二模型的输出确定待查询语句的目标预测,并基于目标预测进行查询分析。

在图4所示实施例提供的查询分析过程中,确定待查询语句对应的向量,得到待查询向量;将待查询向量输入训练后的第一模型,根据第一模型的输出得到伪标题向量,其中,伪标题向量包含待查询语句的后验检索信息;将待查询语句和伪标题向量输入训练后的第二模型,根据第二模型的输出确定待查询语句的目标预测,并基于目标预测进行查询分析。本技术方案以查询分析中的查询分类方法为例,将后验检索信息引入至先验检索信息场景中,使得分类器性能与之前的查询分类方法相比得到进一步提升,从而使查询分析的性能增强。

以下对图4所示实施例所包含的各个步骤的具体实施方式进行详细介绍,本实施例应用于训练后的整体框架:

在S401中,确定待查询语句对应的向量,得到待查询向量。

在本实施例中,待查询语句即为上述查询语句集合其中的一个查询语句,如图3所示在推断阶段输入的待查询语句Q

在S402中,将待查询向量输入训练后的第一模型,根据第一模型的输出得到伪标题向量,其中,伪标题向量包含待查询语句的后验检索信息。

在本实施例中,第一模型即上述模拟模块,即图3所示的Imitation Module。

在推断阶段,模拟模块会根据给定的查询语句重新构造其对应的标题表示。由于标题表示是通过查询生成的,不同于真实标题表示,因此将其命名为“伪标题表示”。对于模拟模块中的两种方法(检测方法和生成方法)中任意一个,将待查询向量经过计算处理后可以得到伪标题向量,即伪标题表示,如图3所示的t

在S403中,将待查询语句和伪标题向量输入训练后的第二模型,根据第二模型的输出确定待查询语句的目标预测,并基于目标预测进行查询分析。

在本实施例中,第二模型即上述集成模块,即图3所示的Integration Module。集成模块将获取的查询语句与模拟模块提供的伪标题表示进行处理,并做出目标预测,即预测的待查询语句的标签类别,如图3所示的

以下分别对PostIf框架中的模拟模块与集成模块的训练阶段进行介绍。

首先,通过图5和图6介绍通过检测方法训练模拟模块的实施例。

在示例性的实施例中,图5示例性示出了通过检测方法训练模拟模块的流程图。参考图5,该图所示实施例包括S501-S505。

在S501中,获取N个训练样本,第i个训练样本包括第i查询语句和第i查询语句对应的第i标题集合,N为正整数,i为不大于N的正整数。

参考图6所示的检测方法框架结构图。在本实施例中,训练阶段输入一个查询语句集合和其对应的标题集合。第i查询语句即Q

在S502中,将第i查询语句输入第一编码模型,得到第i查询语句对应的第i查询向量。

如图6所示,第一编码模型即BERT

在本实施例中,将第i查询语句输入BERT

在S503中,将第i标题集合输入第二编码模型,得到第i标题集合对应的第i标题向量。

如图6所示,第二编码模型即BERT

将第i标题集合输入BERT

在S504中,根据第i查询向量和第i标题向量确定第一模型的第一损失函数。

在示例性的实施例中,第一模型的损失函数即为在检测方法中模拟模块的损失函数。其计算方法为:

其中,minimize Loss

在S505中,根据第一损失函数优化第一编码模型的参数及第二编码模型的参数,以确定训练后的第一模型。

在本实施例中,在训练阶段通过不断地根据第一损失函数来优化模拟模块中两个编码器的参数,以提高标题与查询之间的相似度,最终得到训练后的模拟模块,并运用至推断阶段。

通过检测方法对模拟模块训练完成后,即可进入推断阶段。

在示例性的实施例中,图7示意性示出了根据本公开另一示例性的实施例中查询分析方法的流程图。具体地,图7是在图4的基础上实施的。其中,作为S402的一种具体实施方式,S702是基于图5所示实施例训练后的模拟模块实现的。

在本实施例中,步骤S702:将待查询向量输入训练后的第一模型中的第一编码模型,根据第一编码模型的输出得到伪标题向量。

根据前述说明,推断阶段无法获取查询语句对应的标题,因此对应于训练阶段,只需将待查询语句输入查询编码器中,得到待查询语句对应的查询向量,并以此查询向量作为伪标题向量。

综上所述,在检测方法中,如图6所示,在训练阶段,直接将t

通过上述实施例可以达成检测方法的目的:通过训练阶段来优化编码器的参数,使得模拟模块在推断阶段可以使用查询表示来代表标题表示。

接下来,通过图8和图9介绍通过生成方法训练模拟模块的实施例。

在示例性的实施例中,图8示例性示出了生成方法训练阶段的流程图。参考图8,该图所示实施例包括S801-S809。

在S801中,获取N个训练样本,第i个训练样本包括第i查询语句和第i查询语句对应的第i标题集合,N为正整数,i为不大于N的正整数。

参考图9所示的生成方法结构图,总体结构运用了seq2seq(序列-序列)模型,即一个Encoder–Decoder(编码器-解码器)结构的网络。编码器将输入转换为一个隐藏状态向量,其中包含输入序列的内容;解码器进行相反的过程,将向量转换为输出序列。

同上述检测方法的训练阶段,输入一个查询语句集合和其对应的标题集合。如图9所示,第i查询语句即Q

在S802中,将第i查询语句输入第三编码模型,得到第i查询语句对应的上下文向量。

在本实施例中,第三编码模型为BERT

在S803中,通过序列-序列模型中的编码器,得到上下文向量对应的一组第一隐藏状态。

在本实施例中,序列-序列模型即上述seq2seq模型。编码器使用LSTM(LongShort-Term Memory,长短期记忆)网络中的LSTM

将上下文向量输入LSTM

其中,

在S804中,将第一隐藏状态的最后一个隐藏状态作为第i伪标题向量。

在本实施例中,将上述实施例所得到的

在S805中,确定第i标题集合对应的一组第一概率向量。

在本实施例中,第i标题集合中第j个单词的真实概率向量即为上述第一概率向量,如图9所示,表示为

在S806中,将第一隐藏状态和第一概率向量输入序列-序列模型中的解码器,根据解码器的输出得到一组第二隐藏状态。

在本实施例中,序列-序列模型中的解码器使用LSTM

其中,

在S807中,将第二隐藏状态输入归一化指数函数,根据归一化指数函数的输出得到一组第二概率向量。

在本实施例中,归一化指数函数为Softmax函数。通过Softmax激活的全连接层计算第二概率向量:

其中,

在S808中,根据第一概率向量和第二概率向量的交叉熵函数,确定第一模型的第二损失函数。

在本实施例中,使用交叉熵函数来度量伪标题序列和真实标题序列的分布之间的差距。其中的伪标题序列即为上述第一概率向量

其中,minimize Loss′

在S809中,根据第二损失函数优化第三编码模型的参数及序列-序列模型的参数,以确定训练后的第一模型。

在本实施例中,在训练阶段通过不断地根据第二损失函数来优化模拟模块中第三编码模型的参数及序列-序列模型的参数,以学习查询与标题之间的转换,最终得到训练后的模拟模块,并运用至推断阶段。

通过生成方法对模拟模块训练完成后,即可进入推断阶段。

在示例性的实施例中,图10示意性示出了根据本公开再一示例性的实施例中查询分析方法的流程图。具体地,图10是在图4的基础上实施的。其中,作为S402的一种具体实施方式,S1002-S1004是基于图8所示实施例训练后的的模拟模块实现的。

在本实施例中,S1002:将待查询向量输入训练后的第一模型中的第三编码模型,得到待查询向量对应的上下文向量。

根据前述说明,推断阶段无法获取查询语句对应的标题,因此对应于训练阶段,首先将待查询语句输入BERT

在S1003中,通过训练后的第一模型中的序列-序列模型中的编码器,得到上下文向量对应的一组第一隐藏状态。

根据上述生成方法的训练阶段实施例,将上下文向量输入至LSTM

在S1004中,将一组第一隐藏状态中最后一个隐藏状态确定为伪标题向量。

在本实施例中,第一隐藏状态中的最后一个隐藏状态驱动文本序列生成,因此可将其作为模拟模块生成的伪标题表示。

综上所述,在生成方法中,如图9所示,在训练阶段与推断阶段,均使用各自阶段的样本中第一隐藏状态中的最后一个隐藏状态作为伪标题表示。

通过上述实施例可以达成生成方法的目的:通过训练阶段来优化编码器以及序列-序列模型的参数,使得模拟模块在推断阶段可以在标题的指导下直接从查询中生成伪标题表示。

在模拟模块完成训练时,输出的伪标题表示用于集成模块的训练。以下通过图11介绍集成模块的训练阶段的实施例。

在示例性的实施例中,图11示例性示出了集成模块训练阶段的流程图。参考图11,该图所示实施例包括S1101-S1108。

在S1101中,获取第i查询语句对应的第i标签向量,得到N个训练样本。

在本实施例中,参考图3所示的整体框架结构图,需要使用在上述模拟模块的训练阶段输入的第i查询语句Q

在S1102中,获取在第一模型中得到的第i查询语句对应的第i伪标题向量。

在本实施例中,如图3所示,在第一模型,即模拟模块训练完成后,需要获取上述模拟模块训练阶段的输出t′

在S1103中,对第i查询语句进行嵌入处理,得到第i嵌入序列。

参考图3,在本实施例中,获取第i查询语句后,对其进行嵌入处理。同上所述,第i查询语句Q

在S1104中,将第i伪标题向量和第i嵌入序列进行结合处理,并将结合处理后的向量输入至第四编码模型。

参考图3,在本实施例中,将第i伪标题向量t′

在S1105中,根据第四编码模型的输出得到第i查询语句的第i目标表示。

C

在S1106中,将第i目标表示输入归一化指数函数,根据归一化指数函数的输出得到目标预测。

目标预测的计算方法为:

其中,W

在S1107中,根据第i标签向量和目标预测的交叉熵函数,确定第二模型的第三损失函数。

在本实施例中,第三损失函数即集成模块的损失函数,计算方法为:

其中,minimize Loss

在S1108中,根据第三损失函数优化第四编码模型的参数,以确定训练后的第二模型。

在本实施例中,通过最终预测和真实标签向量的交叉熵来计算集成模块的损失函数,并根据集成模块的损失函数优化BERT

本技术方案中,在完成对模拟模块与集成模块的训练之后,会对两个模块进行整体训练。训练方法如下:

首先,根据第三损失函数及第一损失函数或第二损失函数确定目标损失函数。

其中,最终损失函数,即目标损失函数的计算方法为:

minimize Loss=Loss

minimize Loss=Loss

其中,minimize Loss表示计算目标损失函数,Loss

其次,根据目标损失函数优化第一模型和第二模型。

即通过最终损失函数来控制模拟模块和集成模块的重要性比重,优化模拟模块和集成模块。

对通过图11所示实施例对集成模块训练完成后,即可进入推断阶段。

在示例性的实施例中,图12示例性示出了一种待查询语句的目标表示的确定方法的流程图,具体地,图12是在图4的基础上实施的。其中,作为步骤S403的一种具体实施方式,S1201-S1204是基于图11所示实施例训练后的集成模块实现的。

在S1201中,将待查询向量对应的上下文向量进行嵌入处理,得到嵌入序列。

在S1202中,将伪标题向量和嵌入序列进行结合处理,并将结合处理后的向量输入至第四编码模型。

在S1203中,根据第四编码模型的输出得到待查询语句的目标表示。

在S1204中,将目标表示输入归一化指数函数,根据归一化指数函数的输出得到目标预测。

同上述集成模块训练阶段的实施例,推断阶段除不用进行损失函数的计算之外,其他步骤的原理均相同,此处不再赘述。

通过上述实施例可以达成集成模块的目的:将从输入查询中获取的查询信息与模拟模块提供的标题信息进行融合,并据此做出最终预测。

参考表1所示的不同方法下的查询分析结果,本实验以查询分析中的查询分类方法为例,从真实的搜索日志中随机选择了100万条查询语句及查询下搜索到的前五名的标题所构造的数据集,实验结果如表1所示:

表1

如表1所示,第一列中的目录Catergory下有两种数据集,分别为二级类别数据集Second-level和一级类别数据集First-level。第二列中,对于每种数据集,分别给出了八个查询分析方法Method,其中有六种原始baseline方法,分别为:BERT、ERNIE、BERT-Finetune、Feature Transfer、PFD以及BERT-Title,其余两种为本技术方案所提出的方法:PostIF-Detective(检测方法)以及PostIF-Generative(生成方法)。第三列中,列出了验证数据集Validation Set上的实验结果;第四列中,列出了测试数据集Test Set上的实验结果。对于每个数据集,有四个评价指标,分别为:准确率Accuracy、精准度Precision、召回率Recall以及F1分数F1-score。

根据实验结果可得知,通过使用本技术方案的PostIF框架,查询分析的性能得到了显著提升。随着后验检索信息的引入与融合,分类器性能(准确率、精确度、召回率、F1分数)与之前的查询分类方法相比,得到了进一步的提升。

在示例性的实施例中,图13示意性示出了根据本公开另一示例性的实施例中查询分析系统的结构图。请参见图13:

在示例性的实施例中,上述查询分析系统1300包括:转换模块1301,模拟模块1302,以及集成模块1303。

其中,转换模块1301,用于:确定待查询语句对应的向量,得到待查询向量;

其中,模拟模块1302,用于:将待查询向量输入第一模型,根据第一模型的输出得到伪标题向量,其中,伪标题向量包含待查询语句的后验检索信息;

其中,集成模块1303,用于:将待查询语句和伪标题向量输入第二模型,根据第二模型的输出确定待查询语句的目标预测,并基于目标预测进行查询分析。

需要说明的是,上述实施例提供的数据同步系统在执行查询分析方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的查询分析系统与查询分析方法实施例属于同一构思,因此对于本公开系统实施例中未披露的细节,请参照本公开上述的查询分析方法的实施例,这里不再赘述。

上述本公开实施例序号仅仅为了描述,不代表实施例的优劣。

本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任一实施例方法的步骤。其中,计算机可读存储介质可以包括但不限于任何类型的盘,包括软盘、光盘、DVD、CD-ROM、微型驱动器以及磁光盘、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪速存储器设备、磁卡或光卡、纳米系统(包括分子存储器IC),或适合于存储指令和/或数据的任何类型的媒介或设备。

本公开实施例还提供了一种终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述任一实施例方法的步骤。

图14示意性示出了根据本公开一示例性的实施例中终端的结构图。请参见图14所示,终端1400包括有:处理器1401和存储器1402。

本公开实施例中,处理器1401为计算机系统的控制中心,可以是实体机的处理器,也可以是虚拟机的处理器。处理器1401可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1401可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable GateArray,现场可编程门阵列)、PLA(ProgrammableLogicArray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1401也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(CentralProcessing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。

在本公开实施例中,上述处理器1401具体用于:

确定待查询语句对应的向量,得到待查询向量;将上述待查询向量输入训练后的第一模型,根据上述第一模型的输出得到伪标题向量,其中,上述伪标题向量包含上述待查询语句的后验检索信息;将上述待查询语句和上述伪标题向量输入训练后的第二模型,根据上述第二模型的输出确定上述待查询语句的目标预测,并基于上述目标预测进行查询分析。

进一步地,在本公开一个实施例中,上述第一模型包括第一编码模型和第二编码模型,上述方法包括:获取N个训练样本,第i个训练样本包括第i查询语句和上述第i查询语句对应的第i标题集合,N为正整数,i为不大于N的正整数;将上述第i查询语句输入第一编码模型,得到上述第i查询语句对应的第i查询向量;将上述第i标题集合输入第二编码模型,得到上述第i标题集合对应的第i标题向量;根据上述第i查询向量和上述第i标题向量确定上述第一模型的第一损失函数;根据上述第一损失函数优化上述第一编码模型的参数及上述第二编码模型的参数,以确定上述训练后的第一模型。

可选的,上述第一损失函数计算方法为:

可选的,上述将上述待查询向量输入训练后的第一模型,根据上述第一模型的输出得到伪标题向量,包括:将上述待查询向量输入上述训练后的第一模型中的第一编码模型,根据上述第一编码模型的输出得到上述伪标题向量。

可选的,上述第一模型包括第三编码模型和序列-序列模型,上述方法还包括:获取N个训练样本,第i个训练样本包括第i查询语句和上述第i查询语句对应的第i标题集合,N为正整数,i为不大于N的正整数;将上述第i查询语句输入上述第三编码模型,得到上述第i查询语句对应的上下文向量;通过上述序列-序列模型中的编码器,得到上述上下文向量对应的一组第一隐藏状态;将上述第一隐藏状态的最后一个隐藏状态作为上述第i查询语句对应的第i伪标题向量;确定上述第i标题集合对应的一组第一概率向量;将上述第一隐藏状态和上述第一概率向量输入上述序列-序列模型中的解码器,根据上述解码器的输出得到一组第二隐藏状态;将上述第二隐藏状态输入归一化指数函数,根据上述归一化指数函数的输出得到一组第二概率向量;根据上述第一概率向量和上述第二概率向量的交叉熵函数,确定上述第一模型的第二损失函数;根据上述第二损失函数优化上述第三编码模型的参数及上述序列-序列模型的参数,以确定上述训练后的第一模型。

可选的,上述第二损失函数计算方法为:

可选的,上述将上述待查询向量输入训练后的第一模型,根据上述第一模型的输出得到伪标题向量,包括:将上述待查询向量输入上述训练后的第一模型中的第三编码模型,得到上述待查询向量对应的上下文向量;通过上述训练后的第一模型中的序列-序列模型中的编码器,得到上述上下文向量对应的一组第一隐藏状态;将上述一组第一隐藏状态中最后一个隐藏状态确定为上述伪标题向量。

可选的,上述方法还包括:获取上述第i查询语句对应的第i标签向量,得到N个训练样本;获取在第一模型中得到的上述第i查询语句对应的第i伪标题向量;对上述第i查询语句进行嵌入处理,得到第i嵌入序列;将上述第i伪标题向量和上述第i嵌入序列进行结合处理,并将结合处理后的向量输入至第四编码模型;根据上述第四编码模型的输出得到上述第i查询语句的第i目标表示;将上述第i目标表示输入上述归一化指数函数,根据上述归一化指数函数的输出得到上述目标预测;根据上述第i标签向量和上述目标预测的上述交叉熵函数,确定上述第二模型的第三损失函数;根据上述第三损失函数优化上述第四编码模型的参数,以确定训练后的第二模型。

可选的,上述第三损失函数计算方法为:

可选的,上述方法还包括:根据上述第三损失函数及上述第一损失函数或上述第二损失函数确定目标损失函数;根据上述目标损失函数优化上述第一模型和上述第二模型。

可选的,上述目标损失函数计算方法为:minimizeLoss=Loss

可选的,上述将上述待查询语句和上述伪标题向量输入训练后的第二模型,根据上述第二模型的输出确定上述待查询语句的目标预测,包括:将上述待查询向量对应的上下文向量进行嵌入处理,得到嵌入序列;将上述伪标题向量和上述嵌入序列进行结合处理,并将结合处理后的向量输入至第四编码模型;根据上述第四编码模型的输出得到上述待查询语句的目标表示;将上述目标表示输入上述归一化指数函数,根据上述归一化指数函数的输出得到上述目标预测。

存储器1402可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1402还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在本公开的一些实施例中,存储器1402中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1401所执行以实现本公开实施例中的方法。

一些实施例中,终端1400还包括有:外围设备接口1403和至少一个外围设备。处理器1401、存储器1402和外围设备接口1403之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1403相连。具体地,外围设备包括:显示屏1404、摄像头1405和音频电路14014中的至少一种。

外围设备接口1403可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1401和存储器1402。在本公开的一些实施例中,处理器1401、存储器1402和外围设备接口1403被集成在同一芯片或电路板上;在本公开的一些其他实施例中,处理器1401、存储器1402和外围设备接口1403中的任意一个或两个可以在单独的芯片或电路板上实现。本公开实施例对此不作具体限定。

显示屏1404用于显示UI(UserInterface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1404是触摸显示屏时,显示屏1404还具有采集在显示屏1404的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1401进行处理。此时,显示屏1404还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在本公开的一些实施例中,显示屏1404可以为一个,设置终端1400的前面板;在本公开的另一些实施例中,显示屏1404可以为至少两个,分别设置在终端1400的不同表面或呈折叠设计;在本公开的再一些实施例中,显示屏1404可以是柔性显示屏,设置在终端1400的弯曲表面上或折叠面上。甚至,显示屏1404还可以设置成非矩形的不规则图形,也即异形屏。显示屏1404可以采用LCD(Liquid CrystalDisplay,液晶显示屏)、OLED(OrganicLight-EmittingDiode,有机发光二极管)等材质制备。

摄像头1405用于采集图像或视频。可选地,摄像头1405包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(VirtualReality,虚拟现实)拍摄功能或者其它融合拍摄功能。在本公开的一些实施例中,摄像头1405还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。

音频电路1406可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1401进行处理。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1400的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。

电源1407用于为终端1400中的各个组件进行供电。电源1407可以是交流电、直流电、一次性电池或可充电电池。当电源1407包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。

本公开实施例中示出的终端结构框图并不构成对终端1400的限定,终端1400可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

在本公开中,术语“第一”、“第二”等仅用于描述的目的,而不能理解为指示或暗示相对重要性或顺序;术语“多个”则指两个或两个以上,除非另有明确的限定。术语“安装”、“相连”、“连接”、“固定”等术语均应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接;“相连”可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本公开中的具体含义。

本公开的描述中,需要理解的是,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本公开和简化描述,而不是指示或暗示所指的系统或单元必须具有特定的方向、以特定的方位构造和操作,因此,不能理解为对本公开的限制。

以上上述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,依本公开权利要求所作的等同变化,仍属本公开所涵盖的范围。

相关技术
  • 查询分析方法及系统、计算机可读存储介质及终端
  • 慢查询日志分析方法、系统、电子设备及计算机可读存储介质
技术分类

06120114693344