CN106227866A - 一种基于数据挖掘的混合过滤电影推荐方法 - Google Patents

一种基于数据挖掘的混合过滤电影推荐方法 Download PDF

Info

Publication number
CN106227866A
CN106227866A CN201610613419.3A CN201610613419A CN106227866A CN 106227866 A CN106227866 A CN 106227866A CN 201610613419 A CN201610613419 A CN 201610613419A CN 106227866 A CN106227866 A CN 106227866A
Authority
CN
China
Prior art keywords
user
matrix
film
data mining
attribute
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
Application number
CN201610613419.3A
Other languages
English (en)
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.)
Wuhan University of Technology WUT
Original Assignee
Wuhan University of Technology WUT
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 Wuhan University of Technology WUT filed Critical Wuhan University of Technology WUT
Priority to CN201610613419.3A priority Critical patent/CN106227866A/zh
Publication of CN106227866A publication Critical patent/CN106227866A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2216/00Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
    • G06F2216/03Data mining

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于数据挖掘的混合过滤电影推荐方法,首先建立电影属性矩阵M和初步用户评分矩阵G;然后挖掘用户日常浏览的电影关键词,再利用蚁群方法进行用户聚类,模拟出初步用户评分矩阵G中为空的用户评分,解决用户评分矩阵G的稀疏性问题,获得完善用户评分矩阵G;由完善用户评分矩阵G与电影属性矩阵M获取用户兴趣矩阵H;最后将用户兴趣矩阵H与电影属性矩阵M结合得到推荐电影得分矩阵Q。利用挖掘的数据来改进聚类的效果,同时混沌蚁群聚类方法的准确率和稳定性,优化了用户兴趣向量在用户兴趣迁移问题的权重。

Description

