信息推送的方法和装置与流程

文档序号:12464912阅读:140来源:国知局
信息推送的方法和装置与流程

本申请涉及计算机技术领域,具体涉及数据处理技术领域,尤其涉及信息推送的方法和装置。



背景技术:

信息推送技术是通过定期传送用户需要的信息来减少信息过载的技术。信息推送技术通过自动传送信息给用户,来减少用于网络上搜索的时间。其可以根据用户的需求或兴趣等来搜索、过滤信息,并将搜获、过滤后的信息推给用户,帮助用户高效率地发掘有价值的信息。信息推送过程中大量信息需要处理,且所推送的信息要富于针对性。因此,需要对信息推送过程中的大量信息进行合理过滤以提高信息推送的效率,或者充分利用网络数据使所推送的信息富于针对性,从而提高信息推送的有效性。



技术实现要素:

本申请的目的在于提出一种改进的信息推送的方法和装置,来解决以上背景技术部分提到的技术问题。

一方面,本申请提供了一种信息推送的方法,该方法包括:获取至少一个第一用户的第一用户信息、至少一个第二用户的第二用户信息以及各个第一用户与至少一个第二用户的历史交互信息;根据上述历史交互信息确定各个第一用户与第二用户的关联度,以根据关联度阈值或数量阈值按照关联度由高到低选取出用户组,其中,每个用户组包括一个第一用户和一个第二用户;基于所选取的各个用户组中各第一用户的第一用户信息、各第二用户的第二用户信息以及历史交互信息通过预设模型得到各个第一用户与至少一个第二用户进行交互的概率;基于所得到的概率向第一用户和/或第二用户进行信息推送。

在一些实施例中,基于所选取的各个用户组中各第一用户的第一用户信息、各第二用户的第二用户信息以及历史交互信息通过预设模型得到各个第一用户与至少一个第二用户进行交互的概率包括:基于所选取的各个用户组中各第一用户的第一用户信息、各第二用户的第二用户信息训练各个第一用户的第一特征向量、各个第二用户的第二特征向量;将第一用户信息、第二用户信息及第一特征向量、第二特征向量作为预设模型的输入得到各个第一用户与至少一个第二用户进行交互的概率。

在一些实施例中,第一特征向量、第二特征向量通过隐变量模型机器学习得到,其中,第一特征向量包括第一用户在隐变量空间的特征向量,第二特征向量包括第二用户在隐变量空间的特征向量,对每个用户组,第一用户特征向量与第二特征向量的内积为该用户组中的第一用户和第二用户的关联度。

在一些实施例中,上述预设模型为有监督机器学习模型,其中,预设模型的训练样本集包括预设时间段内的第一用户信息、第二用户信息及历史交互信息。

在一些实施例中,对任一第一用户及其历史交互的任一第二用户,关联度通过以下至少一种方法进行计算:关联度与该第一用户和该第二用户的共同邻居数量成正比,其中,共同邻居包括与该第二用户历史交互的其他第一用户历史交互的其他第二用户和该第一用户历史交互的其他第二用户中的共同第二用户;关联度与该第一用户和该第二用户的杰卡德系数成正比,其中,杰卡德系数包括共同邻居数量与该第二用户历史交互的其他第一用户历史交互的其他第二用户的数量和该第一用户历史交互的其他第二用户的数量的和的比值;关联度与该第一用户与该第二用户的优先连接系数成正比,其中,优先连接系数包括该第一用户与各第二用户历史交互的次数组成的向量与与各第二用户历史交互的第一用户数量组成的向量的内积;关联度与该第一用户与该第二用户的频率加权共同邻居权值系数成正比,频率加权共同邻居权值系数通过将共同邻居数量进行归一化处理得到。

在一些实施例中,第一用户信息包括第一用户的历史访问信息、位置信息及用户画像信息中的至少一项。

在一些实施例中,历史交互信息包括交互时间和交互数值;以及,当第一用户信息包括第一用户的历史访问信息时,历史访问信息包括历史搜索关键词及搜索时间;当第一用户信息包括第一用户的位置信息时,位置信息包括各个时刻的定位信息,其中,定位信息通过以下方法进行过滤:去除与相邻时刻间隔的定位位置偏移超过预设的偏移阈值的定位点;当第一用户信息包括第一用户的画像信息时,画像信息根据用户行为特征确定。

