CN110472016A - 文章推荐方法、装置、电子设备及存储介质 - Google Patents

文章推荐方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN110472016A
CN110472016A CN201910759959.6A CN201910759959A CN110472016A CN 110472016 A CN110472016 A CN 110472016A CN 201910759959 A CN201910759959 A CN 201910759959A CN 110472016 A CN110472016 A CN 110472016A
Authority
CN
China
Prior art keywords
article
theme
label
consistent
library
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
Application number
CN201910759959.6A
Other languages
English (en)
Other versions
CN110472016B (zh
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.)
Shenzhen Yayue Technology Co ltd
Original Assignee
Tencent Technology Beijing Co Ltd
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 Tencent Technology Beijing Co Ltd filed Critical Tencent Technology Beijing Co Ltd
Priority to CN201910759959.6A priority Critical patent/CN110472016B/zh
Publication of CN110472016A publication Critical patent/CN110472016A/zh
Application granted granted Critical
Publication of CN110472016B publication Critical patent/CN110472016B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3334Selection or weighting of terms from queries, including natural language queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种文章推荐方法、装置、电子设备及存储介质;方法包括:为文章库中的文章分配所归属的主题;根据文章对应用户的关注数据,确定用户的关注行为对与文章相符的主题的影响程度;根据影响程度,更新与文章相符的主题;获取用户的文章列表;在文章库中文章所归属的主题中,确定与文章列表中文章相符的主题;获取文章库中归属于与文章列表中文章相符的主题的文章,并根据所获取的文章执行推荐操作。通过本发明,能够更准确的对用户进行个性化的文章推荐。

Description

