检索方法、装置及存储介质与流程

文档序号:19947348发布日期:2020-02-18 09:39阅读:142来源:国知局
检索方法、装置及存储介质与流程

本发明涉及信息处理领域,尤其涉及一种检索方法、装置及存储介质。



背景技术:

目前,越来越多的用户开始使用电商平台购买商品。用户在电商平台选择商品时,电商平台会根据该用户输入的检索文本展示出与该检索文本相关的商品。然而,经常存在用户将电商平台展示出的与该检索文本相关的商品浏览完也未找到用户的目标商品,即,相关技术中的搜索方法很大程度上依赖于用户本身的检索技巧,搜索效率低,用户体验感差。



技术实现要素:

有鉴于此,本发明实施例期望提供一种搜索方法、装置及存储介质,能够在一定程度上降低对用户本身检索技巧的依赖,提升搜索效率,提升用户体验感。

本发明实施例的技术方案是这样实现的:

本发明实施例提供一种搜索方法,包括:

接收第一检索文本;所述第一检索文本用于从数据库中检索目标对象;

利用所述第一检索文本,结合第一模型,得到第一检索向量;

将所述第一检索向量与第一对象向量集中的向量进行匹配,得到第一匹配结果;所述第一对象向量集为所述数据库中每个对象对应的向量形成的集合;

获取针对所述第一匹配结果对应的所述数据库中的对象进行操作的反馈结果;

利用所述反馈结果,对所述第一检索向量进行修正,得到第二检索向量;

将所述第二检索向量与所述第一对象向量集中的向量进行匹配,得到第二匹配结果;将所述第二匹配结果对应所述数据库中的对象作为所述第一检索文本检索到的目标对象。

上述方案中,所述反馈结果通过显式方式反馈;所述利用所述反馈结果,对所述第一检索向量进行修正,得到第二检索向量,包括:

获取针对所述第一匹配结果对应的所述数据库中的对象进行操作的第一参数集;所述第一参数集表征用户对第一匹配结果对应的所述数据库中每个对象的评分值;

利用所述第一参数集和第二对象向量集,对所述第一检索向量进行加权处理,得到加权处理后的文本向量;所述第二对象向量集为所述第一匹配结果对应的所述数据库中每个对象对应的向量形成的集合;将所述加权处理后的文本向量作为所述第二检索向量。

上述方案中,所述反馈结果通过隐式方式反馈;所述利用所述反馈结果,对所述第一检索向量进行修正,得到第二检索向量,包括:

获取针对所述第一匹配结果对应的所述数据库中的对象进行操作的第二参数集;所述第二参数集表征用户对第一匹配结果对应的所述数据库中每个对象的关注度;

利用所述第二参数集和第二对象向量集,对所述第一检索向量进行加权处理,得到加权处理后的文本向量;所述第二对象向量集为所述第一匹配结果对应的所述数据库中每个对象对应的向量形成的集合;将所述加权处理后的文本向量作为所述第二检索向量。

上述方案中,所述反馈结果通过显式方式和隐式方式反馈;所述利用所述反馈结果,对所述第一检索向量进行修正,得到第二检索向量,包括:

获取针对所述第一匹配结果对应的所述数据库中的对象进行操作的第一参数集和第二参数集;所述第一参数集表征用户对第一匹配结果对应的所述数据库中每个对象的评分值;所述第二参数集表征用户对第一匹配结果对应的所述数据库中每个对象的关注度;

对所述第一参数集和所述第二参数集中对应的参数进行加权处理,得到第三参数集;

利用所述第三参数集和第二对象向量集,对所述第一检索向量进行加权处理,得到加权处理后的文本向量;所述第二对象向量集为所述第一匹配结果对应的所述数据库中每个对象对应的向量形成的集合;将所述加权处理后的文本向量作为所述第二检索向量。

上述方案中,将所述加权处理后的文本向量作为第二检索向量时,所述方法还包括:

获取针对所述第一匹配结果对应的所述数据库中的对象中的兴趣对象;所述兴趣对象为所述反馈结果满足预设条件的对象;

确定所述兴趣对象在至少一个维度上的共同属性信息;

利用所述共同属性信息,对所述加权处理后的文本向量进行修正;将修正后的文本向量作为所述第二检索向量。

上述方案中,所述方法还包括:

获取所述数据库中各对象的属性信息;

根据所述各对象的属性信息数据,结合第一模型,得到各对象对应的第一对象向量;所有对象对应的第一对象向量形成所述第一对象向量集。

上述方案中,所述利用所述第一检索文本,结合第一模型,得到第一检索向量,包括:

对所述第一检索文本进行分词,得到分词结果;