在一些实施例中,第二用户信息包括以下至少一项:第一用户与第二用户进行交互的人均交互数值、第二用户类别、第二用户周围的人流量、第一用户对第二用户的历史浏览信息。

在一些实施例中,基于所得到的概率向第一用户和/或第二用户进行信息推送包括:按照第一用户与各个第二用户进行交互的概率向各个第一用户进行信息推送;和/或,按照各个第一用户与第二用户进行交互的概率向各个第二用户进行信息推送。

第二方面,本申请提供了一种信息推送的装置,该装置包括:获取模块,配置用于获取至少一个第一用户的第一用户信息、至少一个第二用户的第二用户信息以及各个第一用户与至少一个第二用户的历史交互信息;筛选模块,配置用于根据上述历史交互信息确定各个第一用户与第二用户的关联度,以根据关联度阈值或数量阈值按照关联度由高到低选取出用户组,其中,每个用户组包括一个第一用户和一个第二用户;预测模块,配置用于基于所选取的各个用户组中各第一用户的第一用户信息、各第二用户的第二用户信息以及历史交互信息通过预设模型得到各个第一用户与至少一个第二用户进行交互的概率;推送模块,配置用于基于所得到的概率向第一用户和/或第二用户进行信息推送。

在一些实施例中,预测模块包括:训练单元,配置用于基于所选取的各个用户组中各第一用户的第一用户信息、各第二用户的第二用户信息训练各个第一用户的第一特征向量、各个第二用户的第二特征向量;预测单元,配置用于将第一用户信息、第二用户信息及第一特征向量、第二特征向量作为预设模型的输入得到各个第一用户与至少一个第二用户进行交互的概率。

在一些实施例中,第一特征向量、第二特征向量通过隐变量模型机器学习得到,其中,第一特征向量包括第一用户在隐变量空间的特征向量,第二特征向量包括第二用户在隐变量空间的特征向量,对每个用户组,第一用户特征向量与第二特征向量的内积为该用户组中的第一用户和第二用户的关联度。

在一些实施例中,预设模型为有监督机器学习模型,其中,预设模型的训练样本集包括预设时间段内的第一用户信息、第二用户信息及历史交互信息。

在一些实施例中,对任一第一用户及其历史交互的任一第二用户,关联度通过以下至少一种方法进行计算:关联度与该第一用户和该第二用户的共同邻居数量成正比,其中,共同邻居包括与该第二用户历史交互的其他第一用户历史交互的其他第二用户和该第一用户历史交互的其他第二用户中的共同第二用户;关联度与该第一用户和该第二用户的杰卡德系数成正比,其中,杰卡德系数包括共同邻居数量与该第二用户历史交互的其他第一用户历史交互的其他第二用户的数量和该第一用户历史交互的其他第二用户的数量的和的比值;关联度与该第一用户与该第二用户的优先连接系数成正比,其中,优先连接系数包括该第一用户与各第二用户历史交互的次数组成的向量与与各第二用户历史交互的第一用户数量组成的向量的内积;关联度与该第一用户与该第二用户的频率加权共同邻居权值系数成正比,频率加权共同邻居权值系数通过将共同邻居数量进行归一化处理得到。

在一些实施例中,第一用户信息包括第一用户的历史访问信息、位置信息及用户画像信息中的至少一项。

在一些实施例中,历史交互信息包括交互时间和交互数值;以及,当第一用户信息包括第一用户的历史访问信息时,历史访问信息包括历史搜索关键词及搜索时间;当第一用户信息包括第一用户的位置信息时,位置信息包括各个时刻的定位信息,其中,定位信息通过以下方法进行过滤:去除与相邻时刻间隔的定位位置偏移超过预设的偏移阈值的定位点;当第一用户信息包括第一用户的画像信息时,画像信息根据用户行为特征确定。

在一些实施例中,第二用户信息包括以下至少一项:第一用户与第二用户进行交互的人均交互数值、第二用户类别、第二用户周围的人流量、第一用户对第二用户的历史浏览信息。

在一些实施例中,推送模块进一步配置用于:按照第一用户与各个第二用户进行交互的概率向各个第一用户进行信息推送;和/或,按照各个第一用户与第二用户进行交互的概率向各个第二用户进行信息推送。

本申请提供的信息推送的方法和装置,通过获取至少一个第一用户的第一用户信息、至少一个第二用户的第二用户信息以及各个第一用户与至少一个第二用户的历史交互信息,然后根据上述历史交互信息确定各个第一用户与第二用户的关联度,以根据关联度阈值或数量阈值按照关联度由高到低选取关联度较高的用户组,接着基于所选取的各个用户组中各第一用户的第一用户信息、各第二用户的第二用户信息以及历史交互信息通过预设模型得到各个第一用户与至少一个第二用户进行交互的概率,接着基于所得到的概率向第一用户和/或第二用户进行信息推送,由于根据关联度对过滤出了关联度较高的用户组,减少了数据处理量,且根据获取的第一用户信息、第二用户信息进行交互概率预测,充分利用网络数据使信息推送富于针对性,从而可以提高信息推送的有效性。

附图说明

通过阅读参照以下附图所作的对非限制性实施例的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1示出了可以应用本申请实施例的示例性系统架构;

图2是根据本申请的信息推送的方法的一个实施例的流程图;

图3是根据本申请的信息推送的方法的一个应用场景的示意图;

图4是根据本申请的信息推送的方法的另一个实施例的流程图;

图5是根据本申请的信息推送的装置的一个实施例的结构示意图;

图6是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

图1示出了可以应用本申请实施例的示例性系统架构100。

如图1所示,系统架构100可以包括终端设备101、102、网络103和服务器104。网络103用以在终端设备101、102和服务器104之间提供通信链路的介质。网络103可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

终端设备101、102可以通过网络103与服务器104交互,以接收或发送消息等。终端设备101、102上可以安装有各种通讯客户端应用,例如信息推送类应用、购物类应用、地图类应用、搜索类应用、理财类应用、社交平台应用、邮箱客户端、即时通信工具等等。

终端设备101、102可以是支持信息推送类应用、购物类应用、地图类应用等安装于其上的各种电子设备,包括但不限于智能手机、智能手表、平板电脑、个人数字助理、电子书阅读器、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。

服务器104可以是提供各种服务的服务器。例如服务器104可以是对终端设备101、102的信息推送类应用、购物类应用、地图类应用等等提供支持的后台服务器等。服务器可以对接收到的数据进行存储、生成等处理,并将处理结果反馈给终端设备。

需要说明的是,本申请实施例所提供的信息推送的方法一般通过服务器104执行,但不排除可以通过终端设备101、102执行。相应地,本申请实施例所提供的信息推送的装置一般设于服务器104中,但不排除可以设于终端设备101、102中。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

请参考图2,其示出了信息推送的方法的一个实施例的流程200。本实施例主要以该方法应用于有一定运算能力的电子设备中来举例说明,该电子设备例如可以是图1示出的服务器104。该信息推送的方法,包括以下步骤:

步骤201,获取至少一个第一用户的第一用户信息、至少一个第二用户的第二用户信息以及各个第一用户与至少一个第二用户的历史交互信息。

在本实施例中,电子设备可以从本地或远程地获取至少一个第一用户的第一用户信息、至少一个第二用户的第二用户信息,以及各个第一用户与至少一个第二用户进行交互的历史交互信息。

具体地,电子设备可以预先存储有上述第一用户信息、第二用户信息及历史交互信息中的一种或多种,此时,电子设备可以从本地获取在本地存储的以上信息。电子设备还可以在需要时通过有线连接方式或者无线连接方式远程地通过终端设备采集或获取预先存储在终端设备上的以上信息中的一种或多种。上述无线连接方式包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。

其中,第一用户和第二用户可以是具有一定关联的两种用户,例如消费者和商户。如果第一用户和第二用户发生了关联,例如消费者在商户进行了消费,则第一用户和第二用户进行了交互。在一些情况下,用户可能同时是第一用户和第二用户,例如,服装商户经营者在消费者购买服装时可以是第二用户,同时该服装商户经营者还可以作为第一用户(消费者)去餐饮商户进行消费。可选地,第一用户和第二用户的历史交互信息可以包括第一用户和第二用户进行历史交互的第二用户及交互时间和交互数值。其中,交互数值可以是用于表示第一用户和第二用户的交互量的一个数值,例如,消费金额。

这里,用户信息可以是用于描述用户的各种行为或属性等的信息,例如可以是性格信息、身高信息等。

