CN105320719A - 一种基于项目标签和图形关系的众筹网站项目推荐方法 - Google Patents

一种基于项目标签和图形关系的众筹网站项目推荐方法 Download PDF

Info

Publication number
CN105320719A
CN105320719A CN201510024501.8A CN201510024501A CN105320719A CN 105320719 A CN105320719 A CN 105320719A CN 201510024501 A CN201510024501 A CN 201510024501A CN 105320719 A CN105320719 A CN 105320719A
Authority
CN
China
Prior art keywords
user
project
label
tree
behavior
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510024501.8A
Other languages
English (en)
Other versions
CN105320719B (zh
Inventor
梁大桥
白浚楼
钱雪娇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Southeast University
Focus Technology Co Ltd
Original Assignee
Southeast University
Focus Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Southeast University, Focus Technology Co Ltd filed Critical Southeast University
Priority to CN201510024501.8A priority Critical patent/CN105320719B/zh
Publication of CN105320719A publication Critical patent/CN105320719A/zh
Application granted granted Critical
Publication of CN105320719B publication Critical patent/CN105320719B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种基于树形标签和图形关系的众筹网站项目推荐方法,包括以下步骤:步骤1)基于树形标签的推荐:对众筹网站项目的属性进行了划分,对其进行建模,利用树描述项目标签,将用户行为和项目标签之间的联系抽象用户的私人标签树,并将树形标签存储在文档型数据库CouchDB中;步骤2):基于图形关系的推荐,存储在图数据库Neo4j中;步骤3):将步骤1)和步骤2)中的两组项目加权求和平均,最终得到k2个推荐的项目综合结果并异步传输给用户。本发明解决现有传统个性化推荐方法在处理众筹平台中项目属性、用户行为和用户与项目关系时面临的推荐效率低和推荐精度差等问题。

Description