对所述分词结果中的每一个词,利用第一模型,得到相应词的词向量;

当所述分词结果中包含一个词时,将一个词对应的词向量作为第一检索向量;

当所述分词结果中包含多个词时,对多个词对应的所有词向量求平均值,将所述平均值作为第一检索向量。

本发明实施例还提供一种搜索装置,包括:

接收单元,用于接收第一检索文本;所述第一检索文本用于从数据库中检索目标对象;

确定单元,用于利用所述第一检索文本,结合第一模型,得到第一检索向量;

第一匹配单元,用于将所述第一检索向量与第一对象向量集中的向量进行匹配,得到第一匹配结果;所述第一对象向量集为所述数据库中每个对象对应的向量形成的集合;

获取单元,用于获取针对所述第一匹配结果对应的所述数据库中的对象进行操作的反馈结果;

修正单元,用于利用所述反馈结果,对所述第一检索向量进行修正,得到第二检索向量;

第二匹配单元,用于将所述第二检索向量与所述第一对象向量集中的向量进行匹配,得到第二匹配结果;将所述第二匹配结果对应所述数据库中的对象作为所述第一检索文本检索到的目标对象。

本发明实施例又提供一种搜索装置,包括:处理器和用于存储能够在处理器上运行的可执行指令的存储器,其中,所述处理器用于运行所述可执行指令时,执行上述方法的任一步骤。

本发明实施例还提供一种计算机可读存储介质,其上存储有可执行指令,所述可执行指令被处理器执行时实现上述方法的任一步骤。

本发明实施例提供的搜索方法、装置及存储介质,接收第一检索文本;所述第一检索文本用于从数据库中检索目标对象;利用所述第一检索文本,结合第一模型,得到第一检索向量;将所述第一检索向量与第一对象向量集中的向量进行匹配,得到第一匹配结果;所述第一对象向量集为所述数据库中每个对象对应的向量形成的集合;获取针对所述第一匹配结果对应的所述数据库中的对象进行操作的反馈结果;利用所述反馈结果,对所述第一检索向量进行修正,得到第二检索向量;将所述第二检索向量与所述第一对象向量集中的向量进行匹配,得到第二匹配结果;将所述第二匹配结果对应所述数据库中的对象作为所述第一检索文本检索到的目标对象。本发明实施例中,首先,利用接收的检索文本(即用户输入的检索文本)得到一个初步检索结果,然后,根据对该初步检索结果的反馈情况来对接收的检索文本进行二次优化,最后采用优化后的检索文本再次进行检索,从而得到检索结果。由于优化后的检索文本在用户自身搜索意愿的基础上,进一步考虑了用户的实时喜好反馈,从而使搜索结果更贴近用户的目标,使用户能够更快地寻找到目标对象。如此,能够在一定程度上降低对用户自身检索技巧的依赖,提升了搜索效率,提升用户体验感。

附图说明

图1为本发明实施例提供的搜索方法的实现流程示意图;

图2为本发明应用实施例提供的搜索方法的实现流程示意图;

图3为本发明应用实施例提供的搜索方法的瀑布流式的结果滚动展示方式的示意图;

图4为本发明实施例提供的搜索装置的结构示意图;

图5为本发明实施例提供的搜索装置的组成结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。

实际应用时,本发明实施例所提供的搜索方法的执行主体可以是电商平台的相关电子服务系统中的服务器。

相关技术中的电商平台,一般均是在用户输入检索文本后进行查询,查询得到的检索结果同时显现在客户端的界面上。用户使用翻页或类似于翻页的功能浏览检索结果。在浏览完检索结果时,如果用户不重新设置检索文本,则不会有新的检索商品出现,所以用户能不能找到目标商品,很大程度上依赖于该用户第一次输入的检索文本。然而,在很多时候,用户在意图购买某一种样式的商品时,可能并不知道这种样式的书面名称,甚至可能并不明确自身最中意的样式究竟是怎么样的。

针对上述问题,相关技术中的搜索方法也存在一些应对策略,如在根据用户输入的检索文本进行检索后,先内部将检索到的结果进行分析,即将检索结果中相关性最高的k(k为≥2的正整数)个作为相关结果集合,然后提取该相关结果集合的特征词,扩展本身的查询文本,重新进行检索,再返回检索结果。或者,利用用户的搜索日志信息在线下对用户进行画像,然后利用用户画像预测用户的购物习惯。

综上所述,相关技术中搜索方法很大程度上依赖于用户本身的检索技巧,缺少对用户对检索结果的实时反馈情况的关注,从而使得搜索效率低,用户体验感差。

基于此,在本发明实施例中,首先,利用接收的检索文本(即用户输入的检索文本)得到一个初步检索结果,然后,根据对该初步检索结果的反馈情况来对接收的检索文本进行二次优化,最后采用优化后的检索文本再次进行检索,从而得到检索结果。由于优化后的检索文本在用户自身搜索意愿的基础上,进一步考虑了用户的实时喜好反馈,从而使搜索结果更贴近用户的目标,使用户能够更快地寻找到目标对象。如此,能够在一定程度上降低对用户自身检索技巧的依赖,提升了搜索效率,提升用户体验感。

本发明实施例提供一种搜索方法,图1为本发明实施例搜索方法的实现流程示意图。如图1所示,所述方法包括以下步骤:

步骤101:接收第一检索文本;所述第一检索文本用于从数据库中检索目标对象;

步骤102:利用所述第一检索文本,结合第一模型,得到第一检索向量;

步骤103:将所述第一检索向量与第一对象向量集中的向量进行匹配,得到第一匹配结果;所述第一对象向量集为所述数据库中每个对象对应的向量形成的集合;

步骤104:获取针对所述第一匹配结果对应的所述数据库中的对象进行操作的反馈结果;

步骤105:利用所述反馈结果,对所述第一检索向量进行修正,得到第二检索向量;

步骤106:将所述第二检索向量与所述第一对象向量集中的向量进行匹配,得到第二匹配结果;将所述第二匹配结果对应所述数据库中的对象作为所述第一检索文本检索到的目标对象。

在步骤101中,这里所述第一检索文本是指用户输入的,意图从数据库(这里,数据库是指某平台拥有的所有对象形成的数据库)中检索一个或多个目标对象的描述文本。

实际应用时,接收所述第一检索文本的方式可以是:接收输入的第一检索文本,如,接收由用户通过对应的数据输入接口(如,安装在终端上应用软件中的用于输入文字、语音等预设输入位置)输入的该用户的意图进行检索的对象的描述文本。需要说明的是,如果接收的是语音数据,需要将语音数据转换为文本数据。

在步骤102中,主要是将所述第一检索文本转换成向量的表征方式。所述第一检索向量为所述第一检索文本对应的向量。

这里,所述第一模型为预先训练好的、可将输入的词训练成表征该词含义的词向量表达的模型。

实际应用时,所述第一模型可以为elmo模型、或为openaigpt模型、或为bert模型等。

实际应用时,考虑到接收的第一检索文本可能存在多个词,此时,需要将第一检索文本进行分词,并对第一检索文本中包含的每一个进行词向量的转化,然后对所有转化得到的词向量进行求平均来获得第一检索文本对应的第一检索向量。

基于此,在一实施例中,所述利用所述第一检索文本,结合第一模型,得到第一检索向量,包括:

对所述第一检索文本进行分词,得到分词结果;

对所述分词结果中的每一个词,利用第一模型,得到相应词的词向量;

当所述分词结果中包含一个词时,将一个词对应的词向量作为第一检索向量;

当所述分词结果中包含多个词时,对多个词对应的所有词向量求平均值,将所述平均值作为第一检索向量。

实际应用时,考虑到接收到的第一检索文本可能存在口语化或词义不清晰的情况。还可以基于预设规则对所述分词结果中的某一个词进行同义词扩展处理,得到该词扩展后的每一个词;对所述扩展后的每一个词,利用第一模型,得到扩展后的相应词的词向量;将扩展后的每一个词的词向量求平均值,即可得到该词的词向量,如此获得的词向量更清晰、更明白。这里,所述预设规则可以是通过查找同义词映射表的方式获取某个词的同义词。所述同义词映射表为预先制定的按同义词进行分类的表。实际应用时,当分词结果中包含多个词时,这多个词均可根据实际需要进行上述同义词的扩展处理,以获得更优的第一搜索向量。

在步骤103中,主要是利用文本相似度匹配的方法来得到利用第一检索文本从数据库中检索到的目标对象相关结果。

这里,在进行匹配之前,需要将数据库中每个对象转化成对应的向量表达,数据库中所有对象对应的所有向量形成了所述第一对象向量集。

实际应用时,在一实施例中,所述方法还包括:

获取所述数据库中各对象的属性信息;

根据所述各对象的属性信息数据,结合第一模型,得到各对象对应的对象向量;所有对象对应的对象向量形成所述第一对象向量集。

实际应用时,所述属性信息具体可以为对象的具体类别标签、风格标签、颜色、目标人群、上新时间、适用季节、价格等信息。这里,可以理解为各属性信息为对象某一维的文本表达,通过多个属性信息可以获得该对象的一个短文本高维表征向量。

实际应用时,获取数据库中各对象属性信息的方式可以是:接收输入的属性信息,如,接收由后台工作人员通过对应的数据输入接口输入的各对象的属性信息。

这里,所述第一模型与其前述检索文本进行向量化所使用的第一模型相同。

在得到第一对象向量集后,实际应用中,将第一检索向量与第一对象向量集中的向量进行匹配,可以理解为将第一对象向量集中与第一检索向量的相似满足预设阈值的向量作为从所述第一对象向量集中匹配到的向量。

在步骤104中,在得到了匹配到的向量后,需要将匹配到的向量映射回数据库中的对象,即得到第一匹配结果对应的所述数据库中的对象。

在得到一个初步的与目标对象相关的对象后,需要获取用户针对所述初步的与目标对象相关的对象进行操作的反馈结果。

这里,所述反馈结果可以是用户显式的反馈结果,如反映对各相关对象的显式反馈的评分值结果(评分值为0-100之间的数值,评分越高,代表该相关对象与目标对象越接近)。实际应用时,显式的反馈结果的获取方式可以通过接收输入的评分值,如,接收由用户通过对应的数据输入接口(如,安装在终端上应用软件中的用于各相关对象输入评分值的预设输入位置)输入的该用户对某个相关对象的评分值。

所述反馈结果也可以是用户隐式的反馈结果,如反映对各相关对象的隐式反馈的关注度结果(关注度为0-100之间的数值,关注越高,代表该相关对象与目标对象越接近)。实际应用时,当所述对象为商品时,能够体现关注度的操作包括:用户是否查看了某一相关对象的详情页、用户对某一相关对象的详情页浏览时长、用户是否查看了某一相关对象的买家秀或买家评论、用户是否将某一相关对象加入购物车等。实际应用时,隐式的反馈结果的获取方式即将这些体现关注度的操作进行量化,并得到相应的量化值。

实际应用时,具体的量化方式可以是:先针对各用户对购买目标对象前进行的操作习惯的大数据进行分析,结合决策树等传统机器学习方案,建立操作与关注度对应的预测模型,然后将用户针对某个相关对象的能够体现关注度的操作情况输入到该模型,即可获得用户对某个相关对象的关注度。

实际应用时,具体的量化方式还可以是:对所有能够体现关注度的操作进行权重划分(如,是否查看某一相关对象的详情页权重为10,用户对某一相关对象的详情页浏览时长权重为20,用户是否查看了某一相关对象的买家秀或买家评论为权重20,用户是否将某一相关对象加入购物车为50),然后根据用户针对每个相关对象的能够体现关注度的操作进行量化(查看了某一相关对象的详情页获得10,用户对某一相关对象的详情页浏览时长超过3分钟获得20,查看了某一相关对象的买家秀或买家评论获得20,将某一相关对象加入购物车获得20,将针对某一相关对象关注度量化值进行相加),得到用户针对相应相关对象的关注度(90)。

所述反馈结果还可以是用户显式的反馈结果和用户隐式的反馈结果的综合反馈结果。所述综合反馈结果中的显式的反馈结果与前述的显式的反馈结果的获取方式相同;所述综合反馈结果中的隐式的反馈结果与前述的隐式的反馈结果的获取方式相同。

在步骤105中,主要是利用所述反馈结果,对所述第一检索向量进行修正,所述第二检索向量为对第一检索向量进行修正后的检索向量。

实际应用时,对应不同的反馈结果,进行修正的过程有所不同。

当反馈结果为显式反馈时,在一实施例中,所述利用所述反馈结果,对所述第一检索向量进行修正,得到第二检索向量,包括:

获取针对所述第一匹配结果对应的所述数据库中的对象进行操作的第一参数集;所述第一参数集表征用户对第一匹配结果对应的所述数据库中每个对象的评分值;

利用所述第一参数集和第二对象向量集,对所述第一检索向量进行加权处理,得到加权处理后的文本向量;所述第二对象向量集为所述第一匹配结果对应的所述数据库中每个对象对应的向量形成的集合;将所述加权处理后的文本向量作为所述第二检索向量。

当反馈结果为隐式反馈时,在一实施例中,所述利用所述反馈结果,对所述第一检索向量进行修正,得到第二检索向量,包括:

获取针对所述第一匹配结果对应的所述数据库中的对象进行操作的第二参数集;所述第二参数集表征用户对第一匹配结果对应的所述数据库中每个对象的关注度;

利用所述第二参数集和第二对象向量集,对所述第一检索向量进行加权处理,得到加权处理后的文本向量;所述第二对象向量集为所述第一匹配结果对应的所述数据库中每个对象对应的向量形成的集合;将所述加权处理后的文本向量作为所述第二检索向量。

当反馈结果为显式反馈和隐式反馈时,在一实施例中,所述利用所述反馈结果,对所述第一检索向量进行修正,得到第二检索向量,包括:

获取针对所述第一匹配结果对应的所述数据库中的对象进行操作的第一参数集和第二参数集;所述第一参数集表征用户对第一匹配结果对应的所述数据库中每个对象的评分值;所述第二参数集表征用户对第一匹配结果对应的所述数据库中每个对象的关注度;

对所述第一参数集和所述第二参数集中对应的参数进行加权处理,得到第三参数集;

利用所述第三参数集和第二对象向量集,对所述第一检索向量进行加权处理,得到加权处理后的文本向量;所述第二对象向量集为所述第一匹配结果对应的所述数据库中每个对象对应的向量形成的集合;将所述加权处理后的文本向量作为所述第二检索向量。

这里,所述第一参数集为前述用户对某个相关对象的评分值对应的评分系数组成的集合;所述第二参数集为前述用户对某个相关对象的关注度对应的关注度系数组成的集合;所述第三参数集为前述用户对某个相关对象的评分值对应的评分系数以及相关度对应的关注度系数经加权处理后得到的综合系数组成的集合。

所述第二对象向量集为所述第一匹配结果中每个对象对应的向量形成的集合。

实际应用时,利用第一参数集或者第二参数集或者第三参数集,以及第二对象向量集对所述第一检索向量进行加权处理,得到加权处理后的文本向量的具体方式是相同的。具体地,以第一参数集为例进行详细说明。

γ是一个-1~1的系数,该系数由评分值决定。当评分值偏向不相关时,该值为负;当评分值偏向相关时,该值为正。评分的极性越强,γ的绝对值越大。比如,设定50为一般相关,0为特别不相关,100为非常相关,则:

其中,γ为用户对某个相关对象的评分系数;e为用户对某个相关对象的评分值。

实际应用时,针对所述第一匹配结果中的某个相关对象,利用所述第一参数集中对应的评分系数的和第二对象向量集中对应的向量,结合如下式(1),对所述第一检索向量进行加权处理,得到针对某个相关对象加权处理后的文本向量。

其中,γ为用户对某个相关对象的评分系数;v2为第二对象向量集中某个相关对象的向量;vq为所述第一检索向量;vq'1为针对某个相关对象加权处理后的文本向量。

实际应用时,需要将第一检索向量与所述第一匹配结果中的每一个对象进行加权转化成针对每一个对象加权处理后的文本向量,然后对得到的针对每一个对象加权处理后的文本向量求平均值,从而得到所述第二检索向量。

需要说明的是:当利用第二参数集或者第三参数集,以及第二对象向量集对所述第一检索向量进行加权处理,得到加权处理后的文本向量时,实现方式与上述采用第一参数集为例进行举例的方式类似,仅需要将第二参数集或者第三参数集的实际值替换第一参数集中的实际值即可。

实际应用时,还可以利用用户对第一匹配结果对应的所述数据库中的对象中感兴趣的多个对象进行共同特征分析,并利用该共同特征对加权处理后的文本向量进行进一步修正,以获得更好的修正效果。

基于此,在一实施例中,将所述加权处理后的文本向量作为第二检索向量时,所述方法还包括:

获取针对所述第一匹配结果对应的所述数据库中的对象中的兴趣对象;所述兴趣对象为所述反馈结果满足预设条件的对象;

确定所述兴趣对象在至少一个维度上的共同属性信息;

利用所述共同属性信息,对所述加权处理后的文本向量进行修正;将修正后的文本向量作为所述第二检索向量。

这里,所述预设条件为评分值或者关注度大于预设阈值的对象。这里,预设阈值可以根据实际情况进行调整,如预设条件可以为评分值大于90,或者为关注度大于90,或者为评分值与关注度的加权值大于90等。

实际应用时,所述共同属性信息可以表现为多个兴趣对象的高维表征向量在某些维度上具有接近的值。可以利用这些接近值的平均值对加权处理后的文本向量的对应的某些维度进行修正,并将修正后的文本向量作为所述第二检索向量。

在步骤106中,主要是利用文本相似度匹配的方法来得到利用第二检索文本从数据库中检索到的目标对象相关结果。用户可以从检索到的目标对象相关结果中找到目标对象。将所述第二匹配结果对应所述数据库中的对象作为所述第一检索文本检索到的目标对象。

实际应用时,考虑到搜索效率及搜索体验的问题,还可以将所述第二匹配结果对应所述数据库中的对象中满足预设条件的对象作为所述第一检索文本检索到的目标对象。这里,所述预设条件为检索向量与对象向量中相似度高于预设阈值的对象向量对应的对象。所述预设阈值可以根据实际情况进行调整,如60%。

实际应用时,从第二匹配结果中可能并不能帮助用户找到所有的目标对象,此时用户通过下滑屏等操作想要获取更多的与目标对象相关的对象。在该种情况下,可以利用前述的检索向量的修正方式,获取用户针对所述第二匹配结果对应的所述数据库中的对象进行操作的反馈结果;然后利用所述反馈结果,对所述第二检索向量进行修正,得到第三检索向量;再将所述第三检索向量与所述第一对象向量集中的向量进行匹配,得到第三匹配结果;最后将所述第三匹配结果对应所述数据库中的对象作为所述第一检索文本检索到的目标对象。如果从第三匹配结果中仍然不能帮助用户找到所有的目标对象,可以按照上述方式循序,不断的利用用户针对上一次匹配结果进行操作的反馈结果对上一次修正后的检索向量进行重新修正,并利用重新修正后的检索向量进行检索,得到新的匹配结果,直到从新的匹配结果中可以帮助用户找到所有的目标对象为止。这里,客户端中应用软件显示界面对应于本方案匹配结果的展示方式为瀑布流式的结果滚动展示方式,该方式如图3所示。

本发明实施例提供的搜索方法,通过接收第一检索文本;所述第一检索文本用于从数据库中检索目标对象;利用所述第一检索文本,结合第一模型,得到第一检索向量;将所述第一检索向量与第一对象向量集中的向量进行匹配,得到第一匹配结果;所述第一对象向量集为所述数据库中每个对象对应的向量形成的集合;获取针对所述第一匹配结果对应的所述数据库中的对象进行操作的反馈结果;利用所述反馈结果,对所述第一检索向量进行修正,得到第二检索向量;将所述第二检索向量与所述第一对象向量集中的向量进行匹配,得到第二匹配结果;将所述第二匹配结果对应所述数据库中的对象作为所述第一检索文本检索到的目标对象。本发明实施例中,首先,利用接收的检索文本(即用户输入的检索文本)得到一个初步检索结果,然后,根据对该初步检索结果的反馈情况来对接收的检索文本进行二次优化,最后采用优化后的检索文本再次进行检索,从而得到检索结果。由于优化后的检索文本在用户自身搜索意愿的基础上,进一步考虑了用户的实时喜好反馈,从而使搜索结果更贴近用户的目标,使用户能够更快地寻找到目标对象。如此,能够在一定程度上降低对用户自身检索技巧的依赖,提升了搜索效率,提升用户体验感。

下面结合应用实施例对本发明再作进一步详细的描述。

本发明应用实施例提供一种搜索方法,搜索的目标对象为用户意图进行购买的目标商品。图2为本发明实施例搜索方法的实现流程示意图。如图2所示,所述方法包括以下步骤:

步骤a:建立商品数据库(对应图2中的商品集);

实际应用时,获取各商品的具体类别标签、风格标签、颜色、目标人群、上新时间、适用季节、价格等信息。对于商对客(b2c,business-to-consumer)平台而言,由平台设定这些字段信息。

步骤b:利用商品数据库的信息,结合深度神经网络模型m(相当于第一模型),将每一个商品的文本描述转换成一个短文本高维表征向量(对应图2中的向量化,相当于第一对象向量集)。

这里,进行向量化的目的是将商品的检索转化成一个文本相似度匹配的任务。

步骤c:对于用户输入的检索式(相当于第一检索文本),先通过预先定制的同义词词表扩展,然后使用深度神经网络模型m转化成短文本向量q(对应图2中的扩展,相当于第一检索向量);

步骤d:基于伪相关反馈的思想,利用检索向量q与商品数据库的向量化结果进行匹配(对应图2中的查询),匹配出相似度高于阈值的k_1个结果;

步骤e:将检索向量q与这个k_1个结果进行加权转化成新的q(相当于获取针对所述第一匹配结果进行操作的反馈结果;利用反馈结果,对第一检索向量进行修正,得到第二检索向量);

当存在显式反馈时:对于当前k个结果,记录用户的评分值,没有评分的忽略。在当前检索向量q的基础上,减去评分值较低的商品的特征向量,加上评分值较高的商品的向量,具体参照前述式(1)。

当存在隐式反馈时:对于当前k个结果,监测用户的操作情况,例如,用户在点进了商品g的详情页后,如果不是立刻退出该详情页,那么可以认为这是用户一次有意点击,应该在检索向量q中加大该商品特征向量的权重。还可以根据用户在该商品的详情页中停留的时间、是否查看了该商品的买家秀、买家评论(包括差评)等隐式反馈信息,来推测用户是否具有深入了解,有意购买该商品的意向,并据此调整检索向量q中针对该商品特征向量的权重。如果用户有收藏、加入购物车等强烈隐式反馈信息,则更应该重视当前商品的特征。这里,重视的程度(相当于前述的关注度系数)可以通过决策树等传统机器学习方案得到,然后同样按照前述式(1)将检索向量q与这个k_1个结果进行加权。

实际应用时,如果用户还私戳了店家客服,询问了问题,那么应当利用自然语言处理的相关技术了解用户关心的东西,如果是与商品特点相关的,例如“这个衣服的颜色和图中是一样的嘛?有没有色差呀”,这个问题非常明确地表明了用户对于衣服颜色的偏向,那么根据商品的信息,将该颜色转化计算机可理解的特征向量,优化检索向量q。

关于显示反馈与隐式反馈同时存在,如果同时存在评分值对应的系数与重视的程度,可以将两者加权平均,并利用加权平均后的值进行后续的优化处理。

步骤f:实际应用时,还可以利用用户对当前k个结果中感兴趣的商品进行共同特征分析,并利用该共同特征对优化后的q进行进一步优化;

实际应用时,所述共同特征可以表现为多个兴趣商品的高维表征向量在某些维度上具有接近的值。对于抽取出的共同特征,在已进行优化的检索向量q上的对应维度,要引入的该值的影响。

步骤g:利用优化后的q,再次匹配出相似度高于阈值的k_2个结果。

步骤h:当从k_2个结果中并不能找到目标商品,此时重复上述步骤,利用前一次用户的显示及隐式反馈对当前的检索向量进行优化,并利用优化后的检索向量再次匹配出相似度高于阈值的多个结果,直到用户停止搜索。

实际应用时,客户端中应用软件端在支持服务器的上述搜索方案时,可以具备以下功能:

1、接收用户输入的检索式,同时返回的结果页面如图3,结果并不会一次返回太多相关结果,只会返回最相关或高于某个相关程度的k(20-40)个结果。

2、如图3所示,支持用户拖动打分条给展示的商品进行主观评价,作为一个显示反馈。实际应用中也可以结合具体情况,设置喜欢的点击标签等方式手机用户主观明确的反馈。

3、支持用户点击展示的任意商品,并正常浏览商品信息。

4、支持用户在任意商品界面,均可以选择一键返回到检索结果列表,继续探索心仪商品。

5、当k个商品全部展示完成,用户继续下滑,此时返回新的检索结果。

6、支持去重复展示效果,即对于已经展示过的结果,不再展示。

本发明实施例的搜索方法,一方面有助于机器/算法/模型对检索目标/意图的判断,一方面在不打扰用户的情况下给用户对检索内容修正的控制权;从用户真实信息行为中监测推断用户的信息需求,能做到数据的真实、可靠,并且对于单次信息搜寻任务而言保证足够的及时性,相关性;结合相关反馈,及时优化结果可以让用户逐渐被满足信息需求,在每一轮结果中相比于上一轮有更多相关的产品能刺激用户进一步完成信息搜寻目标的欲望;检索式自动优化的过程使用户不需要主动更改查询式,一方面使得产品易得性变高,一定程度上促进成交量,另一方面用户拥有了更好的信息搜寻体验。

此外,客户端中应用软件显示界面对应于本发明实施例中匹配结果的展示方式为瀑布流式的结果滚动展示方案,该结果展示方案使得用户不会直观上潜意识认为检索结果的有限性;该结果展示方案可以很大概率地保证用户较长时间的浏览,并且不会像相关技术中在进行结果页面展示时,随着往后翻页的过程,产品相关度下降,直观上给用户产品量大、品种多的感受,有助于建立用户对平台的信任。

为了实现本发明实施例的方法,本发明实施例还提供一种搜索装置400,图4为本发明实施例装置的结构示图,如图4所示,所述装置400包括:

接收单元401,用于接收第一检索文本;所述第一检索文本用于从数据库中检索目标对象;

确定单元402,用于利用所述第一检索文本,结合第一模型,得到第一检索向量;

第一匹配单元403,用于将所述第一检索向量与第一对象向量集中的向量进行匹配,得到第一匹配结果;所述第一对象向量集为所述数据库中每个对象对应的向量形成的集合;

获取单元404,用于获取针对所述第一匹配结果对应的所述数据库中的对象进行操作的反馈结果;

修正单元405,用于利用所述反馈结果,对所述第一检索向量进行修正,得到第二检索向量;

第二匹配单元406,用于将所述第二检索向量与所述第一对象向量集中的向量进行匹配,得到第二匹配结果;将所述第二匹配结果对应所述数据库中的对象作为所述第一检索文本检索到的目标对象。

