CN103605718A - 一种基于hadoop的改进的物品推荐方法 - Google Patents
一种基于hadoop的改进的物品推荐方法 Download PDFInfo
- Publication number
- CN103605718A CN103605718A CN201310568662.4A CN201310568662A CN103605718A CN 103605718 A CN103605718 A CN 103605718A CN 201310568662 A CN201310568662 A CN 201310568662A CN 103605718 A CN103605718 A CN 103605718A
- Authority
- CN
- China
- Prior art keywords
- article
- similarity
- hadoop
- cluster
- calculate
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 239000011159 matrix material Substances 0.000 claims abstract description 7
- 239000003638 chemical reducing agent Substances 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 5
- 230000001186 cumulative effect Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 3
- 238000013500 data storage Methods 0.000 abstract 1
- 238000001914 filtration Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 2
- 238000012804 iterative process Methods 0.000 description 2
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 1
- 244000046052 Phaseolus vulgaris Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004393 prognosis Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Data Mining & Analysis (AREA)
- Entrepreneurship & Innovation (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Game Theory and Decision Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于hadoop的改进的物品推荐方法,包括如下步骤:将数据存储到分布式数据存储环境中;从用户-物品矩阵中抽取物品集;通过mapreduce利用改进的聚类方法对物品集进行聚类;计算类别内的物品相似度,存储在哈希表中;利用所得到的物品相似度,进行物品推荐。本发明解决在处理海量数据时运行速度和推荐精度的问题。
Description
技术领域
本发明涉及一种基于hadoop的改进的物品推荐方法。
背景技术
协同过滤是一个非常成功的构建推荐系统的方法。通过一系列具有相同的体验或者偏好的用户群体的经历来为特定用户进行推荐。每一个个体对于推荐的结果给予一定的回应和评判,这些反馈结果同样也被拿来用到对于其他用户的咨询筛选过程中。通过对特定用户进行系统的评估和推测,协同过滤系统可以对这些用户进行适合的推荐。这一思路和方法广泛的运用于电子商务,数据分析,远景预测等各个领域,并取得了很有成效的商业效果。无论是亚马逊脸谱,还是淘宝豆瓣,在各个领域,我们都可以看到其广泛的应用场景。因此,如何更有效更直接快速的进行推荐和预测,成为了一个很热门且很值得研究的问题。准确且快速的推荐,可以给予用户更好的行为体验,从而在各个方面提高一些商业网站的利润及利益。但是随着用户的增多,数据量的增大,如何达到快速和准确的目标,目前的协同过滤算法仍需要在各方面进行自身的改进和优化。
针对数据量增大的问题,传统的协同过滤推荐方法可以对物品进行聚类,以此缩小推荐过程中的计算量。但是传统的聚类方法可能会需要大量的迭代次数,从而使得整体的运行时间非常的长,因此一般情况下只是适用于较小的数据集。如果其用来处理海量数据,可能会导致内存泄露等问题。
另一方面,协同过滤算法中利用用户-物品矩阵中的频度进行相似度计算,难以准确的反映出物品的相似程度。而基于物品属性特征的相似度计算可以准确的反应物品的行为,但是欠缺用户行为对它进行的修正。所以对于基于协同过滤的推荐系统,需要一种改进方法,更加准确的结合物品各方面的特征,从而得出更加准确的推荐结果。
发明内容
发明目的:针对上述现有技术存在的问题和不足,本发明的目的是提供一种基于hadoop的改进的物品推荐方法,解决在处理海量数据时运行速度和推荐精度的问题。
技术方案:为实现上述发明目的,本发明采用的技术方案为一种基于hadoop的改进的物品推荐方法,包括如下步骤:
(1)将数据存储到分布式数据存储环境中;
(2)从用户-物品矩阵中抽取物品集;
(3)通过mapreduce利用改进的聚类方法对物品集进行聚类;
(4)计算类别内的物品相似度,存储在哈希表中;
(5)利用所得到的物品相似度,进行物品推荐。
所述数据跟“用户-物品矩阵”可以视为相同概念,一个数据即为用户-物品矩阵中的一个值。
进一步的,所述步骤(3)中,用map函数计算每个物品到所有聚类中心的距离,用reduce函数计算所有聚类中心的修正值,直到聚类中心保持不变,完成迭代。
进一步的,迭代过程具体为:
1)选择k个类的初始中心;
2)在Hadoop平台各个节点的Mapper端计算每个数据对象到所有初始中心的距离;
3)在所述Mapper端选择距离最小的中心点,将局部数据发送到Hadoop平台各个节点的Combiner端;
4)在所述Combiner端把属于同一中心点的数据对象集合在一起,计算属于同一中心点的数据对象的和,将所有同一聚类的局部数据发送到Hadoop平台各个节点的Reducer端;
5)在所述Reducer端汇总所有聚类的局部数据,计算所有聚类的新中心;
6)重复执行步骤2)至5),直到对于所有的k个聚类中心保持不变,则迭代结束,得到聚类结果,否则继续迭代。
进一步的,所述步骤(3)和(4)中,距离和物品相似度均采用一种基于内容的配对相似度(COS: Coupled Similarity),其计算方法为在对物品的每个属性计算属性内相似度和属性间相似度两个相似度后相乘,再累加所有属性上的相似度。其中,属性内相似度,即对于不同物品的同一属性计算相似度,表示了属性不同值之间的共现程度;属性间相似度,是对于某一属性不同值之间的相似度,由与该属性同时出现的其他属性的不同值的相似度来度量,即对于多属性的物品,表示了属性之间的共现程度。为简单起见作出如下说明:对于用N个属性描述的物品,两个物品越是相似,则会有越多的属性取相同值,这就是属性内相似,相似度的取值趋向于1,即完全相同;而对于一个属性两个物品出现的不同取值,两个物品越是相似,则说明在其他属性上就有越多取相同属性的取值,则可以认为这个有不同取值的属性的两个取值也具有一定的相似度,否则取值趋向于无关,即趋向于0。
进一步的,所述步骤(5)中的物品推荐,可以选用传统的item-based的(基于物品的)协同过滤算法,将物品相似度替换为前述的配对相似度(COS)。
有益效果:本发明通过mapreduce进行的并行化和聚类,减少同样数据规模下系统运行的时间,提高运算效率;通过改进的相似度计算方法,更加准确的描述的物品之间的联系,得到了更好的推荐效果。
附图说明
图1为本发明方法的流程图。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
如图1所示,下面详细说明本发明方法的步骤:
步骤1,将数据存储到分布式数据存储环境中;
步骤2,从用户-物品矩阵中抽取中物品集,将物品转化成向量形式,向量内容为该物品的所有属性特征;
步骤3,通过mapreduce利用改进的聚类方法(CK-modes)对物品集进行聚类,其具体步骤为:
迭代过程具体为:
(3.1)选择k个类的初始中心;
(3.2)在Hadoop平台各个节点的Mapper端计算每个数据对象到所有初始中心的距离;
(3.3)在所述Mapper端选择距离最小的中心点,将局部数据发送到Hadoop平台各个节点的Combiner端;
(3.4)在所述Combiner端把属于同一中心点的数据对象集合在一起,计算属于同一中心点的数据对象的和,将所有同一聚类的局部数据发送到Hadoop平台各个节点的Reducer端;
(3.5)在所述Reducer端汇总所有聚类的局部数据,计算所有聚类的新中心;
(3.6)重复执行步骤(3.2)至(3.5),直到对于所有的k个聚类中心保持不变,则迭代结束,得到聚类结果,否则继续迭代。
其中距离由COS得出,计算公式如下:
u表示一个用户,表示两个不同物品,这两个物品用户u都有记录。物品有n个属性,x,y表示物品在属性j上的取值,表示属性内相似度,表示属性间相似度。该公式表示,两个物品之间的相似度,由两个物品所有属性上的相似度累加得出,而每个属性上的相似度由属性内相似度乘以属性间相似度得出。
其中为权值, 表示对于物品x,在属性j上的取值为x,所有在属性j上有x取值的物品,考虑它们在属性k上的取值,将这些物品在属性k上的取值求交集,即为。以这一取值为基础,在所有物品的属性k上所出现取值的交集,的定义与前述一致;
步骤4,计算类别内的物品相似度,存储在哈希表中;
步骤5,利用所得到的物品相似度,进行物品推荐,公式为:
Claims (4)
1.一种基于hadoop的改进的物品推荐方法,包括如下步骤:
(1)将数据存储到分布式数据存储环境中;
(2)从用户-物品矩阵中抽取物品集;
(3)通过mapreduce利用改进的聚类方法对物品集进行聚类;
(4)计算类别内的物品相似度,存储在哈希表中;
(5)利用所得到的物品相似度,进行物品推荐。
2.根据权利要求1所述一种基于hadoop的改进的物品推荐方法,其特征在于:所述步骤(3)中的聚类过程,用map函数计算每个物品到所有聚类中心的距离,用reduce函数计算所有聚类中心的修正值,直到聚类中心保持不变,完成迭代。
3.根据权利要求2所述一种基于hadoop的改进的物品推荐方法,其特征在于:所述步骤(3)和(4)中,距离和物品相似度均采用一种基于内容的配对相似度,其计算方法为在对物品的每个属性计算属性内相似度和属性间相似度两个相似度后相乘,再累加所有属性上的相似度。
4.根据权利要求2所述一种基于hadoop的改进的物品推荐方法,其特征在于:所述迭代包括如下步骤:
1)选择k个类的初始中心;
2)在Hadoop平台各个节点的Mapper端计算每个数据对象到所有初始中心的距离;
3)在所述Mapper端选择距离最小的中心点,将局部数据发送到Hadoop平台各个节点的Combiner端;
4)在所述Combiner端把属于同一中心点的数据对象集合在一起,计算属于同一中心点的数据对象的和,将所有同一聚类的局部数据发送到Hadoop平台各个节点的Reducer端;
5)在所述Reducer端汇总所有聚类的局部数据,计算所有聚类的新中心;
6)重复执行步骤2)至5),直到对于所有的k个聚类中心保持不变,则迭代结束,得到聚类结果,否则继续迭代。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310568662.4A CN103605718A (zh) | 2013-11-15 | 2013-11-15 | 一种基于hadoop的改进的物品推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310568662.4A CN103605718A (zh) | 2013-11-15 | 2013-11-15 | 一种基于hadoop的改进的物品推荐方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103605718A true CN103605718A (zh) | 2014-02-26 |
Family
ID=50123941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310568662.4A Pending CN103605718A (zh) | 2013-11-15 | 2013-11-15 | 一种基于hadoop的改进的物品推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103605718A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104408642A (zh) * | 2014-10-29 | 2015-03-11 | 云南大学 | 一种基于用户体验质量的广告制作方法 |
CN106227881A (zh) * | 2016-08-04 | 2016-12-14 | 腾讯科技(深圳)有限公司 | 一种信息处理方法及服务器 |
CN106547919A (zh) * | 2016-12-06 | 2017-03-29 | 广东工业大学 | 一种海量数字信息的分布式推荐方法 |
CN108052485A (zh) * | 2017-12-15 | 2018-05-18 | 东软集团股份有限公司 | 向量相似度的分布式计算方法和装置,存储介质和节点 |
CN109783643A (zh) * | 2019-01-09 | 2019-05-21 | 北京一览群智数据科技有限责任公司 | 一种近似语句推荐方法及装置 |
CN110309143A (zh) * | 2018-03-21 | 2019-10-08 | 华为技术有限公司 | 数据相似度确定方法、装置及处理设备 |
CN111522867A (zh) * | 2020-03-23 | 2020-08-11 | 西南科技大学 | 炸药配方快速筛选与推荐方法及其系统 |
CN113254780A (zh) * | 2021-06-08 | 2021-08-13 | 武汉卓尔数字传媒科技有限公司 | 信息处理的方法、装置、电子设备及计算机存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101957968A (zh) * | 2010-08-31 | 2011-01-26 | 南京财经大学 | 基于Hadoop的网上交易服务聚合方法 |
EP2463818A1 (en) * | 2010-12-07 | 2012-06-13 | Digital Foodie Oy | A method for creating computer generated shopping list |
CN103116639A (zh) * | 2013-02-20 | 2013-05-22 | 新浪网技术(中国)有限公司 | 基于用户-物品二分图模型的物品推荐方法及系统 |
-
2013
- 2013-11-15 CN CN201310568662.4A patent/CN103605718A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101957968A (zh) * | 2010-08-31 | 2011-01-26 | 南京财经大学 | 基于Hadoop的网上交易服务聚合方法 |
EP2463818A1 (en) * | 2010-12-07 | 2012-06-13 | Digital Foodie Oy | A method for creating computer generated shopping list |
CN103116639A (zh) * | 2013-02-20 | 2013-05-22 | 新浪网技术(中国)有限公司 | 基于用户-物品二分图模型的物品推荐方法及系统 |
Non-Patent Citations (4)
Title |
---|
向小军 等: "基于 Hadoop 平台的海量文本分类的并行化", 《计算机科学》, vol. 38, no. 10, 15 October 2011 (2011-10-15), pages 184 - 188 * |
肖强 等: "Hadoop 环境下的分布式协同过滤算法设计与实现", 《现代图书情报技术》, no. 1, 25 January 2013 (2013-01-25), pages 83 - 89 * |
赵卫中 等: "基于云计算平台Hadoop的并行k-means聚类算法设计研究", 《计算机科学》, vol. 38, no. 10, 15 October 2011 (2011-10-15) * |
金龑: "协同过滤算法及其并行化研究", 《中国优秀硕士学位论文全文数据库 信息科技辑(月刊)》, no. 11, 15 November 2012 (2012-11-15), pages 138 - 4 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104408642B (zh) * | 2014-10-29 | 2017-09-12 | 云南大学 | 一种基于用户体验质量的广告制作方法 |
CN104408642A (zh) * | 2014-10-29 | 2015-03-11 | 云南大学 | 一种基于用户体验质量的广告制作方法 |
CN106227881A (zh) * | 2016-08-04 | 2016-12-14 | 腾讯科技(深圳)有限公司 | 一种信息处理方法及服务器 |
CN106547919B (zh) * | 2016-12-06 | 2018-07-24 | 广东工业大学 | 一种海量数字信息的分布式推荐方法 |
CN106547919A (zh) * | 2016-12-06 | 2017-03-29 | 广东工业大学 | 一种海量数字信息的分布式推荐方法 |
CN108052485B (zh) * | 2017-12-15 | 2021-05-07 | 东软集团股份有限公司 | 向量相似度的分布式计算方法和装置,存储介质和节点 |
CN108052485A (zh) * | 2017-12-15 | 2018-05-18 | 东软集团股份有限公司 | 向量相似度的分布式计算方法和装置,存储介质和节点 |
CN110309143A (zh) * | 2018-03-21 | 2019-10-08 | 华为技术有限公司 | 数据相似度确定方法、装置及处理设备 |
CN110309143B (zh) * | 2018-03-21 | 2021-10-22 | 华为技术有限公司 | 数据相似度确定方法、装置及处理设备 |
CN109783643A (zh) * | 2019-01-09 | 2019-05-21 | 北京一览群智数据科技有限责任公司 | 一种近似语句推荐方法及装置 |
CN111522867A (zh) * | 2020-03-23 | 2020-08-11 | 西南科技大学 | 炸药配方快速筛选与推荐方法及其系统 |
CN111522867B (zh) * | 2020-03-23 | 2023-11-10 | 西南科技大学 | 炸药配方快速筛选与推荐方法及其系统 |
CN113254780A (zh) * | 2021-06-08 | 2021-08-13 | 武汉卓尔数字传媒科技有限公司 | 信息处理的方法、装置、电子设备及计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103605718A (zh) | 一种基于hadoop的改进的物品推荐方法 | |
Xu et al. | A novel POI recommendation method based on trust relationship and spatial–temporal factors | |
WO2021109464A1 (zh) | 一种面向大规模用户的个性化教学资源推荐方法 | |
CN104463637A (zh) | 一种基于电商平台的商品推荐方法、装置及服务器 | |
TW201501059A (zh) | 訊息推薦方法及裝置 | |
CN103530416B (zh) | 项目数据预测评分库的生成、项目数据的推送方法和系统 | |
CN105023178B (zh) | 一种基于本体的电子商务推荐方法 | |
CN104598450A (zh) | 一种网络舆情事件的热度分析方法及系统 | |
CN107329994A (zh) | 一种基于用户特征的改进协同过滤推荐方法 | |
CN110335123B (zh) | 基于社交电商平台的商品推荐方法、系统、计算机可读介质以及装置 | |
TW201905736A (zh) | 資訊推送方法及系統 | |
CN104636371A (zh) | 信息推荐方法及设备 | |
CN104199872A (zh) | 一种信息推荐的方法以及装置 | |
CN101957968A (zh) | 基于Hadoop的网上交易服务聚合方法 | |
CN106776859A (zh) | 基于用户偏好的移动应用App推荐系统 | |
CN104809637A (zh) | 计算机实现的商品推荐方法及系统 | |
CN110197404A (zh) | 可降低流行度偏差的个性化长尾商品推荐方法和系统 | |
CN103150667A (zh) | 一种基于本体结构的个性化推荐方法 | |
CN105335368A (zh) | 一种产品聚类方法及装置 | |
CN104992352A (zh) | 一种个性化资源检索方法 | |
CN106980639B (zh) | 短文本数据聚合系统及方法 | |
CN104102662A (zh) | 一种用户兴趣偏好相似度确定方法及装置 | |
CN109857928A (zh) | 基于多元信用评估的用户偏好预测方法 | |
Yao et al. | Community detection based on variable vertex influence | |
Cho et al. | Clustering method using weighted preference based on RFM score for personalized recommendation system in u-commerce |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140226 |