一种基于项目标签和图形关系的众筹网站项目推荐方法
技术领域
本发明涉及机器学习、图数据库和推荐算法领域,具体是指在众筹网站环境下实现一种基于项目标签、用户行为和用户相似度的个性化推荐方法,根据众筹网站中的项目属性和用户行为特点,利用文档型数据库CouchDB存储项目标签;利用Neo4j数据库存储用户间关系和项目用户映射关系,根据图结构计算用户相似度,并根据用户相似度得出推荐结果,进而提供快速高效的个性化项目推荐服务。
背景技术
众筹网站最初的目的是帮助有梦想、有创意的人筹集期望资源(资金众筹,物品众筹,人力众筹等),项目发起方通过文字,图片,视频等方式将自己希望实现的创意、梦想展示在网站上,设定目标额度以及执行周期。
众筹网站面向的用户群庞大、项目与用户关系复杂,如何能够快速地让用户获取到自己感兴趣的项目,因此个性化推荐技术应运而生。个性化推荐是一种根据用户的主观兴趣和客观使用行为,主动向用户推荐其可能感兴趣的项目的信息过滤技术。个性化推荐技术作为一种重要的信息过滤手段,能够有效解决众筹网站中存在的项目信息过载问题。
目前,个性化推荐技术已被广泛应用于电子商务,社会网络等互联网应用中,尽管有一些研究成果,但其仍面临很多挑战,主要包括项目分类标签,用户行为描述,用户相似度计算,待推荐项目的相似度问题等。
如现有技术公开有如下技术:CN201310091450.1推荐方法及系统,包括:接收待检索地点的信息;提取所述待检索地点的坐标位置;根据所述待检索的地点信息的坐标位置以及预设的地图数据库,获取距离待检索地点一定范围内的临近地点信息;根据预设的相似性规则和关联性规则分别计算。
CN201310300482.8目的地推荐系统和目的地推荐方法-目的地推荐系统包括存储设施数据的地图数据库(12)、存储行驶历史数据的行驶历史数据库(14)、行程目的地确定部(24)、计算部(26)、搜索部(28)和输出部(18)。当从枢纽位置到每个行程目的地的多个访问的次数或频率满足预定条件时,行程目的地的多个访问的次数或频率进行推。
CN201210343032.2基于标签技术的个人交互数据检索方法及其系统,该方法将交互数据与标签之间的二元关系存储在数据库中,通过设计标签的总权重和标签与标签之间的权重计算方法,构建基于带权树形结构的用户兴趣模型,从而有效的描述用户对标签的偏好特征。
CN201410381792.1资源推荐方法及装置,该资源推荐方法包括:获取用户从当前浏览器页面选中的信息;以及根据信息获得与信息相关的资源,并在当前浏览器页面上显示资源。本发明实施例提供的资源推荐方法及装置,在不影响用户浏览当前浏览器页面的同时,为资源推荐。
CN201410223047.4信息推荐方法及装置,其中信息推荐方法,包括:接收客户端发送的用户开启资源的请求;根据请求查询用户的历史浏览记录,并根据历史浏览记录获得待播放的信息,其中,历史浏览记录中包含用户浏览的信息的相关参数和用户关闭的信息的相关参数。
CN201210280588.1用户推荐方法,包括以下步骤:获取触发推荐用户的指令;根据所述指令生成候选推荐用户列表;读取用户社交质量数据,根据所述用户社交质量数据计算所述候选推荐用户列表中的用户的匹配成功率;从候选推荐用户列表中选取匹配成功率最高的至少一个用户进行推荐。
CN201410345339.5公开了一种信息推荐方法和装置。其中,信息推荐方法包括:S1、获得来自客户端的查询信息,并对查询信息进行识别,获得识别结果;S2、根据查询信息获得相关资源,根据相关资源提取候选答案,并对候选答案进行排序,获得排序结果;S3、根据排序结果。
CN201310091450.1推荐方法及系统,方法包括:接收待检索地点的信息;提取所述待检索地点的坐标位置;根据所述待检索的地点信息的坐标位置以及预设的地图数据库,获取距离待检索地点一定范围内的临近地点信息;根据预设的相似性规则和关联性规则分别计算。
但在众筹网站中,项目往往直接或间接属于多个标签,传统推荐方法往往忽略这些标签之间的约束关系;另外,由于用户与用户之间(好友关系,合作关系等等),用户与项目之间(浏览,资助,收藏等等)有着多种连接关系,这些节点和连接关系构成了一个比较复杂的图结构,该图结构与其他类型网站有着较大的不同。使用传统关系型数据库往往很难定义这些连接关系,并且不能有效存储,也无法快速存取和更新,影响用户的推荐体验。此外,在众筹网站平台场景下,现有的众多推荐算法,往往不能综合用户行为、项目所属类别、用户相似度多方面因素考虑,影响了对用户的推荐精确度。
为了解决上述问题,需要提出一个为众筹网站量身定做的全新的个性化推荐系统,为用户快速、高效地推荐项目。
发明内容
技术问题:本发明实现了面向众筹平台的个性化推荐。首先,发明了基于树形标签的项目推荐算法,定义了符合众筹平台特点的用户行为影响规则,对用户行为和项目属性进行了划分、放置、存储和查询;其次,发明了基于图结构的项目推荐算法,将用户行为和用户之间的关系存储在图数据库中,提出了基于跳数的用户相似度计算方法,为综合考虑用户行为和用户相似度进而进行推荐提供了可靠的依据。最后,两种算法的运算结果进行归一化操作,然后将两种结果进行加权求和,最终得到准确性更好的综合推荐结果。
技术方案:本发明的一种基于树形标签和图形关系的众筹网站项目推荐方法,包括以下步骤:
步骤1)基于树形标签的推荐:对众筹网站项目的属性进行了划分,对其进行建模,利用树描述项目标签,将用户行为和项目标签之间的联系抽象用户的私人标签树,并将树形标签存储在文档型数据库CouchDB中;针对用户在众筹网站中的不同行为或操作,设计符合众筹网站平台特点的行为加分规则,加分规则与树形标签有效结合,通过私人标签树计算用户对各类标签的偏好程度,选出一组符合用户欣赏趋向的前K个项目;
建模时将用户行为和项目标签之间的联系抽象用户的私人标签树,并存入文档型数据库CouchDB中,通过私人标签树计算用户对各类标签的偏好程度,选取Topk个用户较感兴趣的项目;
步骤2):基于图形关系的推荐。对用户与用户之间的关系以及用户与众筹网站项目之间的关系用图进行建模,利用图数据库Neo4j存放用户与用户、用户和项目之间的关系图(也即用户-项目图),基于用户-项目图确定用户之间的相似度,并存储在图数据库Neo4j中。针对用户在众筹网站中的不同行为和操作映射到边的权值上,权值设定规则与图形关系有效结合,并基于用户相似度和用户行为选取Topk1个用户较感兴趣的项目(为用户推荐出另一组TopK1项目);
步骤3):将步骤1)和步骤2)中的两组项目加权求和平均,最终得到k2个推荐的项目综合结果并异步传输给用户。
以上根据步骤1)和步骤2)得出的Topk和TopK1个项目的兴趣度(兴趣得分)进行加权平均,得出最终的k2个推荐的项目。
进一步的,步骤4):将用户行为或操作实时保存到网站日志中,并根据该日志更新各用户的私人标签树,更新用户-项目图,将结果覆盖到缓存中,并选择合适时间将缓存结果持久化。每隔一段时间,读取缓存中的私人标签树和用户-项目图,根据步骤1)、步骤2)和步骤3)再重新计算一次推荐结果,将推荐的项目利用AJAX定时异步传回给前台显示。
所述的步骤4)中,采用MySQL数据库存储推荐结果,采用Struts2.0+Spring3.0+Hibernate4.0的web应用编程框架,使用BootStrap前端框架构造界面风格良好的用户界面。使用AJAX交互式网页应用实现网页的异步更新,提高用户推荐体验。
进一步,所述的步骤1)的基于树形标签推荐中,将用户的行为映射到对树形标签的节点权重的影响上;用户的行为不仅对项目本身直属标签有影响,还会对项目的间接所属标签有影响,间接所属标签影响的比例由一个类斐波那契数列来确定,最终的权重跟标签节点所属层数和项目标签路径长度有关;最终根据项目属性和树形标签的节点权重为用户推荐项目;树形标签是存储在文档型数据库CouchDB中的,ApacheCouchDB是一个面向文档的数据库管理系统,它提供以JSON作为数据格式的REST接口来对其进行操作,并可以通过视图来操纵文档的组织和呈现。步骤1)中,提出标签树的概念,标签树是联系用户和项目的纽带,也是反映用户兴趣的重要数据源。将用户的行为映射到标签树的节点的权重上。每个用户都有一个私人标签树,用户的每一次行为操作都将影响到该私人标签树。将用户的私人标签树存入文档型数据库。在需要推荐的时候,根据私人标签树生成用户的兴趣矩阵,由兴趣矩阵为用户推荐Topk个项目;
进一步,所述的步骤2)的基于图形关系推荐过程中,将用户与用户的关系(好友关系,项目合作者关系),以及用户与项目的关系(浏览,关心,参与,评分评论)映射到图形关系中即构建“用户-项目图”;用户的行为将对用户与项目之间的边的权值产生影响;用户与用户之间的相似度由用户与用户在图中的距离来描述,而用户之间的距离又是基于跳数来计算的,在计算的过程中需要去除热门项目节点的影响;定义基于跳数和广度优先搜索的用户节点距离,由用户节点距离定义用户相似度,距离越近,用户越相似,将用户的行为映射到用户-项目图的边的权值上,最终根据用户相似度(和用户行为)和图形节点的边权值为用户推荐项目Topk2。
图形关系是存储在图数据库Neo4j中的,Neo4j是一个用Java实现、完全兼容ACID的图形数据库,数据以一种针对图形网络进行过优化的格式保存在磁盘上。是一种极快的图形引擎。
进一步,所述的步骤3)中综合前面并行得到的两组结果,加权求和得到最终的推荐列表;采用MySQL数据库存储推荐结果,采用MySQL数据库存储推荐结果;基于WEB应用MVC框架Struts2、WEB应用集成框架Spring、以及Java持久性框架Hibernate对象关系映射框架开发web应用程序和编写推荐模块;使用BootStrap前端框架构造用户体验良好的界面;使用AJAX异步传回推荐列表。
由于CouchDB构建在强大的B-树储存引擎之上。这种引擎负责对CouchDB中的数据进行排序,并提供一种能够在对数均摊时间内执行搜索、插入和删除操作的机制。CouchDB将这个引擎用于所有内部数据、文档和视图。
因为CouchDB数据库的结构独立于模式,所以它依赖于使用视图创建文档之间的任意关系,以及提供聚合和报告特性。使用Map/Reduce计算这些视图的结果,Map/Reduce是一种使用分布式计算来处理和生成大型数据集的模型。Map/Reduce模型由Google引入,可分为Map和Reduce两个步骤。在Map步骤中,由主节点接收文档并将问题划分为多个子问题。然后将这些子问题发布给工作节点,由它处理后再将结果返回给主节点。在Reduce步骤,主节点接收来自工作节点的结果并合并它们,以获得能够解决最初问题的总体结果和答案。
CouchDB中的Map/Reduce特性生成键/值对,CouchDB将它们插入到B-树引擎中并根据它们的键进行排序。这就能通过键进行高效查找,并且提高B-树中的操作的性能。此外,这还意味着可以在多个节点上对数据进行分区,而不需要单独查询每个节点。
本发明解决现有传统个性化推荐方法在处理众筹平台中项目属性、用户行为和用户与项目关系时面临的推荐效率低和推荐精度差等问题。本发明分为基于树形标签推荐和图形关系推荐两个部分:基于树形标签推荐部分利用文档型数据库CouchDB存储用户标签,结合用户行为和用户标签为用户推荐第一类Topk项目列表;基于图形关系推荐部分利用图数据库neo4j存储用户与用户、用户与项目的复杂图关系结构,采用基于跳数的策略计算用户相似度,并根据用户相似度和用户行为为用户推荐第二类Topk项目列表;综合两类Topk项目列表产生最终的推荐项目序列。本发明在处理众筹平台环境下产生的用户行为数据时具有显著优势。
有益效果:本发明与现有个性化推荐方法相比,具有以下优点:
1.根据项目的特点为项目加入树形标签,利用树形标签来描述用户对物品的看法,使用标签来提高众筹平台的个性化推荐系统的质量;
2.针对用户在众筹网站中的不同行为和操作,设计符合众筹平台特点的行为加分规则,加分规则与树形标签有效结合,推荐方法更具针对性;
3.相较于传统矩阵,采用图结构精确地表示用户与用户、用户与项目之间的关系,采用新型的基于跳数的用户相似度计算方法,同时根据节点的度的大小去除热门项目对相似度的影响。这样更能符合众筹平台场景下用户相似度的定义,有效地提高了推荐效率;
4.将图结构保存在neo4j图数据库中,摒弃了传统关系型数据库,同时利用缓存技术,加快了算法的读取和更新速率,降低了客户端推荐响应时间;
5.将利用树形标签和图数据库的两种推荐算法产生的结果加权求和,提高了推荐准确率;
6.采用定时推荐的方式,尽可能考虑用户实时行为变化,利用稳定的Web展示技术,在线给出实时性较好的推荐信息,提高了用户的推荐体验。
附图说明
图1为摘要附图,个性化推荐系统流程图,
图2为基于树形标签推荐流程图,
图3为基于图形关系推荐流程图,
图4为标签树示意图。
具体实施方式
一种众筹平台中基于树形标签和图数据库的个性化推荐方法包含三个模块。
第一个模块为基于树形标签的推荐模块,包括以下步骤:
a)推荐前的准备工作。根据项目的分类,可以为每个项目打上符合其类型的标签。将项目的标签库存入一棵树中,这棵树称为标签树T,树中每一个节点(如叶子节点和非叶节点)代表一个标签。子节点标签从属于父节点标签(例如,子节点“足球”标签属于父节点“体育”标签的范畴)。树的深度为H(典型为2≤H≤6)。叶子节点所表示的标签称为叶子标签,非叶节点所表示的标签称为非叶标签。根结点所表示的标签称为根标签,根标签包含所有标签。只有叶子标签能直接包含项目,非叶标签只能通过包含叶子标签来间接包含项目。
每个项目存储在关系数据库中,项目表拥有一列属性,该列存储项目的全部标签,每两个标签之间用分号隔开。
众筹平台中每一个项目都拥有若干标签,每一个标签下都包含0或多个项目(直接地或间接地)。某项目Pj的所属叶子标签记为(第零级父标签),在标签树T中的父节点标签为(第一级父标签),的父节点标签为(第二级父标签),Pj的第i级父标签为,以此类推,直至根标签。
b)管理员在审阅项目之后,为每一个项目打上若干标签(叶子标签或非叶标签),结合项目上传者给出的参考标签,并将该项目插入到关系数据表中。假设系统注册用户为m个,标签树的叶子标签有n个,那么我们定义一个m×n的二维数组(或矩阵)A,用于表示用户对某一类项目的喜欢程度(偏好)。
A = c 11 K c 1 n M O M c m 1 L c mn - - - ( 1 )
其中ci,j表示第i个用户对第j个叶子标签所代表的这一类的项目的喜好程度。ci,j越大说明喜欢程度越高。我们假设用户对任一叶子标签下的所有项目的偏好都是一样的。每个元素初始值为10。
c)为第i个用户Ui注册时,为其生成一份“私人标签树”(PrivateLabelTree,PLTree),该树的结构与T一致,但每一个节点上多加了一个权重,初始时每个节点的权重都为10。将保存入文档型数据库CouchDB中。
d)用户在众筹平台中有多种行为,可以浏览项目,“顶”、“踩”、参与项目,对项目进行评分、评论,给项目发起者和系统管理员发送站内信等。其中反映用户对某类项目的喜好程度的操作有:“顶”项目(like),“踩”项目(dislike),资助项目(subsidize),资助之后给项目好评(positivefeedback),资助之后给项目差评(negativefeedback),对项目只是浏览(browse)。用户的这6种行为操作将会是基于标签推荐算法的依据。具体来说,用户Ui在众筹平台里对项目Pj的这6种操作,都会对产生影响,也即影响到中相关节点的权重。
中节点权重增减的规则如下表所示:
表1Ui行为对中节点权重的影响
从上表中可以看出,用户Ui对项目Pj的每一次操作会影响到中从该项目所属叶子标签到根标签整条路径上的所有标签的权重。
e)在计算Pj的所有父标签的权重之后,还需要对Pj所属的叶子标签(第零级父标签)进行加权求和。假设Pj共有h个父标签,第i级的父标签节点的权重为weighti。Pj的叶子标签的最终权重为:
Σ i = 0 h - 1 weigh t i ρ h - 1 - i
其中ai=βai-1+(1-β)ai-2,2<i≤h-1,a0=1,a1=1,β∈(0.6,0.75)。
也即:
Σ i = 0 h - 1 weight i · a h - 1 - i Σ j = 0 h - 1 a j
众筹平台将用户Ui的6种操作产生的节点权重变化都累加到上,并保存入缓存中,并在适当时间修改CouchDB数据库中的副本。
f)当定时推荐的时间点到了,将每个用户的私人标签树中的每个叶子标签的最终权重读出,并存入矩阵A中。
g)对每一行的权重值进行归一化,归一化公式为:
c i , j ′ = c i , j - min j ( c i , j ) max j ( c i , j ) - min j ( c i , j )
其中ci,j′表示归一化之后第i个用户对第j个叶子标签所代表的这一类的项目的喜好程度。
h)对每一个用户,选择该用户对应的A中的那行,按照权重值从大到小排好序,从中选取前k个权重值对应的前k个项目。
i)当以下情形发生时,所有用户的私人标签树都要相应更新。
①当第j个项目Pj得到管理员审核以后,根据Pj的标签信息将Pj加入到标签树T中。同时将这一变化加入所有用户的标签得分树中。
②当项目Pj结束众筹,或者众筹期限已经失效,需要将Pj从标签树中移除。同时根据这一变化更新所有用户的标签得分树。
第二个模块为基于图形关系的推荐模块,包括以下步骤:
a.从关系数据库表中提取出用户与用户信息(包括好友关系、同一项目中的合作关系),从系统日志中提取出用户与项目信息(包括用户对项目的6种操作),构造一个无向图,该图称为用户-项目图(user-projectgraph,UP图)。节点类型包括用户节点和项目节点两种类型。用户-项目图的每条边都具有不同的权值。用户节点u和用户或项目节点v之间的权值记为w(u,v)。边的类型也包括两种,分别是:
①用户与用户节点间的边代表着好友关系,或者同一项目的资助者与受助者关系;
②用户节点与项目节点之间的边代表6种用户行为,包括“顶”项目,“踩”项目,资助项目,资助之后给项目好评,资助之后给项目差评,浏览项目。每种行为代表的边的权值不同,计分规则如表2所示。若一条边有多种行为存在,则将每种行为产生的得分累加计入边的权值。
表2用户行为对图结构中边的权值的影响
将UP图存入到Neo4j数据库中。
当出现以下情形时对缓存中的UP图进行同步更新,并及时将更新覆盖到Neo4j数据库中:
1)当第j个项目Pj得到管理员审核以后,将Pj的信息加入UP图中;
2)当项目Pj结束众筹,或者众筹期限已经失效,将Pj项目节点及其邻接边从UP图中移除;
3)某个用户产生了新的用户行为,将这些行为记录在系统日志中,并随后对UP图进行更新;
4)某个用户的好友关系发生变化(如新加好友,删除好友);
5)某个用户新资助了项目。
b.根据用户节点间的跳数计算两个用户的相似度。相似度的计算方法如下:定义用户与用户的距离度量函数。假设用户U与用户V之间有n条路径,分别用path1,path2,…,pathi,…,pathn。li表示pathi的跳数(hops),也即pathi所包含的边的数量。假设v是UP图中的任一节点,v关联的边的数量之和就称为v的度。degreei表示pathi上所有项目节点的度的最大值。那么用户U和用户V之间的距离为:
d ( U , V ) = Σ i = 1 n log ( 1 + degr ee i ) α l i . 其中。其中α∈(0,1)。
假设当前用户为U,也即推荐目标用户为U,使用广度优先搜索(BFS),计算用户-项目图中每一个用户节点与U的距离,也即:首先搜索和U跳数为1的所有用户节点,然后再去搜索和U跳数为2的其他用户节点,直至搜索完全部用户节点。
c.将所有用户节点到当前用户U距离归一化。归一化公式为:
d ( U , V ) = d ( U , U i ) - min j ( d ( U , U j ) ) max j ( d ( U , U j ) ) - min j ( d ( U , U j ) )
d.采用深度优先搜寻(DFS),当遍历到一个没有访问过的项目节点Pj,计算Pj的得分,并将Pj设置为“已访问”。假设Pj有kj个邻接用户节点,分别是 …,。假设推荐目标用户为U,那么Pj的得分为: Σ i = 1 k j d ( U , Adj P j i ) · w ( P j , Adj P j i ) , 其中表示点Pj到点的边的权值。
e.将所有项目节点按照得分从大到小排序,最终选择Topk个项目给用户U。
第三个模块为综合推荐模块,包括以下步骤:
a.推荐目标用户为U。模块一得到的Topk列表为:
list1=(P1,P2,...,Pk),其得分列表分别是score1=(x1,x2,...,xk);
模块二得到的Topk列表为:
list2=(P1′,P2′,...,Pk′),其得分列表分别是score2=(y1,y2,...,yk);
假设两个列表没有重复的项目,那么最终将得到一个长度为2k的列表list3=(P1,P2,...,Pk,P1′,P2′,...,Pk′)。将list1中每个项目的得分乘以权值μ,list1中每个项目的得分乘以权值1-μ。这样list3中每个项目的最终得分为:
score3=(μx1,μx2,...,μxk,(1-μ)y1,(1-μ)y2,...,(1-μ)yk)
b.两个推荐项目列表中很可能有重复,接下来去除list3中的重复项。若存在Pi∈list1,Pj′∈list2,Pi=Pj′,那么Pi的最终得分为μxi+(1-μ)yj,然后将Pj′从list3中删除,并将yj从score3中删除。
c.将list3按照得分排序,最终选择得分最高的Topk个项目作为最终为用户U推荐的k个项目。
d.采用MySQL数据库存储推荐结果,并利用AJAX将结果定时异步传输回前台展示给用户。
本发明根据众筹平台的业务逻辑设计和实现符合众筹特点的推荐系统,能够更加快速、高效地生成推荐结果,同时对项目推荐精度和速度等问题都进行了有效的处理,结合Web日志对用户行为进行实时、动态的记录,定时推荐,保证了推荐结果的实时性。同时为其它网络应用环境下运行的推荐系统提供了新的思路,因此,本发明必将为众筹系统个性化推荐的进一步发展贡献自己的力量。

