资源推送方法、装置、电子设备及存储介质
文献发布时间:2023-06-19 11:39:06
技术领域
本发明涉及智能决策技术领域,尤其涉及一种资源推送方法、装置、电子设备及计算机可读存储介质。
背景技术
许多公司或企业会在手机app启动时加载广告等资源向用户进行推荐展示,但随着人们需求的变化,即使同一app的不同用户感兴趣的广告资源也存在着较大的差异,例如购物平台app中,买家更希望看到物美价廉的商品广告资源,而卖家更希望看到哪种产品更加火热抢手,符合用户需求的广告资源。
传统的资源推荐方法为了节约计算资源,多数使用滞后式的资源推送方式,即根据用户信息生成用户肖像,并在一段时间内持续向用户推送与用户肖像匹配的资源。该方法中,根据用户肖像在一段时间内持续向用户推送与用户肖像匹配的资源,没有考虑到用户需求变动性,导致向用户推送的资源与实际用户需求的资源之间匹配程度不高,进而造成向用户进行资源推送的精确度较低。
发明内容
本发明提供一种资源推送方法、装置及计算机可读存储介质,其主要目的在于解决针对不同用户进行资源推荐时精确度较低的问题。
为实现上述目的,本发明提供的一种资源推送方法,包括:
实时获取目标用户的用户访问记录;
对所述用户访问记录进行业务分类,并根据业务分类结果筛选所述目标用户的偏好业务;
对所述偏好业务进行向量转化,并从向量转化结果中筛选所述偏好业务的业务向量;
获取推荐资源,提取所述推荐资源的资源关键词,将所述资源关键词转化所述推荐资源的资源向量;
计算所述业务向量与所述资源向量的匹配值;
判断所述匹配值是否小于预设的匹配阈值,若是,则向所述目标用户推送所述资源向量对应的推荐资源。
可选地,所述实时获取目标用户的用户访问记录,包括:
监测所述目标用户的在线状态;
当所述用户的在线状态为在线时,利用预先构建的定时任务实时获取所述目标用户的用户访问记录。
可选地,所述监测所述目标用户的在线状态,包括:
监测预设类型事件,根据监听到的预设类型事件,执行会话创建操作;
根据所述会话创建操作,判断用户的在线状态。
可选地,所述对所述用户访问记录进行业务分类,包括:
分别计算用户访问记录与预设的业务标签的距离值;
确定所述距离值小于预设的距离阈值的业务标签为所述用户访问记录的业务类型。
可选地,所述根据业务分类结果筛选所述目标用户的偏好业务,包括:
提取所述业务分类结果中目标用户对不同类型业务的浏览时长;
遍历所述业务分类结果并统计所述业务分类结果中不同类型业务出现的业务次数;
根据所述浏览时长及所述业务次数计算得到所述目标用户对不同类型业务的偏好程度,确定所述偏好程度大于预设的偏好阈值的业务类型为所述目标用户的偏好业务。
可选地,所述对所述偏好业务进行向量转化,并根据向量转化结果生成所述偏好业务的业务向量,包括:
对所述偏好业务进行数据采样,得到采样数据;
对所述采样数据进行词向量转化,得到词向量集;
计算所述词向量集中各词向量的特征值;
将所述词向量集中各词向量按照所述特征值从大到小进行排序,得到特征序列;
按照从前向后的顺序从所述特征序列中选取预设数量的词向量作为业务向量。
可选地,所述向所述目标用户推送所述资源向量对应的推荐资源,包括:
获取所述目标用户的用户id;
将所述用户id编译至预先构建的数据推送语句;
执行所述数据推送语句向所述用户对应的用户端发送数据传输接口的调用请求,得到数据接口状态;
判断所述数据接口状态是否为可接受数据传输的状态,若是,则利用所述数据传输接口将所述距离值小于预设的距离阈值资源向量对应的推荐资源推送至所述用户对应的用户端。
为了解决上述问题,本发明还提供一种资源推送装置,所述装置包括:
记录获取模块,用于实时获取目标用户的用户访问记录;
业务筛选模块,用于对所述用户访问记录进行业务分类,并根据业务分类结果筛选所述目标用户的偏好业务;
第一向量转化模块,用于对所述偏好业务进行向量转化,并从向量转化结果中筛选所述偏好业务的业务向量;
第二向量转化模块,用于获取推荐资源,提取所述推荐资源的资源关键词,将所述资源关键词转化所述推荐资源的资源向量;
向量匹配模块,用于计算所述业务向量与所述资源向量的匹配值;
资源推送模块,用于判断所述匹配值是否小于预设的匹配阈值,若是,则向所述目标用户推送所述资源向量对应的推荐资源。
为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
存储器,存储至少一个指令;及
处理器,执行所述存储器中存储的指令以实现上述所述的资源推送方法。
为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现上述所述的资源推送方法。
本发明实施例通过对预设事件的监控实现了实时获取目标用户的用户访问记录,有利于及时监测到用户偏好的变动,进而保证用户偏好改变时对用户推送的资源也会及时进行变更,避免了用户偏好改变时依旧推送用户偏好未改变时的资源,提高了推送内容与用户的匹配度,进而提高了对用户进行个性化资源推送的精确度;通过对用户访问记录进行业务分类,以筛选出目标用户的偏好业务有利于后续根据偏好业务对目标用户进行资源推送,提高资源推送的精确度;对偏好业务和推荐资源进行向量转化,有利于减少利用将偏好向量与推荐资源进行匹配时的计算内存的占用,提高匹配效率。因此本发明提出的资源推送方法、装置、电子设备及计算机可读存储介质,可以解决针对不同用户进行资源推荐时精确度较低的问题。
附图说明
图1为本发明一实施例提供的资源推送方法的流程示意图;
图2为本发明一实施例提供的资源推送装置的功能模块图;
图3为本发明一实施例提供的实现所述资源推送方法的电子设备的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本申请实施例提供一种资源推送方法。所述资源推送方法的执行主体包括但不限于服务端、终端等能够被配置为执行本申请实施例提供的该方法的电子设备中的至少一种。换言之,所述资源推送方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。
参照图1所示,为本发明一实施例提供的资源推送方法的流程示意图。
在本实施例中,所述资源推送方法包括:
S1、实时获取目标用户的用户访问记录。
本发明实施例中,所述目标用户的用户访问记录可由预先安装于app应用中具有定时数据采集功能的sdk组件等获取所述目标用户的用户访问记录,所述sdk组件中预先安装有定时任务,可在用户使用app应用时定时自动记录用户的访问行为等数据,如用户id、用户访问的业务类型、用户访问不同业务时的访问时长等。
详细地,所述实时获取目标用户的用户访问记录,包括:
监测所述目标用户的在线状态;
当所述用户的在线状态为在线时,利用预先构建的定时任务实时获取所述目标用户的用户访问记录。
具体地,所述监测所述目标用户的在线状态,包括:
监测预设类型事件,根据监听到的预设类型事件,执行会话创建操作;
根据所述会话创建操作,判断用户的在线状态。
本发明实施例中,所述预设类型事件包括但不限于用户登录事件、用户退出事件、管理员强制退出事件。
详细地,本发明实施例通过下述方法进行预设类型事件的监听:
1、用户打开用户端时,向预先安装的sdk组件发送用户登录请求,sdk组件收到了所述用户登录请求时,确定监听到了用户登录事件;
2、用户端手动点了关闭按钮时向的sdk组件发送一条退出用户端请求,sdk组件收到所述退出用户端请求时,确定监听到了用户退出事件;
3、管理员根据需要,向sdk组件发送强制退出用户端请求,sdk组件收到管理员发送的所述强制退出用户端请求时,确定监听到了管理员强制退出事件。
具体地,在监测到预设类型事件时,本发明实施例在用户端本地创建与监测到的预设类型事件相应的对话,例如,监听到用户登录事件时,在用户端的本地创建用户在线对话,此时用户的在线状态为在线;监听到用户退出事件时,在用户端的本地创建用户退出事件对话,此时用户的在线状态为不在线;监听到管理员强制退出事件是,在用户端的本地创建管理员强制退出事件对话,此时用户的在线状态为不在线。
进一步地,所述利用预先构建的定时任务实时获取所述目标用户的用户访问记录,包括:
获取自定义处理函数;
利用所述自定义处理函数构建规则表达式;
利用所述规则表达式定时采集所述用户访问记录。
具体地,所述自定义处理函数包括但不限于以下一项或多项:
IF函数,用于判断采集条件;
TO_DATE函数,用于表示日期与时间;
U_TIME函数,用于自定义采集的时间;
U_DIV函数,用于检测用户访问记录的产生环境。
详细地,所述利用所述自定义处理函数构建规则表达式,包括:
获取与预设采集时间对应的自定义处理函数;
检测所述用户访问记录的产生环境;
通过与所述产生境对应的编译器对所述自定义处理函数进行编译,得到所述规则表达式。本发明实施例通过定时任务实时获取目标用户的用户访问记录,可提高用户访问记录获取的实时性及真实性,有利于及时监测到用户偏好的变动,避免了用户偏好改变时依旧推送用户偏好未改变时的资源,提高了推送内容与用户的匹配度,进而提高了对用户进行个性化资源推送的精确度。
S2、对所述用户访问记录进行业务分类,并根据业务分类结果筛选所述目标用户的偏好业务。
本发明实施例中,所述对所述用户访问记录进行业务分类,包括:
分别计算用户访问记录与预设的业务标签的距离值;
确定所述距离值小于预设的距离阈值的业务标签为所述用户访问记录的业务类型。
详细地,预设的业务标签为根据app应用能够实现的业务所预先设定的标签,例如,app应用可实现商品查询业务,则所有商品查询业务产生的用户访问记录的业务标签均可设定为查询业务标签;app应用可实现订单生成业务,则所有订单生成业务产生的用户访问记录的业务标签均可设定为订单标签。
本发明实施例通过计算被选取的用户访问记录与预设的业务标签的距离值,来实现对用户访问记录进行业务分类。
例如,存在业务标签1,业务标签2和业务标签3;存在用户访问记录中包含用户访问记录a,用户访问记录b和用户访问记录c三个用户访问记录。计算用户访问记录a与三个预设的业务标签的距离值,得到用户访问记录a与业务标签1的距离值为20,用户访问记录a与业务标签2的距离值为60,用户访问记录a与业务标签3的距离值为90,则确定用户访问记录a的业务类型为业务标签3。
同理,继续分别计算用户访问记录b和业务标签1,业务标签2和业务标签3的距离值,及用户访问记录c与业务标签1,业务标签2和业务标签3的距离值,根据距离值确定用户访问记录b和用户访问记录c的业务类型。
详细地,所述分别计算所述用户访问记录中未被选取的用户访问记录与所述多个簇心记录的距离,包括:
利用如下距离算法计算所述用户访问记录与所述预设的业务标签的距离d(A,B)
d(A,B)
其中,A为任一所述用户访问记录,B为任一预设的业务标签。
本发明实施例通过对用户访问记录进行业务分类,有利于后续针对不同的业务分析出用户的偏好,提高后续对用户进行资源推送的精确度。
详细地,所述根据业务分类结果筛选所述目标用户的偏好业务,包括:
提取所述业务分类结果中目标用户对不同类型业务的浏览时长;
遍历所述业务分类结果并统计所述业务分类结果中不同类型业务出现的业务次数;
根据所述浏览时长及所述业务次数计算得到所述目标用户对不同类型业务的偏好程度,确定所述偏好程度大于预设的偏好阈值的业务类型为所述目标用户的偏好业务。
本发明实施例中,所述提取所述业务分类结果中目标用户对不同类型业务的浏览时长,包括:
利用如下时长提取算法提取所述业务分类结果中目标用户对不同类型业务的浏览时长:
其中,b
进一步地,所述根据所述浏览时长及所述业务次数计算得到所述目标用户对不同类型业务的偏好程度,包括:
利用如下偏好算法计算得到所述目标用户对不同类型业务的偏好程度S:
S=α×click
其中,click
本发明实施例确定所述偏好程度大于预设的偏好阈值的业务类型为所述目标用户的偏好业务。
本发明实施例通过对用户访问记录进行业务分类,以筛选出目标用户的偏好业务有利于后续根据偏好业务对目标用户进行资源推送,提高资源推送的精确度。
S3、对所述偏好业务进行向量转化,并从向量转化结果中筛选所述偏好业务的业务向量。
本发明实施例中,所述对所述偏好业务进行向量转化,并根据向量转化结果生成所述偏好业务的业务向量,包括:
对所述偏好业务进行数据采样,得到采样数据;
对所述采样数据进行词向量转化,得到词向量集;
计算所述词向量集中各词向量的特征值;
将所述词向量集中各词向量按照所述特征值从大到小进行排序,得到特征序列;
按照从前向后的顺序从所述特征序列中选取预设数量的词向量作为业务向量。
本发明实施例中,所述对所述偏好业务进行数据采样是指对偏好业务中的内容进行采样,采样的方法包括但不限于等间距采样法和随机采样法。
进一步地,本发明实施例利用具有词向量转化功能的卷积神经网络对所述采样数据进行词向量转化,得到词向量集。
详细地,所述对所述采样数据进行词向量转化,得到词向量集,包括:
获取训练采样数据,以及所述训练采样数据对应的标准词向量;
利用卷积神经网络对所述训练采样数据进行词向量转化,得到转化词向量;
计算所述转化词向量和所述标准词向量的误差值;
若所述转化词向量与所述标准词向量的误差值大于预设误差,则调整所述卷积神经网络的参数后,再次进行词向量转化;
若所述转化词向量与所述标准词向量的误差值小于所述预设误差,则确认训练完成,获取训练完成的卷积神经网络;
利用所述训练完成的卷积神经网络对所述采样数据进行词向量转化,得到词向量集。
详细地,本发明实施例利用如下损失函数计算所述转化词向量和所述标准词向量的误差值
其中,
本发明实施例中,利用梯度下降算法调整所述卷积神经网络的参数,所述梯度下降算法包括但不限批量梯度下降算法、随机梯度下降算法和小批量梯度下降算法。
进一步地,所述计算所述词向量集中各词向量的特征值,包括:
利用如下特征值算法按计算所述词向量集中各词向量的特征值:
其中,m为词向量集中词向量的数量,p
本发明实施例将所述词向量集中各词向量按照所述特征值从大到小进行排序,得到特征序列;从所述特征序列中按照从前向后的顺序选取预设数量的词向量作为业务特征。
本发明实施例对偏好业务进行向量转化,并从向量转化结果中筛选得到偏好业务的业务向量,实现了对偏好业务的向量化,有利于减少后续利用将偏好向量与推荐资源进行匹配时的计算内存的占用,提高匹配效率。
S4、获取推荐资源,提取所述推荐资源的资源关键词,将所述资源关键词转化所述推荐资源的资源向量。
本发明实施例中,所述推荐资源包括与不同业务分别对应的广告资源,例如,对于购物app应用的商品查询业务,所述推荐资源包括热门商品、热门活动和商品折扣信息等;对于外卖app的订单业务,所述推荐资源包括热门店铺、新增店铺和店铺排行数据等。
本发明实施例中,可利用具有数据抓取功能的python语句从用于存储推荐资源的区块链节点中获取所述推荐资源,利用区块链对数据的高吞吐性,可高获取所述推荐数据的效率。
详细地,所述提取所述推荐资源的资源关键词,包括:
对所述推荐资源进行分词处理,得到资源分词集;
利用指标算法计算所述资源分词集中每个资源分词的分词指标;
确定所述分词指标大于预设的指标阈值的资源分词为所述推荐资源的资源关键词。
本发明实施例中,所述对所述推荐资源进行分词处理,得到资源分词集,包括:
利用预设停用词库删除所述推荐资源包含的停用词;
利用预设标准词库对删除停用词后的推荐资源进行分词处理,得到分词集。
具体地,预设停用词库和预设标准词库为包含多个分词的词库。预设停用词库中存储有多个停用词的分词,例如,“率尔”、“如次”。预设标准词库中包含多个非停用词的分词,例如,“吃饭”、“睡觉”。
本发明实施例对推荐资源进行分词处理,可将长度较大的推荐资源划分为多个分词,通过对多个分词进行分析处理相比直接通过推荐资源进行处理效率和准确性更高。
进一步地,所述利用指标算法计算所述资源分词集中每个资源分词的分词指标,包括:
利用如下指标算法计算所述资源分词集中每个资源分词的分词指标:
TD=TF
其中,TF
本发明实施例中,所述分词指标可代表资源分词在所述资源分词集中的重要程度,因此筛选出分词指标大于预设的指标阈值的资源分词为所述推荐资源的资源关键词。
详细地,所述将所述资源关键词转化所述推荐资源的资源向量的步骤,与步骤S3中对所述采样数据进行词向量转化的步骤一致,在此不做赘述。
S5、计算所述业务向量与所述资源向量的匹配值。
本发明实施例中,所述计算所述业务向量与所述资源向量的匹配值,包括:
利用如下相似算法计算所述业务向量与所述资源向量的匹配值:
其中,J(α,β)为所述业务向量与所述资源向量的匹配值,α为所述业务向量,β为资源向量,|α|为所述业务向量的模长,|β|为资源向量的模长,|α∩β|为所述业务向量与资源向量的交集的模长。
例如,存在业务向量为Q,存在多个资源向量(资源向量1、资源向量2和资源向量3),则分别计算业务向量Q与资源向量1的匹配值、业务向量Q与资源向量2的匹配值和业务向量Q与资源向量3的匹配值。
S6、判断所述匹配值是否小于预设的匹配阈值,若是,则向所述目标用户推送所述资源向量对应的推荐资源。
本发明实施例中,判断所述匹配值与预设的匹配阈值的大小,若所述匹配值是小于预设的匹配阈值,则向所述目标用户推送所述资源向量对应的推荐资源。
详细地,所述向所述目标用户推送所述资源向量对应的推荐资源,包括:
获取所述目标用户的用户id;
将所述用户id编译至预先构建的数据推送语句;
执行所述数据推送语句向所述用户对应的用户端发送数据传输接口的调用请求,得到数据接口状态;
判断所述数据接口状态是否为可接受数据传输的状态,若是,则利用所述数据传输接口将所述距离值小于预设的距离阈值资源向量对应的推荐资源推送至所述用户对应的用户端。
其中,所述用户端为用户可接受到推送消息的设备,例如用户的手机,个人电脑或其它可接受信息的电子设备。当用户端接收到调用请求时,会自动的返回一个布尔值代表当前的数据传输接口的状态,所述布尔值为0或1,0表示当前网址传输接口被占用或处于不可以用状态,1表示当前数据传输接口为可接受数据传输状态。
本发明实施例通过对预设事件的监控实现了实时获取目标用户的用户访问记录,有利于及时监测到用户偏好的变动,进而保证用户偏好改变时对用户推送的资源也会及时进行变更,避免了用户偏好改变时依旧推送用户偏好未改变时的资源,提高了推送内容与用户的匹配度,进而提高了对用户进行个性化资源推送的精确度;通过对用户访问记录进行业务分类,以筛选出目标用户的偏好业务有利于后续根据偏好业务对目标用户进行资源推送,提高资源推送的精确度;对偏好业务和推荐资源进行向量转化,有利于减少利用将偏好向量与推荐资源进行匹配时的计算内存的占用,提高匹配效率。因此本发明提出的资源推送方法,可以解决针对不同用户进行资源推荐时精确度较低的问题。
如图2所示,是本发明一实施例提供的资源推送装置的功能模块图。
本发明所述资源推送装置100可以安装于电子设备中。根据实现的功能,所述资源推送装置100可以包括记录获取模块101、业务筛选模块102、第一向量转化模块103、第二向量转化模块104、向量匹配模块105和资源推送模块106。本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
所述记录获取模块101,用于实时获取目标用户的用户访问记录。
本发明实施例中,所述目标用户的用户访问记录可由预先安装于app应用中具有定时数据采集功能的sdk组件等获取所述目标用户的用户访问记录,所述sdk组件中预先安装有定时任务,可在用户使用app应用时定时自动记录用户的访问行为等数据,如用户id、用户访问的业务类型、用户访问不同业务时的访问时长等。
详细地,所述记录获取模块101具体用于:
监测所述目标用户的在线状态;
当所述用户的在线状态为在线时,利用预先构建的定时任务实时获取所述目标用户的用户访问记录。
具体地,所述监测所述目标用户的在线状态,包括:
监测预设类型事件,根据监听到的预设类型事件,执行会话创建操作;
根据所述会话创建操作,判断用户的在线状态。
本发明实施例中,所述预设类型事件包括但不限于用户登录事件、用户退出事件、管理员强制退出事件。
详细地,本发明实施例通过下述方法进行预设类型事件的监听:
1、用户打开用户端时,向预先安装的sdk组件发送用户登录请求,sdk组件收到了所述用户登录请求时,确定监听到了用户登录事件;
2、用户端手动点了关闭按钮时向的sdk组件发送一条退出用户端请求,sdk组件收到所述退出用户端请求时,确定监听到了用户退出事件;
3、管理员根据需要,向sdk组件发送强制退出用户端请求,sdk组件收到管理员发送的所述强制退出用户端请求时,确定监听到了管理员强制退出事件。
具体地,在监测到预设类型事件时,本发明实施例在用户端本地创建与监测到的预设类型事件相应的对话,例如,监听到用户登录事件时,在用户端的本地创建用户在线对话,此时用户的在线状态为在线;监听到用户退出事件时,在用户端的本地创建用户退出事件对话,此时用户的在线状态为不在线;监听到管理员强制退出事件是,在用户端的本地创建管理员强制退出事件对话,此时用户的在线状态为不在线。
进一步地,所述利用预先构建的定时任务实时获取所述目标用户的用户访问记录,包括:
获取自定义处理函数;
利用所述自定义处理函数构建规则表达式;
利用所述规则表达式定时采集所述用户访问记录。
具体地,所述自定义处理函数包括但不限于以下一项或多项:
IF函数,用于判断采集条件;
TO_DATE函数,用于表示日期与时间;
U_TIME函数,用于自定义采集的时间;
U_DIV函数,用于检测用户访问记录的产生环境。
详细地,所述利用所述自定义处理函数构建规则表达式,包括:
获取与预设采集时间对应的自定义处理函数;
检测所述用户访问记录的产生环境;
通过与所述产生境对应的编译器对所述自定义处理函数进行编译,得到所述规则表达式。本发明实施例通过定时任务实时获取目标用户的用户访问记录,可提高用户访问记录获取的实时性及真实性,有利于及时监测到用户偏好的变动,避免了用户偏好改变时依旧推送用户偏好未改变时的资源,提高了推送内容与用户的匹配度,进而提高了对用户进行个性化资源推送的精确度。
所述业务筛选模块102,用于对所述用户访问记录进行业务分类,并根据业务分类结果筛选所述目标用户的偏好业务。
本发明实施例中,所述业务筛选模块102具体用于:
分别计算用户访问记录与预设的业务标签的距离值;
确定所述距离值小于预设的距离阈值的业务标签为所述用户访问记录的业务类型;
提取所述业务分类结果中目标用户对不同类型业务的浏览时长;
遍历所述业务分类结果并统计所述业务分类结果中不同类型业务出现的业务次数;
根据所述浏览时长及所述业务次数计算得到所述目标用户对不同类型业务的偏好程度,确定所述偏好程度大于预设的偏好阈值的业务类型为所述目标用户的偏好业务。
详细地,预设的业务标签为根据app应用能够实现的业务所预先设定的标签,例如,app应用可实现商品查询业务,则所有商品查询业务产生的用户访问记录的业务标签均可设定为查询业务标签;app应用可实现订单生成业务,则所有订单生成业务产生的用户访问记录的业务标签均可设定为订单标签。
本发明实施例通过计算被选取的用户访问记录与预设的业务标签的距离值,来实现对用户访问记录进行业务分类。
例如,存在业务标签1,业务标签2和业务标签3;存在用户访问记录中包含用户访问记录a,用户访问记录b和用户访问记录c三个用户访问记录。计算用户访问记录a与三个预设的业务标签的距离值,得到用户访问记录a与业务标签1的距离值为20,用户访问记录a与业务标签2的距离值为60,用户访问记录a与业务标签3的距离值为90,则确定用户访问记录a的业务类型为业务标签3。
同理,继续分别计算用户访问记录b和业务标签1,业务标签2和业务标签3的距离值,及用户访问记录c与业务标签1,业务标签2和业务标签3的距离值,根据距离值确定用户访问记录b和用户访问记录c的业务类型。
详细地,所述分别计算所述用户访问记录中未被选取的用户访问记录与所述多个簇心记录的距离,包括:
利用如下距离算法计算所述用户访问记录与所述预设的业务标签的距离d(A,B)
d(A,B)
其中,A为任一所述用户访问记录,B为任一预设的业务标签。
本发明实施例通过对用户访问记录进行业务分类,有利于后续针对不同的业务分析出用户的偏好,提高后续对用户进行资源推送的精确度。
本发明实施例中,所述提取所述业务分类结果中目标用户对不同类型业务的浏览时长,包括:
利用如下时长提取算法提取所述业务分类结果中目标用户对不同类型业务的浏览时长:
其中,b
进一步地,所述根据所述浏览时长及所述业务次数计算得到所述目标用户对不同类型业务的偏好程度,包括:
利用如下偏好算法计算得到所述目标用户对不同类型业务的偏好程度S:
S=α×click
其中,click
本发明实施例确定所述偏好程度大于预设的偏好阈值的业务类型为所述目标用户的偏好业务。
本发明实施例通过对用户访问记录进行业务分类,以筛选出目标用户的偏好业务有利于后续根据偏好业务对目标用户进行资源推送,提高资源推送的精确度。
所述第一向量转化模块103,用于对所述偏好业务进行向量转化,并从向量转化结果中筛选所述偏好业务的业务向量。
本发明实施例中,所述第一向量转化模块103具体用于:
对所述偏好业务进行数据采样,得到采样数据;
对所述采样数据进行词向量转化,得到词向量集;
计算所述词向量集中各词向量的特征值;
将所述词向量集中各词向量按照所述特征值从大到小进行排序,得到特征序列;
按照从前向后的顺序从所述特征序列中选取预设数量的词向量作为业务向量。
本发明实施例中,所述对所述偏好业务进行数据采样是指对偏好业务中的内容进行采样,采样的方法包括但不限于等间距采样法和随机采样法。
进一步地,本发明实施例利用具有词向量转化功能的卷积神经网络对所述采样数据进行词向量转化,得到词向量集。
详细地,所述对所述采样数据进行词向量转化,得到词向量集,包括:
获取训练采样数据,以及所述训练采样数据对应的标准词向量;
利用卷积神经网络对所述训练采样数据进行词向量转化,得到转化词向量;
计算所述转化词向量和所述标准词向量的误差值;
若所述转化词向量与所述标准词向量的误差值大于预设误差,则调整所述卷积神经网络的参数后,再次进行词向量转化;
若所述转化词向量与所述标准词向量的误差值小于所述预设误差,则确认训练完成,获取训练完成的卷积神经网络;
利用所述训练完成的卷积神经网络对所述采样数据进行词向量转化,得到词向量集。
详细地,本发明实施例利用如下损失函数计算所述转化词向量和所述标准词向量的误差值
其中,
本发明实施例中,利用梯度下降算法调整所述卷积神经网络的参数,所述梯度下降算法包括但不限批量梯度下降算法、随机梯度下降算法和小批量梯度下降算法。
进一步地,所述计算所述词向量集中各词向量的特征值,包括:
利用如下特征值算法按计算所述词向量集中各词向量的特征值:
其中,m为词向量集中词向量的数量,p
本发明实施例将所述词向量集中各词向量按照所述特征值从大到小进行排序,得到特征序列;从所述特征序列中按照从前向后的顺序选取预设数量的词向量作为业务特征。
本发明实施例对偏好业务进行向量转化,并从向量转化结果中筛选得到偏好业务的业务向量,实现了对偏好业务的向量化,有利于减少后续利用将偏好向量与推荐资源进行匹配时的计算内存的占用,提高匹配效率。
所述第二向量转化模块104,用于获取推荐资源,提取所述推荐资源的资源关键词,将所述资源关键词转化所述推荐资源的资源向量。
本发明实施例中,所述推荐资源包括与不同业务分别对应的广告资源,例如,对于购物app应用的商品查询业务,所述推荐资源包括热门商品、热门活动和商品折扣信息等;对于外卖app的订单业务,所述推荐资源包括热门店铺、新增店铺和店铺排行数据等。
本发明实施例中,可利用具有数据抓取功能的python语句从用于存储推荐资源的区块链节点中获取所述推荐资源,利用区块链对数据的高吞吐性,可高获取所述推荐数据的效率。
详细地,所述第二向量转化模块104具体用于:
获取推荐资源;
对所述推荐资源进行分词处理,得到资源分词集;
利用指标算法计算所述资源分词集中每个资源分词的分词指标;
确定所述分词指标大于预设的指标阈值的资源分词为所述推荐资源的资源关键词;
将所述资源关键词转化所述推荐资源的资源向量。
本发明实施例中,所述对所述推荐资源进行分词处理,得到资源分词集,包括:
利用预设停用词库删除所述推荐资源包含的停用词;
利用预设标准词库对删除停用词后的推荐资源进行分词处理,得到分词集。
具体地,预设停用词库和预设标准词库为包含多个分词的词库。预设停用词库中存储有多个停用词的分词,例如,“率尔”、“如次”。预设标准词库中包含多个非停用词的分词,例如,“吃饭”、“睡觉”。
本发明实施例对推荐资源进行分词处理,可将长度较大的推荐资源划分为多个分词,通过对多个分词进行分析处理相比直接通过推荐资源进行处理效率和准确性更高。
进一步地,所述利用指标算法计算所述资源分词集中每个资源分词的分词指标,包括:
利用如下指标算法计算所述资源分词集中每个资源分词的分词指标:
TD=TF
其中,TF
本发明实施例中,所述分词指标可代表资源分词在所述资源分词集中的重要程度,因此筛选出分词指标大于预设的指标阈值的资源分词为所述推荐资源的资源关键词。
详细地,所述将所述资源关键词转化所述推荐资源的资源向量的步骤,与所述第一向量转化模块103中对所述采样数据进行词向量转化的步骤一致,在此不做赘述。
所述向量匹配模块105,用于计算所述业务向量与所述资源向量的匹配值。
本发明实施例中,所述计算所述业务向量与所述资源向量的匹配值,包括:
利用如下相似算法计算所述业务向量与所述资源向量的匹配值:
其中,J(α,β)为所述业务向量与所述资源向量的匹配值,α为所述业务向量,β为资源向量,|α|为所述业务向量的模长,|β|为资源向量的模长,|α∩β|为所述业务向量与资源向量的交集的模长。
例如,存在业务向量为Q,存在多个资源向量(资源向量1、资源向量2和资源向量3),则分别计算业务向量Q与资源向量1的匹配值、业务向量Q与资源向量2的匹配值和业务向量Q与资源向量3的匹配值。
所述资源推送模块106,判断所述匹配值是否小于预设的匹配阈值,若是,则向所述目标用户推送所述资源向量对应的推荐资源。
本发明实施例中,判断所述匹配值与预设的匹配阈值的大小,若所述匹配值是小于预设的匹配阈值,则向所述目标用户推送所述资源向量对应的推荐资源。详细地,所述资源推送模块106具体用于:
获取所述目标用户的用户id;
将所述用户id编译至预先构建的数据推送语句;
执行所述数据推送语句向所述用户对应的用户端发送数据传输接口的调用请求,得到数据接口状态;
判断所述数据接口状态是否为可接受数据传输的状态,若是,则利用所述数据传输接口将所述距离值小于预设的距离阈值资源向量对应的推荐资源推送至所述用户对应的用户端。
其中,所述用户端为用户可接受到推送消息的设备,例如用户的手机,个人电脑或其它可接受信息的电子设备。当用户端接收到调用请求时,会自动的返回一个布尔值代表当前的数据传输接口的状态,所述布尔值为0或1,0表示当前网址传输接口被占用或处于不可以用状态,1表示当前数据传输接口为可接受数据传输状态。
本发明实施例通过对预设事件的监控实现了实时获取目标用户的用户访问记录,有利于及时监测到用户偏好的变动,进而保证用户偏好改变时对用户推送的资源也会及时进行变更,避免了用户偏好改变时依旧推送用户偏好未改变时的资源,提高了推送内容与用户的匹配度,进而提高了对用户进行个性化资源推送的精确度;通过对用户访问记录进行业务分类,以筛选出目标用户的偏好业务有利于后续根据偏好业务对目标用户进行资源推送,提高资源推送的精确度;对偏好业务和推荐资源进行向量转化,有利于减少利用将偏好向量与推荐资源进行匹配时的计算内存的占用,提高匹配效率。因此本发明提出的资源推送装置,可以解决针对不同用户进行资源推荐时精确度较低的问题。
如图3所示,是本发明一实施例提供的实现资源推送方法的电子设备的结构示意图。
所述电子设备1可以包括处理器10、存储器11和总线,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如资源推送程序12。
其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(SecureDigital,SD)卡、闪存卡(Flash Card)等。进一步地,所述存储器11还可以既包括电子设备1的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如资源推送程序12的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(Control Unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如资源推送程序等),以及调用存储在所述存储器11内的数据,以执行电子设备1的各种功能和处理数据。
所述总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。
图3仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图3示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述电子设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备1还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
进一步地,所述电子设备1还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备之间建立通信连接。
可选地,该电子设备1还可以包括用户接口,用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述电子设备1中的所述存储器11存储的资源推送程序12是多个指令的组合,在所述处理器10中运行时,可以实现:
实时获取目标用户的用户访问记录;
对所述用户访问记录进行业务分类,并根据业务分类结果筛选所述目标用户的偏好业务;
对所述偏好业务进行向量转化,并从向量转化结果中筛选所述偏好业务的业务向量;
获取推荐资源,提取所述推荐资源的资源关键词,将所述资源关键词转化所述推荐资源的资源向量;
计算所述业务向量与所述资源向量的匹配值;
判断所述匹配值是否小于预设的匹配阈值,若是,则向所述目标用户推送所述资源向量对应的推荐资源。
具体地,所述处理器10对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。所述计算机可读存储介质可以是易失性的,也可以是非易失性的。例如,所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
本发明还提供一种计算机可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序在被电子设备的处理器所执行时,可以实现:
实时获取目标用户的用户访问记录;
对所述用户访问记录进行业务分类,并根据业务分类结果筛选所述目标用户的偏好业务;
对所述偏好业务进行向量转化,并从向量转化结果中筛选所述偏好业务的业务向量;
获取推荐资源,提取所述推荐资源的资源关键词,将所述资源关键词转化所述推荐资源的资源向量;
计算所述业务向量与所述资源向量的匹配值;
判断所述匹配值是否小于预设的匹配阈值,若是,则向所述目标用户推送所述资源向量对应的推荐资源。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
- 视频资源推送方法、视频资源推送装置及存储介质
- 车辆资源推送方法、装置、电子设备和存储介质