首页 / 专利库 / 专利权 / 第I章 / 一种基于词向量的个性化媒体内容推荐系统及方法

一种基于词向量的个性化媒体内容推荐系统及方法

阅读:174发布:2020-05-15

专利汇可以提供一种基于词向量的个性化媒体内容推荐系统及方法专利检索,专利查询,专利分析的服务。并且本 发明 提供了一种基于词向量的个性化媒体内容推荐系统及方法,属于互联网媒体信息技术领域。该系统包括:中文分词模 块 、词向量学习模块、词聚类模块、文章向量生成模块、文章推荐模块和用户历史文章浏览存储模块;所述中文分词模块的输入端与词典和海量文本库连接,其输出端与词向量学习模块的输入端连接;所述词向量学习模块的输出端与词聚类模块的输入端连接,所述词聚类模块的输出端与所述文章向量生成模块的一个输入端连接;所述文章向量生成模块的另一个输入端与服务媒体文本库连接,所述文章向量生成模块的输出端与文章向量 数据库 的输入端连接,所述文章向量数据库的输出端与文章推荐模块的第一个输入端连接。,下面是一种基于词向量的个性化媒体内容推荐系统及方法专利的具体信息内容。

1.一种基于词向量的个性化媒体内容推荐系统,其特征在于:所述系统包括:中文分词模、词向量学习模块、词聚类模块、文章向量生成模块、文章推荐模块和用户历史文章浏览存储模块;
所述中文分词模块的输入端与词典和海量文本库连接,其输出端与词向量学习模块的输入端连接;
所述词向量学习模块的输出端与词聚类模块的输入端连接,所述词聚类模块的输出端与所述文章向量生成模块的一个输入端连接;
所述文章向量生成模块的另一个输入端与服务媒体文本库连接,所述文章向量生成模块的输出端与文章向量数据库的输入端连接,所述文章向量数据库的输出端与文章推荐模块的第一个输入端连接;
所述文章推荐模块的第二个输入端与用户历史文章浏览存储模块连接,第三个输入端与目标用户当前浏览页面中的当前浏览文章连接,所述文章推荐模块的输出端与目标用户当前浏览页面中的推荐展位连接。
2.根据权利要求1所述的基于词向量的个性化媒体内容推荐系统,其特征在于:所述中文分词模块对每一条输入语句进行分词,并取掉停词,获得非停词,并将非停词发送给词向量学习模块;
所述词向量学习模块对中文分词模块发送来的每个非停词进行词向量学习得到每个非停词的词向量,并将每个非停词的词向量输出给词聚类模块;
所述词聚类模块对词向量学习模块发送来的每个非停词的词向量进行聚类,获得每个非停词的所属聚类号,并将每个词的所属聚类号发送给文章向量生成模块;
所述文章向量生成模块根据词聚类模块发送来的每个词的所属聚类号对服务媒体文本库中的每一篇媒体文章进行处理,获得每一篇媒体文章的文章向量,并将媒体文章以及文章向量存储到文章向量数据库中。
3.根据权利要求2所述的基于词向量的个性化媒体内容推荐系统,其特征在于:所述文章推荐模块包括最新热度文章排序子模块、协同过滤文章排序子模块、内容匹配文章排序子模块和融合子模块;
所述最新热度文章排序子模块统计媒体全站的文章的独立浏览用户个数,并按照最近一小时的独立浏览用户个数对所有文章进行排序,取出该排序中的前50篇文章形成第一推荐文章列表;
所述协同过滤文章排序子模块找出用户历史文章浏览存储模块中储存的每一篇文章的文章向量,并将它们相加,得出用户的向量,对每一篇媒体文章,计算其文章向量与该用户的向量的cosine相似度,根据该cosine相似度对所有文章进行从大到小的排序,取出该排序中的前40篇文章形成第二推荐文章列表;
所述内容匹配文章排序子模块从文章向量数据库获得的媒体文章及其文章向量中索引到用户当前浏览文章的文章向量,计算媒体全站的每篇其他文章与当前浏览文章的文章向量的cosine相似度,根据该cosine相似度对所有文章进行从大到小的排序,取出该排序中的前40篇文章形成第三推荐文章列表;
所述融合子模块将所述第一推荐文章列表、第二推荐文章列表和第三推荐文章列表进行融合获得N个推荐文章,并将该N个推荐文章发送到目标用户当前浏览页面中的推荐展位。
4.一种利用权利要求1-3任一所述的基于词向量的个性化媒体内容推荐系统实现的基于词向量的个性化媒体内容推荐方法,其特征在于:所述方法包括:
(1)在互联网上索引海量的中文网页,并将网页的文本存储在海量文本库中,同时在互联网开放数据中获取词条列表作为词典;
(2)基于海量文本库和词典,对每一条输入语句进行分词并取掉停词后得到非停词,然后采用skip-gram算法获得每个非停词的词向量;
(3)采用k-mean算法对每个非停词的词向量进行聚类得到M维个词聚类以及每个词所对应的聚类号;
(4)利用所述每个词所对应的聚类号对每一篇媒体文章进行处理,将每一篇媒体文章分别映射到一个M维度空间中生成对应该媒体文章的文章向量;
(5)根据每一篇媒体文章及其文章向量、用户历史文章浏览记录和用户当前浏览文章获得推荐文章,形成最终推荐文章列表。
5.根据权利要求4所述的方法,其特征在于:所述M的取值为3000。
6.根据权利要求5所述的方法,其特征在于:所述步骤(4)是这样实现的:
输入每个非停词的所属聚类号,以及任意一篇媒体文章;
初始化文章向量为一个M维的0向量,M维对应M个聚类号;
依次找出媒体文章中的每一个词所属的聚类号,将文章向量中对应该聚类号的位置处的值加1,对所有词处理完毕后获得该媒体文章的文章向量。
7.根据权利要求6所述的方法,其特征在于:所述步骤(5)是这样实现的:
(51)通过最新热度文章排序得到第一推荐文章列表:统计媒体全站的文章的独立浏览用户个数,并按照最近1小时的独立浏览用户个数将文章进行排序,取出该排序中的前50篇文章形成第一推荐文章列表;
(52)通过协同过滤文章排序得到第二推荐文章列表,具体包括:
(521)找出用户历史文章浏览存储模块中储存的每一篇文章的文章向量,并将它们相加,得出用户的向量vuser;
(522)计算每一篇媒体文章的文章向量vpage与该用户的向量vuser的cosine相似度s(user,page):
(523)根据s(user,page)对媒体全站的媒体文章进行从大到小排序,取出该排序中的前40篇文章形成第二推荐文章列表;
(53)通过内容匹配文章排序得到第三推荐文章列表,具体包括:
(531)在文章向量数据库中,索引到用户当前浏览文章的文章向量vpage;
(532)对媒体全站的每篇其他文章vi,计算其与当前浏览文章向量的cosine相似度s(page,i):
(533)根据s(page,i)对媒体全站文章进行从大到小排序,取出该排序中的前40篇文章形成第三推荐文章列表;
(54)将所述第一推荐文章列表、第二推荐文章列表和第三推荐文章列表进行融合获得N篇推荐文章,形成最终推荐文章列表,具体包括:
(541)选择第二推荐文章列表中顶部的N/2篇文章加入最终推荐文章列表中;
(542)选择第三推荐文章列表中顶部的N/2篇文章加入最终推荐文章列表中;如果这些文章与步骤(541)中得到的N/2篇文章有重复,则去掉第三推荐文章列表中的重复文章,然后将第三推荐文章列表中接下来的文章依次顺位填充到最终推荐文章列表中,此时最终推荐文章列表中有N篇文章;
(543)判断最终推荐文章列表中的N篇文章中是否有用户已经浏览过的文章,如果有,则删除已经浏览过的文章,并使用第一推荐列表中的文章依次来填补,保持最终推荐文章列表中有N篇文章。

