一种基于主题模型与用户群组的新闻推荐方法及系统与流程

文档序号:14249661阅读:261来源:国知局
一种基于主题模型与用户群组的新闻推荐方法及系统与流程

本发明涉及互联网技术领域,特别涉及一种基于主题模型与用户群组的新闻推荐方法、系统及计算机可读存储介质。



背景技术:

随着互联网技术的发展,新闻行业正经历着巨变,越来越多的人甚至机器参与到新闻创作之中,不分时间和地点,新闻资讯正日趋海量化。为了让用户更容易地找到自己感兴趣的新闻资讯,新闻推荐系统应运而生。

现有技术中,在新闻推荐系统里最常用的新闻推荐方法,如基于内容的推荐方法和隐含语义推荐方法,由于所产生的推荐内容缺乏新颖性,很难帮助用户发现新的内容;而基于用户的协同过滤方法尽管能够为用户推荐新颖的内容,但由于新增用户加入后需要进行大量的计算来更新用户相似性表,对于目前用户数与新增用户数均较大的新闻推荐系统而言已经不十分适用。因此,如何提供一种适用于目前用户数与新增用户数均较大的新闻推荐系统的新闻推荐方法,解决推荐内容缺乏新颖性的问题,使用户可以看到历史兴趣之外的内容开拓眼界,是现今急需解决的问题。



技术实现要素:

本发明的目的是提供一种基于主题模型与用户群组的新闻推荐方法、系统及计算机可读存储介质,以通过隐含语义推荐方法与用户群组推荐方法的结合,解决了推荐内容缺乏新颖性的问题。

为解决上述技术问题,本发明提供一种基于主题模型与用户群组的新闻推荐方法,包括:

获取新闻数据;

利用预设主题模型,生成每个新闻数据各自对应的主题分布;

根据用户行为日志与所述预设主题模型,生成每个用户的兴趣向量;

根据每个新闻数据各自对应的主题分布和每个用户的兴趣向量,利用隐含语义推荐方法生成每个用户各自对应的第一推荐列表;

根据每个用户的兴趣向量,将每个用户聚类到对应的用户群组;

根据每个用户对应的用户群组,利用用户群组推荐方法生成每个用户各自对应的第二推荐列表;

根据每个用户各自对应的第一推荐列表和第二推荐列表,生成最终推荐列表。

可选的,所述利用预设主题模型,生成每个新闻数据各自对应的主题分布,包括:

对所述新闻数据进行预处理,生成每个新闻数据各自对应的关键词序列;

根据每个新闻数据各自对应的关键词序列,利用lda主题模型生成每个新闻数据各自对应的主题分布。

可选的,所述根据用户行为日志与所述预设主题模型,生成每个用户的兴趣向量,包括:

将全部用户的兴趣向量的平均值确定为每个新增用户的兴趣向量;其中,新增用户为所述用户行为日志中未记录历史行为的新加入的用户。

可选的,所述根据每个用户的兴趣向量,将每个用户聚类到对应的用户群组,包括:

根据每个新增用户的兴趣向量,将每个新增用户分配到对应的用户群组。

本发明还提供了一种基于主题模型与用户群组的新闻推荐系统,包括:

获取模块,用于获取新闻数据;

主题分布生成模块,用于利用预设主题模型,生成每个新闻数据各自对应的主题分布;

兴趣向量生成模块,用于根据用户行为日志与所述预设主题模型,生成每个用户的兴趣向量;

第一推荐模块,用于根据每个新闻数据各自对应的主题分布和每个用户的兴趣向量,利用隐含语义推荐方法生成每个用户各自对应的第一推荐列表;

聚类模块,用于根据每个用户的兴趣向量,将每个用户聚类到对应的用户群组;

第二推荐模块,用于根据每个用户对应的用户群组,利用用户群组推荐方法生成每个用户各自对应的第二推荐列表;

第三推荐模块,用于根据每个用户各自对应的第一推荐列表和第二推荐列表,生成最终推荐列表。

可选的,所述主题分布生成模块,包括:

预处理子模块,用于对所述新闻数据进行预处理,生成每个新闻数据各自对应的关键词序列;

主题分布生成子模块,用于根据每个新闻数据各自对应的关键词序列,利用lda主题模型生成每个新闻数据各自对应的主题分布。

可选的,所述兴趣向量生成模块,包括:

确定子模块,用于将全部用户的兴趣向量的平均值确定为每个新增用户的兴趣向量;其中,新增用户为所述用户行为日志中未记录历史行为的新加入的用户。

可选的,所述聚类模块,包括:

分配子模块,用于根据每个新增用户的兴趣向量,将每个新增用户分配到对应的用户群组。

此外,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的基于主题模型与用户群组的新闻推荐方法的步骤。

本发明所提供的一种基于主题模型与用户群组的新闻推荐方法,包括:获取新闻数据;利用预设主题模型,生成每个新闻数据各自对应的主题分布;根据用户行为日志与预设主题模型,生成每个用户的兴趣向量;根据每个新闻数据各自对应的主题分布和每个用户的兴趣向量,利用隐含语义推荐方法生成每个用户各自对应的第一推荐列表;根据每个用户的兴趣向量,将每个用户聚类到对应的用户群组;根据每个用户对应的用户群组,利用用户群组推荐方法生成每个用户各自对应的第二推荐列表;根据每个用户各自对应的第一推荐列表和第二推荐列表,生成最终推荐列表;

可见,本发明通过将隐含语义推荐方法与用户群组推荐方法的结合,解决了目前用户数与新增用户数均较大的新闻推荐系统所推荐的内容缺乏新颖性的问题,使用户可以看到历史兴趣之外的内容开拓眼界,提升了用户体验。此外,本发明还提供了一种基于主题模型与用户群组的新闻推荐系统及计算机可读存储介质,同样具有上述有益效果。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例所提供的一种基于主题模型与用户群组的新闻推荐方法的流程图;

图2为本发明实施例所提供的一种基于主题模型与用户群组的新闻推荐装置的结构图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参考图1,图1为本发明实施例所提供的一种基于主题模型与用户群组的新闻推荐方法的流程图。该方法可以包括:

步骤101:获取新闻数据。

可以理解的是,本步骤中的新闻数据可以为需要推荐给用户的新闻的数据。对于新闻数据的具体获取方式,可以由设计人员根据实用场景和用户需求自行设置,如可以直接接收新闻推荐系统的服务方自行编写传输到服务器中的新闻数据,也可以利用网络爬虫从各个网站采集获取新闻数据。只要服务器可以获取需要推荐给用户的新闻的数据,本实施例对此不做任何限制。

步骤102:利用预设主题模型,生成每个新闻数据各自对应的主题分布。

其中,本步骤中的预设主题模型可以为设计人员预先设置的可以确定新闻数据的主题分布的模型。对于预设主题模型的具体类型,可以由设计人员根据实用场景和用户需求自行设置,如预设主题模型可以为lda(latentdirichletallocation,隐含狄利克雷分布)主题模型,也可以为其他主题模型,只要服务器可以利用预设主题模型,生成每个新闻数据各自对应的主题分布,对于预设主题模型的具体类型,本实施不做任何限制。

可以理解的是,本步骤中的利用预设主题模型,生成每个新闻数据各自对应的主题分布的具体过程,可以由设计人员根据预设主题模型的具体类型对应设置,如预设主题模型为lda主题模型时,本步骤可以为对获取的新闻数据进行预处理,生成每个新闻数据各自对应的关键词序列;根据每个新闻数据各自对应的关键词序列,利用lda主题模型生成每个新闻数据各自对应的主题分布。只要服务器利用预设主题模型,生成每个新闻数据各自对应的主题分布,也就是可以使新增的新闻数据根据预设主题模型,生成对应的主题分布。本实施例对此不做任何限制。

步骤103:根据用户行为日志与预设主题模型,生成每个用户的兴趣向量。

其中,本步骤的目的可以为根据用户行为日志和预设主题模型中的主题,计算出每个用户对主题的历史的兴趣向量,从而可以通过步骤104推荐生成与每个用户的历史兴趣相近的新闻推荐列表。

可以理解的是,由于新加入的用户由于用户行为日志中缺乏新增用户的历史行为记录,可能无法根据用户行为日志与预设主题模型,生成新增用户的兴趣向量,因而会产生新增用户的冷启动问题。因此,本步骤可以包括将全部用户的兴趣向量的平均值确定为每个新增用户的兴趣向量的步骤,以解决新增用户的冷启动问题;其中,新增用户为用户行为日志中未记录历史行为的新加入的用户。

需要说明的是,本步骤与步骤101和步骤102均可以为步骤104生成每个用户各自对应的第一推荐列表的准备步骤,因此,只要可以在步骤104之前获取每个新闻数据各自对应的主题分布和每个用户的兴趣向量,对于步骤101和步骤102与步骤103的具体顺序,本实施例不做任何限制。

步骤104:根据每个新闻数据各自对应的主题分布和每个用户的兴趣向量,利用隐含语义推荐方法生成每个用户各自对应的第一推荐列表。

可以理解的是,本步骤中的第一推荐列表可以为一个利用隐含语义推荐方法生成的与每个用户的历史兴趣相近的新闻推荐列表。对于利用隐含语义推荐方法生成每个用户各自对应的第一推荐列表的具体过程,可以由设计人员根据实用场景和现有技术对应设置,如预设主题模型为lda主题模型时,本步骤可以为利用基于lda主题模型的隐含语义推荐方法根据每个用户的兴趣向量生成第一推荐列表。只要可以生成与每个用户的历史兴趣相近的新闻推荐列表,本实施例对此不做任何限制。

步骤105:根据每个用户的兴趣向量,将每个用户聚类到对应的用户群组。

需要说明的是,本步骤的目的可以为根据步骤103中获取的每个用户对主题的兴趣向量,将兴趣向量接近的用户聚类成用户群组。对于具体的用户群组的聚类方法,也就是,每个用户群组的兴趣向量的具体范围划分,可以由设计人员自行设置,本实施例对此不做任何。

可以理解的是,对于新增用户,若步骤103中将全部用户的兴趣向量的平均值确定为每个新增用户的兴趣向量,则本步骤可以包括根据每个新增用户的兴趣向量,将每个新增用户分配到对应的用户群组的步骤;若步骤103中并未将全部用户的兴趣向量的平均值确定为每个新增用户的兴趣向量,则本步骤可以将全部用户的兴趣向量的平均值确定为每个新增用户的兴趣向量,并根据每个新增用户的兴趣向量,将每个新增用户分配到对应的用户群组的步骤;以在步骤106中生成新增用户对应的第二推荐列表。本实施例对此不做任何限制。

步骤106:根据每个用户对应的用户群组,利用用户群组推荐方法生成每个用户各自对应的第二推荐列表。

可以理解的是,本步骤中的第二推荐列表可以为一个用户群组推荐方法生成的与每个用户的所属的用户群组的历史兴趣相近的新闻推荐列表。对于利用用户群组推荐方法生成每个用户各自对应的第二推荐列表的具体过程,可以采用与现有的用户群组推荐方法相似的方式,只要可以生成每个用户对应的与各自所属的用户群组的历史兴趣相近的新闻推荐列表(第二推荐列表),本实施例对此不做任何限制。

需要说明的是,本实施例中步骤101至步骤104生成第一推荐列表的过程与步骤103、步骤105和步骤106生成第二推荐列表的过程,可以为生成最终推荐列表的两个准备过程,这两个过程可以同时进行,也可以先后进行,本实施例对于这两个过程的具体逻辑顺序不做任何限制。

步骤107:根据每个用户各自对应的第一推荐列表和第二推荐列表,生成最终推荐列表。

可以理解的是,本实施例的目的可以为通过利用隐含语义推荐方法生成每个用户各自对应的第一推荐列表与利用用户群组推荐方法生成每个用户各自对应的第二推荐列表的结合,生成每个用户各自对应的最终推荐列表,使得生成的最终推荐列表可以在每个用户的历史兴趣相近的新闻推荐列表(第一推荐列表)的基础上,加入每个用户所属的用户群组的历史兴趣相近的新闻推荐列表(第二推荐列表),在为用户提供与其历史兴趣相近的新闻内容的基础上,同时解决了推荐结果缺乏新颖性问题。

需要说明的是,对于生成最终推荐列表的具体方式,可以由设计人员自行设置,如可以直接将每个用户对应的第一推荐列表和第二推荐列表等比例混合,生成对应的最终推荐列表;也可以将每个用户对应的第一推荐列表和第二推荐列表,按照其他方式混合生成最终推荐列表。本实施例对此不做任何限制。

本实施例中,本发明实施例通过将隐含语义推荐方法与用户群组推荐方法的结合,解决了目前用户数与新增用户数均较大的新闻推荐系统所推荐的内容缺乏新颖性的问题,使用户可以看到历史兴趣之外的内容开拓眼界,提升了用户体验。

请参考图2,图2为本发明实施例所提供的一种基于主题模型与用户群组的新闻推荐装置的结构图。该装置可以包括:

获取模块100,用于获取新闻数据;

主题分布生成模块200,用于利用预设主题模型,生成每个新闻数据各自对应的主题分布;

兴趣向量生成模块300,用于根据用户行为日志与预设主题模型,生成每个用户的兴趣向量;

第一推荐模块400,用于根据每个新闻数据各自对应的主题分布和每个用户的兴趣向量,利用隐含语义推荐方法生成每个用户各自对应的第一推荐列表;

聚类模块500,用于根据每个用户的兴趣向量,将每个用户聚类到对应的用户群组;

第二推荐模块600,用于根据每个用户对应的用户群组,利用用户群组推荐方法生成每个用户各自对应的第二推荐列表;

第三推荐模块700,用于根据每个用户各自对应的第一推荐列表和第二推荐列表,生成最终推荐列表。

可选的,主题分布生成模块200,可以包括:

预处理子模块,用于对新闻数据进行预处理,生成每个新闻数据各自对应的关键词序列;

主题分布生成子模块,用于根据每个新闻数据各自对应的关键词序列,利用lda主题模型生成每个新闻数据各自对应的主题分布。

可选的,兴趣向量生成模块300,可以包括:

确定子模块,用于将全部用户的兴趣向量的平均值确定为每个新增用户的兴趣向量;其中,新增用户为用户行为日志中未记录历史行为的新加入的用户。

可选的,聚类模块500,可以包括:

分配子模块,用于根据每个新增用户的兴趣向量,将每个新增用户分配到对应的用户群组。

本实施例中,本发明实施例通过将隐含语义推荐方法与用户群组推荐方法的结合,解决了目前用户数与新增用户数均较大的新闻推荐系统所推荐的内容缺乏新颖性的问题,使用户可以看到历史兴趣之外的内容开拓眼界,提升了用户体验。

此外,本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的基于主题模型与用户群组的新闻推荐方法的步骤。该存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的基于主题模型与用户群组的新闻推荐方法、系统及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1