信息推送的方法和系统与流程

文档序号:22470966发布日期:2020-10-09 22:01阅读:159来源:国知局
信息推送的方法和系统与流程

本说明书涉及互联网技术领域,尤其涉及一种信息推送的方法和系统。



背景技术:

随着信息技术和互联网技术的快速发展,在线办理业务给人们的生活、工作带来了极大的便利。越来越多的人采用移动终端获取信息,例如,通过手机等移动终端中的app(application,应用程序)购物、理财、查看新闻资讯等,通过移动终端可以获得不同方面的服务。但是,随着在线业务规模的增大,各个应用平台的产品信息数量日益增能加,数量庞大且种类繁多的信息被提供,用户在面临海量的信息数据时,往往难以得到自己最想要的信息。如何从海量的信息数据中,为用户找到最想要的信息,从而推荐给用户,变得格外重要。现有技术中采用推荐系统为用户进行推荐时,通常采用基于内容相似度的推荐方法或关键词匹配的推荐方法。但是,单一推荐策略通常无法满足用户的线上需要,无法满足不同场景下用户对产品信息的需求,并且现有技术采用的推荐方法无法满足不同类型的资源之间的相互推荐,降低了用户对在线应用平台的满意度。

因此需要提供一种更全面、更准确的信息推送的方法和系统。



技术实现要素:

本说明书提供一种更全面、更准确的信息推送的方法和系统。

第一方面,本说明书提供一种信息推送的方法,包括:基于应用平台上的多个产品,生成对应的多个产品特征向量,包括:获取用户终端对所述多个产品的历史操作数据;以及基于所述历史操作数据中的至少一个相关性参数,确定所述多个产品对应的多个产品特征向量;获取所述用户终端当前时刻在所述应用平台中操作的目标产品,所述多个产品包括所述目标产品;基于所述目标产品对应的目标产品特征向量与所述多个产品特征向量的相似度,生成目标推送信息;以及向所述用户终端发送所述目标推送信息。

在一些实施例中,所述基于所述历史操作数据中的至少一个相关性参数,确定所述多个产品对应的多个产品特征向量,包括:基于所述至少一个相关性参数对所述多个产品进行聚合,得到同所述至少一个相关性参数对应的至少一个序列;以及基于所述至少一个序列对所述多个产品进行向量训练,得到所述多个产品对应的所述多个产品特征向量。

在一些实施例中,所述至少一个相关性参数包括下述至少一种:搜索词相关性;被所述用户终端访问的时间相关性;和用户属性相关性。

在一些实施例中,所述基于所述至少一个相关性参数对所述多个产品进行聚合,得到同所述至少一个相关性参数对应的至少一个序列,包括以下方式中的一种:对所述多个产品进行数据清洗,并基于所述多个历史操作数据的所述至少一个相关性参数对清洗后的所述多个产品进行聚合,得到所述至少一个序列;以及基于所述多个历史操作数据的所述至少一个相关性参数对所述多个产品进行聚合,并对聚合后的序列进行数据清洗,得到所述至少一个序列。

在一些实施例中,所述基于应用平台上的多个产品,生成对应的多个产品特征向量,还包括:在线获取所述应用平台中的新生产品,并基于所述新生产品的属性特征,生成所述新生产品对应的新生产品特征向量。

在一些实施例中,所述新生产品的属性特征包括所述新生产品的来源、所述新生产品的主题和所述新生产品预设的服务对象中的至少一个。

在一些实施例中,所述生成所述新生产品对应的产品特征向量,包括:将距离所述新生产品的生成时刻最近的m个相似产品对应的产品特征向量进行特征融合计算,得到所述新生产品对应的所述新生产品特征向量,其中,m为正整数,所述m个相似产品与所述新生产品具有相同的属性特征。

在一些实施例中,,所述特征融合计算包括加权求和计算。

在一些实施例中,所述基于应用平台中的多个产品,生成对应的多个产品特征向量,还包括:对所述多个产品特征向量进行聚类,基于聚类结果生成n个索引向量,其中,n为正整数。

在一些实施例中,所述对所述多个产品特征向量进行聚类,基于聚类结果生成n个索引向量,包括:计算所述多个产品特征向量间的距离,生成距离矩阵;基于所述距离矩阵,采用聚类算法,将所述多个产品特征向量划分为n个产品特征集合;将所述n个产品特征集合中的每个产品特征集合的中心向量作为当前产品特征集合的索引向量,生成所述n个索引向量。

在一些实施例中,所述基于所述目标产品对应的目标产品特征向量与所述多个产品特征向量的相似度,生成目标推送信息,包括:计算所述目标产品特征向量与所述n个索引向量中的每个索引向量的距离;从所述n个索引向量中选取n个与所述目标产品特征向量距离最近的索引向量作为目标索引向量,其中,n为正整数;以及从所述目标索引向量对应的目标产品特征集合中选取与所述目标产品特征向量距离最近的m个产品特征向量对应的产品作为所述目标推送信息,其中,m为正整数。

第二方面,本说明书提供一种信息推送的系统,包括至少一个存储介质和至少一个处理器,所述至少一个存储系统包括至少一个指令集,用于信息推送;所述至少一个处理器同所述至少一个存储介质通讯连接,其中,当所述系统运行时,所述至少一个处理器读取所述至少一个指令集,并且根据所述至少一个指令集的指示执行本说明第一方面所述的信息推送的方法。

第三方面,本说明书提供一种信息推送的方法,包括:获取应用平台上多个产品对应的多个产品特征向量;在线获取所述应用平台中的新生产品,并基于所述新生产品的属性特征,生成所述新生产品对应的新生产品特征向量,所述新生产品的属性特征包括所述新生产品的来源、所述新生产品的主题和所述新生产品预设的服务对象中的至少一个;获取所述用户终端当前时刻在所述应用平台中操作的目标产品,所述多个产品包括所述目标产品;基于所述目标产品对应的目标产品特征向量与所述多个产品特征向量的相似度,生成目标推送信息;以及向所述用户终端发送所述目标推送信息。

在一些实施例中,所述生成所述新生产品对应的产品特征向量,包括:将距离所述新生产品的生成时刻最近的m个相似产品对应的产品特征向量进行特征融合计算,得到所述新生产品对应的所述新生产品特征向量,其中,m为正整数,所述m个相似产品与所述新生产品具有相同的属性特征。

在一些实施例中,所述特征融合计算包括加权求和计算。

在一些实施例中,所述获取应用平台上多个产品对应的多个产品特征向量,包括:获取用户终端对所述多个产品的历史操作数据;以及基于所述历史操作数据中的至少一个相关性参数,确定所述多个产品对应的多个产品特征向量。

在一些实施例中,所述基于所述历史操作数据中的至少一个相关性参数,确定所述多个产品对应的多个产品特征向量,包括:基于所述至少一个相关性参数对所述多个产品进行聚合,得到同所述至少一个相关性参数对应的至少一个序列;以及基于所述至少一个序列对所述多个产品进行向量训练,得到所述多个产品对应的所述多个产品特征向量。

在一些实施例中,所述至少一个相关性参数包括下述至少一种:搜索词相关性;被所述用户终端访问的时间相关性;和用户属性相关性。

在一些实施例中,所述基于所述至少一个相关性参数对所述多个产品进行聚合,得到同所述至少一个相关性参数对应的至少一个序列,包括以下方式中的一种:对所述多个产品进行数据清洗,并基于所述多个历史操作数据的所述至少一个相关性参数对清洗后的所述多个产品进行聚合,得到所述至少一个序列;以及基于所述多个历史操作数据的所述至少一个相关性参数对所述多个产品进行聚合,并对聚合后的序列进行数据清洗,得到所述至少一个序列。

在一些实施例中,所述获取应用平台上多个产品对应的多个产品特征向量,还包括:对所述多个产品特征向量进行聚类,基于聚类结果生成n个索引向量,其中,n为正整数。

在一些实施例中,所述对所述多个产品特征向量进行聚类,基于聚类结果生成n个索引向量,包括:计算所述多个产品特征向量间的距离,生成距离矩阵;基于所述距离矩阵,采用聚类算法,将所述多个产品特征向量划分为n个产品特征集合;将所述n个产品特征集合中的每个产品特征集合的中心向量作为当前产品特征集合的索引向量,生成所述n个索引向量。

在一些实施例中,所述基于所述目标产品对应的目标产品特征向量与所述多个产品特征向量的相似度,生成目标推送信息,包括:计算所述目标产品特征向量与所述n个索引向量中的每个索引向量的距离;从所述n个索引向量中选取n个与所述目标产品特征向量距离最近的索引向量作为目标索引向量,其中,n为正整数;以及从所述目标索引向量对应的目标产品特征集合中选取与所述目标产品特征向量距离最近的m个产品特征向量对应的产品作为所述目标推送信息,其中,m为正整数。

第四方面,本说明书提供一种信息推送的系统,包括至少一个存储介质和至少一个处理器,所述至少一个存储介质包括至少一个指令集,用于信息推送;所述至少一个处理器同所述至少一个存储介质通讯连接,其中,当所述系统运行时,所述至少一个处理器读取所述至少一个指令集,并且根据所述至少一个指令集的指示执行本说明书第三方面所述的信息推送的方法。

由以上技术方案可知,本说明书提供的信息推送的方法和系统,能够根据用户对多个产品的点击操作挖掘不同产品之间的相关性,并根据产品之间的相关性对多个产品进行聚合,从而获取多个产品对应的特征向量,使得存在相关关系的产品之间的向量距离更接近,而不存在相关关系的产品之间的向量距离更远。当用户在应用平台上操作目标产品时,所述方法和系统可以根据目标产品与其他产品的向量距离获取与目标产品最相似的若干个产品,向用户推荐。同时,对于应用平台上新生成的产品,所述方法和系统可以根据新产品的属性特征即时生成新产品对应的特征向量,新产品可以即时加入待推荐列表中。所述方法和系统能够根据用户对产品的操作来挖掘不同类型的产品之间的相关性,从而能够挖掘出不同类型的产品之间更深层次的相关关系,使得推荐的信息更全面、更准确,提升用户的体验感。同时,所述方法和系统可以即时生成新产品的特征向量,新产品可以即时加入待推荐列表中,进一步提升了信息推送的全面性。

本说明书提供的信息推送的方法和系统的其他功能将在以下说明中部分列出。根据描述,以下数字和示例介绍的内容将对那些本领域的普通技术人员显而易见。本说明书提供的信息推送的方法、系统和存储介质的创造性方面可以通过实践或使用下面详细示例中所述的方法、装置和组合得到充分解释。

附图说明

为了更清楚地说明本说明书实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了根据本说明书的实施例提供的一种信息推送的系统的应用场景示意图;

图2示出了根据本说明书的实施例提供的一种信息推送的设备示意图;

图3示出了根据本说明书的实施例提供的一种信息推送的方法流程图;

图4示出了根据本说明书的实施例提供的一种生成产品特征向量的流程图;

图5示出了根据本说明书的实施例提供的一种生成索引向量的流程图;以及

图6示出了根据本说明书的实施例提供的一种生成目标推送信息的流程图。

