CN113094604B - 搜索结果排序方法、搜索方法及装置 - Google Patents
搜索结果排序方法、搜索方法及装置 Download PDFInfo
- Publication number
- CN113094604B CN113094604B CN202110405668.4A CN202110405668A CN113094604B CN 113094604 B CN113094604 B CN 113094604B CN 202110405668 A CN202110405668 A CN 202110405668A CN 113094604 B CN113094604 B CN 113094604B
- Authority
- CN
- China
- Prior art keywords
- search result
- query
- query statement
- search
- semantic
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9538—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例提供搜索结果排序方案。在该搜索结果排序方案中,从查询语句相邻关系图中获取查询语句的相邻查询语句,所述查询语句相邻关系图用于指示查询语句之间的相邻关系,其中,两个查询语句之间存在相邻关系表示该两个查询语句存在至少一条相同的点击搜索结果。确定查询语句的各个搜索结果与查询语句集之间的语义匹配度,所述查询语句集包括查询语句和相邻查询语句。使用点击率预测模型来根据搜索发起用户的用户特征数据、查询语句的第一文本特征数据和各个搜索结果的第二文本特征数据,预测各个搜索结果的点击率预测结果。然后,根据各个搜索结果的语义匹配度和点击率预测结果,对各个搜索结果进行排序。
Description
技术领域
本说明书实施例通常涉及互联网领域,尤其涉及搜索结果排序方法及装置以及搜索方法及装置。
背景技术
使用搜索引擎来在互联网上搜索信息成为一种重要的信息获取方式。随着互联网的发展,互联网上的信息内容越来越丰富,从而使得输入查询语句后会搜索到海量搜索结果,海量搜索结果随后会按照一定顺序提供给用户,如果用户期望的搜索结果排序在前,则用户能够更快地获取所需信息。由此,期望一种能够对海量搜索结果进行排序以使得用户期望的搜索结果排序在前的搜索结果排序方案。
发明内容
鉴于上述,本说明书实施例提供一种搜索方案,该搜索方案根据搜索结果的语义匹配度和点击率预测结果来对搜索结果进行排序,从而使得排序结果更加符合用户的搜索意图。
根据本说明书实施例的一个方面,提供一种用于对查询语句的搜索结果进行排序的方法,包括:从查询语句相邻关系图中获取所述查询语句的相邻查询语句,所述查询语句相邻关系图用于指示查询语句之间的相邻关系,其中,两个查询语句之间存在相邻关系表示该两个查询语句存在至少一条相同的点击搜索结果;确定所述查询语句的各个搜索结果与查询语句集之间的语义匹配度,所述查询语句集包括所述查询语句和所述相邻查询语句;使用点击率预测模型来根据搜索发起用户的用户特征数据、所述查询语句的第一文本特征数据和各个搜索结果的第二文本特征数据,预测各个搜索结果的点击率预测结果;以及根据各个搜索结果的语义匹配度和点击率预测结果,对各个搜索结果进行排序。
可选地,在上述方面的一个示例中,确定所述查询语句的各个搜索结果与查询语句集之间的语义匹配度包括:使用语义匹配模型确定所述查询语句的各个搜索结果与查询语句集之间的语义匹配度。
可选地,在上述方面的一个示例中,所述语义匹配模型包括语言表征模型和Attention模型,使用语义匹配模型来确定各个搜索结果与查询语句集之间的语义匹配度包括:将所述查询语句集中的每个查询语句分别提供给所述语言表征模型,得到各个查询语句的语义表达向量;将各个搜索结果分别提供给所述语言表征模型,得到各个搜索结果的语义表达向量;以及使用所述Attention模型来根据各个搜索结果的语义表达向量以及所述查询语句集中的各个查询语句的语义表达向量,确定各个搜索结果与查询语句集之间的语义匹配度。
可选地,在上述方面的一个示例中,使用所述Attention模型来根据各个搜索结果的语义表达向量以及所述查询语句集中的各个查询语句的语义表达向量,确定各个搜索结果与查询语句集之间的语义匹配度包括:针对每个搜索结果,将所述查询语句集中的各个查询语句的语义表达向量分别与该搜索结果的语义表达向量一起提供给Attention模型,确定该搜索结果与各个查询语句之间的语义匹配度;以及根据该搜索结果与各个查询语句之间的语义匹配度,确定该搜索结果与查询语句集之间的语义匹配度。
可选地,在上述方面的一个示例中,根据该搜索结果与各个查询语句之间的语义匹配度,确定该搜索结果与查询语句集之间的语义匹配度包括:将该搜索结果与各个查询语句之间的语义匹配度中的最大语义匹配度,确定为该搜索结果与查询语句集之间的语义匹配度;或者将该搜索结果与各个查询语句之间的语义匹配度的平均语义匹配度,确定为该搜索结果与查询语句集之间的语义匹配度。
可选地,在上述方面的一个示例中,使用所述Attention模型来根据各个搜索结果的语义表达向量以及所述查询语句集中的各个查询语句的语义表达向量,确定各个搜索结果与查询语句集之间的语义匹配度包括:对所述查询语句集中的各个查询语句的语义表达向量进行拼接;针对每个搜索结果,将该搜索结果的语义表达向量以及经过拼接后的各个查询语句的语义表达向量提供给Attention模型,确定该搜索结果与查询语句集之间的语义匹配度。
可选地,在上述方面的一个示例中,所述查询语句是用于应用程序查询的查询语句,每个应用程序具有应用程序标题和应用程序关键词,所述语义匹配模型包括语言表征模型和Attention模型,使用语义匹配模型来确定各个搜索结果与查询语句集之间的语义匹配度包括:将所述查询语句集中的每个查询语句分别提供给所述语言表征模型,得到各个查询语句的语义表达向量;以及使用Attention模型来根据各个搜索结果的语义表达向量以及所述查询语句集中的各个查询语句的语义表达向量,确定各个搜索结果与查询语句集之间的语义匹配度,其中,各个搜索结果的语义表达向量通过将各个搜索结果的应用程序标题以及应用程序关键词提供给所述语言表征模型来预先确定出。
可选地,在上述方面的一个示例中,所述点击率预测模型包括主预测模型和偏差预测模型,使用点击率预测模型来基于搜索发起用户的用户特征数据、所述查询语句的第一文本特征数据和各个搜索结果的第二文本特征数据,预测各个搜索结果的点击率预测结果包括:将搜索发起用户的用户特征数据、所述查询语句的第一文本特征数据和各个搜索结果的第二文本特征数据提供给主预测模型,预测各个搜索结果的第一点击率预测结果;以及将所述用户特征数据和各个搜索结果的第二文本特征数据提供给偏差预测模型,预测各个搜索结果的第二点击率预测结果。
可选地,在上述方面的一个示例中,根据各个搜索结果的语义匹配度和点击率预测结果,对各个搜索结果进行排序包括:对各个搜索结果的语义匹配度和点击率预测结果进行级联处理;将各个搜索结果的级联处理结果提供给全连接层,得到各个搜索结果的排序得分;以及基于各个搜索结果的排序得分,对各个搜索结果进行排序。
可选地,在上述方面的一个示例中,所述查询语句相邻关系图中的两个相邻查询语句之间具有相邻关联度,从查询语句相邻关系图中获取所述查询语句的相邻查询语句包括:从查询语句相邻关系图中获取所述查询语句的相邻查询语句,所获取的相邻查询语句具有满足预定规则的相邻关联度。
可选地,在上述方面的一个示例中,所述预定规则包括下述规则中的一个规则:所具有的相邻关联度不小于预定关联度;所具有的相邻关联度在所述查询语句的所有相邻查询语句的相邻关联度中为Top K,其中,K为预定整数或者百分比。
根据本说明书的实施例的另一方面,提供一种搜索方法,包括:响应于接收到用户经由客户端设备上的搜索引擎客户端输入的查询语句,在搜索引擎数据库中搜索所述查询语句的搜索结果;从查询语句相邻关系图中获取所述查询语句的相邻查询语句,所述查询语句相邻关系图用于指示查询语句之间的相邻关系,其中,两个查询语句之间存在相邻关系表示该两个查询语句存在相同的点击搜索结果;确定各个搜索结果与查询语句集之间的语义匹配度,所述查询语句集包括所述查询语句和所述相邻查询语句;使用点击率预测模型来根据搜索发起用户的用户特征数据、所述查询语句的第一文本特征数据和各个搜索结果的第二文本特征数据,预测各个搜索结果的点击率预测结果;根据各个搜索结果的语义匹配度和点击率预测结果,对各个搜索结果进行排序;以及将经过排序后的搜索结果提供给所述客户端设备。
根据本说明书的实施例的另一方面,提供一种用于对查询语句的搜索结果进行排序的装置,所述装置包括:至少一个处理器,与所述至少一个处理器耦合的存储器,以及存储在所述存储器中的计算机程序,所述至少一个处理器执行所述计算机程序来实现:从查询语句相邻关系图中获取所述查询语句的相邻查询语句,所述查询语句相邻关系图用于指示查询语句之间的相邻关系,其中,两个查询语句之间存在相邻关系表示该两个查询语句存在相同的点击搜索结果;确定所述查询语句的各个搜索结果与查询语句集之间的语义匹配度,所述查询语句集包括所述查询语句和所述相邻查询语句;使用点击率预测模型来根据搜索发起用户的用户特征数据、所述查询语句的第一文本特征数据和各个搜索结果的第二文本特征数据,预测各个搜索结果的点击率预测结果;以及根据各个搜索结果的语义匹配度和点击率预测结果,对各个搜索结果进行排序。
可选地,在上述方面的一个示例中,所述至少一个处理器执行所述计算机程序来实现:使用语义匹配模型确定所述查询语句的各个搜索结果与查询语句集之间的语义匹配度。
可选地,在上述方面的一个示例中,所述语义匹配模型包括语言表征模型和Attention模型,所述至少一个处理器执行所述计算机程序来实现:将所述查询语句集中的每个查询语句分别提供给所述语言表征模型,得到各个查询语句的语义表达向量;将各个搜索结果分别提供给所述语言表征模型,得到各个搜索结果的语义表达向量;以及使用所述Attention模型来根据各个搜索结果的语义表达向量以及所述查询语句集中的各个查询语句的语义表达向量,确定各个搜索结果与查询语句集之间的语义匹配度。
可选地,在上述方面的一个示例中,所述至少一个处理器执行所述计算机程序来实现:针对每个搜索结果,将所述查询语句集中的各个查询语句的语义表达向量分别与该搜索结果的语义表达向量一起提供给Attention模型,确定该搜索结果与各个查询语句之间的语义匹配度;以及根据该搜索结果与各个查询语句之间的语义匹配度,确定该搜索结果与查询语句集之间的语义匹配度。
可选地,在上述方面的一个示例中,所述至少一个处理器执行所述计算机程序来实现:将该搜索结果与各个查询语句之间的语义匹配度中的最大语义匹配度,确定为该搜索结果与查询语句集之间的语义匹配度;或者将该搜索结果与各个查询语句之间的语义匹配度的平均语义匹配度,确定为该搜索结果与查询语句集之间的语义匹配度。
可选地,在上述方面的一个示例中,所述至少一个处理器执行所述计算机程序来实现:对所述查询语句集中的各个查询语句的语义表达向量进行拼接;针对每个搜索结果,将该搜索结果的语义表达向量以及经过拼接后的各个查询语句的语义表达向量提供给Attention模型,确定该搜索结果与查询语句集之间的语义匹配度。
可选地,在上述方面的一个示例中,所述查询语句是用于应用程序查询的查询语句,每个应用程序具有应用程序标题和应用程序关键词,所述语义匹配模型包括语言表征模型和Attention模型,所述至少一个处理器执行所述计算机程序来实现:将所述查询语句集中的每个查询语句分别提供给所述语言表征模型,得到各个查询语句的语义表达向量;以及使用Attention模型来根据各个搜索结果的语义表达向量以及所述查询语句集中的各个查询语句的语义表达向量,确定各个搜索结果与查询语句集之间的语义匹配度,其中,各个搜索结果的语义表达向量通过将各个搜索结果的应用程序标题以及应用程序关键词提供给所述语言表征模型来预先确定出。
根据本说明书的实施例的另一方面,提供一种搜索引擎,所述搜索引擎包括:至少一个处理器,与所述至少一个处理器耦合的存储器,以及存储在所述存储器中的计算机程序,所述至少一个处理器执行所述计算机程序来实现:响应于接收到用户经由客户端设备上的搜索引擎客户端输入的查询语句,在搜索引擎数据库中搜索所述查询语句的搜索结果;从查询语句相邻关系图中获取所述查询语句的相邻查询语句,所述查询语句相邻关系图用于指示查询语句之间的相邻关系,其中,两个查询语句之间存在相邻关系表示该两个查询语句存在相同的点击搜索结果;确定各个搜索结果与查询语句集之间的语义匹配度,所述查询语句集包括所述查询语句和所述相邻查询语句;使用点击率预测模型来根据搜索发起用户的用户特征数据、所述查询语句的第一文本特征数据和各个搜索结果的第二文本特征数据,预测各个搜索结果的点击率预测结果;根据各个搜索结果的语义匹配度和点击率预测结果,对各个搜索结果进行排序;以及将经过排序后的搜索结果提供给所述客户端设备。
根据本说明书的实施例的另一方面,提供一种搜索系统,所述搜索系统包括:客户端设备,所述客户端设备安装有搜索引擎客户端,所述客户端设备经由所述搜索引擎客户端向搜索引擎发送查询语句;以及如上所述的搜索引擎。
根据本说明书的实施例的另一方面,提供一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行来实现如上所述的搜索结果排序方法。
根据本说明书的实施例的另一方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行来实现如上所述的搜索结果排序方法。
根据本说明书的实施例的另一方面,提供一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行来实现如上所述的搜索方法。
根据本说明书的实施例的另一方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行来实现如上所述的搜索方法。
附图说明
通过参照下面的附图,可以实现对于本说明书内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。
图1示出了根据本说明书的实施例的搜索系统的示例性应用场景。
图2示出了根据本说明书的实施例的示例性搜索系统。
图3示出了根据本说明书的实施例的示例性用户界面。
图4示出了根据本说明书的实施例的用于构建查询语句相邻关系图的过程的流程图。
图5示出了根据本说明书的实施例的查询语句相邻关系图的示例示意图。
图6示出了根据本说明书的实施例的搜索过程的示例流程图。
图7示出了根据本说明书的实施例的搜索结果排序过程的示例流程图。
图8示出了根据本说明书的实施例的搜索结果评分过程的示例流程图。
图9示出了根据本说明书的实施例的客户端设备上呈现的搜索结果的示例示意图。
图10示出了根据本说明书的实施例的搜索结果排序装置的方框图。
图11示出了根据本说明书的实施例的语义匹配度确定单元的一个实现示例的方框图。
图12示出了根据本说明书的实施例的语义匹配度确定模块的一个实现示例的方框图。
图13示出了根据本说明书的实施例的语义匹配度确定模块的另一实现示例的方框图。
图14示出了根据本说明书的实施例的语义匹配度确定单元的另一实现示例的方框图。
图15示出了根据本说明书的实施例的搜索结果排序单元的一个实现示例的方框图。
图16示出了根据本说明书的实施例的基于计算机实现的搜索结果排序装置的示意图。
图17示出了根据本说明书的实施例的基于计算机实现的搜索引擎的示意图。
具体实施方式
现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本说明书内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
随着互联网的发展,互联网上的信息内容越来越丰富,从而使得输入查询语句后会搜索到海量搜索结果,海量搜索结果随后会以一定的呈现顺序提供给用户。在向用户进行搜索结果呈现时,如果与用户的搜索意愿关联性较低的搜索结果被排序在与用户的搜索意愿关联性较高的搜索结果之前呈现给用户,则会使得用户不能更快地获取到更为有效的信息。
鉴于上述,本说明书的实施例提出一种搜索结果排序方案。在该搜索结果排序方案中,根据点击日志数据构建出查询语句相邻关系图。在搜索出查询语句的多个搜索结果后,使用点击率预测模型来根据搜索发起用户的用户特征数据、查询语句的文本特征数据和各个搜索结果的文本特征数据,预测各个搜索结果的点击率预测结果。随后,从查询语句相邻关系图中获取查询语句的相邻查询语句,并且确定出各个搜索结果与查询语句集之间的语义匹配度,所述查询语句集包括查询语句和所获取的相邻查询语句。然后,根据所确定出的各个搜索结果的语义匹配度和点击率预测结果,对各个搜索结果进行排序。按照这种搜索结果排序方案,在进行搜索结果排序时,同时考虑搜索结果的语义匹配度以及搜索结果的点击率预测结果,从而使得搜索结果的排序结果更加符合用户的搜索意愿。此外,在该搜索结果排序方案中,搜索结果的语义匹配度基于查询语句及其相邻查询语句来确定出,而不是仅仅考虑查询语句,从而使得所确定出的语义匹配度更加准确,由此进一步提升搜索结果的排序结果与用户的搜索意愿之间的符合度。
下面将结合附图来详细描述根据本说明书实施例的搜索结果排序方案以及搜索方案。
图1示出了根据本说明书的实施例的搜索系统100的示例性应用场景。
在图1中,网络110被应用于在终端设备120和搜索引擎130之间进行互连。网络110可以是能够对网络实体进行互连的任何类型的网络。网络110可以是单个网络或各种网络的组合。在覆盖范围方面,网络110可以是局域网(LAN)、广域网(WAN)等。在承载介质方面,网络110可以是有线网络、无线网络等。在数据交换技术方面,网络110可以是电路交换网络、分组交换网络等。
在一些实施例中,网络320可以是有线网络或无线网络中的任意一种或多种。网络320的示例可以包括但不限于电缆网络、光纤网络、电信网络、企业内部网络、互联网、局域网络(LAN)、广域网络(WAN)、无线局域网络(WLAN)、城域网(MAN)、公共交换电话网络(PSTN)、蓝牙网络、紫蜂网络(ZigZee)、近场通讯(NFC)、设备内总线、设备内线路等或其任意组合。
终端设备120可以是能够连接到网络110、访问网络110上的服务器或网站、处理数据或信号等的任何类型的电子计算设备。例如,终端设备120可以是台式计算机、笔记本电脑、平板电脑、智能电话等。尽管在图1中仅示出了一个终端设备,但是应当理解,可以有不同数量的终端设备连接到网络110。
在一种实施方式中,终端设备120可以由用户使用。终端设备120可以包括可为用户提供搜索服务的搜索引擎客户端122。在一些情况下,搜索引擎客户端122可以与搜索引擎130进行交互。例如,搜索引擎客户端122可以将用户输入的查询语句传送到搜索引擎130,并且从搜索引擎130接收响应于所输入的查询语句而搜索到的搜索结果。
搜索引擎130可以连接到或包含搜索引擎数据库140。搜索引擎130可以响应于接收到查询语句,在搜索引擎数据库140中搜索出对应的搜索结果。在本说明书中,搜索引擎数据库140可以包括搜索引擎提供商自身创建的搜索引擎数据库和/或第三方搜索引擎数据库。优选地,第三方数据库可以包括公共数据库,被授权使用的第三方数据库,或者以其它合法途径获取的第三方数据库。搜索引擎数据库140的示例可以包括但不限于资讯数据库、网页数据库、图片数据库、视频数据库、音频数据库等。
应当理解,图1中所示的所有网络实体都是示例性的,根据具体的应用需求,应用场景100中可以涉及任何其它网络实体。
图2示出了根据本说明书的实施例的示例性搜索系统200。
搜索系统200可以包括用于呈现搜索窗口的用户界面(UI)210。搜索窗口可以供用户使用来输入查询语句以及向用户呈现搜索结果。
搜索系统200可以包括核心处理模块220。核心处理模块220被配置用于通过与搜索系统200的其它模块协作,在搜索系统运行期间提供处理能力。
核心处理模块220可以获得用户在搜索窗口中输入的查询语句。查询语句可以采用各种多媒体形式,例如文本格式、语音格式、图像格式、视频格式等。
核心处理模块220可以调用应用程序接口(API)模块240中的处理模块来处理各种形式的查询语句。API模块240可以包括语音处理模块242和图像处理模块244等。对于语音格式的查询语句,语音处理模块244可以对该语音格式的查询语句执行语音到文本转换以获得文本语句。此外,可选地,在得到搜索结果后,语音处理模块244可以将搜索结果转换为语音格式来输出给用户。对于图像格式的查询语句,图像处理模块246可以对图像格式的查询语句执行图像识别以生成相应的文本。同样,在得到搜索结果后,语音处理模块244可以将搜索结果转换为图像格式来输出给用户。此外,在进行搜索之前,如果还需要对查询语句进行文本处理,则API模块240还可以包括文本处理模块246。文本处理模块246对该文本格式的查询语句执行相应的文本处理。
此外,尽管在图2中未示出,API模块240还可以包括任何其它处理模块。例如,API模块240可以包括视频处理模块,该视频处理模块用于与核心处理模块220协作以处理视频格式的查询语句,并且将搜索结果转换为视频格式输出给用户。
核心处理模块220可以使用数据库250来确定搜索结果和/或获取相邻查询语句。
数据库250可以包括搜索引擎数据库252。搜索引擎数据库252可以包括可由核心处理模块220提取作为搜索结果的多种数据。搜索引擎数据库252中的数据的示例可以包括但不限于:网页数据、小程序、应用、生活号等。搜索引擎数据库252可以使用例如来自互联网的数据来建立。
数据库250可以包括查询语句的相邻关系图254(下文中称为查询语句相邻关系图)。这里,查询语句相邻关系图254基于点击日志数据来构建,并且可以利用从网络中抓取的越来越多的点击日志数据来持续地扩大。查询语句相邻关系图的构建过程将在下面参照图4详细描述。
搜索系统200可以包括模块集260,该模块集260包括可被核心处理模块220操作来获取和处理搜索结果的功能模块集合。
模块集260可以包括相邻关系图构建模块261、搜索结果获取模块262、相邻查询语句获取模块263、语义匹配模块264、点击率预测模块265、搜索结果排序模块266和搜索结果提供模块267。根据本说明书的实施例,相邻关系图构建模块261被配置为根据日志点击数据来构建查询语句相邻关系图。搜索结果获取模块262被配置为响应于查询语句在搜索引擎数据库252中搜索出匹配的搜索结果。相邻查询语句获取模块263被配置为从查询语句相邻关系图中获取查询语句的相邻查询语句。语义匹配模块264被配置为确定各个搜索结果与包含查询语句及其相邻查询语句的查询语句集之间的语义匹配度。点击率预测模块265被配置为使用点击率预测模型来预测各个搜索结果的点击率预测结果。搜索结果排序模块266被配置为根据语义匹配度和点击率预测结果来对各个搜索结果进行排序。搜索结果提供模块267被配置为将经过排序后的搜索结果提供给用户。
根据一些实施例,经过排序后的搜索结果可以由核心处理模块220提供给响应队列或响应高速缓存234。例如,响应高速缓存234可以确保能够以预定义的时间流或显示顺序来显示经过排序后的搜索结果(搜索结果序列)。然后,响应队列或响应高速缓存234中的搜索结果序列可以进一步传送到UI 210,以便可以在搜索窗口中将搜索结果显示给用户。
假设对于一个查询语句,核心处理模块220确定出不少于两个搜索结果。例如,如果用户输入的查询语句是“鸟为什么会飞?”,则可能确定出两个搜索结果,例如,第一搜索结果“因为鸟有翅膀”和第二搜索结果“鸟扇动翅膀会产生升力”,并且第一搜索结果排序在前。经过排序后的搜索结果序列存储在响应队列或响应高速缓存234中。然后,响应高速缓存234将搜索结果序列提供给用户。在一个示例中,响应高速缓存234可以管理将要发送的搜索结果以及针对每个搜索结果的适当定时。例如,可以通过响应高速缓存234,搜索引擎可以确保立即向用户提供第一搜索结果。此外,搜索引擎可以确保以例如1或2秒的时间延迟来提供第二搜索结果,使得第二搜索结果将在第一搜索结果之后的1或2秒提供给用户。在另一示例中,响应高速缓存234可以将搜索结果序列按照顺序一次性地提供给用户。可选地,在另一示例中,搜索系统200也可以不包括响应队列/响应高速缓存234。
应当理解,图2中的搜索系统200中所示的所有模块都是示例性的,并且根据具体的应用需求,在搜索系统200中可以省略任何所示的模块并且可以涉及任何其它模块。
图3示出了根据本说明书的实施例的示例性用户界面300。
用户界面300被包括在终端设备中,并且可以包括查询语句输入区域310、搜索结果呈现区域320和控制区域330。查询语句输入区域310供用户输入查询语句。例如,输入查询语句“公积金服务”。此外,查询语句输入区域310中还可以设置有按钮“取消”,用于供用户取消所输入的查询语句。搜索结果呈现区域320显示搜索引擎提供的搜索结果。搜索结果呈现区域320可以包括整体呈现区域321和个体呈现区域323。整体呈现区域321用于呈现搜索结果的整体属性信息。例如,在搜索结果都属于服务类的搜索结果时,在整体呈现区域321中显示“公积金服务-服务”。此外,在整体呈现区域321中还可以设置有用于呈现全部结果的按钮“全部”。个体呈现区域323用于呈现各个搜索结果。例如,搜索结果“公积金查询-杭州市”、“全国公积金查询-全国”、“公积金办理-杭州市”等。控制区域330包括多个虚拟按钮以用于用户执行消息输入设置。例如,用户可以通过控制区域330来选择进行语音输入、视频输入等。
应当注意,图3中所示的所有模块及其布局都是示例性的。根据具体的应用需求,图3中的用户界面可以省略或添加任何模块,并且图3中的用户界面中的模块的布局也可以以各种方式改变。
图4示出了根据本说明书的实施例的用于构建查询语句相邻关系图的过程400的流程图。
如图4所示,在410,获取日志点击数据。例如,可以获取预定时间段内的日志点击数据。日志点击数据至少包括被点击的搜索结果以及对应的查询语句。可选地,在一个示例中,日志点击数据还可以包括该被点击的搜索结果在每个查询语句下的点击数。在另一示例中,日志点击数据还可以包括点击搜索结果的用户的唯一标识信息(用户标识信息)。
在420,分析所获取的日志点击数据以确定具有相邻关系的查询语句对。例如,对于查询语句1和查询语句2,如果查询语句1的点击搜索结果中存在一个点击搜索结果属于查询语句2的点击搜索结果,则查询语句1和查询语句2之间具有相邻关系,由此查询语句1和查询语句2构成具有相邻关系的查询语句对。在一个示例中,查询语句1和查询语句2之间可以存在仅仅一个共同点击搜索结果。在另一示例中,查询语句1和查询语句2之间可以存在至少两个共同点击搜索结果。此外,可选地,在一个示例中,点击搜索结果可以包括有效点击搜索结果。有效点击搜索结果是指点击次数不低于预定阈值的点击搜索结果。在这种情况下,如果查询语句1的有效点击搜索结果中存在一个有效点击搜索结果属于查询语句2的有效点击搜索结果,则查询语句1和查询语句2之间具有相邻关系。
在430,根据查询语句对的共同点击搜索结果的点击次数,确定各个查询语句对之间的相邻关联度。
在查询语句1和查询语句2之间存在仅仅一个共同点击搜索结果的情况下,假设共同搜索结果为A,查询语句1下点击搜索结果A的点击次数为Q1_clickA,查询语句2下点击搜索结果A的点击次数为Q2_clickA,查询语句1和查询语句2的搜索结果的总点击次数分别为Q1_clickNum和Q2_clickNum,则查询语句1和查询语句2之间的相邻关联度为(Q1_clickA+Q2_clickA)/(Q1_clickNum+Q2_clickNum)。
在查询语句1和查询语句2之间存在至少两个共同点击搜索结果的情况下,该两个查询语句之间的相邻关联度根据该至少两条相同的点击搜索结果的总点击次数以及该两个相邻查询语句的搜索结果的总点击次数确定。例如,假设共同搜索结果为A和B,查询语句1下点击搜索结果A和B的点击次数为Q1_clickA和Q1_clickB,查询语句2下点击搜索结果A和B的点击次数分别为Q2_clickA和Q2_clickB,查询语句1和查询语句2的搜索结果的总点击次数分别为Q1_clickNum和Q2_clickNum,则查询语句1和查询语句2之间的相邻关联度为(Q1_clickA+Q2_clickA+Q1_clickB+Q2_clickB)/(Q1_clickNum+Q2_clickNum)。
在440,根据所确定出的查询语句对以及对应的相邻关联度,构建查询语句相邻关系图。图5示出了根据本说明书的实施例的查询语句相邻关系图的示例示意图。在图5的示例中,每个节点表示一个查询语句,节点之间存在边连接则表示该两个查询语句之间具有相邻关系,每个边上的数值“Rij”表示节点i和j之间的相邻关联度。
在如上构建出查询语句相邻关系图后,可以将所构建的查询语句相邻关系图应用于根据本说明书的实施例的搜索过程。图6示出了根据本说明书的实施例的搜索过程600的示例流程图。
如图6所示,在610,接收到用户经由客户端设备上的搜索引擎客户端输入的查询语句。例如,用户可以采用文本输入、语音输入、图像输入或视频输入的方式输入文本格式、语音格式、图像格式或视频格式的查询语句“公积金服务”。
在620,在搜索引擎数据库中搜索所接收到的查询语句的搜索结果。搜索引擎数据库140可以包括搜索引擎提供商自身创建的搜索引擎数据库和/或第三方搜索引擎数据库。优选地,第三方数据库可以包括公共数据库,被授权使用的第三方数据库,或者以其它合法途径获取的第三方数据库。所得到的搜索结果包括至少两条搜索结果。
在630,对所得到的各个搜索结果进行排序。
图7示出了根据本说明书的实施例的搜索结果排序过程700的示例流程图。
如图7所示,在710,从查询语句相邻关系图中获取查询语句的相邻查询语句。所述查询语句相邻关系图用于指示查询语句之间的相邻关系,其中,两个查询语句之间存在相邻关系表示该两个查询语句存在相同的点击搜索结果。在一个示例中,从查询语句相邻关系图中获取查询语句的所有相邻查询语句。在另一示例中,从查询语句相邻关系图中获取查询语句的部分相邻查询语句,所获取的部分相邻查询语句具有满足预定规则的相邻关联度。所述预定规则的示例可以包括但不限于下述规则中的一个规则:所具有的相邻关联度不小于预定关联度;所具有的相邻关联度在所述查询语句的所有相邻查询语句的相邻关联度中为Top K,其中,K为预定整数或者百分比,例如,Top10或Top10%。在本说明书中,所获取的相邻查询语句与所输入的查询语句组成查询语句集。
在720,确定各个搜索结果与查询语句集之间的语义匹配度。在本说明书中,可以采用各种合适的语义匹配方式来确定出各个搜索结果与查询语句集之间的语义匹配度。可选地,在一个示例中,可以使用语义匹配模型确定各个搜索结果与查询语句集之间的语义匹配度。这里,语义匹配模型可以利用语料数据来预先训练好。然后,针对每个搜索结果,将该搜索结果与查询语句集的各个查询语句输入到语义匹配模型来确定出该搜索结果与查询语句集之间的语义匹配度。
根据一些实施例,语义匹配模型可以包括语言表征模型和Attention模型。所述语言表征模型的示例可以包括但不限于Bert(Bidirectional Encoder Representationfrom Transformers)模型、CNN模型、DNN模型和RNN模型等。在进行语义匹配时,将查询语句集中的每个查询语句分别提供给语言表征模型,得到各个查询语句的语义表达向量。随后,将各个搜索结果分别提供给语言表征模型,得到各个搜索结果的语义表达向量。然后,使用Attention模型来根据各个搜索结果的语义表达向量以及查询语句集中的各个查询语句的语义表达向量,确定各个搜索结果与查询语句集之间的语义匹配度。这里,根据各个搜索结果的语义表达向量以及查询语句集中的各个查询语句的语义表达向量确定各个搜索结果与查询语句集之间的语义匹配度可以采用多种方式实现。
可选地,在一个示例中,针对每个搜索结果,将查询语句集中的各个查询语句的语义表达向量分别与该搜索结果的语义表达向量一起提供给Attention模型,确定该搜索结果与各个查询语句之间的语义匹配度。然后,根据该搜索结果与各个查询语句之间的语义匹配度,确定该搜索结果与查询语句集之间的语义匹配度。例如,在一个示例中,可以将该搜索结果与各个查询语句之间的语义匹配度中的最大语义匹配度,确定为该搜索结果与查询语句集之间的语义匹配度。或者,在另一示例中,可以将该搜索结果与各个查询语句之间的语义匹配度的平均语义匹配度,确定为该搜索结果与查询语句集之间的语义匹配度。
可选地,在另一示例中,首先,对查询语句集中的各个查询语句的语义表达向量进行拼接。然后,针对每个搜索结果,将该搜索结果的语义表达向量以及经过拼接后的各个查询语句的语义表达向量提供给Attention模型,确定该搜索结果与查询语句集之间的语义匹配度。
在730,使用点击率预测模型来根据输入查询语句的用户(搜索发起用户)的用户特征数据、所输入的查询语句的文本特征数据(第一文本特征数据)和各个搜索结果的文本特征数据(第二文本特征数据),预测各个搜索结果的点击率预测结果。这里,点击率预测模型预先使用用户特征数据、查询语句的文本特征数据和搜索结果的文本特征数据来训练出。点击率预测模型的示例可以包括但不限于DNN模型、wide&deep模型、deepFM模型等。在本说明书中,用户特征数据可以包括但不限于:用户行为序列数据、用户偏好数据、用户画像数据等等中的至少一种。
根据一些实施例,点击率预测模型可以包括主预测模型和偏差预测模型。在进行点击率预测时,将用户特征数据、查询语句的文本特征数据和各个搜索结果的文本特征数据提供给主预测模型,预测出各个搜索结果的第一点击率预测结果。接着,将用户特征数据和各个搜索结果的文本特征数据提供给偏差预测模型,预测出各个搜索结果的第二点击率预测结果。然后,将第一点击率预测结果和第二点击率预测结果作为最终点击率预测结果。或者,根据第一点击率预测结果和第二点击率预测结果确定出最终点击率预测结果。例如,将第一点击率预测结果和第二点击率预测结果级联后提供给全连接层来得出最终点击率预测结果。可选地,在另一示例中,点击率预测模型可以仅仅包括主预测模型。
在740,根据各个搜索结果的语义匹配度和点击率预测结果,对各个搜索结果进行排序。
例如,在一个示例中,首先,对各个搜索结果的语义匹配度和点击率预测结果进行级联处理。随后,将各个搜索结果的级联处理结果提供给全连接层,得到各个搜索结果的排序得分。然后,基于各个搜索结果的排序得分,对各个搜索结果进行排序。
图8示出了根据本说明书的实施例的搜索结果评分过程800的示例流程图。在图8的示例中,查询语句是用于应用程序查询的查询语句,每个应用程序具有应用程序标题和应用程序关键词,语义匹配模型包括Bert模型和Attention模型,以及点击率预测模型包括主预测模型和偏差预测模型。
如图8所示,在如上得到查询语句的相邻查询语句构建出查询语句集后,将查询语句集中的每个查询语句分别提供给Bert模型,得到各个查询语句的语义表达向量。随后,针对每个搜索结果,将该搜索结果的语义表达向量以及查询语句集中的各个查询语句的语义表达向量分别提供给Attention模型来确定出该搜索结果与每个查询语句之间的语义匹配度。然后,根据该搜索结果与每个查询语句之间的语义匹配度,确定出该搜索结果与查询语句集之间的语义匹配度。例如,可以将该搜索结果与每个查询语句之间的语义匹配度中的最大语义匹配度,确定为该搜索结果与查询语句集之间的语义匹配度。或者,可以将该搜索结果与每个查询语句之间的语义匹配度中的平均语义匹配度,确定为该搜索结果与查询语句集之间的语义匹配度。所得到的语义匹配度可以利用一个数值来表示,例如,2.5。
此外,在该示例中,搜索结果是从预先设定的应用程序集(搜索引擎数据库)中搜索出,从而可以通过将各个应用程序的应用程序标题(搜索结果主题)以及应用程序关键词(搜索结果关键词)提供给Bert模型来预先确定出各个应用程序的语义表达向量,由此无需实时确定。此外,要说明的是,在图8中示出的示例中,每个查询语句、搜索结果主题和搜索结果关键词都示出为提供给一个Bert模型来得到语义向量表达。在其它实施例中,可以仅仅训练出一个Bert模型,然后将每个查询语句、搜索结果主题和搜索结果关键词分别提供给所训练出的Bert模型,得到各个查询语句、搜索结果主题和搜索结果关键词的语义表达向量。
此外,如图8中所示,将用户特征数据、查询语句文本特征数据和搜索结果文本特征数据提供给主预测模型得到第一点击率预测结果(主预测结果),以及将用户特征数据和搜索结果文本特征数据提供给偏差预测模型得到第二点击率预测结果(偏差预测结果)。所得到的第一点击率预测结果和第二点击率预测结果可以分别用两个数值来表示,例如,第一点击率预测结果为8,以及第二点击率预测结果为1.2。
接着,针对每个搜索结果,将所得到的第一点击率预测结果(8)、第二点击率预测结果(1.2)和语义匹配度(2.5)提供给Concat层(级联层)来进行级联处理,由此得到级联结果[8,1.2,2.5]。然后,将级联结果[8,1.2,2.5]提供给全连接层,由此得到搜索结果评分。全连接层输出的评分例如可以为87等。此外,可选地,在全连接层后还可以增加激活函数,例如,sigmoid函数。激活函数将所得到的搜索结果评分映射到[0,1]区间的一个数值,作为搜索结果评分。
回到图6,在如上对各个搜索结果进行排序后,在640,将经过排序后的搜索结果提供给客户端设备来进行搜索结果呈现,由此将搜索结果提供给用户。图9示出了根据本说明书的实施例的客户端设备上呈现的搜索结果的示例示意图。
如上参照图1到图9对根据本说明书的实施例的搜索结果排序方法、搜索方法进行了描述。
利用上述搜索结果排序方案,在进行搜索结果排序时,同时考虑搜索结果的语义匹配度以及搜索结果的点击率预测结果,从而使得搜索结果的排序结果更加符合用户的搜索意愿。此外,在该搜索结果排序方案中,搜索结果的语义匹配度基于查询语句及其相邻查询语句来确定出,而不是仅仅考虑查询语句,从而使得所确定出的语义匹配度更加准确,由此进一步提升搜索结果的排序结果与用户的搜索意愿之间的符合度。
此外,利用上述搜索结果排序方案,通过使用语义匹配模型来确定各个搜索结果与查询语句集之间的语义匹配度,可以使得所确定出的语义匹配度更加准确。
此外,利用上述搜索结果排序方案,通过使用基于Attention机制的语义匹配模型来确定各个搜索结果与查询语句集之间的语义匹配度,可以进一步提升所确定出的语义匹配度的精度。
此外,利用上述搜索结果排序方案,通过使用主预测模型和偏差预测模型来预测各个搜索结果的点击率预测结果,可以进一步提升所确定出的点击率预测结果的精度。
图10示出了根据本说明书的实施例的搜索排序装置1000的方框图。如图10所示,搜索结果排序装置1000包括相邻查询语句获取单元1010、语义匹配度确定单元1020、点击率预测单元1030和搜索结果排序单元1040。
相邻查询语句获取单元1010被配置为从查询语句相邻关系图中获取查询语句的相邻查询语句,所述查询语句相邻关系图用于指示查询语句之间的相邻关系,其中,两个查询语句之间存在相邻关系表示该两个查询语句存在至少一条相同的点击搜索结果。
语义匹配度确定单元1020被配置为确定查询语句的各个搜索结果与查询语句集之间的语义匹配度,所述查询语句集包括查询语句和所述相邻查询语句。
点击率预测单元1030被配置为使用点击率预测模型来根据搜索发起用户的用户特征数据、查询语句的第一文本特征数据和各个搜索结果的第二文本特征数据,预测各个搜索结果的点击率预测结果。
搜索结果排序单元1040被配置为根据各个搜索结果的语义匹配度和点击率预测结果,对各个搜索结果进行排序。
根据一些实施例,语义匹配度确定单元1020可以被配置为使用语义匹配模型确定查询语句的各个搜索结果与查询语句集之间的语义匹配度。
图11示出了根据本说明书的实施例的语义匹配度确定单元1100的一个实现示例的方框图。如图11所示,语义匹配度确定单元1100包括查询语句语义表达模块1110、搜索结果语义表达模块1120和语义匹配度确定模块1130。在图11示出的示例中,语义匹配模型包括语言表征模型和Attention模型。
查询语句语义表达模块1110被配置为将查询语句集中的每个查询语句分别提供给语言表征模型,得到各个查询语句的语义表达向量。
搜索结果语义表达模块1120被配置为将各个搜索结果分别提供给语言表征模型,得到各个搜索结果的语义表达向量。
语义匹配度确定模块1130被配置为使用Attention模型来根据各个搜索结果的语义表达向量以及所述查询语句集中的各个查询语句的语义表达向量,确定各个搜索结果与查询语句集之间的语义匹配度。
要说明的是,在图11的示例中,查询语句语义表达模块1110可以与搜索结果语义表达模块1120采用不同模块实现。在本说明书的其它实施例中,查询语句语义表达模块1110可以与搜索结果语义表达模块1120采用同一模块实现。
图12示出了根据本说明书的实施例的语义匹配度确定模块1200的一个实现示例的方框图。如图12所示,语义匹配度确定模块1200包括语义匹配度计算子模块1210和语义匹配度确定子模块1220。
针对每个搜索结果,语义匹配度计算子模块1210将查询语句集中的各个查询语句的语义表达向量分别与该搜索结果的语义表达向量一起提供给Attention模型,确定该搜索结果与各个查询语句之间的语义匹配度。然后,语义匹配度确定子模块1220根据该搜索结果与各个查询语句之间的语义匹配度,确定该搜索结果与查询语句集之间的语义匹配度。
在一个示例中,语义匹配度确定子模块1220将该搜索结果与各个查询语句之间的语义匹配度中的最大语义匹配度,确定为该搜索结果与查询语句集之间的语义匹配度。在另一示例中,语义匹配度确定子模块1220将该搜索结果与各个查询语句之间的语义匹配度的平均语义匹配度,确定为该搜索结果与查询语句集之间的语义匹配度。
图13示出了根据本说明书的实施例的语义匹配度确定模块1300的另一实现示例的方框图。如图13所示,语义匹配度确定模块1300包括向量拼接子模块1310和语义匹配度确定子模型1320。
向量拼接子模块1310被配置为对查询语句集中的各个查询语句的语义表达向量进行拼接。针对每个搜索结果,语义匹配度确定子模型1320将该搜索结果的语义表达向量以及经过拼接后的各个查询语句的语义表达向量提供给Attention模型,确定该搜索结果与查询语句集之间的语义匹配度。
图14示出了根据本说明书的实施例的语义匹配度确定单元1400的另一实现示例的方框图。在图14的示例中,查询语句是用于应用程序查询的查询语句,每个应用程序具有应用程序标题和应用程序关键词,语义匹配模型包括语言表征模型和Attention模型。如图14所示,语义匹配度确定单元1400包括查询语句语义表达模块1410和语义匹配度确定模块1420。
查询语句语义表达模块1410被配置为将查询语句集中的每个查询语句分别提供给所述语言表征模型,得到各个查询语句的语义表达向量。然后,语义匹配度确定模块1420使用Attention模型来根据各个搜索结果的语义表达向量以及所述查询语句集中的各个查询语句的语义表达向量,确定各个搜索结果与查询语句集之间的语义匹配度。在该示例中,各个搜索结果的语义表达向量通过将各个搜索结果的应用程序标题以及应用程序关键词提供给语言表征模型来预先确定出。
图15示出了根据本说明书的实施例的搜索结果排序单元1500的一个实现示例的方框图。如图15所示,搜索结果排序单元1500包括级联模块1510、排序得分确定模块1520和排序模块1530。
级联模块1510被配置为对各个搜索结果的语义匹配度和点击率预测结果进行级联处理。排序得分确定模块1520将各个搜索结果的级联处理结果提供给全连接层,得到各个搜索结果的排序得分。排序模块1530基于各个搜索结果的排序得分,对各个搜索结果进行排序。
如上参照图1到图15,对根据本说明书实施例的搜索结果排序方法、搜索结果排序装置、搜索方法、搜索引擎及搜索系统进行了描述。上面的搜索结果排序装置和搜索引擎可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。
图16示出了根据本说明书的实施例的基于计算机实现的搜索结果排序装置1600的示意图。如图16所示,搜索结果排序装置1600可以包括至少一个处理器1610、存储器(例如,非易失性存储器)1620、内存1630和通信接口1640,并且至少一个处理器1610、存储器1620、内存1630和通信接口1640经由总线1660连接在一起。至少一个处理器1610执行在存储器中存储或编码的计算机程序(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器中存储计算机程序,其当执行时使得至少一个处理器1610:从查询语句相邻关系图中获取查询语句的相邻查询语句,所述查询语句相邻关系图用于指示查询语句之间的相邻关系,其中,两个查询语句之间存在相邻关系表示该两个查询语句存在至少一条相同的点击搜索结果;确定查询语句的各个搜索结果与查询语句集之间的语义匹配度,查询语句集包括查询语句和相邻查询语句;使用点击率预测模型来根据搜索发起用户的用户特征数据、查询语句的第一文本特征数据和各个搜索结果的第二文本特征数据,预测各个搜索结果的点击率预测结果;以及根据各个搜索结果的语义匹配度和点击率预测结果,对各个搜索结果进行排序。
应该理解,在存储器中存储的计算机程序当执行时使得至少一个处理器1610进行本说明书的各个实施例中以上结合图1-15描述的各种操作和功能。
图17示出了根据本说明书的实施例的基于计算机实现的搜索引擎1700的示意图。如图17所示,搜索引擎1700可以包括至少一个处理器1710、存储器(例如,非易失性存储器)1720、内存1730和通信接口1740,并且至少一个处理器1710、存储器1720、内存1730和通信接口1740经由总线1760连接在一起。至少一个处理器1710执行在存储器中存储或编码的计算机程序(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器中存储计算机程序,其当执行时使得至少一个处理器1710:响应于接收到用户经由客户端设备上的搜索引擎客户端输入的查询语句,在搜索引擎数据库中搜索查询语句的搜索结果;从查询语句相邻关系图中获取查询语句的相邻查询语句,查询语句相邻关系图用于指示查询语句之间的相邻关系,其中,两个查询语句之间存在相邻关系表示该两个查询语句存在相同的点击搜索结果;确定各个搜索结果与查询语句集之间的语义匹配度,查询语句集包括查询语句和相邻查询语句;使用点击率预测模型来根据搜索发起用户的用户特征数据、查询语句的第一文本特征数据和各个搜索结果的第二文本特征数据,预测各个搜索结果的点击率预测结果;根据各个搜索结果的语义匹配度和点击率预测结果,对各个搜索结果进行排序;以及将经过排序后的搜索结果提供给客户端设备。
应该理解,在存储器中存储的计算机程序当执行时使得至少一个处理器1710进行本说明书的各个实施例中以上结合图1-15描述的各种操作和功能。
根据一个实施例,提供了一种比如计算机可读介质(例如,非暂时性计算机可读介质)的程序产品。计算机可读介质可以具有计算机程序(即,上述以软件形式实现的元素),该计算机程序当被处理器执行时,使得处理执行本说明书的各个实施例中以上结合图1-15描述的各种操作和功能。具体地,可以提供配有计算机可读存储介质的系统或者装置,在该计算机可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该计算机可读存储介质中的计算机程序。
在这种情况下,从计算机可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此计算机可读代码和存储计算机可读代码的计算机可读存储介质构成了本发明的一部分。
可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
根据一个实施例,提供一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序当被处理器执行时,使得处理器执行本说明书的各个实施例中以上结合图1-15描述的各种操作和功能。
本领域技术人员应当理解,上面公开的各个实施例可以在不偏离发明实质的情况下做出各种变形和修改。因此,本发明的保护范围应当由所附的权利要求书来限定。
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元或模块可以通过机械方式或电气方式实现。例如,一个硬件单元、模块或处理器可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元或处理器还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。
Claims (24)
1.一种用于对查询语句的搜索结果进行排序的方法,包括:
从查询语句相邻关系图中获取所述查询语句的相邻查询语句,所述查询语句相邻关系图用于指示查询语句之间的相邻关系,其中,两个查询语句之间存在相邻关系表示该两个查询语句存在至少一条相同的点击搜索结果;
确定所述查询语句的各个搜索结果与查询语句集之间的语义匹配度,所述查询语句集包括所述查询语句和所述相邻查询语句;
使用点击率预测模型来根据搜索发起用户的用户特征数据、所述查询语句的第一文本特征数据和各个搜索结果的第二文本特征数据,预测各个搜索结果的点击率预测结果;以及
根据各个搜索结果的语义匹配度和点击率预测结果,对各个搜索结果进行排序,
其中,所述点击率预测模型包括主预测模型和偏差预测模型,
使用点击率预测模型来基于搜索发起用户的用户特征数据、所述查询语句的第一文本特征数据和各个搜索结果的第二文本特征数据,预测各个搜索结果的点击率预测结果包括:
将搜索发起用户的用户特征数据、所述查询语句的第一文本特征数据和各个搜索结果的第二文本特征数据提供给主预测模型,预测各个搜索结果的第一点击率预测结果;以及
将所述用户特征数据和各个搜索结果的第二文本特征数据提供给偏差预测模型,预测各个搜索结果的第二点击率预测结果。
2.如权利要求1所述的方法,其中,确定所述查询语句的各个搜索结果与查询语句集之间的语义匹配度包括:
使用语义匹配模型确定所述查询语句的各个搜索结果与查询语句集之间的语义匹配度。
3.如权利要求2所述的方法,其中,所述语义匹配模型包括语言表征模型和Attention模型,使用语义匹配模型来确定各个搜索结果与查询语句集之间的语义匹配度包括:
将所述查询语句集中的每个查询语句分别提供给所述语言表征模型,得到各个查询语句的语义表达向量;
将各个搜索结果分别提供给所述语言表征模型,得到各个搜索结果的语义表达向量;以及
使用所述Attention模型来根据各个搜索结果的语义表达向量以及所述查询语句集中的各个查询语句的语义表达向量,确定各个搜索结果与查询语句集之间的语义匹配度。
4.如权利要求3所述的方法,其中,使用所述Attention模型来根据各个搜索结果的语义表达向量以及所述查询语句集中的各个查询语句的语义表达向量,确定各个搜索结果与查询语句集之间的语义匹配度包括:
针对每个搜索结果,
将所述查询语句集中的各个查询语句的语义表达向量分别与该搜索结果的语义表达向量一起提供给Attention模型,确定该搜索结果与各个查询语句之间的语义匹配度;以及
根据该搜索结果与各个查询语句之间的语义匹配度,确定该搜索结果与查询语句集之间的语义匹配度。
5.如权利要求4所述的方法,其中,根据该搜索结果与各个查询语句之间的语义匹配度,确定该搜索结果与查询语句集之间的语义匹配度包括:
将该搜索结果与各个查询语句之间的语义匹配度中的最大语义匹配度,确定为该搜索结果与查询语句集之间的语义匹配度;或者
将该搜索结果与各个查询语句之间的语义匹配度的平均语义匹配度,确定为该搜索结果与查询语句集之间的语义匹配度。
6.如权利要求3所述的方法,其中,使用所述Attention模型来根据各个搜索结果的语义表达向量以及所述查询语句集中的各个查询语句的语义表达向量,确定各个搜索结果与查询语句集之间的语义匹配度包括:
对所述查询语句集中的各个查询语句的语义表达向量进行拼接;
针对每个搜索结果,将该搜索结果的语义表达向量以及经过拼接后的各个查询语句的语义表达向量提供给Attention模型,确定该搜索结果与查询语句集之间的语义匹配度。
7.如权利要求2所述的方法,其中,所述查询语句是用于应用程序查询的查询语句,每个应用程序具有应用程序标题和应用程序关键词,所述语义匹配模型包括语言表征模型和Attention模型,
使用语义匹配模型来确定各个搜索结果与查询语句集之间的语义匹配度包括:
将所述查询语句集中的每个查询语句分别提供给所述语言表征模型,得到各个查询语句的语义表达向量;以及
使用Attention模型来根据各个搜索结果的语义表达向量以及所述查询语句集中的各个查询语句的语义表达向量,确定各个搜索结果与查询语句集之间的语义匹配度,
其中,各个搜索结果的语义表达向量通过将各个搜索结果的应用程序标题以及应用程序关键词提供给所述语言表征模型来预先确定出。
8.如权利要求1所述的方法,其中,根据各个搜索结果的语义匹配度和点击率预测结果,对各个搜索结果进行排序包括:
对各个搜索结果的语义匹配度和点击率预测结果进行级联处理;
将各个搜索结果的级联处理结果提供给全连接层,得到各个搜索结果的排序得分;以及
基于各个搜索结果的排序得分,对各个搜索结果进行排序。
9.如权利要求1所述的方法,其中,所述查询语句相邻关系图中的两个相邻查询语句之间具有相邻关联度,
从查询语句相邻关系图中获取所述查询语句的相邻查询语句包括:
从查询语句相邻关系图中获取所述查询语句的相邻查询语句,所获取的相邻查询语句具有满足预定规则的相邻关联度。
10.如权利要求9所述的方法,其中,所述预定规则包括下述规则中的一个规则:
所具有的相邻关联度不小于预定关联度;
所具有的相邻关联度在所述查询语句的所有相邻查询语句的相邻关联度中为Top K,其中,K为预定整数或者百分比。
11.一种搜索方法,包括:
响应于接收到用户经由客户端设备上的搜索引擎客户端输入的查询语句,在搜索引擎数据库中搜索所述查询语句的搜索结果;
从查询语句相邻关系图中获取所述查询语句的相邻查询语句,所述查询语句相邻关系图用于指示查询语句之间的相邻关系,其中,两个查询语句之间存在相邻关系表示该两个查询语句存在相同的点击搜索结果;
确定各个搜索结果与查询语句集之间的语义匹配度,所述查询语句集包括所述查询语句和所述相邻查询语句;
使用点击率预测模型来根据搜索发起用户的用户特征数据、所述查询语句的第一文本特征数据和各个搜索结果的第二文本特征数据,预测各个搜索结果的点击率预测结果;
根据各个搜索结果的语义匹配度和点击率预测结果,对各个搜索结果进行排序;以及
将经过排序后的搜索结果提供给所述客户端设备,
其中,所述点击率预测模型包括主预测模型和偏差预测模型,
使用点击率预测模型来基于搜索发起用户的用户特征数据、所述查询语句的第一文本特征数据和各个搜索结果的第二文本特征数据,预测各个搜索结果的点击率预测结果包括:
将搜索发起用户的用户特征数据、所述查询语句的第一文本特征数据和各个搜索结果的第二文本特征数据提供给主预测模型,预测各个搜索结果的第一点击率预测结果;以及
将所述用户特征数据和各个搜索结果的第二文本特征数据提供给偏差预测模型,预测各个搜索结果的第二点击率预测结果。
12.一种用于对查询语句的搜索结果进行排序的装置,所述装置包括:
至少一个处理器,
与所述至少一个处理器耦合的存储器,以及
存储在所述存储器中的计算机程序,所述至少一个处理器执行所述计算机程序来实现:
从查询语句相邻关系图中获取所述查询语句的相邻查询语句,所述查询语句相邻关系图用于指示查询语句之间的相邻关系,其中,两个查询语句之间存在相邻关系表示该两个查询语句存在相同的点击搜索结果;
确定所述查询语句的各个搜索结果与查询语句集之间的语义匹配度,所述查询语句集包括所述查询语句和所述相邻查询语句;
使用点击率预测模型来根据搜索发起用户的用户特征数据、所述查询语句的第一文本特征数据和各个搜索结果的第二文本特征数据,预测各个搜索结果的点击率预测结果;以及
根据各个搜索结果的语义匹配度和点击率预测结果,对各个搜索结果进行排序,
其中,所述点击率预测模型包括主预测模型和偏差预测模型,
使用点击率预测模型来基于搜索发起用户的用户特征数据、所述查询语句的第一文本特征数据和各个搜索结果的第二文本特征数据,预测各个搜索结果的点击率预测结果包括:
将搜索发起用户的用户特征数据、所述查询语句的第一文本特征数据和各个搜索结果的第二文本特征数据提供给主预测模型,预测各个搜索结果的第一点击率预测结果;以及
将所述用户特征数据和各个搜索结果的第二文本特征数据提供给偏差预测模型,预测各个搜索结果的第二点击率预测结果。
13.如权利要求12所述的装置,其中,所述至少一个处理器执行所述计算机程序来实现:
使用语义匹配模型确定所述查询语句的各个搜索结果与查询语句集之间的语义匹配度。
14.如权利要求13所述的装置,其中,所述语义匹配模型包括语言表征模型和Attention模型,所述至少一个处理器执行所述计算机程序来实现:
将所述查询语句集中的每个查询语句分别提供给所述语言表征模型,得到各个查询语句的语义表达向量;
将各个搜索结果分别提供给所述语言表征模型,得到各个搜索结果的语义表达向量;以及
使用所述Attention模型来根据各个搜索结果的语义表达向量以及所述查询语句集中的各个查询语句的语义表达向量,确定各个搜索结果与查询语句集之间的语义匹配度。
15.如权利要求14所述的装置,其中,所述至少一个处理器执行所述计算机程序来实现:
针对每个搜索结果,
将所述查询语句集中的各个查询语句的语义表达向量分别与该搜索结果的语义表达向量一起提供给Attention模型,确定该搜索结果与各个查询语句之间的语义匹配度;以及
根据该搜索结果与各个查询语句之间的语义匹配度,确定该搜索结果与查询语句集之间的语义匹配度。
16.如权利要求15所述的装置,其中,所述至少一个处理器执行所述计算机程序来实现:
将该搜索结果与各个查询语句之间的语义匹配度中的最大语义匹配度,确定为该搜索结果与查询语句集之间的语义匹配度;或者
将该搜索结果与各个查询语句之间的语义匹配度的平均语义匹配度,确定为该搜索结果与查询语句集之间的语义匹配度。
17.如权利要求14所述的装置,其中,所述至少一个处理器执行所述计算机程序来实现:
对所述查询语句集中的各个查询语句的语义表达向量进行拼接;
针对每个搜索结果,将该搜索结果的语义表达向量以及经过拼接后的各个查询语句的语义表达向量提供给Attention模型,确定该搜索结果与查询语句集之间的语义匹配度。
18.如权利要求14所述的装置,其中,所述查询语句是用于应用程序查询的查询语句,每个应用程序具有应用程序标题和应用程序关键词,所述语义匹配模型包括语言表征模型和Attention模型,
所述至少一个处理器执行所述计算机程序来实现:
将所述查询语句集中的每个查询语句分别提供给所述语言表征模型,得到各个查询语句的语义表达向量;以及
使用Attention模型来根据各个搜索结果的语义表达向量以及所述查询语句集中的各个查询语句的语义表达向量,确定各个搜索结果与查询语句集之间的语义匹配度,
其中,各个搜索结果的语义表达向量通过将各个搜索结果的应用程序标题以及应用程序关键词提供给所述语言表征模型来预先确定出。
19.一种搜索引擎,所述搜索引擎包括:
至少一个处理器,
与所述至少一个处理器耦合的存储器,以及
存储在所述存储器中的计算机程序,所述至少一个处理器执行所述计算机程序来实现:
响应于接收到用户经由客户端设备上的搜索引擎客户端输入的查询语句,在搜索引擎数据库中搜索所述查询语句的搜索结果;
从查询语句相邻关系图中获取所述查询语句的相邻查询语句,所述查询语句相邻关系图用于指示查询语句之间的相邻关系,其中,两个查询语句之间存在相邻关系表示该两个查询语句存在相同的点击搜索结果;
确定各个搜索结果与查询语句集之间的语义匹配度,所述查询语句集包括所述查询语句和所述相邻查询语句;
使用点击率预测模型来根据搜索发起用户的用户特征数据、所述查询语句的第一文本特征数据和各个搜索结果的第二文本特征数据,预测各个搜索结果的点击率预测结果;
根据各个搜索结果的语义匹配度和点击率预测结果,对各个搜索结果进行排序;以及
将经过排序后的搜索结果提供给所述客户端设备,
其中,所述点击率预测模型包括主预测模型和偏差预测模型,
使用点击率预测模型来基于搜索发起用户的用户特征数据、所述查询语句的第一文本特征数据和各个搜索结果的第二文本特征数据,预测各个搜索结果的点击率预测结果包括:
将搜索发起用户的用户特征数据、所述查询语句的第一文本特征数据和各个搜索结果的第二文本特征数据提供给主预测模型,预测各个搜索结果的第一点击率预测结果;以及
将所述用户特征数据和各个搜索结果的第二文本特征数据提供给偏差预测模型,预测各个搜索结果的第二点击率预测结果。
20.一种搜索系统,包括:
客户端设备,所述客户端设备安装有搜索引擎客户端,所述客户端设备经由所述搜索引擎客户端向搜索引擎发送查询语句;以及
如权利要求19所述的搜索引擎。
21.一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行来实现如权利要求1到10中任一所述的搜索结果排序方法。
22.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行来实现如权利要求1到10中任一所述的搜索结果排序方法。
23.一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行来实现如权利要求11所述的搜索方法。
24.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行来实现如权利要求11所述的搜索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110405668.4A CN113094604B (zh) | 2021-04-15 | 2021-04-15 | 搜索结果排序方法、搜索方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110405668.4A CN113094604B (zh) | 2021-04-15 | 2021-04-15 | 搜索结果排序方法、搜索方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113094604A CN113094604A (zh) | 2021-07-09 |
CN113094604B true CN113094604B (zh) | 2022-05-03 |
Family
ID=76677730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110405668.4A Active CN113094604B (zh) | 2021-04-15 | 2021-04-15 | 搜索结果排序方法、搜索方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113094604B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113609370B (zh) * | 2021-08-06 | 2023-12-12 | 北京百度网讯科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107402954A (zh) * | 2017-05-26 | 2017-11-28 | 百度在线网络技术(北京)有限公司 | 建立排序模型的方法、基于该模型的应用方法和装置 |
CN107832432A (zh) * | 2017-11-15 | 2018-03-23 | 北京百度网讯科技有限公司 | 一种搜索结果排序方法、装置、服务器和存储介质 |
CN110096655A (zh) * | 2019-04-29 | 2019-08-06 | 北京字节跳动网络技术有限公司 | 搜索结果的排序方法、装置、设备及存储介质 |
CN112507091A (zh) * | 2020-12-01 | 2021-03-16 | 百度健康(北京)科技有限公司 | 检索信息的方法、装置、设备以及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7818315B2 (en) * | 2006-03-13 | 2010-10-19 | Microsoft Corporation | Re-ranking search results based on query log |
US8661030B2 (en) * | 2009-04-09 | 2014-02-25 | Microsoft Corporation | Re-ranking top search results |
US20110029517A1 (en) * | 2009-07-31 | 2011-02-03 | Shihao Ji | Global and topical ranking of search results using user clicks |
CN103514178A (zh) * | 2012-06-18 | 2014-01-15 | 阿里巴巴集团控股有限公司 | 一种基于点击率的搜索排序方法及装置 |
CN110083688B (zh) * | 2019-05-10 | 2022-03-25 | 北京百度网讯科技有限公司 | 搜索结果召回方法、装置、服务器及存储介质 |
-
2021
- 2021-04-15 CN CN202110405668.4A patent/CN113094604B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107402954A (zh) * | 2017-05-26 | 2017-11-28 | 百度在线网络技术(北京)有限公司 | 建立排序模型的方法、基于该模型的应用方法和装置 |
CN107832432A (zh) * | 2017-11-15 | 2018-03-23 | 北京百度网讯科技有限公司 | 一种搜索结果排序方法、装置、服务器和存储介质 |
CN110096655A (zh) * | 2019-04-29 | 2019-08-06 | 北京字节跳动网络技术有限公司 | 搜索结果的排序方法、装置、设备及存储介质 |
CN112507091A (zh) * | 2020-12-01 | 2021-03-16 | 百度健康(北京)科技有限公司 | 检索信息的方法、装置、设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113094604A (zh) | 2021-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107797984B (zh) | 智能交互方法、设备及存储介质 | |
CN110704743B (zh) | 一种基于知识图谱的语义搜索方法及装置 | |
US10885076B2 (en) | Computerized system and method for search query auto-completion | |
CN102163198B (zh) | 提供新词或热词的方法及系统 | |
CN102096717B (zh) | 搜索方法及搜索引擎 | |
CN111782965A (zh) | 意图推荐方法、装置、设备及存储介质 | |
US20170249309A1 (en) | Interpreting and Resolving Conditional Natural Language Queries | |
KR101644817B1 (ko) | 탐색 결과들을 생성하는 방법 | |
WO2017107569A1 (zh) | 一种基于应用内容的安卓应用组装方法 | |
CN114329201B (zh) | 深度学习模型的训练方法、内容推荐方法和装置 | |
CN109933708A (zh) | 信息检索方法、装置、存储介质及计算机设备 | |
CN111339406B (zh) | 个性化推荐方法、装置、设备及存储介质 | |
CN112989208B (zh) | 一种信息推荐方法、装置、电子设备及存储介质 | |
KR102601545B1 (ko) | 지리 위치점 정렬 방법, 정렬 모델 트레이닝 방법 및 대응하는 장치 | |
CN114840671A (zh) | 对话生成方法、模型的训练方法、装置、设备及介质 | |
CN116501960B (zh) | 内容检索方法、装置、设备及介质 | |
CN111291184B (zh) | 表情的推荐方法、装置、设备及存储介质 | |
CN113094604B (zh) | 搜索结果排序方法、搜索方法及装置 | |
CN111538817A (zh) | 人机交互方法和装置 | |
CN111506717B (zh) | 问题答复方法、装置、设备及存储介质 | |
WO2018014543A1 (zh) | 信息查询方法、信息查询装置、存储介质及终端 | |
WO2021244424A1 (zh) | 中心词提取方法、装置、设备及存储介质 | |
CN115098729A (zh) | 视频处理方法、样本生成方法、模型训练方法及装置 | |
CN114036373B (zh) | 搜索方法及装置、电子设备和存储介质 | |
CN113011490B (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 |