说明书全文

一种基于词向量的个性化媒体内容推荐系统及方法

技术领域

[0001] 本发明属于互联网媒体信息技术领域,具体涉及一种基于词向量的个性化媒体内容推荐系统及方法。

背景技术

[0002] 个性化推荐系统工作于广大互联网服务上,包括互联网媒体、音乐服务、电影服务、电商以及在线教育等等。根据每个用户在站点上的行为数据以及自身属性数据,站点的推荐引擎向他推荐与其兴趣爱好匹配的物品(item,即内容或商品),增加用户的点击率和黏性,改善用户体验,提高站点的流量。
[0003] 个性化推荐系统的算法大致分为两大类:基于内容的推荐(content-based recommendation)和协同过滤的推荐(collaborative filtering recommendation)。其他相关技术大类也有基于知识库的推荐(knowledge-based recommendation),但比起前两类,应用较少。
[0004] 基于内容的推荐系统其原理主要是匹配用户的属性数据(例如年龄、性别、职业、地点和兴趣标签等等)和物品内容或属性数据(例如文本、类别、生产商等等)。该类技术简单直接,易于工程上的实现,但其并不(直接)关心用户的历史行为,以致于推荐效果并不特别理想。
[0005] 基于协同过滤的推荐则重点分析用户行为以及不同用户之前行为的协同性,对此做出推荐决策。协同过滤的推荐算法则又在建模层面上分为两种:基于记忆的协同过滤(memory-based collaborative filtering)和基于模型的协同过滤(model-based collaborative filtering)。基于记忆的协同过滤算法的原理是基于相似物品的推荐(item-based  recommendation)和基于相似用户的喜好的推荐(user-based recommendation)。该类算法简洁直观、方便实现和调试,并且直接利用了用户的历史行为数据。基于模型的协同过滤则是基于用户的历史行为数据通过机器学习的方法训练出一个模型,在基于此模型对给定的用户做出推荐决策。隐因子模型(latent factor),包括概率隐因子模型(probabilistic latent semantic analysis)和矩阵分解模型(matrix factorization)。
[0006] 文本分析数据挖掘的一个典型的问题,包括很多经典任务,例如文本分类、文本聚类、主题模型、情感分析等等。其中,情感分析属于文本分类的一种特殊问题,即判断一段文字是正面态度还是负面态度。经典的分类模型大都可以运用到文本分类当中,例如支持向量机(support vector machine),朴素贝叶斯( Bayes)等等。
[0007] 而主题模型则是一种文本聚类的特殊设置,这时一个文本可以同时拥有多个主题(聚类)。而传统的数据聚类算法则可以运用到文本聚类问题上,例如经典的k-means算法。
[0008] 近年,随着深度学习的发展,深度学习技术被投入到文本分析中。对于文本的离散稀疏性,词向量的概念被提出来(请参考文献“Mikolov,T.,and J.Dean."Distributed representations of words and phrases and their compositionality."Advances in neural information processing systems(2013).”和“Mikolov,Tomas,et al."Efficient estimation of word representations in vector space."arXiv preprint arXiv:1301.3781(2013)”),将每个词的离散索引映射到一个低位连续隐空间中,然后通过人工神经网络模型来进一步学习词向量的分布,以及对文本进行建模和挖掘。例如,在文献“Kim,Yoon."Convolutional neural networks for sentence classification."arXiv preprint arXiv:1408.5882(2014).”中,作者提出在需要分类的目标文本的词向量并排而成矩阵上做多种尺寸核的卷积神经网络(convolutional neural networks),最后加入全连接层做预测分类类别,实际效果卓越。
[0009] 综合目前现有工作的调研,并没有发现将最新的深度学习技术运用到文本推荐系统中。

发明内容

[0010] 本发明的目的在于解决上述现有技术中存在的难题,提供一种基于词向量的个性化媒体内容推荐系统及方法,增加用户的点击率和黏性,改善用户体验,提高站点的流量。
[0011] 本发明是通过以下技术方案实现的:
[0012] 一种基于词向量的个性化媒体内容推荐系统,包括中文分词模、词向量学习模块、词聚类模块、文章向量生成模块、文章推荐模块和用户历史文章浏览存储模块;
[0013] 所述中文分词模块的输入端与词典和海量文本库连接,其输出端与词向量学习模块的输入端连接;
[0014] 所述词向量学习模块的输出端与词聚类模块的输入端连接,所述词聚类模块的输出端与所述文章向量生成模块的一个输入端连接;
[0015] 所述文章向量生成模块的另一个输入端与服务媒体文本库连接,所述文章向量生成模块的输出端与文章向量数据库的输入端连接,所述文章向量数据库的输出端与文章推荐模块的第一个输入端连接;
[0016] 所述文章推荐模块的第二个输入端与用户历史文章浏览存储模块连接,第三个输入端与目标用户当前浏览页面中的当前浏览文章连接,所述文章推荐模块的输出端与目标用户当前浏览页面中的推荐展位连接。
[0017] 所述中文分词模块对每一条输入语句进行分词,并取掉停词,获得非停词,并将非停词发送给词向量学习模块;
[0018] 所述词向量学习模块对中文分词模块发送来的每个非停词进行词向量学习得到每个非停词的词向量,并将每个非停词的词向量输出给词聚类模块;
[0019] 所述词聚类模块对词向量学习模块发送来的每个非停词的词向量进行聚类,获得每个非停词的所属聚类号,并将每个词的所属聚类号发送给文章向量生成模块;
[0020] 所述文章向量生成模块根据词聚类模块发送来的每个词的所属聚类号对服务媒体文本库中的每一篇媒体文章进行处理,获得每一篇媒体文章的文章向量,并将媒体文章以及文章向量存储到文章向量数据库中。
[0021] 所述文章推荐模块包括最新热度文章排序子模块、协同过滤文章排序子模块、内容匹配文章排序子模块和融合子模块;
[0022] 所述最新热度文章排序子模块统计媒体全站的文章的独立浏览用户个数,并按照最近一小时的独立浏览用户个数对所有文章进行排序,取出该排序中的前50篇文章形成第一推荐文章列表;
[0023] 所述协同过滤文章排序子模块找出用户历史文章浏览存储模块中储存的每一篇文章的文章向量,并将它们相加,得出用户的向量,对每一篇媒体文章,计算其文章向量与该用户的向量的cosine相似度,根据该cosine相似度对所有文章进行从大到小的排序,取出该排序中的前40篇文章形成第二推荐文章列表;
[0024] 所述内容匹配文章排序子模块从文章向量数据库获得的媒体文章及其文章向量中索引到用户当前浏览文章的文章向量,计算媒体全站的每篇其他文章与当前浏览文章的文章向量的cosine相似度,根据该cosine相似度对所有文章进行从大到小的排序,取出该排序中的前40篇文章形成第三推荐文章列表;
[0025] 所述融合子模块将所述第一推荐文章列表、第二推荐文章列表和第三推荐文章列表进行融合获得N个推荐文章,并将该N个推荐文章发送到目标用户当前浏览页面中的推荐展位。
[0026] 利用上述基于词向量的个性化媒体内容推荐系统实现的基于词向量的个性化媒体内容推荐方法包括:
[0027] (1)在互联网上索引海量的中文网页,并将网页的文本存储在海量文本库中,同时在互联网开放数据中获取词条列表作为词典;
[0028] (2)基于海量文本库和词典,对每一条输入语句进行分词并取掉停词后得到非停词,然后采用skip-gram算法获得每个非停词的词向量;
[0029] (3)采用k-mean算法对每个非停词的词向量进行聚类得到M维个词聚类以及每个词所对应的聚类号;
[0030] (4)利用所述每个词所对应的聚类号对每一篇媒体文章进行处理,将每一篇媒体文章分别映射到一个M维度空间中生成对应该媒体文章的文章向量;
[0031] (5)根据每一篇媒体文章及其文章向量、用户历史文章浏览记录和用户当前浏览文章获得推荐文章,形成最终推荐文章列表。
[0032] 所述M的取值为3000。
[0033] 所述步骤(4)是这样实现的:
[0034] 输入每个非停词的所属聚类号,以及任意一篇媒体文章;
[0035] 初始化文章向量为一个M维的0向量,M维对应M个聚类号;
[0036] 依次找出媒体文章中的每一个词所属的聚类号,将文章向量中对应该聚类号的位置处的值加1,对所有词处理完毕后获得该媒体文章的文章向量。
[0037] 所述步骤(5)是这样实现的:
[0038] (51)通过最新热度文章排序得到第一推荐文章列表:统计媒体全站的文章的独立浏览用户个数,并按照最近1小时的独立浏览用户个数将文章进行排序,取出该排序中的前50篇文章形成第一推荐文章列表;
[0039] (52)通过协同过滤文章排序得到第二推荐文章列表,具体包括:
[0040] (521)找出用户历史文章浏览存储模块中储存的每一篇文章的文章向量,并将它们相加,得出用户的向量vuser;
[0041] (522)计算每一篇媒体文章的文章向量vpage与该用户的向量vuser的cosine相似度s(user,page):
[0042]
[0043] (523)根据s(user,page)对媒体全站的媒体文章进行从大到小排序,取出该排序中的前40篇文章形成第二推荐文章列表;
[0044] (53)通过内容匹配文章排序得到第三推荐文章列表,具体包括:
[0045] (531)在文章向量数据库中,索引到用户当前浏览文章的文章向量vpage;
[0046] (532)对媒体全站的每篇其他文章vi,计算其与当前浏览文章向量的cosine相似度s(page,i):
[0047]
[0048] (533)根据s(page,i)对媒体全站文章进行从大到小排序,取出该排序中的前40篇文章形成第三推荐文章列表;
[0049] (54)将所述第一推荐文章列表、第二推荐文章列表和第三推荐文章列表进行融合获得N篇推荐文章,形成最终推荐文章列表,具体包括:
[0050] (541)选择第二推荐文章列表中顶部的N/2篇文章加入最终推荐文章列表中;
[0051] (542)选择第三推荐文章列表中顶部的N/2篇文章加入最终推荐文章列表中;如果这些文章与步骤(541)中得到的N/2篇文章有重复,则去掉第三推荐文章列表中的重复文章,然后将第三推荐文章列表中接下来的文章依次顺位填充到最终推荐文章列表中,此时最终推荐文章列表中有N篇文章;
[0052] (543)判断最终推荐文章列表中的N篇文章中是否有用户已经浏览过的文章,如果有,则删除已经浏览过的文章,并使用第一推荐列表中的文章依次来填补,保持最终推荐文章列表中有N篇文章。
[0053] 与现有技术相比,本发明的有益效果是:
[0054] 本发明基于词向量学习、聚类而构建的文章向量作为一种很好的文章数据表示,为上层的个性化推荐做了更好的数据以及模型基础,大幅度提高了所提出的推荐系统的效果。附图说明
[0055] 图1本发明系统的结构示意图
[0056] 图2文章推荐模块结构图
[0057] 图3实施例中的A/B测试点击率数据对比。