具体实施方式

以下描述提供了本说明书的特定应用场景和要求,目的是使本领域技术人员能够制造和使用本说明书中的内容。对于本领域技术人员来说,对所公开的实施例的各种局部修改是显而易见的,并且在不脱离本说明书的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用。因此,本说明书不限于所示的实施例,而是与权利要求一致的最宽范围。

这里使用的术语仅用于描述特定示例实施例的目的,而不是限制性的。比如,除非上下文另有明确说明,这里所使用的,单数形式“一”,“一个”和“该”也可以包括复数形式。当在本说明书中使用时,术语“包括”、“包含”和/或“含有”意思是指所关联的整数,步骤、操作、元素和/或组件存在,但不排除一个或多个其他特征、整数、步骤、操作、元素、组件和/或组的存在或在该系统/方法中可以添加其他特征、整数、步骤、操作、元素、组件和/或组。

考虑到以下描述,本说明书的这些特征和其他特征、以及结构的相关元件的操作和功能、以及部件的组合和制造的经济性可以得到明显提高。参考附图,所有这些形成本说明书的一部分。然而,应该清楚地理解,附图仅用于说明和描述的目的,并不旨在限制本说明书的范围。还应理解,附图未按比例绘制。

本说明书中使用的流程图示出了根据本说明书中的一些实施例的系统实现的操作。应该清楚地理解,流程图的操作可以不按顺序实现。相反,操作可以以反转顺序或同时实现。此外,可以向流程图添加一个或多个其他操作。可以从流程图中移除一个或多个操作。

随着信息技术和互联网技术的快速发展,越来越多的用户选择在线办理业务,应用平台提供的服务也越来越多元化,比如,充值缴费、汽车保养、在线购物,等等。用户在使用应用平台的过程中,平台通常会向用户推送相关内容以带给用户便捷性。在综合的平台上,一般会出现多种类型的产品,比如视频,文本,服务,商品,小程序,等等。对于不同类型的产品,其语义相似度低但内容相关性可能较高。比如,汽油价格上涨的文章和养车小程序的语义相似度较低,但关注汽油价格上涨的文章的用户通常会使用养车的小程序。因此,如何在不同类型的产品之间做相互推荐,是一个互相引流,促进转化和用户活跃的重要方法。本说明书提供一种更全面、更准确的信息推送方法和系统,可以准确地向用户推送不同类型的相关产品,推动不同类型的产品之间的转化。

图1示出了一种信息推送的系统100的应用场景示意图。系统100可以包括服务器200、用户终端300、网络120以及数据库150。

服务器200可以存储有执行本说明书描述的信息推送的方法的数据或指令,并可以执行或用于执行所述数据和/或指令。服务器200可以是为应用平台提供服务的设备。其中,所述应用平台可以是某应用的开发运营人员根据需求方的需求对应用平台对应的用户终端300中显示的页面内容进行配置的平台,使用户终端300中的页面可以显示需求方所需求的页面内容。所述应用平台中可以包括不同类型的产品,比如,提供不同服务的小程序、网页、图片、视频、文章,等等。所述应用平台可以是各种app。所述app包括但不限于:聊天类app程序、购物类app程序、视频类app程序、理财类app程序等等,例如支付宝tm、淘宝tm、京东tm等app程序。服务器200提供与所述应用平台对应的服务。服务器200可以是同一设备,也可以是不同的设备,可以是单台设备,也可以是多台设备组成的系统。

用户110可以是用户终端300的使用者。用户终端300可以是载有所述应用平台的智能设备。用户终端300可以与服务器200通讯连接。在一些实施例中,用户终端300可以包括移动设备300-1、平板电脑300-2、笔记本电脑300-3、机动车辆300-4的内置设备或类似内容,或其任意组合。在一些实施例中,移动设备300-1可包括智能家居设备、智能移动设备或类似设备,或其任意组合。在一些实施例中,所述智能家居装置可包括智能电视、台式电脑等,或任意组合。在一些实施例中,所述智能移动设备可包括智能手机、个人数字辅助等,或其任意组合。在一些实施例中,用户终端300可以是具有定位技术的设备,用于定位用户终端300的位置。

网络120可以促进信息和/或数据的交换。如图1所示,用户终端300、服务器200、数据库150可以同网络120连接,并且通过网络120互相传输信息和/或数据。例如,服务器200可以通过网络120从用户终端300获取服务请求。在一些实施例中,网络120可以是任何类型的有线或无线网络,也可以是其组合。比如,网络120可以包括电缆网络,有线网络、光纤网络、电信通信网络、内联网、互联网、局域网(lan)、广域网(wan)、无线局域网(wlan)、大都市市区网(man)、广域网(wan)、公用电话交换网(pstn)、蓝牙网络、zigbee网络、近场通信(nfc)网络或类似网络。在一些实施例中,网络120可以包括一个或多个网络接入点。例如,网络120可以包括有线或无线网络接入点,如基站和/或互联网交换点120-1、120-2,...,通过该接入点,用户终端300、服务器200、数据库150的一个或多个组件可以连接到网络120以交换数据和/或信息。

