基于信任网络的推送方法、装置、计算机设备及存储介质与流程

文档序号:16902080发布日期:2019-02-19 18:06阅读:162来源:国知局
基于信任网络的推送方法、装置、计算机设备及存储介质与流程

本发明涉及信息推送技术领域,尤其涉及一种基于信任网络的推送方法、装置、计算机设备及存储介质。



背景技术:

目前,在基于互联网的在线商城上进行网络购物已越来越频繁,这些在线商城对用户进行商品推荐时,通常使用的是基于协同过滤的推荐算法(协同过滤算法,原理是用户喜欢那些具有相似兴趣的用户喜欢过的商品,比如你的朋友喜欢电影哈利波特i,那么就会推荐给你,这是最简单的基于用户的协同过滤算法)。在使用基于协同过滤的推荐算法时,采用的数据集主要是基于用户-商品的评分矩阵,进而测算出用户之间的相似性,属于隐形的信任网络。但是采用评分矩阵测算出用户之间的相似性存在冷启动的问题,影响到推荐过程。



技术实现要素:

本发明实施例提供了一种基于信任网络的推送方法、装置、计算机设备及存储介质,旨在解决现有技术中采用基于协同过滤的推荐算法需采用评分矩阵测算出用户之间的相似性,易导致推荐运算的冷启动,从而影响到推荐过程的问题。

第一方面,本发明实施例提供了一种基于信任网络的推送方法,其包括:

若当前时刻的商品评论信息与上一时刻的商品评论信息比对以判定用户之间存在新增的相互评论关系,根据用户之间新增的相互评论关系对应的评论内容获取当前信任值;

根据所述当前信任值对上一时刻存储的用户信任矩阵进行更新,得到当前时刻存储的用户信任矩阵;其中,上一时刻存储的用户信任矩阵和当前时刻存储的用户信任矩阵中,每一取值表示取值所在行对应的用户对取值所在列对应的用户的信任值;

获取从所述当前时刻存储的用户信任矩阵选中的行向量所对应的目标用户,根据目标用户对应的行向量中各信任值大小,获取信任值大小位于预设排名阈值之前的信任用户以组成信任用户簇;

根据所述信任用户簇中各信任用户在用户-评分矩阵中对应的评分行向量,获取信任用户对各商品的信任评分值以组成商品推荐行向量;以及

由商品推荐行向量得到商品推荐列表,将所述商品推荐列表推送至目标用户对应的接收端。

第二方面,本发明实施例提供了一种基于信任网络的推送装置,其包括:

当前信任值获取单元,用于若当前时刻的商品评论信息与上一时刻的商品评论信息比对以判定用户之间存在新增的相互评论关系,根据用户之间新增的相互评论关系对应的评论内容获取当前信任值;

用户信任矩阵更新单元,用于根据所述当前信任值对上一时刻存储的用户信任矩阵进行更新,得到当前时刻存储的用户信任矩阵;其中,上一时刻存储的用户信任矩阵和当前时刻存储的用户信任矩阵中,每一取值表示取值所在行对应的用户对取值所在列对应的用户的信任值;

信任用户簇获取单元,用于获取从所述当前时刻存储的用户信任矩阵选中的行向量所对应的目标用户,根据目标用户对应的行向量中各信任值大小,获取信任值大小位于预设排名阈值之前的信任用户以组成信任用户簇;

推荐行向量获取单元,用于根据所述信任用户簇中各信任用户在用户-评分矩阵中对应的评分行向量,获取信任用户对各商品的信任评分值以组成商品推荐行向量;

推送单元,用于由商品推荐行向量得到商品推荐列表,将所述商品推荐列表推送至目标用户对应的接收端。

第三方面,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的基于信任网络的推送方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的基于信任网络的推送方法。

本发明实施例提供了一种基于信任网络的推送方法、装置、计算机设备及存储介质。该方法通过解析商品评论信息判定用户之间存在相互评论关系,以调整获取当前时刻存储的用户信任矩阵,获取从所述当前时刻存储的用户信任矩阵选中的行向量所对应的目标用户,根据目标用户对应的行向量中各信任值大小,获取信任值大小位于预设排名阈值之前的信任用户以组成信任用户簇;根据所述信任用户簇中各信任用户在用户-评分矩阵中对应的评分行向量,获取信任用户对各商品的信任评分值以组成商品推荐行向量;由商品推荐行向量得到商品推荐列表,将所述商品推荐列表推送至目标用户对应的接收端。该方法采用智能推荐技术实现了通过用户之间存在相互评论关系确定信任用户簇,根据信任用户所推荐的商品以对目标用户进行精准推荐。

附图说明

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

图1为本发明实施例提供的基于信任网络的推送方法的流程示意图;

图2为本发明实施例提供的基于信任网络的推送方法的子流程示意图;

图3为本发明实施例提供的基于信任网络的推送方法的另一子流程示意图;