文章推荐方法、装置、电子设备及存储介质
技术领域
本发明涉及人工智能领域的推荐技术,尤其涉及一种文章推荐方法、装置、电子设备及存储介质。
背景技术
人工智能(AI,Artificial Intelligence)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法和技术及应用***。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
推荐***是人工智能的重要应用分支,以文章推荐为例,其具有很强的时效性需求,新的文章不断产生,而相关技术提供的推荐***往往采用离线训练方式,线上应用时往往难以对新产生的文章的主题进行准确识别,影响推荐的准确性。
发明内容
本发明实施例提供一种文章推荐方法、装置、电子设备及存储介质,能够实现精确文章推荐。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种文章推荐方法,包括:
为文章库中的文章分配所归属的主题;
根据所述文章对应用户的关注数据,确定所述用户的关注行为对与所述文章相符的主题的影响程度;
根据所述影响程度,更新与所述文章相符的主题;
获取用户的文章列表;
在所述文章库中文章所归属的主题中,确定与所述文章列表中文章相符的主题;
获取所述文章库中归属于与所述文章列表中文章相符的主题的文章,并根据所获取的文章执行推荐操作。
本发明实施例还提供了一种文章推荐装置,所述装置包括:
主题分配模块,用于为文章库中的文章分配所归属的主题;
第一确定模块,用于根据所述文章对应用户的关注数据,确定所述用户的关注行为对与所述文章相符的主题的影响程度;
主题更新模块,用于根据所述影响程度,更新与所述文章相符的主题;
列表获取模块,用于获取用户的文章列表;
第二确定模块,用于在所述文章库中文章所归属的主题中,确定与所述文章列表中文章相符的主题;
文章推荐模块,用于获取所述文章库中归属于与所述文章列表中文章相符的主题的文章,并根据所获取的文章执行推荐操作。
上述方案中,所述主题分配模块包括:
构建单元,用于获取所述文章库中每个文章归属的主题所包括多个的标签、以及所述标签对应的权重,构建权重矩阵;
分解单元,用于对所述权重矩阵进行分解操作,得到每个文章对应的文章向量、以及每个文章包括的多个标签各自对应的标签向量;
聚类单元,用于基于所述文章库中的文章各自对应的文章向量进行聚类处理,得到所述文章库中的文章各自归属的主题。
上述方案中,所述构建单元,还用于确定所述文章库中每个文章所包括的词语各自对应的得分;
根据所述词语的得分在每个文章中选择满足得分条件的词语作为相应文章包括的标签;
将所述每个主题中的文章包括的标签,根据对应所述标签的权重进行降序地排序;
确定排序在前的设定数量或比例的标签为所述主题包括的标签,并将所述标签对应相应文章的得分作为所述标签的权重。
上述方案中,所述构建单元,还用于确定所述文章库中每个文章所包括的词语在所归属文章中的词频、以及所述词语在所述文章库中的逆向文件频率;
确定所述词频和所述逆向文件频率的乘积为所述词语对应的得分。
上述方案中,所述构建单元,还用于当所述每个主题中至少两个文章包括相同的标签时,将所述相同的标签对应所述至少两个文章的权重加和确定为新权重;
将所述相同的标签对应的新权重、以及每个主题中文章的独有的标签对应的权重,进行降序地排序。
上述方案中,所述第一确定模块,还用于根据所述文章的关注数据,确定所述用户的关注行为所表征的对所述文章的关注程度;
遍历与所述文章相符的主题以执行以下处理:
将所述文章归属于当前遍历主题的得分、以及所述标签与当前遍历主题包括的标签之间的相似度进行乘积,并以所述文章包括的标签在所述文章中的重要程度为权重系数,对所述乘积进行加权;
将加权结果与所述关注程度的乘积,作为所述用户的关注行为对当前遍历主题中各个标签的影响程度。
上述方案中,所述第一确定模块,还用于根据所述关注数据包括的对应所述文章的点击数据和曝光数据,确定所述文章的点击率,或者
根据所述关注数据包括的对应所述文章的评论数据和曝光数据,确定所述文章的评价率。
上述方案中,所述装置还包括:
调整模块,用于在根据所述文章的关注数据确定所述文章的关注程度之后,
调整所述关注程度的取值与所述关注数据的置信度相适配。
上述方案中,所述主题更新模块,还用于将与所述文章相符的主题中每个标签的权重,与所述文章相符的主题对应确定的影响程度进行加和,得到每个标签更新的权重。
上述方案中,所述主题更新模块,还用于当与所述文章相符的主题未包括所述文章的全部标签时,将未包括的标签以及对应的权重添加到与所述文章相符的主题;
将与所述文章相符的主题包括标签根据对应的权重进行降序地排序,根据排序结果删除部分标签。
上述方案中,所述第二确定模块,还用于确定所述文章列表中文章对应的文章向量,与所述文章库中文章所归属的多个主题对应的主题向量之间的相似度;
确定相似度满足相似度条件的主题为与所述文章列表中文章相符的主题。
上述方案中,所述主题推荐模块包括:
查询单元,用于查询所述文章库,得到归属于与所述文章列表中文章相符的多个主题、且满足时效条件的有效文章;
计算单元,用于将所述有效文章归属于相应主题的得分,与所述有效文章属于相应主题的得分进行乘积,得到所述有效文章的新的得分;
排序单元,用于根据所述有效文章的新得分进行降序地排序,根据排序结果选择排序在前的部分有效文章以执行推荐操作。
本发明实施例还提供了一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的文章推荐方法。
本发明实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行时,实现本发明实施例提供的文章推荐方法。
本发明实施例具有以下有益效果:
在为文章池的文章分配主题后,通过用户行为对主题的影响程度,实现了对主题的自适应地更新,使得主题能够根据用户行为进行及时地动态调整,从而提升了基于相符主题进行文章推荐的精度,进而提升了用户体验。
附图说明
图1是本发明实施例提供的LDA模型的文章生成过程的示意图;
图2是本发明实施例提供的文章推荐***100的一个可选的架构示意图;
图3是本发明实施例提供的文章推荐设备600的结构示意图;
图4是本发明实施例提供的文章推荐***的一个可选的结构示意图;
图5是本发明实施例提供的文章推荐方法的流程示意图;
图6是本发明实施例提供的对文章向量进行聚类的示意图;
图7为本发明实施例提供的文章推荐方法的流程示意图;
图8为本发明实施例提供的获取隐向量的流程示意图;
图9为本发明实施例提供的用户触发文章请求的界面示意图;
图10为本发明实施例提供的终端显示推荐文章的界面示意图;
图11为本发明实施例提供的动态主题模型的实现流程示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)推荐***,是一种关联用户和文章的工具,以用户的关注数据为基础,能在纷繁的文章中帮助用户筛选他们感兴趣的文章,为用户提供个性化的信息服务。
2)关注数据,文章曝光过程中用户关注文章的相关数据,包括点击率、点击量、评论(喜欢/不喜欢)等。
3)注意力(Attention)机制,用于计算相关性,如翻译中的中英文词汇依赖程度,Attention不仅仅将输入映射为一个向量,而是将输入映射为三个向量(分别命名为query,key,value),通过query和key向量之间的相似度,作为query对应value向量的权重,对value向量加权求和,得到attention程度(数值)。
4)影响程度,表示文章被用户关注(例如点击、评论)时,对文章相符的主题所产生影响的度量。
5)点击率,文章的点击次数与曝光量的比值。
6)评论率,文章的评论次数与曝光量的比值。
7)文章向量,文章的向量化表示,可以采用文章的标签向量的加权表征。
8)主题,对文章的内容概括和归纳,每个主题可以包括一个或多个标签(tag,即文章的关键词),每个标签具有一定的权重,权重表示标签表达主题的程度(即标签在多大程度上表达主题)。
9)主题向量,主题的向量化表示,是主题所包括的标签对应的标签向量的加权。
10)标签向量,标签的向量化表示,将标签映射到语义向量空间得到(例如通过word2vec模型映射),语义向量空间中的每个点代表一个单词,任意两个词在语义向量空间中的距离,与在语义上的距离正相关。
11)用户画像,包括用户兴趣画像及用户基础画像;其中,
用户兴趣画像,指真实用户的虚拟代表,是建立在一系列属性数据之上的目标用户模型,本文中指根据用户的历史行为数据抽象出的对应用户的层次化的兴趣模型,用于指示用户的兴趣分类;
用户基础画像,根据用户的真实性别,年龄,收入情况,常驻登录地等用户基础信息抽象出的标签化的用户的信息全貌。
12)响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
发明人在研究过程中发现,用于进行文章推荐的推荐***可以基于主题模型实现,在一些实施例中,通过主题模型计算每个文章属于各个主题的分数。在文章召回时,基于用户过去阅读文章隶属主题,从主题中拉取相似文章进行推荐。
具体地,主题模型允许每一篇文章由几个主题组成,每个主题对应一个单词分布,即每个单词以一定的概率属于一个主题;相对于文章以及组成文章的单词,主题是一个隐变量,主题的描述粒度介于文章和单词之间。以狄利克雷分布(Latent DirichletAllocation,LDA)模型为例对主题模型进行说明。LDA将文章库中每篇文章的主题按照概率分布的形式给出,图1为本发明实施例提供的LDA模型的文章生成过程的示意图,参见图1,从狄利克雷分布中取样生成文章的主题分布,从主题的多项式分布中取样生成文章中词的主题,从狄利克雷分布中取样生成主题的词分布,从词的多项式分布中采样生成词语。
通过上述主题模型的介绍可知,1)相关技术中的主题模型需要通过大量语料进行采样学习,进行模型训练,需要大量的训练时间及空间资源,资源消耗大;2)模型训练和更新较慢,对于实时性较强的文章,如新闻类文章,不能做到对新出现主题的实时把握,不能迅速的捕捉新出现的新闻热点;3)相关技术中的主题模型一般用一组词汇来代表一个主题,每个词汇包含一个属于这个主题的权重,而权重是基于采样获得的,这会造成主题的可解释性差,同时对于新闻场景,用老的主题解释新的新闻会造成可解释性进一步下降;4)对于实时性较强的文章,由于其更新速度快,当大量此类文章产生后,基于老的主题模型为用户进行个性化推荐文章时,由于模型的不准确,会使得大量非用户感兴趣的文章被召回,基于召回的这些文章所进行的文章推荐会严重影响用户的体验。
为至少解决相关技术的上述技术问题,本发明实施例提供文章推荐方法、装置、电子设备及存储介质,能够更准确的对用户进行个性化的文章推荐。下面说明本发明实施例提供的文章推荐***100的一个可选的架构示意图。
参见图2,为实现支撑一个示例性应用,终端(包括终端400-1和终端400-2)通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线或有线链路实现数据传输。
服务器200,用于为文章库500中的文章分配所归属的主题,即初始化文章库中的文章所归属的主题;根据文章对应用户的关注数据,确定用户的关注行为对与文章相符的主题的影响程度;根据影响程度,更新与文章相符的主题。
这里,在实际应用中,服务器200既可以为单独配置的支持各种业务的一个服务器,亦可以配置为一个服务器集群。
终端(如终端400-1),用于响应于目标用户触发的针对文章的点击操作,发送相应的文章请求给服务器200。
这里,在实际应用中,终端可以为智能手机、平板电脑、笔记本电脑等各种类型的用户终端,还可以为可穿戴计算设备、个人数字助理(PDA)、台式计算机、蜂窝电话、媒体播放器、导航设备、游戏机、电视机、或者这些数据处理设备或其他数据处理设备中任意两个或多个的组合。
服务器200,还用于接收到所述文章请求时,获取目标用户的文章列表;在文章库中文章所归属的主题中,确定与文章列表中文章相符的主题;获取文章库中归属于与文章列表中文章相符的主题的文章,并根据所获取的文章执行推荐操作。
终端(如终端400-1),还用于通过用户界面显示服务器推荐的文章。
在一些实施例中,终端上设置有阅读客户端,用户通过阅读客户端可以进行文章阅读,如进行新闻资讯类文章阅读,阅读客户端具有推荐功能,基于本发明实施例提供的推荐方法为用户进行文章推荐,在实际应用中,用户通过阅读客户端进行文章请求,服务器接收到阅读客户端发送的文章请求,获取相应用户的文章列表;在文章库中文章所归属的主题中,确定与文章列表中文章相符的主题;获取文章库中归属于与文章列表中文章相符的主题的文章,并根据所获取的文章执行推荐操作,相应的,阅读客户端显示推荐的文章。
继续说明本发明实施例提供的文章推荐设备的结构,文章推荐设备可以是各种终端,例如手机、电脑等,也可以是如图2示出的服务器200。
参见图3,图3是本发明实施例提供的文章推荐设备600的结构示意图,图3所示的文章推荐设备600包括:至少一个处理器610、存储器650、至少一个网络接口620和用户接口630。终端600中的各个组件通过总线***640耦合在一起。可理解,总线***640用于实现这些组件之间的连接通信。总线***640除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线***640。
处理器610可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口630包括使得能够呈现媒体内容的一个或多个输出装置631,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口630还包括一个或多个输入装置632,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器650可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器650可选地包括在物理位置上远离处理器610的一个或多个存储设备。
存储器650包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Me mory),易失性存储器可以是随机存取存储器(RAM,Random Access Memor y)。本发明实施例描述的存储器650旨在包括任意适合类型的存储器。
在一些实施例中,存储器650能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作***651,包括用于处理各种基本***服务和执行硬件相关任务的***程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块652,用于经由一个或多个(有线或无线)网络接口620到达其他计算设备,示例性的网络接口620包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块653,用于经由一个或多个与用户接口630相关联的输出装置631(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作***设备和显示内容和信息的用户接口);
输入处理模块654,用于对一个或多个来自一个或多个输入装置632之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本发明实施例提供的文章推荐装置可以采用软件方式实现,图3示出了存储在存储器650中的文章推荐装置655,其可以是程序和插件等形式的软件,包括以下软件模块:主题分配模块6551、第一确定模块6552、主题更新模块6553、列表获取模块6554,第二确定模块6555及文章推荐模块6556,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。
在另一些实施例中,本发明实施例提供的文章推荐装置可以采用硬件方式实现,作为示例,本发明实施例提供的文章推荐装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的文章推荐方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Progra mmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmabl e Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
接下来对本发明实施例提供的文章推荐设备所采用的文章推荐***进行说明。本发明实施例提供的文章推荐***可以用于各种类型文章的推荐场景,例如新闻推送、公众号文章推送、广告文章推送等;其中,对于广告文章推送的推荐场景,具体地广告可以为书籍广告,相应的广告文章为书籍内正文/正文片段/序言,还可以为电影广告,相应的广告文章为电影介绍/电影评论等。
图4为本发明实施例提供的文章推荐***的一个可选的结构示意图,参见图4,本发明实施例的文章推荐***包括召回模块41、排序模块42、重排序模块43、用户画像模块44及统计上报模块45。
在一些实施例中,召回模块41,用于通过主题分配模块为文章库中的文章分配所归属的主题;通过第一确定模块根据文章对应用户的关注数据,确定用户的关注行为对与所述文章相符的主题的影响程度;通过主题更新模块根据影响程度,更新与文章相符的主题;
以及,用于通过列表获取模块在接收到客户端发送的文章请求时,基于用户画像模块44提供的相应用户的用户画像,获取用户的文章列表,通过第二确定模块在文章库中文章所归属的主题中,确定与文章列表中文章相符的主题,并通过文章推荐模块获取文章库中归属于与文章列表中文章相符的主题的文章,将其作为文章召回结果;如此,实现尽可能多的召回用户潜在喜欢的文章。
排序模块42,用于基于用户画像模块44提供的相应用户的用户画像,计算用户画像与文章的主题的匹配程度,并基于匹配程度对召回模块41所获取的文章进行排序,得到第一排序结果。
重排序模块43,用于基于用户画像,对第一排序结果中文章的顺序进行调整,使得排序在前的N(N为不小于2的正整数)篇文章的文章主题互不相同,如此实现推荐文章的主题多样化;具体地,如结合用户画像、文章内容和当前上下文信息(网络:wifi或蜂窝;地理位置,调整文章显示的样式,例如对于wifi环境则使用尺寸相对大的样式),对所有召回文章进行排序和位置优化;
统计上报模块45,用于获取用户基于推荐的文章的关注数据,并进行关注数据的上报,使得召回模块41、排序模块42、重排序模块43及用户画像模块44基于关注数据进行参数及数据更新,提升用户关注的文章的排序,不断提高用户的体验。
接下来结合本发明实施例提供的服务器的示例性应用和实施,说明本发明实施例提供的文章推荐方法。图5为本发明实施例提供的文章推荐方法的流程示意图,在一些实施例中,该文章推荐方法可由服务器实施,或由服务器及终端协同实施,以服务器实施为例,如通过图2中的服务器200实施,结合图2及图5,本发明实施例提供的文章推荐方法包括:
步骤501:服务器为文章库中的文章分配所归属的主题。
在实际实施时,一篇文章可以归属于一个或多个主题,每个主题可以包括一个或多个标签(tag),标签可以为文章中的高频词汇,即文章的关键词;每个标签具有一定的权重,权重表示标签表达主题的程度,即标签在多大程度上表达主题。
文章库中包括多篇文章,具体地,文章库中的文章是线上获取的,文章库中文章的来源可以为以下至少之一:1、通过各种流量(例如公众号、社交网络)的用户投稿;2、通过爬虫技术从网络(例如各种网站、公众号)中抓取。
在实际应用中,服务器在进行文章推荐前需要对文章库中的文章进行初始化,即为文章库中的文章分配所归属的主题,在一些实施例中,服务器可通过如下方式实现文章库中的文章所归属主题的分配:
服务器获取文章库中每个文章归属的主题所包括多个的标签、以及标签对应的权重,构建权重矩阵;对权重矩阵进行分解操作,得到每个文章对应的文章向量、以及每个文章包括的多个标签各自对应的标签向量;基于文章库中的文章各自对应的文章向量进行聚类处理,得到文章库中的文章各自归属的主题。
基于上述主题分配方式可知,服务器通过构建权重矩阵、矩阵分解及文章向量聚类实现文章的主题分配,由于权重矩阵基于标签及标签对应的权重所构建,而标签具有相对稳定,可解释强等优点,如此,使得为文章分配的所归属的主题的可解释性更强;通过矩阵分解得到的文章向量能够有效的代表文章,使得基于文章向量聚类所得到的主题的准确度更高;而通过聚类的方式得到文章库中的文章各自归属的主题,具有运算迅速,占用空间少,可并行运算,聚类结果可解释性强等优点;接下来对构建权重矩阵、矩阵分解及文章向量聚类的相关操作分别进行说明。
在一些实施例中,服务器可通过如下方式获取文章库中每个文章归属的主题所包括多个的标签、以及标签对应的权重:
服务器确定文章库中每个文章所包括的词语各自对应的得分;根据词语的得分在每个文章中选择满足得分条件的词语作为相应文章包括的标签;将每个主题中的文章包括的标签,根据对应标签的权重进行降序地排序;确定排序在前的设定数量或比例的标签为主题包括的标签,并将标签对应相应文章的得分作为标签的权重。
在实际实施时,服务器可通过如下方式确定文章库中每个文章所包括的词语各自对应的得分:确定文章库中每个文章所包括的词语在所归属文章中的词频、以及词语在文章库中的逆向文件频率;确定词频和逆向文件频率的乘积为词语对应的得分。在实际应用中,词语对应的得分可以为TF-IDF(term freque ncy–inverse document frequency)分数,具体地,单词ti在文章dj中的TF-IDF分数可通过如下公式计算得到:
tfidfi,j=tfi,j×idfi; (1)
其中,tfi,j为单词ti在文章dj中的词频,idfi是单词ti的逆向文件频率。
这里,tfi,j可通过如下公式得到:
其中,ni,j是单词ti在文章dj中出现的次数,nk,j表示单词k在文章dj中出现的次数,即∑knk,j表示文章dj中所有单词的出现次数之和。
IDF是一个词语普遍重要性的度量,某一特定单词ti的IDF,可以由文章库中的总文章数目D除以包含该词语ti的文章的数目,即:再将得到的商取对数得到,如下公式:
在一些实施例中,服务器确定针对每个文章所包括的词语,确定满足以下得分条件至少之一作为相应文章的标签:得分超出得分阈值的词语;得分的降序排序中排序在前的设定比例的词语;得分的降序排序中排序在前的设定数量的词语。
这里,在实际应用中,得分阈值、设定比例及设定数量均可以依据实际需要进行设定。
接下来对矩阵分解进行说明。权重矩阵的一个示例如表1所示,每一篇文章包含多个词汇,每个词汇具有一个权重值,其中,Tag1至Tagt为不同标签所对应的标签向量,例如可以为美食、体育、减肥;d1至dj为不同文章所对应的文章向量,权重矩阵为文章向量和标签向量的乘积,即[weightjt]j=[dj]T*[Tagt]。
在一些实施例中,可通过ALS(Alternating Least Squares)的矩阵分解方式获取每个文章对应的文章向量、以及每个文章包括的多个标签各自对应的标签向量,也称为隐向量。
这里,ALS矩阵分解的预测模型为:
损失函数为:通过最小化损失函数,从而求得参数q(即文章向量)和p(即标签向量);标签向量代表了文章和标签间潜在的相似关系,比如一篇文章和另一篇文章描述的是相似内容,则其对应的向量间的距离(如余弦距离/欧氏距离)将会比较近。
Tag1 Tag2 …… Tagt
d1 Weight11 Weight12 …… Weight1t
d2 Weight21 Weight22 …… Weight2t
…… …… …… …… ……
dj WeightN1 WeightN1 …… WeightN1
表1
接下来对文章向量聚类进行说明。在一些实施例中,基于矩阵分解得到文章向量后,可通过k均值聚类的方式对文章向量进行聚类处理,得到文章库中的文章各自归属的主题;图6为本发明实施例提供的对文章向量进行聚类的过程示意图,参见图6,对文章向量进行聚类的过程主要包括:(a),输入数据集合及类别数k,并随机分配类别中心点的位置;(b)将每个点放入离它最近的类别中心点所在的集合;(c)移动类别中心点到它所在的集合;(d)重复执行(b)及(c),直至收敛。
在实际应用中,将文章库的文章聚类到多个主题后,存在一些标签在一个主题内仅出现一次(即某篇文章独有的标签),还存在一个主题内相同的标签出现两次或两次以上的情况,相应的,在一些实施例中,当每个主题中至少两个文章包括相同的标签时,将相同的标签对应至少两个文章的权重加和确定为新权重;将相同的标签对应的新权重、以及每个主题中文章的独有的标签对应的权重,进行降序地排序,进而可基于排序结果选取预设数量的标签作为该主题的标签,如选取前100个标签作为主题的标签,至此完成文章库中的文章所归属主题的初始化。
步骤502:根据文章对应用户的关注数据,确定所述用户的关注行为对与文章相符的主题的影响程度。
在实际实施时,与文章相符的主题可以为一个或多个,可通过计算文章与候选主题的相似度确定与文章相符的主题,具体地,可采用文章向量与候选主题向量之间的距离表征文章与候选主题的相似度,如通过计算文章向量与聚类得到的各个主题向量之间的距离,选取距离最小的预设数量的主题作为与文章相符的主题。
这里,在进行文章向量与主题向量间距离计算时,文章向量可以采用上文矩阵分解得到的文章向量,但是,实际应用中,对于更新速度快、时效性较强的文章(如新闻)来说,上述矩阵分解的操作由于计算量较大,并非实时产生,有可能会出现“文章已经被发布(例如新闻,收集到文章的关注数据,但是文章的矩阵分解操作还未完成”的情况,这种情况下,使用文章的标签向量的加权来作为文章向量,可以及时更新相近主题,进而保证文章推荐的实时性。
在一些实施例中,服务器可通过如下方式确定用户的关注行为对与文章相符的主题的影响程度:
根据文章的关注数据,确定用户的关注行为所表征的对文章的关注程度,并遍历与文章相符的主题以执行以下处理:
将文章归属于当前遍历主题的得分、以及标签与当前遍历主题包括的标签之间的相似度进行乘积,并以文章包括的标签在文章中的重要程度为权重系数,对乘积进行加权;将加权结果与关注程度的乘积,作为用户的关注行为对当前遍历主题中各个标签的影响程度。
这里,服务器可通过如下方式确定用户的关注行为所表征的对文章的关注程度:根据关注数据包括的对应文章的点击数据和曝光数据,确定文章的点击率,或者,根据关注数据包括的对应文章的评论数据和曝光数据,确定文章的评价率。
示例性地,聚类得到多个主题,从中选取预设数量的与文章的相似度最高的主题,如选取距离当前文章j最近的5篇文章,即每篇文章被分配到5个主题中,文章归属于当前主题的得分可采用文章(文章向量)和主题(主题向量)间的相似度(例如余弦距离)来表征,在实际实施时,文章归属于当前主题的得分可采用归一化的余弦距离表示,如将文章A分配到x个主题(T1至Tx),则文章归属于当前主题的得分(可能性的量化表示)为:
示例性地,当前遍历的主题内包含k个标签,则文章A所包含的标签ti和主题T1内k个标签的相似度可通过表征。
在实际实施时,文章包括的标签ti在文章A中的重要程度,即标签ti的权重与文章A所包含的所有标签的权重和的比值,即其中,为标签ti的权重。
以对文章的关注程度为文章的点击率p为例,用户的关注行为对当前遍历主题中各个标签的影响程度可通过如下公式得到:
在实际应用中,如果一篇文章的曝光量很高,则基于该高曝光量得到的文章的点击率的可信度相较于低曝光量情况下得到的点击率更高,即数据量大的较数据量小的关注数据更可靠,相应的,在一些实施例中,在根据文章的关注数据确定文章的关注程度之后,调整关注程度的取值与关注数据的置信度相适配;具体地,以对文章的关注程度为文章的点击率p为例,采用威尔逊置信区间的中间值作为基础的调节信息,具体地,可通过如下公式得到调整后的点击率pw
其中,n为文章的曝光次数,p为调整前的初始点击率,z为常数,用来调节置信度,如z=1.96则置信度为95%。
相应的,根据调整后的点击率,得到对当前遍历主题中各个标签的影响程度如下:
步骤503:根据所述影响程度,更新与所述文章相符的主题。
在一些实施例中,服务器可通过如下方式更新与文章相符的主题:
服务器将与文章相符的主题中每个标签的权重,与文章相符的主题对应确定的影响程度进行加和,得到每个标签更新的权重。具体地,主题包括的第k个标签的初始权重为w1-k,在实际应用中,基于公式(6),通过如下公式得到主题包括的第k个标签的更新后的权重
其中,w1-k为更新前第k个标签的权重,可采用相应的TF-IDF分数表征,更新的权重,是在原权重基础上,以基于点击率形成的表示用户的关注对原权重的影响程度确定的更新值,在原权重的基础上叠加更新值得到。
这里,当与文章相符的主题未包括文章的全部标签时,将未包括的标签以及对应的权重添加到与文章相符的主题;将与文章相符的主题包括的标签根据对应的权重进行降序地排序,根据排序结果删除部分标签。如此,实现了标签的权重更新,经过标签权重更新后,再次按照标签的权重排序,取前N(如100)个标签代表主题。
其中,对于部分标签的删除,可依据实际需要,删除如得分低于得分阈值的标签;或者,删除得分的降序排序中排序在后的设定比例的标签;或者,删除得分的降序排序中排序在后的设定数量的标签。
步骤504:获取用户的文章列表。
这里,服务器在接收到目标用户基于阅读客户端发送的文章请求时,执行对目标用户对应的文章列表的获取;例如,阅读客户端中设置有“推荐”功能,当用户点击客户端呈现的“推荐”功能项时,客户端发送文章请求给服务器,服务器获取该目标用户历史阅读(点击)过的文章,形成对应目标用户的文章列表。
步骤505:在文章库中文章所归属的主题中,确定与文章列表中文章相符的主题。
在一些实施例中,服务器可通过如下方式确定与文章列表中文章相符的主题:服务器确定文章列表中文章对应的文章向量,与文章库中文章所归属的多个主题对应的主题向量之间的相似度;确定相似度满足相似度条件的主题为与文章列表中文章相符的主题。
这里,在实际实施时,主题向量可采用主题中所包括的标签的加权,相似度满足相似度条件可以为相似度达到预设的相似度阈值。
步骤506:获取文章库中归属于与文章列表中文章相符的主题的文章,并根据所获取的文章执行推荐操作。
在一些实施例中,服务器可通过如下方式实现根据所获取的文章执行推荐操作:服务器查询文章库,得到归属于与文章列表中文章相符的多个主题、且满足时效条件的有效文章;将有效文章归属于相应主题的得分,与有效文章属于相应主题的得分进行乘积,得到有效文章的新的得分;根据有效文章的新得分进行降序地排序,根据排序结果选择排序在前的部分有效文章以执行推荐操作。
这里,执行推荐操作是指将选择的部分有效文章作为推荐***的召回结果,进行后续排序和过滤处理,将召回结果传递到推荐***的排序模块,结合用户画像进行排序和文章筛选,进一步传递到重排序模块进行基于样式的排序调整,得到文章的重排序结果,最后基于重排序结果选取预设数量的文章发送到用户侧阅读客户端。
在实际实施时,为了保证线上运行的效率,在需要向用户推荐文章时快速查询,可将归属于文章列表中相符的主题中的有效文章进行缓存,如通过key-vaulue方式进行缓存,期中,key是文章库的全量的文章,包括有效的文章和失效的文章,value是归属于key相符主题的有效文章,key作为索引,包括文章库中所有文章的ID(即包括文章库中有效文章的ID和失效文章的ID);如此,保证了推荐的文章都是当前有效的文章。
在实际应用中,和用户点击文章相关的文章(即归属于与用户点击文章相符的主题的文章)可能会过多,不利于存储和线上推荐,因此,可以将与文章相关的文章进行排序,排序的依据为键值文章隶属于主题的分数乘以内容值文章隶属于主题的分数;即,对于任意一篇用户点击的文章,选取其对应的预设数量(如5个)主题内的全部文章,将用户点击的文章属于相应主题的分数对应乘以主题内可用文章属于相应主题的分数,按照分数从高到底排序,取排名靠前的预设数量(如50个)的文章作为此文章最终的相关文章。
示例性地,用户点击文章A,相近主题为T1-T5,每个主题各有100篇相近的文章,对于相近文章1-100(属于T1),计算文章A属于T1的分数,乘相近文章1属于T1的分数;以此类推,得到500篇相近文章的分数,根据分数进行排序,取前50个文章。
继续对本发明实施例提供的文章推荐方法进行说明,图7为本发明实施例提供的文章推荐方法的流程示意图,在一些实施例中,该文章推荐方法可由服务器实施,或由服务器及终端协同实施,以终端与服务器协同实施为例,如通过图2中的终端400-1及服务器200实施,终端400-1上设置有阅读客户端,结合图2及图7,本发明实施例提供的文章推荐方法包括:
步骤701:服务器构建权重矩阵。
这里,一篇文章可以归属于一个或多个主题,每个主题可以包括一个或多个标签,标签可以为文章中的高频词汇,即文章的关键词;每个标签具有一定的权重,权重表示标签表达主题的程度,即标签在多大程度上表达主题。
在实际实施时,服务器获取文章库中每个文章归属的主题所包括多个的标签、以及标签对应的权重,构建权重矩阵。
示例性地,服务器计算文章库中每个文章所包括的词语的TF-IDF分数,将TF-IDF分数达到预设的分数阈值的词语作为相应文章的标签,依据标签的TF-IDF分数,将每个主题中的文章包括的标签进行降序排序;确定排序在前的设定数量的标签作为主题对应的标签,相应的,该标签对应的TF-IDF分数作为权重。
步骤702:服务器对权重矩阵进行分解。
在实际实施时,服务器对权重矩阵进行分解操作,得到每个文章对应的文章向量、以及每个文章包括的多个标签各自对应的标签向量,也称为隐向量。
具体地,图8为本发明实施例提供的获取隐向量的流程示意图,参见图8,首先从文章库中获取文章数据,包括文章包括的单词、相应单词在文章中出现的次数、文章包括的所有词语的总数量等,然后基于获取的文章数据获取文章的标签数据,如文章包括的各个标签、各个标签所对应的权重等,最后对文章的标签的权重进行ALS分解,得到隐向量,即得到标签向量(标签编码)及文章向量(文章编码)。
步骤703:服务器进行文章聚类,得到文章库中的文章各自归属的主题。
在实际实施时,服务器基于文章库中的文章各自对应的文章向量进行聚类处理,得到文章库中的文章各自归属的主题。
示例性地,服务器采用k均值聚类的方式对文章向量进行聚类处理,得到文章库中的文章各自归属的主题。
在实际应用中,将文章库的文章聚类到多个主题后,存在一些标签在一个主题内仅出现一次(即某篇文章独有的标签),还存在一个主题内相同的标签出现两次或两次以上的情况,相应的,当每个主题中至少两个文章包括相同的标签时,将相同的标签对应至少两个文章的权重加和确定为新权重;将相同的标签对应的新权重、以及每个主题中文章的独有的标签对应的权重,进行降序地排序,进而可基于排序结果选取预设数量的标签作为该主题的标签,如选取前100个标签作为主题的标签,以完成文章库中的文章所归属主题的初始化。
步骤704:服务器获取文章库中各个文章所对应的用户点击率,并依据用户点击率更新与文章相符的主题。
这里,与文章相符的主题可以为一个或多个,可通过计算文章与候选主题的相似度确定与文章相符的主题,具体地,可采用文章向量与候选主题向量之间的距离表征文章与候选主题的相似度,如通过计算文章向量与聚类得到的各个主题向量之间的距离,选取距离最小的预设数量(如5个)的主题作为与文章相符的主题。
在实际应用中,如果一篇文章的曝光量很高,则基于该高曝光量得到的文章的点击率的可信度相较于低曝光量情况下得到的点击率更高,即数据量大的较数据量小的关注数据更可靠,相应的,在实际实施时,可通过威尔逊置信区间的中间值依据公式(5)对用户点击率进行调整,并基于调整后的用户点击率更新相应主题中各个标签的权重,具体地,可以依据公式(7)更新相应主题中各个标签的权重,以实现主题的更新。
步骤705:终端发送文章请求给服务器。
图9为本发明实施例提供的用户触发文章请求的界面示意图,参见图9,在阅读客户端所呈现的界面中,当用户点击“推荐”所对应的按钮时,触发阅读客户端通过终端发送文章请求给服务器,以获取推荐的文章。
步骤706:服务器获取目标用户所对应的文章列表。
在实际实施时,服务器解析接收到的文章请求,获取到文章请求所携带的目标用户标识,基于目标用户标识获取目标用户历史点击过的文章,形成相应的文章列表。
步骤707:服务器确定与文章列表中文章相符的主题。
在实际实施时,服务器确定文章列表中文章对应的文章向量,与文章库中文章所归属的多个主题对应的主题向量之间的相似度;确定相似度达到相似度阈值的主题为与文章列表中文章相符的主题。
步骤708:服务器根据所述主题,从文章库中进行文章筛选,得到待推荐文章。
在实际实施时,服务器可通过如下方式实现文章筛选:
服务器查询文章库,得到归属于与文章列表中文章相符的多个主题、且满足时效条件的有效文章;将有效文章归属于相应主题的得分,与有效文章属于相应主题的得分进行乘积,得到有效文章的新的得分;根据有效文章的新得分进行降序地排序,根据排序结果选择排序在前的预设数量的有效文章作为待推荐文章。
步骤709:服务器发送待推荐文章给终端。
步骤710:终端显示服务器所推荐的文章。
这里,参见图10,图10为本发明实施例提供的终端显示推荐文章的界面示意图,响应于用户触发的文章请求,终端呈现服务器推荐的文章,通过图10可看出服务器推荐的文章为不同类别的文章。
继续对本发明实施例提供的文章推荐方法进行说明。
在实际应用中,一篇文章可以包含一个或多个主题,每个主题中词汇呈现一定的分布,文章、主题、词汇的分布关系组成了主题模型;主题模型是一类重要的召回算法,用于实现用户点击文章的相关文章的召回,比如用户看了红楼梦主题的文章,那么当前主题下的其他文章即是该用户的潜在感兴趣文章,如贾宝玉相关的、陈晓旭相关的文章。为了提高主题模型召回文章的准确性和时效性,提高用户体验和线上的效率,本发明实施例提出基于注意力机制的动态主题模型,通过本发明实施例提供的文章推荐***中的召回模块实现,以下进行说明。
参见图4,动态主题模型位于召回模块,用户的关注数据(点击;评论)作为反馈信息用来调整推荐***中所有模块的参数信息。其中,用户的关注数据反映了当前用户群体对新闻的关注点,本文采用注意力机制实现了对主题中tag权重分布的挑战(即动态更新)。线上用户进行文章请求时,召回模块尽可能多的召回用户潜在喜欢的文章,经过排序模块和重排序模块的文章排序和显示位置优化,最终将文章被推荐给用户,使得用户点击自己喜欢的文章进行阅读,真实点击数据将上报到推荐***,不同模块基于用户的关注数据进行优化和更新,以提升用户关注的文章的排序,不断提高用户的体验。
图8展示了本文获取文章向量及标签向量(即隐向量)的过程,如图8所示,在实际应用中,每一篇文章包含多个词汇,每个词汇具有一个权重值,权重矩阵参见上文中表1,Tagt表示第t个标签,以文章包括三个标签Tag1至Tag3为例,Tag1至Tag3分别为不同的标签,如美食、体育、减肥;文章的标签可以为词频比较高的单词,计算文章中各标签的TF-IDF分数作为标签的初始权重;进一步基于ALS的矩阵分解方式对权重进行分解,得到文章向量及该文章所包含的标签向量,标签向量代表了文章和标签间潜在的相似关系,比如一篇文章和另一篇文章描述的是相似内容,则其对应的向量间的距离(如余弦距离/欧氏距离)将会比较近。
图11为本发明实施例提供的动态主题模型的实现流程示意图,基于注意力机制动态的实现主题更新,参见图11,基于矩阵分解方式所得到的文章编码(即文章向量),采用k均值聚类的方式获得初始主题,此时属于同一个簇的文章属于同一个主题,每个主题内包含了多篇文章,文章向量组成的主题虽然具有较好的主题代表性,但是对于时效性较强的文章(如新闻类文章)的生命周期较短,这使得主题的稳定性降低,为了提高文章主题的可扩展性,可采用多个标签向量来代表一个主题。
示例性地,将文章池的文章聚类到多个主题后,对隶属于每个主题内的每个文章对应的tag进行提取,对在一个主题内出现多次的标签(即在一个主题内的多个文章出现),则对其权重(即单词在每个文章内的权重,标签的初始权重可以采用TFIDF分数)进行加和处理,并取加和后的不同单词的权重进行排序,取前100个单词作为主题的标签。
为了实现对主题模型的动态调整,在实际实施时,可采用基于注意力机制主题更新方式;首先采用威尔逊(Wilson)置信区间的中间值作为基础的调节信息对文章的点击率进行修正,如公式(5)所示,其中p代表了初始的点击率,pw为修正后的点击率,n为曝光个数,z用来调节置信度,如z=1.96则置信度为95%;本文没有给出置信区间范围,仅采用了置信区间的中间值作为点击率,从公式可以看出,如果一篇文章的曝光很高,则修正后的点击率近似等于点击率,若曝光度降低,则修正会带来点击率降低。
示例性地,假定每篇文章属于5个主题,从而需要为每一篇文章匹配5个相近的主题,即,将文章的文章向量与多个候选主题的主题向量计算相似度,找到相似度最高的5个主题,以根据文章的点击率更新相邻主题内标签的权重。主题向量由主题内的标签的向量加权而来;为了保证向量间的可比性,文章向量采用属于文章的标签向量加权得到,即,文章所属主题对应的标签向量的加权;文章向量也可以采用上文矩阵分解得到的文章向量,但是,实际应用中,文章产生的速度较快,而矩阵分解的操作由于计算量较大,不是实时产生的,有可能会出现“文章已经被发布(例如时效性很强的新闻,并且收集到文章的关注数据),但是文章的矩阵分解操作还未完成”的情况,这种情况下,使用文章的标签向量的加权来作为文章向量,从而可以及时更新相近主题,保证文章推荐的实时性);通过计算文章向量和主题向量间的相似度(例如余弦距离),每个文章被分配到5个主题中,隶属于主题的程度采用归一化的余弦距离表示,比如距离文章A最近的5个主题为主题T1、T2、T3、T4、T5,距离分布为 则A属于主题T1的隶属程度为
如果一篇文章在线上得到了曝光和点击,为了实现点击行为对主题的动态更新,对此文章隶属的主题内的标签权重采用注意力机制进行权重更新,接下来以一个文章A为例对权重更新进行说明。
示例性地,得到曝光和点击的文章A包含3个tag,记为ti(i取值在1-3),即文章A包括标签t1、t2及t3,权重分别为w1、w2、w3。文章修正后的点击率为pw,距离文章A最近的5个主题为主题Tj(j取值1-5),即T1、T2、T3、T4、T5,距离分别为以主题T1为例,主题T1包含100个tag,分布为t1-k(k取值1-100),分别为t1-1,t1-2,……,t1-100,这100个tag的权重分别为w1-k(k取值1-100),即w1-1,w1-2,……,w1-100;文章的标签ti和这100个tag的余弦距离分别为根据文章A修正后的点击率,通过前述公式(7)实现对主题中的第k个标签t1-k(k取值在1-100之间)的权重更新。
通过公式(7)可以看出更新后的权重反映了标签原来的权重和当前时间段用户关注文章对主题的反馈(影响)文章的点击率通过与“文章所包含的tag的权重、文章属于主题的程度以及其所含tag和主题内tag的相似度”的乘积,对主题中标签的权重进行反馈。
如果文章所属于主题没有包含文章的所有tag,则将文章的tag添加到主题中,并以文章内tag的权重作为主题内相应tag的权重,最终参与主题内全部tag权重的排序,经过tag权重更新后,再次按照tag的权重排序,取前100个tag代表主题。
以上是文章的主题更新方式,通过在主题模型中记录文章的主题,并根据文章的关注数据实时/定期更新文章的主题。实际推荐应用中,可以将被点击的文章以及相近主题的文章进行缓存,以在需要向用户推荐文章时快速查询。
为了保证线上运行的效率,可以将文章相近的多个主题的文章缓存在Redis数据库中,Redis为快速读取键值对的存储***,具体地,首先将所有文章(包含当前文章池的有效文章和已经失去时效性的文章)映射到所述相近的多个主题,并获取文章和相近主题的相似程度,进行Redis存储时,键值(key)部分是文章池的所有文章(包括失效和有效的文章)的索引,内容值(value)部分则仅存储了与索引的文章的相近主题(例如5个)的未失效文章;在key-value关系中,value中存储了与key代表的文章相近的多个主题的文章,并且是未失效的文章;如此,保证了推荐的文章都是当前有效的文章。
在实际实施时,由于和用户点击文章相关的文章可能会过多,不利于存储和线上推荐,可以将和文章相关的文章进行排序,排序的依据为键值文章隶属于主题的分数乘以内容值文章隶属于主题的分数。
示例性地,对于任意一篇用户点击的文章,选取其对应的5个主题内的全部文章,将用户点击的文章属于相应主题的分数对应乘以主题内可用文章属于相应主题的分数,按照分数从高到底排序,取排名靠前的预设数量(如50个)的文章作为此文章的相关文章。
示例性地,用户点击文章A,相近主题为T1-T5,每个主题各有100篇相近的文章,对于相近文章1-100(属于T1),计算文章A属于T1的分数,乘相近文件1属于T1的分数,以此类推,得到500篇相近文章的分数,根据分数进行排序,取前50个文章。
当接收到用户请求,进行线上进行推荐时,首先拉取用户过去点击过的文章,然后从Redis中key部分查询点击过的文章,在对应的value部分读取点击过文章的相关的预设数量个主题的文章,将这些相关文章作为用户潜在感兴趣的文章作为召回文章返回到推荐***;推荐***的排序模块和重排序模块结合用户画像、文章内容和当前上下文信息(如网络:wifi或蜂窝;地理位置,调整文章显示的样式,例如,对于wifi环境使用尺寸相对大的样式),对所有召回文章进行排序和位置优化,将最终形成的文章列表推荐给用户。
继续对本发明实施例提供的文章推荐装置行说明。参见图3,本发明实施例提供的文章推荐装置655包括:
主题分配模块6551,用于为文章库中的文章分配所归属的主题;
第一确定模块6552,用于根据所述文章对应用户的关注数据,确定所述用户的关注行为对与所述文章相符的主题的影响程度;
主题更新模块6553,用于根据所述影响程度,更新与所述文章相符的主题;
列表获取模块6554,用于获取用户的文章列表;
第二确定模块6555,用于在所述文章库中文章所归属的主题中,确定与所述文章列表中文章相符的主题;
文章推荐模块6556,用于获取所述文章库中归属于与所述文章列表中文章相符的主题的文章,并根据所获取的文章执行推荐操作。
在一些实施例中,所述主题分配模块包括:
构建单元,用于获取所述文章库中每个文章归属的主题所包括多个的标签、以及所述标签对应的权重,构建权重矩阵;
分解单元,用于对所述权重矩阵进行分解操作,得到每个文章对应的文章向量、以及每个文章包括的多个标签各自对应的标签向量;
聚类单元,用于基于所述文章库中的文章各自对应的文章向量进行聚类处理,得到所述文章库中的文章各自归属的主题。
在一些实施例中,所述构建单元,还用于确定所述文章库中每个文章所包括的词语各自对应的得分;
根据所述词语的得分在每个文章中选择满足得分条件的词语作为相应文章包括的标签;
将所述每个主题中的文章包括的标签,根据对应所述标签的权重进行降序地排序;
确定排序在前的设定数量或比例的标签为所述主题包括的标签,并将所述标签对应相应文章的得分作为所述标签的权重。
在一些实施例中,所述构建单元,还用于确定所述文章库中每个文章所包括的词语在所归属文章中的词频、以及所述词语在所述文章库中的逆向文件频率;
确定所述词频和所述逆向文件频率的乘积为所述词语对应的得分。
在一些实施例中,所述构建单元,还用于当所述每个主题中至少两个文章包括相同的标签时,将所述相同的标签对应所述至少两个文章的权重加和确定为新权重;
将所述相同的标签对应的新权重、以及每个主题中文章的独有的标签对应的权重,进行降序地排序。
在一些实施例中,所述第一确定模块,还用于根据所述文章的关注数据,确定所述用户的关注行为所表征的对所述文章的关注程度;
遍历与所述文章相符的主题以执行以下处理:
将所述文章归属于当前遍历主题的得分(可能性的量化表示)、以及所述标签与当前遍历主题包括的标签之间的相似度进行乘积,并以所述文章包括的标签在所述文章中的重要程度为权重系数,对所述乘积进行加权;
将加权结果与所述关注程度的乘积,作为所述用户的关注行为对当前遍历主题中各个标签的影响程度。
在一些实施例中,所述第一确定模块,还用于根据所述关注数据包括的对应所述文章的点击数据和曝光数据,确定所述文章的点击率,或者
根据所述关注数据包括的对应所述文章的评论数据和曝光数据,确定所述文章的评价率。
在一些实施例中,所述装置还包括:
调整模块,用于在根据所述文章的关注数据确定所述文章的关注程度之后,
调整所述关注程度的取值与所述关注数据的置信度相适配。
在一些实施例中,所述主题更新模块,还用于将与所述文章相符的主题中每个标签的权重,与所述文章相符的主题对应确定的影响程度进行加和,得到每个标签更新的权重。
在一些实施例中,所述主题更新模块,还用于当与所述文章相符的主题未包括所述文章的全部标签时,将未包括的标签以及对应的权重添加到与所述文章相符的主题;
将与所述文章相符的主题包括标签根据对应的权重进行降序地排序,根据排序结果删除部分标签。
在一些实施例中,所述第二确定模块,还用于确定所述文章列表中文章对应的文章向量,与所述文章库中文章所归属的多个主题对应的主题向量之间的相似度;
确定相似度满足相似度条件的主题为与所述文章列表中文章相符的主题。
在一些实施例中,所述主题推荐模块包括:
查询单元,用于查询所述文章库,得到归属于与所述文章列表中文章相符的多个主题、且满足时效条件的有效文章;
计算单元,用于将所述有效文章归属于相应主题的得分,与所述有效文章属于相应主题的得分进行乘积,得到所述有效文章的新的得分;
排序单元,用于根据所述有效文章的新得分进行降序地排序,根据排序结果选择排序在前的部分有效文章以执行推荐操作。
这里需要指出的是:以上涉及装置的描述,与上述方法描述是类似的,同方法的有益效果描述,不做赘述,对于本发明实施例所述装置中未披露的技术细节,请参照本发明方法实施例的描述。
本发明实施例还提供了一种电子设备,所述电子设备包括:
存储器,用于存储可执行程序;
处理器,用于执行所述存储器中存储的可执行程序时,实现本发明实施例提供的上述文章推荐方法。
本发明实施例还提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本发明实施例提供的文章推荐方法。
应用本发明实施例具有以下有益技术效果:
1)基于注意力机制的动态主题模型,首先从线上拉取了当前文章池中文章及其对应的tag,采用矩阵分解的方式获得文章向量和tag向量。然后基于文章向量采用k均值聚类的方式进行了主题划分,对主题内的文章tag进行提取和统计,用频率较高(例如频率排序在前的设定数量(100)/比例的)的tag代表每个主题,实现对文章和标签的精准表示。
2)实现了主题的自适应调整,以线上实际的点击数据(例如点击量/点击率)为基础,采用基于注意力机制的方式对主题内的tag权重进行更新。每一篇文章属于一个主题的可能性由文章自身的tag向量和各个主题中心向量的相似度(例如余弦距离)代表。
3)线上进行文章推荐时,基于用户过去阅读(或关注)文章所属的主题,进行(与文章所属主题相近的)主题(例如5个)内文章的推荐。由于主题模型能够自适应更新,因此能够迅速的获得当前文章池的主题分布,并能够基于此进行文章推荐。这使得文章的推荐更加符合用户的兴趣,提高了主题模型召回的准确度,提升了用户体验。
实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、随机存取存储器(RAM,Random Access Memory)、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、RAM、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。