在一实施例中,所述修正单元405,具体用于:所述反馈结果通过显式方式反馈;

获取针对所述第一匹配结果对应的所述数据库中的对象进行操作的第一参数集;所述第一参数集表征用户对第一匹配结果对应的所述数据库中每个对象的评分值;

利用所述第一参数集和第二对象向量集,对所述第一检索向量进行加权处理,得到加权处理后的文本向量;所述第二对象向量集为所述第一匹配结果对应的所述数据库中每个对象对应的向量形成的集合;将所述加权处理后的文本向量作为所述第二检索向量。

在一实施例中,所述修正单元405,具体用于:所述反馈结果通过隐式方式反馈;

获取针对所述第一匹配结果对应的所述数据库中的对象进行操作的第二参数集;所述第二参数集表征用户对第一匹配结果对应的所述数据库中每个对象的关注度;

利用所述第二参数集和第二对象向量集,对所述第一检索向量进行加权处理,得到加权处理后的文本向量;所述第二对象向量集为所述第一匹配结果对应的所述数据库中每个对象对应的向量形成的集合;将所述加权处理后的文本向量作为所述第二检索向量。

在一实施例中,所述修正单元405,具体用于:所述反馈结果通过显式方式和隐式方式反馈;

获取针对所述第一匹配结果对应的所述数据库中的对象进行操作的第一参数集和第二参数集;所述第一参数集表征用户对第一匹配结果对应的所述数据库中每个对象的评分值;所述第二参数集表征用户对第一匹配结果对应的所述数据库中每个对象的关注度;

对所述第一参数集和所述第二参数集中对应的参数进行加权处理,得到第三参数集;

利用所述第三参数集和第二对象向量集,对所述第一检索向量进行加权处理,得到加权处理后的文本向量;所述第二对象向量集为所述第一匹配结果对应的所述数据库中每个对象对应的向量形成的集合;将所述加权处理后的文本向量作为所述第二检索向量。

在一实施例中,所述修正单元405,具体用于:

获取针对所述第一匹配结果对应的所述数据库中的对象中的兴趣对象;所述兴趣对象为所述反馈结果满足预设条件的对象;

确定所述兴趣对象在至少一个维度上的共同属性信息;

利用所述共同属性信息,对所述加权处理后的文本向量进行修正;将修正后的文本向量作为所述第二检索向量。

在一实施例中,所述搜索装置400还包括向量化单元,用于:

获取所述数据库中各对象的属性信息;

根据所述各对象的属性信息数据,结合第一模型,得到各对象对应的第一对象向量;所有对象对应的第一对象向量形成所述第一对象向量集。

在一实施例中,所述确定单元402,具体用于:

对所述第一检索文本进行分词,得到分词结果;

对所述分词结果中的每一个词,利用第一模型,得到相应词的词向量;

当所述分词结果中包含一个词时,将一个词对应的词向量作为第一检索向量;

当所述分词结果中包含多个词时,对多个词对应的所有词向量求平均值,将所述平均值作为第一检索向量。

实际应用时,向量化单元、接收单元401、确定单元402、第一匹配单元403、获取单元404、修正单元405及第二匹配单元406可由搜索装置中的处理器实现。

需要说明的是:上述实施例提供的搜索装置在进行搜索时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的搜索装置与搜索方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

基于上述程序模块的硬件实现,且为了实现本发明实施例的方法,本发明实施例还提供一种搜索装置500,所述装置500包括:

存储器501,用于存储可执行指令;

处理器502,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的搜索方法。

实际应用时,如图5所示,所述装置500中的各个组件通过总线系统503耦合在一起。可理解,总线系统503用于实现这些组件之间的连接通信。总线系统503除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图5中将各种总线都标为总线系统503。

本发明实施例还提供一种存储介质,所述存储介质存储有可执行指令,当所述可执行指令被至少一个处理器执行时,实现本发明实施例提供的搜索方法。

在一些实施例中,存储介质可以是磁性随机存取存储器(fram,ferromagneticrandomaccessmemory)、只读存储器(rom,readonlymemory)、可编程只读存储器(prom,programmableread-onlymemory)、可擦除可编程只读存储器(eprom,erasableprogrammableread-onlymemory)、电可擦除可编程只读存储器(eeprom,electricallyerasableprogrammableread-onlymemory)、快闪存储器(flashmemory)、磁表面存储器、光盘、或只读光盘(cd-rom,compactdiscread-onlymemory)等存储器;也可以是包括上述存储器之一或任意组合的各种设备。

在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。

作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(html,hypertextmarkuplanguage)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。

作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。

需要说明的是:“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

另外,本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1