图4为本发明实施例提供的基于信任网络的推送方法的另一子流程示意图;

图5为本发明实施例提供的基于信任网络的推送装置的示意性框图;

图6为本发明实施例提供的基于信任网络的推送装置的子单元示意性框图;

图7为本发明实施例提供的基于信任网络的推送装置的另一子单元示意性框图;

图8为本发明实施例提供的基于信任网络的推送装置的另一子单元示意性框图;

图9为本发明实施例提供的计算机设备的示意性框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

请参阅图1,图1是本发明实施例提供的基于信任网络的推送方法的流程示意图,该基于信任网络的推送方法应用于管理服务器中,该方法通过安装于管理服务器中的应用软件进行执行,管理服务器即是用于进行基于信任网络的推送的企业终端。

如图1所示,该方法包括步骤s110~s150。

s110、若当前时刻的商品评论信息与上一时刻的商品评论信息比对以判定用户之间存在新增的相互评论关系,根据用户之间新增的相互评论关系对应的评论内容获取当前信任值。

在本实施例中,当管理服务器在爬取了预设url地址列表中每一网页对应的商品评论信息后,即可根据用户与用户之间是否存在评论关系以判断用户之间的信任关系,并根据用户之间新增的相互评论关系对应的评论内容获取当前信任值。这样的用户关系是显性的,如在商品评论上,a用户肯定了b的用户的评论,显示了a用户信任b用户,或者在社区空间中,a用户肯定了b用户的内容。基于这种显式的信任网络,加上既有的历史数据,可以更好地解决冷启动的问题。

在一实施例中,如图2所示,步骤s110包括;

s111、获取用户之间新增的的相互评论关系对应的评论内容,将所述评论内容进行分词得到分词结果;

s112、通过word2vec模型获取分词结果中各评论关键词对应的词向量,由分词结果中各评论关键词对应的词向量对应获取文本向量;

s113、将文本向量作为预先训练得到的朴素贝叶斯模型的输入,得到与评论内容对应的情感识别结果;其中,若情感识别结果为正面情感结果时情感识别结果取值为1,若情感识别结果为负面情感结果时情感识别结果取值为-1,若情感识别结果为中性情感结果时情感识别结果取值为0;

s114、将情感识别结果与衰减系数相乘,得到当前信任值;其中衰减系数为e-λ(t-t0),λ为预设的调节参数且取值范围为(0,1),t-t0为用户之间的相互评论关系对应的评论时间间隔。

在本实施例中,通过对商品评论信息进行解析,主要是判断用户之间是否存在相互评论关系,若两用户之间存在评论关系,对评论内容进行正面情感,中性情感和负面情感的判定。在对评论内容进行情感识别时,先将评论内容进行分词再转化为文本向量,将文本向量作为朴素贝叶斯模型的输入,得到情感识别结果。但为了考虑到用户与用户之间评论关系受到时间衰减的影响,则需要将情感识别结果乘以一个衰减系数(也可以理解为时间衰退因子)得到更为客观准确的当前信任值。其中,word2vec是从大量文本语料中以无监督的方式学习语义知识的一种模型。

若将用户i对用户j的当前信任值记为aij,则aij+=sentimentij*e-λ(t-t0),也即当前时刻的信任值是在上一时刻的信任值基础上进行自增的调整(例如i用户对j用户的评论每隔一段时间都发表一次评论,那么每次发表的评论都会对当前信任值产生影响),其中sentimentij表示i用户对j用户的评论而发表的评论内容进行情感识别得到的情感识别结果,若情感识别结果为正面情感结果时sentimentij=1,若情感识别结果为负面情感结果时sentimentij=-1,若情感识别结果为中性情感结果时sentimentij=0。

例如,若预设的调节参数λ=0.5,用户1在用户2的评论下方追加评论,且该评论为正面情感的评论,用户1的追加评论时间t与用户2的评论时间t0之差为1天,则用户1对用户2的当前信任值记为a12=0+1*e-0.5*(1-0)=0.607;用户1在用户3的评论下方追加评论,且该评论为负面情感的评论,用户1的追加评论时间t与用户3的评论时间t0之差为1天,则用户1对用户3的当前信任值记为a13=0-1*e-0.5*(1-0)=-0.607;用户1在用户4的评论下方追加评论,且该评论为中性情感的评论,用户1的追加评论时间t与用户4的评论时间t0之差为1天,则用户1对用户4的当前信任值记为a15=0-0*e-0.5*(1-0)=0。

以用户之间的评论内容对应的情感识别结果,作为用户之间信任值的计算基础,是一种显式而非隐式的信任网络搭建方式,可以解决推荐过程中冷启动的问题。

在一实施例中,如图4所示,步骤s111包括:

s1111、按从左至右的顺序从评论内容中取出候选词;

s1112、在预先存储的词典中查询与每一候选词对应的概率值,并记录每一候选词的左邻词;

s1113、计算获取每一候选词的累积概率,并获取每一候选词对应的多个左邻词各自的累积概率,若每一候选词的多个左邻词中存在累积概率为多个左邻词的累积概率中最大值的左邻词,将累积概率中最大值的左邻词作为与候选词对应的最佳左邻词;

s1114、以评论内容的终点词为起点,从右至左依次输出与每一候选词对应的最佳左邻词,得到分词结果。

在本实施例中,对评论内容进行分词时,是通过基于概率统计模型的分词方法进行分词。例如,令c=c1c2...cm,c是待切分的汉字串,令w=w1w2...wn,w是切分的结果,wa,wb,….wk是c的所有可能的切分方案。那么,基于概率统计的切分模型就是能够找到目的词串w,使得w满足:p(w|c)=max(p(wa|c),p(wb|c)...p(wk|c))的分词模型,上述分词模型得到的词串w即估计概率为最大之词串。

即对一个待分词的子串s,按照从左到右的顺序取出全部候选词w1、w2、…、wi、…、wn;在词典中查出每个候选词的概率值p(wi),并记录每个候选词的全部左邻词;计算每个候选词的累积概率,同时比较得到每个候选词的最佳左邻词;如果当前词wn是字串s的尾词,且累积概率p(wn)最大,则wn就是s的终点词;从wn开始,按照从右到左顺序,依次将每个词的最佳左邻词输出,即s的分词结果。

s120、根据所述当前信任值对上一时刻存储的用户信任矩阵进行更新,得到当前时刻存储的用户信任矩阵;其中,上一时刻存储的用户信任矩阵和当前时刻存储的用户信任矩阵中,每一取值表示取值所在行对应的用户对取值所在列对应的用户的信任值。

在本实施例中,用户信任矩阵表示用户之间的信任值,用户信任矩阵中的横轴和纵轴均为用户列表,用户信任矩阵an*n中aij指的是用户i对用户j的信任值,在初始时刻存储的用户信任矩阵中所有值均为0,之后每隔时间周期t重新判断用户i对用户j是否有新增的评论内容以确定是否调整用户i对用户j的信任值。上一时刻存储的用户信任矩阵是管理服务器在上一时刻(如2018年x月y日z1时z2分)爬取了预设url地址列表中每一网页对应的商品评论信息后,即可根据用户与用户之间是否存在评论关系以判断用户之间的信任关系,并根据用户之间的相互评论关系对应的评论内容获取上一时刻的信任值。

若与上一时刻相隔时间周期t对应的是当前时刻(如2018年x月y日z3时z4分)爬取了预设url地址列表中每一网页对应的商品评论信息后,即可根据用户与用户之间是否存在新增的评论关系以判断用户之间的信任关系是否发生改变,并根据用户之间的相互评论关系对应的评论内容获取当前时刻的信任值。即用户i对用户j的当前信任值记为aij,则aij+=sentimentij*e-λ(t-t0),也即当前时刻的信任值是在上一时刻的信任值基础上进行自增的调整(例如i用户对j用户的评论每隔一段时间都发表一次评论,那么每次发表的评论都会对当前信任值产生影响)。

s130、获取从所述当前时刻存储的用户信任矩阵选中的行向量所对应的目标用户,根据目标用户对应的行向量中各信任值大小,获取信任值大小位于预设排名阈值之前的信任用户以组成信任用户簇。

在本实施例中,例如当前时刻存储的用户信任矩阵如下:

且在当前时刻存储的用户信任矩阵选中的行向量为第一行的行向量,第一行的行向量对应的目标用户是用户1,第一行的行向量中各值表示用户1与其他用户之间的信任值。若预设排名阈值为3,则信任值大小位于第3名之前(即排前2名的信任值)的为3和1,分别对应用户2和用户4,则信任用户簇中包括用户2和用户4。

s140、根据所述信任用户簇中各信任用户在用户-评分矩阵中对应的评分行向量,获取信任用户对各商品的信任评分值以组成商品推荐行向量。

在本实施例中,用户-评分矩阵表示用户对项目(项目可以理解为具体的商品)的评分,用户-评分矩阵的横轴为项目,纵轴为用户,当中的值是用户i对项目j的评分。例如用户-评分矩阵s为4×6的矩阵,如:

用户-评分矩阵s中第一行的行向量表示用户1分别针对项目1-项目5的评分,第二行的行向量表示用户2分别针对项目1-项目5的评分,第三行的行向量表示用户3分别针对项目1-项目5的评分。

例如,确定了信任用户簇中包括用户2和用户4,则在用户-评分矩阵中对应获取用户2和用户4的评分行向量,也即第二行的行向量和第四行的行向量。在综合考虑目标用户与信任用户簇中各用户之间的信任值,以及信任用户对各商品的评分值,即可运算得到商品推荐行向量。

在一实施例中,如图3所示,步骤s140包括:

