具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)推荐系统:推荐系统是一种以用户交互数据为基础的关联用户和物品的一种工具,它能够在纷繁的物品中帮助用户筛选他们感兴趣的信息,为用户提供个性化的信息服务。
2)新闻个性化推荐:利用数据处理和分析算法,挖掘用户现有的和潜在的兴趣点,为不同用户推荐其感兴趣的新闻资讯。
3)倒排索引:倒排索引用于根据属性的值来查找记录。例如在文章系统中,正排索引中每个文章对应了多个属性,如一级分类信息、二级分类信息、发布作者。倒排索引则是以属性为查询条件,比如根据二级分类,查询这个分类下的文章。
4)用户画像信息:作为大数据的根基,完美地抽象出一个用户的信息全貌,为进一步精准、快速地分析用户行为习惯、消费习惯等重要信息,提供了足够的数据基础,奠定了大数据时代的基石。比如,针对某一个用户的画像信息为:男,31岁,已婚,收入1万以上,爱美食,团购达人,喜欢红酒配香烟等。如果用一句话来描述,即:用户信息标签化。用户画像信息是指根据用户的属性、用户偏好、生活习惯和用户行为等信息而抽象出来的标签化用户模型。简而言之,就是给用户打标签,而标签是通过对用户信息分析而来的高度精炼的特征标识。通过打标签可以利用一些高度概括或容易理解的特征来描述用户,可以让人更容易理解用户,并且可以方便计算机处理。
5)区块链(Blockchain):由区块(Block)形成的加密的、链式的交易的存储结构。
6)区块链网络(Blockchain Network):通过共识的方式将新区块纳入区块链的一系列的节点的集合。
在相关技术中,在新闻推荐系统中,一般分为召回模块、排序(rank)模块、重排序(rerank)模块和画像模块。召回模块负责为用户尽量多的召回其感兴趣的资讯。目前的召回算法可以简单分为几个大的类别:热点召回、兴趣召回、协同过滤类召回、地域召回等。进行兴趣类召回时,为了效率,会对用户的兴趣进行截取,比如,采用头部兴趣标签召回文章,或者是采用随机采样的方式选择索引词,以召回文章;这样,基于兴趣类的召回策略,以用户的画像信息中头部兴趣为基础进行倒排拉取文章,同时对拉取的文章进行头部截断,由于画像信息中用户的新兴趣出现在画像信息的尾部,所以召回的文章中不会涉及到新兴趣标签对应的文章;这使得新兴趣信息不能被有效利用,进而导致用户的新兴趣类型文章不能有效召回。而且用户的画像信息中会基于用户过去阅读的文章,累积用户的新兴趣,所以兴趣标签的分布一般是长尾数据,即用户有特别感兴趣的几个类别,同时也包含一些虽然喜欢但不是很强烈的兴趣。基于头部兴趣标签召回文章时,会使得中长尾兴趣的文章不能得到有效曝光。这样,基于头部兴趣从文章索引中拉取倒排数据,然后基于与用户的画像信息的相似性分数,对拉取到的文章进行排序,最后基于排序结构,截取头部文章作为召回文章,使得召回的文章被与头部兴趣匹配的文章挤占,推荐的目标文章领域狭窄,召回的文章同质性严重,影响了用户对资讯类产品的体验。
针对上述技术问题,本发明实施例提供一种文章推荐方法、装置、设备及存储介质,在接收到文章推荐请求的情况下,首先从待推荐对象的所有累积的画像信息中提取多个兴趣标签,比如,二级类兴趣和标签词汇兴趣;其次,对多个兴趣标签的权重进行排序,对排列序号通过非线性函数转化为采样的概率;再次,采用该概率对多个兴趣标签进行采样,这样通过采样的形式获取用于抽取文章的兴趣标签,使得采样不再依赖画像中严重不均匀的权重分布,以及中长尾采样的分布可控可调。接着,根据采样得到的索引词,从文章库中,查找至少包含一个索引词的候选文章,并按照候选文章与画像信息的相似度,对候选文章进行排序;再次,使用非线性函数将候选文章的排列序号转化为采样的概率,根据此概率对候选文章进行采样,得到待推荐的目标文章;最后,将该目标文章推荐给待推荐对象;这样,减少了召回文章的同质性,使得中长尾兴趣对应的文章有机会曝光。
下面说明本发明实施例提供的文章推荐的设备的示例性应用,本发明实施例提供的设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的用户设备,也可以实施为服务器。下面,将说明设备实施为设备或服务器时示例性应用。
参见图1,图1是本发明实施例提供的文章推荐系统的一个可选的架构示意图,为实现支撑一个示例性应用,首先,当接收到客户端10发送的推荐请求之后,从用户的画像信息11中,提取满足条件的多个兴趣标签12,比如,二级类兴趣标签或者tag兴趣标签等;然后,对多个兴趣标签12的权重进行排序,对排列序号通过非线性函数转化为采样的概率;再次,采用该概率对多个兴趣标签12进行采样,通过采样的形式获取用于抽取文章的兴趣标签,即索引词13,这样,采样不再依赖画像中严重不均匀的权重分布,使得中长尾采样的分布可控可调。接着,根据采样得到的索引词13,从文章库14中,查找至少包含一个索引词的候选文章15,并按照候选文章15与画像信息的相似度,对候选文章15进行排序;再次,使用非线性函数将候选文章的排列序号转化为采样的概率,根据此概率对候选文章进行采样,得到待推荐的目标文章16;最后,将该目标文章16推荐给待推荐对象;这样,减少了召回文章的同质性,使得画像信息的中长尾兴趣对应的文章也能够推荐给用户。
参见图2A,图2A是本发明实施例提供的文章推荐系统的另一个可选的架构示意图,包括区块链网络20(示例性示出了作为原生节点的服务器200)、监测系统30(示例性示出归属于监测系统30的设备300及其图形界面301),下面分别进行说明。
区块链网络20的类型是灵活多样的,例如可以为公有链、私有链或联盟链中的任意一种。以公有链为例,任何业务主体的电子设备例如用户设备和服务器,都可以在不需要授权的情况下接入区块链网络20;以联盟链为例,业务主体在获得授权后其下辖的电子设备(例如设备/服务器)可以接入区块链网络20,此时,成为区块链网络20中的一类特殊的节点即客户端节点。
需要指出地,客户端节点可以只提供支持业务主体发起交易(例如,用于上链存储数据或查询链上数据)功能,对于区块链网络20的原生节点的功能,例如下文所述的排序功能、共识服务和账本功能等,客户端节点可以缺省或者有选择性(例如,取决于业务主体的具体业务需求)地实现。从而,可以将业务主体的数据和业务处理逻辑最大程度迁移到区块链网络20中,通过区块链网络20实现数据和业务处理过程的可信和可追溯。
区块链网络20接收来自业务主体(例如图2A中示出的监测系统30)的客户端节点(例如,图2A中示出的归属于监测系统30的设备300)提交的交易,执行交易以更新账本或者查询账本,并在设备的用户界面(例如,设备300的图形界面301)显示执行交易的各种中间结果或最终结果。
下面以监测系统接入区块链网络以实现有害气体数据的上链为例说明区块链网络的示例性应用。
监测系统30的设备300接入区块链网络20,成为区块链网络20的客户端节点。设备300通过传感器获取推荐请求,并且从待推荐对象的画像信息中,提取多个兴趣标签,通过对多个兴趣标签进行采样,得到索引词集合;然后,通过索引词集合,从文章库中查找满足条件的候选文章集合,最后,通过对候选文章集合进行采样,得到待推荐的目标文章集合;并且,将目标文章集合传递给区块链网络20中的服务器200或者保存在设备300中;在已对设备300部署上传逻辑或用户进行操作的情况下,设备300根据待处理事项/同步时间查询请求,生成对应更新操作/查询操作的交易,在交易中指定了实现更新操作/查询操作需要调用的智能合约、以及向智能合约传递的参数,交易还携带了监测系统30签署的数字签名(例如,使用监测系统30的数字证书中的私钥,对交易的摘要进行加密得到),并将交易广播到区块链网络20。其中,数字证书可由监测系统30向认证中心31进行登记注册得到。
区块链网络20中的原生节点,例如服务器200在接收到交易时,对交易携带的数字签名进行验证,数字签名验证成功后,根据交易中携带的监测系统30的身份,确认监测系统30是否是具有交易权限,数字签名和权限验证中的任何一个验证判断都将导致交易失败。验证成功后签署原生节点自己的数字签名(例如,使用原生节点的私钥对交易的摘要进行加密得到),并继续在区块链网络20中广播。
区块链网络20中具有排序功能的节点接收到验证成功的交易后,将交易填充到新的区块中,并广播到区块链网络20中提供共识服务的节点。
区块链网络20中的提供共识服务的节点对新区块进行共识过程以达成一致,提供账本功能的节点将新区块追加到区块链的尾部,并执行新区块中的交易:对于提交待处理数据的处理结果的交易,更新状态数据库中目标文章集合对应的键值对;对于查询同步时间的交易,从状态数据库中查询同步时间对应的键值对,并返回查询结果。对于得到的同步时间,可显示于设备300的图形界面301中。
区块链网络20中的原生节点可从区块链中读取目标文章集合,并将目标文章集合呈现于原生节点的监测页面,原生节点也可以利用在区块链存储的画像信息,对推荐请求进行处理,比如,对请求推荐目标文章的推荐请求进行处理,通过对画像信息中至少两个兴趣标签进行采样,得到索引词,这样得到的索引词就会包括排列在尾部的新兴趣标签;然后,用索引词选择候选文章,对于候选文章,再次进行采样,得到目标文章;这样,得到的目标文章中,能够涉及到画像信息中排列在尾部的兴趣。
在实际应用中,可为区块链网络20的不同原生节点设置不同的功能,例如设置服务器200具有文章推荐功能和记账功能,比如,服务器对于设备端上传的推荐请求进行分析,以从待推荐对象的画像信息中,提取至少两个兴趣标签,并对多个兴趣标签进行采样,得到索引词集合;然后,通过索引词集合,从文章库中查找满足条件的候选文章集合,最后,通过对候选文章集合进行采样,得到待推荐的目标文章集合等。对于该情况,可在交易过程中,服务器200接收设备300发送的推荐请求,采用服务器200基于推荐请求,从待推荐对象的画像信息中,提取至少两个兴趣标签,通过对兴趣标签进行采样,得到用于选择目标文章的索引词,使得索引词中包含了位于画像信息尾部的新兴趣标签;从而,采用这样的索引词从文章库中选择候选文章,并且再次对候选文章进行采样,得到推荐给待推荐对象的目标文章;这样,得到的目标文章中既能够涉及到新兴趣标签,还可以减少同类文章的存在。
参见图2B,图2B是本发明实施例提供的文章推荐系统的结构示意图,图2B所示的设备400包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。设备400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2B中将各种总线都标为总线系统440。
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,在一些示例中键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(Read Only Memory,ROM),易失性存储器可以是随机存取存储器(Random Access Memory,RAM)。本发明实施例描述的存储器450旨在包括任意适合类型的存储器。
在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证、和通用串行总线(UniversalSerial Bus,USB)等;
呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本发明实施例提供的装置可以采用软件方式实现,图2B示出了存储在存储器450中的文章推荐的服务器455,其可以是程序和插件等形式的软件,包括以下软件模块:第一提取模块4551、第一采样模块4552、第一匹配模块4553、第一确定模块4554和第二采样模块4555;这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本发明实施例提供的装置可以采用硬件方式实现,作为示例,本发明实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的文章推荐方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(Application Specific Integrated Circuit,ASIC)、DSP、可编程逻辑器件(Programmable Logic Device,PLD)、复杂可编程逻辑器件(Complex ProgrammableLogic Device,CPLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或其他电子元件。
将结合本发明实施例提供的设备的示例性应用和实施,说明本发明实施例提供的文章推荐方法。
参见图3,图3是本发明实施例提供的文章推荐方法的实现流程示意图,结合图3示出的步骤进行说明。
步骤S301,从待推荐对象的画像信息中,提取至少两个兴趣标签。
在一些实施例中,所述待推荐对象可以是任意用户。所述画像信息为根据该用户指根据用户的属性、用户偏好、生活习惯、用户行为等信息而抽象出来的标签数据。在一些可能的实现方式中,从所述画像信息中,选择表征所述待推荐对象的兴趣领域的兴趣标签和表征所述待推荐对象的兴趣目标的兴趣标签,以得到所述至少两个兴趣标签。所述至少两个兴趣标签可以是不同类型或者相同类型的兴趣标签,比如,二级类兴趣标签或者tag(标签)兴趣标签等。所述二级类兴趣标签,可以理解为较粗粒度的表明用户兴趣所在的领域,tag兴趣标签可以理解为较细粒度的表明用户兴趣所在的具体实体,比如,某用户的二级类兴趣标签为娱乐明星,tag兴趣标签为刘德华。
步骤S302,根据每一所述兴趣标签的权重,对所述至少两个兴趣标签进行采样,得到索引词集合。
在一些实施例中,首先确定每一个兴趣标签的权重,并对这些权重进行排列,然后,将排列序号转化为采样概率,基于该采样概率从至少两个兴趣标签中采样到预设数量的索引词,得到索引词集合。所述索引词用于作为召回用户感兴趣的文章。
步骤S303,确定与索引词集合中的索引词相匹配的候选文章集合。
在一些实施例中,从文章库中,查找包含至少一个所述索引词的候选文章集合。所述文章库中包含大量的文章,基于该索引词,从中查找与索引词匹配的候选文章,以得到候选文章集合。
步骤S304,确定所述候选文章集合中每一候选文章与所述画像信息之间的匹配度。
在一些实施例中,对于每一个候选文章,确定候选文章与画像信息之间的匹配度,包括两种方式:
方式一:首先:从所述画像信息中,确定与所述候选文章相匹配的兴趣标签。
在一些实施例中,画像信息中包含大量的兴趣标签,比如,一级兴趣标签、二级兴趣标签和tag兴趣标签等。从这些兴趣标签中,确定与候选文章相匹配的兴趣标签;比如,候选文章是娱乐类文章,那么与之匹配的画像信息中的兴趣标签为娱乐标签。
其次,基于所述相匹配的兴趣标签的数量,确定所述候选文章与所述画像信息之间的匹配度。
比如,相匹配的兴趣标签的数量越大,确定所述候选文章与所述画像信息之间的匹配度越大;这样,能够针对每一个候选文章确定一个相应的匹配度。
方式二:首先:确定所述画像信息中与所述候选文章相匹配的兴趣标签的权重。
其次,基于所述相匹配的兴趣标签的权重,确定所述候选文章与所述画像信息之间的匹配度。
比如,将候选文章的兴趣标签也同样分为:一级类兴趣标签、二级类兴趣标签和tag兴趣标签,如果候选文章的一级类标签和画像信息的兴趣标签匹配,则根据画像信息中该一级类兴趣标签的权重为此文章进行加权。从而为每一个候选文章确定一个匹配度。
步骤S305,根据所述匹配度,对所述候选文章集合进行采样,得到待推荐的目标文章集合。
在一些实施例中,基于所述匹配度对候选文章进行排序,然后,将排列序号转化为采样概率,基于该采样概率对候选文件集合中的候选文章进行采样,得到满足预设数量的目标文章,最后,将该目标文章推荐给待推荐对象。
在本发明实施例中,通过对多个兴趣标签进行采样,得到用于抽取文章的索引词,这样,得到的索引词中会包括排列在画像信息尾部的新兴趣词汇;然后,用索引词从文章库中选择候选文章,通过对候选文章进行再次采样,得到最终待推荐的目标文章,这样,得到的目标文章中,能够涉及到画像信息中排列在尾部的兴趣,从而将包含画像信息尾部的兴趣对应的文章的目标文章集合反馈给待推荐对象。
在一些实施例中,为了使得到的索引词集合中涵盖画像信息尾部的兴趣标签,所述步骤S302可以通过以下步骤实现,图4A是本发明实施例提供的文章推荐方法的另一实现流程示意图,结合图3进行以下说明:
步骤S401,对所述兴趣标签的权重进行排序,得到第一排序结果。
比如,按照权重从大到小的顺序,对所述兴趣标签的权重进行排序,得到第一排序结果。或者,按照权重从小到大的顺序,对所述兴趣标签的权重进行排序,得到第一排序结果。
步骤S402,根据所述第一排序结果,确定第一采样概率。
在一些实施例中,所述步骤S402可以通过以下步骤实现:
第一步,确定所述第一排序结果中的每一排列序号与第一预设调整量的第一差值。
比如,第一排序结果中包含10个兴趣标签的排列序号,假设权重最大的排列在第一个,随着序号的增大,权重依次变小,分别确定每一个排列序号i与第一预设调整量p1的差值i-p1,即第一差值。
第二步,确定每一所述第一差值与第二预设调整量的第一比例。
第三步,基于所述第一比例和预设基数,确定所述第一采样概率。
比如,设定预设基数为1,基于该比例和预设基数,得到第一采样概率,如此,将每一个兴趣标签的权重转化为了采样概率。
从上述第一步至第三步可以看出,如果按照权重从大到小进行排序,兴趣标签的权重越大,排列序号越小,对应的第一采样概率越大,说明该兴趣标签被采到的可能性越大,同样,兴趣标签的权重越小,被采到的可能性越小,但是,仍然是可能被采到的,从而使得用户的新兴趣也能够被采样到,使得索引词集合中涵盖到用户的新兴趣标签。
步骤S403,采用所述第一采样概率对所述至少两个兴趣标签进行采样,得到索引词集合。
在本发明实施例中,通过将权重转化为采样概率,然后利用采样概率在多个兴趣标签中进行采样,使得到索引词集合中既包括用户非常感兴趣的兴趣标签和用户的新兴趣,丰富了索引词集合的范围。
在一些实施例中,为了使得目标文章集合中涵盖画像信息尾部的兴趣标签对应的文章,所述步骤S305可以通过以下步骤实现,图4B是本发明实施例提供的文章推荐方法的又一实现流程示意图,结合图3进行以下说明:
步骤S421,对所述候选文章与所述画像信息之间的匹配度进行排序,得到第二排序结果。
比如,按照匹配度从大到小,进行排序,得到第二排序结果。
步骤S422,根据所述第二排序结果,确定第二采样概率。
在一些实施例中,所述步骤S422可以通过以下步骤实现:
第一步,确定所述第二排序结果中每一排列序号与第三预设调整量的第二差值。
比如,第二排序结果中包含10个候选文章的排列序号,假设匹配度最大的排列在第一个,随着序号的增大,匹配度依次变小,分别确定每一个排列序号i与第三预设调整量p3的差值i-p3,即第二差值。
第二步,确定每一所述第二差值与第四预设调整量的第二比例。
第三步,基于所述第二比例和预设基数,确定所述第二采样概率。
比如,设定预设基数为1,基于该比例和预设基数,得到第二采样概率,如此,将每一个候选文章的匹配度转化为了采样概率。
从上述第一步至第三步可以看出,如果按照匹配度从大到小进行排序,候选文章的匹配度越大,排列序号越小,对应的第二采样概率越大,说明该候选文章被采到的可能性越大,同样,候选文章的匹配度越小,被采到的可能性越小,但是,仍然是可能被采到的,从而使得用户的新兴趣匹配的候选文章也能够被采样到,使得目标文章集合中涵盖到用户的新兴趣标签对应的文章,而且,通过对候选文章进行采样,使得每次推荐的目标文章都有所不同,避免同一个劣质文章重复推送,提升了用户体验。
步骤S423,采用所述第二采样概率对所述候选文章集合进行采样,得到所述待推荐的目标文章集合。
在一些实施例中,为了进一步的目标文章进行筛选,以使得推荐给用户的目标文章更加符合用户的兴趣,在步骤S305之后,所述方法还包括以下步骤:
步骤S351,按照所述目标文章与所述画像信息之间的匹配度,对所述目标文章集合中的目标文章进行排序。
比如,按照目标文章与所述画像信息之间的匹配度从大到小,对目标文章进行排序。
步骤S352,根据排序后的目标文章的内容,对排序后的目标文章集合进行筛选,得到筛选后的目标文章集合。
在一些实施例中,首先,确定排列序号不同的目标文章中内容的相似度;比如,确定相邻的目标文章中内容的相似度。然后,确定相似度大于相似度阈值的相似目标文章的数量;比如,确定相似度大于30%的相似目标文章的数量。最后,如果所述数量不在预设数量范围内,对所述相似目标文章进行删减,以使所述相似目标文章的数量在预设数量范围内,以得到所述筛选后的目标文章集合。比如,如果数量超过3,对相似目标文章进行删减,仅保留一个相似目标文章,在删减的过程中,可以将匹配度较低的相似目标文章进行删减,保留匹配度最高的相似目标文章,这样,将整个目标文章集合中的目标文章筛选一遍,得到最后推荐给用户的筛选后的目标文章集合;如此,降低了推荐的目标文章中重复内容,以提升用户体验感。
步骤S353,输出所述筛选后的目标文章集合。
在一些实施例中,将筛选后的目标文章集合推荐给用户,以使用户根据文章标题索引或者根据自身兴趣点击相应的文章。
在其他实施例中,将筛选后的目标文章推荐给用户之后,还包括以下步骤:首先,获取所述筛选后的目标文章的浏览信息。比如,获取用户点击的筛选后的目标文章,以及该目标文章中包含的兴趣标签和所属的类型等。然后,根据所述浏览信息,对所述画像信息进行更新,得到更新的画像信息。
在一些实施例中,从浏览信息中包含的兴趣标签和文章所属的类型,对画像信息进行更新,以丰富画像信息,使得后续为用户进行文章推荐时,能够推荐的更加全面。
下面,将说明本发明实施例在一个实际的应用场景中的示例性应用,以在新闻资讯中,为用户推荐感兴趣的文章为例,进行说明。
图5是本发明实施例文章推荐系统的组成结构示意图,如图5所示,新闻推荐系统共包含5个主要模块,分别为:画像模块501、召回模块502、排序模块503、重排序模块504和统计模块505,其中:
画像模块501,用于基于用户历史点击的文章和注册信息,累积和储存用户的长期兴趣、短期兴趣和一些基础信息,为召回和排序提供了依据。
召回模块502,用于从包含海量文章的文章库库中寻找用户潜在感兴趣的目标文章。
在一些实施例中,召回模块502中包括,用户的兴趣类召回和其他召回,即召回模块502可以用于针对用户的兴趣类进行召回,也可以针对用户的身份特征等其他类别进行文章或者其他推荐信息的召回。召回算法是文章池到用户兴趣文章的一个过滤器,为后续的排序提供了基础数据。
排序模块503,用于对目标文章进行排序。
重排序模块504,用于对排序后的目标文章进行筛选,得到最终程序给用户的文章。
重排序模块504为召回的文章进行排序并按照一定的规则呈现给用户。用户对推荐的文章进行浏览查看,比如,用户根据文章的题目和缩略图,或者根据自己的兴趣进行点击和进一步阅读。
统计模块505,用于针对用户阅读的推荐文章,将用户的阅读行为进行统计上报,以用于更新用户的画像信息。
在相关技术中,召回模块中的召回算法,基于用户累积的画像信息从文章索引池中拉取对应分类的文章。但是在相关技术中,基于兴趣的召回文章主要以画像信息的头部兴趣为基础,同时对拉取的文章按照与画像信息的相似度进行排序之后,截取排在头部的文章,进行召回。这使得中长尾兴趣和新兴趣召回不足,同时也使得文章同质化严重,不仅浪费了运算资源,也不能很好的挖掘用户兴趣,影响用户的体验效果。
为解决上述问题,本发明实施例提出一种文章推荐方法,将从画像信息中获得二级类兴趣标签和tag兴趣标签,分别基于权重进行排序,并基于排序的序号确定兴趣标签的采样概率,然后基于采样概率选择此次使用的索引词;这样,有效的考虑了画像信息中长尾类的兴趣标签,使得这些兴趣也可以召回文章。由于使用的是采样的方法,使得中长尾的兴趣在多次请求中均能有机会被使用功能。同时对于画像信息中的新兴趣,由于兴趣较新,此时一般对应的权重也较小,使用采样的方式使得新兴趣也能很快的起作用并进行文章召回;从而,避免了直接使用权重作为采样的概率的情况下,由于权重的分布不均匀,即画像信息中头部兴趣标签的权重占比非常高,后面的兴趣标签基本为长尾;导致的所召回的文章为头部兴趣标签对应的文章的。本发明实施例中,基于兴趣标签权重的排列序号,使用非线性函数,将该排列序号转化为采样的概率,这样,使得采样不再依赖画像信息中兴趣标签的严重不均匀的权重分布,也使得对于中长尾兴趣标签的分布可控可调。然后,基于采样选的索引词,从文章库中拉取对应的候选文章;确定候选文章与用户的画像信息的相似度;接下来,将候选文章基于相似度排序后,采用上述的非线性函数将相似度的排列序号转化为采样概率,基于该采样概率对候选文章进行采样,将采样后的文章作为召回结果,即待推荐的目标文章。这样,即保证了目标文章中包含了排列在画像信息尾部的新兴趣的文章,而且减少了召回文章的同质性,使得中长尾兴趣标签对应的文章有机会获得曝光机会。最后,将目标文章经过排序模块和重排序模块之后,呈现给用户。
图6是本发明实施例提供的文章推荐方法的实现流程示意图,结合图6所示的步骤,进行以下说明:
步骤S601,获取推荐请求。
在一些实施例中,该推荐请求可以是用户通过设备输入的用于召回目标文章的请求。
步骤S602,响应于推荐请求,从用户的画像信息中,提取多个兴趣标签。
在一些实施例中,所述步骤S602可以是,从画像系统中读取用户兴趣画像信息,从画像信息中,提取二级类兴趣标签和tag兴趣标签。在一个具体例子中,每个用户约包含20个左右的二级类兴趣标签,50个左右的tag兴趣标签。二级类兴趣标签的粒度更加粗,同时画像数据的头部所占比重比较较大,即,每个人有几个非常感兴趣的领域,如表1中的用户所示,用户前三个二级类兴趣占了总权重的50%。tag兴趣标签的粒度更加细致,但是也存在头部比重大的现象,如表2所示,排列在头部的前四个tag兴趣标签已经所占的权重已经大于30%。
表1用户画像信息中的二级类兴趣标签
互联网:0.202877 |
中国明星:0.184433 |
职场通用:0.110745 |
云计算:0.076299 |
通信:0.050539 |
中超:0.047691 |
o2o:0.045454 |
汽车产业:0.036818 |
无人驾驶:0.033136 |
英超:0.032611 |
cba:0.031175 |
车:0.031175 |
国内时政:0.014304 |
健身:0.013085 |
音乐:0.012985 |
减肥:0.010988 |
婚姻:0.010713 |
国际时政:0.005387 |
表2用户画像信息中的tag兴趣标签
由表1和表2可以看出,如果将用户的画像信息中兴趣标签全部作为索引词拉取文章,则会使得大量的文章被召回,召回准确性差,同时也会增加后续模块的运算压力,所以选择兴趣标签中的一部分作为索引词拉取文章。在相关技术中,选取画像信息的头部兴趣标签进行拉取文章,但是这会造成文章大量同质化,且不能照顾到画像信息的中长尾兴趣,尤其是新兴趣。基于此,本发明实施例对多个兴趣标签的权重进行排序,并将权重的排列序号转化为第一采样概率,从多个兴趣标签中采用预设数量的索引词,以用于召回文章;从而,有效的考虑了画像信息中的长尾类的兴趣标签,使得这些兴趣标签也可以召回文章。
步骤S603,对多个兴趣标签的权重进行排序。
比如,按照权重的从大到小,对多个兴趣标签的权重进行排序;这样,权重最大的兴趣标签排列在第一个。
步骤S604,根据权重的排列序号,确定第一采样概率。
在一些实施例中比如,采用公式(1),将排列序号i转化为一个采样概率P。
其中,p1和p2分别为设定的第一预设调整量和第二预设调整量,比如,设定p1=10,p2=2;当然也可以设定p1和p2为其他值。
在本发明实施例中,以20个二级类兴趣标签为样本,根据第一采样概率从该20个二级类兴趣标签中选取10个进行仿真实验,设定p1=10,p2=2;此时,排列序号与第一采样概率的对应关系,如图7A所示,从图7A中的曲线701可以看出,在排列序号为1处,采样概率接近为1,然后,采样概率逐渐下降,在排列序号为10时,采样概率下降最严重,在接近排列序号20的时候采样概率下降为0.1以下。接着,在本实施例中以同样的方式,对于50个tag类兴趣标签,采用该第一采样概率进行采样,选取10个的实验,设定p1=20,p2=4,此时排列序号与第一采样概率的对应关系如图7B所示,从图7B中的曲线702可以看出,曲线702的变化趋势与曲线701的变化趋势类似;即,tag类兴趣标签的排列序号与第一采样概率的对应关系,与,二级类兴趣标签的排列序号与第一采样概率的对应关系的变化趋势类似。比如,在排列序号为1处,采样概率接近为1,然后,采样概率逐渐下降,在排列序号为20时,采样概率下降最严重,在接近排列序号20的时候采样概率下降为0.1以下。
为了验证本实施例中采样方式的有效性,从上述20个二级类兴趣标签选取10个的实验进行模拟仿真。模拟方式为,首先,将每一个二级类兴趣标签的采样概率归一化(即,单个采样概率分别除以20个采样概率的总和),然后按照归一化之后的概率选取第一个二级兴趣(比如,随机选择,或者选择归一化概率较大的)。接着剔除已选择的兴趣标签,对剩余的二级类兴趣标签的采样概率重新归一化,然后,同样的方式选取下一个兴趣标签,直到选择完毕。图8A是本发明实施例排列序号与兴趣标签命中次数的对应关系图,在图8A中,对上述模拟方式进行了10000次仿真实验,从曲线801可以看出,画像信息中头部兴趣具有较高的命中率,但是尾部兴趣也有一定的概率被选择,从而有效地照顾了尾部样本的曝光,也有利于新兴趣的探索。
步骤S605,采用第一采样概率对多个兴趣标签进行采样,得到索引词集合。
在一些实施例中,所述索引词集合可以理解为是当前需要用于召回文章的兴趣标签。这样采用对权重转化之后的概率进行采样,可以避免由于权重分布非常不均匀导致的头部兴趣标签被大量全取的情况。
步骤S606,确定与索引词集合中的索引词相匹配的候选文章集合。
在一些实施例中,从包含海量文章的文章库中,利用索引词查找候选文章。利用采样选择的二级类兴趣标签和tag兴趣标签(即索引词),从文章库中选择候选文章,在索引词与文章库的对应关系,如表3所示,每一个索引词ID对应一串与之匹配的文章列表,即每个索引词中的兴趣标签ID对应一串与之匹配的ID列表。
步骤S607,根据所述候选文章与所述画像信息之间的匹配度,对候选文章进行排序。
比如,按照相似度从大到小,对候选文章进行排序。选择出候选文章之后,本发明实施例确定候选文章与画像信息的匹配度的方式为:采用了一级类兴趣标签、二级类兴趣标签和tag兴趣标签,如果候选文章的一级类标签和画像信息匹配,则根据画像信息中该一级类兴趣标签的权重为此文章进行加权。从而为每一个候选文章确定一个匹配度。
步骤S608,根据候选文章的排列序号,确定第二采样概率。
在一些实施例中,在相关技术中,将这些候选文章按照匹配度进行排序之后,截取前面匹配度最高M(M为设定的此次请求的文章数目)个候选文章的进行返回,即作为目标文章。这会造成与用户的画像信息匹配度高的头部文章在每次请求后均被召回,但是由于质量不好,每次得不到曝光;从而造成恶性循环,下次这类文章还会占据返回文章中的头部位置返回给用户,从而造成挤占运算资源,优质文章不能有效曝光。为了解决这个问题,本发明实施例采用了上述提及的采样方式,先对于候选文章的匹配度进行排序,然后将排列序号转换为第二采样概率,利用第二采样概率对候选文章进行采样,得到待推荐的目标文章;如此,得到的目标文章不仅包括头部兴趣对应的文章,还包括了尾部兴趣对应的文章,从而为用户提供更加优质的文章。
步骤S609,采用第二采样概率对候选文章进行采样,得到预设数量个目标文章。
比如,确定预设数量为10个,采用第二采样概率对这些候选文章进行采样,得到10个召回的文章。在一些实施例中,得到目标文章之后,对该目标文章进行筛选,比如,将内容相似度较高的多个文章进行删减,仅保留一个,最后,将删减之后的文章返回给用户,从而提高用户的体验感。
图8B是本发明实施例候选文章排列序号与采样概率的对应关系仿真图,在图8B中,假定倒排拉取了1000篇候选文章,从中选取300篇作为目标文章。设定第三预设调整量和第四预设调整量分别为p1=600,p2=100,候选文章排列序号与采样概率的对应关系,如曲线821所示,开始时候选文章的第二采样概率非常高,第二采样概率随着排列序号的变大逐渐减小,在排列序号为600的时候下降最快,最后,在排列序号为1000时概率下降到了0.1以下。同时为了验证本实施例中采样方式得到的目标文章的有效性,从上述1000个候选文章中选取300篇的实验进行模拟仿真。模拟方式为,首先,将每一个候选文章的采样概率归一化(即,单个采样概率分别除以1000个采样概率的总和),然后按照归一化之后的概率选取第一个候选文章(比如,随机选择,或者选择归一化概率较大的)。接着剔除已选择的候选文章,对剩余的候选文章的采样概率重新归一化,然后,同样的方式选取下一个候选文章,直到选择完毕。图8C是本发明实施例排列序号与候选文章命中次数的对应关系仿真图,在图8C中,对上述模拟方式进行了10000次仿真实验,从曲线831可以看出,头部兴趣对应的文章能被大量曝光,但是中长尾兴趣对应的文章也有一定的曝光概率,即尾部兴趣也具有较小曝光;这样就有效地挖掘了尾部兴趣匹配的文章,有利于小众文章的挖掘。
在本发明实施例中,在对用户进行推荐目标文章的过程中,充分考虑了中长尾的兴趣和文章;这使得推荐的目标文章更加全面,更有利于新兴趣的探索,而且提高了召回的目标文章的准确率和覆盖率;通过对目标文章进行按照相似度进行排序,以及对于排序后的目标文章采用重排序模块,进行筛选,以减少重复内容的文章,最后将筛选后的目标文章作为输出的结果,更加能代表用户兴趣,提高了用户体验。
下面继续说明本发明实施例提供的文章推荐的服务器455的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器450的文章推荐的服务器455中的软件模块可以包括:
第一提取模块4551,用于从待推荐对象的画像信息中,提取至少两个兴趣标签;
第一采样模块4552,用于根据每一所述兴趣标签的权重,对所述至少两个兴趣标签进行采样,得到索引词集合;
第一匹配模块4553,用于确定与索引词集合中的索引词相匹配的候选文章集合;
第一确定模块4554,用于确定所述候选文章集合中每一候选文章与所述画像信息之间的匹配度;
第二采样模块4555,用于根据所述匹配度,对所述候选文章集合进行采样,得到待推荐的目标文章集合。
在一些实施例中,所述第一提取模块4551,还用于:从所述画像信息中,选择表征所述待推荐对象的兴趣领域的兴趣标签和表征所述待推荐对象的兴趣目标的兴趣标签,以得到所述至少两个兴趣标签。
在一些实施例中,所述第一采样模块4552,还用于:对所述兴趣标签的权重进行排序,得到第一排序结果;根据所述第一排序结果,确定第一采样概率;采用所述第一采样概率对所述至少两个兴趣标签进行采样,得到索引词集合。
在一些实施例中,所述第一采样模块4552,还用于:确定所述第一排序结果中的每一排列序号与第一预设调整量的第一差值;确定每一所述第一差值与第二预设调整量的第一比例;基于所述第一比例和预设基数,确定所述第一采样概率。
在一些实施例中,第一确定模块4554,还用于:从所述画像信息中,确定与所述候选文章相匹配的兴趣标签;基于所述相匹配的兴趣标签的数量,确定所述候选文章与所述画像信息之间的匹配度。
在一些实施例中,第一确定模块4554,还用于:确定所述画像信息中与所述候选文章相匹配的兴趣标签的权重;基于所述相匹配的兴趣标签的权重,确定所述候选文章与所述画像信息之间的匹配度。
在一些实施例中,第二采样模块4555,还用于:对所述候选文章与所述画像信息之间的匹配度进行排序,得到第二排序结果;根据所述第二排序结果,确定第二采样概率;采用所述第二采样概率对所述候选文章集合进行采样,得到所述待推荐的目标文章集合。
在一些实施例中,第二采样模块4555,还用于:确定所述第二排序结果中每一排列序号与第三预设调整量的第二差值;确定每一所述第二差值与第四预设调整量的第二比例;基于所述第二比例和预设基数,确定所述第二采样概率。
在一些实施例中,第二采样模块4555,还用于:按照所述目标文章与所述画像信息之间的匹配度,对所述目标文章集合中的目标文章进行排序;根据排序后的目标文章的内容,对排序后的目标文章集合进行筛选,得到筛选后的目标文章集合;输出所述筛选后的目标文章集合。
在一些实施例中,第二采样模块4555,还用于:确定排列序号不同的目标文章中内容的相似度;确定相似度大于相似度阈值的相似目标文章的数量;如果所述数量不在预设数量范围内,对所述相似目标文章进行删减,以使所述相似目标文章的数量在预设数量范围内,以得到所述筛选后的目标文章集合。
在一些实施例中,第二采样模块4555,还用于:获取所述筛选后的目标文章的浏览信息;根据所述浏览信息,对所述画像信息进行更新,得到更新的画像信息。
本发明实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本发明实施例提供的方法。
在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(Hyper Text MarkupLanguage,HTML)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个车载计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备执行。
综上所述,本发明实施例在为用户推荐用户感兴的文章的过程中,首先,从待推荐对象的画像信息中,提取至少两个兴趣标签;然后,根据每一所述兴趣标签的权重,对所述至少两个兴趣标签进行采样,得到索引词集合;接下来,确定与索引词集合中的索引词相匹配的候选文章集合;并,确定所述候选文章集合中每一候选文章与所述画像信息之间的匹配度;最后,根据所述匹配度,对所述候选文章集合进行采样,得到待推荐的目标文章集合;如此,通过对多个兴趣标签进行采样,得到用于抽取文章的索引词,这样,得到的索引词中会包括排列在画像信息尾部的新兴趣标签;然后,用索引词从文章库中选择候选文章,通过对候选文章进行再次采样,得到最终待推荐的目标文章,这样,得到的目标文章中,能够涉及到画像信息中排列在尾部的兴趣,从而将包含与画像信息尾部的兴趣匹配的目标文章集合反馈给待推荐对象。
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。