发明内容
本申请实施例提供一种资讯推荐方法、装置、推荐服务器及存储介质,能够更加准确的进行资讯推荐。
本申请实施例的第一方面提供了一种资讯推荐方法,包括:
获取不同对象的历史浏览资讯以构建加权图网络;
调用预设算法对所述加权图网络进行随机游走以得到资讯模拟行为序列,将所述资讯模拟行为序列与目标对象资讯序列进行训练以得到资讯表征向量;
根据所述资讯表征向量计算所述不同资讯之间的相似度,将所述相似度超出预设阈值的资讯作为相似资讯保存至相似资讯数据库;
当接收终端发送的推荐请求时,从所述相似资讯数据库中获取与所述终端的历史浏览资讯对应的相似资讯以推荐至所述终端,其中,所述推荐请求携带所述终端的历史浏览资讯。
可选的,所述获取不同对象的历史浏览资讯,包括:
从预设资讯数据库中获取不同对象的初始历史浏览资讯和不同对象的历史浏览资讯时长,所述不同对象的初始历史浏览资讯与所述不同对象的历史浏览资讯时长一一对应;
分别获取所述历史浏览资讯时长超出预设时长的初始历史浏览资讯,以得到所述不同对象的历史浏览资讯。
可选的,所述不同对象的历史浏览资讯至少包括第一历史浏览资讯和第二历史浏览资讯,所述构建加权图网络包括:
获取所述不同对象的历史浏览资讯中包括第一历史浏览资讯和第二历史浏览资讯的对象数量;
将所述第一历史浏览资讯对应所述加权图网络的第一节点,所述第二历史浏览资讯对应所述加权图网络的第二节点,连接所述第一节点和第二节点以得到所述加权图网络,其中所述对象数量为所述第一节点和第二节点的边权重。
可选的,所述调用预设算法对所述加权图网络进行随机游走以得到资讯模拟行为序列,包括:
对所述加权图网络中不同节点的边权重进行归一化处理以得到第一加权图网络;
调用别名采样算法对所述第一加权图网络中不同节点进行随机游走以得到第二加权图网络;
获取所述第二加权图网络中不同节点之间的路径以得到资讯模拟行为序列。
可选的,所述将所述资讯模拟行为序列与目标对象资讯序列进行训练以得到资讯表征向量,包括:
从所述加权图网络中获取所述不同对象的目标对象资讯序列;
将所述资讯模拟行为序列与所述目标对象资讯序列进行聚合以得到训练样本;
将所述训练样本输入至预设训练模型进行训练以得到所述资讯表征向量。
可选的,还包括:
确定训练的损失函数,其中所述损失函数表示为:
其中,
cui=1+αrui;
xu=(YTCuY+λI)-1YTCup(u);
yi=(XTCiX+λI)-1XTCip(i);
pui表示对象i对资讯u的置信度,rui为历史浏览资讯时长因子;cui表示对象i对资讯u的信任度,其中,α为信任度系数;λ为系数,xu表示对象的表征向量,yi表示资讯表征向量。
进一步地,所述终端的历史浏览资讯包括第三历史浏览资讯和第四历史浏览资讯,所述从所述相似资讯数据库中获取与所述终端的历史浏览资讯对应的相似资讯,包括:
分别从所述相似资讯数据库中获取与所述第三历史浏览资讯相似的M个资讯,并从所述相似资讯数据库中获取与所述第四历史浏览资讯相似的N个资讯,其中,M、N均为正整数;
确认所述M个资讯和所述N个资讯中是否存在相同资讯;
若存在相同资讯,则将所述相同资讯作为与所述终端的历史浏览资讯对应的相似资讯。
本申请实施例的第二方面提供了一种资讯推荐装置,包括:
构建加权图网络模块,用于获取不同对象的历史浏览资讯以构建加权图网络;
随机游走模块,用于调用预设算法对所述加权图网络进行随机游走以得到资讯模拟行为序列,将所述资讯模拟行为序列与目标对象资讯序列进行训练以得到资讯表征向量;
相似资讯获取模块,用于根据所述资讯表征向量计算所述不同资讯之间的相似度,将所述相似度超出预设阈值的资讯作为相似资讯保存至相似资讯数据库;
推荐模块,用于当接收终端发送的推荐请求时,从所述相似资讯数据库中获取与所述终端的历史浏览资讯对应的相似资讯以推荐至所述终端,其中,所述推荐请求携带所述终端的历史浏览资讯。
本申请实施例的第三方面提供了一种资讯推荐服务器,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行所述的方法。
本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现所述的方法。
实施本申请实施例,至少具有如下有益效果:
通过本申请实施例,先获取不同对象的历史浏览资讯以构建加权图网络,然后调用预设算法对该加权图网络进行随机游走以得到资讯模拟行为序列,通过将资讯模拟行为序列与目标对象资讯序列进行训练以得到资讯表征向量;基于资讯表征向量计算不同资讯之间的相似度,将相似度超出预设阈值的资讯作为相似资讯保存至相似资讯数据库;然后在接收终端发送的推荐请求时,从该相似资讯数据库中获取对应的相似资讯推荐至该终端。采用上述手段,可通过丰富资讯如新资讯的训练数据,使得更加准确的得到资讯的表征向量,进而提升了资讯推荐的覆盖度,有效的为对象推荐其感兴趣的资讯,解决了现有技术中协同过滤算法存在的问题,同时提高了用户体验。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本申请所描述的实施例可以与其它实施例相结合。
本发明实施例提供一种资讯推荐方法,基于现有技术中在进行资讯推荐时采用协同过滤算法进行相似度计算,然而该算法对于对象较少的新资讯来说,推荐不够准确,覆盖度较低,本方案基于此提出一种新的资讯推荐方法,提升了资讯推荐的覆盖度,有效的为对象推荐其感兴趣的资讯,解决了现有技术中协同过滤算法存在的问题;其中,本申请中所涉及的对象可以为阅读过资讯的用户。
请参阅图1,图1为本申请实施例提供了一种网络架构示意图。该网络架构可以包括多个服务器以及多个终端设备,如图1所示,具体包括终端设备100a、终端设备100b、终端设备100c、服务器200a、服务器200b,服务器200a可以通过网络与每个终端设备进行数据传输,每个终端设备均可以安装阅读资讯类应用(如今日头条),服务器200a可以为阅读资讯类应用对应的后台服务器,因此,每个终端设备均可以通过该阅读资讯类应用对应的客户端与服务器200a进行数据传输,如服务器200a可以向每个终端设备发送推荐信息,服务器200b可以为数据处理服务器,也可以称为资讯推荐服务器,即可以为每个终端设备确定不同的资讯推荐数据,服务器200b可以通过服务器200a与多个终端设备进行数据传输。终端设备可以包括手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internetdevice,MID)、可穿戴设备(例如智能手表、智能手环等)。每个终端设备都可以在该阅读资讯类应用对应的客户端中显示推荐信息流即推荐资讯。
其中,每个终端设备中显示的推荐信息流所包含的信息可以是不同的,推荐信息流所包含的具体信息可以由终端设备对应的对象历史行为来确定,对象历史行为可以表示为用户在当前时刻之前,在阅读资讯类应用对应的客户端中的每一次点击、阅读、阅读时间、下载等操作。具体请一并参见图2,是本发明实施例提供的一种资讯推荐方法的场景示意图。如图2所示,该场景以图1所对应实施例中的终端设备100a为例,服务器200可包括图1所对应实施例中的服务器200a和服务器200b,终端设备100a在打开阅读资讯类应用界面后,首先在终端显示界面中可以显示阅读资讯类应用的默认首页,在该首页中,可以显示若干功能选项,如分别表示为“热点”选项、“推荐”选项、“视频”选项、“娱乐”选项,当对象选择“推荐”选项400时,可以跳转到“推荐”选项400对应的展示页面,此时展示页面中的显示区域300a中还未显示推荐信息,因此终端设备100a可以响应对象针对该“推荐”选项400的选择操作,向服务器200发送信息流访问请求,以请求获取资讯推荐。服务器200可以根据信息流访问请求确定发出请求的终端设备100a对应的设备号或者对象标识信息等,即确定即将请求的对象,服务器200进一步获取该对象对应的历史行为数据,并根据历史行为数据确定该对象对应的历史浏览资讯,进而可以将服务器200计算得到的预设资讯数据库对应的相似资讯数据库中,与该对象所浏览的历史浏览资讯对应的相似资讯推荐给终端,其中可包括将所得相似资讯生成推荐栏展示在显示区域300a,其中,推荐栏中包括相应资讯标题301a以及推荐网址来源信息302a。需要说明的是,服务器200可以对阅读资讯类应用所包含的所有对象的历史浏览咨询进行相似度分析,离线计算所有资讯之间的相似度,得到相似资讯数据库,以便进行相应资讯的推荐。
请参阅图3,图3为本申请实施例提供了一种资讯推荐方法的交互示意图。如图3所示,其可包括步骤301-304,具体如下:
301、获取不同对象的历史浏览资讯以构建加权图网络;
可选的,服务器获取大量的对象历史行为日志,该历史行为日志包括用户的历史浏览资讯信息,具体可包括对应用户浏览不同资讯的时长信息,浏览不同咨询的次数等。
其中服务器可从以下数据源中获取对象历史行为日志,如查看各种新闻频道包括娱乐频道、科技频道和体育频道等的历史数据,或者从QQ浏览器中的搜索日志、TT浏览器中的搜索日志或其他任意浏览器或搜索引擎中的搜索日志,或者从社交平台可包括微博、贴吧、讨论组等获取到关注的资讯,具体根据实际应用场景确定,在此不做限制。
具体地,服务器从预设资讯数据库中获取不同对象的浏览资讯数据,可以是预设时间内的浏览资讯数据,如最近三个月,或者一年等时间段内的大量对象的浏览资讯数据,以得到不同对象的历史浏览资讯,然后根据该不同对象的历史浏览资讯来构建加权图网络。该预设资讯数据库包含了大量对象的历史浏览资讯数据,如包括对应资讯的浏览时间,浏览时长,浏览次数,以及设备号等;
其中,加权图网络为一种抽象的网络模型,其对应的每一条边分别对应有一个实数(边权重),这样的图即为加权图网络。根据获取的对象行为信息来构建加权图网络结构,捕捉网络连接的多样性,便于挖掘潜在关系。
进一步,所述获取不同对象的历史浏览资讯包括:从预设资讯数据库中获取不同对象的初始历史浏览资讯和不同对象的历史浏览资讯时长,所述不同对象的初始历史浏览资讯与所述不同对象的历史浏览资讯时长一一对应;分别获取所述历史浏览资讯时长超出预设时长的初始历史浏览资讯,以得到所述不同对象的历史浏览资讯。
通过在构建加权图网络之前对获取的资讯数据进行处理,过滤掉浏览时长较短的资讯,或者过滤掉浏览次数较少或者超出浏览次数上限的等,具体地,可为对象设定一个点击行为发生次数的上限和下限阈值,只保留在阈值范围的对象设备,以得到清洗后的训练数据,便于获取更加有效的资讯数据来构建加权图网络,提高训练模型的准确度。
302、调用预设算法对所述加权图网络进行随机游走以得到资讯模拟行为序列,将所述资讯模拟行为序列与目标对象资讯序列进行训练以得到资讯表征向量;
由于新资讯在冷启动过程中,能获取到的对象行为较少,为了更好的计算这类新资讯的表征向量,需要根据构建加权图网络进行随机游走。
随机游走也称随机漫步,随机行走等是指基于过去的表现,无法预测将来的发展步骤和方向。核心概念是指任何无规则行走者所带的守恒量都各自对应着一个扩散运输定律,接近于布朗运动,是布朗运动理想的数学状态。
通过对所述加权图网络进行随机游走,可对于基于新资讯等对应对象浏览数量较少的资讯进行随机游走,使得丰富了新资讯等的覆盖度,扩充得到图网络中资讯间路径的多种可能性,提升了训练数据的丰富完整性,使得更加准确的得到新资讯的表征向量。该手段在不丢失真实信息的基础上,通过模拟对象行为,有效提高了新资讯表征向量计算的准确性。
其中,目标对象资讯序列为从所述加权图网络中可直接得到的对象资讯序列,目标对象资讯序列可以理解为真实的用户资讯序列。
303、根据所述资讯表征向量计算所述不同资讯之间的相似度,将所述相似度超出预设阈值的资讯作为相似资讯保存至相似资讯数据库;
该相似度计算可以是采用余弦相似性计算以得到相似度,可通过设定预设阈值以得到相似度较高的相似资讯,如可设置预设阈值为70%,80%等等。进一步,还可以设定相似资讯数上限,如设定每条资讯的相似资讯数不超过5条,则可根据相似度大小进行排序,对于超出5条的,则优先选取相似度高的资讯作为对应的相似资讯。
通过将不同资讯的相似资讯进行存储至相似资讯数据库,便于实时获取,提高了推荐的效率。
304、当接收终端发送的推荐请求时,从所述相似资讯数据库中获取与所述终端的历史浏览资讯对应的相似资讯以推荐至所述终端,其中,所述推荐请求携带所述终端的历史浏览资讯。
在接收到终端的推荐请求后,可选的,可对终端的历史浏览资讯进行预处理,如对获取的终端的历史浏览资讯中浏览次数少于预设次数或者浏览时长较短的进行过滤,以保留对资讯推荐影响大的有效历史浏览资讯,使得推荐更加准确。
通过本申请实施例,先获取不同对象的历史浏览资讯以构建加权图网络,然后调用预设算法对该加权图网络进行随机游走以得到资讯模拟行为序列,通过将资讯模拟行为序列与目标对象资讯序列进行训练以得到资讯表征向量;基于资讯表征向量计算不同资讯之间的相似度,将相似度超出预设阈值的资讯作为相似资讯保存至相似资讯数据库;然后在接收终端发送的推荐请求时,从该相似资讯数据库中获取对应的相似资讯推荐至该终端。采用上述手段,可通过丰富资讯如新资讯的训练数据,使得更加准确的得到资讯的表征向量,进而提升了资讯推荐的覆盖度,有效的为对象推荐其感兴趣的资讯,解决了现有技术中协同过滤算法存在的问题,同时提高了用户体验。
请参阅图4,图4为本申请实施例提供了一种资讯推荐方法的流程示意图。如图所示,其可包括步骤401-410,具体如下:
401、从预设资讯数据库中获取不同对象的初始历史浏览资讯和不同对象的历史浏览资讯时长,所述不同对象的初始历史浏览资讯与所述不同对象的历史浏览资讯时长一一对应;
402、分别获取所述历史浏览资讯时长超出预设时长的初始历史浏览资讯,以得到所述不同对象的历史浏览资讯;
获取不同对象的大量初始历史浏览资讯,然后对浏览时长较短的初始历史浏览资讯进行过滤清除,仅保留历史浏览资讯时长超出预设时长的初始历史浏览资讯作为不同对象的历史浏览资讯。
403、根据所述不同对象的历史浏览资讯构建加权图网络;
所述不同对象的历史浏览资讯至少包括第一历史浏览资讯和第二历史浏览资讯,所述步骤403可包括:
A11获取所述不同对象的历史浏览资讯中包括第一历史浏览资讯和第二历史浏览资讯的对象数量;
A12将所述第一历史浏览资讯对应所述加权图网络的第一节点,所述第二历史浏览资讯对应所述加权图网络的第二节点,连接所述第一节点和第二节点以得到所述加权图网络,其中所述对象数量为所述第一节点和第二节点的边权重。
优选的,如可通过计算同时浏览资讯A和资讯B的共同对象数目来作为资讯A和资讯B的边权重,从而通过分析全局的对象行为以构建得到加权图网络结构。具体地,如获取到同时浏览资讯A和资讯B的共同对象数目为X1,同时浏览资讯A和资讯C的共同对象数目为X2,同时浏览资讯B和资讯D的共同对象数目为X3···,则将资讯A对应加权图网络的第一节点,将资讯B对应加权图网络的第二节点,资讯C对应加权图网络的第三节点,资讯D对应加权图网络的第四节点,则基于资讯A和资讯B存在共同浏览对象,因此连接第一节点和第二节点,然后基于资讯A和资讯C存在共同浏览对象,因此连接第一节点和第三节点,基于资讯B和资讯D存在共同浏览对象,因此连接第二节点和第四节点···,依次类推,通过分析全局的对象历史浏览资讯行为进而构建得到所述加权图网络,其中,所述加权图网络的边权重即为对应的共同对象数目。
404、对所述加权图网络中不同节点的边权重进行归一化处理以得到第一加权图网络;
405、调用别名采样算法对所述第一加权图网络中不同节点进行随机游走以得到第二加权图网络;
如获取到新资讯P只有与资讯D存在共同对象,则为了丰富新资讯的训练数据,对所得第一加权图网络中对应新资讯P的节点进行随机游走,如可以将对应资讯P的节点随机的与对应资讯A,资讯B,资讯C的节点分别建立连接等。参照图5为对应新资讯V的随机游走得到的加权图网络结构示意图。对于新资讯V其可以随机游走到资讯X1,资讯X2,资讯X3及资讯X4等。
406、获取所述第二加权图网络中不同节点之间的路径以得到资讯模拟行为序列;
所述资讯模拟行为序列可表示为从对应资讯A的节点到对应资讯B的节点再到对应资讯D的节点等等,即为所述第二加权图网络中所展示的多种可能路径;
407、从所述加权图网络中获取所述不同对象的目标对象资讯序列;
所述目标对象资讯序列即为获取到的对应对象的真实资讯路径;
408、采用加权交替最小二乘法对所述资讯模拟行为序列与所述目标对象资讯序列进行训练以得到所述资讯表征向量;
具体地,将所述资讯模拟行为序列与所述目标对象资讯序列进行聚合以得到训练样本,通过聚合达到扩充样本,同时融合真实信息使得得到的资讯表征向量更加真实。将训练样本输入到预设训练模型中进行训练,其中可采用加权最小二乘法进行训练,该预设训练模型可以是神经网络模型等,此处不做限制,通过训练得到所述资讯表征向量。
采用加权交替最小二乘法对所述资讯模拟行为序列与所述目标对象资讯序列进行训练以得到所述资讯表征向量,该手段在不丢失真实信息的基础上,通过模拟对象行为,大大提高了新资讯表征向量计算的准确性。
进一步,在进行上述训练之前,包括确定损失函数,其中,W-ALS是一种隐式反馈推荐的研究方法,采用隐式反馈的损失函数L可表示为:
其中,
cui=1+αrui;
xu=(YTCuY+λI)-1YTCup(u);
yi=(XTCiX+λI)-1XTCip(i);
其中,pui表示对象i对资讯u的置信度,rui为历史浏览资讯时长因子;cui表示对象i对资讯u的信任度,其中,α为信任度系数;λ为系数,xu表示对象的表征向量,yi表示资讯表征向量。
在上述训练中引入对象浏览时长信息,使得在训练表征向量时时长因子作为W-ALS的权重因子,能够有效区分对象对不同资讯的偏好程度,从而使得训练得到的表征向量更加准确。
409、根据所述资讯表征向量计算所述不同资讯之间的相似度,将所述相似度超出预设阈值的资讯作为相似资讯保存至相似资讯数据库;
资讯A和资讯B之间的相似度s的计算公式可表示为:
其中,j,n均为对应资讯A和资讯B的表征向量的维度大小。
可选的,通过计算余弦相似性得到资讯间的相似度,如通过设定相似度阈值及相似资讯的条数上限,最终得到每篇资讯的相关资讯列表及相似度,并将计算结果存储以便进行在线推荐,如可存在在Redis里等。
410、当接收终端发送的推荐请求时,从所述相似资讯数据库中获取与所述终端的历史浏览资讯对应的相似资讯以推荐至所述终端,其中,所述推荐请求携带所述终端的历史浏览资讯。
可选的,可通过接收终端的推荐请求,该推荐请求携带了所述终端的历史浏览资讯以便进行相应推荐,或者,可获取所述终端的设备号等,以便从所述预设资讯数据库中获取对应所述终端的历史浏览资讯等。
进一步,当所述终端的历史浏览资讯包括若干个时,当获取到多个相似资讯时,可对多个相似资讯基于相似度大小进行排序,以便向终端推荐相似度极高的资讯;
或者可对相似资讯的选取设定进一步的选取条件,如:
所述终端的历史浏览资讯包括第三历史浏览资讯和第四历史浏览资讯,所述从所述相似资讯数据库中获取与所述终端的历史浏览资讯对应的相似资讯,包括:
分别从所述相似资讯数据库中获取与所述第三历史浏览资讯相似的M个资讯,并从所述相似资讯数据库中获取与所述第四历史浏览资讯相似的N个资讯,其中,M、N均为正整数;
确认所述M个资讯和所述N个资讯中是否存在相同资讯;
若存在相同资讯,则将所述相同资讯作为与所述终端的历史浏览资讯对应的相似资讯。
通过本申请实施例,将加权交替最小二乘法与网络表示学习相结合,通过在训练中有效利用对象浏览时长信息,进一步提升了表征向量的准确性;同时通过合理控制如低点击频次资讯的随机游走过程,模拟丰富新资讯的训练数据,使得更加准确的得到新资讯的表征向量,进而提高资讯推荐覆盖度,及时、合理、有效的为对象推荐出其感兴趣的资讯内容,有效解决了传统协同过滤算法存在的问题。
请参阅图6,图6为本申请实施例提供的一种资讯推荐装置的结构示意图。其中服务器可以对阅读资讯类应用所包含的所有对象的历史浏览咨询进行相似度分析,离线计算所有资讯之间的相似度,得到相似资讯数据库,以便进行资讯推荐。如图6所示,该资讯推荐装置包括在线推荐模块601和离线算法模块602,其中,所述在线推荐模块601接收终端发送的推荐请求,所述推荐请求携带终端的历史浏览资讯,所述在线推荐模块601将所述历史浏览资讯发送至离线算法模块602,其中离线算法模块602基于得到的预设相似资讯数据库,获取与所述历史浏览资讯对应的相似资讯,并将所述相似资讯发送给所述在线推荐模块601,然后所述在线推荐模块601将所述相似资讯推荐至所述终端。
具体地,所述在线推荐模块601包括执行:
接收终端发送的推荐请求,所述推荐请求携带终端的历史浏览资讯;
将所述历史浏览资讯发送至离线算法模块602;
接收所述离线算法模块602发送的与所述历史浏览资讯对应的相似资讯;
将所述与所述历史浏览资讯对应的相似资讯推荐至所述终端。
所述离线算法模块602包括执行:
获取不同对象的历史浏览资讯以构建加权图网络;
调用预设算法对所述加权图网络进行随机游走以得到资讯模拟行为序列,将所述资讯模拟行为序列与目标对象资讯序列进行训练以得到资讯表征向量;
根据所述资讯表征向量计算所述不同资讯之间的相似度,将所述相似度超出预设阈值的资讯作为相似资讯保存至相似资讯数据库。
优选的,如图7所示,图7是本申请实施例提供的离线算法模块所执行的流程示意图。所述离线算法模块602首先基于大量对象行为进行日志提取,通过对线上用户各类行为的收集,对原始日志进行有效提取,如提取日志中涉及用户浏览资讯的日志数据,还可以包括对应的终端设备号,以及相应资讯的浏览时长信息等;然后对数据进行预处理,如为了保障资讯的覆盖度,对用户维度的脏数据进行清洗,如对于任意资讯的用户点击次数设定上限和下限,只保留点击次数在上下限区间内的资讯数据;然后根据预处理后的对象行为信息,构建加权图网络结构;然后为了更好的计算新资讯的表征向量,对加权图网络进行随机游走;将随机游走得到一定数目的资讯模拟行为序列与目标对象资讯序列采用加权交替最小二乘法进一步训练得到资讯的表征向量;基于所得资讯的表征向量计算资讯间的相似度,以得到不同资讯的相似资讯。
需要说明的是,本申请的实施例在具体实践应用场景中,需要符合当地的法律法规,在前述方案的基础上可以预先获得相应对象的许可,例如:服务器在获取不同对象的历史浏览资讯、目标对象资讯序列、对象行为信息、对象浏览时长信息等数据时,是在保证用户信息安全且获得相应用户许可的前提下进行的。
通过本申请实施例,先获取不同对象的历史浏览资讯以构建加权图网络,然后调用预设算法对该加权图网络进行随机游走以得到资讯模拟行为序列,通过将资讯模拟行为序列与目标对象资讯序列进行训练以得到资讯表征向量;基于资讯表征向量计算不同资讯之间的相似度,将相似度超出预设阈值的资讯作为相似资讯保存至相似资讯数据库;然后在接收终端发送的推荐请求时,从该相似资讯数据库中获取对应的相似资讯推荐至该终端。采用上述手段,可通过丰富资讯如新资讯的训练数据,使得更加准确的得到资讯的表征向量,进而提升了资讯推荐的覆盖度,有效的为对象推荐其感兴趣的资讯,解决了现有技术中协同过滤算法存在的问题,同时提高了用户体验。
与上述实施例一致的,请参阅图8,图8为本申请实施例提供的一种资讯推荐服务器的结构示意图,如图所示,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,上述程序包括用于执行以下步骤的指令;
获取不同对象的历史浏览资讯以构建加权图网络;
调用预设算法对所述加权图网络进行随机游走以得到资讯模拟行为序列,将所述资讯模拟行为序列与目标对象资讯序列进行训练以得到资讯表征向量;
根据所述资讯表征向量计算所述不同资讯之间的相似度,将所述相似度超出预设阈值的资讯作为相似资讯保存至相似资讯数据库;
当接收终端发送的推荐请求时,从所述相似资讯数据库中获取与所述终端的历史浏览资讯对应的相似资讯以推荐至所述终端,其中,所述推荐请求携带所述终端的历史浏览资讯。
通过本申请实施例,先获取不同对象的历史浏览资讯以构建加权图网络,然后调用预设算法对该加权图网络进行随机游走以得到资讯模拟行为序列,通过将资讯模拟行为序列与目标对象资讯序列进行训练以得到资讯表征向量;基于资讯表征向量计算不同资讯之间的相似度,将相似度超出预设阈值的资讯作为相似资讯保存至相似资讯数据库;然后在接收终端发送的推荐请求时,从该相似资讯数据库中获取对应的相似资讯推荐至该终端。采用上述手段,可通过丰富资讯如新资讯的训练数据,使得更加准确的得到资讯的表征向量,进而提升了资讯推荐的覆盖度,有效的为对象推荐其感兴趣的资讯,解决了现有技术中协同过滤算法存在的问题,同时提高了用户体验。
上述主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,终端为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所提供的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对终端进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
与上述一致的,请参阅图9,图9为本申请实施例提供了一种资讯推荐装置的结构示意图。其包括构建加权图网络模块901、随机游走模块902、相似资讯获取模块903和推荐模块904,其中具体如下:
构建加权图网络模块901,用于获取不同对象的历史浏览资讯以构建加权图网络;
随机游走模块902,用于调用预设算法对所述加权图网络进行随机游走以得到资讯模拟行为序列,将所述资讯模拟行为序列与目标对象资讯序列进行训练以得到资讯表征向量;
相似资讯获取模块903,用于根据所述资讯表征向量计算所述不同资讯之间的相似度,将所述相似度超出预设阈值的资讯作为相似资讯保存至相似资讯数据库;
推荐模块904,用于当接收终端发送的推荐请求时,从所述相似资讯数据库中获取与所述终端的历史浏览资讯对应的相似资讯以推荐至所述终端,其中,所述推荐请求携带所述终端的历史浏览资讯。
可以看出,通过本申请实施例,先获取不同对象的历史浏览资讯以构建加权图网络,然后调用预设算法对该加权图网络进行随机游走以得到资讯模拟行为序列,通过将资讯模拟行为序列与目标对象资讯序列进行训练以得到资讯表征向量;基于资讯表征向量计算不同资讯之间的相似度,将相似度超出预设阈值的资讯作为相似资讯保存至相似资讯数据库;然后在接收终端发送的推荐请求时,从该相似资讯数据库中获取对应的相似资讯推荐至该终端。采用上述手段,可通过丰富资讯如新资讯的训练数据,使得更加准确的得到资讯的表征向量,进而提升了资讯推荐的覆盖度,有效的为对象推荐其感兴趣的资讯,解决了现有技术中协同过滤算法存在的问题,同时提高了用户体验。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任何一种资讯推荐方法的部分或全部步骤。
本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,该计算机程序使得计算机执行如上述方法实施例中记载的任何一种资讯推荐方法的部分或全部步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在申请明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器、随机存取器、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。