s141、获取所述信任用户簇中各信任用户在用户-评分矩阵中对应的评分行向量组成的评分矩阵;

s142、获取由所述信任用户簇在目标用户对应的行向量中各信任值大小组成的信任用户行向量;

s143、将所述信任用户行向量与所述评分矩阵相乘,以得到商品推荐行向量。

在本实施中,例如选定的确定了信任用户簇中包括用户2和用户4,则在用户-评分矩阵中对应获取用户2和用户4的评分行向量,也即第二行的行向量和第四行的行向量,则用户2和用户4针对各项目(也即各商品)之间评分组成的评分矩阵如下:

在一实施例中,步骤s141中具体包括:获取所述信任用户簇中各信任用户在用户-评分矩阵中对应的评分行向量,按照各信任用户在用户-评分矩阵中对应的评分行向量中行序号的先后顺序进行排列,得到评分矩阵。按照上述各用户在用户-评分矩阵中各行出现的先后顺序,来依序获取各信任用户在用户-评分矩阵中对应的评分行向量,上述方式能精确获取各信任用户对应的评分行向量组成的评分矩阵,便于后续计算用户对各商品的信任评分值。

由所述信任用户簇在目标用户对应的行向量中各信任值大小组成的信任用户行向量为[31]。

在一实施例中,步骤s142中具体包括:获取信任值大小位于预设排名阈值之前的信任用户,将信任值大小位于所述排名阈值之前的信任用户按照在目标用户对应的行向量中列序号的先后顺序进行排列,得到信任用户行向量。按照上述各用户在目标用户对应的行向量中各列出现的先后顺序,来依序获取在目标用户对应的行向量中各信任值大小,以组成的信任用户行向量,上述方式能精确获取信任用户行向量,便于后续计算用户对各商品的信任评分值。

将信任用户行向量与评分矩阵相乘,即

即商品推荐行向量为[2138137],这一商品推荐行向量中评分排名较高的评分所对应商品即可作为信任群体对目标用户所推荐的商品。通过将信任用户行向量与评分矩阵相乘的方式获取商品推荐行向量,能有效参考信任用户所对各商品的综合评分,以作为对目标用户进行商品推荐的参考指标。

s150、由商品推荐行向量得到商品推荐列表,将所述商品推荐列表推送至目标用户对应的接收端。

在本实施例中,在获取了商品推荐行向量后,即可获知信任用户簇中各信任用户对各商品的综合评分,此时可选择商品推荐行向量对应的各评分中评分排名位于预设排名值(如预设的排名值为4)之前的评分,再获取各评分中评分排名位于预设排名值之前的评分对应的商品信息,将商品信息组成商品推荐列表并推送至目标用户对应的接收端。采用计算商品推荐行向量的方式来获取商品推荐列表,能有效提高推荐的准确度。

例如,上述信任群体(用户2和用户4)向用户1推荐的5件商品中,评分按降序排序后排名位于前3名的商品分别是商品2、商品3和商品4,此时将上述3件商品作为商品推荐行向量。

该方法采用智能推荐技术实现了通过用户之间存在相互评论关系确定信任用户簇,根据信任用户所推荐的商品以对目标用户进行精准推荐。

本发明实施例还提供一种基于信任网络的推送装置,该基于信任网络的推送装置用于执行前述基于信任网络的推送方法的任一实施例。具体地,请参阅图5,图5是本发明实施例提供的基于信任网络的推送装置的示意性框图。该基于信任网络的推送装置100可以配置于管理服务器中。

如图5所示,基于信任网络的推送装置100包括当前信任值获取单元110、用户信任矩阵更新单元120、信任用户簇获取单元130、推荐行向量获取单元140、和推送单元150。

当前信任值获取单元110,用于若当前时刻的商品评论信息与上一时刻的商品评论信息比对以判定用户之间存在新增的相互评论关系,根据用户之间新增的相互评论关系对应的评论内容获取当前信任值。

在本实施例中,当管理服务器在爬取了预设url地址列表中每一网页对应的商品评论信息后,即可根据用户与用户之间是否存在评论关系以判断用户之间的信任关系,并根据用户之间新增的相互评论关系对应的评论内容获取当前信任值。这样的用户关系是显性的,如在商品评论上,a用户肯定了b的用户的评论,显示了a用户信任b用户,或者在社区空间中,a用户肯定了b用户的内容。基于这种显式的信任网络,加上既有的历史数据,可以更好地解决冷启动的问题。

在一实施例中,如图6所示,当前信任值获取单元110包括:

分词单元111,用于获取用户之间新增的的相互评论关系对应的评论内容,将所述评论内容进行分词得到分词结果;

文本向量获取单元112,用于通过word2vec模型获取分词结果中各评论关键词对应的词向量,由分词结果中各评论关键词对应的词向量对应获取文本向量;

