本申请总的来说涉及数据处理领域,且更为具体地,涉及一种用于推荐系统的数据处理方法、数据处理装置和电子设备。
背景技术:
随着互联网技术的发展和普及,越来越多的信息满足了用户在信息时代对信息的需求,但是,随着网上信息量的大幅增长,使得用户在面对大量信息时无法从中获得对自己真正有用的那部分信息,对信息的使用效率反而降低了。
推荐系统可以根据用户的信息需求、兴趣等,将用户感兴趣的信息、产品等推荐给用户。一般来说,推荐系统根据系统历史数据挖掘并结构化用户数据和项目评分数据,然后根据用户历史评分数据对未评分项目进行评分预测,基于这种预测系统向用户生成项目推荐。
在推荐系统中应用了大量的算法,并发挥着巨大的作用,其中不少算法的应用非常成功,应用领域也很广。但是,这些算法也在不同方面,例如鲁棒性、可预测性方面存在不足。
因此,需要改进的用于推荐系统的数据处理方案。
技术实现要素:
为了解决上述技术问题,提出了本申请。本申请的实施例提供了一种用于推荐系统的数据处理方法、数据处理装置和电子设备,其通过结合隐马尔可夫模型和后向传播神经网络,可以改进推荐系统的适应性和推荐质量。
根据本申请的一方面,提供了一种用于推荐系统的数据处理方法,包括:获取用户项目序列和上下文三元组数据,所述上下文三元组数据是以用户、项目、评分的三元组表示用户历史评分的数据;将所述用户项目序列作为隐马尔可夫模型的观测状态,将所述上下文三元组数据作为所述隐马尔可夫模型的隐藏状态设置所述隐马尔可夫模型;将所述用户项目序列设置为观察符号序列,并通过逆向传播神经网络对所述观察符号序列进行识别以输出观察符号的后验概率;以及,通过将所述观察符号的后验概率输入所述隐马尔可夫模型而对所述隐马尔可夫模型进行参数更新。
在上述用于推荐系统的数据处理方法中,获取用户项目序列和上下文三元组数据包括:通过用户对项目的评分组成的最频繁三元组输入用户评分集合,提取出最频繁的三元组用户评分分布上下文作为所述上下文三元组数据。
在上述用于推荐系统的数据处理方法中,设置所述隐马尔可夫模型是采用最大互信息准则进行隐马尔可夫模型的参数更新,包括:进行小样本下的有监督学习参数估计;以及,根据有监督训练结果初始化所述隐马尔可夫模型的状态概率向量,评分概率,项目概率和状态转移概率。
在上述用于推荐系统的数据处理方法中,所述逆向传播神经网络的作用函数为sigmoid函数。
在上述用于推荐系统的数据处理方法中,对所述隐马尔可夫模型进行参数更新包括:采用随机梯度下降法对所述隐马尔可夫模型的参数进行迭代更新。
在上述用于推荐系统的数据处理方法中,进一步包括:获取新的用户项目序列;获取所述用户项目序列的上下文三元组数据;匹配与所述上下文三元组数据相关的隐马尔可夫模型初始状态;以及,计算隐马尔可夫模型的预测状态,其中,针对所述用户项目序列的每一项目,取最大值的预测状态是所述项目的最相关上下文。
在上述用于推荐系统的数据处理方法中,所述隐马尔可夫模型的预测状态是所述隐马尔可夫模型的状态概率向量乘以项目概率。
根据本申请的另一方面,提供了一种用于推荐系统的数据处理装置,包括:数据预处理单元,用于获取用户项目序列和上下文三元组数据,所述上下文三元组数据是以用户、项目、评分的三元组表示用户历史评分的数据;模型初始设置单元,用于将所述用户项目序列作为隐马尔可夫模型的观测状态,将所述上下文三元组数据作为所述隐马尔可夫模型的隐藏状态设置所述隐马尔可夫模型;神经网络单元,用于将所述用户项目序列设置为观察符号序列,并通过逆向传播神经网络对所述观察符号序列进行识别以输出观察符号的后验概率;以及,模型参数更新单元,用于通过将所述观察符号的后验概率输入所述隐马尔可夫模型而对所述隐马尔可夫模型进行参数更新。
在上述用于推荐系统的数据处理装置中,所述数据预处理单元用于:通过用户对项目的评分组成的最频繁三元组输入用户评分集合,提取出最频繁的三元组用户评分分布上下文作为所述上下文三元组数据。
在上述用于推荐系统的数据处理装置中,所述模型初始设置单元采用最大互信息准则进行所述隐马尔可夫模型的参数更新,用于:进行小样本下的有监督学习参数估计;以及,根据有监督训练结果初始化所述隐马尔可夫模型的状态概率向量,评分概率,项目概率和状态转移概率。
在上述用于推荐系统的数据处理装置中,所述逆向传播神经网络的作用函数为sigmoid函数。
在上述用于推荐系统的数据处理装置中,所述模型参数更新单元用于:采用随机梯度下降法对所述隐马尔可夫模型的参数进行迭代更新。
在上述用于推荐系统的数据处理装置中,进一步包括预测单元,用于:获取新的用户项目序列;获取所述用户项目序列的上下文三元组数据;匹配与所述上下文三元组数据相关的隐马尔可夫模型初始状态;以及,计算隐马尔可夫模型的预测状态,其中,针对所述用户项目序列的每一项目,取最大值的预测状态是所述项目的最相关上下文。
在上述用于推荐系统的数据处理装置中,所述隐马尔可夫模型的预测状态是所述隐马尔可夫模型的状态概率向量乘以项目概率。
根据本申请的又一方面,提供了一种电子设备,包括:处理器;以及,存储器,在所述存储器中存储有计算机程序指令,所述计算机程序指令在被所述处理器运行时使得所述处理器执行如上所述的用于推荐系统的数据处理方法。
本申请提供的用于推荐系统的数据处理方法、数据处理装置和电子设备可以通过结合隐马尔可夫模型和后向传播神经网络,改进推荐系统的适应性和推荐质量。
附图说明
通过阅读下文优选的具体实施方式中的详细描述,本申请各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。说明书附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。显而易见地,下面描述的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。而且在整个附图中,用相同的附图标记表示相同的部件。
图1图示了根据本申请实施例的用于推荐系统的数据处理方法的流程图;
图2图示了根据本申请实施例的用于推荐系统的数据处理装置的框图;
图3图示了根据本申请实施例的电子设备的框图。
具体实施方式
下面,将参考附图详细地描述根据本申请的示例实施例。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。
申请概述
如上所述,大量算法应用于推荐系统中,其中协同过滤算法应用最成功,应用领域也最广。然而,协同过滤算法对近邻用户数量和用户质量敏感,易受攻击样本干扰,没有较强的鲁棒性。此外,推荐系统还使用hmm(hiddenmarkovmodel,隐马尔可夫模型)推荐算法,但是,该算法由于受到自身假设前提的约束,难以有效地训练,不能兼顾每个hmm对其对应的目标有很强的预测能力和不同hmm模型之间有很好的差异性这两方面。
针对上述技术问题,本申请的基本构思是结合隐马尔可夫模型和逆向传播(backpropagation,bp)神经网络,从而改进推荐系统的适应性和推荐质量。
这里,bp神经网络是一种按照误差逆向传播算法训练的多层前馈神经网络,是目前应用最广泛的神经网络。由于bp神经网络优异的抗干扰能力,减少了原始特征中噪声对预测结果的影响,并利用其输出符号作为hmm的输入数据,不仅提高了hmm在推荐算法中的预测能力,而且保证了系统中不同hmm之间的差异最大化,从而提高了整个推荐系统的性能。
基于此,本申请提出了一种用于推荐系统的数据处理方法、数据处理装置和电子设备,其获得用户项目序列和上下文三元组数据,以设置隐马尔可夫模型,并通过逆向传播神经网络对作为观察符号序列的用户项目序列进行识别以输出观察符号的后验概率,再通过将所述观察符号的后验概率输入所述隐马尔可夫模型而对所述隐马尔可夫模型进行参数更新。因此,可以基于隐马尔可夫模型的结构特征,将用户评分项目序列看作观测状态,从而抽象出hmm模型,并结合bp神经网络更新hmm模型的参数,从而显著改进了推荐系统的适应性和推荐质量。
需要说明的是,本申请的上述基本构思可以应用于各种推荐系统,包含用于推荐商品的商品推荐系统和用于推荐内容的内容推荐系统。
在介绍了本申请的基本原理之后,下面将参考附图来具体介绍本申请的各种非限制性实施例。
示例性方法
图1图示了根据本申请实施例的用于推荐系统的数据处理方法的流程图。根据本申请实施例的用于推荐系统的数据处理方法包括:s110,获取用户项目序列和上下文三元组数据,所述上下文三元组数据是以用户、项目、评分的三元组表示用户历史评分的数据;s120,将所述用户项目序列作为隐马尔可夫模型的观测状态,将所述上下文三元组数据作为所述隐马尔可夫模型的隐藏状态设置所述隐马尔可夫模型;s130,将所述用户项目序列设置为观察符号序列,并通过逆向传播神经网络对所述观察符号序列进行识别以输出观察符号的后验概率;以及s140,通过将所述观察符号的后验概率输入所述隐马尔可夫模型而对所述隐马尔可夫模型进行参数更新。
在步骤s110,获取用户项目序列和上下文三元组数据,所述上下文三元组数据是以用户、项目、评分的三元组表示用户历史评分的数据。也就是说,在根据本申请实施例的用于推荐系统的数据处理方法中,首先对数据进行预处理。
具体来说,根据用户历史评分数据,将所述数据表示为用户、项目、评分的一个三元组关系图,以该三元组关系形式化地表示用户评分的上下文环境。在用户评分数据库中提取用户评分分布s'={u,m,r},其中u={u1,u2,…,un}表示用户集合,m={m1,m2,…,mn}表示用户下评分项目集合,r={r1,r2,…,rn}表示用户项目评分集合。每一个三元组s'代表着数据集中的一个上下文关系。通过对历史数据的预处理挖掘出由三元组s'构成的三元组序列,并将结果作为hmm模型训练样本。也就是说,在数据预处理过程中,使用多维(multidimensional:md)算法对系统历史评分信息进行挖掘处理,该多维算法具有每一维度的分析、排名聚合能力。
这里,三元组数据处理流程如下:
步骤1:用户项目序列提取,主要筛选出每个用户的评分项目序列sri。首先,收集用户的评分集si,用户数据集定义如下:
定义1:用户ui的数据集合si的形式化表示为:si={{useritemmsi,p},rsi,j}
其中,rsi,j表示集合si中用户ui的评分值为j,msi,p表示集合si项目的评分顺序。
例如,用户评分集s2表示用户u2向项目m2,3、m2,4评分值为r2,3。当收集到用户数据并且消除噪声之后,就可以提取出用户的项目评分序列。
步骤2:三元组数据提取,该步骤主要是提取用户评分频繁三元组数据,首先概念的定义如下。
定义2:用户对项目的评分s=(u1,r1,m1,g)是由u1∈u,m1,r1∈ru1∈u组成的最频繁三元组输入用户评分集合s,提取出最频繁的三元组用户评分分布上下文。如r1={{u1,u2,u3),(m1,m2),(r4)},表示用户{u1,u2,u3)}对项目(m1,m2)具有相同的评分r4。
也就是说,在根据本申请实施例的用于推荐系统的数据处理方法中,获取用户项目序列和上下文三元组数据包括:通过用户对项目的评分组成的最频繁三元组输入用户评分集合,提取出最频繁的三元组用户评分分布上下文作为所述上下文三元组数据。
这样,在步骤s110获取的用户项目序列和上下文三元组数据将作为后续bp神经网络与hmm混合模型的输入。
在步骤s120,将所述用户项目序列作为隐马尔可夫模型的观测状态,将所述上下文三元组数据作为所述隐马尔可夫模型的隐藏状态设置所述隐马尔可夫模型。
具体地,隐马尔科夫模型包含两种状态:观测状态和隐含状态。因此,在步骤s120,将在步骤s110获取的用户项目序列作为观测状态,上下文三元组数据作为隐含状态。由此,给定了隐含状态st={st1,…,stns},其表示项目集合m={m1,…,mnm},评分集合r={r1,…,rnr},用户集合u={u1,…,unu}的不同评分值。其中ns是总状态数量,nm是总项目数量,nr是总评分数量,nu是总用户数量。另外,用户项目序列作为观测状态,定义观测状态的状态序列sli,因此,hmm模型λ=(a,b,b',π)定义如下。
π=[…πi…]初始状态概率,其中πi=p(sti)是状态sti作为状态序列sli第一个元素出现的概率。
b=[…bj(r)…]评分概率分布,其中bj(r)=p(r|stj)表示用户在状态stj条件下评分值为r的概率。
b’=[…bk(m)…]项目概率分布,其中bk(m)=p(m|stk)表示在状态stk条件下,给项目m评分的概率。
a=[…aij…]概率转移矩阵,其中aij=p(stj|sti)表示当前由状态sti转移到状态stj的概率。
针对该形式化的hmm模型,下一步要学习出模型参数(a,b,b',π)。在根据本申请实施例的用于推荐系统的数据处理方法中,采用最大互信息准则(maximummutualinformation:mmi)进行hmm的参数更新,先进行小样本下的有监督学习参数估计,根据有监督训练结果初始化状态概率向量(πi),评分概率[bj(r)],项目概率[bk(m)],状态转移概率[aij]。有监督学习算法如以下公式(1)到(4)所示:
其中,slc=ui∈1...t{ei},所有与项目相匹配的状态序列ei为与指定项目对应的状态。
其中count(m,r)是项目m被评分为r在数据集中出现的次数。
其中nc为stj在slc中出现的次数。cs(sti,stj)为序列sl中状态stj转移到sti的次数。
因此,在根据本申请实施例的用于推荐系统的数据处理方法中,设置所述隐马尔可夫模型是采用最大互信息准则进行所述隐马尔可夫模型的参数更新,包括:进行小样本下的有监督学习参数估计;以及,根据有监督训练结果初始化所述隐马尔可夫模型的状态概率向量,评分概率,项目概率和状态转移概率。
在步骤s130,将所述用户项目序列设置为观察符号序列,并通过逆向传播神经网络对观察符号序列进行识别以输出观察符号的后验概率。
具体地,将经过数据预处理而产生的用户项目序列作为观察符号序列输入到bp网络。观察符号序列经过bp网络识别后,输出为观察符号的后验概率。通过使用bp网络负责hmm训练,可以弥补hmm在分类方面的不足。这里,bp网络的作用函数采用sigmoid函数。训练通过bp算法实现,在“真”的状态下输出1,其他状态输出0。
这里,bp神经网络的输入序列是网络的连续观察序列o={o1,o2,…,ot},输出序列为hmm模型中第k个状态在观察序列ot时的后验概率p(qk|ot)。
因此,在根据本申请实施例的用于推荐系统的数据处理方法中,上述逆向传播神经网络的作用函数为sigmoid函数。
在步骤s140,通过将所述观察符号的后验概率输入所述隐马尔可夫模型而对所述隐马尔可夫模型进行参数更新。
也就是说,将上述bp神经网络的输出序列作为hmm输入,对hmm模型进行参数更新。下面,将详细描述对hmm模型的参数更新:
1)hmm模型矩阵b,b’的更新:
根据贝叶斯定律,可得矩阵元素更新公式为以下公式(5):
其中,p(ot=vk)对所有hmm而言是一个常量,p(ot=vk)=1/t,t为观察序列长度。p(qi=si|ot=vk)为状态si在观察符号为vk时刻的后验概率。以此更新观测概率矩阵。
2)参数π,a的更新:
采用mmi优化转正对这两组参数进行更新,设ω为当前网络可能的全部hmm的集合,ω1为网络连续观察符号序列o所属模式类的hmm集合,p{ω1|o,ω}为ω1在给定网络连续观察符号序列o的后验概率。根据mmi准则,训练过程应使后验概率最大化,因此如以下公式(6)定义最小化参量j:
求解时,采用hmm评估算法中的前向和后向评估算法,如以下的公式(7)和(8)定义。其中,前向评估算法由公式(7)定义,后向评估算法由公式(8)定义:
al(j)=πjbj(ol)
βt(i)=1
通过结合前向评估算法和后向评估算法,得出p{o,qt=i|λ}=αt(i)β(i),从而得出以下公式(9):
通过对j的最小参量计算,按梯度法得出参数πi、aaj的更新公式为以下公式(10):
因此,在根据本申请实施例的用于推荐系统的数据处理方法中,对所述隐马尔可夫模型进行参数更新包括:采用随机梯度下降法对所述隐马尔可夫模型的参数进行迭代更新。
接下来,在模型训练更新完成之后,就可以根据当前模型进行推荐。
首先,识别新的用户项目序列以获取与所述用户项目序列对应的上下文三元组数据,然后基于所述上下文三元组数据预测hmm模型状态的下一次评分行为。在用户项目评分预测的过程中,主要考虑两个连续阶段,即匹配与当前上下文相关的hmm模型状态的第一阶段和预测下一时刻状态的最相近的评分分布的第二阶段。在第二阶段,主要识别出最相近hmm模型状态评分分布。计算每个hmm模型的状态mati=πi×bi(m),其中πi是初始状态概率向量,bi(m)观测m在sti条件下的概率。因此取得最大值的mati就代表着项目m的最相关上下文。
因此,在根据本申请实施例的用于推荐系统的数据处理方法中,进一步包括:获取新的用户项目序列;获取所述用户项目序列的上下文三元组数据;匹配与所述上下文三元组数据相关的隐马尔可夫模型初始状态;计算隐马尔可夫模型的预测状态,其中,针对所述用户项目序列的每一项目,取最大值的预测状态是所述项目的最相关上下文。
并且,在根据本申请实施例的用于推荐系统的数据处理方法中,所述隐马尔可夫模型的预测状态是所述隐马尔可夫模型的状态概率向量乘以项目概率。
也就是说,在根据本申请实施例的用于推荐系统的数据处理方法中,基于用户项目评分的三元关系模型进行预测训练。并且,模型训练预测主要分两个阶段,即模型建立阶段和推荐预测阶段。
通过根据本申请实施例的用于推荐系统的数据处理方法,可以在常量时间内生成推荐,推荐速度快,并且,由于所述方法是域独立方法,参数初始化后不需要先验知识学习。
综上所述,根据本申请实施例的用于推荐系统的数据处理方法提供了结合隐马尔科夫模型与bp神经网络的推荐算法,其针对个性化推荐系统中用户偏好的学习与高维稀疏数据处理问题,基于隐马尔可夫模型的结构特征,采用考虑上下文的两阶段用户偏好收集推理策略的个性化推荐算法。
并且,所述数据处理方法选择多维算法对系统历史评分信息进行挖掘处理,提取用户偏好分布频繁三项集作为隐含状态,将用户评分项目序列看作观测状态,从而抽象出hmm模型,结合bp神经网络进行第一阶段的hmm模型的用户偏好学习与推理。然后,根据第一阶段的学习训练生成最优推荐集合,从而显著改进了推荐系统的适应性和推荐质量
示例性装置
图2图示了根据本申请实施例的用于推荐系统的数据处理装置的框图。
如图2所示,根据本申请实施例的用于推荐系统的数据处理装置200包括:数据预处理单元210,用于获取用户项目序列和上下文三元组数据,所述上下文三元组数据是以用户、项目、评分的三元组表示用户历史评分的数据;模型初始设置单元220,用于将所述数据预处理单元210获取的用户项目序列作为隐马尔可夫模型的观测状态,将所述上下文三元组数据作为所述隐马尔可夫模型的隐藏状态设置所述隐马尔可夫模型;神经网络单元230,用于将所述数据预处理单元210获取的用户项目序列设置为观察符号序列,并通过逆向传播神经网络对所述观察符号序列进行识别以输出观察符号的后验概率;以及,模型参数更新单元240,用于通过将所述神经网络单元输出的观察符号的后验概率输入所述模型初始设置单元220所设置的隐马尔可夫模型而对所述隐马尔可夫模型进行参数更新。
在一个示例中,在上述用于推荐系统的数据处理装置200中,所述数据预处理单元210用于:通过用户对项目的评分组成的最频繁三元组输入用户评分集合,提取出最频繁的三元组用户评分分布上下文作为所述上下文三元组数据。
在一个示例中,在上述用于推荐系统的数据处理装置200中,所述模型初始设置单元220采用mmi准则进行hmm的参数更新,用于:进行小样本下的有监督学习参数估计;以及,根据有监督训练结果初始化所述隐马尔可夫模型的状态概率向量,评分概率,项目概率和状态转移概率。
在一个示例中,在上述用于推荐系统的数据处理装置200中,所述逆向传播神经网络的作用函数为sigmoid函数。
在一个示例中,在上述用于推荐系统的数据处理装置200中,所述模型参数更新单元240用于:采用随机梯度下降法对所述隐马尔可夫模型的参数进行迭代更新。
在一个示例中,在上述用于推荐系统的数据处理装置200中,进一步包括预测单元,用于:获取新的用户项目序列;获取所述用户项目序列的上下文三元组数据;匹配与所述上下文三元组数据相关的hmm模型初始状态;以及,计算hmm模型的预测状态,其中,针对所述用户项目序列的每一项目,取最大值的预测状态是所述项目的最相关上下文。
在一个示例中,在上述用于推荐系统的数据处理装置200中,所述hmm模型的预测状态是所述hmm模型的状态概率向量乘以项目概率。
这里,本领域技术人员可以理解,上述用于推荐系统的数据处理装置200中的各个单元和模块的具体功能和操作已经在上面参考图1描述的用于推荐系统的数据处理方法中详细介绍,并因此,将省略其重复描述。
如上所述,根据本申请实施例的用于推荐系统的数据处理装置200可以实现在各种终端设备中,例如运行推荐系统的服务器。在一个示例中,根据本申请实施例的用于推荐系统的数据处理装置200可以作为一个软件模块和/或硬件模块而集成到所述终端设备中。例如,该用于推荐系统的数据处理装置200可以是该终端设备的操作系统中的一个软件模块,或者可以是针对于该终端设备所开发的一个应用程序;当然,该用于推荐系统的数据处理装置200同样可以是该终端设备的众多硬件模块之一。
替换地,在另一示例中,该用于推荐系统的数据处理装置200与该终端设备也可以是分立的设备,并且该用于推荐系统的数据处理装置200可以通过有线和/或无线网络连接到该验证设备,并且按照约定的数据格式来传输交互信息。
示例性电子设备
下面,参考图3来描述根据本申请实施例的电子设备。
图3图示了根据本申请实施例的电子设备的框图。
如图3所示,电子设备10包括一个或多个处理器11和存储器12。
处理器11可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备10中的其他组件以执行期望的功能。
存储器12可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器11可以运行所述程序指令,以实现上文所述的本申请的各个实施例的用于推荐系统的数据处理方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如用户项目序列等各种内容。
在一个示例中,电子设备10还可以包括:输入装置13和输出装置14,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
例如,该输入装置13可以是例如键盘、鼠标等等。
该输出装置14可以向外部输出各种信息,包括向用户推荐的内容等。该输出设备14可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图3中仅示出了该电子设备10中与本申请有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备10还可以包括任何其他适当的组件。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的用于推荐系统的数据处理方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c++等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本申请的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的用于推荐系统的数据处理方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本申请的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本申请为必须采用上述具体的细节来实现。
本申请中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
还需要指出的是,在本申请的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本申请的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本申请。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本申请的范围。因此,本申请不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本申请的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。