一种基于数据挖掘的混合过滤电影推荐方法
技术领域
本方法涉及推荐方法领域,具体涉及一种基于数据挖掘的混合过滤推荐方法。
背景技术
随着互联网的快速发展,在这个信息***的时代要想找到自己想要的信息变得越来越困难。同时人们在观看电影前有选择的购买自己更倾向的电影票也成为困扰许多人的问题。在用户为去电影院观影而选择最有可能符合自己口味的电影时,用户迫切的需要能够切实满足用户自身喜好和需求的推荐内容给予帮助,所以电影推荐方法的研究势在必行。
推荐方法作为主动向用户推送用户可能会喜欢的信息或者服务的存在,可以帮用户获取更多有用的信息并且大大减少时间的花费。而传统的电影票推荐方法大多依赖于协同过滤方法或者基于内容的推荐方法。首先基于内容的推荐方法无法发觉用户的新兴兴趣,从而丢失了用户本身的多变性。而传统的协同过滤方法往往由于电影数量越来越多而无法解决用户稀疏性的问题。并且为去电影院观影的用户推荐上映不久的电影的时候,也会遇到方法冷启动的问题,即新电影、新用户加入时常常存在信息不足的现象,这也是稀疏性问题的极端现象。而混沌蚁群方法是基于单个蚂蚁的混沌行为与整个蚂蚁群的自组织行为来解决最优化问题的方法,与传统的K-means聚类方法相比,不需要人为的设立各个类的初始中心,有效的克服了初值敏感的局限性,很好的提升了聚类的准确性和稳定性。
目前基于数据挖掘的电影混合推荐方法大多是基于既定假设,如假定所有观影的用户都主动参与了电影的评分或者将电影所有的属性设定为的固定的几个类选项等,实际上这些假设都会影响到方法的实际精确度。
发明内容:
为了克服上述背景技术的缺陷,本发明提供一种基于数据挖掘的混合电影推荐方法,以解决用户数量稀疏带来的推荐准确度不足问题。
为了解决上述技术问题本发明的所采用的技术方案为:一种基于数据挖掘的混合过滤电影推荐方法,包括:
步骤1,建立电影属性矩阵M和初步用户评分矩阵G;
步骤2,挖掘用户日常浏览的电影关键词,再利用蚁群方法进行用户聚类,模拟出初步用户评分矩阵G中为空的用户评分,解决用户评分矩阵G的稀疏性问题,获得完善用户评分矩阵G;
步骤3,由完善用户评分矩阵G与电影属性矩阵M获取用户兴趣矩阵H;
步骤4,将用户兴趣矩阵H与电影属性矩阵M结合得到推荐电影得分矩阵Q。
较佳地,建立电影属性矩阵M具体是指:
首先建立电影集合M={m1,m2,m3,...,mn};然后依据电影集合M生成电影属性矩阵其中n表示电影数量,而l表示电影的属性类型,当电影中具有某个属性时,其对应元素为l;否则当电影中不具备该属性时则为0;
较佳地,建立初步用户评分矩阵G为
其中,u为用户数量,n为电影名称,gnu的值为第u个用户看过第n个电影之后的评分。
较佳地,步骤2的具体步骤为:
步骤21),依据初步用户评分矩阵G中评分值为空的元素查找未评分用户;
步骤22),获取未评分用户的日常web日志的内容,并进行预处理;
步骤23),对步骤22)所得数据进行挖掘,建立未评分用户关键词矩阵
A = a 11 a 12 a 13 ... a 1 k a 21 a 22 a 23 ... a 2 k a 31 a 32 a 33 ... a 3 k . . . . . . . . . . a p 1 a p 2 a p 3 ... a p k
其中,p为未评分的用户数量,p∈(0,u),而k代表从用户web数据中挖掘出的有关电影的关键词;
步骤24),基于混沌蚁群方法对未评分用户关键词矩阵A进行聚类,得到邻居矩阵
A q = a 11 a 12 a 13 ... a 1 k a 21 a 22 a 23 ... a 2 k a 31 a 32 a 33 ... a 3 k . . . . . . . . . . a q s 1 a q s 2 a q s 3 ... a q s k
其中,k代表从用户web数据中挖掘出的有关电影的关键词,qs代表对于q用户的邻居用户数量s;
步骤25),估算初步用户评分矩阵G中评分值为空的元素,计算方法为其中,gi代表未评分用户关键词矩阵A中任一位未评分的用户,其中1≤i≤p,代表的是在初步用户评分矩阵G中所有为用户为电影所评过的分数的均值,是邻居矩阵Aq中对于每个不同用户的k种不同属性里每一个属性所有用户的评分的均值,代表每个属性的偏移量,0<wn≤1;
较佳地,其中wn的计算方法为:
选取任已经完成的神经网络训练集建立一个已经被填满的A矩阵的样本矩阵
A 0 = a 11 a 12 a 13 ... a 1 k 0 a 21 a 22 a 23 ... a 2 k 0 a 31 a 32 a 33 ... a 3 k 0 . . . . . . . . . . a p 0 1 a p 0 2 a p 0 3 ... a p 0 k 0
从样本矩阵A0中选取元素作为gi’,将gi’作为gi代入公式可求出wn
较佳地,从样本矩阵A0中选取元素作为gi’时,gi’应满足d=|gi'-gi|≤0.05。
较佳地,步骤24)基于混沌蚁群方法对未评分用户关键词矩阵A进行聚类具体包括:
用Cp(p=1,2,...,k)代表未评分用户关键词矩阵A的中心;
用迭代方程找出未评分用户关键词矩阵A的最佳中心Cpid(t),迭代方程为
y i ( t ) = y i ( t - 1 ) ( 1 + η ) C p i d ( t ) = ( C p i d ( t - 1 ) + 7.5 ψ i d × V i ) exp ( ( 1 - exp ( - ay i ( t ) ) ) ( 3 - ψ d ( C p i d ( t - 1 ) + 7.5 ψ i d × V i ) ) ) 7.5 ψ i d × V i + exp ( - 2 ay i ( t ) + b ) ( pbest p i d ( t - 1 ) - C k i d ( t - 1 ) )
其中,yi(t)是是组织变量,a为常数,且a≥200,而b为常数,且0≤b≤2/3,t表示目前迭代的次数,t-1表示上一次迭代的次数,η是一个小于1的正常数,Cpid(t)表示目前第p个目标中心的第i个蚂蚁在d维空间的位置,pbestpid(t-1)表示在第t-1步,第p个目标中心第i个蚂蚁在d维空间的最好位置。
较佳地,步骤3由完善用户评分矩阵G与电影属性矩阵M获取用户兴趣矩阵H是指:用户兴趣矩阵中元素hlu=alu×gnu×wnl T
其中,时间因子其中,dnow表示当前时间点,dlu表示对的评分时间点,β∈(0,1)是人为设定的经验参数。
较佳地,步骤4将用户兴趣矩阵H与电影属性矩阵M结合得到推荐电影得分矩阵Q是指:
Q = P T = H T × M T = h 11 h 12 h 13 ... h 1 u h 21 h 22 h 23 ... h 2 u h 31 h 32 h 33 ... h 3 u . . . . . . . . . . h l 1 h l 2 h l 3 ... h l u T × w 11 w 12 w 13 ... w 1 l w 21 w 22 w 23 ... w 2 l w 31 w 32 w 33 ... w 3 l . . . . . . . . . . w n 1 w n 2 w n 3 ... w n l T
得到推荐电影得分矩阵
其中,各个用户的电影推荐得分矩阵为qv=|qv1 qv2 qv3 ... qvn|,其中,v为任一用户,v∈(0,u),qv1,qv2,...,qvn即为所有n部电影对于该用户v的推荐指数。
本发明的有益效果在于:本方法通过对用户web日志数据挖掘的方式,充分挖掘用户本体对电影关键词个性化的喜好需求,然后通过混沌蚁群聚类方法对用户-关键词数据进行聚类,利用挖掘的数据来改进聚类的效果,同时混沌蚁群聚类方法的准确率和稳定性,改变了传统基于用户的协同过滤方法和K-means聚类方法的用户稀疏性问题。另外,为了解决传统推荐方法用户兴趣随着时间的迁移问题,优化了用户兴趣向量在用户兴趣迁移问题的权重。从用户数据稀疏性问题和电影特征向量两个方面考虑,综合提出了一种基于数据挖掘的混合过滤电影推荐方法。
附图说明
图1为本发明实施例的方法流程图;
图2为本发明实施例的混沌蚁群聚类方法所得的用户聚类结果图;
图3为本发明实施例的权重参数β的不同取值与对用户观影兴趣所造成实际误差的关系图。
具体实施方式
下面结合附图和实施例对本发明做进一步的说明。
一种基于数据挖掘的混合过滤电影推荐方法,包括:
步骤1,建立电影属性矩阵M和初步用户评分矩阵G;
步骤11,建立一个电影的集合M={m1,m2,m3,...,mn},每部电影的特征向量为其中wjl代表着每个特征向量对于电影mj的权重,而特征向量pk是电影所具备的属性信息,例如电影的地区,类型(诸如喜剧、恐怖、动作等),导演和演员的信息等等。其中l表示向量的长度,j,k分别表示电影、电影属性的的序号标志。建立后得到电影集合M={m1,m2,m3,...,mn}。
另外L={l1,l2,l3,…,lx}为电影属性集合,其中li,1≤i≤x为电影的属性,x为电影属性集合中的属性总数量。
U={u1,u2,u3,...,uu}为用户数量的集合,其中ui,1≤i≤u为用户的数量,u为用户集合中用户的总数量。
步骤12,根据步骤11所得到的电影集合M={m1,m2,m3,...,mn}转化出一个n*l的矩阵集合M,即为电影属性矩阵如下所示:
M = w 11 w 12 w 13 ... w 1 l w 21 w 22 w 23 ... w 2 l w 31 w 32 w 33 ... w 3 l . . . . . . . . . . w n 1 w n 2 w n 3 ... w n l
其中n表示电影数量,而l表示电影的属性类型,当电影中具有某个属性时,其对应元素为l;否则当电影中不具备该属性时则为0;
步骤13,对于步骤12所得到的矩阵中wnl的值,当电影中具有某个属性时,其对应元素为l;否则当电影中不具备该属性时则为0。整个电影集合组成的n行l列的电影-特征属性矩阵定义为Mnl
定义一个mj为特指n部电影中的第j部,且有1≤j≤n,属性pk在电影mj的特征向量中的权重由:
w j l = 1 , p k ∈ m j 0 , p k ∉ m j
一式来决定,其中pk为任一电影属性。
在这里要特别指出的是,wjl代表着如果第j部电影是否具有第l种电影属性的值的判断,例如如果电影A具有爱情片属性,则代表该电影的该属性的w的值就为1,反之则该w值就为0。
步骤14,根据步骤13所得到的电影属性矩阵M,可以建立初步用户评分矩阵G
G = g 11 g 12 g 13 ... g 1 u g 21 g 22 g 23 ... g 2 u g 31 g 32 g 33 ... g 3 u . . . . . . . . . . g n 1 g n 2 g n 3 ... g n u
其中,u为用户数量,n为电影集合中的电影总数量,gnu的值为第u个用户看过第n个电影之后的评分。gnu的值为用户观看过该电影后对电影的评分值,这样的评分值我们选用5分制,即用户最高可以给电影的评分为5分最低为0分,分数必须为整数,即
gnu∈{0,1,2,3,4,5}
步骤2,对步骤1所得的初步用户评分矩阵G中不得不考虑到在实际情况中,并不是每个用户都会主动参与到电影的评分中,也就是说会存在很多的gnu的值为空值。在传统的推荐方法中大多被假定为每个观影的用户默认都参与了评分,甚至说就是忽略了这一问题。本本实施例的方法中通过用户web日志数据挖掘的方式,将用户日常上网浏览相关电影信息的关键词获取挖掘出来,再利用蚁群方法进行用户聚类,从而以更优的方式模拟尚未评分的用户的评分,从而填补了这一空白部分的值,让推荐方法的更加有效准确。
本步骤中挖掘用户日常浏览的电影关键词,再利用蚁群方法进行用户聚类,模拟出初步用户评分矩阵G中为空的用户评分,解决用户评分矩阵G的稀疏性问题,获得完善用户评分矩阵G,具体步骤包括:
步骤21),查找初步用户评分矩阵G中评分值为空的元素,初步用户评分矩阵G中评分值为空的元素为未评分用户;
步骤22),获取未评分用户的日常web日志的内容,并进行预处理;
首先要获取未评分用户的日常web日志的内容,对其数据进行预处理。清理删除与数据挖掘不相关的数据,可以从下列三个方面来着手处理:a.从URL扩展名中删除非html文件的,如jpg、css、cgi等等均可被认为是不相关的文件;b.仅保留用户请求页面GET动作;c.删除一切以4、5开头的状态码。
具体的实现方式是:
首先用javascript对页面中的DOM元素进行筛选,过滤掉噪声内容;接着获取session中用户操作记录,构建用户观看电影属性数据矩阵:
UI={u1,u2,...un}
取n=30个属性,i=1,2…n,
ui={I1,I2,...Im},m=500,
500个用户在观看电影的记录上的统计;
然后用户在搜索电影数据记录Smovie={s1,s2,si...sn}取n=30个属性,i=1,2…n
Si={u1,u2,...um}也是500个用户。
接下来通过用户、事务和会话内容的识别进一步精简化获取到的数据信息。
1.用户识别采用Cookies的方法,在用户的客户端浏览器中写入一个标志,保密电影搞,可以跟踪用户对某个网站内容的重复访问,同时别免了代理软件的不方便性;
2.会话识别部分采用超时法,定义会话Session为Sessioni=<Si,Times,Timee,[(urli1,timei1),(urli2,timei2),...,(urlik,timeik)]>,其中0<i<g,g代表会话总数,Si是Session标识,Times是初始会话时间,Timee是结束会话时间,urlik是第k次会话所访问的页面,timeik是第k次页面被访问的时间。我们将用户访问记录划分为单个的会话,设定超时阈值为30分钟,如果用户访问对网页发出的请求时间间隔超过阈值,即Timei+1-Timei≤a,则认为用户开始了新的会话;
3.事务识别部分我们采用引用长度事务识别的方法,将会话进一步分割为具有一定语义的事务。定义事务为其中p代表事务总数,uid为访问用户id身份,url为第k次事务所访问的页面,Time是第k次访问事务持续时间,length是第k次事务所访问的长度。设定导航页和内容页时间间隔为t,采用极大似然估计法利用公式来求解t值。其中γ为导航页访问时间占总时间的百分比,λ为通过观察页面访问的时间的平均数倒数。
最终获得有逻辑的、分类的、对电影评分有益的用户web数据,即用户访问的事务,从而为接下来对信息进行聚类完成数据的挖掘与收集。
步骤23),对步骤22)所得数据进行挖掘,建立未评分用户关键词矩阵
A = a 11 a 12 a 13 ... a 1 k a 21 a 22 a 23 ... a 2 k a 31 a 32 a 33 ... a 3 k . . . . . . . . . . a p 1 a p 2 a p 3 ... a p k
其中,apk为当前第p个用户是否具备属性k的判断值,p为未评分的用户数量,p∈(0,u),而k代表从用户web数据中挖掘出的有关电影的关键词数量;
步骤24),基于混沌蚁群方法对未评分用户关键词矩阵A进行聚类,得到邻居矩阵
A q = a 11 a 12 a 13 ... a 1 k a 21 a 22 a 23 ... a 2 k a 31 a 32 a 33 ... a 3 k . . . . . . . . . . a q s 1 a q s 2 a q s 3 ... a q s k
其中,aqsk为q用户的一个邻居用户qs是否具备属性k的判断值,k代表从用户web数据中挖掘出的有关电影的关键词,qs代表对于q用户的邻居用户数量s;
基于混沌蚁群方法对未评分用户关键词矩阵A进行聚类是用Cp(p=1,2,...,k)代表未评分用户关键词矩阵A的中心;然后用迭代方程找出未评分用户关键词矩阵A的最佳中心Cpid(t)迭代方程为
y i ( t ) = y i ( t - 1 ) ( 1 + η ) C p i d ( t ) = ( C p i d ( t - 1 ) + 7.5 ψ i d × V i ) exp ( ( 1 - exp ( - ay i ( t ) ) ) ( 3 - ψ d ( C p i d ( t - 1 ) + 7.5 ψ i d × V i ) ) ) 7.5 ψ i d × V i + exp ( - 2 ay i ( t ) + b ) ( pbest p i d ( t - 1 ) - C k i d ( t - 1 ) )
其中,yi(t)是是组织变量,其引入可以实现对单个蚂蚁的混沌行为的调整并且让蚂蚁能够最终移动到最佳适值的位置上,a为常数,且a≥200,而b为常数,且0≤b≤2/3,t表示目前迭代的次数,t-1表示上一次迭代的次数,η是一个小于1的正常数,Cpid(t)表示目前第p个目标中心的第i个蚂蚁在d维空间的位置,pbestpid(t-1)表示在第t-1步,第p个目标中心第i个蚂蚁在d维空间的最好位置。
混沌蚁群聚类方法的执行步骤为:
步骤241)初始化,在方法开始迭代之前,需要预设一些参数,并赋给它们一定的初始值:根据数据集合设置搜索范围蚂蚁数目n,最大迭代步数Istep,组织因子ri,以及组织变量yi。令t=1,并在搜索空间中为每个聚类中心随机生成n个蚂蚁的位置;
步骤242)迭代开始,每个蚂蚁根据迭代方程移动它们所在的位置。每次迭代之后按照下式:
f = arg min z 1 , z 2 , ... , z k Σ j = 1 n arg min 1 ≤ p ≤ k | | x j - z p | |
来计算第i只蚂蚁的最佳位置,并记录到下次迭代中。计算中选取欧几里得距离来度量各个蚂蚁在数据空间中的距离;
步骤243)令t+1,转到步骤242)当方法执行步数达到预设的最大迭代步数Istep,方法终止,并转到步骤244);
步骤244)标记聚类中心,迭代终止后,方法收敛到空间中的若干个点,即所有蚂蚁都会移动到数据空间中的几个固定位置,这几个点就是聚类方法最终得到的聚类中心;
步骤245)划分数据,得到聚类结果,根据得到的聚类中心,依据下式
Ci={xj|||xj-zi||≤||xj-zp|||,p≠i,p=1,2,...,k,xj∈S}
将数据集中的各个数据标记到对应的类别中去,得到最终的聚类结果。即每个未评分用户都会找到一个邻居用户矩阵Aq,其中q∈p。
混沌蚁群聚类方法的算法流程为:
1.t=1,为每个目标中心随机选择n个蚂蚁,并确定搜索范围;
2.迭代开始:
计算目标的函数值;
所有蚂蚁根据下式移动位置;
y i ( t ) = y i ( t - 1 ) ( 1 + η ) C p i d ( t ) = ( C p i d ( t - 1 ) + 7.5 ψ i d × V i ) exp ( ( 1 - exp ( - ay i ( t ) ) ) ( 3 - ψ d ( C p i d ( t - 1 ) + 7.5 ψ i d × V i ) ) ) 7.5 ψ i d × V i + exp ( - 2 ay i ( t ) + b ) ( pbest p i d ( t - 1 ) - C k i d ( t - 1 ) )
记录每次移动后蚂蚁的最好位置;
t=t+1;
直到:
t=Istep;
3.标记迭代得到各个中心Cp(p=1,2,...,n);
4.依次计算每个数据与CP之间的欧氏距离,为每个数据选取最近的CP,并将该数据的类别号标记为p。
基于混沌蚁群的聚类方法和传统的k-means聚类方法相比往往具有更高的准确率和召回率:
准确率:
召回率:
其中表示数据集中第i类中数据元素的个数,表示聚类后分到第i类的数据元素的个数;表示分到第i类数据元素中正确的个数。在带入实测数据后可以得到下列聚类结果对比:
聚类所得到的用户聚类结果如图2所示。
步骤25),估算初步用户评分矩阵G中评分值为空的元素,计算方法为其中,gi代表未评分用户关键词矩阵A中任一位未评分的用户,其中1≤i≤p,代表的是在初步用户评分矩阵G中所有为用户为电影所评过的分数的均值,是邻居矩阵Aq中对于每个不同用户的k种不同属性里每一个属性所有用户的评分的均值,代表每个属性的偏移量,0<wn≤1;
其中wn的计算方法为:
选取任已经完成的神经网络训练集建立一个已经被填满的A矩阵的样本矩阵
A 0 = a 11 a 12 a 13 ... a 1 k 0 a 21 a 22 a 23 ... a 2 k 0 a 31 a 32 a 33 ... a 3 k 0 . . . . . . . . . . a p 0 1 a p 0 2 a p 0 3 ... a p 0 k 0
从样本矩阵A0中选取元素作为gi’,将gi’作为gi代入公式从而反推算出wi的取值范围,在通过多次反复的取不同神经网络的训练集来为每个wi取最佳值,而这里的wi即为wn在不同具体gi’的取值情况下训练得到的值,满足公式再将wn的值带入公式中算出每个未评分用户应当给出的评分最优值,这样最终得以完善矩阵A,从而完善了矩阵G中的未评分的评分数值,最佳的解决了用户稀疏性的问题。
从样本矩阵A0中选取元素作为gi’时,gi’应满足d=|gi'-gi|≤0.05。
步骤3,由完善用户评分矩阵G与电影属性矩阵M获取用户兴趣矩阵H;
用户兴趣矩阵中元素
系数值随着时间推移用户产生的兴趣爱好的变化是在不断改变的,通过艾宾浩斯遗忘曲线来定义这样一个时间因子系数alu的权重值,艾宾浩斯遗忘曲线定义时间因子权重:
其中,dnow表示当前时间点,dlu表示对的评分时间点,β∈(0,1)是人为设定的经验参数,β值得变化对时间因子的影响我们在选择不同的值时,考虑到其影响的重要性,将其迭代次数设置为6次,设置权重参数分别为0,0.25,0.50,0.70,0.80,1.00.邻居数量以20到120作为实验的具体参数。
如图3所示,显然由实验所得的数据所示可以看到当β为0.25是所得到的误差值最小。即用户的兴趣由75%的近期观影兴趣和25%的长期观影兴趣组成的。
另外,上述时间因子系数alu还可以通过以下方法得到:
根据步骤1中建立的用户-电影评分矩阵M的特征向量每个用户ui的特征向量是用户对每个电影特征向量的加权和,权重就是用户对响应电影的评分和时间因子alu的乘积:
由于用户的共同喜好的电影属性对于用户个性化反应反而起逆向贡献,那么设置一个逆向特征频率idfpk,参考TF-IDF方法思想,假设用户总数为AUN,具有属性pk的用户数量为PUN,那么逆向频率特征idfpk为:
idf p k = log ( A U N P U N )
那么用户兴趣向量应该为:
其中为用户对每部电影的平均评分。
那么用户的特征向量对应的属性的pk的最终权重值为:
其中是对用户特征向量的归一化结果。
归一化计算方法是对应的特征向量中每个值除以最大值,使得每个值都散落在(0,1]之间。
由此通过特征向量的值最终来确定用户-兴趣特征矩阵H.
步骤4,将用户兴趣矩阵H与电影属性矩阵M结合得到推荐电影得分矩阵Q。
Q = P T = H T × M T = h 11 h 12 h 13 ... h 1 u h 21 h 22 h 23 ... h 2 u h 31 h 32 h 33 ... h 3 u . . . . . . . . . . h l 1 h l 2 h l 3 ... h l u T × w 11 w 12 w 13 ... w 1 l w 21 w 22 w 23 ... w 2 l w 31 w 32 w 33 ... w 3 l . . . . . . . . . . w n 1 w n 2 w n 3 ... w n l T
得到推荐电影得分矩阵
其中,各个用户的电影推荐得分矩阵为qv=|qv1 qv2 qv3 ... qvn|,其中,v为任一用户,v∈(0,u),qv1,qv2,...,qvn即为所有n部电影对于该用户v的推荐指数,通过排列大小的方式,以高分在前,依次推荐给该用户,即获得最终最优的推荐结果。
本方法通过对用户web日志数据挖掘的方式,充分挖掘用户本体对电影关键词个性化的喜好需求,然后通过混沌蚁群聚类方法对用户-关键词数据进行聚类,利用挖掘的数据来改进聚类的效果,同时混沌蚁群聚类方法的准确率和稳定性,改变了传统基于用户的协同过滤方法和K-means聚类方法的用户稀疏性问题。另外,为了解决传统推荐方法用户兴趣随着时间的迁移问题,借助艾宾浩斯遗忘曲线作为时间因子,优化了用户兴趣向量在用户兴趣迁移问题的权重。从用户数据稀疏性问题和电影特征向量两个方面考虑,综合提出了一种全新的推荐方法。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。

Claims (9)

1.一种基于数据挖掘的混合过滤电影推荐方法,其特征在于,包括:
步骤1,建立电影属性矩阵M和初步用户评分矩阵G;
步骤2,挖掘用户日常浏览的电影关键词,再利用蚁群方法进行用户聚类,模拟出所述初步用户评分矩阵G中为空的用户评分,解决所述用户评分矩阵G的稀疏性问题,获得完善用户评分矩阵G;
步骤3,由所述完善用户评分矩阵G与所述电影属性矩阵M获取用户兴趣矩阵H;
步骤4,将所述用户兴趣矩阵H与所述电影属性矩阵M结合得到推荐电影得分矩阵Q。
2.根据权利要求1所述的一种基于数据挖掘的混合过滤电影推荐方法,其特征在于,所述建立电影属性矩阵M具体是指:
首先建立所述电影集合M={m1,m2,m3,...,mn};然后依据所述电影集合M生成所述电影属性矩阵其中n表示电影数量,而l表示电影的属性类型,当电影中具有某个属性时,其对应元素为l;否则当电影中不具备该属性时则为0。
3.根据权利要求2所述的一种基于数据挖掘的混合过滤电影推荐方法,其特征在于:所述建立初步用户评分矩阵G为
其中,u为用户数量,n为电影名称,gnu的值为第u个用户看过第n个电影之后的评分。
4.根据权利要求3所述的一种基于数据挖掘的混合过滤电影推荐方法,其特征在于,所述步骤2的具体步骤为:
步骤21),依据初步用户评分矩阵G中评分值为空的元素查找未评分用户;
步骤22),获取所述未评分用户的日常web日志的内容,并进行预处理;
步骤23),对所述步骤22)所得数据进行挖掘,建立未评分用户关键词矩阵
其中,p为未评分的用户数量,p∈(0,u),而k代表从用户web数据中挖掘出的有关电影的关键词;
步骤24),基于混沌蚁群方法对所述未评分用户关键词矩阵A进行聚类,得到邻居矩阵
其中,k代表从用户web数据中挖掘出的有关电影的关键词,qs代表对于q用户的邻居用户数量s;
步骤25),估算所述初步用户评分矩阵G中评分值为空的元素,计算方法为其中,gi代表所述未评分用户关键词矩阵A中任一位未评分的用户,其中1≤i≤p,代表的是在所述初步用户评分矩阵G中所有为用户为电影所评过的分数的均值,是所述邻居矩阵Aq中对于每个不同用户的k种不同属性里每一个属性所有用户的评分的均值,代表每个属性的偏移量,0<wn≤1。
5.根据权利要求4所述的一种基于数据挖掘的混合过滤电影推荐方法,其特征在于,其中wn的计算方法为:
选取任已经完成的神经网络训练集建立一个已经被填满的A矩阵的样本矩阵
从所述样本矩阵A0中选取元素作为gi’,将所述gi’作为gi代入所 述公式可求出所述wn
6.根据权利要求5所述的一种基于数据挖掘的混合过滤电影推荐方法,其特征在于:从所述样本矩阵A0中选取元素作为gi’时,所述gi’应满足d=|gi'-gi|≤0.05。
7.根据权利要求4所述的一种基于数据挖掘的混合过滤电影推荐方法,其特征在于,所述步骤24)基于混沌蚁群方法对所述未评分用户关键词矩阵A进行聚类具体包括:
用Cp(p=1,2,...,k)代表所述未评分用户关键词矩阵A的中心;
用迭代方程找出所述未评分用户关键词矩阵A的最佳中心Cpid(t),所述迭代方程为
其中,yi(t)是是组织变量,a为常数,且a≥200,而b为常数,且0≤b≤2/3,t表示目前迭代的次数,t-1表示上一次迭代的次数,η是一个小于1的正常数,Cpid(t)表示目前第p个目标中心的第i个蚂蚁在d维空间的位置,pbestpid(t-1)表示在第t-1步,第p个目标中心第i个蚂蚁在d维空间的最好位置。
8.根据权利要求1所述的一种基于数据挖掘的混合过滤电影推 荐方法,其特征在于,所述步骤3由所述完善用户评分矩阵G与所述电影属性矩阵M获取用户兴趣矩阵H是指:所述用户兴趣矩阵 中元素hlu=alu×gnu×wnl T
其中,时间因子其中,dnow表示当前时间点,dlu表示对的评分时间点,β∈(0,1)是人为设定的经验参数。
9.根据权利要求1所述的一种基于数据挖掘的混合过滤电影推荐方法,其特征在于,所述步骤4将所述用户兴趣矩阵H与所述电影属性矩阵M结合得到推荐电影得分矩阵Q是指:
得到推荐电影得分矩阵
其中,各个用户的电影推荐得分矩阵为qv=|qv1 qv2 qv3 ... qvn|,其中,v为任一用户,v∈(0,u),qv1,qv2,...,qvn即为所有n部电影对于该用户v的推荐指数。
CN201610613419.3A 2016-07-29 2016-07-29 一种基于数据挖掘的混合过滤电影推荐方法 Pending CN106227866A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610613419.3A CN106227866A (zh) 2016-07-29 2016-07-29 一种基于数据挖掘的混合过滤电影推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610613419.3A CN106227866A (zh) 2016-07-29 2016-07-29 一种基于数据挖掘的混合过滤电影推荐方法

Publications (1)

Publication Number Publication Date
CN106227866A true CN106227866A (zh) 2016-12-14

Family

ID=57535657

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610613419.3A Pending CN106227866A (zh) 2016-07-29 2016-07-29 一种基于数据挖掘的混合过滤电影推荐方法

Country Status (1)

Country Link
CN (1) CN106227866A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106909634A (zh) * 2017-02-09 2017-06-30 苏州亮磊知识产权运营有限公司 基于条件的多媒体影像评论数据挖掘与处理方法及***
CN106909635A (zh) * 2017-02-09 2017-06-30 苏州亮磊知识产权运营有限公司 基于多媒体数字影像评论的数据挖掘与处理方法及***
CN108876457A (zh) * 2018-06-15 2018-11-23 重庆知遨科技有限公司 一种用于解决数据稀疏的新闻推荐方法
CN109241203A (zh) * 2018-09-27 2019-01-18 天津理工大学 一种融合时间因素的用户偏好和距离加权的聚类方法
CN116339899A (zh) * 2023-05-29 2023-06-27 内江师范学院 一种基于人工智能的桌面图标的管理方法及装置
CN116720716A (zh) * 2023-08-09 2023-09-08 中笛(北京)文化发展有限公司 基于大数据的姜茶产品个性化定制方法及***

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106909634A (zh) * 2017-02-09 2017-06-30 苏州亮磊知识产权运营有限公司 基于条件的多媒体影像评论数据挖掘与处理方法及***
CN106909635A (zh) * 2017-02-09 2017-06-30 苏州亮磊知识产权运营有限公司 基于多媒体数字影像评论的数据挖掘与处理方法及***
CN106909634B (zh) * 2017-02-09 2020-04-28 江苏睿泰数字传媒有限公司 基于条件的多媒体影像评论数据挖掘与处理方法及***
CN106909635B (zh) * 2017-02-09 2020-05-19 深圳市瑞迪兴智能科技有限公司 基于多媒体数字影像评论的数据挖掘与处理方法及***
CN108876457A (zh) * 2018-06-15 2018-11-23 重庆知遨科技有限公司 一种用于解决数据稀疏的新闻推荐方法
CN108876457B (zh) * 2018-06-15 2021-05-18 赣州柏朗科技有限公司 一种用于解决数据稀疏的新闻推荐方法
CN109241203A (zh) * 2018-09-27 2019-01-18 天津理工大学 一种融合时间因素的用户偏好和距离加权的聚类方法
CN109241203B (zh) * 2018-09-27 2021-08-31 天津理工大学 一种融合时间因素的用户偏好和距离加权的聚类方法
CN116339899A (zh) * 2023-05-29 2023-06-27 内江师范学院 一种基于人工智能的桌面图标的管理方法及装置
CN116339899B (zh) * 2023-05-29 2023-08-01 内江师范学院 一种基于人工智能的桌面图标的管理方法及装置
CN116720716A (zh) * 2023-08-09 2023-09-08 中笛(北京)文化发展有限公司 基于大数据的姜茶产品个性化定制方法及***
CN116720716B (zh) * 2023-08-09 2023-12-26 中笛(北京)文化发展有限公司 基于大数据的姜茶产品个性化定制方法及***

Similar Documents

Publication Publication Date Title
CN106227866A (zh) 一种基于数据挖掘的混合过滤电影推荐方法
Zhou et al. Userrec: A user recommendation framework in social tagging systems
Yin et al. Modeling location-based user rating profiles for personalized recommendation
CN102929928B (zh) 基于多维相似度的个性化新闻推荐方法
Yin et al. Spatio-temporal recommendation in social media
Leung et al. Personalized web search with location preferences
CN102982042B (zh) 一种个性化内容推荐方法、平台以及***
CN105045931A (zh) 一种基于Web挖掘的视频推荐方法和***
CN103425763B (zh) 基于sns的用户推荐方法及装置
CN103970754B (zh) 文章的自动选取方法及装置
CN103678618A (zh) 一种基于社交网络平台的Web服务推荐方法
CN107679239B (zh) 一种基于用户行为的个性化社区推荐方法
CN104376083B (zh) 一种基于关注关系和多用户行为的图推荐方法
CN103607496A (zh) 一种推断手机用户兴趣爱好的方法、装置及手机终端
CN108132963A (zh) 资源推荐方法和装置、计算设备和存储介质
CN108959580A (zh) 一种标签数据的优化方法及***
Noro et al. Twitter user rank using keyword search
CN103095849B (zh) 基于QoS属性预测和纠错的有监督Web服务发现方法及***
Siino et al. Whosnext: Recommending twitter users to follow using a spreading activation network based approach
CN103262079B (zh) 检索装置及检索方法
CN104123321B (zh) 一种确定推荐图片的方法及装置
CN106874509A (zh) 基于中粒度用户分组的资源推荐方法及装置
CN106934004A (zh) 一种基于地域特征向用户推荐文章的方法和装置
CN110175289A (zh) 基于余弦相似度协同过滤的混合推荐方法
CN105447013A (zh) 一种新闻推荐***

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: 20161214