CN111177551B - 确定搜索结果的方法、装置、设备和计算机存储介质 - Google Patents
确定搜索结果的方法、装置、设备和计算机存储介质 Download PDFInfo
- Publication number
- CN111177551B CN111177551B CN201911373544.1A CN201911373544A CN111177551B CN 111177551 B CN111177551 B CN 111177551B CN 201911373544 A CN201911373544 A CN 201911373544A CN 111177551 B CN111177551 B CN 111177551B
- Authority
- CN
- China
- Prior art keywords
- query
- search
- search result
- submodel
- user
- 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/903—Querying
- G06F16/9035—Filtering based on additional data, e.g. user or group profiles
-
- 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/9535—Search customisation based on user profiles and personalisation
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)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种确定搜索结果的方法、装置、设备和计算机存储介质,涉及智能搜索领域。具体实现方案为:获取用户的当前query、用户在第一时长内的搜索历史信息、用户在第二时长内的搜索历史信息以及当前query的候选搜索结果,并输入搜索结果排序模型,依据对候选搜索结果的评分,确定当前query对应的搜索结果,第二时长大于第一时长;其中搜索结果排序模型对候选结果的评分依据当前query的向量表示和用户在第一时长内的搜索历史信息的向量表示的整合与候选搜索结果的向量表示之间的相似度,以及当前query的向量表示和用户在第二时长内的搜索历史信息的向量表示的整合与候选搜索结果的向量表示之间的相似度确定。
Description
技术领域
本申请涉及计算机应用技术领域,特别涉及智能搜索领域中确定搜索结果的方法、装置、设备和计算机存储介质。
背景技术
近年来,为了给用户提供更加丰富的搜索结果以及更好的搜索体验,主流搜索引擎都为用户的搜索提供了相关实体的推荐。例如,当用户利用搜索引擎搜索关键词“芝加哥”时,在搜索结果页面中提供如图1中所示的相关实体推荐。图1中左侧部分显示“芝加哥”的文档搜索结果,右侧部分显示“芝加哥”的实体推荐结果(实体推荐结果也可以看做是一种搜索结果,是与输入搜索关键词相关的实体)。推荐诸如“旧金山湾区”、“伊利诺伊州”、“得克萨斯州”、“奥黑尔国际机场”、“密歇根湖”等等相关实体。以百度为例,相关实体推荐的结果展现在搜索结果页的右侧区域,当然,也可以展现在搜索结果页的其他区域,也可以多个类别的形式展现相关实体。
然而,传统相关实体推荐仅仅考虑了用户当前的搜索关键词,对于同一个搜索关键词而言,针对所有用户进行相同的相关实体推荐。但这种情况无法解决具有歧义的搜索关键词的相关实体不准确的问题。例如,用户当前的搜索关键词是“芝加哥”,则无法获知用户指的是城市、电影还是歌剧,因此必然在推荐相关实体时不能准确体现用户需求。
发明内容
有鉴于此,本申请提供了一种确定搜索结果的方法、装置、设备和计算机存储介质,以便于向用户提供更准确体现用户需求的搜索结果。
第一方面,本申请提供了一种确定搜索结果的方法,该方法包括:
获取用户的当前query、所述用户在第一时长内的搜索历史信息、所述用户在第二时长内的搜索历史信息以及当前query的候选搜索结果,并输入搜索结果排序模型,依据所述搜索结果排序模型对所述候选搜索结果的评分,确定所述当前query对应的搜索结果,所述第二时长大于所述第一时长;
其中所述搜索结果排序模型对所述候选结果的评分依据第一相似度和第二相似度确定,所述第一相似度为所述当前query的向量表示和所述用户在第一时长内的搜索历史信息的向量表示的整合与所述候选搜索结果的向量表示之间的相似度,所述第二相似度为所述当前query的向量表示和所述用户在第二时长内的搜索历史信息的向量表示的整合与所述候选搜索结果的向量表示之间的相似度。
根据本申请一优选实施方式,所述用户在第一时长内的搜索历史信息包括:同一会话中在所述当前query之前的query序列和query序列中各query对应的被点击搜索结果;
所述用户在第二时长内的搜索历史信息包括:所述用户在第二时长内搜索的query和点击的搜索结果。
根据本申请一优选实施方式,所述用户在第一时长内的搜索历史信息的向量表示由以下方式得到:
将所述query序列中各query的向量表示、所述各query对应的被点击搜索结果的向量表示采用注意力机制进行加权处理,得到所述用户在第一时长内的搜索历史信息的向量表示。
根据本申请一优选实施方式,所述用户在第二时长内的搜索历史信息的向量表示由以下方式得到:
获取用户在第二时长内搜索的query集合和点击的搜索结果集合;
将所述query集合和搜索结果集合进行切词处理后求并集,得到词集合;
对所述词集合使用句向量的分布词袋PV-DBOW进行编码处理,得到所述用户在第二时长内的搜索历史信息的向量表示。
根据本申请一优选实施方式,所述候选搜索结果包括相关网页或相关实体;
其中相关实体的向量表示为:所述相关实体的标识、名称以及实体描述的整合向量表示。
根据本申请一优选实施方式,该方法还包括:
在搜索结果页中展现所述当前query对应的搜索结果。
第二方面,本申请提供了一种训练搜索结果排序模型的方法,该方法包括:
利用搜索日志获取训练样本,所述训练样本包括:样本query、用户在输入样本query之前第一时长内的搜索历史信息、用户在输入样本query之前第二时长内的搜索历史信息、样本query对应的搜索结果以及搜索结果的被点击状况;
利用所述训练样本训练排序模型,以达到预设的训练目标;其中所述排序模型的输入包括样本query、用户在输入样本query之前第一时长内的搜索历史信息、用户在输入样本query之前第二时长内的搜索历史信息以及样本query对应的搜索结果,所述排序模型的输出包括对各搜索结果的评分;所述排序模型对各搜索结果的评分依据第一相似度和第二相似度确定,所述第一相似度为所述样本query的向量表示和所述第一时长内的搜索历史信息的向量表示的整合与所述搜索结果的向量表示之间的相似度,所述第二相似度为所述样本query的向量表示和所述在第二时长内的搜索历史信息的向量表示的整合与所述搜索结果的向量表示之间的相似度;所述训练目标包括:最大化搜索结果被点击状况与搜索结果的评分之间的相关度;
利用训练得到的排序模型,获取搜索结果排序模型。
根据本申请一优选实施方式,所述用户在输入样本query之前第一时长内的搜索历史信息包括:同一会话中在所述样本query之前的query序列和query序列中各query对应的被点击搜索结果;
所述用户在输入样本query之前第二时长内的搜索历史信息包括:所述用户在输入样本query之前第二时长内搜索的query和点击的搜索结果。
根据本申请一优选实施方式,所述用户在输入样本query之前第一时长内的搜索历史信息的向量表示由以下方式得到:
将所述query序列中各query的向量表示、所述各query对应的被点击搜索结果的向量表示采用注意力机制进行加权处理,得到所述用户在第一时长内的搜索历史信息的向量表示。
根据本申请一优选实施方式,所述用户在输入样本query之前第二时长内的搜索历史信息的向量表示由以下方式得到:
获取用户在输入样本query之前第二时长内搜索的query集合和点击的搜索结果集合;
将所述query集合和搜索结果集合进行切词处理后求并集,得到词集合;
对所述词集合使用句向量的分布词袋PV-DBOW进行编码处理,得到所述用户在输入样本query之前第二时长内的搜索历史信息的向量表示。
根据本申请一优选实施方式,所述搜索结果包括相关网页或相关实体;
其中相关实体的向量表示为:所述相关实体的标识、名称以及实体描述的整合向量表示。
根据本申请一优选实施方式,所述搜索结果包括:第一类搜索结果和第二类搜索结果;
所述排序模型包括:共享向量子模型、第一排序子模型和第二排序子模型;
将所述样本query、用户在输入样本query之前第一时长内的搜索历史信息、用户在输入样本query之前第二时长内的搜索历史信息以及样本query对应的搜索结果输入所述共享向量子模型,得到所述共享向量子模型输出的所述样本query的向量表示和所述第一时长内的搜索历史信息的向量表示的整合,以及所述样本query的向量表示和所述在第二时长内的搜索历史信息的向量表示的整合;
将所述共享向量子模型的输出以及样本query的第一类搜索结果输入所述第一排序子模型,得到对所述第一搜索结果的评分;以及将所述共享向量子模型的输出以及样本query的第二类搜索结果输入所述第二排序子模型,得到对所述第二搜索结果的评分;
对所述第一排序子模型和第二排序子模型进行联合训练,以达到预设的训练目标,所述训练目标包括:最大化第一类搜索结果被点击状况与第一类搜索结果的评分之间的相关度,以及最大化第二类搜索结果被点击状况与第二类搜索结果的评分之间的相关度;
训练结束后,利用所述第一排序子模型和所述第二排序子模型中的一个以及所述共享向量子模型,得到所述搜索结果排序模型。
根据本申请一优选实施方式,对所述第一排序子模型和第二排序子模型进行联合训练包括:
在训练迭代过程中,每次随机从所述第一排序子模型和所述第二排序子模型中选择一个进行训练,利用被选择的子模型的输出更新被选择的子模型和共享向量子模型的模型参数;或者,
在训练迭代过程中,每次交替从所述第一排序子模型和所述第二排序子模型中选择一个进行训练,利用被选择的子模型的输出更新被选择的子模型和共享向量子模型的模型参数;或者,
在训练迭代过程中,每次均对所述第一排序子模型和所述第二排序子模型进行训练,利用所述第一排序子模型和所述第二排序子模型的输出更新所有子模型的模型参数。
第三方面,本申请提供了一种确定搜索结果的装置,该装置包括:
获取单元,用于获取用户的当前query、所述用户在第一时长内的搜索历史信息、所述用户在第二时长内的搜索历史信息以及当前query的候选搜索结果;
确定单元,用于将所述当前query、所述用户在第一时长内的搜索历史信息、所述用户在第二时长内的搜索历史信息以及当前query的候选搜索结果输入搜索结果排序模型,依据所述搜索结果排序模型对所述候选搜索结果的评分,确定所述当前query对应的搜索结果,所述第二时长大于所述第一时长;
其中所述搜索结果排序模型对所述候选结果的评分依据第一相似度和第二相似度确定,所述第一相似度为所述当前query的向量表示和所述用户在第一时长内的搜索历史信息的向量表示的整合与所述候选搜索结果的向量表示之间的相似度,所述第二相似度为所述当前query的向量表示和所述用户在第二时长内的搜索历史信息的向量表示的整合与所述候选搜索结果的向量表示之间的相似度。
第四方面,本申请提供了一种训练搜索结果排序模型的装置,该装置包括:
样本获取单元,用于利用搜索日志获取训练样本,所述训练样本包括:样本query、用户在输入样本query之前第一时长内的搜索历史信息、用户在输入样本query之前第二时长内的搜索历史信息、样本query对应的搜索结果以及搜索结果的被点击状况;
模型训练单元,用于利用所述训练样本训练排序模型,以达到预设的训练目标;其中所述排序模型的输入包括样本query、用户在输入样本query之前第一时长内的搜索历史信息、用户在输入样本query之前第二时长内的搜索历史信息以及样本query对应的搜索结果,所述排序模型的输出包括对各搜索结果的评分;所述排序模型对各搜索结果的评分依据第一相似度和第二相似度确定,所述第一相似度为所述样本query的向量表示和所述第一时长内的搜索历史信息的向量表示的整合与所述搜索结果的向量表示之间的相似度,所述第二相似度为所述样本query的向量表示和所述在第二时长内的搜索历史信息的向量表示的整合与所述搜索结果的向量表示之间的相似度;所述训练目标包括:最大化搜索结果被点击状况与搜索结果的评分之间的相关度;
模型获取单元,用于利用训练得到的排序模型,获取搜索结果排序模型。
第五方面,本申请提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方法。
第六方面,本申请提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行如上所述的方法。
由以上技术方案可以看出,本申请在确定搜索结果时综合考虑了用户的短期搜索历史所体现的搜索上下文的信息以及长期搜索历史所体现的用户个性化偏好,从而提高了搜索结果的准确性,使其更加符合用户的搜索需求。当其应用于实体推荐时,能够消除当前query的歧义,提供更加准确的符合用户搜索需求的相关实体。
上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1在搜索结果页面中提供相关实体推荐的实例图;
图2为本申请实施例一提供的相关实体推荐的方法流程图;
图3为本申请实施例一提供的实体排序模型的结构示意图;
图4为本申请实施例二提供的训练实体排序模型的方法流程图;
图5为本申请实施例三提供的实体排序模型的结构示意图;
图6为本申请实施例提供的确定搜索结果的装置结构图;
图7为本申请实施例提供的训练搜索结果排序模型的装置结构图;
图8是用来实现本申请实施例的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本申请提供的方法应用于计算机系统的搜索引擎,由计算机或处理器执行,可以设置于服务器端,用于利用用户的历史查询来提高确定搜索结果的效果。当用户通过浏览器或客户端输入当前query后,浏览器或客户端将当前query发送给服务器端,由服务器端采用本申请实施例中提供的方法确定出搜索结果后,将搜索结果发送给浏览器或客户端。在本申请实施例中涉及的搜索结果可以包括相关实体或相关网页。也就是说,通过本申请提供的方式可以用于针对当前query进行相关实体推荐,也可以用于针对当前query进行相关网页推荐。
在后续实施例中,均以针对当前query进行相关实体推荐为例,对于相关网页推荐的原理相似。下面结合实施例对本申请进行详细描述。
实施例一
图2为本申请实施例一提供的相关实体推荐的方法流程图,如图2中所示,该方法可以包括以下步骤:
在201中,获取用户的当前query(搜索关键词)、用户在第一时长内的搜索历史信息、用户在第二时长内的搜索历史信息以及当前query的候选相关实体,其中第二时长大于第一时长。
传统的实体推荐系统仅仅是基于当前query的推荐,当前query指的是用户当前输入的query,无法了解用户的真实搜索需求,从而造成相关实体推荐不准确,不符合用户需求。
通过研究后发现,搜索历史可以提供非常有价值的线索,这些线索可以更好地帮助捕捉用户的真实需求。搜索历史可以分为两种:短期(short-term)搜索历史和长期(long-term)搜索历史。其中短期搜索历史可以对应于本申请中的用户在第一时长内的搜索历史信息,长期搜索历史可以对应于本申请中的用户在第二时长内的搜索历史信息。
短期搜索历史可以包括与当前query处于同一个搜索会话中的前序用户行为,例如,同一会话中在当前query之前的query序列以及query序列中各query对应的被点击的搜索结果。其中被点击的搜索结果可以是搜索结果页中被点击的网页,也可以是被点击的相关实体。短期搜索历史可以看做是当前query的上下文信息,其反映了用户的短期即时兴趣。如果用户搜索“芝加哥”之前,在同一会话中还搜索过“追梦女孩”,那么用户大概率对电影更感兴趣。同样地,如果之前用户点击了跟歌剧相关的搜索结果、推荐实体,那么用户可能会对歌剧更感兴趣。
其中,上述的“会话”(session)指的是搜索会话,在此可以使用一个被广泛采用的搜索会话的确定方式。如果用户在第一时长(例如30分钟)之前没有任何搜索行为,则可以将该第一时长之内首次搜索行为作为本次session的开始。也就是说,如果用户在30分钟内有连续的搜索行为,那么这30分钟内的连续搜索行为都属于同一session。
长期搜索历史指的是当前query之前的第二时长内用户所有的搜索行为,包括第二时长内该用户的所有session内的所有用户搜索行为,包括输入的query、在搜索结果页中点击的网页、点击的相关实体。长期搜索历史反映了用户长期的内在的兴趣偏好。如果一个用户经常搜索歌剧相关的query、点击歌剧相关的网页和相关实体,那么当用户搜索“芝加哥”,那么最好向用户推荐歌剧相关的实体。长期搜索历史对构建个性化的实体推荐系统非常有帮助。
在本申请中,上述第一时长可以选取分钟级别、小时级别,例如30分钟。上述第二时长可以选取天级别、月级别,例如3个月。
在申请实施例中不限定当前query的候选相关实体的获取方式,例如可以从文本集中选择在预设长度窗口内与当前query共现的实体,将满足预设共现次数的实体作为当前query的候选相关实体。
在202中,将用户的当前query、用户在第一时长内的搜索历史信息、用户在第二时长内的搜索历史信息以及当前query的候选相关实体输入实体排序模型,依据实体排序模型对候选相关实体的评分,确定当前query的推荐相关实体。
其中搜索结果排序模型对候选结果的评分依据第一相似度和第二相似度确定,第一相似度为当前query的向量表示和用户在第一时长内的搜索历史信息的向量表示的整合与候选相关实体的向量表示之间的相似度,第二相似度为当前query的向量表示和用户在第二时长内的搜索历史信息的向量表示的整合与候选相关实体的向量表示之间的相似度。
在申请实施例中,采用实体排序模型对当前query的各候选相关实体进行评分,从而依据评分确定当前query的推荐相关实体。例如可以将评分满足一定要求的候选相关实体作为推荐相关实体,还可以进一步依据评分对推荐相关实体的展现位置进行排序。其中,评分满足一定要求可以包括:评分排在前M个,M为预设的正整数;或者,评分超过预设阈值。
在本申请实施例中,实体排序模型由训练数据预先训练得到,将在实施例二中对实体排序模型的训练方法进行详细描述。
训练得到的实体排序模型对于输入的用户的当前query、用户在第一时长内的搜索历史信息、用户在第二时长内的搜索历史信息以及当前query的候选相关实体,能够输出对各候选相关实体的评分。实体排序模型的结构可以如图3中所示,由一个向量子模型和一个排序子模型构成。
其中,当前搜索关键词query、用户在第一时长内的搜索历史信息、用户在第二时长内的搜索历史信息作为向量子模型的输入,向量子模型输出当前query的向量表示和用户在第一时长内的搜索历史信息的向量表示的整合。向量子模型的输出以及当前query的候选相关实体作为排序子模型的输入,由排序模型输出对候选相关实体的评分。
首先介绍向量子模型:
对于输入的当前query,图中表示为qt可以经过神经网络进行编码,获取该当前query的向量表示vq。其中神经网络优选BiLSTM(Bidirectional Long Short-TermMemory,双向长短期记忆网络)。具体地,给定搜索查询,qt=[w1,w2,…,wn],词wi通过词向量矩阵被转换成向量表示,然后使用一个前向LSTM和一个后向LSTM,将搜索查询qt分别编码成隐向量:和最后将和拼接起来作为搜索查询qt的向量表示其中,[;]表示向量的拼接。
对于用户在第一时长内的搜索历史信息,在图中表示为St,St={<q1,C1>,…<qt-1,Ct-1>},即St由同一会话中qt之前的query序列q1,…,qt-1以及对应的被点击搜索结果组成C1,…,Ct-1。其中,Ci可以包括被点击网页和/或被点击相关实体。
首先可将各qi通过神经网络(采用与qt一致的方式)进行编码得到向量表示然后将Ci中的被点击网页表示成向量将Ci中的被点击相关实体表示成向量其中,l为Ci中被点击网页的数量,g为Ci中被点击相关实体的数量。在确定被点击网页的各向量表示时,可以采用神经网络对各被点击网页的标题进行编码,分别得到各被点击网页的向量在确定被点击实体的各向量表示时,可以将实体的标识、名称以及实体描述的向量表示进行拼接后,结合一定的偏置参数进行激活处理后得到各被点击实体的向量表示这种实体的向量表示的确定方法能够有效解决OOV(Out-Of-Vocabulary,词表外)问题和歧义问题。
其中,实体描述可以理解为对实体的“描述文本”,用以描述一个实体的含义。在本申请中可以采用实体所对应百科词条的正文首句话,也可以采用实体所对应百科词条的摘要等。
最后,St的向量表示vc可以通过如下公式得到:
其中,函数符号Attentionw(·,·)表示基于注意力机制的加权表示方法。va是模型参数,在模型训练过程中学习得到。
对于用户在第二时长内的搜索历史信息,由于其表示的是用户的个性化偏好,因此在图中表示为u,看做用户表示。可以将用户的在第二时长内的query集合Q、被点击的网页集合D、被点击的相关实体集合E分别进行切词处理后分别得到词集合Wq,Wd,We,计算并集得到Wu,Wu=Wq∪Wd∪We。然后可以对词集合Wu使用PV-DBOW(Distributed Bag of Wordsversion of Paragraph Vector,句向量的分布词袋)进行编码处理,从而得到每个用户的向量表示(即用户在第二时长内的搜索历史的向量表示),在图中表示为vu。其中,PV-DBOW已经是目前比较成熟的处理方式,能够在输入词集合的情况下,输出对应的向量表示。
然后,将vq和vc进行拼接,得到整合向量表示vcq。当然,除了拼接之外,也可以采用其他向量整合方式。图中,表示对向量vq和vc进行整合。将vq和vu进行拼接,得到整合向量表示vuq。当然,除了拼接之外,也可以采用其他向量整合方式。图中,表示对向量vq和vu进行整合。
至此,向量子模型输出两个整合向量表示:vcq和vuq。
下面介绍排序子模型:
vcq、vuq以及候选相关实体e作为排序子模型的输入。排序子模型利用两个相似度来对候选相关实体e进行排序:第一相似度和第二相似度。
其中,第一相似度为当前query的向量表示和用户在第一时长内的搜索历史信息的向量表示的整合与候选相关实体的向量表示之间的相似度。第一相似度P(e|St,qt)可以采用以下公式计算:
其中,ve表示相关实体e的向量表示,可以将实体e的标识、名称以及实体描述的向量表示进行拼接后,结合一定的偏置参数进行激活处理后得到实体e的向量表示ve。
vs是将vcq经过全连接层(FC layer)映射后得到的向量表示,可以采用如下公式计算得到:
第二相似度为当前query的向量表示和用户在第二时长内的搜索历史信息的向量表示的整合与候选相关实体的向量表示之间的相似度。第二相似度P(e|u,qt)可以采用以下公式计算:
vp是将vuq经过全连接层(FC layer)映射后得到的向量表示,可以采用如下公式计算得到:
最终,排序子模型在对候选相关实体e进行评分时,可以综合利用上述第一相似度和第二相似度,具体可以为:
如果候选相关实体e的P(eu,St,qt)越高,对应的评分值越高。
在203中,在搜索结果页中展现确定出的推荐相关实体。
在本申请实施例中,可以在当前query的搜索结果页中展现推荐相关实体。例如,在当前query的搜索结果页的右侧区域展现推荐相关实体。当然,除此之外,也可以在搜索结果页的其他位置进行展现,本申请对推荐相关实体在搜索结果页中的展现位置并不加以限制。
举个例子,用户输入当前query“芝加哥”,用户同一session中还搜索了“泰坦尼克号”和“红磨坊”,在三个月内搜索并点击了大量与电影相关的内容。则通过本申请实施例的方法,在与query“芝加哥”相关的候选相关实体中,与电影相关的候选相关实体的评分较高,因此与电影相关的候选实体会被作为推荐相关实体。通过这种方式能够排除当前query中的歧义,既考虑了上下文的信息,又考虑了用户长期搜索历史所反映的个性化偏好,使得相关实体推荐能够更加符合用户的实际需求。
而在传统的相关实体推荐中,针对当前query“芝加哥”则会针对所有用户均推荐相同的相关实体,例如默认均推荐与城市“芝加哥”相关的实体。
实施例二、
图4为本申请实施例二提供的训练实体排序模型的方法流程图,如图4中所示,该方法可以包括以下步骤:
在401中,利用搜索日志获取训练样本。
获取的训练样本包括样本query、用户在输入样本query之前第一时长内的搜索历史信息、用户在输入样本query之前第二时长内的搜索历史信息、样本query对应的搜索结果以及搜索结果的被点击状况,第二时长大于第一时长。
在本申请中获取连续一段时期内的搜索日志,从中抽取上述训练样本。
与实施例一中类似的含义,用户在输入样本query之前第一时长内的搜索历史信息可以包括与样本query处于同一个搜索会话中的前序用户行为,例如,同一会话中在样本query之前的query序列以及query序列中各query对应的被点击的搜索结果,但作为优选的实施方式,在训练样本中除了将被点击搜索结果作为正例之外,还可以获取未被点击的搜索结果作为负例。其中搜索结果可以是搜索结果页中的网页,也可以是相关实体。
用户在输入样本query之前第二时长内的搜索历史信息可以包括第二时长内该用户的所有session内的所有用户搜索行为,包括输入的query、在搜索结果页中点击的网页、点击的相关实体。
在402中,利用训练样本训练排序模型,以达到预设的训练目标。
其中,排序模型的输入包括样本query、用户在输入样本query之前第一时长内的搜索历史信息、用户在输入样本query之前第二时长内的搜索历史信息以及样本query对应的相关实体,排序模型的输出包括对各相关实体的评分。
排序模型对各相关实体的评分依据第一相似度和第二相似度确定,第一相似度为样本query的向量表示和第一时长内的搜索历史信息的向量表示的整合与样本query对应的相关实体的向量表示之间的相似度,第二相似度为样本query的向量表示和在第二时长内的搜索历史信息的向量表示的整合与样本query对应的相关实体的向量表示之间的相似度。
训练目标包括:最大化相关实体被点击状况与相关实体的评分之间的相关度。
在本实施例中,可以训练如图3中所示的排序模型,将样本query作为图3中的qt,用户在输入样本query之前第一时长内的搜索历史信息作为图3中的St、用户在输入样本query之前第二时长内的搜索历史信息作为图3中的u,经过向量子模型的处理,得到两个整合向量表示:vcq和vuq,其中vcq由qt的向量表示vq与St的向量表示vc的整合得到,vuq由qt的向量表示vq与u的向量表示vu的整合得到。向量子模型的具体处理过程可以参见实施例一中的相关记载,在此不做赘述。
vcq、vuq以及相关实体e作为排序子模型的输入,排序子模型按照实施例一中所述的方式得到第一相似度P(e|St,qt)和第二相似度P(e|u,qt)后,进一步得到相关实体e的P(e|u,St,qt),并依据P(e|u,St,qt)输出相关实体e的评分。相关实体e的P(e|u,St,qt)越高,对应的评分值越高。
在训练过程中,可以通过pairwise排序学习以及随机梯度下降法进行模型参数的迭代更新。在本申请实施例中,该排序子模型的训练目标可以采用最小化预设的损失函数的形式。其中损失函数Loss可以利用训练样本中被点击实体的负的对数似然函数来确定,例如:
Et为样本query的相关实体集合,γ为预设的参数。
训练过程中,利用losse计算梯度,不断进行迭代更新排序子模型的参数,直至满足迭代停止条件。其中迭代停止条件可以包括但不限于:losse收敛,losse小于预设的阈值,或者迭代次数达到预设次数阈值。
在403中,利用训练得到的排序模型,获取实体排序模型。
训练结束后,可以利用如图3中所示的模型作为实体排序模型,该实体排序模型包括向量子模型和排序子模型。
除了上述训练方式之外,本申请可以通过实施例三提供一种优选的训练方式,提出一种多任务学习框架,即采用多任务模型联合训练的方式得到实体排序模型。
实施例三、
对于实体排序而言在一定程度上会存在实体点击数据稀疏的问题,因为受展现空间的限制,实体排序模型的实体排序倾向于根据query最常被提及的含义进行实体推荐。而对于具有歧义的query而言,除最常被提及的含义之外,较少以及很少被提及的含义所对应的实体点击数据都非常稀疏。而为了更好地满足用户的多元化信息需求,大多数搜索引擎都会为用户提供多样化的搜索结果。因此,当用户搜索时,与实体推荐结果相比,更容易在网页搜索结果中找到与自己信息需求相匹配的结果。在本实施例中,整体模型可以包括共享向量子模型、第一排序子模型和第二排序子模型。第一排序子模型采用上述实施例二中所述的排序子模型,作为主任务用以进行相关实体排序。第二排序子模型作为辅助任务用以进行网页排序。这种多任务学习的模型训练能够利用不同任务模型之间的关联提高模型的可扩展性和排序效果。
在本实施例中,训练样本进一步包括样本query对应的网页搜索结果以及网页对应的被点击状况。
具体地,这种模型可以如图5中所示。其中,与实施例二中类似地,将样本query作为图5中的qt,用户在输入样本query之前第一时长内的搜索历史信息作为图5中的St、用户在输入样本query之前第二时长内的搜索历史信息作为图5中的u,经过向量子模型的处理,得到两个整合向量表示:vcq和vuq,其中vcq由qt的向量表示vq与St的向量表示vc的整合得到,vuq由qt的向量表示vq与u的向量表示vu的整合得到。向量子模型的具体处理过程可以参见实施例一中的相关记载,在此不做赘述。
第一排序子模型类似于实施例二中的排序子模型,vcq、vuq以及相关实体e作为第一排序子模型的输入,排序子模型按照实施例一中所述的方式得到第一相似度P(e|St,qt)和第二相似度P(e|u,qt)后,进一步得到相关实体e的P(e|u,St,qt),并依据P(e|u,St,qt)输出相关实体e的评分。相关实体e的P(e|u,St,qt)越高,对应的评分值越高。
向量子模型输出的vcq和vuq也作为第二排序子模型的输入,同时网页搜索结果d(后续简称为候选网页)也作为第二排序子模型的输入。第二排序子模型利用两个相似度对d进行排序:第一相似度和第二相似度。
第二排序子模型中的第一相似度为当前query的向量表示和用户在第一时长内的搜索历史信息的向量表示的整合与候选网页的向量表示之间的相似度。
第一相似度P(d|St,qt)可以采用以下公式计算:
其中,vd表示候选网页d的向量表示。
vr是将vcq经过全连接层(FC layer)映射后得到的向量表示,可以采用如下公式计算得到:
第二相似度为当前query的向量表示和用户在第二时长内的搜索历史信息的向量表示的整合与候选网页的向量表示之间的相似度。第二相似度P(d|u,qt)可以采用以下公式计算:
vm是将vuq经过全连接层(FC layer)映射后得到的向量表示,可以采用如下公式计算得到:
最终,第二排序子模型在对候选网页d进行评分时,可以综合利用上述第一相似度和第二相似度,具体可以为:
如果候选网页d的P(d|u,St,qt)越高,对应的评分值越高。
在对第一排序子模型和第二排序子模型进行联合训练时,可以每次随机从第一排序子模型和第二排序子模型中选择一个进行训练,也可以每次交替从第一排序子模型和第二排序子模型中选择一个进行训练;然后每次利用被选择的子模型的输出更新被选择的子模型和共享向量子模型的模型参数。
以交替选择为例,选择第一排序子模型时,利用训练样本训练得到P(e|u,St,qt)后,计算losse,利用losse迭代更新共享向量子模型和第一排序子模型的模型参数;然后选择第二排序子模型,利用训练样本训练得到P(d|u,St,qt)后,计算lossd,利用lossd迭代更新共享向量子模型和第二排序子模型的模型参数;以此类推,直至达到训练目标,例如losse、lossd均收敛,losse、lossd均小于预设的阈值,或者迭代次数达到预设次数阈值。
Dt为样本query的候选网页集合,γ为预设的参数。
除了上述联合训练方式之外,还可以在训练迭代过程中,每次均对第一排序子模型和第二排序子模型进行训练,利用第一排序子模型和第二排序子模型的输出更新所有子模型的模型参数。
这种方式下,可以采用一个整合的损失函数,例如:
loss=lossd+αlosse
其中α为超参数,可以人工设置为实验值或经验值。
每次迭代过程计算出loss,然后利用loss更新共享向量子模型、第一排序子模型和第二排序子模型的模型参数,直至达到训练目标。例如loss收敛,loss小于预设的阈值,或者迭代次数达到预设次数阈值。
训练结束后,利用共享向量子模型和第一排序子模型得到实体排序模型。也就是说,虽然在训练过程中,采用多任务模型的方式进行训练,即第二排序子模型辅助第一排序子模型的训练,但最终得到的用于进行相关实体推荐的实体排序模型并不使用第二排序子模型。
需要说明的是,采用上述多任务模型的训练方式进行训练后,也可以得到相关网页排序模型,即利用共享子模型和第二排序子模型得到相关网页排序模型。这种方式是第一排序子模型辅助第二排序子模型的训练,即相关实体推荐辅助相关网页排序。这样得到的相关网页排序模型可以在输入当前query、用户在第一时长内的搜索历史信息、用户在第二时长内的搜索历史信息以及当前query的相关网页集合后,得到对当前query的相关网页集合中各相关网页的评分,从而能够依据该评分确定要展现的当前query的相关网页,作为相关网页的展现选择和排序的依据。
另外需要说明的是,上述实施例是以相关实体和相关网页分别作为第一类搜索结果和第二类搜索结果为例进行的描述。但本申请并不限于这两种类型的搜索结果,还可以是其他类型的搜索结果作为第一类搜索结果和第二类搜索结果。
以上是对本申请所提供方法进行的详细描述,下面结合实施例对本申请提供的装置进行详细描述。
实施例四、
图6为本申请实施例提供的确定搜索结果的装置结构图,如图6中所示,该装置可以包括:获取单元01和确定单元02,还可以包括展现单元03。其中各组成单元的主要功能如下:
获取单元01,用于获取用户的当前query、用户在第一时长内的搜索历史信息、用户在第二时长内的搜索历史信息以及当前query的候选搜索结果。
确定单元02,用于将当前query、用户在第一时长内的搜索历史信息、用户在第二时长内的搜索历史信息以及当前query的候选搜索结果输入搜索结果排序模型,依据搜索结果排序模型对候选搜索结果的评分,确定当前query对应的搜索结果,第二时长大于第一时长。
其中搜索结果排序模型对候选结果的评分依据第一相似度和第二相似度确定,第一相似度为当前query的向量表示和用户在第一时长内的搜索历史信息的向量表示的整合与候选搜索结果的向量表示之间的相似度,第二相似度为当前query的向量表示和用户在第二时长内的搜索历史信息的向量表示的整合与候选搜索结果的向量表示之间的相似度。
其中,用户在第一时长内的搜索历史信息包括:同一会话中在当前query之前的query序列和query序列中各query对应的被点击搜索结果。优选地,用户在第一时长内的搜索历史信息的向量表示由以下方式得到:将所述query序列中各query的向量表示、所述各query对应的被点击搜索结果的向量表示采用注意力机制进行加权处理,得到用户在第一时长内的搜索历史信息的向量表示。
用户在第二时长内的搜索历史信息可以包括用户在第二时长内搜索的query和点击的搜索结果(例如点击的网页和相关实体)。优选地,用户在第二时长内的搜索历史信息的向量表示由以下方式得到:获取用户在第二时长内搜索的query集合和点击的搜索结果集合;将query集合和搜索结果集合进行切词处理后求并集,得到词集合;对词集合使用PV-DBOW进行编码处理,得到用户在第二时长内的搜索历史信息的向量表示。
其中,上述候选搜索结果可以包括相关网页或相关实体。
其中相关实体的向量表示为:相关实体的标识、名称以及实体描述的整合向量表示。
确定单元02利用搜索排序模型确定搜索结果的具体过程参见实施例一中的相关记载,在此不做详述。
展现单元03,用于在搜索结果页中展现当前query对应的搜索结果,即将当前query对应的搜索结果包含在搜索结果页中发送给浏览器或客户端。
实施例五、
图7为本申请实施例提供的训练搜索结果排序模型的装置结构图,如图7所示,该装置可以包括:样本获取单元11、模型训练单元12和模型获取单元13。其中各组成单元的主要功能如下:
样本获取单元11,用于利用搜索日志获取训练样本,训练样本包括:样本query、用户在输入样本query之前第一时长内的搜索历史信息、用户在输入样本query之前第二时长内的搜索历史信息、样本query对应的搜索结果以及搜索结果的被点击状况。
模型训练单元12,用于利用训练样本训练排序模型,以达到预设的训练目标;其中排序模型的输入包括样本query、用户在输入样本query之前第一时长内的搜索历史信息、用户在输入样本query之前第二时长内的搜索历史信息以及样本query对应的搜索结果,排序模型的输出包括对各搜索结果的评分;排序模型对各搜索结果的评分依据第一相似度和第二相似度确定,第一相似度为样本query的向量表示和第一时长内的搜索历史信息的向量表示的整合与搜索结果的向量表示之间的相似度,第二相似度为样本query的向量表示和在第二时长内的搜索历史信息的向量表示的整合与搜索结果的向量表示之间的相似度;训练目标包括:最大化搜索结果被点击状况与搜索结果的评分之间的相关度。
模型获取单元13,用于利用训练得到的排序模型,获取搜索结果排序模型。
其中,用户在输入样本query之前第一时长内的搜索历史信息包括:同一会话中在样本query之前的query序列和query序列中各query对应的被点击搜索结果。
用户在输入样本query之前第一时长内的搜索历史信息的向量表示由以下方式得到:将query序列中各query的向量表示、所述各query对应的被点击搜索结果的向量表示采用注意力机制进行加权处理,得到用户在输入样本query之前第一时长内的搜索历史信息的向量表示。
用户在输入样本query之前第二时长内的搜索历史信息包括:用户在输入样本query之前第二时长内搜索的query和点击的搜索结果。
优选地,用户在输入样本query之前第二时长内的搜索历史信息的向量表示由以下方式得到:获取用户在输入样本query之前第二时长内搜索的query集合和点击的搜索结果集合;将query集合和搜索结果集合进行切词处理后求并集,得到词集合;对词集合使用PV-DBOW进行编码处理,得到用户在输入样本query之前第二时长内的搜索历史信息的向量表示。
模型训练单元12训练搜索结果排序模型的具体方式可以参见实施例二中的相关记载,在此不做详述。
作为一种优选的实施方式,上述搜索结果包括:第一类搜索结果和第二类搜索结果。排序模型包括:共享向量子模型、第一排序子模型和第二排序子模型。
模型训练单元12,具体用于将样本query、用户在输入样本query之前第一时长内的搜索历史信息、用户在输入样本query之前第二时长内的搜索历史信息以及样本query对应的搜索结果输入共享向量子模型,得到共享向量子模型输出的样本query的向量表示和第一时长内的搜索历史信息的向量表示的整合,以及样本query的向量表示和在第二时长内的搜索历史信息的向量表示的整合;将共享向量子模型的输出以及样本query的第一类搜索结果输入第一排序子模型,得到对第一搜索结果的评分;以及将共享向量子模型的输出以及样本query的第二类搜索结果输入第二排序子模型,得到对第二搜索结果的评分;对第一排序子模型和第二排序子模型进行联合训练,以达到预设的训练目标,训练目标包括:最大化第一类搜索结果被点击状况与第一类搜索结果的评分之间的相关度,以及最大化第二类搜索结果被点击状况与第二类搜索结果的评分之间的相关度。
模型获取单元13,具体用于在模型训练单元训练结束后,利用第一排序子模型和第二排序子模型中的一个以及共享向量子模型,得到搜索结果排序模型。
其中,模型训练单元12在对第一排序子模型和第二排序子模型进行联合训练时,具体执行:
在训练迭代过程中,每次随机从第一排序子模型和第二排序子模型中选择一个进行训练,利用被选择的子模型的输出更新被选择的子模型和共享向量子模型的模型参数;或者,
在训练迭代过程中,每次交替从第一排序子模型和第二排序子模型中选择一个进行训练,利用被选择的子模型的输出更新被选择的子模型和共享向量子模型的模型参数;或者,
在训练迭代过程中,每次均对第一排序子模型和第二排序子模型进行训练,利用第一排序子模型和第二排序子模型的输出更新所有子模型的模型参数。
这种方式下模型训练单元12训练搜索结果排序模型的具体过程可以参见实施例三中的记载,在此不做详述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图8所示,是根据本申请实施例的确定搜索结果的方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图8所示,该电子设备包括:一个或多个处理器801、存储器802,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图8中以一个处理器801为例。
存储器802即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的确定搜索结果的方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的确定搜索结果的方法。
存储器802作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的确定搜索结果的方法对应的程序指令/模块。处理器801通过运行存储在存储器802中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的确定搜索结果的方法。
存储器802可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器802可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器802可选包括相对于处理器801远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
确定搜索结果的方法的电子设备还可以包括:输入装置803和输出装置804。处理器801、存储器802、输入装置803和输出装置804可以通过总线或者其他方式连接,图8中以通过总线连接为例。
输入装置803可接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置804可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
由以上描述可以看出,本申请实施例提供的方法、装置、设备和计算机存储介质可以具备以下优点:
1)本申请在确定搜索结果时综合考虑了用户的短期搜索历史所体现的搜索上下文的信息以及长期搜索历史所体现的用户个性化偏好,从而提高了搜索结果的准确性,使其更加符合用户的搜索需求。当其应用于实体推荐时,能够消除当前query的歧义,提供更加准确的符合用户搜索需求的相关实体。
2)本申请在进行搜索结果排序模型训练时,通过多任务模型学习框架,实现不同搜索结果之间的辅助训练,例如相关网页辅助相关实体的排序模型训练。从而利用不同任务之间的关联来提高模型的可扩展性和准确性。
3)本申请中所采用的多任务模型学习框架,能够借助辅助任务(即第二排序子模型作为第一排序子模型的辅助任务)来缓解主任务中点击数据稀疏的问题。本申请中的多任务模型框架通过共享向量表示来实现知识迁移,多个相关任务的联合学习能够提升模型的泛化能力,经过实验验证,得到了更好的训练效果。
4)在短期搜索历史所体现的搜索上下文信息的向量化表示和长期搜索历史所体现的用户个性化偏好的向量化表示中,融合了query、被点击相关实体和被点击网页,从而更好地建模上下文和用户个性化偏好,且使得数据稀疏性问题得到很好地缓解。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (20)
1.一种确定搜索结果的方法,其特征在于,该方法包括:
获取用户的当前query、所述用户在第一时长内的搜索历史信息、所述用户在第二时长内的搜索历史信息以及当前query的候选搜索结果,并输入预先训练得到的搜索结果排序模型,依据所述搜索结果排序模型对所述候选搜索结果的评分,确定所述当前query对应的搜索结果,所述第二时长大于所述第一时长;
其中所述搜索结果排序模型对所述候选结果的评分依据第一相似度和第二相似度确定,所述第一相似度为所述当前query的向量表示和所述用户在第一时长内的搜索历史信息的向量表示的整合与所述候选搜索结果的向量表示之间的相似度,所述第二相似度为所述当前query的向量表示和所述用户在第二时长内的搜索历史信息的向量表示的整合与所述候选搜索结果的向量表示之间的相似度;
该方法还包括:获取用户在第二时长内搜索的query集合和点击的搜索结果集合;将所述query集合和所述搜索结果集合求并集得到词集合;对所述词集合使用句向量的分布词袋PV-DBOW进行编码处理,得到所述用户在第二时长内的搜索历史信息的向量表示。
2.根据权利要求1所述的方法,其特征在于,所述用户在第一时长内的搜索历史信息包括:同一会话中在所述当前query之前的query序列和query序列中各query对应的被点击搜索结果。
3.根据权利要求2所述的方法,其特征在于,所述用户在第一时长内的搜索历史信息的向量表示由以下方式得到:
将所述query序列中各query的向量表示、所述各query对应的被点击搜索结果的向量表示采用注意力机制进行加权处理,得到所述用户在第一时长内的搜索历史信息的向量表示。
4.根据权利要求1所述的方法,其特征在于,所述候选搜索结果包括相关网页或相关实体;
其中相关实体的向量表示为:所述相关实体的标识、名称以及实体描述的整合向量表示。
5.根据权利要求1或4所述的方法,其特征在于,该方法还包括:
在搜索结果页中展现所述当前query对应的搜索结果。
6.一种训练搜索结果排序模型的方法,其特征在于,该方法包括:
利用搜索日志获取训练样本,所述训练样本包括:样本query、用户在输入样本query之前第一时长内的搜索历史信息、用户在输入样本query之前第二时长内的搜索历史信息、样本query对应的搜索结果以及搜索结果的被点击状况;
利用所述训练样本训练排序模型,以达到预设的训练目标;其中所述排序模型的输入包括样本query、用户在输入样本query之前第一时长内的搜索历史信息、用户在输入样本query之前第二时长内的搜索历史信息以及样本query对应的搜索结果,所述排序模型的输出包括对各搜索结果的评分;所述排序模型对各搜索结果的评分依据第一相似度和第二相似度确定,所述第一相似度为所述样本query的向量表示和所述第一时长内的搜索历史信息的向量表示的整合与所述搜索结果的向量表示之间的相似度,所述第二相似度为所述样本query的向量表示和所述在第二时长内的搜索历史信息的向量表示的整合与所述搜索结果的向量表示之间的相似度;所述训练目标包括:最大化搜索结果被点击状况与搜索结果的评分之间的相关度;
利用训练得到的排序模型,获取搜索结果排序模型;
该方法还包括:获取用户在输入样本query之前第二时长内搜索的query集合和点击的搜索结果集合;将所述query集合和所述搜索结果集合进行切词处理后求并集得到词集合;对所述词集合使用PV-DBOW进行编码处理,得到所述用户在输入样本query之前第二时长内的搜索历史信息的向量表示。
7.根据权利要求6所述的方法,其特征在于,所述用户在输入样本query之前第一时长内的搜索历史信息包括:同一会话中在所述样本query之前的query序列和query序列中各query对应的被点击搜索结果。
8.根据权利要求7所述的方法,其特征在于,所述用户在输入样本query之前第一时长内的搜索历史信息的向量表示由以下方式得到:
将所述query序列中各query的向量表示、所述各query对应的被点击搜索结果的向量表示采用注意力机制进行加权处理,得到所述用户在第一时长内的搜索历史信息的向量表示。
9.根据权利要求6所述的方法,其特征在于,所述搜索结果包括相关网页或相关实体;
其中相关实体的向量表示为:所述相关实体的标识、名称以及实体描述的整合向量表示。
10.根据权利要求6至9中任一项所述的方法,其特征在于,所述搜索结果包括:第一类搜索结果和第二类搜索结果;
所述排序模型包括:共享向量子模型、第一排序子模型和第二排序子模型;
将所述样本query、用户在输入样本query之前第一时长内的搜索历史信息、用户在输入样本query之前第二时长内的搜索历史信息以及样本query对应的搜索结果输入所述共享向量子模型,得到所述共享向量子模型输出的所述样本query的向量表示和所述第一时长内的搜索历史信息的向量表示的整合,以及所述样本query的向量表示和所述在第二时长内的搜索历史信息的向量表示的整合;
将所述共享向量子模型的输出以及样本query的第一类搜索结果输入所述第一排序子模型,得到对所述第一搜索结果的评分;以及将所述共享向量子模型的输出以及样本query的第二类搜索结果输入所述第二排序子模型,得到对所述第二搜索结果的评分;
对所述第一排序子模型和第二排序子模型进行联合训练,以达到预设的训练目标,所述训练目标包括:最大化第一类搜索结果被点击状况与第一类搜索结果的评分之间的相关度,以及最大化第二类搜索结果被点击状况与第二类搜索结果的评分之间的相关度;
训练结束后,利用所述第一排序子模型和所述第二排序子模型中的一个以及所述共享向量子模型,得到所述搜索结果排序模型。
11.根据权利要求10所述的方法,其特征在于,对所述第一排序子模型和第二排序子模型进行联合训练包括:
在训练迭代过程中,每次随机从所述第一排序子模型和所述第二排序子模型中选择一个进行训练,利用被选择的子模型的输出更新被选择的子模型和共享向量子模型的模型参数;或者,
在训练迭代过程中,每次交替从所述第一排序子模型和所述第二排序子模型中选择一个进行训练,利用被选择的子模型的输出更新被选择的子模型和共享向量子模型的模型参数;或者,
在训练迭代过程中,每次均对所述第一排序子模型和所述第二排序子模型进行训练,利用所述第一排序子模型和所述第二排序子模型的输出更新所有子模型的模型参数。
12.一种确定搜索结果的装置,其特征在于,该装置包括:
获取单元,用于获取用户的当前query、所述用户在第一时长内的搜索历史信息、所述用户在第二时长内的搜索历史信息以及当前query的候选搜索结果;
确定单元,用于将所述当前query、所述用户在第一时长内的搜索历史信息、所述用户在第二时长内的搜索历史信息以及当前query的候选搜索结果输入预先训练得到的搜索结果排序模型,依据所述搜索结果排序模型对所述候选搜索结果的评分,确定所述当前query对应的搜索结果,所述第二时长大于所述第一时长;
其中所述搜索结果排序模型对所述候选结果的评分依据第一相似度和第二相似度确定,所述第一相似度为所述当前query的向量表示和所述用户在第一时长内的搜索历史信息的向量表示的整合与所述候选搜索结果的向量表示之间的相似度,所述第二相似度为所述当前query的向量表示和所述用户在第二时长内的搜索历史信息的向量表示的整合与所述候选搜索结果的向量表示之间的相似度;
所述确定单元,还用于获取用户在第二时长内搜索的query集合和点击的搜索结果集合;将所述query集合和所述搜索结果集合求并集得到词集合;对所述词集合使用PV-DBOW进行编码处理,得到所述用户在第二时长内的搜索历史信息的向量表示。
13.根据权利要求12所述的装置,其特征在于,所述用户在第一时长内的搜索历史信息包括:同一会话中在所述当前query之前的query序列和query序列中各query对应的被点击搜索结果。
14.根据权利要求12所述的装置,其特征在于,所述候选搜索结果包括相关网页或相关实体;
其中相关实体的向量表示为:所述相关实体的标识、名称以及实体描述的整合向量表示。
15.一种训练搜索结果排序模型的装置,其特征在于,该装置包括:
样本获取单元,用于利用搜索日志获取训练样本,所述训练样本包括:样本query、用户在输入样本query之前第一时长内的搜索历史信息、用户在输入样本query之前第二时长内的搜索历史信息、样本query对应的搜索结果以及搜索结果的被点击状况;
模型训练单元,用于利用所述训练样本训练排序模型,以达到预设的训练目标;其中所述排序模型的输入包括样本query、用户在输入样本query之前第一时长内的搜索历史信息、用户在输入样本query之前第二时长内的搜索历史信息以及样本query对应的搜索结果,所述排序模型的输出包括对各搜索结果的评分;所述排序模型对各搜索结果的评分依据第一相似度和第二相似度确定,所述第一相似度为所述样本query的向量表示和所述第一时长内的搜索历史信息的向量表示的整合与所述搜索结果的向量表示之间的相似度,所述第二相似度为所述样本query的向量表示和所述在第二时长内的搜索历史信息的向量表示的整合与所述搜索结果的向量表示之间的相似度;所述训练目标包括:最大化搜索结果被点击状况与搜索结果的评分之间的相关度;
模型获取单元,用于利用训练得到的排序模型,获取搜索结果排序模型;
所述模型训练单元,还用于获取用户在输入样本query之前第二时长内搜索的query集合和点击的搜索结果集合;将所述query集合和所述搜索结果集合进行切词处理后求并集得到词集合;对所述词集合使用PV-DBOW进行编码处理,得到所述用户在输入样本query之前第二时长内的搜索历史信息的向量表示。
16.根据权利要求15所述的装置,其特征在于,所述用户在输入样本query之前第一时长内的搜索历史信息包括:同一会话中在所述样本query之前的query序列和query序列中各query对应的被点击搜索结果。
17.根据权利要求15或16所述的装置,其特征在于,所述搜索结果包括:第一类搜索结果和第二类搜索结果;
所述排序模型包括:共享向量子模型、第一排序子模型和第二排序子模型;
所述模型训练单元,具体用于将所述样本query、用户在输入样本query之前第一时长内的搜索历史信息、用户在输入样本query之前第二时长内的搜索历史信息以及样本query对应的搜索结果输入所述共享向量子模型,得到所述共享向量子模型输出的所述样本query的向量表示和所述第一时长内的搜索历史信息的向量表示的整合,以及所述样本query的向量表示和所述在第二时长内的搜索历史信息的向量表示的整合;将所述共享向量子模型的输出以及样本query的第一类搜索结果输入所述第一排序子模型,得到对所述第一搜索结果的评分;以及将所述共享向量子模型的输出以及样本query的第二类搜索结果输入所述第二排序子模型,得到对所述第二搜索结果的评分;对所述第一排序子模型和第二排序子模型进行联合训练,以达到预设的训练目标,所述训练目标包括:最大化第一类搜索结果被点击状况与第一类搜索结果的评分之间的相关度,以及最大化第二类搜索结果被点击状况与第二类搜索结果的评分之间的相关度;
所述模型获取单元,具体用于在所述模型训练单元训练结束后,利用所述第一排序子模型和所述第二排序子模型中的一个以及所述共享向量子模型,得到所述搜索结果排序模型。
18.根据权利要求17所述的装置,其特征在于,所述模型训练单元在对所述第一排序子模型和第二排序子模型进行联合训练时,具体执行:
在训练迭代过程中,每次随机从所述第一排序子模型和所述第二排序子模型中选择一个进行训练,利用被选择的子模型的输出更新被选择的子模型和共享向量子模型的模型参数;或者,
在训练迭代过程中,每次交替从所述第一排序子模型和所述第二排序子模型中选择一个进行训练,利用被选择的子模型的输出更新被选择的子模型和共享向量子模型的模型参数;或者,
在训练迭代过程中,每次均对所述第一排序子模型和所述第二排序子模型进行训练,利用所述第一排序子模型和所述第二排序子模型的输出更新所有子模型的模型参数。
19.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-11中任一项所述的方法。
20.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-11中任一项所述的方法。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911373544.1A CN111177551B (zh) | 2019-12-27 | 2019-12-27 | 确定搜索结果的方法、装置、设备和计算机存储介质 |
JP2022506430A JP7379804B2 (ja) | 2019-12-27 | 2020-05-28 | 検索結果を決定する方法、装置、機器、及びコンピュータ記憶媒体 |
KR1020217039536A KR20220003085A (ko) | 2019-12-27 | 2020-05-28 | 검색 결과를 결정하는 방법, 장치, 기기 및 컴퓨터 기록 매체 |
US17/602,304 US11734373B2 (en) | 2019-12-27 | 2020-05-28 | Method, apparatus, device and computer storage medium for determining search result |
EP20904682.0A EP3937032A4 (en) | 2019-12-27 | 2020-05-28 | Search result determination method, device, apparatus, and computer storage medium |
PCT/CN2020/092742 WO2021128729A1 (zh) | 2019-12-27 | 2020-05-28 | 确定搜索结果的方法、装置、设备和计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911373544.1A CN111177551B (zh) | 2019-12-27 | 2019-12-27 | 确定搜索结果的方法、装置、设备和计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111177551A CN111177551A (zh) | 2020-05-19 |
CN111177551B true CN111177551B (zh) | 2021-04-16 |
Family
ID=70655783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911373544.1A Active CN111177551B (zh) | 2019-12-27 | 2019-12-27 | 确定搜索结果的方法、装置、设备和计算机存储介质 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11734373B2 (zh) |
EP (1) | EP3937032A4 (zh) |
JP (1) | JP7379804B2 (zh) |
KR (1) | KR20220003085A (zh) |
CN (1) | CN111177551B (zh) |
WO (1) | WO2021128729A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111177551B (zh) * | 2019-12-27 | 2021-04-16 | 百度在线网络技术(北京)有限公司 | 确定搜索结果的方法、装置、设备和计算机存储介质 |
CN112163147A (zh) * | 2020-06-09 | 2021-01-01 | 中森云链(成都)科技有限责任公司 | 一种用于网站会话场景的推荐方法 |
CN111783452B (zh) * | 2020-06-30 | 2024-04-02 | 北京百度网讯科技有限公司 | 模型训练方法、信息处理方法、装置、设备及存储介质 |
CN111897943A (zh) * | 2020-08-17 | 2020-11-06 | 腾讯科技(深圳)有限公司 | 会话记录搜索方法、装置、电子设备及存储介质 |
CN112100480A (zh) * | 2020-09-15 | 2020-12-18 | 北京百度网讯科技有限公司 | 搜索方法、装置、设备及存储介质 |
CN112231545B (zh) * | 2020-09-30 | 2023-12-22 | 北京三快在线科技有限公司 | 聚块集合的排序方法、装置、设备及存储介质 |
CN112632406B (zh) * | 2020-10-10 | 2024-04-09 | 咪咕文化科技有限公司 | 查询方法、装置、电子设备及存储介质 |
CN112364235A (zh) * | 2020-11-19 | 2021-02-12 | 北京字节跳动网络技术有限公司 | 搜索处理方法、模型训练方法、装置、介质及设备 |
KR102373486B1 (ko) * | 2021-08-09 | 2022-03-14 | 쿠팡 주식회사 | 브랜드 정보 제공 방법 및 그 장치 |
CN116501951A (zh) * | 2022-01-19 | 2023-07-28 | 南京中兴新软件有限责任公司 | 搜索结果排序方法、搜索系统、计算机可读存储介质 |
CN115238126A (zh) * | 2022-07-28 | 2022-10-25 | 腾讯科技(深圳)有限公司 | 搜索结果重排序方法、装置、设备及计算机存储介质 |
WO2024096370A1 (ko) * | 2022-11-01 | 2024-05-10 | 한화솔루션(주) | 분산된 지식 정보의 싱글 윈도우 내 통합 검색 및 사용자 검색 패턴 기반 지식 정보의 추천을 수행하는 플랫폼 서버, 이를 포함하는 서비스 제공 시스템 및 서비스 제공 방법 |
CN115994664B (zh) * | 2023-01-04 | 2023-08-08 | 浙江中兴慧农信息科技有限公司 | 一种共享冷库模式的智能推荐的方法、装置及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107506402A (zh) * | 2017-08-03 | 2017-12-22 | 北京百度网讯科技有限公司 | 搜索结果的排序方法、装置、设备及计算机可读存储介质 |
CN110196904A (zh) * | 2018-02-26 | 2019-09-03 | 佛山市顺德区美的电热电器制造有限公司 | 一种获取推荐信息的方法、装置及计算机可读存储介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8719025B2 (en) * | 2012-05-14 | 2014-05-06 | International Business Machines Corporation | Contextual voice query dilation to improve spoken web searching |
CN103577489A (zh) * | 2012-08-08 | 2014-02-12 | 百度在线网络技术(北京)有限公司 | 一种网页浏览历史查询方法及装置 |
US9910930B2 (en) | 2014-12-31 | 2018-03-06 | TCL Research America Inc. | Scalable user intent mining using a multimodal restricted boltzmann machine |
CN105528388B (zh) * | 2015-11-04 | 2020-12-11 | 百度在线网络技术(北京)有限公司 | 搜索推荐方法和装置 |
CN106649605B (zh) * | 2016-11-28 | 2020-09-29 | 百度在线网络技术(北京)有限公司 | 一种推广关键词的触发方法及装置 |
JP6744353B2 (ja) * | 2017-04-06 | 2020-08-19 | ネイバー コーポレーションNAVER Corporation | ディープラーニングを活用した個人化商品推薦 |
US10489425B2 (en) * | 2017-10-26 | 2019-11-26 | Salesforce.Com, Inc. | User clustering based on query history |
CN108345702A (zh) * | 2018-04-10 | 2018-07-31 | 北京百度网讯科技有限公司 | 实体推荐方法和装置 |
CN109033140B (zh) * | 2018-06-08 | 2020-05-29 | 北京百度网讯科技有限公司 | 一种确定搜索结果的方法、装置、设备和计算机存储介质 |
CN110245289A (zh) * | 2019-05-20 | 2019-09-17 | 中国平安财产保险股份有限公司 | 一种信息搜索方法以及相关设备 |
CN111177551B (zh) | 2019-12-27 | 2021-04-16 | 百度在线网络技术(北京)有限公司 | 确定搜索结果的方法、装置、设备和计算机存储介质 |
-
2019
- 2019-12-27 CN CN201911373544.1A patent/CN111177551B/zh active Active
-
2020
- 2020-05-28 WO PCT/CN2020/092742 patent/WO2021128729A1/zh unknown
- 2020-05-28 US US17/602,304 patent/US11734373B2/en active Active
- 2020-05-28 KR KR1020217039536A patent/KR20220003085A/ko not_active Application Discontinuation
- 2020-05-28 JP JP2022506430A patent/JP7379804B2/ja active Active
- 2020-05-28 EP EP20904682.0A patent/EP3937032A4/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107506402A (zh) * | 2017-08-03 | 2017-12-22 | 北京百度网讯科技有限公司 | 搜索结果的排序方法、装置、设备及计算机可读存储介质 |
CN110196904A (zh) * | 2018-02-26 | 2019-09-03 | 佛山市顺德区美的电热电器制造有限公司 | 一种获取推荐信息的方法、装置及计算机可读存储介质 |
Non-Patent Citations (2)
Title |
---|
Image search result re-ranking using keyword clusters with duplicate avoidance;Rahul Kadam et al.;《2016 IEEE International Conference on Computational Intelligence and Computing Research》;20170518;1-3 * |
一种基于文档相似度的检索结果重排序方法;周博 等;《中文信息学报》;20100515;第24卷(第3期);19-23 * |
Also Published As
Publication number | Publication date |
---|---|
JP2022540508A (ja) | 2022-09-15 |
US11734373B2 (en) | 2023-08-22 |
WO2021128729A9 (zh) | 2021-11-04 |
EP3937032A4 (en) | 2022-06-29 |
CN111177551A (zh) | 2020-05-19 |
KR20220003085A (ko) | 2022-01-07 |
EP3937032A1 (en) | 2022-01-12 |
JP7379804B2 (ja) | 2023-11-15 |
WO2021128729A1 (zh) | 2021-07-01 |
US20220237251A1 (en) | 2022-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111177551B (zh) | 确定搜索结果的方法、装置、设备和计算机存储介质 | |
US11714816B2 (en) | Information search method and apparatus, device and storage medium | |
CN109033140B (zh) | 一种确定搜索结果的方法、装置、设备和计算机存储介质 | |
US10783194B1 (en) | Providing remedial search operation based on analysis of user interaction with search results | |
US20210365515A1 (en) | Method for Recommending a Search Term, Method for Training a Target Model and Electronic Device | |
JP7395445B2 (ja) | 検索データに基づくヒューマンコンピュータ対話型インタラクションの方法、装置及び電子機器 | |
CN111222058B (zh) | 查询自动补全的方法、装置、设备和计算机存储介质 | |
CN111949814A (zh) | 搜索方法、装置、电子设备和存储介质 | |
CN111259222A (zh) | 物品推荐方法、系统、电子设备及存储介质 | |
CN111666292A (zh) | 用于检索地理位置的相似度模型建立方法和装置 | |
CN111563198B (zh) | 一种物料召回方法、装置、设备及存储介质 | |
CN111444438B (zh) | 召回策略的准召率的确定方法、装置、设备及存储介质 | |
CN112084150A (zh) | 模型训练、数据检索方法,装置,设备以及存储介质 | |
CN112559901A (zh) | 资源推荐的方法、装置、电子设备、存储介质及计算机程序产品 | |
CN111666461A (zh) | 检索地理位置的方法、装置、设备和计算机存储介质 | |
CN112579897A (zh) | 信息搜索方法和装置 | |
CN113595770B (zh) | 群组点击率预估方法、装置、电子设备和存储介质 | |
CN112148988B (zh) | 用于生成信息的方法、装置、设备以及存储介质 | |
CN111881255B (zh) | 同义文本获取方法、装置、电子设备及存储介质 | |
CN111274497B (zh) | 社区推荐及模型训练方法、装置、电子设备及存储介质 | |
CN113902005A (zh) | 语言模型的预训练方法、装置、设备和存储介质 | |
CN111898016A (zh) | 引导交互的方法、资源数据库的建立方法、装置 | |
CN112579875A (zh) | 投放信息标题的生成方法、装置、设备和介质 | |
CN112579889A (zh) | 物品推荐方法、装置、电子设备及存储介质 | |
CN112052402A (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 |