一种信息推荐方法技术

技术编号:9864942 阅读:100 留言:0更新日期:2014-04-02 21:58
本发明专利技术涉及信息技术领域,特别涉及一种信息推荐方法,包括:接收到访问请求时,提取与访问请求相对应的当前用户的特征信息,根据特征信息确定当前用户是否为新用户;确定当前用户为新用户时,根据当前用户的历史访问记录,按照点击率排名向当前用户进行热点推荐;确定当前用户为老用户时,对预先存储的用户信息及项目信息进行聚类,生成用户聚类;在用户聚类中,生成基于项目内容的第一推荐列表,还生成基于用户-项目网络的协同过滤的第二推荐列表;根据第一推荐列表及第二推荐列表生成混合推荐列表;根据混合推荐列表向当前用户进行信息推荐。该信息推荐方法形成的推荐信息的实时性提高,精确性及关联性提高,能够有效为用户进行信息推荐。

【技术实现步骤摘要】
一种信息推荐方法
本专利技术涉及信息
,具体而言,涉及一种信息推荐方法。
技术介绍
随着信息技术的发展,用户可方便快捷地接触到大量信息。但,海量信息及海量用户的同时出现,一方面令用户难以从海量数据信息中发现自己的目标数据,同时也造成大量信息的无人问津,使得信息利用率低;另一方面,用户访问量的增加造成原始日志文件的增加。为了有针对性的向用户提供其所需要的信息,进而出现了用于向用户推荐相关信息的推荐系统及推荐方法。具体地,推荐系统,就是通过建立用户与信息产品之间的二元关系,利用已有的选择过程或相似性关系挖掘每个用户潜在的感兴趣的对象,进而进行个性化推荐,其本质就是信息过滤。相关技术中的信息推荐方法的推荐形式主要有两种,一种是基于内容的推荐,另一种是基于协同过滤算法的推荐。但,现有的该两种推荐方法均存在着一定局限性。例如,基于协同过滤算法的推荐方法需通过计算用户或是项目的相似度以识别“最近邻居”,在大数据情况下,计算量的增加直接影响信息推荐的实时性和精确度。而基于内容的推荐则过分依赖信息的特征,使得实现后的推荐不能够很好的表达信息的关联性,进而导致不能够为用户进行有效的信息推荐。
技术实现思路
本专利技术的目的在于提供一种信息推荐方法,以解决上述的问题。在本专利技术的实施例中提供了一种信息推荐方法,包括:接收到访问请求时,提取与所述访问请求相对应的当前用户的特征信息,根据所述特征信息确定所述当前用户是否为新用户;确定所述当前用户为新用户时,根据所述当前用户的历史访问记录,按照点击率排名向所述当前用户进行热点推荐;确定所述当前用户为老用户时,对预先存储的用户信息及项目信息进行聚类,生成用户聚类;在所述用户聚类中,生成基于项目内容的第一推荐列表,还生成基于用户-项目网络的协同过滤的第二推荐列表;根据所述第一推荐列表及所述第二推荐列表生成混合推荐列表;根据所述混合推荐列表向当前用户进行信息推荐。本专利技术上述实施例的信息推荐方法,接收到用户的访问请求,向用户进行信息推荐时,能够根据用户的特征信息将用户分为新用户及老用户,对于新用户进行热点推荐;而向老用户进行信息推荐时,会将系统中存储的大量数据进行聚类,如此能够将海量用户降维成有限的几个聚类,在形成的用户聚类中对用户形成推荐信息,如此能够简化海量数据的计算,保证信息推荐的实时性,而且在形成的聚类中形成面向老用户的推荐信息时,能够基于项目内容生成第一推荐列表及基于用户-项目网络的协同过滤生成第二推荐列表,其中用户-项目网络是指根据用户信息及项目信息形成的信息网络。根据第一推荐列表及第二推荐列表形成混合推荐列表,通过混合推荐列表能够避免基于内容推荐的过于依赖信息特征的缺陷,而且通过混合推荐列表向用户进行信息推荐,保证推荐的信息的精确性,及推荐的信息的关联性,因此通过本专利技术的信息推荐方法形成的推荐信息的实时性提高,推荐信息的精确性及关联性提高,保证能够有效为用户进行信息推荐。附图说明图1示出了本专利技术实施例信息推荐方法的流程图;图2示出了本专利技术实施例中对预先存储的用户信息及项目信息进行聚类的流程图;图3示出了本专利技术实施例中构建用户偏好向量的流程图;图4示出了本专利技术实施例中基于Hadoop技术,采用MapReduce编程模型下的K-Means算法对构建的所有用户偏好向量进行聚类操作的流程图;图5示出了本专利技术实施例中在用户聚类中生成基于项目内容的第一推荐列表的流程图;图6示出了本专利技术实施例中在用户聚类中生成基于用户-项目网络的协同过滤的第二推荐列表的流程图;图7示出了本专利技术实施例中在用户聚类中构建项目网络的流程图。具体实施方式下面通过具体的实施例子并结合附图对本专利技术做进一步的详细描述。本专利技术实施例提供一种推荐方法,如图1所示,主要处理步骤包括:步骤A:接收到访问请求时,提取与所述访问请求相对应的当前用户的特征信息,根据所述特征信息确定所述当前用户是否为新用户;确定所述当前用户为新用户时,执行步骤B:根据所述当前用户的历史访问记录,按照点击率排名向所述当前用户进行热点推荐;确定所述当前用户为老用户时,执行步骤C:对预先存储的用户信息及项目信息进行聚类,生成用户聚类;在所述用户聚类中,生成基于项目内容的第一推荐列表,还生成基于用户-项目网络的协同过滤的第二推荐列表;根据所述第一推荐列表及所述第二推荐列表生成混合推荐列表;根据所述混合推荐列表向当前用户进行信息推荐。步骤A中,所述根据所述特征信息确定所述当前用户是否为新用户,包括:所述特征信息为发出所述访问请求的当前用户的已参与项目数目;将提取的所述已参与项目数目与预设的项目数目阈值进行比较,若所述已参与项目数目不大于所述项目数目阈值,则确定所述当前用户为新用户,否则确定所述当前用户为老用户。步骤C中,所述对预先存储的用户信息及项目信息进行聚类,生成用户聚类,如图2所示,包括:步骤C1:根据预先存储的用户信息及项目信息,构建用户偏好向量;步骤C2:基于Hadoop技术,采用MapReduce编程模型下的K-Means算法对构建的所有所述用户偏好向量进行聚类操作,生成用户聚类。步骤C1中所述根据预先存储的用户信息及项目信息,构建用户偏好向量,如图3所示,包括:步骤C11:所述项目信息对应设置有项目类别标签,根据所述项目类别标签确定所述用户偏好向量的分量及维度;其中,所述用户偏好向量的数学表达式为:所述用户偏好向量的分量的前部为项目类别标签,后部为分量权重;所述用户偏好向量的维度k由项目类别数目确定;步骤C12:采用TF-IDF算法确定所述用户偏好向量的分量权重。具体地,步骤C12采用TF-IDF算法确定所述用户偏好向量的分量权重,包括:存储的所有所述项目信息组成项目集,所述项目集中的项目信息的项目数目记为N;所述项目集中设置有项目类别标签ti的项目信息的项目数目为ni;所述项目集中,将项目类别标签ti在任意用户u已参与项目信息中出现的次数记为fiu;则,项目类别标签ti在所述用户u已参与项目集中出现的词频为其中,maxzfzu是指所述用户u已参与项目集中项目类别标签出现的最大次数;项目类别标签ti在所述项目集中出现的逆频为根据所述项目类别标签ti在所述用户u已参与项目集中出现的词频及在所述项目集中出现的逆频,确定项目类别标签ti在与用户u相关的用户偏好向量中的分量权重为:步骤C2中基于Hadoop技术,采用MapReduce编程模型下的K-Means算法对构建的所有所述用户偏好向量进行聚类操作,生成用户聚类,如图4所示,包括:步骤C21:所有所述用户偏好向量组成用户偏好向量集合;其中,用户偏好向量集合表达式为{P1,P2,...,Pn}步骤C22:从所述用户偏好向量集合中随机选取K个用户偏好向量分别作为K个类的初始中心,该K个初始中心分别记为C1,C2,...CK;步骤C23:利用Split过程按预设规则对所述用户偏好向量集合中的所有用户偏好向量进行分组;步骤C24:利用Map过程,按照所述Split过程分组的结果,计算所述用户偏好向量集合中每个所述用户偏好向量分别到K个所述初始中心的中心距离,并根据最短中心距离原则,形成K个聚类,同时确定K个所述聚类的用户中心;其中,中心距离的计算公式为:(1≤i≤n,1≤j≤K);根据最短中心距离本文档来自技高网...
一种信息推荐方法

【技术保护点】
一种信息推荐方法,其特征在于,包括:接收到访问请求时,提取与所述访问请求相对应的当前用户的特征信息,根据所述特征信息确定所述当前用户是否为新用户;确定所述当前用户为新用户时,根据所述当前用户的历史访问记录,按照点击率排名向所述当前用户进行热点推荐;确定所述当前用户为老用户时,对预先存储的用户信息及项目信息进行聚类,生成用户聚类;在所述用户聚类中,生成基于项目内容的第一推荐列表,还生成基于用户‑项目网络的协同过滤的第二推荐列表;根据所述第一推荐列表及所述第二推荐列表生成混合推荐列表;根据所述混合推荐列表向当前用户进行信息推荐。

【技术特征摘要】
1.一种信息推荐方法,其特征在于,包括:接收到访问请求时,提取与所述访问请求相对应的当前用户的特征信息,根据所述特征信息确定所述当前用户是否为新用户;确定所述当前用户为新用户时,根据所述当前用户的历史访问记录,按照点击率排名向所述当前用户进行热点推荐;确定所述当前用户为老用户时,对预先存储的用户信息及项目信息进行聚类,生成用户聚类;在所述用户聚类中,生成基于项目内容的第一推荐列表,还生成基于用户-项目网络的协同过滤的第二推荐列表;根据所述第一推荐列表及所述第二推荐列表生成混合推荐列表;根据所述混合推荐列表向当前用户进行信息推荐;所述对预先存储的用户信息及项目信息进行聚类,生成用户聚类,包括:根据预先存储的用户信息及项目信息,构建用户偏好向量;基于Hadoop技术,采用MapReduce编程模型下的K-Means算法对构建的所有所述用户偏好向量进行聚类操作,生成用户聚类;所述根据预先存储的用户信息及项目信息,构建用户偏好向量,包括:所述项目信息对应设置有项目类别标签,根据所述项目类别标签确定所述用户偏好向量的分量及维度;其中,所述用户偏好向量的数学表达式为:所述用户偏好向量的分量的前部为项目类别标签,后部为分量权重;所述用户偏好向量的维度k由项目类别数目确定;采用TF-IDF算法确定所述用户偏好向量的分量权重。2.根据权利要求1所述的方法,其特征在于,所述根据所述特征信息确定所述当前用户是否为新用户,包括:所述特征信息为发出所述访问请求的当前用户的已参与项目数目;将提取的所述已参与项目数目与预设的项目数目阈值进行比较,若所述已参与项目数目不大于所述项目数目阈值,则确定所述当前用户为新用户,否则确定所述当前用户为老用户。3.根据权利要求1所述的方法,其特征在于,所述采用TF-IDF算法确定所述用户偏好向量的分量权重,包括:存储的所有所述项目信息组成项目集,所述项目集中的项目信息的项目数目记为N;所述项目集中设置有项目类别标签ti的项目信息的项目数目为ni;所述项目集中,将项目类别标签ti在任意用户u已参与项目信息中出现的次数记为fiu;则,项目类别标签ti在所述用户u已参与项目集中出现的词频为其中,maxzfzu是指所述用户u已参与项目集中项目类别标签出现的最大次数;项目类别标签ti在所述项目集中出现的逆频为根据所述项目类别标签ti在所述用户u已参与项目集中出现的词频及在所述项目集中出现的逆频,确定项目类别标签ti在与用户u相关的用户偏好向量中的分量权重为:4.根据权利要求1所述的方法,其特征在于,所述基于Hadoop技术,采用MapReduce编程模型下的K-Means算法对构建的所有所述用户偏好向量进行聚类操作,生成用户聚类,包括:所有所述用户偏好向量组成用户偏好向量集合;从所述用户偏好向量集合中随机选取K个用户偏好向量分别作为K个类的初始中心;利用Split过程按预设规则对所述用户偏好向量集合中的所有用户偏好向量进行分组;利用Map过程,按照所述Split过程分组的结果,计算所述用户偏好向量集合中每个所述用户偏好向量分别到K个所述初始中心的中心距离,并根据最短中心距离原则,形成K个聚类,同时确定K个所述聚类的用户中心;利用Shuffle过程,对K个所述聚类进行洗牌归类;利用Reduce过程,重新计算所述洗牌归类后的K个聚类的聚类中心;将重新计算得到的所述聚类中心分别对应地与所述用户中心进行比较;若重新计算得到的所述聚类中心分别对应地与所述用户中心相等,则完成聚类操作,输出聚类结果;否则,按预设规则重新计算聚类用户中心,直至聚类用户中心稳定。5.根据权利要求1所述的方法,其特征在于,所述在所述用户聚类中,生成基于项目内容的第一推荐列表,包括:在当前用户所属的用户聚类中,构建项目属性向量;其中,所述项目属性向量的数学表达式为:所述项目属性向量...

【专利技术属性】
技术研发人员:程嘉薪李丽丽雷翻翻马雪峰
申请(专利权)人:北京中兴通软件科技股份有限公司
类型:发明
国别省市:北京;11

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1