数据库150可以存储数据和/或指令。在一些实施例中,数据库150可以存储所述应用平台提供的产品数据。在一些实施例中,数据库150可以存储从用户终端300获得的数据。在一些实施例中,数据库150可以存储用于执行本说明书中描述的信息推送的方法的数据和/或指令。服务器200和用户终端300可能具有访问数据库150的权限,服务器200和用户终端300可以通过网络120访问存储在数据库150中的数据或指令。在一些实施例中,数据库150可以直接连接到服务器200和用户终端300。在一些实施例中,数据库150可以是服务器200的一部分。在一些实施例中,数据库150可以包括大容量存储、可移动存储、易失性读写存储器、只读存储器(rom)或类似内容,或其任意组合。示例性大容量存储可能包括磁盘、光盘、固态驱动器等非暂时性存储介质(non-transitorystoragemedium)。示例可移动存储可能包括闪存驱动器、软盘、光盘、存储卡、zip磁盘、磁带等。典型的易失性读写内存可能包括随机存取存储器(ram)。示例ram可能包括动态ram(dram)、双日期速率同步动态ram(ddrsdram)、静态ram(sram)、晶闸管ram(t-ram)和零电容ram(z-ram)等。示例性rom可包括掩码rom(mrom)、可编程rom(prom)、可虚拟可编程rom(perom)、电子可编程rom(eeprom)、光盘(cd-rom)和数字多功能磁盘rom等。在一些实施例中,数据库150可以在云平台上实现。仅举例,云平台可能包括私有云、公共云、混合云、社区云、分布式云、云间云或类似,或其任意组合。

如图1所示,用户110在用户终端300上的所述应用平台中对所述应用平台提供的产品进行操作。比如,用户110可以在所述应用平台上查看文章或视频,也可以使用所述应用平台提供的小程序,等等。用户110对所述产品的操作数据通过网络120传输给服务器200;服务器200可以执行存储在服务器200和/或数据库150中的信息推送的方法的指令;当用户终端300在线使用所述应用平台操作某个产品时,服务器200通过网络120从数据库150中调取与用户终端300操作的产品相关的产品,并通过网络120发送给用户终端300。

图2示出了一种信息推送的设备示意图。所述设备可以是服务器200。

服务器200可以执行本说明书描述的信息推送的方法。所述信息推送的方法在本说明书中的其他部分介绍。比如,在图3和图6的描述中介绍了所述信息推送的方法p200。

如图2所示,服务器200包括至少一个存储介质230和至少一个处理器220。在一些实施例中,服务器200还可以包括通信端口250和内部通信总线210。同时,服务器200还可以包括i/o组件260。

内部通信总线210可以连接不同的系统组件,包括存储介质230和处理器220。

i/o组件260支持服务器200和其他组件之间的输入/输出。

存储介质230可以包括数据存储装置。所述数据存储装置可以是非暂时性存储介质,也可以是暂时性存储介质。比如,所述数据存储装置可以包括磁盘232、只读存储介质(rom)234或随机存取存储介质(ram)236中的一种或多种。存储介质230还包括存储在所述数据存储装置中的至少一个指令集。所述指令是计算机程序代码,所述计算机程序代码可以包括执行本说明书提供的信息推送的方法的程序、例程、对象、组件、数据结构、过程、模块等等。

通信端口250用于服务器200同外界的数据通讯。比如,服务器200可以通过通信端口250连接网络120。

至少一个处理器220同至少一个存储介质230通过内部通信总线210通讯连接。至少一个处理器220用以执行上述至少一个指令集。当系统100运行时,至少一个处理器220读取所述至少一个指令集,并且根据所述至少一个指令集的指示执行本说明书提供的信息推送的方法p200。处理器220可以执行信息推送的方法p200包含的所有步骤。处理器220可以是一个或多个处理器的形式,在一些实施例中,处理器220可以包括一个或多个硬件处理器,例如微控制器,微处理器,精简指令集计算机(risc),专用集成电路(asic),特定于应用的指令集处理器(asip),中央处理单元(cpu),图形处理单元(gpu),物理处理单元(ppu),微控制器单元,数字信号处理器(dsp),现场可编程门阵列(fpga),高级risc机器(arm),可编程逻辑器件(pld),能够执行一个或多个功能的任何电路或处理器等,或其任何组合。仅仅为了说明问题,在本说明书中服务器200中仅描述了一个处理器220。然而,应当注意,本说明书中服务器200还可以包括多个处理器,因此,本说明书中披露的操作和/或方法步骤可以如本说明书所述的由一个处理器执行,也可以由多个处理器联合执行。例如,如果在本说明书中服务器200的处理器220执行步骤a和步骤b,则应该理解,步骤a和步骤b也可以由两个不同处理器220联合或分开执行(例如,第一处理器执行步骤a,第二处理器执行步骤b,或者第一和第二处理器共同执行步骤a和b)。

虽然上述结构描述的是服务器200,此结构也适用于用户终端300。

图3示出了一种信息推送的方法p200的流程图。如前所述,服务器200可以执行本说明书提供的信息推送的方法p200。具体地,服务器200中的处理器220可以读取存储在其本地存储介质和/或数据库150中的指令集,然后根据所述指令集的规定,执行本说明书提供的信息推送的方法p200。所述方法p200可以包括通过至少一个处理器220执行下述步骤:

s210:基于所述应用平台上的多个产品,生成对应的多个产品特征向量。

所述产品可以是所述应用平台提供的服务,比如,文章、视频、音频、图片、小程序,等等。不同的产品对应的内容不同。所述多个产品中可以包括多个不同种类的产品,每个种类可以包括多个不同内容的产品。比如,所述多个产品中可以包括多个不同内容的视频,也可以包括多个不同内容的文章,还可以包括多个不同内容的小程序,等等。每一个产品对应一个产品特征向量。所述多个产品特征向量与所述多个产品一一对应。为了使不同类型的产品之间可以相互推荐,推动不同类型的产品之间的转化,需要挖掘不同类型的产品之间的相关性,从而使相关性较高的产品对应的产品特征向量之间的相关性也较高。图4示出了一种生成多个产品特征向量的流程图。如图4所示,步骤s212可以包括:

s212:获取用户终端300对所述多个产品的历史操作数据。

服务器200可以依据用户终端300对所述多个产品的操作数据来挖掘不同类型的产品之间的相关性。所述历史操作数据中可以包括用户110的属性数据、用户110操作的产品数据、用户110的行为数据以及用户110操作产品的时间戳,等等。所述属性数据可以包括用户110在使用所述应用平台过程中的多个身份数据和多个状态数据。所述身份数据可以是与所述应用平台关联的用户110的年龄、职业、性别、兴趣爱好等等标志个人身份信息的数据。所述状态数据可以是表示目前同用户110的需求相关的并且能够代表当前状态的数据。比如说,状态数据可以是“最近一笔交易是否成功”、“最近一笔交易付款方式”,或者用户110最近一次登录所述应用平台的时间和所在的位置,等等。所述用户110操作的产品数据可以是用户110在所述应用平台上操作的产品的内容数据。所述用户行为数据可以表示用户110与产品之间的互动操作行为数据。比如,用户110的搜索行为、点击行为、曝光行为等。所述搜索行为可以包括搜索的关键词。用户110操作产品的时间戳可以包括用户110每次操作产品的时间,还可以包括用户110在所述产品上停留的时间,等等。

需要说明的是,服务器200可以从所述应用平台中的数据库150中获取所述历史操作数据。服务器200可以从数据库150中离线获取所述历史操作数据也可以在线获取所述历史操作数据。所述历史操作数据可以包括离线数据,也可以包括在线数据。

s214:基于所述历史操作数据中的至少一个相关性参数,确定所述多个产品对应的多个产品特征向量。

为了挖掘不同产品之间的相关性,服务器200可以依据所述历史操作数据之间的相关性进行挖掘。所述历史操作数据之间的所述至少一个相关性参数可以包括以下情况中的至少一种:

搜索词相关性:即在用户110通过相同或相似的搜索词搜索的情况下,用户110访问或点击的产品之间具有相关性;

用户属性相关性:即在用户110具有相同或相似的属性数据的情况下,用户110访问或点击的产品之间具有相关性;和

被用户终端300访问的时间相关性:即同一个用户110在一段时间窗口内访问或点击的产品之间具有相关性。所述一段时间窗口可以是1小时、2小时、4小时,甚至可以是更长的时间,比如,一天、一周,等等。

服务器200可以基于所述历史操作数据中的至少一个相关性参数,生成与所述多个产品一一对应的所述多个产品特征向量。为了方便描述,我们将所述多个产品的数量标记为l。所述多个产品特征向量可以由服务器200离线生成,也可以在线生成。具体地,步骤s214可以包括:

s214-2:基于所述至少一个相关性参数对所述多个产品进行聚合,得到同所述至少一个相关性参数对应的至少一个序列。

服务器200可以基于所述至少一个相关性参数,对所述多个产品进行聚合,将所述多个产品分割成至少一个序列,存在相关性的产品处于同一个序列中。服务器200可以基于搜索词相关性、用户属性相关性和被用户终端300访问的时间相关性中的一个或多个对所述多个产品进行聚合。比如,服务器200可以先基于所述用户属性相关性对所述多个产品进行聚合,得到q个序列,使得被具有相同或相似属性数据的用户点击或访问过的多个产品被聚合到同一个序列中,其中,q为正整数。服务器也可以对基于所述用户属性相关性聚合后的q个序列再次基于所述被用户终端300访问的时间相关性进行聚合,将所述q个序列再次进行分割,分割为p个序列,使得同时具有时间相关性和用户属性相关性的产品被聚合到同一个序列中,其中p为大于等于q的正整数。服务器200还可以再次基于所述搜索词相关性对所述p个序列再次进行聚合,分割为s个序列,其中,s为大于等于p的正整数。当然,服务器200对所述多个产品进行聚合的顺序可以不同。比如,服务器200也可以先基于搜索词相关性进行聚合,再基于用户属性相关性进行聚合,等等,本说明书对此不做限定。所述至少一个序列中的每个序列中可以包括至少一个产品,所述至少一个产品之间存在相关性。需要说明的是,同一个产品可以同时属于多个序列。

步骤s214-2还可以包括对所述多个产品进行数据清洗。所述数据清洗是指对数据进行重新审查和校验的过程,目的在于删除重复数据和异常数据,并提供数据一致性。因为数据库150中的数据是从多个用户终端300中获取的,而且其中包含历史操作数据,这样就避免不了有的数据是错误数据、有的数据是不完整的、有的数据是重复的。这些错误的、不完整的或重复的数据显然是我们不想要的。所述数据清洗就是按照一定的规则把不想要的数据去除。所述数据清洗的任务是过滤那些不符合要求的数据,将符合要求的数据进行后续的计算。因此,所述数据清洗可以一定程度上减少计算量。

具体地,步骤s214-2可以是先对所述多个产品进行数据清洗,再基于所述至少一个相关性参数进行聚合,也可以是先对所述多个产品基于所述至少一个相关性参数进行聚合,再对聚合后的序列进行数据清洗。具体地,步骤s214-2可以包括以下方式中的一种:

对所述多个产品进行数据清洗,并基于所述多个历史操作数据的所述至少一个相关性参数对清洗后的所述多个产品进行聚合,得到所述至少一个序列;以及

基于所述多个历史操作数据的所述至少一个相关性参数对所述多个产品进行聚合,并对聚合后的序列进行数据清洗,得到所述至少一个序列。

s214-4:基于所述至少一个序列对所述多个产品进行向量训练,得到所述多个产品对应的所述多个产品特征向量。

为了使存在相关性的多个产品对应的产品特征向量之间也存在相关性,服务器200可以基于所述至少一个序列对所述多个产品进行向量训练,从而生成所述多个产品对应的多个产品特征向量。具体地,服务器200可以通过word2vec方法训练向量模型。服务器200可以将所述至少一个序列中的每个序列中对应的产品作为向量训练样本,使用word2vec模型进行向量化训练,得到所述word2vec模型的参数;并使用训练后的word2vec模型对所述多个产品进行向量化,生成所述多个产品对应的所述多个产品特征向量。所述多个产品特征向量可以体现出所述多个产品之间的相关性。服务器200可以将所述多个产品特征向量存储在服务器200中,也可以将所述多个产品特征向量离线或在线上传至数据库150中。

综上所述,本说明书提供的方法p200和系统100,可以通过用户终端300对所述多个产品的点击或访问的历史操作数据对所述多个产品之间的相关性进行挖掘,从而对所述多个产品进行聚合,将存在相关性的产品聚合至同一个序列中,而将不存在相关性的产品分配至不同的序列中,从而从用户110感知的角度对所述多个产品之间的相关性进行挖掘。相对于从语义相关性对所述产品进行挖掘来说,本说明书提供的方法p200和系统100可以挖掘出所述多个产品更深层次的相关性。因此,通过本说明书提供的方法p200和系统100生成的所述多个产品特征向量也能体现出更深层次的相关性,从而使得推送的信息更全面、更准确,提升用户体验感。

步骤s210还可以包括通过服务器200的至少一个处理器220执行:

s216:对所述多个产品特征向量进行聚类,基于聚类结果生成n个索引向量,其中,n为正整数。

服务器200在生成所述多个产品特征向量后,为了便于对所述多个产品特征向量进行索引,可以对所述多个产品特征向量进行聚类。所述聚类是指将具有相关性的产品对应的产品特征向量合并在一起,生成多个样本簇。每个样本簇可以包括多个产品特征向量,其中,多个产品特征向量分别对应多个产品。因此,每个样本簇可以是多个产品的集合。聚类后生成的每个样本簇内部的多个产品特征向量对应的多个产品之间的相关性较强,而聚类后不同的样本簇之间的多个产品特征向量对应的多个产品的相关性较弱。步骤s216可以离线进行也可以在线进行。图5示出了根据本说明书的实施例提供的一种生成所述索引向量的流程图。如图5所示,具体地,步骤s216可以包括:

s216-2:计算所述多个产品特征向量间的距离,生成距离矩阵。

如前所述,对所述多个产品特征向量进行聚类时,需要计算所述多个产品特征向量之间的相关性。所述多个产品特征向量的相关性计算可以通过计算所述多个产品特征向量之间的距离实现。服务器200通过计算所述多个产品特征向量两两之间的距离,从而得到每个产品与其他产品之间的距离,将距离小于阈值的产品特征向量合并为一个样本簇。产品特征向量之间的距离越小,代表对应的产品间的相关性越高。所述多个产品特征向量的距离计算方式可以包括余弦距离、曼哈顿距离、马氏距离和欧式距离中的至少一种。本说明书对于采用何种方式来计算所述多个产品特征向量的距离不做具体限制,可由本领域普通技术人员根据实际需要选取计算方式。

根据所述多个产品特征向量相互之间的距离,生成所述距离矩阵。所述距离矩阵的行和列分别对应所述多个产品特征向量,所述矩阵中任一元素的值为其所在的行对应的产品特征向量和其所在的列对应的产品特征向量之间的距离。从所述距离矩阵中可以得知每个产品与其他产品的距离。

s216-4:基于所述距离矩阵,采用聚类算法,将所述多个产品特征向量划分为n个产品特征集合。

所述聚类算法可以通过对无标记的多个产品的学习来揭示数据的内在性质和规律,将多个产品划分为若干类,使得属于同一类的产品相关,而属于不同类的产品不相关。即聚类算法可以将多个产品划分为若干互不相交的子集,即样本簇。服务器200可以通过所述聚类算法对所述多个产品特征向量对应的多个产品进行聚类,生成n个产品特征集合。所述n为大于等于1的正整数。其中每个所述产品特征集合可以包括至少一个特征向量。所述聚类算法可以包括但不限于hdbscan算法、dbscan算法、k-means算法和谱聚类算法中的任意一个或多个。具体地,可结合实际需求选择相应的聚类算法对所述样本数据进行聚类分析。

s216-6:将所述n个产品特征集合中的每个产品特征集合的中心向量作为当前产品特征集合的索引向量,生成所述n个索引向量。

针对以上通过聚类得到的n个产品特征集合中的每个产品特征集合,需要确定每个产品特征集合的中心向量。所述中心向量可以是对应的产品特征集合具有代表性的产品对应的产品特征向量。所述中心向量可以作为当前产品特征集合的代表向量,即索引向量。具体地,生成所述n个索引向量可以包括:

服务器200可以根据所述当前产品特征集合中的各个产品特征向量,计算位于所述当前产品特征集合的中心位置对应的向量;计算所述各个产品特征向量距离所述中心位置对应的向量的距离;选取距离所述中心位置对应的向量最近的产品特征向量作为所述当前产品特征集合的中心向量,即索引向量。

所述n个产品特征集合中的每个产品特征集合都具有一个索引向量。所述索引向量对应的产品是所述当前产品特征集合中最具代表性的产品。

如图3所示,所述方法p200还可以包括通过服务器200的至少一个处理器220执行:

s230:在线获取所述应用平台中的新生产品,并基于所述新生产品的属性特征,生成所述新生产品对应的新生产品特征向量。

