融合时间与兴趣相似度的电视产品推荐方法与流程

文档序号:17185990发布日期:2019-03-22 21:22阅读:214来源:国知局
融合时间与兴趣相似度的电视产品推荐方法与流程
本发明涉及智能信息处理和机器学习领域,尤其涉及一种融合时间与兴趣相似度的电视产品推荐方法。
背景技术
:现有的电视产品推荐方法中,较常见的推荐方法是传统协同过滤模型。其方法是:生成用户与节目、节目与节目或用户与用户的关系矩阵,寻找与每个用户最相似的节目作为推荐结果。现有的技术没有将用户的兴趣变化考虑在内,导致系统会基于用户早期观看过的节目记录来推荐相似的节目,使得推荐结果不符合用户现在的兴趣特征。技术实现要素:针对上述现有技术中的不足,本发明提供一种融合时间与兴趣相似度的电视产品推荐方法,能够更为精确地对用户进行电视产品个性化推荐。为了实现上述目的,本发明提供一种融合时间与兴趣相似度的电视产品推荐方法,包括步骤:s1:收集一时间段的用户收视行为数据并进行预处理,所述用户收视行为数据包括用户收视数据、用户订阅数据和用户点播数据;s2:对预处理后的所述用户收视行为数据构建特征;s3:构建电视产品推荐系统模型,所述电视产品推荐系统模型基于时间权重和兴趣相似度;s4:收集并将用户全部的历史收视数据输入所述电视产品推荐系统模型,获得针对每个用户的个性化推荐结果。优选地,所述预处理步骤包括:利用php对所述用户收视行为数据进行剔除异常值、去重和归一化。优选地,所述去重步骤包括:删除一电视剧的分集信息,只保留所述电视剧的节目名称;所述归一化步骤包括建立一字典库,将节目内容相同但节目名称不同的数据统一化。优选地,所述预处理步骤还包括:去除所述节目名称中的标签说明文字和去除收视时间小于一预设时间的用户收视数据。优选地,所述s2步骤进一步包括步骤:s21:利用mariadb对预处理后的所述用户收视数据进行合并去重,获得处理后用户收视行为数据;s22:利用所述处理后用户收视行为数据生成关联数据组;s23:将数据导出至python软件,获得导出数据。优选地,所述s2中还包括步骤:所述关联数据组包括多个特征信息和多个标签信息,每一所述特征信息对应有一标签信息;所述特征信息包括收视数据特征信息、节目特征信息和用户行为特征信息;所述收视数据特征信息对应的所述标签信息包括用户收视时长、最早观看时间和用户总观看时长;所述节目特征信息所对应的所述标签信息包括节目频道所属分类标签和目标人群特征标签;所述用户行为特征信息所对应的所述标签信息包括点播金额、点播时间、点播次数和观看时间。优选地,所述电视产品推荐系统模型包括一时间权重公式和一兴趣相似度公式;所述s3步骤进一步包括步骤:s31:构建一时间权重公式:其中,wtime(u,i)表示所述时间权重公式;dui表示第u用户观看第i节目的时间与第u用户最早观看节目的时间间隔;其中lu表示第u用户最早观看节目的时间与最近观看节目的时间间隔;a1∈(0,1)表示时间权重增长指数;s32:构建一兴趣相似度公式:其中,winterest(u,i)表示所述兴趣相似度公式;tui表示第u用户观看第i节目的时长,du为第u用户观看的总时长,且tui≤du;a2∈(0,1)表示兴趣相似度权重增长指数;s33:对所述时间权重公式和所述兴趣相似度公式分别输入协同过滤推荐算法进行首次运算,并对所述时间权重公式和所述兴趣相似度公式的输出结果按比例进行融合;随机取部分所述导出数据输入当前电视产品推荐系统模型,并调整融合比例进行训练,获得多个推荐结果,并使用剩余的数据计算当前所述电视产品推荐系统模型的召回率、准确率与推荐覆盖率,作图,得出最优融合比例,获得最终的所述电视产品推荐系统模型。优选地,所述随机取部分所述导出数据步骤进一步包括步骤:s331:将经过第一预处理后的所述用户收视数据进行随机排序,切割成一训练集和一测试集;s332:去除所述训练集和所述测试集中的重复数据,利用基于规则的方法对所述训练集和所述测试集中去重后的数据进行归一化处理。本发明由于采用了以上技术方案,使其具有以下有益效果:本发明的电视产品推荐系统模型基于时间权重和兴趣相似度,其引入了“时间权重”与“兴趣相似度”作为额外特征,将用户的历史收视数据使用改进型的协同过滤模型进行计算,分别生成“时间权重”与“兴趣相似度”,继续将两者进行加权计算,得到针对某个用户的个性化推荐。由于结合了用户观看节目的时间与观看节目的次数,使得推荐结果很好地反馈了用户的兴趣变化,结果较传统协同过滤模型更精确。附图说明图1为本发明实施例的融合时间与兴趣相似度的电视产品推荐方法的流程图。具体实施方式下面根据附图1,给出本发明的较佳实施例,并予以详细描述,使能更好地理解本发明的功能、特点。请参阅图1,本发明实施例的一种融合时间与兴趣相似度的电视产品推荐方法,包括步骤:s1:收集一时间段的用户收视行为数据并进行预处理,用户收视行为数据包括用户收视数据、用户订阅数据和用户点播数据。其中,预处理步骤包括:利用php对用户收视行为数据进行剔除异常值、去重和归一化。去重步骤包括:删除一电视剧的分集信息,只保留电视剧的节目名称;归一化步骤包括建立一字典库,将节目内容相同但节目名称不同的数据统一化。预处理步骤还包括:去除节目名称中的标签说明文字和去除收视时间小于一预设时间的用户收视数据。s2:对预处理后的用户收视行为数据构建特征。其中,s2步骤进一步包括步骤:s21:利用mariadb对预处理后的用户收视数据进行合并去重,获得处理后用户收视行为数据;s22:利用处理后用户收视行为数据生成关联数据组;s23:将数据导出至python软件,获得导出数据。本实施例中,s2中还包括步骤:关联数据组包括多个特征信息和多个标签信息,每一特征信息对应有一标签信息;特征信息包括收视数据特征信息、节目特征信息和用户行为特征信息;收视数据特征信息对应的标签信息包括用户收视时长、最早观看时间和用户总观看时长;节目特征信息所对应的标签信息包括节目频道所属分类标签和目标人群特征标签;用户行为特征信息所对应的标签信息包括点播金额、点播时间、点播次数和观看时间。s3:构建电视产品推荐系统模型,电视产品推荐系统模型基于时间权重和兴趣相似度。电视产品推荐系统模型包括一时间权重公式和一兴趣相似度公式;s3步骤进一步包括步骤:s31:构建一时间权重公式:其中,wtime(u,i)表示时间权重公式;dui表示第u用户观看第i节目的时间与第u用户最早观看节目的时间间隔;其中lu表示第u用户最早观看节目的时间与最近观看节目的时间间隔;a1∈(0,1)表示时间权重增长指数;s32:构建一兴趣相似度公式:其中,winterest(u,i)表示兴趣相似度公式;tui表示第u用户观看第i节目的时长,du为第u用户观看的总时长,且tui≤du;a2∈(0,1)表示兴趣相似度权重增长指数;s33:对时间权重公式和兴趣相似度公式分别输入协同过滤推荐算法进行首次运算,并对时间权重公式和兴趣相似度公式的输出结果按比例进行融合;随机取部分导出数据输入当前电视产品推荐系统模型,并调整融合比例进行训练,获得多个推荐结果,并使用剩余的数据计算当前电视产品推荐系统模型的召回率、准确率与推荐覆盖率,作图,得出最优融合比例,获得最终的电视产品推荐系统模型。本实施例中,随机取部分导出数据步骤进一步包括步骤:s331:将经过第一预处理后的用户收视数据进行随机排序,切割成一训练集和一测试集;s332:去除训练集和测试集中的重复数据,利用基于规则的方法对训练集和测试集中去重后的数据进行归一化处理。s4:收集并将用户全部的历史收视数据输入电视产品推荐系统模型,获得针对每个用户的个性化推荐结果。例如:针对某广电网络运营公司,自2017年7月1日至2017年9月30日的用户收视行为数据。步骤一,对用户收视数据进行预处理。用户收视行为数据包含“节目信息”数据、“用户观看时间”数据和“用户点播行为”数据。由于直接使用原始数据训练模型不仅会产生误差,还会耗费大量的计算资源。因此,对原始数据集中存在的异常值进行剔除、去重、归一化等处理。一方面,由于数据中同一电视剧的分集也单独算作一个电视节目,当推荐系统向用户推荐电视剧中某一分集时,会使得用户很难完整地理解剧情,这对用户的观看体验会产生负面的影响,因此在预处理时会将同一电视剧的分集作为重复数据剔除,仅保留电视剧名;另一方面,平台出于管理目的,会在电视节目的名称中添加标签说明文字,这些信息对于用户来说是无用的,因此也需要在预处理时剔除;另外,数据集中还存在某些用户在短时间内观看了大量节目,但每部节目的收视时间都较短,这种情况产生的原因可能是用户在短时间内进行无目的地换台寻找自己感兴趣的节目导致的,因此这类收视时间较短的记录也需要被剔除。步骤二、对经过预处理的数据构建特征。为提高模型预测的准确性,本发明采集每个电视节目与频道所属分类与目标人群类型作为额外数据,使其成为节目的标签特征。由于用户所偏好的节目类型通常是固定的,因此结合用户的标签特征进行推荐会提高推荐系统的命中率。最终,模型训练与预测使用的特征信息与标签信息如表1所示。表1模型训练与预测使用的特征信息和标签信息表特征信息标签信息收视数据用户收视时长、最早观看时间、用户总观看时长节目节目与频道所属分类与目标人群特征标签用户行为用户对节目的点播金额、点播时间、点播次数、观看时间步骤三、基于时间权重与兴趣相似度构建协同过滤推荐模型,即电视产品推荐系统模型。为获得精确度高的电视节目推荐模型,本发明实施例采用了两个阶段的训练方法。第一次阶段的训练中,使用电视产品推荐系统模型将用户观看的节目特征信息的标签信息数据作为输入数据进行训练,得出用户的偏好特征。第二次阶段的训练中,使用本实施例的电视产品推荐系统模型将用户完整的收视数据作为输入数据进行训练,得出用户的电视节目推荐结果。两个阶段的训练生成了两个推荐模型,即标签推荐模型和节目推荐模型,其参数如表2所示。表2标签推荐模型和节目推荐模型的参数对照表推荐模型参数特征标签推荐模型节目推荐模型时间权重增长指数a10.50.6兴趣相似度权重增长指数a235时间权重与兴趣相似度融合比例0.50.5推荐数量510本发明实施例调整了权重增长系数、两种权重融合比例与推荐数量等参数。其中时间权重增长指数与兴趣相似度权重增长指数的取值范围落在0~1之间,值越小,权重对推荐结果的影响越小。本实施例使用多个参数,分别进行实验,得出表中的增长指数使得推荐模型的准确率最高。步骤四、对已经训练好的标签推荐模型和节目推荐模型进行多模型加权融合,得到每个用户的个性化推荐。将用户历史全部的收视数据作为两个模型的输入数据,分别得出每个用户的标签推荐指数与节目推荐指数。再将每个用户的节目推荐指数与节目所属标签对用户的推荐指数按比例融合,得出最终的节目推荐指数,从大大小排序,即可得出每个用户的个性化推荐结果。通过优化算法参数,采用测试集样本对推荐结果进行评估,算法的运行结果和精度测试如表3所示。表3历史均值与提升树融合模型精度测试结果表融合比例准确率召回率推荐覆盖率0.30.4192%0.5663%60.4626%0.40.2616%0.3641%59.8673%0.50.4281%0.5663%61.6833%0.60.2655%0.3641%58.0716%0.70.2564%0.3641%55.4757%0.80.3625%0.4854%56.2431%实验中使用准确率、召回率与推荐覆盖率作为模型的评价指标。准确率precision的计算公式是:其中hits表示算法产生的正确推荐数,n表示算法生成的推荐总数;召回率recall的计算公式是:hits表示算法产生的正确推荐数,a表示所有的推荐总数;推荐覆盖率coverage的计算公式:r(u)表示推荐系统给用户推荐的电视产品列表,i表示系统中所有电视产品信息的总数。coverage的值越大,则推荐列表中的电视产品信息越丰富。推荐覆盖率能够从一定程度上反映用户潜在兴趣的程度,但是推荐结果的准确性却依赖于准确度。观察表3可知,当融合比例为0.6时模型在准确率、召回率、推荐覆盖率上性能较优。这是由于它结合了两种加权方法优点,不仅能突出近期用户观看电视产品信息的重要性,又避免了早期所观看的电视产品信息被忽略,从而更准确地反映了用户的兴趣变化趋势。本发明实施例的一种融合时间与兴趣相似度的电视产品推荐方法,引入了“时间权重”与“兴趣相似度”作为额外特征,将用户的历史收视数据使用改进型的协同过滤模型进行计算,分别生成“时间权重”与“兴趣相似度”,继续将两者进行加权计算,得到针对某个用户的个性化推荐。由于结合了用户观看节目的时间与观看节目的次数,使得推荐结果很好地反馈了用户的兴趣变化,结果较传统协同过滤模型更精确。以上结合附图实施例对本发明进行了详细说明,本领域中普通技术人员可根据上述说明对本发明做出种种变化例。因而,实施例中的某些细节不应构成对本发明的限定,本发明将以所附权利要求书界定的范围作为本发明的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1