Claims (15)

1.一种文章推荐方法,其特征在于,所述方法包括:
为文章库中的文章分配所归属的主题;
根据所述文章对应用户的关注数据,确定所述用户的关注行为对与所述文章相符的主题的影响程度;
根据所述影响程度,更新与所述文章相符的主题;
获取用户的文章列表;
在所述文章库中文章所归属的主题中,确定与所述文章列表中文章相符的主题;
获取所述文章库中归属于与所述文章列表中文章相符的主题的文章,并根据所获取的文章执行推荐操作。
2.根据权利要求1所述的方法,其特征在于,所述为文章库中的文章分配所归属的主题,包括:
获取所述文章库中每个文章归属的主题所包括多个的标签、以及所述标签对应的权重,构建权重矩阵;
对所述权重矩阵进行分解操作,得到每个文章对应的文章向量、以及每个文章包括的多个标签各自对应的标签向量;
基于所述文章库中的文章各自对应的文章向量进行聚类处理,得到所述文章库中的文章各自归属的主题。
3.根据权利要求2所述的方法,其特征在于,获取所述文章库中每个文章归属的主题所包括多个的标签、以及所述标签对应的权重,包括:
确定所述文章库中每个文章所包括的词语各自对应的得分;
根据所述词语的得分在每个文章中选择满足得分条件的词语作为相应文章包括的标签;
将所述每个主题中的文章包括的标签,根据对应所述标签的权重进行降序地排序;
确定排序在前的设定数量或比例的标签为所述主题包括的标签,并将所述标签对应相应文章的得分作为所述标签的权重。
4.根据权利要求3所述的方法,其特征在于,所述确定所述文章库中每个文章所包括的词语各自对应的得分,包括:
确定所述文章库中每个文章所包括的词语在所归属文章中的词频、以及所述词语在所述文章库中的逆向文件频率;
确定所述词频和所述逆向文件频率的乘积为所述词语对应的得分。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当所述每个主题中至少两个文章包括相同的标签时,将所述相同的标签对应所述至少两个文章的权重加和确定为新权重;
将所述相同的标签对应的新权重、以及每个主题中文章的独有的标签对应的权重,进行降序地排序。
6.根据权利要求1所述的方法,其特征在于,所述根据所述文章对应用户的关注数据,确定所述用户的关注行为对与所述文章相符的主题的影响程度,包括:
根据所述文章的关注数据,确定所述用户的关注行为所表征的对所述文章的关注程度;
遍历与所述文章相符的主题以执行以下处理:
将所述文章归属于当前遍历主题的得分、以及所述文章的标签与当前遍历主题包括的标签之间的相似度进行乘积,并以所述文章包括的标签在所述文章中的重要程度为权重系数,对所述乘积进行加权;
将加权结果与所述关注程度的乘积,作为所述用户的关注行为对当前遍历主题中各个标签的影响程度。
7.根据权利要求6所述的方法,其特征在于,所述根据所述文章的关注数据,确定所述用户的关注行为所表征的对所述文章的关注程度,包括:
根据所述关注数据包括的对应所述文章的点击数据和曝光数据,确定所述文章的点击率;或者,
根据所述关注数据包括的对应所述文章的评论数据和曝光数据,确定所述文章的评价率。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在根据所述文章的关注数据确定所述文章的关注程度之后,调整所述关注程度的取值与所述关注数据的置信度相适配。
9.根据权利要求1所述的方法,其特征在于,所述根据所述影响程度,更新与所述文章相符的主题,包括:
将与所述文章相符的主题中每个标签的权重,与所述文章相符的主题对应确定的影响程度进行加和,得到每个标签更新的权重。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
当与所述文章相符的主题未包括所述文章的全部标签时,将未包括的标签以及对应的权重添加到与所述文章相符的主题;
将与所述文章相符的主题包括标签根据对应的权重进行降序地排序,根据排序结果删除部分标签。
11.根据权利要求1所述的方法,其特征在于,所述在所述文章库中文章所归属的主题中,确定与所述文章列表中文章相符的主题,包括:
确定所述文章列表中文章对应的文章向量,与所述文章库中文章所归属的多个主题对应的主题向量之间的相似度;
确定相似度满足相似度条件的主题为与所述文章列表中文章相符的主题。
12.根据权利要求1所述的方法,其特征在于,所述获取所述文章库中归属于所述相符的主题的文章,并根据所获取的相符的主题的文章执行推荐操作,包括:
查询所述文章库,得到归属于与所述文章列表中文章相符的多个主题、且满足时效条件的有效文章;
将所述有效文章归属于相应主题的得分,与所述有效文章属于相应主题的得分进行乘积,得到所述有效文章的新的得分;
根据所述有效文章的新得分进行降序地排序,根据排序结果选择排序在前的部分有效文章以执行推荐操作。
13.一种文章推荐装置,其特征在于,所述装置包括:
主题分配模块,用于为文章库中的文章分配所归属的主题;
第一确定模块,用于根据所述文章对应用户的关注数据,确定所述用户的关注行为对与所述文章相符的主题的影响程度;
主题更新模块,用于根据所述影响程度,更新与所述文章相符的主题;
列表获取模块,用于获取用户的文章列表;
第二确定模块,用于在所述文章库中文章所归属的主题中,确定与所述文章列表中文章相符的主题;
文章推荐模块,用于获取所述文章库中归属于与所述文章列表中文章相符的主题的文章,并根据所获取的文章执行推荐操作。
14.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至12中任一项所述的文章推荐方法。
15.一种存储介质,其特征在于,所述存储介质存储有可执行指令,用于引起处理器执行时,实现权利要求1至12中任一项所述的文章推荐方法。
CN201910759959.6A 2019-08-16 2019-08-16 文章推荐方法、装置、电子设备及存储介质 Active CN110472016B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910759959.6A CN110472016B (zh) 2019-08-16 2019-08-16 文章推荐方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910759959.6A CN110472016B (zh) 2019-08-16 2019-08-16 文章推荐方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN110472016A true CN110472016A (zh) 2019-11-19
CN110472016B CN110472016B (zh) 2024-04-12

Family

ID=68510879

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910759959.6A Active CN110472016B (zh) 2019-08-16 2019-08-16 文章推荐方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN110472016B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111651584A (zh) * 2020-04-17 2020-09-11 世纪保众(北京)网络科技有限公司 一种基于用户行为特征及文章属性的保险文章推荐方法
CN111753151A (zh) * 2020-06-24 2020-10-09 广东科杰通信息科技有限公司 一种基于互联网用户行为的服务推荐方法
CN112182414A (zh) * 2020-08-13 2021-01-05 亿存(北京)信息科技有限公司 文章推荐方法、装置及电子设备
CN113032556A (zh) * 2019-12-25 2021-06-25 厦门铠甲网络股份有限公司 一种基于自然语言处理形成用户画像的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130218960A1 (en) * 2012-02-20 2013-08-22 Yahoo! Inc. Method and system for providing a structured topic drift for a displayed set of user comments on an article
CN107103049A (zh) * 2017-03-31 2017-08-29 努比亚技术有限公司 一种推荐方法及网络设备
CN107992542A (zh) * 2017-11-27 2018-05-04 中山大学 一种基于主题模型的相似文章推荐方法
CN109885674A (zh) * 2019-02-14 2019-06-14 腾讯科技(深圳)有限公司 一种主题标签的确定、信息推荐方法及装置
CN109885773A (zh) * 2019-02-28 2019-06-14 广州寄锦教育科技有限公司 一种文章个性化推荐方法、***、介质及设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130218960A1 (en) * 2012-02-20 2013-08-22 Yahoo! Inc. Method and system for providing a structured topic drift for a displayed set of user comments on an article
CN107103049A (zh) * 2017-03-31 2017-08-29 努比亚技术有限公司 一种推荐方法及网络设备
CN107992542A (zh) * 2017-11-27 2018-05-04 中山大学 一种基于主题模型的相似文章推荐方法
CN109885674A (zh) * 2019-02-14 2019-06-14 腾讯科技(深圳)有限公司 一种主题标签的确定、信息推荐方法及装置
CN109885773A (zh) * 2019-02-28 2019-06-14 广州寄锦教育科技有限公司 一种文章个性化推荐方法、***、介质及设备

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113032556A (zh) * 2019-12-25 2021-06-25 厦门铠甲网络股份有限公司 一种基于自然语言处理形成用户画像的方法
CN111651584A (zh) * 2020-04-17 2020-09-11 世纪保众(北京)网络科技有限公司 一种基于用户行为特征及文章属性的保险文章推荐方法
CN111753151A (zh) * 2020-06-24 2020-10-09 广东科杰通信息科技有限公司 一种基于互联网用户行为的服务推荐方法
CN111753151B (zh) * 2020-06-24 2023-09-15 广东科杰通信息科技有限公司 一种基于互联网用户行为的服务推荐方法
CN112182414A (zh) * 2020-08-13 2021-01-05 亿存(北京)信息科技有限公司 文章推荐方法、装置及电子设备

Also Published As

Publication number Publication date
CN110472016B (zh) 2024-04-12

Similar Documents

Publication Publication Date Title
Reddy et al. Content-based movie recommendation system using genre correlation
WO2021159776A1 (zh) 基于人工智能的推荐方法、装置、电子设备及存储介质
CN110472016A (zh) 文章推荐方法、装置、电子设备及存储介质
US9552555B1 (en) Methods, systems, and media for recommending content items based on topics
Balakrishnan et al. Collaborative ranking
CN109902708A (zh) 一种推荐模型训练方法及相关装置
CN102591942B (zh) 一种应用自动推荐的方法及装置
CN110532479A (zh) 一种信息推荐方法、装置及设备
CN110321422A (zh) 在线训练模型的方法、推送方法、装置以及设备
Lai et al. Sparse learning-to-rank via an efficient primal-dual algorithm
CN110378434A (zh) 点击率预测模型的训练方法、推荐方法、装置及电子设备
CN105723402A (zh) 用于确定社交数据网络中的影响者的***和方法
CN112052387B (zh) 一种内容推荐方法、装置和计算机可读存储介质
CN110909182A (zh) 多媒体资源搜索方法、装置、计算机设备及存储介质
CN107038184B (zh) 一种基于分层隐变量模型的新闻推荐方法
Tsai et al. Mobile social media networks caching with convolutional neural network
CN106815310A (zh) 一种对海量文档集的层次聚类方法及***
Zhuang et al. Data summarization with social contexts
CN106484889A (zh) 网络资源的泛搜索方法和装置
Huang et al. Personalized micro-video recommendation via hierarchical user interest modeling
CN114254615A (zh) 组卷方法、装置、电子设备和存储介质
CN106844365A (zh) 一种应用分发平台的应用信息推送方法和装置
Qin A Survey of Long‐Tail Item Recommendation Methods
Kang et al. Friend relationships recommendation algorithm in online education platform
You et al. Clustering method based on genre interest for cold-start problem in movie recommendation

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20221118

Address after: 1402, Floor 14, Block A, Haina Baichuan Headquarters Building, No. 6, Baoxing Road, Haibin Community, Xin'an Street, Bao'an District, Shenzhen, Guangdong 518133

Applicant after: Shenzhen Yayue Technology Co.,Ltd.

Address before: Room 1601-1608, Floor 16, Yinke Building, 38 Haidian Street, Haidian District, Beijing

Applicant before: Tencent Technology (Beijing) Co.,Ltd.

GR01 Patent grant
GR01 Patent grant