所述应用平台不仅可以为用户110提供各种服务,用户110还可以通过所述应用平台上传和编辑产品,比如,用户110可以通过所述应用平台发表文章,上传视频、音频,开通新的小程序,等等。为了方便描述,我们将用户110发送至所述应用平台中不同于以往产品的新的产品定义为新生产品。所述新生产品可以是第一次上传的文章、视频、音频,等等,也可以是第一次开通的小程序,等等。现有技术中的推荐系统,通常采用定期更新的方式,即推荐系统在固定时间或固定周期内对所述应用平台上的新生产品进行更新,并生成所述新生产品对应的新生产品特征向量。因此,现有技术中的推荐系统并不能即时发现所述新生产品,也不能即时生成所述新生产品对应的新生产品特征向量,而需要等待至所述推荐系统的更新时间。因此,现有技术的推荐系统中,当所述新生产品产生时,所述新生产品特征向量并不能即时产生,也不能即时被列入待推荐列表中。

本说明书提供的方法p200和系统100中,对于所述应用平台中新生成的产品,当所述新生产品产生时,服务器200可以即时通过网络120获取所述新生产品,并能基于所述新生产品的属性特征,即时生成所述新生产品对应的新生产品特征向量,并上传至数据库150中,所述新生产品特征向量可以即时被列入待推送的列表中,从而使得推送信息更加全面、准确,同时还可以提高所述新生产品的访问量和点击率,提升用户体验。

所述新生产品的属性特征可以包括下述中的至少一个:

所述新生产品的来源:即上传或发表所述新生产品的用户或用户终端,或者上传或发表所述新生产品的用户或用户终端的属性数据;

所述新生产品的主题:即所述新生产品的主题或关键词;

所述新生产品预设的服务对象:不同的产品可以预设服务对象,比如,养车小程序预设的服务对象为有车的人群,关于大学生创业的文章预设的服务对象可以是青年大学生,等等。所述新生产品也可以预设服务对象。

具体地,步骤s230可以包括:将距离所述新生产品的生成时刻最近的m个相似产品对应的产品特征向量进行特征融合计算,得到所述新生产品对应的所述新生产品特征向量。其中,m为正整数。所述新生产品的生成时刻可以是所述新生产品第一次被上传至所述应用平台的时刻。所述m个相似产品的生成时刻距离所述新生产品的生成时刻越近,则所述m个相似产品与所述新生产品的相关性越高。需要说明的是,所述m个相似产品与所述新生产品具有相同的属性特征。比如,所述m个相似产品中的一个与所述新生产品的上传或发表的用户或用户终端可以相同,也可以具有相同的用户属性数据。再比如,所述m个相似产品中的一个与所述新生产品的主题可以相同,比如,二者的主题都可以是养车,等等。所述m个相似产品中的一个与所述新生产品预设的服务对象可以相同,比如,二者预设的服务对象都可以是有车的人群。所述特征融合计算可以包括加权求和计算,即对所述m个相似产品对应的产品特征向量进行加权求和,得到所述新生产品对应的所述新生产品特征向量。所述m个相似产品对应的产品特征向量的加权系数可以平均分配,即所述新生产品特征向量是所述m个相似产品对应的产品特征向量的平均池化。所述m个相似产品对应的产品特征向量的加权系数也可以通过机器学习得到。

如图3所示,所述方法p200还可以包括通过服务器200的至少一个处理器220执行:

s250:获取用户终端300当前时刻在所述应用平台中操作的目标产品。

所述多个产品包括所述目标产品。所述目标产品可以是所述多个产品中的任意一个。需要说明的是,所述多个产品可以包括所述新生产品。

s270:基于所述目标产品对应的目标产品特征向量与所述多个产品特征向量的相似度,生成目标推送信息。

服务器200可以从数据库150中获取所述目标产品对应的目标产品特征向量。图5示出了一种生成目标推送信息的流程图。如图5所示,步骤s270可以包括通过服务器200的至少一个处理器220执行:

s272:计算所述目标产品特征向量与所述n个索引向量中的每个索引向量的距离;

s274:从所述n个索引向量中选取n个与所述目标产品特征向量距离最近的索引向量作为目标索引向量,其中,n为正整数;以及

s276:从所述目标索引向量对应的目标产品特征集合中选取与所述目标产品特征向量距离最近的m个产品特征向量对应的产品作为所述目标推送信息,其中,m为正整数。

如前所述,服务器200可以对所述多个产品特征向量进行聚类,得到n个产品特征集合。所述n个产品特征集合中的每个产品特征集合都具有一个索引向量。服务器200可以计算所述目标产品特征向量与所述n个索引向量中的每个索引向量的距离,所述目标产品特征向量与所述索引向量的距离越近,代表所述目标产品与所述索引向量所在的目标产品特征集合中的产品的相关性越高。服务器200可以从所述n个索引向量中选取n个与所述目标产品特征向量距离最近的索引向量作为目标索引向量,并从所述目标索引向量对应的目标产品特征集合中选取与所述目标产品特征向量距离最近的m个产品特征向量对应的产品作为所述目标推送信息。所述产品特征向量与所述目标产品特征向量越近,代表所述产品特征向量对应的产品与所述目标产品的相关性越高。具体地,服务器200可以依据所述目标产品特征向量与所述n个索引向量的距离进行排序,距离越近,排名越靠前;服务器200可以从所述n个索引向量中选取排名最靠前的n个索引向量作为所述目标索引向量。然后,服务器200可以依据所述目标产品特征向量与所述目标索引向量对应的目标产品特征集合中的产品特征向量的距离进行排序,距离越近,排名越靠前;服务器200可以从所述目标索引向量对应的目标产品特征集合中的产品特征向量中选取排名最靠前的m个产品特征向量对应的产品作为所述目标推送信息。所述目标推送信息可以是所有类型的产品。服务器200通过构建索引向量的方法,只需计算目标产品特征向量与索引向量的距离,不需要计算目标产品特征向量与每一个产品特征向量的距离,可以大大降低计算量,提升效率。

s290:向用户终端300发送所述目标推送信息。

服务器200生成所述目标推送信息后,可以通过网络120向用户终端300发送。

综上所述,本说明书提供的信息推送的方法p200和系统100,可以将全部产品作为待推荐列表,并从中选取相关性最高的若干个产品作为所述目标推送信息进行推送,而不是根据点击率排名进行推送。因此,本说明书提供的信息推送的方法p200和系统100可以生成更全面的推送信息。

综上所述,本说明书提供的信息推送的方法p200和系统100,可以通过用户终端300对所述多个产品的点击或访问的历史操作数据对所述多个产品之间的相关性进行挖掘,从而对所述多个产品进行聚合,将存在相关性的产品聚合至同一个序列中,而将不存在相关性的产品分配至不同的序列中,从而从用户110感知的角度对所述多个产品之间的相关性进行挖掘,可以挖掘出所述多个产品更深层次的相关性。对于所述应用平台中新生成的产品,当所述新生产品产生时,服务器200可以即时通过网络120获取所述新生产品,并能基于所述新生产品的属性特征,即时生成所述新生产品对应的新生产品特征向量,并上传至数据库150中,所述新生产品特征向量可以即时被列入待推送的列表中,从而使得推送信息更加全面、准确,同时还可以提高所述新生产品的访问量和点击率,提升用户体验。而且,服务器200通过构建索引向量的方法,只需计算目标产品特征向量与索引向量的距离,不需要计算目标产品特征向量与每一个产品特征向量的距离,可以大大降低计算量,提升效率。因此,通过本说明书提供的方法p200和系统100可以使得推送的信息更全面、更准确,提升用户体验感,提升效率。

本说明书另一方面提供一种非暂时性存储介质,存储有至少一组用来信息推送的可执行指令,当所述可执行指令被处理器执行时,所述可执行指令指导所述处理器实施本说明书所述的信息推送的方法p200的步骤。在一些可能的实施方式中,本说明书的各个方面还可以实现为一种程序产品的形式,其包括程序代码。当所述程序产品在服务器200上运行时,所述程序代码用于使服务器200执行本说明书描述的信息推送的步骤。用于实现上述方法的程序产品可以采用便携式紧凑盘只读存储器(cd-rom)包括程序代码,并可以在服务器200上运行。然而,本说明书的程序产品不限于此,在本说明书中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统(例如处理器220)使用或者与其结合使用。所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本说明书操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在服务器200上执行、部分地在服务器200上执行、作为一个独立的软件包执行、部分在服务器200上部分在远程计算设备上执行、或者完全在远程计算设备或服务器(服务器200)上执行。在涉及远程计算设备的情形中,远程计算设备可以通过网络120连接到服务器200,或者可以连接到外部计算设备。

上述对本说明书特定实施例进行了描述。其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者是可能有利的。

综上所述,在阅读本详细公开内容之后,本领域技术人员可以明白,前述详细公开内容可以仅以示例的方式呈现,并且可以不是限制性的。尽管这里没有明确说明,本领域技术人员可以理解本说明书需求囊括对实施例的各种合理改变,改进和修改。这些改变,改进和修改旨在由本说明书提出,并且在本说明书的示例性实施例的精神和范围内。

此外,本说明书中的某些术语已被用于描述本说明书的实施例。例如,“一个实施例”,“实施例”和/或“一些实施例”意味着结合该实施例描述的特定特征,结构或特性可以包括在本说明书的至少一个实施例中。因此,可以强调并且应当理解,在本说明书的各个部分中对“实施例”或“一个实施例”或“替代实施例”的两个或更多个引用不一定都指代相同的实施例。此外,特定特征,结构或特性可以在本说明书的一个或多个实施例中适当地组合。

应当理解,在本说明书的实施例的前述描述中,为了帮助理解一个特征,出于简化本说明书的目的,本说明书将各种特征组合在单个实施例、附图或其描述中。然而,这并不是说这些特征的组合是必须的,本领域技术人员在阅读本说明书的时候完全有可能将其中一部分特征提取出来作为单独的实施例来理解。也就是说,本说明书中的实施例也可以理解为多个次级实施例的整合。而每个次级实施例的内容在于少于单个前述公开实施例的所有特征的时候也是成立的。

本文引用的每个专利,专利申请,专利申请的出版物和其他材料,例如文章,书籍,说明书,出版物,文件,物品等,可以通过引用结合于此。用于所有目的的全部内容,除了与其相关的任何起诉文件历史,可能与本文件不一致或相冲突的任何相同的,或者任何可能对权利要求的最宽范围具有限制性影响的任何相同的起诉文件历史。现在或以后与本文件相关联。举例来说,如果在与任何所包含的材料相关联的术语的描述、定义和/或使用与本文档相关的术语、描述、定义和/或之间存在任何不一致或冲突时,使用本文件中的术语为准。

最后,应理解,本文公开的申请的实施方案是对本说明书的实施方案的原理的说明。其他修改后的实施例也在本说明书的范围内。因此,本说明书披露的实施例仅仅作为示例而非限制。本领域技术人员可以根据本说明书中的实施例采取替代配置来实现本说明书中的申请。因此,本说明书的实施例不限于申请中被精确地描述过的实施例。

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