Claims (7)

1.一种基于树形标签和图形关系的众筹网站项目推荐方法,其特征在于包括以下步骤:
步骤1)基于树形标签的推荐:对众筹网站项目的属性进行了划分,对其进行建模,利用树描述项目标签,将用户行为和项目标签之间的联系抽象用户的私人标签树,并将树形标签存储在文档型数据库CouchDB中;针对用户在众筹网站中的不同行为或操作,设计符合众筹网站平台特点的行为加分规则,加分规则与树形标签有效结合,通过私人标签树计算用户对各类标签的偏好程度,选出一组符合用户欣赏趋向的前K个项目;
步骤2):基于图形关系的推荐,对用户与用户之间的关系以及用户与众筹网站项目之间的关系用图进行建模,利用图数据库Neo4j存放用户与用户、用户和项目之间的关系图即用户-项目图,基于用户-项目图确定用户之间的相似度,并存储在图数据库Neo4j中;针对用户在众筹网站中的不同行为和操作映射到边的权值上,权值设定规则与图形关系有效结合,并基于用户相似度和用户行为选取Topk1个用户感兴趣的项目;
步骤3):将步骤1)和步骤2)中的两组项目加权求和平均,最终得到k2个推荐的项目综合结果并异步传输给用户。
以上根据步骤1)和步骤2)得出的Topk和TopK1个项目的兴趣度即兴趣得分进行加权平均,得出最终的k2个推荐的项目。
2.根据权利要求1所述基于树形标签和图形关系的众筹网站项目推荐方法,其特征在于设有步骤4):将用户行为或操作实时保存到网站日志中,并根据该日志更新各用户的私人标签树,更新用户-项目图,将结果覆盖到缓存中,并选择合适时间将缓存结果持久化。每隔一段时间,读取缓存中的私人标签树和用户-项目图,根据步骤1)、步骤2)和步骤3)再重新计算一次推荐结果,将推荐的项目利用AJAX定时异步传回给前台显示。
3.根据权利要求2所述基于树形标签和图形关系的众筹网站项目推荐方法,其特征在于所述的步骤4)中,采用MySQL数据库存储推荐结果,采用Struts2.0+Spring3.0+Hibernate4.0的web应用编程框架,使用BootStrap前端框架构造用户界面;使用AJAX交互式网页应用实现网页的异步更新,提高用户推荐体验。
4.根据权利要求1所述基于树形标签和图形关系的众筹网站项目推荐方法,其特征在于所述的步骤1)私人标签树是联系用户和项目的纽带,是反映用户兴趣的重要数据源;将用户的行为映射到私人标签树的节点的权重上;每个用户都有一个私人标签树,用户的每一次行为操作都将影响到该私人标签树;将用户的私人标签树存入文档型数据库;在需要推荐的时候,根据私人标签树生成用户的兴趣矩阵,由兴趣矩阵为用户推荐Topk个项目。
5.根据权利要求1所述基于树形标签和图形关系的众筹网站项目推荐方法,其特征在于所述的步骤1)的基于树形标签推荐中,将用户的行为映射到对树形标签的节点权重的影响上;用户的行为不仅对项目本身直属标签有影响,还会对项目的间接所属标签有影响,间接所属标签影响的比例由一个类斐波那契数列来确定,最终的权重跟标签节点所属层数和项目标签路径长度有关;最终根据项目属性和树形标签的节点权重为用户推荐项目;树形标签是存储在文档型数据库CouchDB中的,ApacheCouchDB是一个面向文档的数据库管理系统,它提供以JSON作为数据格式的REST接口来对其进行操作,并可以通过视图来操纵文档的组织和呈现。
6.根据权利要求1所述基于树形标签和图形关系的众筹网站项目推荐方法,其特征在于所述的步骤2)的基于图形关系推荐过程中,将用户与用户的关系、以及用户与项目的关系即包括浏览,关心,参与,评分评论的用户行为映射到图形关系中即构建“用户-项目图”;用户的行为将对用户与项目之间的边的权值产生影响;用户与用户之间的相似度由用户与用户在图中的距离来描述,而用户之间的距离又是基于跳数来计算的,在计算的过程中需要去除热门项目节点的影响;定义基于跳数和广度优先搜索的用户节点距离,由用户节点距离定义用户相似度,距离越近,用户越相似,将用户的行为映射到用户-项目图的边的权值上,最终根据用户行为相似度和图形节点的边权值为用户推荐项目Topk2。
7.根据权利要求1所述基于树形标签和图形关系的众筹网站项目推荐方法,其特征在于所述的步骤3)中综合前面并行得到的两组结果,加权求和得到最终的推荐列表,采用Mysql数据库存储推荐结果;基于WEB应用MVC框架Struts2、WEB应用集成框架Spring、以及Java持久性框架Hibernate对象关系映射框架开发web应用程序和编写推荐模块;使用BootStrap前端框架构造界面;使用AJAX异步传回推荐列表。
CN201510024501.8A 2015-01-16 2015-01-16 一种基于项目标签和图形关系的众筹网站项目推荐方法 Active CN105320719B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510024501.8A CN105320719B (zh) 2015-01-16 2015-01-16 一种基于项目标签和图形关系的众筹网站项目推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510024501.8A CN105320719B (zh) 2015-01-16 2015-01-16 一种基于项目标签和图形关系的众筹网站项目推荐方法

Publications (2)

Publication Number Publication Date
CN105320719A true CN105320719A (zh) 2016-02-10
CN105320719B CN105320719B (zh) 2019-02-05

Family

ID=55248117

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510024501.8A Active CN105320719B (zh) 2015-01-16 2015-01-16 一种基于项目标签和图形关系的众筹网站项目推荐方法

Country Status (1)

Country Link
CN (1) CN105320719B (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105930361A (zh) * 2016-04-12 2016-09-07 北京恒冠网络数据处理有限公司 一种关系型数据库向Neo4j模型转换和数据迁移方法
CN107491491A (zh) * 2017-07-20 2017-12-19 西南财经大学 一种适应用户兴趣变化的媒体文章推荐方法
CN107577788A (zh) * 2017-09-15 2018-01-12 广东技术师范学院 一种自动结构化数据的电商网站主题爬虫方法
CN108090074A (zh) * 2016-11-22 2018-05-29 上海阿法迪智能标签系统技术有限公司 图书推荐系统和方法
CN109885794A (zh) * 2019-01-24 2019-06-14 曲阜师范大学 基于区块链的循环式同步更新网页的处理方法
CN110096640A (zh) * 2019-03-08 2019-08-06 江苏物联网研究发展中心 协同过滤推荐系统中基于项目分类的用户相似度计算方法
CN110110152A (zh) * 2018-01-18 2019-08-09 深圳市爱思软件技术有限公司 思维导图的处理方法、装置、计算机设备和存储介质
CN110825962A (zh) * 2019-10-17 2020-02-21 上海易点时空网络有限公司 信息推荐方法以及装置
CN110825939A (zh) * 2019-09-19 2020-02-21 五八有限公司 帖子的分数生成、排序方法、装置、电子设备及存储介质
CN111259236A (zh) * 2020-01-09 2020-06-09 贵州大学 面向捐赠众筹领域的推荐方法
CN112328814A (zh) * 2021-01-05 2021-02-05 北京达佳互联信息技术有限公司 多媒体资源推荐方法、装置及存储介质
CN112395261A (zh) * 2019-08-16 2021-02-23 中国移动通信集团浙江有限公司 业务推荐方法、装置、计算设备及计算机存储介质
CN113064911A (zh) * 2020-01-02 2021-07-02 北京中关村科金技术有限公司 查询方法、装置以及存储介质
CN114282118A (zh) * 2022-03-03 2022-04-05 北京轻松筹信息技术有限公司 确定公益项目的推送用户的方法和装置
CN114756762A (zh) * 2022-06-13 2022-07-15 腾讯科技(深圳)有限公司 数据处理方法、装置、设备、存储介质及程序产品

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101271558A (zh) * 2008-05-16 2008-09-24 华东师范大学 基于上下文信息的多策略商品推荐系统
US20100070507A1 (en) * 2008-09-12 2010-03-18 Kabushiki Kaisha Toshiba Hybrid content recommending server, system, and method
CN102254028A (zh) * 2011-07-22 2011-11-23 青岛理工大学 一种集成属性和结构相似性的个性化商品推荐方法和系统
CN103345699A (zh) * 2013-07-10 2013-10-09 湖南大学 一种基于商品森林体系的个性化美食推荐方法
CN103902538A (zh) * 2012-12-25 2014-07-02 中国银联股份有限公司 基于决策树的信息推荐装置及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101271558A (zh) * 2008-05-16 2008-09-24 华东师范大学 基于上下文信息的多策略商品推荐系统
US20100070507A1 (en) * 2008-09-12 2010-03-18 Kabushiki Kaisha Toshiba Hybrid content recommending server, system, and method
CN102254028A (zh) * 2011-07-22 2011-11-23 青岛理工大学 一种集成属性和结构相似性的个性化商品推荐方法和系统
CN103902538A (zh) * 2012-12-25 2014-07-02 中国银联股份有限公司 基于决策树的信息推荐装置及方法
CN103345699A (zh) * 2013-07-10 2013-10-09 湖南大学 一种基于商品森林体系的个性化美食推荐方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
冒九妹: "基于异构信息网络的协同过滤推荐技术研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 *
孔维梁: "协同过滤推荐系统关键问题研究", 《中国博士学位论文全文数据库信息科技辑》 *

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105930361A (zh) * 2016-04-12 2016-09-07 北京恒冠网络数据处理有限公司 一种关系型数据库向Neo4j模型转换和数据迁移方法
CN108090074A (zh) * 2016-11-22 2018-05-29 上海阿法迪智能标签系统技术有限公司 图书推荐系统和方法
CN107491491A (zh) * 2017-07-20 2017-12-19 西南财经大学 一种适应用户兴趣变化的媒体文章推荐方法
CN107577788A (zh) * 2017-09-15 2018-01-12 广东技术师范学院 一种自动结构化数据的电商网站主题爬虫方法
CN107577788B (zh) * 2017-09-15 2021-12-31 广东技术师范大学 一种自动结构化数据的电商网站主题爬虫方法
CN110110152A (zh) * 2018-01-18 2019-08-09 深圳市爱思软件技术有限公司 思维导图的处理方法、装置、计算机设备和存储介质
CN109885794B (zh) * 2019-01-24 2020-10-20 曲阜师范大学 基于区块链的循环式同步更新网页的处理方法
CN109885794A (zh) * 2019-01-24 2019-06-14 曲阜师范大学 基于区块链的循环式同步更新网页的处理方法
CN110096640A (zh) * 2019-03-08 2019-08-06 江苏物联网研究发展中心 协同过滤推荐系统中基于项目分类的用户相似度计算方法
CN112395261A (zh) * 2019-08-16 2021-02-23 中国移动通信集团浙江有限公司 业务推荐方法、装置、计算设备及计算机存储介质
CN110825939A (zh) * 2019-09-19 2020-02-21 五八有限公司 帖子的分数生成、排序方法、装置、电子设备及存储介质
CN110825939B (zh) * 2019-09-19 2023-10-13 五八有限公司 帖子的分数生成、排序方法、装置、电子设备及存储介质
CN110825962A (zh) * 2019-10-17 2020-02-21 上海易点时空网络有限公司 信息推荐方法以及装置
CN113064911A (zh) * 2020-01-02 2021-07-02 北京中关村科金技术有限公司 查询方法、装置以及存储介质
CN113064911B (zh) * 2020-01-02 2024-04-19 北京中关村科金技术有限公司 查询方法、装置以及存储介质
CN111259236A (zh) * 2020-01-09 2020-06-09 贵州大学 面向捐赠众筹领域的推荐方法
CN112328814A (zh) * 2021-01-05 2021-02-05 北京达佳互联信息技术有限公司 多媒体资源推荐方法、装置及存储介质
CN114282118A (zh) * 2022-03-03 2022-04-05 北京轻松筹信息技术有限公司 确定公益项目的推送用户的方法和装置
CN114282118B (zh) * 2022-03-03 2022-06-17 北京轻松筹信息技术有限公司 确定公益项目的推送用户的方法和装置
CN114756762A (zh) * 2022-06-13 2022-07-15 腾讯科技(深圳)有限公司 数据处理方法、装置、设备、存储介质及程序产品

Also Published As

Publication number Publication date
CN105320719B (zh) 2019-02-05

Similar Documents

Publication Publication Date Title
CN105320719B (zh) 一种基于项目标签和图形关系的众筹网站项目推荐方法
Cillo et al. Niche tourism destinations’ online reputation management and competitiveness in big data era: Evidence from three Italian cases
CN104412265B (zh) 更新用于促进应用搜索的搜索索引
CN104166668B (zh) 基于folfm模型的新闻推荐系统及方法
US8949233B2 (en) Adaptive knowledge platform
US20070214133A1 (en) Methods for filtering data and filling in missing data using nonlinear inference
US20060155751A1 (en) System and method for document analysis, processing and information extraction
CN104933239A (zh) 一种基于混合模型的个性化职位信息推荐系统及实现方法
CN103530416B (zh) 项目数据预测评分库的生成、项目数据的推送方法和系统
WO2019015631A1 (zh) 生成机器学习样本的组合特征的方法及系统
US20140229476A1 (en) System for Information Discovery & Organization
CN104298785B (zh) 一种众搜资源搜索方法
CN105760443B (zh) 项目推荐系统、项目推荐装置以及项目推荐方法
WO2018040069A1 (zh) 信息推荐系统及方法
Lu et al. Personalized location recommendation by aggregating multiple recommenders in diversity
CN101283353A (zh) 通过分析标签找到相关文档的系统和方法
US20150026105A1 (en) Systems and method for determining influence of entities with respect to contexts
KR101818717B1 (ko) 컨셉 키워드 확장 데이터 셋을 이용한 검색방법, 장치 및 컴퓨터로 판독 가능한 기록매체
EP3639163A1 (en) Systems and methods for optimizing and simulating webpage ranking and traffic
Elena et al. Survey of multiarmed bandit algorithms applied to recommendation systems
CN106960044A (zh) 一种基于张量分解及加权hits的时间感知个性化poi推荐方法
CN105389329A (zh) 一种基于群体评论的开源软件推荐方法
Even et al. Value-Driven Data Quality Assessment.
Crescenzi et al. Crowdsourcing for data management
CN107016566A (zh) 基于本体的用户模型构建方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant