CN108804605B - 一种基于层次结构的推荐方法 - Google Patents
一种基于层次结构的推荐方法 Download PDFInfo
- Publication number
- CN108804605B CN108804605B CN201810533079.2A CN201810533079A CN108804605B CN 108804605 B CN108804605 B CN 108804605B CN 201810533079 A CN201810533079 A CN 201810533079A CN 108804605 B CN108804605 B CN 108804605B
- Authority
- CN
- China
- Prior art keywords
- user
- item
- distance
- attribute
- category
- 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.)
- Active
Links
Images
Classifications
-
- 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/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于层次结构的推荐方法,属于信息技术领域,本发明通过提取item属性特征以及与item相关性最高的user属性特征,然后对item和user进行聚类,在类别层次学习user类别和item类别关系,构建user类别‑item类别评分矩阵R;通过计算新用户与user类别相似性,为其划分user类别;根据评分矩阵R值排序,为新用户推荐值最大的item类别。本发明先学习类别之间关系,再学习具体对象之间关系,采用层次结构思维实现项目推荐,既发掘了不同群体间对item的不同偏好,又提高了推荐算法的准确性,相较于传统基于user的协同过滤算法,该方法的准确率提高了10%左右。
Description
技术领域
本发明属于信息技术领域,特别是涉及一种基于层次结构的推荐方法。
背景技术
本发明属于信息技术领域。目前使用较多的推荐方法是基于协同过滤,通过计算user-item评分矩阵,为用户推荐评分较高的item。但是该方法存在一定缺陷,首先新用户没有历史item记录,不能构造user-item评分矩阵;另外不同群体user之间对item有不同的偏好,并且item之间也存在关联关系,该方法只能为用户推荐一个具体item,不能识别不同群体user的兴趣偏好。
本发明提出一种基于层次结构的推荐方法。该方法通过提取user和item属性,分别学习user与user之间关系和item与item之间关系,构建user类别和item类别。然后构建user类别-item类别评分矩阵,学习user类别和item类别的关系。在具体实施推荐时,先计算新user所属user类别,再根据user类别-item类别评分矩阵为其推荐item。该发明可应用于各种推荐系统中,包括学生就业推荐、电影推荐、音乐推荐以及购物推荐等等。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种基于层次结构的推荐方法。
为实现上述目的,本发明提供了一种基于层次结构的推荐方法,包括以下步骤:
S1:提取item属性特征以及提取与item最相关的user属性特征,并分别构建user属性矩阵和item属性矩阵,
S2:对item和user数据进行聚类;
通过k-means聚类方法对item聚类,划分item类别;
基于user和item属性的双聚类算法对user聚类,划分user类别;
S3:在类别层次学习user类别和item类别关系,构建user类别-item类别评分矩阵R,用来表征不同user对不同item的偏好;
S4:计算新用户与user类型相似性,将其划分到与其距离最近的user类别中;
S5:为新用户推荐item类别,将其所在user类别的TOP1 item类别作为推荐项目,其中TOP1 item为对应评分值最大的item类别。
较佳的,所述步骤S2中user类别划分包括以下步骤:
S2-1:将user自身属性和item属性拼接,构造user属性矩阵UP
X为字符型特征值,m表示user数量,n表示user自身属性数量,d表示item属性数量;
S2-2:在user属性矩阵UP的基础上,计算每个用户到其他所有用户的距离和,将该距离最大的用户作为聚类的中心u_centers;
S2-3:计算user属性矩阵UP中每个用户与中心用户u_centers的距离,将其划分到与其最近的中心用户u_centers所在的类别中。
较佳的,所述步骤S2-2中通过下述方法选取聚类中心u_centers:
计算用户i和用户j之间的距离,i、j∈{1、2、…、m};
用户i与其他用户的距离和表示为:
计算出所有用户与其他用户距离和之后,选取最大距离对应的用户作为聚类的中心u_centers。
用户i的特征向量为UPi,,用户j的特征向量为UPj;
UPi=[Xi,1 Xi,2 … Xi,n … Xi,n+d];
UPi=[Xj,1 Xj,2 … Xj,n … Xj,n+d];
如果特征向量中用户自身属性特征或item属性特征是数值型数据,用户i和用户j之间的自身属性距离eucl(i,j)1以及item属性距离eucl(i,j)2采用欧式距离表示:
如果特征向量中用户自身属性特征或item属性特征是字符型数据,用户i和用户j之间的自身属性距离edit(i,j)1以及item属性距离edit(i,j)2采用编辑距离表示:
其中edit(Xi,k,Xj,k)表示字符型特征值Xi,k与Xj,k之间距离;
当特征值Xi,k的第l1位和与Xj,k第l2位字符相同时,t=0,不同时t=1;
较佳的,所述步骤S3中通过下述方法学习user类型和item类型关系:
构建user类别-item类别评分矩阵R:
公式中的c和d分别表示user类别个数和item类别个数,r为评分数值;
item类别b在user类别a中的评分rab计算方法为:
其中a∈{1、2、…、c},b∈{1、2、…、d};
其中num表示与user类别a相关的所有item类别个数,count(b)a是user类别a中item类别为b的个数。
较佳的,所述调整参数w=0.5。
本发明的有益效果是:
本发明先学习类别之间关系,再学习具体对象之间关系,采用层次结构思维实现项目推荐;
该方法提高了推荐算法的准确率,相较于传统基于user的协同过滤算法,该方法的准确率提高了10%左右;
该方法能有效解决推荐算法中的冷启动问题,即新用户历史item数据缺失情况,对于新用户通过计算其所属类别,根据不同类别user对item的偏好实现推荐;
该方法能识别不同的user群体间对item的不同偏好,在划分user群体时既考虑了user自身属性,也兼顾了user在item层次的区别。
附图说明
图1是本发明的结构框图;
具体实施方式
下面结合实施例对本发明作进一步说明:
包括以下步骤:
S1:提取item属性特征以及提取与item最相关的user属性特征,并分别构建user属性矩阵和item属性矩阵;
S2:对item和user数据进行聚类;
通过k-means聚类方法对item聚类,划分item类别;
基于user和item属性的双聚类算法对user聚类,划分user类别;
所述步骤S2中user类别划分包括以下步骤:
S2-1:将user自身属性和item属性拼接,构造user属性矩阵UP
X为字符型特征值,m表示user数量,n表示user自身属性数量,d表示item属性数量;
S2-2:在user属性矩阵UP的基础上,计算每个用户到其他所有用户的距离和,将该距离最大的用户作为聚类的中心u_centers;
所述步骤S2-2中通过下述方法选取聚类中心u_centers:
计算用户i和用户j之间的距离,i、j∈{1、2、…、m};
用户i与其他用户的距离和表示为:
计算出所有用户与其他用户距离和之后,选取最大距离对应的用户作为聚类的中心u_centers。
用户i的特征向量为UPi,,用户j的特征向量为UPj;
UPi=[Xi,1 Xi,2 … Xi,n … Xi,n+d];
UPj=[Xj,1 Xj,2 … Xj,n … Xj,n+d];
如果特征向量中用户自身属性特征或item属性特征是数值型数据,用户i和用户j之间的自身属性距离eucl(i,j)1以及item属性距离eucl(i,j)2采用欧式距离表示:
如果特征向量中用户自身属性特征或item属性特征是字符型数据,用户i和用户j之间的自身属性距离edit(i,j)1以及item属性距离edit(i,j)2采用编辑距离表示:
其中edit(Xi,k,Xj,k)表示字符型特征值Xi,k与Xj,k之间距离;
当特征值Xi,k的第l1位和与Xj,k第l2位字符相同时,t=0,不同时t=1;
S2-3:通过上述方法计算user属性矩阵UP中每个用户与中心用户u_centers的距离,将其划分到与其最近的中心用户u_centers所在的类别中。
S3:在类别层次学习user类别和item类别关系,构建user类别-item类别评分矩阵R,用来表征不同user对不同item的偏好;
所述步骤S3中通过下述方法学习user类型和item类型关系:
构建user类别-item类别评分矩阵R:
公式中的c和d分别表示user类别个数和item类别个数,r为评分数值;
item类别b在user类别a中的评分rab计算方法为:
其中a∈{1、2、…、c},b∈{1、2、…、d};
其中num表示与user类别a相关的所有item类别个数,count(b)a是user类别a中item类别为b的个数。
S4:计算新用户与user类型相似性,将其划分到与其距离最近的user类别中;
S5:为新用户推荐item类别,将其所在user类别的TOP1 item类别作为推荐项目,其中TOP1 item为对应评分值最大的item类别。
所述步骤S2中user类别划分包括以下步骤:
S2-1:将user自身属性和item属性拼接,构造user属性矩阵UP
X为字符型特征值,m表示user数量,n表示user自身属性数量,d表示item属性数量;
S2-2:在user属性矩阵UP的基础上,计算距离每个用户到其他用户的距离,划分出聚类的中心用户u_centers;
S2-3:计算user属性矩阵UP中中每个用户与中心用户u_centers的距离,将其划分到与其最近的中心用户u_centers所在的类别中。
所述步骤S2-3中通过下述方法计算用户与中心用户之间的距离:
计算用户i和中心用户j之间的距离,i、j∈{1、2、…、m};
用户i的特征向量UPi,,用户j的特征向量UPj;
UPi=[Xi,1 Xi,2 … Xi,n … Xi,n+d];
UPj=[Xj,1 Xj,2 … Xj,n … Xj,n+d];
如果特征向量是数值型数据,用户i和中心用户j之间的距离采用欧式距离eucl(i,j)表示:
若果特征向量是字符型数据,用户i和中心用户j之间的距离采用编辑距离edit(i,j)表示:
其中edit(Xi,k,Xj,k)表示字符型特征值Xi,k与Xj,k之间距离;
当特征值Xi,k的第l1位和与Xj,k第l2位字符相同时,t=0,不同时t=1;
如果特征向量是部分数据是数值型,部分是字符型,相似性计算方法为:
dis(i,j)=w*eucl(i,j)+(1-w)*edit(i,j),其中w为调整参数,用来表示欧式距离eucl(i,j)和编辑距离edit(i,j)对最终相似性的影响度,本实施例中调整参数w的取值可参数寻优到最优值,默认w=0.5。
S3:在类别层次学习user类别和item类别关系,构建user类别-item类别评分矩阵R,用来表征不同user对不同item的偏好;
所述步骤S3中通过下述方法学习user类型和item类型关系:
构建user类别-item类别评分矩阵R:
公式中的c和d分别表示user类别个数和item类别个数,r为评分数值;
item类别b在user类别a中的评分rab计算方法为:
其中a∈{1、2、…、c},b∈{1、2、…、d};
其中num表示与user类别a相关的所有item类别个数,count(b)a是user类别a中item类别为b的个数。
S4:计算新用户与user类型相似性,将其划分到与其距离最近的user类别中;
S5:为新用户推荐item类别,将其所在user类别的TOP1 item类别作为推荐项目,其中TOP1 item为对应评分值最大的item类别。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
Claims (4)
1.一种基于层次结构的推荐方法,其特征在于:
包括以下步骤:
S1:提取item属性特征以及提取与item最相关的user属性特征,并分别构建user属性矩阵和item属性矩阵;
S2:对item和user数据进行聚类;
通过k-means聚类方法对item聚类,划分item类别;
基于user和item属性的双聚类算法对user聚类,划分user类别;
S3:在类别层次学习user类别和item类别关系,构建user类别-item类别评分矩阵R,用来表征不同user对不同item的偏好;
S4:计算新用户与user类别相似性,将其划分到与其距离最近的user类别中;
S5:为新用户推荐item类别,将其所在user类别的TOP1item类别作为推荐项目,其中TOP1item为对应评分值最大的item类别;
所述步骤S2中user类别划分包括以下步骤:
S2-1:将user自身属性和item属性拼接,构造user属性矩阵UP
X为字符型特征值,m表示user数量,n表示user自身属性数量,d表示item属性数量;
S2-2:在user属性矩阵UP的基础上,计算每个用户到其他所有用户的距离和,将所述距离和最大的用户作为聚类的中心u_centers;
S2-3:计算user属性矩阵UP中每个用户与中心用户u_centers的距离,将其划分到与其最近的中心用户u_centers所在的类别中;
所述步骤S3中通过下述方法学习user类别和item类别关系:
构建user类别-item类别评分矩阵R:
公式中的c和d分别表示user类别个数和item类别个数,r为评分数值;
item类别b在user类别a中的评分ra,b计算方法为:
其中a∈{1、2、…、c},b∈{1、2、…、d};
其中num表示与user类别a相关的所有item类别个数,count(b)a是user类别a中item类别为b的个数。
3.基于权利要求2所述的一种基于层次结构的推荐方法,其特征在于:
用户i的特征向量为UPi,用户j的特征向量为UPj;
UPi=[Xi,1 Xi,2…Xi,n…Xi,n+d];
UPj=[Xj,1 Xj,2…Xj,n…Xj,n+d];
如果特征向量中用户自身属性特征或item属性特征是数值型数据,用户i和用户j之间的自身属性距离eucl(i,j)1以及item属性距离eucl(i,j)2采用欧式距离表示:
如果特征向量中用户自身属性特征或item属性特征是字符型数据,用户i和用户j之间的自身属性距离edit(i,j)1以及item属性距离edit(i,j)2采用编辑距离表示:
其中edit(Xi,k,Xj,k)表示字符型特征值Xi,k与Xj,k之间距离;
当特征值Xi,k的第l1位和与Xj,k第l2位字符相同时,t=0,不同时t=1;
4.基于权利要求2所述的一种基于层次结构的推荐方法,其特征在于:
所述调整参数w=0.5。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810533079.2A CN108804605B (zh) | 2018-05-29 | 2018-05-29 | 一种基于层次结构的推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810533079.2A CN108804605B (zh) | 2018-05-29 | 2018-05-29 | 一种基于层次结构的推荐方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108804605A CN108804605A (zh) | 2018-11-13 |
CN108804605B true CN108804605B (zh) | 2021-10-22 |
Family
ID=64090891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810533079.2A Active CN108804605B (zh) | 2018-05-29 | 2018-05-29 | 一种基于层次结构的推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108804605B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113158032B (zh) * | 2021-03-18 | 2024-03-01 | 北京京东乾石科技有限公司 | 一种信息推送方法和装置 |
CN113689260B (zh) * | 2021-08-18 | 2023-08-08 | 青岛海信智慧生活科技股份有限公司 | 商品的搜索方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103824213A (zh) * | 2014-03-13 | 2014-05-28 | 北京理工大学 | 一种基于用户偏好与商品属性的个性化推荐方法 |
WO2016077255A1 (en) * | 2014-11-12 | 2016-05-19 | Microsoft Technology Licensing, Llc | Hybrid explanations in collaborative filter based recommendation system |
CN105956089A (zh) * | 2016-05-03 | 2016-09-21 | 桂林电子科技大学 | 一种针对具备项目的分类信息的推荐方法 |
CN106600347A (zh) * | 2017-01-17 | 2017-04-26 | 中国科学院自动化研究所 | 一种基于多视角数据和循环网络构建序列预测模型的方法 |
CN106919647A (zh) * | 2017-01-17 | 2017-07-04 | 浙江工业大学 | 一种基于聚类的网络结构相似性推荐方法 |
CN107391713A (zh) * | 2017-07-29 | 2017-11-24 | 内蒙古工业大学 | 一种解决协同过滤推荐技术中冷启动问题的方法及系统 |
CN107492008A (zh) * | 2017-08-09 | 2017-12-19 | 阿里巴巴集团控股有限公司 | 信息推荐方法、装置、服务器及计算机存储介质 |
CN107578058A (zh) * | 2017-07-31 | 2018-01-12 | 北京京东尚科信息技术有限公司 | 忠诚度聚类的方法和装置 |
CN107577786A (zh) * | 2017-09-15 | 2018-01-12 | 合肥工业大学 | 一种基于联合聚类的矩阵分解推荐方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6492849B2 (ja) * | 2015-03-24 | 2019-04-03 | 富士ゼロックス株式会社 | ユーザプロファイル作成装置、動画像分析装置、動画像再生装置、及びユーザプロファイル作成プログラム |
-
2018
- 2018-05-29 CN CN201810533079.2A patent/CN108804605B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103824213A (zh) * | 2014-03-13 | 2014-05-28 | 北京理工大学 | 一种基于用户偏好与商品属性的个性化推荐方法 |
WO2016077255A1 (en) * | 2014-11-12 | 2016-05-19 | Microsoft Technology Licensing, Llc | Hybrid explanations in collaborative filter based recommendation system |
CN105956089A (zh) * | 2016-05-03 | 2016-09-21 | 桂林电子科技大学 | 一种针对具备项目的分类信息的推荐方法 |
CN106600347A (zh) * | 2017-01-17 | 2017-04-26 | 中国科学院自动化研究所 | 一种基于多视角数据和循环网络构建序列预测模型的方法 |
CN106919647A (zh) * | 2017-01-17 | 2017-07-04 | 浙江工业大学 | 一种基于聚类的网络结构相似性推荐方法 |
CN107391713A (zh) * | 2017-07-29 | 2017-11-24 | 内蒙古工业大学 | 一种解决协同过滤推荐技术中冷启动问题的方法及系统 |
CN107578058A (zh) * | 2017-07-31 | 2018-01-12 | 北京京东尚科信息技术有限公司 | 忠诚度聚类的方法和装置 |
CN107492008A (zh) * | 2017-08-09 | 2017-12-19 | 阿里巴巴集团控股有限公司 | 信息推荐方法、装置、服务器及计算机存储介质 |
CN107577786A (zh) * | 2017-09-15 | 2018-01-12 | 合肥工业大学 | 一种基于联合聚类的矩阵分解推荐方法 |
Non-Patent Citations (2)
Title |
---|
《Expert Systems with Applications》;Sébastien Frémal等;《Weighting strategies for a recommender system using item clustering based on genres》;20170701;第105-113页 * |
《结合用户聚类和项目类型的协同过滤算法》;王巧等;《计算机系统应用》;20170106;第132-137页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108804605A (zh) | 2018-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108363804B (zh) | 基于用户聚类的局部模型加权融合Top-N电影推荐方法 | |
CN110750656B (zh) | 一种基于知识图谱的多媒体检测方法 | |
CN112232925A (zh) | 一种融合知识图谱对商品进行个性化推荐的方法 | |
US10410224B1 (en) | Determining item feature information from user content | |
US8189963B2 (en) | Matching advertisements to visual media objects | |
US20140143250A1 (en) | Centralized Tracking of User Interest Information from Distributed Information Sources | |
CN106599037B (zh) | 一种基于标签语义规范化推荐方法 | |
CN109902177A (zh) | 基于双通道卷积记忆神经网络的文本情感分析方法 | |
CN108874783A (zh) | 电力信息运维知识模型构建方法 | |
CN106951471A (zh) | 一种基于svm的标签发展趋势预测模型的构建方法 | |
CN113407834A (zh) | 一种基于知识图谱辅助的用户多维度兴趣抽取方法 | |
CN111125540A (zh) | 一种融合知识图谱表示学习和偏置矩阵分解的推荐方法 | |
Wick et al. | A unified approach for schema matching, coreference and canonicalization | |
Mauge et al. | Structuring e-commerce inventory | |
CN108804605B (zh) | 一种基于层次结构的推荐方法 | |
CN109447110A (zh) | 综合邻居标签相关性特征和样本特征的多标签分类的方法 | |
CN109840328A (zh) | 深度学习商品评论文本情感倾向分析方法 | |
CN116468460B (zh) | 基于人工智能的消费金融客户画像识别系统及其方法 | |
CN109325115A (zh) | 一种角色分析方法及分析系统 | |
CN113779283B (zh) | 一种深度监督与特征融合的细粒度跨媒体检索方法 | |
CN117474631A (zh) | 基于电商平台评论的数据挖掘与情感分析的推荐算法 | |
WO2021135192A1 (zh) | 一种基于用户好奇心的贝叶斯个性化排序推荐方法 | |
CN111274402B (zh) | 一种基于无监督分类器的电商评论情感分析方法 | |
CN110163716B (zh) | 一种基于卷积神经网络的红酒推荐方法 | |
CN110968675A (zh) | 一种基于多领域语义融合的推荐方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |