CN109963175A - 基于显隐性潜在因子模型的电视产品精准推荐方法及系统 - Google Patents
基于显隐性潜在因子模型的电视产品精准推荐方法及系统 Download PDFInfo
- Publication number
- CN109963175A CN109963175A CN201910085589.2A CN201910085589A CN109963175A CN 109963175 A CN109963175 A CN 109963175A CN 201910085589 A CN201910085589 A CN 201910085589A CN 109963175 A CN109963175 A CN 109963175A
- Authority
- CN
- China
- Prior art keywords
- product
- user
- latent factor
- label
- recessive
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 239000011159 matrix material Substances 0.000 claims description 47
- 238000004422 calculation algorithm Methods 0.000 claims description 36
- 230000007246 mechanism Effects 0.000 claims description 27
- 230000006870 function Effects 0.000 claims description 21
- 230000003068 static effect Effects 0.000 claims description 19
- 238000013461 design Methods 0.000 claims description 17
- 238000007637 random forest analysis Methods 0.000 claims description 16
- 238000002372 labelling Methods 0.000 claims description 14
- 238000012706 support-vector machine Methods 0.000 claims description 14
- 238000011478 gradient descent method Methods 0.000 claims description 10
- 238000012549 training Methods 0.000 claims description 9
- 238000010276 construction Methods 0.000 claims description 6
- 235000013399 edible fruits Nutrition 0.000 claims description 6
- 238000004088 simulation Methods 0.000 claims description 6
- 238000012935 Averaging Methods 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 230000000977 initiatory effect Effects 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 3
- 230000006399 behavior Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000001914 filtration Methods 0.000 description 6
- 238000003066 decision tree Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 4
- 230000005611 electricity Effects 0.000 description 4
- 230000005484 gravity Effects 0.000 description 4
- 206010000117 Abnormal behaviour Diseases 0.000 description 3
- 244000046052 Phaseolus vulgaris Species 0.000 description 3
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 3
- 238000000354 decomposition reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000001154 acute effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000000366 juvenile effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000003442 weekly effect Effects 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000018199 S phase Effects 0.000 description 1
- 230000004308 accommodation Effects 0.000 description 1
- 238000010009 beating Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000011068 loading method Methods 0.000 description 1
- 235000012054 meals Nutrition 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000035772 mutation Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000009418 renovation Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/251—Learning process for intelligent management, e.g. learning user preferences for recommending movies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/251—Learning process for intelligent management, e.g. learning user preferences for recommending movies
- H04N21/252—Processing of multiple end-users' preferences to derive collaborative data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25866—Management of end-user data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25866—Management of end-user data
- H04N21/25891—Management of end-user data being end-user preferences
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8126—Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts
- H04N21/8133—Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts specifically related to the content, e.g. biography of the actors in a movie, detailed information about an article seen in a video program
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8455—Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及推荐技术领域,公开基于显隐性潜在因子模型的电视产品精准推荐方法,包括:对电视产品正题名通过正则表达式进行处理,设计爬虫策略,对所需的外部数据进行爬取;根据电视产品和用户人群的不同特征,分别建立针对电视产品和用户的分类模型,从而实现对爬取的外部数据中不同电视产品和用户自动标签标注,得到标注标签后的电视产品信息和标注标签后的用户信息;从而得出显性潜在因子,根据显性潜在因子得出隐性潜在因子,基于显性潜在因子及隐性潜在因子构建显隐性潜在因子模型;基于构建的显隐性潜在因子模型进行电视产品的推荐。本发明还公开基于显隐性潜在因子模型的电视产品精准推荐系统。本发明提高了推荐的准确度。
Description
技术领域
本发明涉及推荐技术领域,特别涉及基于显隐性潜在因子模型的电视产品精准推荐方法及系统。
背景技术
随着互联网的快速发展,信息呈现爆炸增长的趋势,每天都有无数的信息涌入千家万户。此形势下的“三网融合”为传统广播电视媒介的发展带来了机遇,广播电视运营商可以从每个用户的历史信息和实时互动信息来获取有用的信息,但从大量信息中找到用户感兴趣的信息是非常困难的。为了解决这一问题,推荐系统通过分析用户的相关数据,包括个人社会属性、浏览日志等,来挖掘用户的喜爱偏好,从而为用户提供个性化的服务。
推荐系统的主要作用有:分析用户行为、筛选有用信息、生成个性化推荐等。基于用户行为分析而得到的推荐系统在各种销售、娱乐、生活平台都大放异彩,对人们的生活模式和质量有很大的影响和提高。如亚马逊、淘宝、网易云音乐、爱奇艺等主流应用,都有着推荐系统的支撑。
在传统电视媒体和网络电视领域上,推荐系统发挥着不可替代的作用。在线视频网站公司Netflix在2006年开办的Netflix Prize比赛更是吸引了无数团队投入到推荐系统的研究中,对推荐系统的发展有着非凡的意义。而现如今,推荐系统的性能更是直接关系到公司运营的利益,所以尽管推荐系统已经取得了不俗的进展,并已经广泛应用于各信息化公司和人们的生活之中,但对于推荐系统的准确度却也在不断提出更高的要求。
推荐系统中最为关键的就是推荐算法,目前,按照推荐方法可以分为两类:基于内容的推荐算法和协同过滤算法。
基于内容的推荐算法是直接分析产品内容,并根据目标用户过去的喜好推荐相似内容的产品,这种推荐算法简单直接,但是使用范围有限,只是用于有现有显著标签的产品。此类算法存在的问题是无法推荐用户从未接触类别产品。
协同过滤推荐算法的主要思想是通过寻找目标用户的相似用户,根据其他用户的历史浏览信息,产生该用户对项目的喜好程度预测值,然后进行推荐。目前,协同过滤算法根据相似对象不同又分为两种:基于用户相似和基于项目相似的协同过滤算法。从原理上看,协同过滤算法可以推荐用户以前从未接触类别的商品。但是,此类算法存在矩阵稀疏性问题,由于产品数量过多,用户浏览记录较少。在这种情况下,推荐系统难以产生精确的推荐结果。
由于协同过滤算法目前存在的一些问题,大量研究人员做了许多研究工作,提出了潜在因子模型,神经网络模型和图模型等解决方案。其中,目前比较流行且效率较高的是潜在因子模型LFM(Latent Factor Model)。
潜在因子模型的基本方法是将用户和项目的不同潜在特征(Class)映射到相同的潜在因子空间,该算法的推荐指数为用户-潜在因子矩阵和潜在因子-项目矩阵的内积。算法矩阵分解过程如下:
其中,定义P为用户潜在因子矩阵,Q为项目潜在因子矩阵,为评分矩阵。矩阵中评分越高,就可以认为用户对该项目喜好程度越高。该模型本质上是矩阵分解问题,为了解决该问题,已经有许多研究人员做了大量工作,提供了许多改进和变种方案。但是,在LFM模型中,分解得到的特征是无法解释的,这些特征往往是通过数学计算得到的而不是人为指定的。
本发明针对潜在因子模型存在的缺点,定义显性潜在因子,指派可解释特征,同时又定义隐性潜在因子,考虑非可解释特征,然后依据评分矩阵,逆向学习训练得到定义的隐性潜在因子,从而得到最终用户对电视产品的精准推荐。
发明内容
针对上述问题,本发明提供基于显隐性潜在因子模型的电视产品精准推荐方法及系统,提高了推荐的准确度。
为了实现上述目的,本发明采用以下技术方案:
一种基于显隐性潜在因子模型的电视产品精准推荐方法,包括以下步骤:
步骤1:电视产品正题名通过正则表达式进行处理,综合考虑多种反爬虫机制,设计爬虫策略,对所需的外部数据进行爬取;
步骤2:根据电视产品和用户人群的不同特征,分别建立针对电视产品和用户人群的分类模型,通过所述分类模型实现对电视产品信息和用户信息的自动标签标注,得到标注标签后的电视产品信息和标注标签后的用户信息;
步骤3:依据标注标签后的电视产品信息和标注标签后的用户信息及爬取的外部数据得出显性潜在因子,所述显性潜在因子包括电视产品显性潜在因子和用户显性潜在因子,通过显性潜在因子得出隐性潜在因子,基于显性潜在因子及隐性潜在因子构建显隐性潜在因子模型;
步骤4:基于构建的显隐性潜在因子模型进行电视产品的推荐。
进一步地,所述步骤1包括:
步骤1.1:设计反爬虫机制,所述反爬虫机制包括采用模拟Ajax请求的方式,主动发起异步请求获取所需数据;
步骤1.2:根据反爬虫机制设计网络爬虫算法,对网页数据进行爬取:
采取所述反爬虫机制不断发起Http请求,然后接收Http回应,解析得到的HTML文件,如果是确定的结构,直接匹配得到标签中的数据;
如果结构为非确定的,则对整个DOM树进行遍历搜索,获取标签中的数据。
进一步地,所述步骤2包括:
步骤2.1:根据电视产品的不同特征建立针对电视产品的分类模型:
步骤2.1.1:根据电视产品的不同特征为电视产品设立不同等级的标签,所述不同等级的标签包括一级标签,所述一级标签包括基本特征和适用人群;
步骤2.1.2:对于一级标签为基本特征的数据项,采用关键字和关键短语作为划分类别的输入数据源,采用支持向量机的方法对电视产品进行分类;
步骤2.1.3:对于一级标签为适用人群的数据项,采用随机森林算法对电视产品进行分类;
步骤2.1.4:通过步骤2.1.1至步骤2.1.3完成对电视产品的分类模型的构建,通过电视产品的分类模型对电视产品信息进行自动标签标注,得到标注标签后的电视产品信息;
步骤2.2:根据用户人群的不同特征建立针对用户人群的分类模型:
步骤2.2.1:根据用户人群的不同特征为用户人群设立不同等级的标签,所述不同等级的标签包括一级标签,所述一级标签包括用户人群基本特征和收视偏好;
步骤2.2.2:对于一级标签为用户人群基本特征的数据项,采用随机森林算法对用户人群进行分类;
步骤2.2.3:对于一级标签是收视偏好的数据项,建立将不同特征参数转化成输入格式,并且根据实际情况建立不同因素的评价体系,描述不同因素对用户节目偏好的贡献率,采用随机森林算法对用户人群进行分类;
步骤2.2.4:通过步骤2.2.1至步骤2.2.3完成对用户人群的分类模型的构建,通过用户人群的分类模型对用户信息进行自动标签标注,得到标注标签后的用户信息。
进一步地,所述用户信息包括用户收视信息及用户基本信息。
进一步地,所述将不同特征参数转化成输入格式包括:
通过计算用户收视信息样本中的各项的数据值,进行求均值方差计算,建立转换输入格式公式:
其中,v1表示观看次数参量,μ1和ρ1分别表示该用户观看电视产品次数最多的观看次数和该电视产品观看次数占总观看电视产品次数的百分比,v2表示观看时长参量,τ和Δτ分别表示观看时间最长电视产品的观看时长和平均每个电视产品的观看时长,v3表示购买电视产品价格,其中C和ΔC分别表示购买最贵的一类电视产品的总花销和每一类电视产品的平均花销。
进一步地,所述步骤3包括:
步骤3.1:依据标注标签后的电视产品信息和爬取的外部数据得出电视产品显性潜在因子,所述电视产品显性潜在因子包括电视产品适用人群、电视产品静态参数及电视产品类别信息,所述电视产品静态参数包括电视产品的导演、演员、出品年代、声道语种和地区参数;
步骤3.2:依据标注标签后的用户信息和爬取的外部数据得出用户显性潜在因子,所述用户显性潜在因子包括用户家庭成员、用户浏览特征及用户收视偏好;
步骤3.3:将除电视产品显性潜在因子和用户显性潜在因子以外的电视产品和用户人群的特征定义为隐性潜在因子;
步骤3.4:对所述隐性潜在因子进行求解:
设隐性潜在因子有n维,显性潜在因子为m维,其中n为未知维数,m为已知的显性潜在因子维数,则总的潜在因子空间维度为f=m+n,基于传统潜在因子模型,在确定显性潜在因子的条件下,训练出n维未知的隐性潜在因子;
步骤3.5:将电视产品显性潜在因子、用户显性潜在因子及隐性潜在因子共同构成显隐性潜在因子矩阵,所述显隐性潜在因子矩阵包括用户显隐性潜在因子矩阵P和电视产品显隐性潜在因子矩阵Q,通过如下方式计算P和Q:
定义损失函数:
其中,L是损失函数;pi是用户i的显隐性潜在因子向量,qj是电视产品j的显隐性潜在因子向量;si,j是用户i对电视产品j的评分;λ为惩罚因子;
在损失函数中加入基准偏置项:
bi,j=μ+bi+bj
其中,μ表示所有用户对电视产品打分的平均值,bi和bj分别表示用户i和电视产品j的基准偏置,将上述基准偏置项加入到原损失函数的表达式中可得如下目标函数表达式:
分别对上式的bi、bj、pi和qj求偏导,通过随机梯度下降法求解参数bi、bj、pi和qj,根据随机梯度下降法,在训练的过程中,各个参数都做如下更新:
其中,γ为学习步长;
步骤3.6:通过步骤3.1-步骤3.5完成显隐性潜在因子模型的构建。
进一步地,所述步骤4包括:
步骤4.1:将用户显隐性潜在因子矩阵P和电视产品显隐性潜在因子矩阵Q带入如下公式,得出电视产品的预测得分:
其中,为预测得分矩阵;
步骤4.2:将用户未看过的中评分最高的前N个电视产品推荐给用户。
一种基于显隐性潜在因子模型的电视产品精准推荐系统,包括:
自动标签标注模块,用于电视产品正题名通过正则表达式进行处理,综合考虑多种反爬虫机制,设计爬虫策略,对所需的外部数据进行爬取;
自动标签标注模块,用于根据电视产品和用户人群的不同特征,分别建立针对电视产品和用户人群的分类模型,通过所述分类模型实现对电视产品信息和用户信息的自动标签标注,得到标注标签后的电视产品信息和标注标签后的用户信息;
显隐性潜在因子模型构建模块,用于依据电视产品信息数据标签表、用户收视信息标签表及爬取的外部数据得出显性潜在因子,所述显性潜在因子包括电视产品显性潜在因子和用户显性潜在因子,通过显性潜在因子得出隐性潜在因子,基于显性潜在因子及隐性潜在因子构建显隐性潜在因子模型;
推荐模块,用于基于构建的显隐性潜在因子模型进行电视产品的推荐。
与现有技术相比,本发明具有的有益效果:
本发明首先设计对外部数据进行收集,综合考虑多种反爬虫机制,设计爬虫策略,用以爬取网页数据对现有数据进行补充。在标签自动化生成部分,分析现有数据,利用SVM和随机森林算法对用户和电视产品不同属性进行分类,得到了用户和电视产品标签体系,并实现了标签自动生成机制。在潜在因子生成部分,依据数据字段得到可解释的显性潜在因子,同时综合考虑用户和电视产品部分不可解释特征,定义隐性潜在因子;在矩阵求解部分,利用随机梯度下降求解得到显隐性潜在因子矩阵;在上述基础上,基于矩阵求内积,并利用外部评分优化求得出对用户的TOPN推荐。从准确率、召回率、F1系数三个指标对本发明进行了离线测试,在不同推荐列表长度情况下,结果均优于传统潜在因子模型,证明了本发明较高的推荐准确度。
附图说明
图1为本发明实施例的一种基于显隐性潜在因子模型的电视产品精准推荐方法流程图。
图2为本发明又一实施例的一种基于显隐性潜在因子模型的电视产品精准推荐方法流程图。
图3为本发明实施例的决策树示意图。
图4为本发明实施例的网页爬取结果示意图。
图5为本发明实施例的准确率和推荐列表长度关系对比图。
图6为本发明实施例的召回率和推荐列表长度关系对比图。
图7为本发明实施例的F1系数和推荐列表长度关系对比图。
图8为本发明实施例的一种基于显隐性潜在因子模型的电视产品精准推荐系统的结构示意图。
具体实施方式
下面结合附图和具体的实施例对本发明做进一步的解释说明:
实施例一:
如图1所示,一种基于显隐性潜在因子模型的电视产品精准推荐方法,包括以下步骤:
步骤S101:电视产品正题名通过正则表达式进行处理,综合考虑多种反爬虫机制,设计爬虫策略,对所需的外部数据进行爬取;
具体地,所述步骤S101包括:
步骤S1011:设计反爬虫机制,所述反爬虫机制包括采用模拟Ajax请求的方式,主动发起异步请求获取所需数据;
步骤S1012:根据反爬虫机制设计网络爬虫算法,对网页数据进行爬取:
采取所述反爬虫机制不断发起Http请求,然后接收Http回应,解析得到的HTML文件,如果是确定的结构,直接匹配得到标签中的数据;
如果结构为非确定的,则对整个DOM树进行遍历搜索,获取标签中的数据。
步骤S102:根据电视产品和用户人群的不同特征,分别建立针对电视产品和用户人群的分类模型,通过所述分类模型实现对电视产品信息和用户信息的自动标签标注,得到标注标签后的电视产品信息和标注标签后的用户信息;
具体地,所述步骤S102包括:
步骤S1021:根据电视产品的不同特征建立针对电视产品的分类模型:
步骤S1021.1:根据电视产品的不同特征为电视产品设立不同等级的标签,所述不同等级的标签包括一级标签,所述一级标签包括基本特征和适用人群;
步骤S1021.2:对于一级标签为基本特征的数据项,采用关键字和关键短语作为划分类别的输入数据源,采用支持向量机的方法对电视产品进行分类;
步骤S1021.3:对于一级标签为适用人群的数据项,采用随机森林算法对电视产品进行分类;
步骤S1021.4:通过步骤S1021.1至步骤S1021.3完成对电视产品的分类模型的构建,通过电视产品的分类模型对电视产品信息进行自动标签标注,得到标注标签后的电视产品信息;
步骤S1022:根据用户人群的不同特征建立针对用户人群的分类模型:
步骤S1022.1:根据用户人群的不同特征为用户人群设立不同等级的标签,所述不同等级的标签包括一级标签,所述一级标签包括用户人群基本特征和收视偏好;
步骤S1022.2:对于一级标签为用户人群基本特征的数据项,采用随机森林算法对用户人群进行分类;
步骤S1022.3:对于一级标签是收视偏好的数据项,建立将不同特征参数转化成输入格式,并且根据实际情况建立不同因素的评价体系,描述不同因素对用户节目偏好的贡献率,采用随机森林算法对用户人群进行分类;
具体地,所述将不同特征参数转化成输入格式包括:
通过计算用户收视信息样本中的各项的数据值,进行求均值方差计算,建立转换输入格式公式:
其中,v1表示观看次数参量,μ1和ρ1分别表示该用户观看电视产品次数最多的观看次数和该电视产品观看次数占总观看电视产品次数的百分比,v2表示观看时长参量,τ和Δτ分别表示观看时间最长电视产品的观看时长和平均每个电视产品的观看时长,v3表示购买电视产品价格,其中C和ΔC分别表示购买最贵的一类电视产品的总花销和每一类电视产品的平均花销。
步骤S1022.4:通过步骤S1022.1至步骤S1022.3完成对用户人群的分类模型的构建,通过用户人群的分类模型对用户信息进行自动标签标注,得到标注标签后的用户信息。
具体地,所述用户信息包括用户收视信息及用户基本信息。
步骤S103:依据标注标签后的电视产品信息和标注标签后的用户信息及爬取的外部数据得出显性潜在因子,所述显性潜在因子包括电视产品显性潜在因子和用户显性潜在因子,通过显性潜在因子得出隐性潜在因子,基于显性潜在因子及隐性潜在因子构建显隐性潜在因子模型;
具体地,所述步骤S103包括:
步骤S1031:依据标注标签后的电视产品信息和爬取的外部数据得出电视产品显性潜在因子,所述电视产品显性潜在因子包括电视产品适用人群、电视产品静态参数及电视产品类别信息,所述电视产品静态参数包括电视产品的导演、演员、出品年代、声道语种和地区参数;
步骤S1032:依据标注标签后的用户信息和爬取的外部数据得出用户显性潜在因子,所述用户显性潜在因子包括用户家庭成员、用户浏览特征及用户收视偏好;
步骤S1033:将除电视产品显性潜在因子和用户显性潜在因子以外的电视产品和用户人群的特征定义为隐性潜在因子;
步骤S1034:对所述隐性潜在因子进行求解:
设隐性潜在因子有n维,显性潜在因子为m维,其中n为未知维数,m为已知的显性潜在因子维数,则总的潜在因子空间维度为f=m+n,基于传统潜在因子模型,在确定显性潜在因子的条件下,训练出n维未知的隐性潜在因子;
步骤S1035:将电视产品显性潜在因子、用户显性潜在因子及隐性潜在因子共同构成显隐性潜在因子矩阵,所述显隐性潜在因子矩阵包括用户显隐性潜在因子矩阵P和电视产品显隐性潜在因子矩阵Q,通过如下方式计算P和Q:
定义损失函数:
其中,L是损失函数;pi是用户i的显隐性潜在因子向量,qj是电视产品j的显隐性潜在因子向量;si,j是用户i对电视产品j的评分;λ为惩罚因子;
在损失函数中加入基准偏置项:
bi,j=μ+bi+bj
其中,μ表示所有用户对电视产品打分的平均值,bi和bj分别表示用户i和电视产品j的基准偏置,将上述基准偏置项加入到原损失函数的表达式中可得如下目标函数表达式:
分别对上式的bi、bj、pi和qj求偏导,通过随机梯度下降法求解参数bi、bj、pi和qj,根据随机梯度下降法,在训练的过程中,各个参数都做如下更新:
其中,γ为学习步长;
步骤S1036:通过步骤S1031-步骤S1035完成显隐性潜在因子模型的构建。
步骤S104:基于构建的显隐性潜在因子模型进行电视产品的推荐。
具体地,所述步骤S104包括:
步骤S1041:将用户显隐性潜在因子矩阵P和电视产品显隐性潜在因子矩阵Q带入如下公式,得出电视产品的预测得分:
其中,为预测得分矩阵;
步骤S1042:将用户未看过的中评分最高的前N个电视产品推荐给用户。
实施例二:
如图2所示,另一种基于显隐性潜在因子模型的电视产品精准推荐方法,包括以下步骤:
步骤S201:对电视产品正题名通过正则表达式进行处理,综合考虑多种反爬虫机制,设计爬虫策略,对所需的外部数据进行爬取;电视产品正题名包括电视剧名及集数、综艺名及期数等电视节目标题,具体如“维和步兵营(19)”、“10月19日自然:鸟瞰地球(05)”等,电视产品正题名可由电视产品信息中得出,电视产品信息主要由标识、电视产品正题名、创建日期、导演、演员、出品年代、内容描述、总集数、分类名称、连续剧分类、声道语种、地区参数组成,电视产品信息如表1所示。
表1电视产品信息表
具体地,所述步骤S201包括:
步骤S2011:设计反爬虫机制,所述反爬虫机制包括采用模拟Ajax请求的方式,主动发起异步请求获取所需数据;
本实施例中,采用检测Request Header字段、基于用户异常行为的反爬虫和异步数据加载方式。
基础的网站防爬虫方法是检测Http Request Header中的User-Agent字段和Referer字段,用于判断访问对象身份和来源。User-Agent是Http协议的一个字段,可以用来描述发起Http Request客户端的一些基本信息,每个浏览器都有规范的User-Agent。然而这种机制是十分容易规避的,爬虫通过配置固定的User-Agent信息就可以模拟浏览器行为。
基于用户异常行为的反爬虫方法主要是检测异常行为,例如同一个IP在短时间内大量访问同一页面、大量重复访问或者点击操作等。面对这种检测机制,常常采取设置代理和限制访问频率进行解决。
目前Web应用常常采用Ajax(Asynchronous Javascript And XML)技术来快速动态的创建网页,数据不直接静态显示在页面中,而是通过Ajax发起异步请求得到的,这种设计对于防爬虫也有一定的效果。对于这种机制,可以采用模拟Ajax请求的方式,主动发起异步请求获取所需数据。
步骤S2012:根据反爬虫机制设计网络爬虫算法,对网页数据进行爬取:
每个HTML文件可以被抽象为DOM(Document Object Model)树,这种树形结构简单,层次清楚,方便使用搜索遍历算法。基本的思路就是采取S201.1设计的反爬虫机制,不断发起Http Request,然后接收Http Reponse,解析得到的HTML文件,如果是确定的结构,可以直接匹配得到标签中的数据,在豆瓣电影页面中,电影相关信息,例如导演、主演、内容、评分信息都在固定标签内。
如果结构为非确定的,需要对整个DOM树进行遍历搜索,常见的搜索方法包括深度优先搜索和广度优先搜索,每次搜索进行匹配。网页上通常包含大量的噪声数据,例如广告、站内导航等。例如在博客页面中,存在广告的版块。
面对这种情况,我们采取黑名单过滤机制,如果在搜索过程中,遇到类似图片标签<img>、表单控件<input>等完全不可能存在所需数据的标签,一般会直接过滤。如上题博客网站页面中浮动的广告,其在HTML源码表示为img标签。
在算法设计和代码实现的过程中,充分考虑电视广播数据的数据量,所以加入多线程设计,将获取网页真实URL、解析页面分到子线程分别进行,可以提高获取外部数据速度,在大量数据情况下取得了较好的效果。
步骤S202:根据电视产品和用户人群的不同特征,分别建立针对电视产品和用户人群的分类模型,通过所述分类模型实现对电视产品信息和用户信息的自动标签标注,得到标注标签后的电视产品信息和标注标签后的用户信息;用户信息进一步包括用户收视信息及用户基本信息,用户收视信息主要由机顶盒设备号、统计日期、频道名、收看开始时间及收看结束时间组成,用户基本信息主要由用户号、品牌业务、用户状态、状态改变时间、套餐、销售品、资费、入网时间、销售品生效时间、销售品失效时间、机顶盒编号组成。用户收视信息如表2所示,用户基本信息如表3所示:
表2用户收视信息表
表3用户基本信息表
具体地,所述步骤S202包括:
步骤S2021:根据电视产品的不同特征建立针对电视产品的分类模型:
a.基于电视产品的标签体系构建:
(1)电视产品标签分类标准
本实施例共采用三个等级的标签构建完整的标签系统,一级标签包括基本特征,主要用于描述电视产品是属于哪一种类别的节目。一级标签还包括适用人群,主要用于描述该电视产品主要适用于哪种类别的人群,人群的分类因素包括年龄段信息和性别信息。
对于一级标签为基本特征的标签,主要内容为电视产品门类的区分,因为电视产品的门类较为复杂,本实施例在参考维基百科对电视产品的分类,挑选了其中出现较多的节目类型,简化了部分较为细致但是出现频率较低的节目门类,整理得到了新的电视产品分类体系标准。这里主要将节目分为:动画片、电视剧(包含网剧)、电影、综艺节目、财经节目、纪录片、新闻、体育、养生、烹饪总共十个二级标签门类,各个二级标签再细分生成三级标签,最终基本特征甄选了总计66种三级标签,部分电视产品标签如表4所示。
表4部分电视产品标签分类表
对于一级标签为适用人群的标签,主要考虑的因素是年龄段,选定二级标签为年龄段,主要分为儿童(6岁以下)、少年(6-14岁)、青少年(14-18岁)、青年(18-30岁)、中年前期(30-45岁)、中年后期(45-60岁)、老年前期(60-75岁)、老年(75岁以上)总计八种年龄段。同时我们考虑到男性和女性的偏好不同,选择三级标签为性别。最终建立一级标签为适用人群的标准如下:
表5部分用户标签分类表
(2)针对电视产品的分类模型构建
对于一级标签为基本特征的标签,选定关键字和关键短语作为划分类别的输入数据源,为商品打标签的问题可以转化成一个多类别的分类问题,本实施例采用支持向量机(SVM)的方法,实现对产品的分类。具体采用SVM算法实现。传统的SVM分类器主要是解决二值分类问题的,对于多类分类器的效果并不好,许多学者在SVM的基础上对最初的SVM进行了改进,本实施例采用one-versus-one,即一对一法,其做法是在任意两个样本之间设计一个SVM,当对一个未知样本进行分类时,最后得票最多的类别即为该未知样本的类别。首先类别总共有66类,最终间接生成的分类器有2145种,规模是可以接受的,加上单一的SVM二值分类器计算速率较高,对数据的处理应该是非常快速的。其次Libsvm中多类分类器就是利用了这种方法实现的,一方面更加容易调用,另一方面根据以往经验,该方法的可行度是可以保证的。
对于一级标签为适用人群的标签,选用随机森林算法进行分类。首先需要明确,用户某电视产品适用年龄段与性别没有大规模标注好的数据集,第一步需要根据人工经验对相当一部分数据进行标注,这项工作枯燥量大但是必不可少的。主要选择随机森林算法的原因是:随机特征和随机数据选取的引入,将多个不同的决策树进行组合,利用这种组合降低单一决策树有可能带来的片面性和判断的不准确性,示例决策树如图3所示。
对于数据该算法采用有放回的抽样构造子数据集用来构造不同的决策树;对于特征选取文本提取的关键词关键短语和三个级别标签作为输入特征,认为该特征的选取为基于内容和类别进行决策。
(3)输入数据的处理
首先需要合并不同等级标签的内容,这里的处理方式是用左斜杠将三个标签依次链接。这样做的原因是虽然很多三级标签是特有的,但是也存在完全相同的三级标签,例如一级标签为基本特征,第二标签分别为电视剧和电影的三级标签可能完全相同,如果仅仅考虑三级标签是不满足需求的。当然在内容上两者是可以区分的,例如在开头的几句往往会出现“电影”、“该电影”或者“本剧”、“该剧”等关键词。
这使得相同的三级标签情况下是可以区分的。对于第一标签是基本特征的分类,同时我们知道SVM的输入接口是数值形式的向量,而区分的内容是描述三级标签提取的内容的关键词,采用word2vec的方法,将关键词和关键短语转换成向量值作为SVM的输入数据。
将得出的电视产品的分类模型对电视产品信息进行自动标签标注,得出标注标签后的电视产品信息,如表6所示。
表6标注标签后的电视产品信息表
步骤S2022:根据用户人群的不同特征建立针对用户人群的分类模型:
a.基于用户人群的标签体系构建:
(1)用户人群标签分类标准
对于针对用户人群的标签体系,同样选择三级标签标识人物。一级标签有两方面,一个是基本特征,其中包括了该用户主要观看的时间段(观看时间段)和家庭的主要观看电视的成员(家庭观看成员);另一个一级标签是收视偏好,反映了该用户对哪一种节目偏好更大,内容和节目分类标签中的基本特征,即电视产品分类的内容完全相同。这几类标准可以解决用户可能是什么年龄段,用户喜欢在什么时间段观看电视,用户喜欢观看什么类型的电视节目。
(2)针对用户人群的分类模型构建
对于一级标签是基本特征的数据项,主要包含观看时间段和家庭观看成员两个二级标签。对于观看时间段统计选取了早晨、上午、中午、下午和晚上共五个时间段,在考虑用户喜好的时间段主要从两个方面入手,一个是用户观看的次数,另一个是用户观看的时间,挑选两者最多的时间段加入集合。
例如:用户可能喜欢看新闻,每天早上都看,但是看的时间不够长;另一种情景是用户追新剧每周只出一集,虽然每周都只看一次,但是每次看的时间都很长。取两者的集合作为该用户喜好观看的时间段。
对于家庭观看成员采用都得方法和针对电视产品的标签系统构建中一级标签为适用人群部分的处理办法相似,拟定采用随机森林算法。原因是对于用户家庭成员的组成只能通过其观看的节目进行推测,并没有准确的家庭组成数据支撑,需要人工根据经验进行标注训练数据。随机森林算法的输入特征是用户观看的节目的三级标签类型和观看节目提取的关键词。对于每个用户总的训练数据就是该用户所有的观看信息,包括用户点播信息和用户回看信息。
对于一级标签是收视偏好的数据项,分类标准就是电视产品的分类情况,在这里需要注意这里参考的用户收看的数据不仅仅是用户观看节目的名称和观看节目内容的关键词,还需要关注用户观看的次数、时长,同时还需要关注用户购买电视产品的价格等因素。这里依旧使用随机森林算法,由于这里的特征向量更多,事实上这里用随机森林算法效果更加明显。同时不同关注因素的计量单位是不同的,需要建立将不同参量转化成输入格式,并且根据实际情况建立不同因素的评价体系,描述不同因素对用户节目偏好的贡献率。
通过计算用户收视信息的各项的数据值,进行求均值方差等计算,建立转换格式如下:
这里主要分别描述了针对用户观看节目的观看次数、时长和用户购买的价格三个参量,其中,v1表示观看次数参量,μ1和ρ1分别表示该用户观看电视产品次数最多的观看次数和该电视产品观看次数占总观看电视产品次数的百分比,v2表示观看时长参量,τ和Δτ分别表示观看时间最长电视产品的观看时长和平均每个电视产品的观看时长,v3表示购买电视产品价格,其中C和ΔC分别表示购买最贵的一类电视产品的总花销和每一类电视产品的平均花销。对于节目种类的节目内容描述我们仍然使用词向量进行处理。
将得出的用户人群的分类模型对用户信息(用户收视信息及用户基本信息)进行自动标签标注,得出标注标签后的用户信息,如表7、表8所示。
表7标注标签后的用户收视信息表
表8标注标签后的用户基本信息表
步骤S203:依据标注标签后的电视产品信息和标注标签后的用户信息及爬取的外部数据得出显性潜在因子,所述显性潜在因子包括电视产品显性潜在因子和用户显性潜在因子,通过显性潜在因子得出隐性潜在因子,基于显性潜在因子及隐性潜在因子构建显隐性潜在因子模型;
具体地,所述步骤S203包括:
本实施例从逆向的角度重新考虑潜在因子这一维度的利用。在正向潜在因子模型中,各因子的具体含义是不明确的,所以本实施例试图联系已有的标签体系和电视产品的特征来得到具体的潜在因子。
本实施例基于现有的潜在因子模型,依据数据多维特点加以改进,并定义潜在因子向量:用户人群和电视产品具有的潜在特征,是一种数值化的向量表达式,每个向量又由不同角度的子向量组成。
在步骤S202,已经得到了用户和电视产品标签体系,实现了用户和电视产品的打包和分类。然而,本实施例需要基于无量纲的数值化的家庭特征、浏览行为和收视偏好;同时也需要数值化的电视产品适用人群特征、电视产品参数信息和电视产品类别信息。本实施例将这些能够描述并量化的潜在因子定义为显性潜在因子,所述显性潜在因子包括电视产品显性潜在因子和用户显性潜在因子,所述电视产品显性潜在因子由用户家庭成员、用户浏览特征及用户收视偏好组成,所述用户显性潜在因子由用户家庭成员、用户浏览特征及用户收视偏好组成。
具体地,为了抽取不同领域用户和电视产品的显性潜在因子向量带入模型进行计算,需要特征画像和标签体系进一步抽象,并进行数值量化,将其分类为用户显性潜在因子向量和电视产品显性潜在因子向量。
a.电视产品显性潜在因子向量
电视产品显性潜在因子向量Pro,表征的是电视产品的潜在特征,分为电视产品适用人群子向量pro1、电视产品静态参数子向量pro2和电视产品类别信息子向量pro3。
(1)电视产品适用人群
电视产品适用人群需要通过步骤S202得到的电视产品标签体系中的适用人群,有如下定义:
表9产品适用人群子向量表
可以看到,根据电视产品标签,每个电视产品都可以得到一个唯一确定的适用人群,对于该数据的量化,可以定义适用人群列表,每种适用人群对应一个数值。每个经过处理的电视产品,都可以维护一个电视产品适用人群子向量pro1,表示该电视产品具有适用人群的潜在特征。
(2)电视产品静态参数
电视产品静态参数包括电视产品的导演、演员、出品年代、声道语种和地区参数,这些信息包含了电视产品具有的潜在静态特征。每个电视产品都对应一种电视产品静态参数。值得注意的是,同一个电视剧,不同集数标识号不同,但是电视产品静态参数相同。
对于导演和演员信息,处理方式相同,都是通过数值对应的方式进行量化。当每次输入一个导演信息,判断该导演是否已经出现,若已经出现,则记录对应的数值,若没有出现,则将该导演信息加入到导演列表中,再加以记录。
处理出品年代,考虑使用三个时间段,分别是:2010年至今,2000年至2009年,2000年前。这三种分类的方式,将一定阶段分为一个无量纲数值,采取分段赋值的方式进行量化。
地区参数和声道语种,是非常重要的潜在特征,由于这两种潜在因子数量空间较少,可以直接采取数值对应的方式,所对应的数值是无量纲的,过程与导演信息处理类似。
经过上述分类提取,就可以得到硬判决的电视产品静态参数向量pro2.1。为了解决此硬判决的向量各因子值只取0或1的问题,将各电视产品名称通过步骤S201得到对应的豆瓣评分等外延信息,以日本电影《你的名字》为例:得到的外延信息如图4所示。
将其中提取到的豆瓣评分sdb(8.4)作为将硬判决的向量pro2.1软判决化,即若pro2.1为1,则将其乘以sdb,即得到产品静态参数向量pro2。
pro2=pro2.1×sdb
(3)电视产品类别信息
在步骤S202中,我们已经得到了标注标签后的电视产品信息。经过处理之后,每一个电视产品就对应一个基本特征标签。
为了生成电视产品类别信息子向量,需要对每个特征赋予一个唯一确定的特征。对于一个新出现的电视产品,首先需要根据电视产品标签体系进行自动标签生成,然后利用生成的标签对应的无量纲数值作为电视产品类别信息。
参照电视产品静态参数子向量的求解过程,可以得到产品类别信息子向量pro3。
b.用户显性潜在因子向量
由于电视产品显性潜在因子向量具有三个子向量,用户显性潜在因子向量Usr也应有三个子向量分别与之对应,即用户家庭成员子向量usr1、用户浏览特征子向量usr2、用户收视偏好子向量usr3。
(1)用户家庭成员
根据步骤S202中已经生成的用户人群标签体系,基于其一级标签中的“基本特征”,可以生成用户家庭成员子向量usr1。
具体地,虽然已有“家庭观看成员”标签,但用户家庭中各成员观看的时间比重有所不同,会影响后续推荐系统对于各电视产品的推荐比重,所以需确定该用户家庭中各成员观看影视作品的比重情况。由于各年龄段成员观看电视的特征不同,便可以使用二级标签“观看时间段”来对比重进行量化。例如,中青年晚上、凌晨看节目可能性更高,老年人全天看电视产品的时间差不多,儿童在做完作业或者周六周日看节目的可能性更高等。
对某一用户的观看时间段进行统计,结果如表10,可以明显看出该用户家庭经常在晚上和凌晨观看电视产品,所以其家庭成员里很可能中青年观看电视产品的占比重更大。
表10某一用户的观看时间分布情况表
7月 | 8月 | 9月 | |
凌晨 | 7.6102 | 0 | 9.1198 |
上午 | 0 | 0 | 0 |
中午 | 0 | 0 | 0.9834 |
下午 | 0 | 2.0478 | 0 |
晚上 | 2 | 0 | 5.8769 |
所以,利用“观看时间段”为“家庭观看成员”标签进行权重的分布,即:
LFS=∑(FWM×τ)
其中,LFS(Latent Factor Score)是某一潜在因子得分;FWM(Family WatchingMembers)是家庭观看成员,即二级标签“家庭观看成员”中的8类,有记为1,无记为0;τ为对应成员观看时间占用户总观看时长的百分比。如表11,为表10中用户对应的家庭成员子向量usr1。
表11表10中用户对应的家庭成员子向量usr1表
儿童 | 少年 | 青少年 | 青年 | 中年前期 | 中年后期 | 老年前期 | 老年 |
0 | 0 | 0 | 0.8 | 0.7 | 0.2 | 0 | 0 |
(2)用户浏览特征
用户的浏览记录反应了该用户对于产品静态参数的浏览偏好,从其中可以挖掘出更多用户的倾向性。
具体地,从用户收视信息中,提取出每一用户观看过的节目名称,再将各节目名称通过步骤S201得到对应的所需信息,与电视产品静态参数一一对应。
用户浏览特征子向量usr2也包含了导演、演员、出品年代、声道语种、地区参数这五个潜在因子。与用户节目静态参数子向量不同的是,其评分规则是根据用户的浏览行为决定的,用户浏览某一属性的次数越多、时长越长,其评分就越高。例如,另一用户在7、8、9月内,总共看过三集《人民的名义》,则“导演”因子中的“李路”对应项就进行加分,看的次数、时长越多,分数就越高,同理于其它四项属性。在计算过程中,分数范围是0~10,0即未浏览过该剧,10即将该剧所有集数完整的看完。
如表12,为另一用户的浏览特征子向量usr2。其中,由于该用户完整地看了3集人民的名义,占总集数52的5.8%,所以在对应的各自因子下加上0.58分。
表12另一用户的浏览特征子向量usr2表
(3)用户收视偏好
用户收视偏好子向量usr3的生成也是基于用户的浏览行为,将其因子与电视产品类别信息子向量的因子一一对应,即是用户分类标签下的“收视偏好”标签的二级标签。进而对每一个属性进行打分,打分方式也是基于浏览次数与时长。例如,(2)用户浏览特征中的另一用户,其观看行为使该用户的收视偏好向量中的“悬疑”项加分,分数范围仍是0~10。usr3的向量形式类似usr2,只是各因子为电视产品的类别信息。
c.隐性潜在因子
本实施例根据用户浏览行为对显性潜在因子进行了量化,而在这一过程中,已经根据浏览行为得到了用户对其浏览过电视产品的打分,即得到了用户-电视产品评分表S,如表13所示。
表13用户-电视产品评分表S
电视产品1 | 电视产品2 | 电视产品3 | 电视产品4 | 电视产品5 | …… | |
用户1 | 54.5 | 0 | 0 | 44.1 | 0 | |
用户2 | 49.7 | 36.1 | 0 | 0 | 0 | |
用户3 | 0 | 0 | 25.6 | 0 | 31.6 | |
用户4 | 0 | 2.5 | 0 | 0.8 | 0 | |
用户5 | 0 | 41.6 | 0 | 0 | 60.2 | |
…… |
其中,由于量纲的转化,S是根据浏览情况得到的原始分值S1的十倍。
大部分的用户是受显性潜在因子影响的,按评分即可粗略地得出推荐结果。
由于用户选择具有不确定性和随意性,往往存在某无法解释的潜在因子会影响用户的选择,即隐性潜在因子。具体地,某些用户会因为某些电视产品中的某个细节而喜欢上该作品,但是这些细节是不可抽象成某一具体潜在因子的,此时显性潜在因子不能完全刻画整个潜在因子空间,需要将这些“不可解释的细节”刻画出来以使潜在因子空间完整。将除了显性潜在因子以外的潜在因子定义为隐性潜在因子。
设本实施例的隐性潜在因子有n维,显性潜在因子为m维,其中n为未知维数,m为已知的显性潜在因子维数,则总的潜在因子空间维度为f=m+n。本实施例即基于传统潜在因子模型,在确定显性潜在因子的条件下,训练出n维未知的隐性潜在因子参数。为了得到由显隐性因子共同构成的较为准确的显隐性潜在因子矩阵,所述显隐性潜在因子矩阵包括用户显隐性潜在因子矩阵P和电视产品显隐性潜在因子矩阵Q,本实施例将利用已知用户-电视产品评分表S来学习得到P和Q,设预估评分矩阵为则
拟合得到准确P和Q的过程,即减小和S的差距。这一求解过程即参考已有的LFM(Latent Factor Model)潜在因子模型(参见:高升,任思婷,郭军.基于潜在因子模型的跨领域信息推荐算法[J].电信科学,2015,31(07):81-85+91.),运用了正则化、加入基准偏置项和随机梯度下降方法(SGD,Stochastic Gradient Descent)等方法及算法来具体求解。具体过程如下:
(1)定义损失函数:
在训练P和Q的过程中,容易因为数据量的问题出现过拟合现象,而为了防止过拟合的出现,加入了正则项。
其中,L是损失函数;pi是用户i的显隐性潜在因子向量,qj是电视产品j的显隐性潜在因子向量;si,j是用户-电视产品评分表S中用户i对电视产品j的评分;λ为惩罚因子。
在训练的过程中,矩阵分解并重构的过程,即是使L趋近于0的优化问题。
(2)加入基准偏置项的随机梯度下降法
由于各用户的浏览频率不一致,导致由此得到的用户-电视产品评分矩阵中存在着用户的行为基准偏移,会导致基于用户浏览频率而得出的各用户分数标准不一。为了解决这一问题,在损失函数中加入了基准偏置项如下:
bi,j=μ+bi+bj
其中,μ表示用户-电视产品评分矩阵中所有用户对电视产品打分的平均值,bi和bj分别表示用户i和电视产品j的基准偏置,将上述基准偏置项加入到原损失函数的表达式中可得如下目标函数表达式:
分别对上式的bi、bj、pi和qj求偏导,通过随机梯度下降法求解参数bi、bj、pi和qj。根据随机梯度下降法,在训练的过程中,各个参数都做如下更新:
其中,γ为学习步长。
完成显隐性潜在因子模型的构建。
步骤S204:基于构建的显隐性潜在因子模型进行电视产品的推荐。
具体地,所述步骤S204包括:
将用户显隐性潜在因子矩阵P和电视产品显隐性潜在因子矩阵Q带入如下公式,得出电视产品的预测得分:
其中,为预测得分矩阵;
将矩阵和S的矩阵对应后,剔除已经看过的产品,按评分高低得到影视产品的推荐结果表。评分越高,则推荐指数越高,所述评分在[0,100],具体地,可将评分进行归一化处理,得到[0,1]的推荐指数。
为验证本发明的推荐准确度,对本发明进行离线评测。离线评测的主要步骤可分为数据集的划分和评价指标的选择及计算。
本实施的验证试验中,数据集共包括11329条用户收视信息、18481条电视产品信息和10176条用户基本信息,在数据集的划分上,按时间顺序划分为前期和后期两部分,其中前期数据占80%,后期数据占20%。本实施例利用前期的用户收视信息来分析用户收视偏好,建立用户和电视产品标签,在此基础上建立显隐性潜在因子模型给出电视产品的营销推荐方案,并根据用户后期的用户收视信息来评价所给出的推荐方案。
评价指标的选择上,因为推荐的准确度是评价推荐算法最基本的指标,它衡量的是推荐算法在多大程度上能够准确预测用户对推荐产品的喜欢程度,所以本实施例采用准确度指标中的分类准确度指标。目前最常用的分类准确度指标有准确率(Precision)、召回率(RecalI)、F1指标。将本实施例中的显隐性潜在因子模型(显隐性LFM)和传统潜在因子模型(传统LFM)进行比较,准确率和推荐列表长度的关系、召回率和推荐列表长度的关系、F1系数和推荐列表长度的关系分别如图5、图6、图7所示。
实施例3
如图8所示,一种基于显隐性潜在因子模型的电视产品精准推荐系统,包括:
自动标签标注模块301,用于电视产品正题名通过正则表达式进行处理,综合考虑多种反爬虫机制,设计爬虫策略,对所需的外部数据进行爬取;
自动标签标注模块302,用于根据电视产品和用户人群的不同特征,分别建立针对电视产品和用户人群的分类模型,通过所述分类模型实现对电视产品信息和用户信息的自动标签标注,得到标注标签后的电视产品信息和标注标签后的用户信息;
显隐性潜在因子模型构建模块303,用于依据电视产品信息数据标签表、用户收视信息标签表及爬取的外部数据得出显性潜在因子,所述显性潜在因子包括电视产品显性潜在因子和用户显性潜在因子,通过显性潜在因子得出隐性潜在因子,基于显性潜在因子及隐性潜在因子构建显隐性潜在因子模型;
推荐模块304,用于基于构建的显隐性潜在因子模型进行电视产品的推荐。
以上所示仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种基于显隐性潜在因子模型的电视产品精准推荐方法,其特征在于,包括以下步骤:
步骤1:电视产品正题名通过正则表达式进行处理,综合考虑多种反爬虫机制,设计爬虫策略,对所需的外部数据进行爬取;
步骤2:根据电视产品和用户人群的不同特征,分别建立针对电视产品和用户人群的分类模型,通过所述分类模型实现对电视产品信息和用户信息的自动标签标注,得到标注标签后的电视产品信息和标注标签后的用户信息;
步骤3:依据标注标签后的电视产品信息和标注标签后的用户信息及爬取的外部数据得出显性潜在因子,所述显性潜在因子包括电视产品显性潜在因子和用户显性潜在因子,通过显性潜在因子得出隐性潜在因子,基于显性潜在因子及隐性潜在因子构建显隐性潜在因子模型;
步骤4:基于构建的显隐性潜在因子模型进行电视产品的推荐。
2.根据权利要求1所述的基于显隐性潜在因子模型的电视产品精准推荐方法,其特征在于,所述步骤1包括:
步骤1.1:设计反爬虫机制,所述反爬虫机制包括采用模拟Ajax请求的方式,主动发起异步请求获取所需数据;
步骤1.2:根据反爬虫机制设计网络爬虫算法,对网页数据进行爬取:
采取所述反爬虫机制不断发起Http请求,然后接收Http回应,解析得到的HTML文件,如果是确定的结构,直接匹配得到标签中的数据;
如果结构为非确定的,则对整个DOM树进行遍历搜索,获取标签中的数据。
3.根据权利要求1所述的基于显隐性潜在因子模型的电视产品精准推荐方法,其特征在于,所述步骤2包括:
步骤2.1:根据电视产品的不同特征建立针对电视产品的分类模型:
步骤2.1.1:根据电视产品的不同特征为电视产品设立不同等级的标签,所述不同等级的标签包括一级标签,所述一级标签包括基本特征和适用人群;
步骤2.1.2:对于一级标签为基本特征的数据项,采用关键字和关键短语作为划分类别的输入数据源,采用支持向量机的方法对电视产品进行分类;
步骤2.1.3:对于一级标签为适用人群的数据项,采用随机森林算法对电视产品进行分类;
步骤2.1.4:通过步骤2.1.1至步骤2.1.3完成对电视产品的分类模型的构建,通过电视产品的分类模型对电视产品信息进行自动标签标注,得到标注标签后的电视产品信息;
步骤2.2:根据用户人群的不同特征建立针对用户人群的分类模型:
步骤2.2.1:根据用户人群的不同特征为用户人群设立不同等级的标签,所述不同等级的标签包括一级标签,所述一级标签包括用户人群基本特征和收视偏好;
步骤2.2.2:对于一级标签为用户人群基本特征的数据项,采用随机森林算法对用户人群进行分类;
步骤2.2.3:对于一级标签是收视偏好的数据项,建立将不同特征参数转化成输入格式,并且根据实际情况建立不同因素的评价体系,描述不同因素对用户节目偏好的贡献率,采用随机森林算法对用户人群进行分类;
步骤2.2.4:通过步骤2.2.1至步骤2.2.3完成对用户人群的分类模型的构建,通过用户人群的分类模型对用户信息进行自动标签标注,得到标注标签后的用户信息。
4.根据权利要求1所述的基于显隐性潜在因子模型的电视产品精准推荐方法,其特征在于,所述用户信息包括用户收视信息及用户基本信息。
5.根据权利要求4所述的基于显隐性潜在因子模型的电视产品精准推荐方法,其特征在于,所述将不同特征参数转化成输入格式包括:
通过计算用户收视信息样本中的各项的数据值,进行求均值方差计算,建立转换输入格式公式:
其中,v1表示观看次数参量,μ1和ρ1分别表示该用户观看电视产品次数最多的观看次数和该电视产品观看次数占总观看电视产品次数的百分比,v2表示观看时长参量,τ和Δτ分别表示观看时间最长电视产品的观看时长和平均每个电视产品的观看时长,v3表示购买电视产品价格,其中C和ΔC分别表示购买最贵的一类电视产品的总花销和每一类电视产品的平均花销。
6.根据权利要求3所述的基于显隐性潜在因子模型的电视产品精准推荐方法,其特征在于,所述步骤3包括:
步骤3.1:依据标注标签后的电视产品信息和爬取的外部数据得出电视产品显性潜在因子,所述电视产品显性潜在因子包括电视产品适用人群、电视产品静态参数及电视产品类别信息,所述电视产品静态参数包括电视产品的导演、演员、出品年代、声道语种和地区参数;
步骤3.2:依据标注标签后的用户信息和爬取的外部数据得出用户显性潜在因子,所述用户显性潜在因子包括用户家庭成员、用户浏览特征及用户收视偏好;
步骤3.3:将除电视产品显性潜在因子和用户显性潜在因子以外的电视产品和用户人群的特征定义为隐性潜在因子;
步骤3.4:对所述隐性潜在因子进行求解:
设隐性潜在因子有n维,显性潜在因子为m维,其中n为未知维数,m为已知的显性潜在因子维数,则总的潜在因子空间维度为f=m+n,基于传统潜在因子模型,在确定显性潜在因子的条件下,训练出n维未知的隐性潜在因子;
步骤3.5:将电视产品显性潜在因子、用户显性潜在因子及隐性潜在因子共同构成显隐性潜在因子矩阵,所述显隐性潜在因子矩阵包括用户显隐性潜在因子矩阵P和电视产品显隐性潜在因子矩阵Q,通过如下方式计算P和Q:
定义损失函数:
其中,L是损失函数;pi是用户i的显隐性潜在因子向量,qj是电视产品j的显隐性潜在因子向量;si,j是用户i对电视产品j的评分;λ为惩罚因子;
在损失函数中加入基准偏置项:
bi,j=μ+bi+bj
其中,μ表示所有用户对电视产品打分的平均值,bi和bj分别表示用户i和电视产品j的基准偏置,将上述基准偏置项加入到原损失函数的表达式中可得如下目标函数表达式:
分别对上式的bi、bj、pi和qj求偏导,通过随机梯度下降法求解参数bi、bj、pi和qj,根据随机梯度下降法,在训练的过程中,各个参数都做如下更新:
其中,γ为学习步长;
步骤3.6:通过步骤3.1-步骤3.5完成显隐性潜在因子模型的构建。
7.根据权利要求6所述的基于显隐性潜在因子模型的电视产品精准推荐方法,其特征在于,所述步骤4包括:
步骤4.1:将用户显隐性潜在因子矩阵P和电视产品显隐性潜在因子矩阵Q带入如下公式,得出电视产品的预测得分:
其中,为预测得分矩阵;
步骤4.2:将用户未看过的中评分最高的前N个电视产品推荐给用户。
8.一种基于显隐性潜在因子模型的电视产品精准推荐系统,其特征在于,包括:
自动标签标注模块,用于电视产品正题名通过正则表达式进行处理,综合考虑多种反爬虫机制,设计爬虫策略,对所需的外部数据进行爬取;
自动标签标注模块,用于根据电视产品和用户人群的不同特征,分别建立针对电视产品和用户人群的分类模型,通过所述分类模型实现对电视产品信息和用户信息的自动标签标注,得到标注标签后的电视产品信息和标注标签后的用户信息;
显隐性潜在因子模型构建模块,用于依据电视产品信息数据标签表、用户收视信息标签表及爬取的外部数据得出显性潜在因子,所述显性潜在因子包括电视产品显性潜在因子和用户显性潜在因子,通过显性潜在因子得出隐性潜在因子,基于显性潜在因子及隐性潜在因子构建显隐性潜在因子模型;
推荐模块,用于基于构建的显隐性潜在因子模型进行电视产品的推荐。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910085589.2A CN109963175B (zh) | 2019-01-29 | 2019-01-29 | 基于显隐性潜在因子模型的电视产品精准推荐方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910085589.2A CN109963175B (zh) | 2019-01-29 | 2019-01-29 | 基于显隐性潜在因子模型的电视产品精准推荐方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109963175A true CN109963175A (zh) | 2019-07-02 |
CN109963175B CN109963175B (zh) | 2020-12-15 |
Family
ID=67023535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910085589.2A Expired - Fee Related CN109963175B (zh) | 2019-01-29 | 2019-01-29 | 基于显隐性潜在因子模型的电视产品精准推荐方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109963175B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110781300A (zh) * | 2019-09-20 | 2020-02-11 | 南宁师范大学 | 基于百度百科知识图谱的旅游资源文化特色评分算法 |
CN110807676A (zh) * | 2020-01-07 | 2020-02-18 | 同盾控股有限公司 | 长尾用户挖掘方法、装置、电子设备及存储介质 |
CN111556369A (zh) * | 2020-05-21 | 2020-08-18 | 四川省有线广播电视网络股份有限公司 | 基于电视的家庭的分类方法 |
CN112464075A (zh) * | 2019-09-06 | 2021-03-09 | 百度在线网络技术(北京)有限公司 | 智能音箱的应用推荐方法、装置及电子设备 |
CN114861135A (zh) * | 2022-04-21 | 2022-08-05 | 常超 | 集成电路设计行业的eda工具营销策略处理方法和系统 |
CN116017070A (zh) * | 2022-12-01 | 2023-04-25 | 四川长虹电器股份有限公司 | 基于运营策略提升电视主页点击率的方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0284511B1 (en) * | 1987-03-25 | 1995-08-30 | Fujitsu Limited | Image information code processing system |
KR20000051726A (ko) * | 1999-01-26 | 2000-08-16 | 김원찬 | 종전 사용 빈도에 따른 메뉴의 자동 설정 기능을 가지는 텔레비 |
CN1250004C (zh) * | 2001-06-06 | 2006-04-05 | 皇家菲利浦电子有限公司 | 专家模型推荐方法及系统 |
CN101198018A (zh) * | 2007-12-29 | 2008-06-11 | 腾讯科技(深圳)有限公司 | 电视广告业务的实现方法及广告服务器 |
CN101938383A (zh) * | 2010-08-24 | 2011-01-05 | 深圳市同洲电子股份有限公司 | 多种业务的用户账号在线监控方法、系统与监控服务系统 |
CN106022865A (zh) * | 2016-05-10 | 2016-10-12 | 江苏大学 | 一种基于评分和用户行为的商品推荐方法 |
CN108470075A (zh) * | 2018-04-12 | 2018-08-31 | 重庆邮电大学 | 一种面向排序预测的社会化推荐方法 |
-
2019
- 2019-01-29 CN CN201910085589.2A patent/CN109963175B/zh not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0284511B1 (en) * | 1987-03-25 | 1995-08-30 | Fujitsu Limited | Image information code processing system |
KR20000051726A (ko) * | 1999-01-26 | 2000-08-16 | 김원찬 | 종전 사용 빈도에 따른 메뉴의 자동 설정 기능을 가지는 텔레비 |
CN1250004C (zh) * | 2001-06-06 | 2006-04-05 | 皇家菲利浦电子有限公司 | 专家模型推荐方法及系统 |
CN101198018A (zh) * | 2007-12-29 | 2008-06-11 | 腾讯科技(深圳)有限公司 | 电视广告业务的实现方法及广告服务器 |
CN101938383A (zh) * | 2010-08-24 | 2011-01-05 | 深圳市同洲电子股份有限公司 | 多种业务的用户账号在线监控方法、系统与监控服务系统 |
CN106022865A (zh) * | 2016-05-10 | 2016-10-12 | 江苏大学 | 一种基于评分和用户行为的商品推荐方法 |
CN108470075A (zh) * | 2018-04-12 | 2018-08-31 | 重庆邮电大学 | 一种面向排序预测的社会化推荐方法 |
Non-Patent Citations (1)
Title |
---|
桂智杰: "面向规则缺陷的浏览器XSS过滤器测试的方法", 《CNKI》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112464075A (zh) * | 2019-09-06 | 2021-03-09 | 百度在线网络技术(北京)有限公司 | 智能音箱的应用推荐方法、装置及电子设备 |
CN112464075B (zh) * | 2019-09-06 | 2023-11-03 | 百度在线网络技术(北京)有限公司 | 智能音箱的应用推荐方法、装置及电子设备 |
CN110781300A (zh) * | 2019-09-20 | 2020-02-11 | 南宁师范大学 | 基于百度百科知识图谱的旅游资源文化特色评分算法 |
CN110781300B (zh) * | 2019-09-20 | 2022-08-23 | 南宁师范大学 | 基于百度百科知识图谱的旅游资源文化特色评分算法 |
CN110807676A (zh) * | 2020-01-07 | 2020-02-18 | 同盾控股有限公司 | 长尾用户挖掘方法、装置、电子设备及存储介质 |
CN111556369A (zh) * | 2020-05-21 | 2020-08-18 | 四川省有线广播电视网络股份有限公司 | 基于电视的家庭的分类方法 |
CN114861135A (zh) * | 2022-04-21 | 2022-08-05 | 常超 | 集成电路设计行业的eda工具营销策略处理方法和系统 |
CN116017070A (zh) * | 2022-12-01 | 2023-04-25 | 四川长虹电器股份有限公司 | 基于运营策略提升电视主页点击率的方法 |
CN116017070B (zh) * | 2022-12-01 | 2024-04-12 | 四川长虹电器股份有限公司 | 基于运营策略提升电视主页点击率的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109963175B (zh) | 2020-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109963175A (zh) | 基于显隐性潜在因子模型的电视产品精准推荐方法及系统 | |
Moon et al. | A picture is worth a thousand words: Translating product reviews into a product positioning map | |
Gomez-Uribe et al. | The netflix recommender system: Algorithms, business value, and innovation | |
Liu et al. | Predicting viewer gifting behavior in sports live streaming platforms: The impact of viewer perception and satisfaction | |
CN103106208B (zh) | 一种移动互联网中的流媒体内容推荐方法和系统 | |
CN101482884A (zh) | 一种基于用户偏好评分分布的协作推荐系统 | |
CN102163211A (zh) | 信息处理设备、重要度计算方法和程序 | |
Bhattacharjee et al. | Identifying the causal relationship between social media content of a Bollywood movie and its box-office success-a text mining approach | |
Qumsiyeh et al. | Predicting the ratings of multimedia items for making personalized recommendations | |
Arantes et al. | Understanding video-ad consumption on YouTube: a measurement study on user behavior, popularity, and content properties | |
US20170199930A1 (en) | Systems Methods Devices Circuits and Associated Computer Executable Code for Taste Profiling of Internet Users | |
Huang et al. | A novel topic-based framework for recommending long tail products | |
Feng | A comparative study of the online film ratings of US and Chinese audiences: An analytical approach based on big data | |
Ntalianis et al. | Non-Gatekeeping on Social Media: A Reputation Monitoring Approach and its Application in Tourism Services. | |
Gong et al. | A hybrid recommender system for steam games | |
Wang et al. | Hybrid variable-scale clustering method for social media marketing on user generated instant music video | |
CN116010711A (zh) | 一种融合用户信息及兴趣变化的kgcn模型电影推荐方法 | |
Bioglio et al. | Is this movie a milestone? identification of the most influential movies in the history of cinema | |
Lee et al. | Amalgamating social media data and movie recommendation | |
CN116521937A (zh) | 视频表单的生成方法、装置、设备及存储介质、程序产品 | |
Wang et al. | Exploiting content relevance and social relevance for personalized ad recommendation on internet TV | |
Dai et al. | The effect of video highlights on the intention to give free virtual gifts | |
Han et al. | An empirical study on inline impact factors of reviews usefulness based on movie reviews | |
Peng | Impact of electronic word-of-mouth on box office revenue: An empirical study based on web crawler technology | |
Clement et al. | Impact of recommendation engine on video-sharing platform-YouTube |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20201215 |