情感识别单元113,用于将文本向量作为预先训练得到的朴素贝叶斯模型的输入,得到与评论内容对应的情感识别结果;其中,若情感识别结果为正面情感结果时情感识别结果取值为1,若情感识别结果为负面情感结果时情感识别结果取值为-1,若情感识别结果为中性情感结果时情感识别结果取值为0;

信任值计算单元114,用于将情感识别结果与衰减系数相乘,得到当前信任值;其中衰减系数为e-λ(t-t0),λ为预设的调节参数且取值范围为(0,1),t-t0为用户之间的相互评论关系对应的评论时间间隔。

在本实施例中,通过对商品评论信息进行解析,主要是判断用户之间是否存在相互评论关系,若两用户之间存在评论关系,对评论内容进行正面情感,中性情感和负面情感的判定。在对评论内容进行情感识别时,先将评论内容进行分词再转化为文本向量,将文本向量作为朴素贝叶斯模型的输入,得到情感识别结果。但为了考虑到用户与用户之间评论关系受到时间衰减的影响,则需要将情感识别结果乘以一个衰减系数(也可以理解为时间衰退因子)得到更为客观准确的当前信任值。

若将用户i对用户j的当前信任值记为aij,则aij+=sentimentij*e-λ(t-t0),也即当前时刻的信任值是在上一时刻的信任值基础上进行自增的调整(例如i用户对j用户的评论每隔一段时间都发表一次评论,那么每次发表的评论都会对当前信任值产生影响),其中sentimentij表示i用户对j用户的评论而发表的评论内容进行情感识别得到的情感识别结果,若情感识别结果为正面情感结果时sentimentij=1,若情感识别结果为负面情感结果时sentimentij=-1,若情感识别结果为中性情感结果时sentimentij=0。

例如,若预设的调节参数λ=0.5,用户1在用户2的评论下方追加评论,且该评论为正面情感的评论,用户1的追加评论时间t与用户2的评论时间t0之差为1天,则用户1对用户2的当前信任值记为a12=0+1*e-0.5*(1-0)=0.607;用户1在用户3的评论下方追加评论,且该评论为负面情感的评论,用户1的追加评论时间t与用户3的评论时间t0之差为1天,则用户1对用户3的当前信任值记为a13=0-1*e-0.5*(1-0)=-0.607;用户1在用户4的评论下方追加评论,且该评论为中性情感的评论,用户1的追加评论时间t与用户4的评论时间t0之差为1天,则用户1对用户4的当前信任值记为a15=0-0*e-0.5*(1-0)=0。

以用户之间的评论内容对应的情感识别结果,作为用户之间信任值的计算基础,是一种显式而非隐式的信任网络搭建方式,可以解决推荐过程中冷启动的问题。

在一实施例中,如图8所示,分词单元111包括:

候选词选取单元1111,用于按从左至右的顺序从评论内容中取出候选词;

初始左邻词获取单元1112,用于在预先存储的词典中查询与每一候选词对应的概率值,并记录每一候选词的左邻词;

最佳左邻词获取单元1113,用于计算获取每一候选词的累积概率,并获取每一候选词对应的多个左邻词各自的累积概率,若每一候选词的多个左邻词中存在累积概率为多个左邻词的累积概率中最大值的左邻词,将累积概率中最大值的左邻词作为与候选词对应的最佳左邻词;

分词结果输出单元1114,用于以评论内容的终点词为起点,从右至左依次输出与每一候选词对应的最佳左邻词,得到分词结果。

在本实施例中,对评论内容进行分词时,是通过基于概率统计模型的分词方法进行分词。例如,令c=c1c2...cm,c是待切分的汉字串,令w=w1w2...wn,w是切分的结果,wa,wb,….wk是c的所有可能的切分方案。那么,基于概率统计的切分模型就是能够找到目的词串w,使得w满足:p(w|c)=max(p(wa|c),p(wb|c)...p(wk|c))的分词模型,上述分词模型得到的词串w即估计概率为最大之词串。

即对一个待分词的子串s,按照从左到右的顺序取出全部候选词w1、w2、…、wi、…、wn;在词典中查出每个候选词的概率值p(wi),并记录每个候选词的全部左邻词;计算每个候选词的累积概率,同时比较得到每个候选词的最佳左邻词;如果当前词wn是字串s的尾词,且累积概率p(wn)最大,则wn就是s的终点词;从wn开始,按照从右到左顺序,依次将每个词的最佳左邻词输出,即s的分词结果。

用户信任矩阵更新单元120,用于根据所述当前信任值对上一时刻存储的用户信任矩阵进行更新,得到当前时刻存储的用户信任矩阵;其中,上一时刻存储的用户信任矩阵和当前时刻存储的用户信任矩阵中,每一取值表示取值所在行对应的用户对取值所在列对应的用户的信任值。