具体实施方式

[0058] 下面结合附图对本发明作进一步详细描述:
[0059] 在每个媒体用户浏览一个页面(包括PC网页、移动网页和移动app页面)时,页面的推荐展位向推荐系统服务器发送推荐请求,推荐系统返回用户在此场景下感兴趣的资源(主要是媒体文章)。
[0060] 此项工作需要两方面的技术支持:1.大量的媒体用户内容消费数据收集和在线测试平台;2.支持深度学习技术对海量文本数据做挖掘的机器平台。
[0061] 本发明的系统架构如图1所示:首先,在互联网上索引海量的中文网页,将网页文本存储在海量文本库中。另外,在互联网开放数据中获取词条列表作为词典,基于海量文本库和词典,ANSJ中文分词器输出已经分过词的文本库,词向量学习模块从已经分过词的文本库中学习出每个词的低维词向量表示。接下来,基于每个词的词向量,词聚类模块对所有词进行3000类别的聚类。据此,文章向量生成模块将每篇媒体文章映射到一个3000维度空间中生成文章向量。根据用户历史文章浏览记录和用户当前浏览文章,文章推荐模块在线实时给用户推荐文章。用户在媒体站点的所有浏览、点击行为都会被记录,存入用户历史文章浏览存储模块。
[0062] 所述ANSJ中文分词器(又称ANSJ中文分词模块)的输入数据是词典和海量文本库,输出是已经分过词的文本库,所述词向量学习模块的输入数据为已经分过词的文本库。
[0063] 词向量学习算法为skip-gram(请参考文献“Mikolov,T.,and J.Dean."Distributed representations of words and phrases and their compositionality."Advances in neural information processing systems(2013).”)针对中文的修改。对于每一条输入语句,用ANSJ对其进行分词,并取掉停词(stop word),设处理后的一句话的词的序列为:
[0064] w1,w2,w3,…wT-1,wT,
[0065] 其长度为T,第i个位置的词为wi。做skip-gram学习时,令相邻词的滑动窗口为中心词前后k个词(窗口总大小为2k+1)。Skip-gram的模型是学习到最大化的平均似然:
[0066]
[0067] 其中,c是中心词前后的距离上限,它决定了相关词的窗口大小,例如c=3意味着中心词wt的前面3个词wt-3,wt-2,wt-1以及后面三个词wt+1,wt+2,wt+3都会考虑到学习中来。
[0068] 而其中词i到词o的转移概率p(wo|wi)为一个softmax分步:
[0069]
[0070] 词向量模型的参数则为每个词i的向量vi,这是一个d=200维度的连续实数向量。d是该模型中的一个超参数,对于不同的应用可以通过实验的对比调试得到经验上最优的d取值。在本发明实施例中的实验中调试得到d=200时,在数据上模型能给出最优的效果,因此选用200。
[0071] Skip-gram的学习算法为梯度上升法,最大化每句话的似然(likelihood)。在求导过程中,由于softmax概率pwowi对参数vi和vo的导数计算很耗时,本发明采用noise contrastive estimation算法来快速求其近似值(请参考文献“Mnih,Andriy,and Koray Kavukcuoglu."Learning word embeddings efficiently with noise-contrastive estimation."Advances in Neural Information Processing Systems.2013.”)。
[0072] 当模型训练收敛后,得到了每个非停词(non-stop word)i的词向量vi。此为词向量学习模块的输出。
[0073] 所述词聚类模块的输入是每个非停词的词向量,输出是3000个词聚类以及每个词所对应的聚类id。本发明使用k-mean算法对输入词进行聚类。每个词直接由其词向量作为表示。K-means学习算法每次迭代分类为:1.寻找每个词最近的聚类中心点,将该词的聚类id设为该类;2.根据每个词的聚类id,更新每个聚类的中心点位置。这样的迭代一直进行下去直到收敛,即每次迭代后每个词所属聚类id不再改变(每个聚类的中心点就是类标签为该聚类的词的向量的欧几里得均值)。最后,词聚类模块输出每个词的所属聚类id。
[0074] 所述文章向量生成模块的输入是每个词的所属聚类id(1-3000),以及任意一篇文章文本(该文章文本存储在图1中的“服务媒体文本库”中),输出是该文章的文章向量,其为一个3000维(这里的3000维度也是该模型中的一个超参数,可以根据实际需要通过实验的对比调试得到经验上最优的维度取值,在本发明实施例中的实验中调试到词向量维度为3000时,在数据上模型能给出最优的效果,因此选择3000维)的向量,每一个维度的值为自然数。
[0075] 初始化文章向量为一个3000维的0向量。对于输入文章文本的每一个词,找出该词的聚类id,将文章向量对应位置的值加1。最后,文章向量的每个维度的值即为该词在该文章中出现的频率。最后,文章向量生成模块输出该文章的向量,存入文章向量的数据库中。
[0076] 所述文章推荐模块是整个发明的核心模块,其输入是1.媒体库存所有文章及其向量(海量文本库和服务媒体文本库并不是同一个库,里面的文章可以完全不同);2.目标用户历史浏览的媒体文章集合;3.目标用户当前浏览的媒体文章。其输出是为目标用户在当前浏览媒体文章的页面中推荐的文章列表。
[0077] 所述文章推荐模块的整个模块的详解如图2所示。所述文章推荐模块包括四个子模块:最新热度文章排序子模块、协同过滤文章排序子模块、内容匹配文章排序子模块和融合子模块,前三个子模块各自包含一套独有的推荐算法,所述融合子模块将前三个子模块推荐的结果融合成一个列表最终返回到用户当前页面。
[0078] 所述最新热度文章排序子模块采用非个性化算法,即不关心当前用户的信息,而是关注媒体全站的文章热度。具体地,该模块统计媒体全站的文章的uv(user view,即独立浏览用户个数),并按照最近1小时的uv将文章排序,取出前50篇文章得到第一推荐文章列表。
[0079] 所述协同过滤文章排序子模块采用个性化算法,重点关注目标用户历史浏览的文章,据此对全站文章排序。具体地,
[0080] 1,将目标用户历史浏览的每一篇文章找出其对应的文章向量并相加,得出用户的向量vuser。
[0081] 2,对每一篇媒体文章,算其向量vpage与该用户的向量vuser的cosine相似度:
[0082]
[0083] 3,根据相似度分值s(user,page)对全站文章进行排序,取出前40篇文章得到第二推荐文章列表。
[0084] 所述内容匹配文章排序子模块采用非个性化算法,因为在文章浏览的上下文中,当前浏览的文章对用户兴趣的诠释作用很大,所以该模块重点关注目标用户当前浏览的文章,据此对全站文章排序。具体地,
[0085] 1,在媒体文章向量数据库中,索引到用户当前浏览的文章的向量vpage;
[0086] 2,对全站的每篇其他文章vi,计算其与当前浏览文章向量的cosine相似度[0087]
[0088] 3,根据相似度分值s(page,i)对全站文章进行排序,取出前40篇文章得到第三推荐文章列表。
[0089] 在最终推荐文章排序前,得到了3个推荐文章列表,分别来自最新热度文章排序子模块、协同过滤文章排序子模块和内容匹配文章排序子模块。最终融合子模块将这三个推荐文章列表进行融合并最终返回N个推荐文章数据单位到媒体端。
[0090] 由于本发明的推荐系统重点是个性化推荐,对此3个推荐文章列表,优先选择协同过滤推荐文章列表和内容匹配推荐文章列表。具体地,对于一个推荐展位数为N的推荐请求,做如下工作:
[0091] 1,首先在协同过滤推荐文章列表中选择顶部N/2篇文章加入最终推荐文章列表中;
[0092] 2,在内容匹配推荐文章列表中选择顶部N/2篇文章加入最终推荐文章列表中。如果这些文章和之前选择好的N/2篇协同过滤推荐文章有重复,则顺位在内容匹配推荐文章列表接下来的文章填充;
[0093] 3,以上两个操作中,对于用户已经浏览过的文章(存储在用户历史文章浏览存储模块中),不再推荐,在文章选择的过程中自动跳过。所以在一种极端情况,协同过滤推荐文章列表和内容匹配文章列表的文章绝大多数都被用户浏览过了的情况下,推荐系统用最新热度文章列表中的文章来填补不足N个的推荐展位。
[0094] 所述用户历史文章浏览存储模块记录用户历史浏览过的文章列表。在媒体客户的全站部署js跟踪代码。用户浏览器每次请求一个页面,记录该用户对该页面的访问。数据记录包括两个部分:1.最近一次模型训练前,用户的历史文章访问记录;2.在最近一次模型训练后,用户最新的文章访问记录。
[0095] 本系统测试的环境是在与媒体的线上环境。用户在浏览媒体的文章时在文章底部向用户推荐文章。本发明的系统与媒体自己的推荐系统作比较,并使用A/B测试方法来验证推荐系统的好坏。
[0096] A/B测试中,通过用户的cookie id来做随机的分流,其中一半的用户在访问媒体时看到的是媒体自己开发的系统A的推荐结果,另一半的用户则看到的是本发明的推荐系统B的结果,并保证用户会一直只看到一个系统的推荐结果。这样做是为了保证A/B测试的独立性,使得测试的系统之间不会相互影响用户行为。用户在点击了推荐结果的时候系统也会收集相关数据,并区分点击的资源是来自系统A的推荐还是系统B的推荐。
[0097] 推荐系统的评判标准有很多,如点击率,准确度,覆盖率等等。其中点击率是最有效也是最直观的反映出推荐系统好坏的方法。点击率即为用户点击推荐栏位的次数除以用户看到推荐栏位的次数。该A/B测试中,主要比较的也是点击率。
[0098] 测试数据及结果展示如下:
[0099] 和媒体进行了30天(2016.08.28—2016.09.27)的A/B测试,按天统计了以下几个数据指标:
[0100] 1)用户看到推荐系统A的推荐栏位的次数
[0101] 2)用户点击推荐系统A的推荐栏位的数量
[0102] 3)推荐系统A的点击率
[0103] 4)用户看到推荐系统B的推荐栏位的数量
[0104] 5)用户点击推荐系统B的推荐栏位的数量
[0105] 6)推荐系统B的点击率
[0106] 具体数据展示如表1所示:
[0107]
[0108]
[0109] 表1
[0110] 表1给出了30天内的A/B测试的具体数据,从点击率来看,本发明的推荐系统B在30天的整体点击率为16.2%,而系统A的点击率则只有11.2%。本发明的整体推荐的效果要好于媒体自身的44%。从图3的折线图来看,本发明的推荐系统在测试期间保持了每天都优于系统A的良好表现。以上数据展示了本发明的推荐系统的持续的有效性。
[0111] 上述技术方案只是本发明的一种实施方式,对于本领域内的技术人员而言,在本发明公开了应用方法和原理的基础上,很容易做出各种类型的改进或变形,而不仅限于本发明上述具体实施方式所描述的方法,因此前面描述的方式只是优选的,而并不具有限制性的意义。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