在一些实现中,第一用户信息可以包括但不限于包括第一用户的历史访问信息、位置信息及用户属性信息等等信息中的至少一项。其中,历史访问信息可以包括第一用户的历史搜索关键词及搜索时间;位置信息可以包括第一用户在各个时刻的定位信息,其中,定位信息可以通过第一用户所持有的终端设备获得,例如通过终端设备接入网络的IP(Internet Protocol,网络间的互联协议)地址、GPS(Global Positioning System,全球定位系统)等获得;用户画像信息可以是通过对用户行为特征等进行分析得到的标签信息,例如根据第一用户的地图日志信息、定位日志信息和搜索引擎的日志信息中与地理位置和用户行为相关的数据对用户进行画像确定的画像信息(如表征年龄段、性别、兴趣、职业等的信息),其包含的内容和确定方法可参考公开号CN104933157A的专利申请中确定的属性信息,在此不再赘述。可选地,在对用户实际定位过程中,可能会存在偏差,电子设备可以先对定位信息进行过滤,以去除明显错误的定位点,例如定位信息通过以下方法进行过滤:去除与相邻时刻间隔(如1秒)的定位位置偏移超过预设的偏移阈值的定位点,或者去除按照相邻时刻的定位位置计算的用户速度超过预设的速度阈值(如200米每秒)的定位点。可选地,当第一用户是消费者,第二用户是商户时,第一用户信息还可以包括消费者在购物网站历史浏览或点击过的商户及商户类别(如美容类等)、第一用户在购物网站历史消费的商户及商户类别、消费金额等等中的至少一项。

在一些实现中,第二用户信息可以包括但不限于以下至少一项:第一用户与第二用户进行交互的人均交互数值、第二用户类别、第二用户周围的人流量、第一用户对第二用户的历史浏览信息。可选地,当第一用户是消费者,第二用户是商户时,第一用户与第二用户进行交互的人均交互数值可以是消费者在商户消费的人均消费金额,第二用户类别可以是商户类别,第二用户周围的人流量可以是商户周围的人流量,例如与商户距离在预设距离(如50米)范围内每天出现的人次数量,第一用户对第二用户的历史浏览信息可以是消费者在购物网站历史浏览或点击商户的时间、次数等。

步骤202,根据上述历史交互信息确定各个第一用户与第二用户的关联度,以根据关联度阈值或数量阈值按照关联度由高到低选取出用户组。

在本实施例中,电子设备上可以进一步根据上述历史交互信息确定各个第一用户与第二用户的关联度,以进一步地根据关联度阈值或数量阈值对所获取的第一用户信息、第二用户信息进行筛选,这里,电子设备可以按照关联度由高到低选取关联度较高的用户组,每个用户组可以包括一个第一用户和一个第二用户。

其中,关联度可以用于表示第一用户、第二用户的关联程度,该关联程度可以通过数值表示为关联度。例如,当第一用户是消费者,第二用户是商户时,第一用户与第二用户的关联度可以是消费者在商户的消费次数或总消费金额等。

电子设备可以预先存储有关联度阈值或数量阈值,以对所获取的第一用户信息、第二用户信息进行筛选。在一些实现中,所推送的信息与关联度有关,电子设备可以根据关联度阈值对第一用户信息、第二用户信息进行筛选。在另一些实现中,电子设备可以处理的数据量有限,例如1秒处理100万条信息,电子设备可以根据数量阈值对第一用户信息、第二用户信息进行筛选,如选出关联度较高的100万个用户组。

在本实施例的一些可选实现方式中,对任一第一用户及其历史交互的任一第二用户,关联度通过以下至少一种方法进行计算:

关联度与该第一用户和该第二用户的共同邻居数量成正比,其中,共同邻居包括与该第二用户历史交互的其他第一用户历史交互的其他第二用户和该第一用户历史交互的其他第二用户中的共同第二用户,例如共同邻居通过链路预测按照以下公式获取:

其中,

其中,公式中的x表示该第一用户,Γ(x)表示该第一用户历史交互的其他第二用户,y表示该第二用户,Γ(y)表示该第二用户历史交互的其他第一用户,c表示该第二用户交互过的任一其他第一用户,Γ(c)表示某一前述的其他第一用户历史交互过的其他第二用户,表示所有前述的其他第一用户历史交互过的其他第二用户;

关联度与该第一用户和该第二用户的杰卡德(jaccard)系数成正比,其中,这里的杰卡德系数包括上述的共同邻居数量与该第二用户历史交互的其他第一用户历史交互的其他第二用户的数量和该第一用户历史交互的其他第二用户的数量的和的比值,即:

其中,式中各项含义同上;

关联度与该第一用户与该第二用户的优先连接系数(Preferential Attachment)成正比,其中,优先连接系数包括该第一用户与各第二用户历史交互的次数组成的向量与与各第二用户历史交互的第一用户数量组成的向量的内积,即:

其中,|Γ(x)|表示该第一用户与各第二用户历史交互的次数组成的向量,表示与各第二用户历史交互的第一用户数量组成的向量;这种关联度的计算方法,使得第二用户历史交互的第一用户越多,其与没有与任何第二用户发生交互的第一用户的关联度越大;

关联度与该第一用户与该第二用户的频率加权共同邻居权值系数(Adamic/Adar相似度)成正比,该频率加权共同邻居权值系数通过将上述共同邻居数量进行归一化处理得到,即:

其中,Z表示该第一用户与该第二用户的任一共同邻居,log|Γ(Z)|是归一化系数,|Γ(Z)|是所有第一用户与第二用户的共同邻居的向量长度。

通过该步骤,电子设备可以降低信息推送过程中的数据处理量,提高数据处理效率。

步骤203,基于所选取的各个用户组中各第一用户的第一用户信息、各第二用户的第二用户信息以及历史交互信息通过预设模型得到各个第一用户与至少一个第二用户进行交互的概率。

在本实施例中,电子设备预先训练有预设模型,并可以在本步骤中进一步基于所选取的各个用户组,根据各个用户组中各第一用户的第一用户信息、各第二用户的第二用户信息以及历史交互信息通过预设模型得到各个第一用户与至少一个第二用户进行交互的概率。

这里,预设模型可以是各种分类或回归模型。举例而言,预设模型可以是诸如GBDT(Gradient Boosting Decision Tree,梯度提升决策树)、LTR(learn to rank,学习排序)之类的有监督机器学习模型。这类模型往往从给定的训练集中学习出一个函数,当出现新的数据时,根据这个函数预测结果。有监督学习的训练集要求包括特征作为输入,目标作为输出。

在本实施例中,预设模型的训练集可以包括预设时间段内的第一用户信息、第二用户信息及历史交互信息。进行模型训练时,电子设备可以先获得训练样本集,然后根据步骤202的方法过滤出一定数量或关联度高于关联度阈值的用户组,接着所过滤出的用户组中的第一用户信息、第二用户信息及历史交互信息作为待训练模型的输入,通过历史交互信息获取待训练模型的输出(即各种特征组合得到的各第二用户的概率),对待训练模型的参数进行求解得到预设模型。通过预设模型可以根据新的第一用户信息、第二用户信息、历史交互信息预测各第一用户分别与各第二用户进行交互的概率。

在一些实现中,电子设备可以将预设时间段内的第一用户信息、第二用户信息及历史交互信息作为训练样本集,训练得到预设模型,用于对将要发生的第一用户与第二用户的交互概率进行预测。例如,按照一周7天为一个周期,用前一周期的历史数据预测下一周期的交互概率等等。预设模型可以按照预定时间段采用新一周期的历史数据进行训练,如每天更新历史数据训练新的模型作为预设模型。由此,可以保持模型对快速适应新的情况变化。

在另一些实现中,电子设备还可以按照不同地理区域(如不同城市)训练不同的预设模型,以适应不同地理区域范围内的人文习惯等。

步骤204,基于所得到的概率向第一用户和/或第二用户进行信息推送。

在本实施例中,电子设备可以根据步骤204中通过预设模型得到的概率对第一用户进行信息推送,也可以对第二用户进行信息推送,还可以同时对第一用户和第二用户进行信息推送。

具体地,电子设备可以按照第一用户与各个第二用户进行交互的概率向各个第一用户进行信息推送,并且/或者,按照各个第一用户与第二用户进行交互的概率向各个第二用户进行信息推送。例如,当第一用户是消费者,第二用户是商户时,电子设备可以按照消费者在各个商户消费概率由高到低的顺序向消费者推送商户信息,电子设备也可以按照各个消费者在商户消费概率由高到低的顺序向商户推送消费者信息。

作为一个应用场景,如图3所示,本实施例的信息推送方法例如可以应用于为购物类应用提供支持的后台服务器302,该购物类应用可以运行于消费者(第一用户)持有的第一用户终端301和商户(第二用户)持有的第二用户终端303,其中,第一用户终端301和第二用户终端303的数量均为至少一个。在该应用场景中,通过步骤3001,后台服务器302可以从第一用户终端301获取至少一个消费者的消费者信息(第一用户信息)、从第二用户终端303获取至少一个商户的商户信息(第二用户信息)、从第一用户终端301或第二用户终端303获取消费者的历史消费信息(第一用户与第二用户的历史交互信息);接着,通过步骤3002,后台服务器302可以根据所获取的历史消费信息筛选出关联度较高的用户组,其中,每个用户组包括一个消费者和一个商户;然后,通过步骤3003,后台服务器302可以基于所选取的各个用户组中各第一用户的第一用户信息、各第二用户的第二用户信息以及历史交互信息通过预设模型得到各个第一用户与至少一个第二用户进行交互的概率;接着,通过步骤3004,后台服务器302可以同时向消费者和商户进行信息推送,此时,电子设备可以向消费者推送其进行消费概率最大的商户供其选择消费,同时向商户推送在该商户消费概率最大的消费者供其选择推送其商品,通过准确的信息推送提高消费成功几率。

在本实施例中,由于根据关联度对过滤出了关联度较高的用户组,减少了数据处理量,且根据获取的第一用户信息、第二用户信息进行交互概率预测,充分利用网络数据使信息推送富于针对性,从而可以提高信息推送的有效性。

请参考图4,其示出了信息推送的方法的另一个实施例的流程400,流程400包括以下步骤:

步骤401,获取至少一个第一用户的第一用户信息、至少一个第二用户的第二用户信息以及各个第一用户与至少一个第二用户的历史交互信息。

在本实施例中,电子设备可以从本地或远程地获取至少一个第一用户的第一用户信息、至少一个第二用户的第二用户信息,以及各个第一用户与至少一个第二用户进行交互的历史交互信息。其中,第一用户和第二用户可以是具有一定关联的两种用户,例如消费者和商户。如果第一用户和第二用户发生了关联,例如消费者在商户进行了消费,则第一用户和第二用户进行了交互。

步骤402,根据上述历史交互信息确定各个第一用户与第二用户的关联度,以根据关联度阈值或数量阈值按照关联度由高到低选取出用户组。

在本实施例中,电子设备上可以进一步根据上述历史交互信息确定各个第一用户与第二用户的关联度,以进一步地根据关联度阈值或数量阈值对所获取的第一用户信息、第二用户信息进行筛选,这里,电子设备可以按照关联度由高到低选取关联度较高的用户组,每个用户组可以包括一个第一用户和一个第二用户。其中,关联度可以用于表示第一用户、第二用户的关联程度,该关联程度可以通过数值表示为关联度。例如,当第一用户是消费者,第二用户是商户时,第一用户与第二用户的关联度可以是消费者在商户的消费次数或总消费金额等。

步骤403,基于所选取的用户组中各第一用户的第一用户信息、各第二用户的第二用户信息训练各个第一用户的第一特征向量、各个第二用户的第二特征向量。

在本实施例中,电子设备可以接着基于通过步骤202筛选出的用户组,将用户组中的各第一用户的第一用户信息、各第二用户的第二用户信息作为样本通过各种机器学习方法(例如深度学习等)训练各个第一用户的第一特征向量、各个第二用户的第二特征向量。

其中,第一特征向量可以包括第一用户与第二用户进行交互的相关第一用户特征,第二特征向量可以包括第一用户与第二用户进行交互的相关第二用户特征。例如,当第一用户是消费者,第二用户是餐饮类商户时,第一用户特征可以是嗜辣、中低消费等之类的特征,第二用户特征可以是川菜、人均消费中等之类的特征。第一特征向量、第二特征向量还可以包括,还可以包括以上对应特征对交互过程的重要度系数。通过各种机器学习方法训练各个第一用户的第一特征向量、各个第二用户的第二特征向量时,电子设备可以将已知的第一用户信息、第二用户信息作为输入,已知的个用户组中第一用户与第二用户的关联度作为输出,得到第一特征向量、第二特征向量。对每个用户组,第一用户特征向量与第二特征向量的内积为该用户组中的第一用户和第二用户的关联度。

在本实施例的一些可选实现方式中,上述机器学习方法可以是隐变量模型机器学习方法,第一特征向量可以是第一用户在隐变量空间的特征向量,第二特征向量可以是第二用户在隐变量空间的特征向量。举例而言,上述隐变量模型可以是LDA(Latent Dirichlet Allocation,文档主题生成)模型。LDA模型包含单词、主题和文档三层结构,且假设文档以一定概率选择了某个主题,并从这个主题中以一定概率选择某个单词,文档到主题服从多项式分布,主题到词服从多项式分布,即每一篇文档是主题所构成的一个概率分布,而每一个主题又是很多单词所构成的一个概率分布。这里,可以将第二用户看作单词,第一用户看作文档,训练得到的主题到文档所构成的一个概率分布即为第一特征向量,单词到主题所构成的一个概率分布即为第二特征向量。其中,多项式中的各项可以为相应特征,各项系数可以为相应特征的重要度系数。实践中,隐变量空间可以具有维度,维度可根据实际需求进行调整。

步骤404,将上述第一用户信息、第二用户信息及第一特征向量、第二特征向量作为预设模型的输入得到各个第一用户与至少一个第二用户进行交互的概率。

在本实施例中,电子设备可以预先训练有用于预测第一用户与至少一个第二用户进行交互的概率的预设模型,电子设备可以将步骤401中获取的第一用户信息、第二用户信息,步骤403中训练得到的第一特征向量、第二特征向量作为预设模型的输入,得到各个第一用户与至少一个第二用户进行交互的概率。

这里,预设模型可以是各种分类或回归模型,例如有监督机器学习模型。这类模型往往从给定的训练集中学习出一个函数,当出现新的数据时,根据这个函数预测结果。有监督学习的训练集要求包括特征作为输入,目标作为输出。

在本实施例中,预设模型的训练集可以包括预设时间段内的第一用户信息、第二用户信息及历史交互信息。进行模型训练时,电子设备可以先获得训练样本集,然后根据步骤402的方法过滤出一定数量或关联度高于关联度阈值的用户组,接着根据步骤403的方法获取所过滤出的用户组中第一用户的第一特征向量、第二用户的第二特征向量,然后将所得到的第一特征向量、第二特征向量及样本集中的第一用户信息、第二用户信息作为待训练模型的输入,通过历史交互信息获取待训练模型的输出,对待训练模型的参数进行求解得到预设模型。通过预设模型可以根据新的第一用户信息、第二用户信息、第一特征向量、第二特征向量预测各第一用户分别与各第二用户进行交互的概率。

步骤405,基于所得到的概率向第一用户和/或第二用户进行信息推送。

在本实施例中,电子设备可以根据步骤204中通过预设模型得到的概率对第一用户进行信息推送,也可以对第二用户进行信息推送,还可以同时对第一用户和第二用户进行信息推送。

在本实施例中,上述实现流程中的步骤401、步骤402和步骤405分别与前述实施例中的步骤201、步骤202和步骤204基本相同,在此不再赘述。

从图4中可以看出,与图2对应的实施例不同的是,本实施例中信息推送的方法的流程400增加基于所选取的用户组中各第一用户的第一用户信息、各第二用户的第二用户信息训练各个第一用户的第一特征向量、各个第二用户的第二特征向量的步骤403和步骤404中将步骤403中训练得到的第一特征向量、第二特征向量作为预设模型的输入,进一步对机器学习中的用户特征进行扩展,可以使预测结果更加准确。

进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种信息推送的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于电子设备中。

如图5所示,本实施例的信息推送的装置500包括:获取模块501、筛选模块502、预测模块503及推送模块504。其中,获取模块501可以配置用于获取至少一个第一用户的第一用户信息、至少一个第二用户的第二用户信息以及各个第一用户与至少一个第二用户的历史交互信息;筛选模块502可以配置用于根据上述历史交互信息确定各个第一用户与第二用户的关联度,以根据关联度阈值或数量阈值按照关联度由高到低选取出用户组,其中,每个用户组包括一个第一用户和一个第二用户;预测模块503可以配置用于基于所选取的各个用户组中各第一用户的第一用户信息、各第二用户的第二用户信息以及历史交互信息通过预设模型得到各个第一用户与至少一个第二用户进行交互的概率;推送模块504可以配置用于基于所得到的概率向第一用户和/或第二用户进行信息推送。

在本实施例的一些可选实现方式中,预测模块503可以包括:训练单元,配置用于基于所选取的各个用户组中各第一用户的第一用户信息、各第二用户的第二用户信息训练各个第一用户的第一特征向量、各个第二用户的第二特征向量;预测单元,配置用于将第一用户信息、第二用户信息及第一特征向量、第二特征向量作为预设模型的输入得到各个第一用户与至少一个第二用户进行交互的概率。

在本实施例的一些可选实现方式中,第一特征向量、第二特征向量通过隐变量模型机器学习得到,其中,第一特征向量包括第一用户在隐变量空间的特征向量,第二特征向量包括第二用户在隐变量空间的特征向量,对每个用户组,第一用户特征向量与第二特征向量的内积为该用户组中的第一用户和第二用户的关联度。

在本实施例的一些可选实现方式中,预设模型为有监督机器学习模型,其中,预设模型的训练样本集包括预设时间段内的第一用户信息、第二用户信息及历史交互信息。

在本实施例的一些可选实现方式中,对任一第一用户及其历史交互的任一第二用户,关联度通过以下至少一种方法进行计算:关联度与该第一用户和该第二用户的共同邻居数量成正比,其中,共同邻居包括与该第二用户历史交互的其他第一用户历史交互的其他第二用户和该第一用户历史交互的其他第二用户中的共同第二用户;关联度与该第一用户和该第二用户的杰卡德系数成正比,其中,杰卡德系数包括共同邻居数量与该第二用户历史交互的其他第一用户历史交互的其他第二用户的数量和该第一用户历史交互的其他第二用户的数量的和的比值;关联度与该第一用户与该第二用户的优先连接系数成正比,其中,优先连接系数包括该第一用户与各第二用户历史交互的次数组成的向量与与各第二用户历史交互的第一用户数量组成的向量的内积;关联度与该第一用户与该第二用户的频率加权共同邻居权值系数成正比,频率加权共同邻居权值系数通过将共同邻居数量进行归一化处理得到。

在本实施例的一些可选实现方式中,第一用户信息包括第一用户的历史访问信息、位置信息及用户画像信息中的至少一项。

在本实施例的一些可选实现方式中,历史交互信息包括交互时间和交互数值;以及,当第一用户信息包括第一用户的历史访问信息时,历史访问信息包括历史搜索关键词及搜索时间;当第一用户信息包括第一用户的位置信息时,位置信息包括各个时刻的定位信息,其中,定位信息通过以下方法进行过滤:去除与相邻时刻间隔的定位位置偏移超过预设的偏移阈值的定位点;当第一用户信息包括第一用户的画像信息时,画像信息根据用户行为特征确定。

在本实施例的一些可选实现方式中,第二用户信息包括以下至少一项:第一用户与第二用户进行交互的人均交互数值、第二用户类别、第二用户周围的人流量、第一用户对第二用户的历史浏览信息。

在本实施例的一些可选实现方式中,推送模块504进一步可以配置用于:按照第一用户与各个第二用户进行交互的概率向各个第一用户进行信息推送;和/或,按照各个第一用户与第二用户进行交互的概率向各个第二用户进行信息推送。

值得说明的是,信息推送的装置500中记载的诸模块与参考图2描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作和特征同样适用于信息推送的装置500及其中包含的模块或单元,在此不再赘述。

本领域技术人员可以理解,上述信息推送的装置500还包括一些其他公知结构,例如处理器、存储器等,为了不必要地模糊本公开的实施例,这些公知的结构在图5中未示出。

下面参考图6,其示出了适于用来实现本申请实施例的电子设备的计算机系统600的结构示意图。

如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。

以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。

特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。

本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括获取模块、筛选模块、预测模块及推送模块。其中这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,获取模块还可以被描述为“配置用于获取至少一个第一用户的第一用户信息、至少一个第二用户的第二用户信息以及各个第一用户与至少一个第二用户的历史交互信息的模块”。

作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中的装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。上述计算机可读存储介质存储有一个或者一个以上程序,当该程序被一个或者一个以上的处理器执行时,使得上述设备:获取至少一个第一用户的第一用户信息、至少一个第二用户的第二用户信息以及各个第一用户与至少一个第二用户的历史交互信息;根据上述历史交互信息确定各个第一用户与第二用户的关联度,以根据关联度阈值或数量阈值按照关联度由高到低选取出用户组,其中,每个用户组包括一个第一用户和一个第二用户;基于所选取的各个用户组中各第一用户的第一用户信息、各第二用户的第二用户信息以及历史交互信息通过预设模型得到各个第一用户与至少一个第二用户进行交互的概率;基于所得到的概率向第一用户和/或第二用户进行信息推送。

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

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