在本实施例中,用户信任矩阵表示用户之间的信任值,用户信任矩阵中的横轴和纵轴均为用户列表,用户信任矩阵an*n中aij指的是用户i对用户j的信任值,在初始时刻存储的用户信任矩阵中所有值均为0,之后每隔时间周期t重新判断用户i对用户j是否有新增的评论内容以确定是否调整用户i对用户j的信任值。上一时刻存储的用户信任矩阵是管理服务器在上一时刻(如2018年x月y日z1时z2分)爬取了预设url地址列表中每一网页对应的商品评论信息后,即可根据用户与用户之间是否存在评论关系以判断用户之间的信任关系,并根据用户之间的相互评论关系对应的评论内容获取上一时刻的信任值。

若与上一时刻相隔时间周期t对应的是当前时刻(如2018年x月y日z3时z4分)爬取了预设url地址列表中每一网页对应的商品评论信息后,即可根据用户与用户之间是否存在新增的评论关系以判断用户之间的信任关系是否发生改变,并根据用户之间的相互评论关系对应的评论内容获取当前时刻的信任值。即用户i对用户j的当前信任值记为aij,则aij+=sentimentij*e-λ(t-t0),也即当前时刻的信任值是在上一时刻的信任值基础上进行自增的调整(例如i用户对j用户的评论每隔一段时间都发表一次评论,那么每次发表的评论都会对当前信任值产生影响)。

信任用户簇获取单元130,用于获取从所述当前时刻存储的用户信任矩阵选中的行向量所对应的目标用户,根据目标用户对应的行向量中各信任值大小,获取信任值大小位于预设排名阈值之前的信任用户以组成信任用户簇。

在本实施例中,例如当前时刻存储的用户信任矩阵如下:

且在当前时刻存储的用户信任矩阵选中的行向量为第一行的行向量,第一行的行向量对应的目标用户是用户1,第一行的行向量中各值表示用户1与其他用户之间的信任值。若预设排名阈值为3,则信任值大小位于第3名之前(即排前2名的信任值)的为3和1,分别对应用户2和用户4,则信任用户簇中包括用户2和用户4。

推荐行向量获取单元140,用于根据所述信任用户簇中各信任用户在用户-评分矩阵中对应的评分行向量,获取信任用户对各商品的信任评分值以组成商品推荐行向量。

在本实施例中,用户-评分矩阵表示用户对项目(项目可以理解为具体的商品)的评分,用户-评分矩阵的横轴为项目,纵轴为用户,当中的值是用户i对项目j的评分。例如用户-评分矩阵s为4×6的矩阵,如:

用户-评分矩阵s中第一行的行向量表示用户1分别针对项目1-项目5的评分,第二行的行向量表示用户2分别针对项目1-项目5的评分,第三行的行向量表示用户3分别针对项目1-项目5的评分。

例如,确定了信任用户簇中包括用户2和用户4,则在用户-评分矩阵中对应获取用户2和用户4的评分行向量,也即第二行的行向量和第四行的行向量。在综合考虑目标用户与信任用户簇中各用户之间的信任值,以及信任用户对各商品的评分值,即可运算得到商品推荐行向量。

在一实施例中,如图7所示,推荐行向量获取单元140包括:

评分矩阵获取单元141,用于获取所述信任用户簇中各信任用户在用户-评分矩阵中对应的评分行向量组成的评分矩阵;

信任用户行向量获取单元142,用于获取由所述信任用户簇在目标用户对应的行向量中各信任值大小组成的信任用户行向量;

矩阵计算单元143,用于将所述信任用户行向量与所述评分矩阵相乘,以得到商品推荐行向量。

在本实施中,例如选定的确定了信任用户簇中包括用户2和用户4,则在用户-评分矩阵中对应获取用户2和用户4的评分行向量,也即第二行的行向量和第四行的行向量,则用户2和用户4针对各项目(也即各商品)之间评分组成的评分矩阵如下:

在一实施例中,评分矩阵获取单元141还用于:获取所述信任用户簇中各信任用户在用户-评分矩阵中对应的评分行向量,按照各信任用户在用户-评分矩阵中对应的评分行向量中行序号的先后顺序进行排列,得到评分矩阵。按照上述各用户在用户-评分矩阵中各行出现的先后顺序,来依序获取各信任用户在用户-评分矩阵中对应的评分行向量,上述方式能精确获取各信任用户对应的评分行向量组成的评分矩阵,便于后续计算用户对各商品的信任评分值。

由所述信任用户簇在目标用户对应的行向量中各信任值大小组成的信任用户行向量为[31]。

在一实施例中,信任用户行向量获取单元142还用于:获取信任值大小位于预设排名阈值之前的信任用户,将信任值大小位于所述排名阈值之前的信任用户按照在目标用户对应的行向量中列序号的先后顺序进行排列,得到信任用户行向量。按照上述各用户在目标用户对应的行向量中各列出现的先后顺序,来依序获取在目标用户对应的行向量中各信任值大小,以组成的信任用户行向量,上述方式能精确获取信任用户行向量,便于后续计算用户对各商品的信任评分值。

将信任用户行向量与评分矩阵相乘,即

即商品推荐行向量为[2138137],这一商品推荐行向量中评分排名较高的评分所对应商品即可作为信任群体对目标用户所推荐的商品。通过将信任用户行向量与评分矩阵相乘的方式获取商品推荐行向量,能有效参考信任用户所对各商品的综合评分,以作为对目标用户进行商品推荐的参考指标。

推送单元150,用于由商品推荐行向量得到商品推荐列表,将所述商品推荐列表推送至目标用户对应的接收端。

在本实施例中,在获取了商品推荐行向量后,即可获知信任用户簇中各信任用户对各商品的综合评分,此时可选择商品推荐行向量对应的各评分中评分排名位于预设排名值(如预设的排名值为4)之前的评分,再获取各评分中评分排名位于预设排名值之前的评分对应的商品信息,将商品信息组成商品推荐列表并推送至目标用户对应的接收端。采用计算商品推荐行向量的方式来获取商品推荐列表,能有效提高推荐的准确度。

例如,上述信任群体(用户2和用户4)向用户1推荐的5件商品中,评分按降序排序后排名位于前3名的商品分别是商品2、商品3和商品4,此时将上述3件商品作为商品推荐行向量。

该装置采用智能推荐技术实现了通过用户之间存在相互评论关系确定信任用户簇,根据信任用户所推荐的商品以对目标用户进行精准推荐。

上述基于信任网络的推送装置可以实现为计算机程序的形式,该计算机程序可以在如图9所示的计算机设备上运行。

请参阅图9,图9是本发明实施例提供的计算机设备的示意性框图。

参阅图9,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。

该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行基于信任网络的推送方法。

该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。

该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行基于信任网络的推送方法。

该网络接口505用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图9中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下功能:若当前时刻的商品评论信息与上一时刻的商品评论信息比对以判定用户之间存在新增的相互评论关系,根据用户之间新增的相互评论关系对应的评论内容获取当前信任值;根据所述当前信任值对上一时刻存储的用户信任矩阵进行更新,得到当前时刻存储的用户信任矩阵;其中,上一时刻存储的用户信任矩阵和当前时刻存储的用户信任矩阵中,每一取值表示取值所在行对应的用户对取值所在列对应的用户的信任值;获取从所述当前时刻存储的用户信任矩阵选中的行向量所对应的目标用户,根据目标用户对应的行向量中各信任值大小,获取信任值大小位于预设排名阈值之前的信任用户以组成信任用户簇;根据所述信任用户簇中各信任用户在用户-评分矩阵中对应的评分行向量,获取信任用户对各商品的信任评分值以组成商品推荐行向量;由商品推荐行向量得到商品推荐列表,将所述商品推荐列表推送至目标用户对应的接收端。

在一实施例中,处理器502在执行所述根据用户之间新增的相互评论关系对应的评论内容获取当前信任值的步骤时,执行如下操作:获取用户之间新增的的相互评论关系对应的评论内容,将所述评论内容进行分词得到分词结果;通过word2vec模型获取分词结果中各评论关键词对应的词向量,由分词结果中各评论关键词对应的词向量对应获取文本向量;将文本向量作为预先训练得到的朴素贝叶斯模型的输入,得到与评论内容对应的情感识别结果;其中,若情感识别结果为正面情感结果时情感识别结果取值为1,若情感识别结果为负面情感结果时情感识别结果取值为-1,若情感识别结果为中性情感结果时情感识别结果取值为0;将情感识别结果与衰减系数相乘,得到当前信任值;其中衰减系数为e-λ(t-t0),λ为预设的调节参数且取值范围为(0,1),t-t0为用户之间的相互评论关系对应的评论时间间隔。

在一实施例中,处理器502在执行所述根据所述信任用户簇中各信任用户在用户-评分矩阵中对应的评分行向量,获取信任用户对各商品的信任评分值以组成商品推荐行向量的步骤时,执行如下操作:获取所述信任用户簇中各信任用户在用户-评分矩阵中对应的评分行向量组成的评分矩阵;获取由所述信任用户簇在目标用户对应的行向量中各信任值大小组成的信任用户行向量;将所述信任用户行向量与所述评分矩阵相乘,以得到商品推荐行向量。

在一实施例中,处理器502在执行所述将所述评论内容进行分词得到分词结果的步骤时,执行如下操作:按从左至右的顺序从评论内容中取出候选词;在预先存储的词典中查询与每一候选词对应的概率值,并记录每一候选词的左邻词;计算获取每一候选词的累积概率,并获取每一候选词对应的多个左邻词各自的累积概率,若每一候选词的多个左邻词中存在累积概率为多个左邻词的累积概率中最大值的左邻词,将累积概率中最大值的左邻词作为与候选词对应的最佳左邻词;以评论内容的终点词为起点,从右至左依次输出与每一候选词对应的最佳左邻词,得到分词结果。

在一实施例中,处理器502在执行所述获取所述信任用户簇中各信任用户在用户-评分矩阵中对应的评分行向量组成的评分矩阵的步骤时,执行如下操作:获取所述信任用户簇中各信任用户在用户-评分矩阵中对应的评分行向量,按照各信任用户在用户-评分矩阵中对应的评分行向量中行序号的先后顺序进行排列,得到评分矩阵。

在一实施例中,处理器502在执行所述获取由所述信任用户簇在目标用户对应的行向量中各信任值大小组成的信任用户行向量的步骤时,执行如下操作:获取信任值大小位于预设排名阈值之前的信任用户,将信任值大小位于所述排名阈值之前的信任用户按照在目标用户对应的行向量中列序号的先后顺序进行排列,得到信任用户行向量。

本领域技术人员可以理解,图9中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图9所示实施例一致,在此不再赘述。

应当理解,在本发明实施例中,处理器502可以是中央处理单元(centralprocessingunit,cpu),该处理器502还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现以下步骤:若当前时刻的商品评论信息与上一时刻的商品评论信息比对以判定用户之间存在新增的相互评论关系,根据用户之间新增的相互评论关系对应的评论内容获取当前信任值;根据所述当前信任值对上一时刻存储的用户信任矩阵进行更新,得到当前时刻存储的用户信任矩阵;其中,上一时刻存储的用户信任矩阵和当前时刻存储的用户信任矩阵中,每一取值表示取值所在行对应的用户对取值所在列对应的用户的信任值;获取从所述当前时刻存储的用户信任矩阵选中的行向量所对应的目标用户,根据目标用户对应的行向量中各信任值大小,获取信任值大小位于预设排名阈值之前的信任用户以组成信任用户簇;根据所述信任用户簇中各信任用户在用户-评分矩阵中对应的评分行向量,获取信任用户对各商品的信任评分值以组成商品推荐行向量;以及由商品推荐行向量得到商品推荐列表,将所述商品推荐列表推送至目标用户对应的接收端。

在一实施例中,所述根据用户之间新增的相互评论关系对应的评论内容获取当前信任值,包括:获取用户之间新增的的相互评论关系对应的评论内容,将所述评论内容进行分词得到分词结果;通过word2vec模型获取分词结果中各评论关键词对应的词向量,由分词结果中各评论关键词对应的词向量对应获取文本向量;将文本向量作为预先训练得到的朴素贝叶斯模型的输入,得到与评论内容对应的情感识别结果;其中,若情感识别结果为正面情感结果时情感识别结果取值为1,若情感识别结果为负面情感结果时情感识别结果取值为-1,若情感识别结果为中性情感结果时情感识别结果取值为0;将情感识别结果与衰减系数相乘,得到当前信任值;其中衰减系数为e-λ(t-t0),λ为预设的调节参数且取值范围为(0,1),t-t0为用户之间的相互评论关系对应的评论时间间隔。

在一实施例中,所述根据所述信任用户簇中各信任用户在用户-评分矩阵中对应的评分行向量,获取信任用户对各商品的信任评分值以组成商品推荐行向量,包括:获取所述信任用户簇中各信任用户在用户-评分矩阵中对应的评分行向量组成的评分矩阵;获取由所述信任用户簇在目标用户对应的行向量中各信任值大小组成的信任用户行向量;将所述信任用户行向量与所述评分矩阵相乘,以得到商品推荐行向量。

在一实施例中,所述将所述评论内容进行分词得到分词结果,包括:按从左至右的顺序从评论内容中取出候选词;在预先存储的词典中查询与每一候选词对应的概率值,并记录每一候选词的左邻词;计算获取每一候选词的累积概率,并获取每一候选词对应的多个左邻词各自的累积概率,若每一候选词的多个左邻词中存在累积概率为多个左邻词的累积概率中最大值的左邻词,将累积概率中最大值的左邻词作为与候选词对应的最佳左邻词;以评论内容的终点词为起点,从右至左依次输出与每一候选词对应的最佳左邻词,得到分词结果。

在一实施例中,所述获取所述信任用户簇中各信任用户在用户-评分矩阵中对应的评分行向量组成的评分矩阵,包括:获取所述信任用户簇中各信任用户在用户-评分矩阵中对应的评分行向量,按照各信任用户在用户-评分矩阵中对应的评分行向量中行序号的先后顺序进行排列,得到评分矩阵。

在一实施例中,所述获取由所述信任用户簇在目标用户对应的行向量中各信任值大小组成的信任用户行向量,包括:获取信任值大小位于预设排名阈值之前的信任用户,将信任值大小位于所述排名阈值之前的信任用户按照在目标用户对应的行向量中列序号的先后顺序进行排列,得到信任用户行向量。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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