内容推荐方法、装置、设备及介质
技术领域
本申请实施例涉及人工智能领域,特别涉及一种内容推荐方法、装置、设备及介质。
背景技术
相关推荐是扩展阅读的一种方式。相关推荐在用户已经阅读第一文章后,向用户推荐与第一文章相关的第二文章。
相关技术提供了一大批基于深度学习的推荐算法,主要以点击通过率(Click-Through-Rate,CTR)为导向进行推荐。将用户已经阅读的第一文章视为种子文章,根据种子文章召回候选文章集,采用深度学习模型对候选文章集中的多个候选文章按照CTR由高到低的顺序进行排序,选取排序位置靠前的一个或多个候选文章作为第二文章。客户端在第一文章的内容界面的界面底端,显示推荐的第二文章。
由于用户在阅读第一文章时,不一定会划到界面底端,因此难以保证第二文章曝光给用户。
发明内容
本申请实施例提供了一种内容推荐方法、装置、设备及介质,可以提供一种实时性的相关内容推荐方案,在用户阅读第一文章后,将第二文章实时插入至信息流中。所述技术方案如下:
根据本申请的一个方面,提供了一种内容推荐方法,所述方法包括:
向客户端发送信息流,所述信息流包括第一内容;
响应于所述客户端显示所述第一内容的内容界面,调用深度学习模型确定第二内容,所述第二内容是作为所述第一内容的相关内容进行推荐的;
向所述客户端发送所述第二内容,所述第二内容用于在所述第一内容的内容界面上触发返回操作后,增加显示在所述信息流中。
根据本申请的一个方面,提供了一种内容推荐方法,所述方法包括:
显示信息流中的第一内容;
响应于所述第一内容的触发操作,显示所述第一内容的内容界面;
响应于所述内容界面的返回操作,在所述信息流中增加显示第二内容,所述第二内容是作为所述第一内容的相关内容进行推荐的。
根据本申请的另一方面,提供了一种内容推荐装置,所述装置包括:
发送模块,用于向客户端发送信息流,所述信息流包括第一内容;
调用模块,用于响应于所述客户端显示所述第一内容的内容界面,调用深度学习模型确定第二内容,所述第二内容是作为所述第一内容的相关内容进行推荐的;
所述发送模块,还用于向所述客户端发送所述第二内容,所述第二内容用于在所述第一内容的内容界面上触发返回操作后,增加显示在所述信息流中。
根据本申请的另一方面,提供了一种内容推荐装置,所述装置包括:
显示模块,用于显示信息流中的第一内容;
交互模块,用于响应于所述第一内容的触发操作,显示所述第一内容的内容界面;
所述交互模块,还用于响应于所述内容界面的返回操作,在所述信息流中增加显示第二内容,所述第二内容是作为所述第一内容的相关内容进行推荐的。
根据本申请的另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的内容推荐方法。
根据本申请的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的内容推荐方法。
根据本申请的另一方面,提供了一种方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面提供的内容推荐方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过在用户阅读信息流中的第一内容后,将与第一内容相关的第二内容插入至信息流中进行展示,用户在返回信息流的用户界面时,即可查看到第二内容,从而解决了相关技术中将第二内容插入在第一文章的内容界面的界面底端,用户不一定会划到界面底端,因此难以保证第二文章曝光给用户的问题。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本申请一个示例性实施例提供的内容推荐方法的流程图;
图2是本申请一个示例性实施例提供的计算机系统的框图;
图3是本申请另一个示例性实施例提供的内容推荐方法的框架示意图;
图4是本申请另一个示例性实施例提供的内容推荐方法的流程图;
图5是本申请一个示例性实施例提供的内容推荐器的模型示意图;
图6是本申请另一个示例性实施例提供的内容推荐方法的流程图;
图7是本申请一个示例性实施例提供的内容推荐装置的框图;
图8是本申请一个示例性实施例提供的内容推荐装置的框图;
图9是本申请一个示例性实施例提供的计算机设备的框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先对本申请涉及的一些名词进行了简介:
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
信息流:也称feed流,是多个内容按照排序方式进行排序后进行展示的数据流。排序方式包括但不限于:按照时间线排序,按照兴趣度排序等。用户可上下滑动信息流,来查看信息流中的多个内容。
内容(Item):是指信息流中的单个单位的信息。内容包括但不限于:新闻、文章、图片、视频、短视频、图文结合的文章等。本实施例中,以内容为文章来举例说明。每个文章包括:文章标题、文章正文、文章作者、发表时间、配图中的一项或多项内容。在信息流中显示一个内容时,一般采用信息流中的一个盒子(box)来显示内容的摘要信息,比如文章标题、文章简介、文章作者和配图;在用户点击该盒子后,跳转到内容的内容界面,内容界面中显示有内容的详情信息。盒子(box)的表现形式可以是列表项、方框、菜单等。
本申请提供了一种实时性的相关内容推荐(Real-time RelevantRecommendation Suggestion,R3S)方案。该相关内容推荐方案采用深度学习网络实现,该深度学习网络包括:内容推荐器(Item Recommender,IR)和盒触发器(Box Trigger,BT)。如图1所示,在客户端上显示有信息流10,信息流10包括第一内容12和其它内容14。当用户点击第一内容12并进入第一内容12的内容界面进行阅读后,内容推荐器在后台对第一内容的多个相关内容(含第二内容16)进行排序,假设排序结果为第二内容排序在第一位。当用户完成第一内容12的阅读并退出第一内容的内容界面时,盒触发器根据用户对第一内容的喜好程度以及延迟成本,决定是否将第二内容16实时插入至信息流10中进行显示。当决定插入时,盒触发器将第二内容16插入至信息流10中,位于第一内容12和其它内容14之间的位置进行显示。
图2示出了本申请一个示例性实施例提供的计算机系统100的结构框图。该计算机系统100可以是一个即时通讯系统、新闻推送系统、购物系统、在线视频系统、短视频系统、基于话题或频道或圈子进行人群聚合的社交类客户端、或者具有社交属性的其它客户端系统,本申请实施例对此不加以限定。该计算机系统100包括:第一终端120、服务器集群140和第二终端160。
第一终端120通过无线网络或有线网络与服务器集群120相连。第一终端120可以是智能手机、游戏主机、台式计算机、平板电脑、电子书阅读器、MP3播放器、MP4播放器和膝上型便携计算机中的至少一种。第一设备120安装和运行有支持信息推荐的客户端。该客户端可以是即时通讯系统、新闻推送系统、购物系统、在线视频系统、短视频系统、基于话题或频道或圈子进行人群聚合的社交类客户端、或者具有社交属性的其它客户端系统的任意一种。第一终端120是第一用户使用的终端,第一终端120中运行的客户端内登录有第一帐号。
第一终端120通过无线网络或有线网络与服务器140相连。
服务器集群140包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。服务器集群140用于为支持信息推荐的客户端提供后台服务。可选地,服务器集群140承担主要计算工作,第一终端120和第二终端160承担次要计算工作;或者,服务器集群140承担次要计算工作,第一终端120和第二终端160承担主要计算工作;或者,服务器集群140、第一终端120和第二终端160三者之间采用分布式计算架构进行协同计算。
可选地,服务器集群140包括:接入服务器142和信息推荐服务器144。接入服务器142用于提供第一终端120以及第二终端160的接入服务和信息推荐服务,并将推荐的相关信息(文章、图片、音频、视频中的至少一项)从信息推荐服务器144发送给终端(第一终端120或第二终端160)。信息推荐服务器144可以是一台或多台。当信息推荐服务器144是多台时,存在至少两台信息推荐服务器144用于提供不同的服务,和/或,存在至少两台信息推荐服务器144用于提供相同的服务,比如以负载均衡方式提供同一种服务,本申请实施例对此不加以限定。在信息推荐服务器144中,设置有内容推荐器和盒触发器。
第二终端160安装和运行有支持信息推荐的客户端。该客户端可以是即时通讯系统、新闻推送系统、购物系统、在线视频系统、短视频系统、基于话题或频道或圈子进行人群聚合的社交类客户端、或者具有社交属性的其它客户端系统的任意一种。第二终端160是第二用户使用的终端。第二终端120的客户端内登录有第二帐号。
可选地,第一帐号和第二帐号处于虚拟社交网络中,该虚拟社交网络包括第一帐号和第二帐号之间的社交关系链。该虚拟社交网络可以是同一社交平台提供的,也可以是存在关联关系(比如授权登录关系)的多个社交平台协同提供的,本申请实施例对虚拟社交网络的具体形式不加以限定。可选地,第一帐号和第二帐号可以属于同一个队伍、同一个组织、具有好友关系或具有临时性的通讯权限。可选地,第一帐号和第二帐号也可以是陌生人关系。总之,该虚拟社交网络提供了第一帐号和第二帐号之间的单向消息传播途径或双向消息传播途径。
可选地,第一终端120和第二终端160上安装的客户端是相同的,或两个终端上安装的客户端是不同操作系统平台的同一类型客户端,或两个终端上安装的客户端是不同的但支持信息互通。不同操作系统包括:苹果操作系统、安卓操作系统、Linux操作系统、Windows操作系统等等。
第一终端120可以泛指多个终端中的一个,第二终端160可以泛指多个终端中的一个,本实施例仅以第一终端120和第二终端160来举例说明。第一终端120和第二终端160的终端类型相同或不同,该终端类型包括:智能手机、游戏主机、台式计算机、平板电脑、电子书阅读器、MP3播放器、MP4播放器和膝上型便携计算机中的至少一种。以下实施例以第一终端120和/或第二终端140是智能手机、第一帐号和第二帐号之间存在好友关系链来举例说明。
本领域技术人员可以知晓,上述终端的数量可以更多或更少。比如上述终端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量,此时上述计算机系统还包括其它终端180,当其它终端180存在一个或多个终端上登录有与第一帐号存在好友关系的第二帐号。本申请实施例对终端的数量和设备类型不加以限定。
图3示出了本申请一个示例性实施例提供的内容推荐方法的流程图。本实施例以该方法应用于图2所示的客户端中执行来举例说明。该方法包括:
步骤320,显示信息流中的第一内容;
客户端显示信息流。信息流中包括按照推荐顺序排序的多个内容,每个内容占用一个盒子显示。以信息流采用列表布局的文章列表为例,每个内容占用一个列表项显示,列表项上显示有文章标题、文章摘要、文章附图、作者和更新时间中的至少一项。
在一个示例中,客户端显示信息流中的第一内容和第三内容,第三内容是当前信息流中位于第一内容之后的其它内容,也即第三内容位于第一内容之后。
步骤340,响应于第一内容的触发操作,显示第一内容的内容界面;
当用户对第一内容感兴趣时,采用触发操作触发显示第一内容的内容界面。触发操作包括但不限于:鼠标操作、触摸屏操作、眼动操作、语音控制操作中的至少一种。比如,用户点击第一内容的盒子,触发从信息流的主界面跳转至第一内容的内容界面。
第一内容的内容界面是对第一内容的内容详情进行显示的界面。在第一内容为文章时,第一内容是用于显示文章正文的界面。第一内容的内容界面,是第一内容的列表项被点击后,从信息流的主界面切换后的界面。
步骤360,响应于内容界面的返回操作,在信息流中增加显示第二内容,第二内容是作为第一内容的相关内容进行推荐的。
第二内容是由服务器或客户端推荐的内容。第二内容和第一内容为相同类型的内容,或,第二内容和第一内容为不同类型的内容。第二内容是作为第一内容的相关内容进行推荐的内容。
在一个示例中,响应于内容界面的返回操作,从第一内容的内容界面跳转至信息流的主界面,在信息流中的第一内容和第三内容之间插入第二内容。在另一个示例中,将信息流中的第三内容替换显示为第二内容。
第二内容所占据的盒子位于第一内容所占据的盒子之后。
综上所述,本实施例提供的方法,通过在用户阅读信息流中的第一内容后,将与第一内容相关的第二内容插入至信息流中进行展示,用户在返回信息流的用户界面时,即可查看到第二内容,从而解决了相关技术中将第二内容插入在第一文章的内容界面的界面底端,用户不一定会划到界面底端,因此难以保证第二文章曝光给用户的问题。
图4示出了本申请另一个示例性实施例提供的内容推荐方法的流程图。本实施例以该方法应用于图2所示的服务器中执行来举例说明。该方法包括:
步骤420,向客户端发送信息流,信息流包括第一内容;
信息流中包括按照推荐顺序排序的多个内容(内容项或列表项)。以信息流采用列表布局的文章列表为例,每个内容是一个列表项,列表项上显示有文章标题、文章摘要、文章附图、作者和更新时间中的至少一项。
在一个示例中,信息流包括第一内容和第三内容,第三内容是当前信息流中位于第一内容之后的其它内容,也即第三内容位于第一内容之后。
步骤440,响应于客户端显示第一内容的内容界面,确定第二内容,第二内容是作为第一内容的相关内容进行推荐的;
其中,内容界面是与信息流的主界面不同的另一个用户界面。用户在主界面触发第一内容的盒子时,从主界面跳转到第一内容的内容界面;用户在内容界面触发返回操作时,从第一内容的内容界面跳转到主界面。
在用户点击第一内容的盒子,客户端显示第一内容的内容界面后,客户端向服务器发送点击事件,该点击事件携带有第一内容的标识,服务器根据点击事件确定客户端显示了第一内容的内容界面。
可选地,服务器调用深度学习模型来确定第二内容。深度学习模型包括用于确定第二内容,以及决定是否将第二内容增加至信息流中显示的模型。第二内容是作为第一内容的相关内容进行推荐的。
可选地,深度学习模型包括:内容推荐器和盒触发器。服务器响应于客户端显示第一内容的内容界面,调用深度学习模型中的内容推荐器从第一内容对应的多个候选内容中确定出第二内容;调用深度学习模型中的盒触发器至少基于延误成本,确定是否发送第二内容,延误成本是将第二内容增加显示在信息流时的影响成本。
步骤460,向客户端发送第二内容,第二内容用于在第一内容的内容界面上触发返回操作后,增加显示在信息流中。
在一个示例中,第二内容用于在第一内容的内容界面上触发返回操作后,插入在信息流中的第一内容和第三内容之间进行显示。在另一个示例中,第二内容用于在第一内容的内容界面上触发返回操作后,将信息流中的第三内容替换后进行显示。
综上所述,本实施例提供的方法,通过在用户阅读信息流中的第一内容后,将与第一内容相关的第二内容插入至信息流中进行展示,用户在返回信息流的用户界面时,即可查看到第二内容,从而解决了相关技术中将第二内容插入在第一文章的内容界面的界面底端,用户不一定会划到界面底端,因此难以保证第二文章曝光给用户的问题。
下面对上述深度学习模型进行介绍。上述深度学习模型也可称为实时相关推荐(Real-timeRelevantRecommendationSuggestion,R3S)模型。该深度学习模型包括:内容推荐器和盒触发器。示意性的,内容推荐器和盒触发器具有完全相同的网络结构,但两者的输入特征和训练时的损失函数不同。
参考图5,其示出了本申请一个示例性实施例中的内容推荐器50的结构示意图。
内容推荐器50的输入特征包括:种子特征(seed)、内容特征(Item)、用户特征(user)和上下文特征(context)。其中,种子特征是第一内容的特征,也即用户点击和阅读的内容特征。内容特征是第一内容的候选内容的特征,也即与第一内容相关的候选内容的特征。用户特征是使用客户端的用户帐号的特征,比如帐号、性别、年龄、爱好、地区等。上下文特征是客户端所处运行环境的特征,比如,手机机型、操作系统类型、网络类型、网络地区等。
可选地,第一内容的候选内容是基于快速召回机制进行召回的内容,比如采用DeepFM模型进行快速召回,得到第一内容的候选内容。
内容推荐器50包括:n个多专家网络52和m个多评论家网络54,n和m均为大于1的整数。比如n=3,m=4。
示意性的,多专家网络52包括:特征交互网络(FeatureInteractionNetwork,FINet)、相似度网络(SimilarityNetwork,SimNet)和信息增益网络(InformationGainNetwork,GNet)。
多专家网络52将输入特征进行特征交互,输出n个特征矩阵。由多评论家网络54对n个特征矩阵进行多评论家多门多专家的融合,输出每个候选内容的特征输出向量,根据特征输出向量对每个候选内容进行排序。将排序靠前的至少一个候选内容,确定为第二内容。
盒触发器与内容推荐器50具有完全相同的网络结构。不同在于,盒触发器的输入特征更多,且两者在训练时的损失函数不同。
在基于图4的可选实施例中,由于内容推荐器包括:n个多专家网络和m个多评论家网络,上述步骤442包括如下子步骤,如图6所示:
步骤442a,调用n个专家子网络对第一内容、候选内容以及附加特征进行特征交互,得到n个特征矩阵;
在一个示例中,n个专家子网络包括:特征交互网络、相似度网络和信息增益网络中的至少一种。
1、调用特征交互网络对第一内容、候选内容以及附加特征进行特征交互,得到用于表示注意力相关性的第一特征矩阵。
2、调用相似度网络对第一内容、候选内容以及附加特征进行特征交互,得到用于表示语义相关性的第二特征矩阵。
3、调用信息增益网络对第一内容、候选内容以及附加特征进行特征交互,得到用于表示信息增益的第三特征矩阵。
其中,附加特征包括:用户特征和上下文特征中的至少一种,用户特征是使用客户端的用户帐号的特征,上下文特征是客户端所处运行环境的特征。
在本实施例中,输入特征分为四组:FU、FS、FI和FC。FS代表第一内容(seed),FI代表候选内容(targetitem),FU代表用户特征(user),FC代表上下文特征(context)。
参考DeepFM模型的特征域划分方式,将上述输入特征分为不同特征域的特征,得到多组特征向量fU、fS、fI和fC。
以对FS分组为例,FS=Concat(fS 1,…,fS k),每个特征组包括k个特征域。Concat(·)是连接操作。k为特征域的数量。示意性的,采用一个查询函数fi=L(fi)将每个稀疏特征fi投影至d维度的稠密特征向量。
特征交互网络:针对步骤442a中的子步骤1,服务器调用特征交互网络对第一内容和候选内容采用多头自注意力机制计算得到注意力矩阵;将用户特征、上下文特征、注意力矩阵进行组合计算后,得到第一特征矩阵。
特征交互网络的输入特征矩阵为F={f1,…,f2k},该输入特征矩阵包括第一内容和候选内容的特征矩阵的组合(或称级联)。也即,特征组合FS和FI。采用多头自注意力机制对第一内容和候选内容的特征组合进行建模,生成特征矩阵。
Qj=Wj QF,Kj=Wj KF,Vj=Wj VF
其中,Wj Q,Wj K,Wj V属于Rd’×d是第j个查询、键和值分别对应的投影矩阵。d是d维度,d’=d/h是特征域空间和查询之间的距离。在多头注意力机制中的第j个输出头headj是:
headj=Softmax(Qj·Kj)Vj;
其中,j的取值范围为1至2k,为输入特征矩阵
连接所有多头自注意力的输出头,得到:
本实施例还在第i个特征域,i的取值为1至k,增加了一个原始特征f
i的短连通来生成特征映射
其中,
和
是属于特征空间
的加权矩阵,d是维度。ReLU(·)是非线性激活函数,Concat(·)是连接操作。I的取值为1至2k,2k个
形成注意力矩阵。
最后,本实施例还将用户特征和上下文特征的特征向量fU和fC结合至特征交互网络最终的自网络输出中:
其中,h
F是特征交互网络最终输出的第一特征矩阵,
是一个加权矩阵,
相似度网络:针对步骤442a中的子步骤2,服务器调用相似度网络通过元素积计算第一内容和候选内容在元素层的第一相似度;调用相似度网络通过内积计算第一内容和候选内容在特征域层的第二相似度;将用户特征、上下文特征、第一相似度、第二相似度进行组合计算后,得到第二特征矩阵。
相似度网络的输入特征包括:第一内容和候选内容。第一内容的特征表示为FS和FI。
首先,通过元素积计算fS和fI在元素层(element-level)的第一相似度:
其次,还通过内积计算fS和fI在特征域层(field-level)的第二相似度:
最后,本实施例还将用户特征和上下文特征的特征向量fU和fC结合至相似度网络最终的自网络输出中:
其中,
是相似度网络的最终输出的第二特征矩阵,
是一个加权矩阵,ReLU(·)是非线性激活函数,d1是ReLU(·)的输出维度,Concat(·)是连接操作。
信息增益网络:针对步骤442a中的子步骤3,服务器调用信息增益网络计算第一内容和候选内容在不同特征域类型下的信息增益;将用户特征、上下文特征、信息增益进行组合计算后,得到第三特征矩阵。
信息增益网络的输入特征包括:第一内容和候选内容。第一内容的特征表示为FS和FI。
其中,第一内容和候选内容在第i个特征域具有相同的元素。定义信息增益函数来表示在第i个特征域中,第一内容至候选内容的信息增益。假设特征域类型包括:类别Fcat和连续Fcon,信息增益函数如下:
其中,fI i是候选内容在第i个特征域中的稀疏特征集,fS i是第一内容在第i个特征域中的稀疏特征集,L(F)是所有在集合F中的稀疏特征集至稠密特征的查找函数。Sum(·)是向量加法。对于一个类别域,首先计算FI i和FS i的差集,将差集中的每个稀疏特征投影到它们的稠密特征上。这些稠密特征的总和,被视为从第一内容到候选内容的信息增益。
最后,本实施例还将用户特征和上下文特征的特征向量fU和fC结合至信息增益网络最终的自网络输出中:
其中,
是信息增益网络的最终输出的第三特征矩阵,用于表示候选内容额外带来的多元化信息,
是一个加权矩阵,ReLU(·)是非线性激活函数,Concat(·)是连接操作。
步骤442b,调用m个评论家网络对n个特征矩阵进行融合,得到多专家多评论家的特征输出向量;
多评论家网络:服务器通过第一内容和用户特征生成第一门向量;调用m个评论家网络根据n个特征矩阵和第一门向量,生成评论家向量;根据第一内容、候选内容、用户特征、上下文特征和评论家向量,生成多专家多评论家的输出向量。
由于不同候选内容的语义相关性和信息增益是不同的,上述三个专家子网络的权重在不同情况下是不完全一致的,故本申请设计了一个多评论家多门的专家融合策略。相比于多任务学习框架(MMoE),本实施例提供了一种新型的多评论家、多门、多专家的学习框架(Multi-critic multi-gate mixtureof-experts,M3oE)。不同于传统的多任务学习框架MMoE,M3oE设计了多人头的评论策略,从不同角度来为不同的专家子网络进行评论。
首先,本实施例设计每个门仅与用户特征和第一内容相关,通过第一内容和用户特征生成第j个人头中的门向量:
其中,Wx j是第j个人头的权重矩阵,Concat(·)是连接操作,xj代表第j个人头的重要性。j的取值范围为1至m。
本实施例使用一个逻辑回归层(Softmaxlayer)来融合多专家网络输出的各个特征矩阵。共设置m个门来融合n个专家输出的特征矩阵。设第j个门对应n个专家子网络中的第j个子网络,设第j个门向量如下:
其中,W
G j是第j个门的权重矩阵,
是门向量,该门向量中每个元素所对应的每个专家的重要性。
将门向量gj(xj)结合三个专家子网络输出的特征矩阵(第一特征矩阵、第二特征矩阵和第三特征矩阵),生成评论家向量:
其中,cj是融合了三个专家子网络的评论家向量。
结合特征fa=Concat(fU,fS,fI,fC)生成一个包含所有专家和评论家的向量:
其中,
是多专家和多评论家协同提取的特征,W
M是一个权重矩阵。d
c是评论家的数量,在本申请中,以d
c=m=4来举例说明。
最后通过一个两层的全连接得到最后的输出:
hf=MLP(h0);
其中,MLP代表全连接层,hf是内容推荐器的最终输出。
步骤442c,根据特征输出向量对候选内容进行排序,以确定出第二内容。
在一个示例中,上述内容推荐器是基于内容耗费时间(Time-on-item,TOI)来训练得到的。TOI即为用户(user)在第一内容(item)上花费的时间。这是因为传统的技术使用CTR作为排序模型的输出目标,但是由于CTR容易被信息发布者所欺骗,因此本实施例采用TOI作为训练目标来训练内容推荐器。
可选地,损失函数定义为:
其中,y是离散化的用户特征和第一内容的TOI(阅读时长),N为整体的样本集,WT RR是一个权重向量。Na是所有样本。
在预测阶段,内容推荐器会输出每个候选内容的特征输出向量,根据特征输出向量对候选内容进行排序,以确定出第二内容。比如,将排序在前3的候选内容确定为第二内容。
步骤444a,服务器调用盒触发器通过第一内容、第二内容、用户阅读第一内容时的交互特征和第三内容生成第二门向量;
盒触发器的目的是:决定系统在考虑整体性能的情况下,是否在信息流中进行实时相关的盒插入。在信息流采用列表表示时,基于列表项的触发是R3S中的一种实现方式,因为实时插入一个列表项会延迟第一内容之后的其它列表项,应当尽量防止延迟过多的相关框。这些被延迟的其它列表项可能会失去给用户留下深刻印象的机会。如果用户不继续延长阅读,会严重损害信息流中的用户体验。
在内容推荐器使用的四种特征之外,盒触发器额外引入了两种特征:
用户阅读第一内容时的交互特征fUS,该交互特征用于代表用户和第一内容之间的感兴趣特征,例如:阅读时长、是否评论、是否点赞、评论次数、评论情感分析等。本实施例中,以交互特征采用阅读时长来进行表示。
第三内容是信息流中位于第一内容之后的内容,也是第二内容在插入后,在信息流中被挤占的内容,表示为fD。
首先,盒触发器通过第一内容、候选内容、用户阅读第一内容时的交互特征和第三内容生成第二门向量:
其中,第二门向量和第一门向量的计算方式相同,区别在于增加了特征f
US和f
D。
是一个加权矩阵。
步骤444b,调用盒触发器根据第二门向量、第二内容的特征输出向量、交互特征和第三内容计算发送第二内容的损失,损失包括:延误成本和用户对第一内容的兴趣度损失;
盒触发器根据第二门向量、特征输出向量、交互特征和第三内容计算增加候选内容的损失,损失包括:延误成本和用户对第一内容的兴趣度损失:
h′f=MLP(Concat(h′0,fD,fUS));
其中,h′0是盒触发器根据第一内容、第二内容、用户特征和上下文特征进行多专家多门多评论家的融合计算得到的特征输出向量,h′0的计算方式与ho相同,参考上述有关内容推荐器的介绍,不再赘述。其中,MLP代表全连接层,h′f是盒触发器的最终输出。
步骤444c,根据损失确定是否发送第二内容。
在存在至少一个第二内容的损失低于预设条件时,确定发送该第二内容至客户端,将第二内容插入至信息流中显示。
在一个示例中,盒触发器是基于点击率CTR损失和延误成本来训练得到的。
基于CTR的盒级损失可表示为:
其中,WT BT是一个权重向量,T是转置,σ(·)是一个S型生长函数。
不同于传统的CTR损失函数。盒触发器的损失函数包括:CTR损失函数和延误成本两者的结合。将延误成本考虑进来,盒触发器的损失函数可表示为:
其中,Nd是一个新的负样本集,用来度量延迟代价。在N中的样本所对应的样本第二内容(插入内容)没有被点击,但是样本第一内容后的其他内容被点击了,这正是本申请想要避免的情形。Np是插入的样本第二内容被点击的正样本,Nn是插入的样本第二内容未被点击的负样本。λp、λn、λd是损失权重的超参数。R3S的总损失是LRR和LBT的和。
综上所述,本实施例提供的方法,内容推荐器可以采用多专家多评论家的M3oE机制来选择出较为优秀的第二内容,该M3OE融合了三个专家子网络的特性,不仅参考了第一内容和第二内容之间的特征相关性,还融合了语义相似性和信息增益考量,从而提供较为相关、语义相似且能提供更多元信息的第二内容。
盒触发器能够结合盒级CTR和延迟成本来决定是否实时插入第二内容,从而在尽量不影响信息流的整体表现的情况下,合理插入第二内容,为用户保留更好的信息流阅读体验,并且结合用户对第一内容的兴趣程度和延迟成本,在预测用户有较大可能阅读第二内容的情况下,才插入第二内容,避免无效推荐浪费的网络资源和计算资源。
因为该任务没有开放数据集,因此本申请构建了一个新的数据集WTS-RS用于实时线上场景的相关推荐建议。该数据集WTS-RS随机选择2100万用户,收集他们的3.32亿的实际点击数据。总共提取了与相关推荐建议场景相关的4300万次框点击和4700万次内容点击。对于每个内容点击,它的阅读时间(TOI)也会被记录下来,用于训练和评估。按照时间顺序将数据集分割为一个训练集和一个测试集,结果产生了2.32亿个训练实例和1亿个测试实例。
在相关推荐的离线数据集的离线训练上,分别进行了TOI导向和CTR导向的计算,衡量指标为ROC曲线下的面积(Area Under Curve,AUC)和模型相对提升(RelaImpr)。作为对比,引入了如下基础模型:
FM:因子分解机(FM)利用因子分解的参数对特征之间的所有交互作用进行建模。提出了FM作为评价的基础模型。
Wide&Deep:Wide&Deep包括一个于原始特征的宽部分和一个用于特征交互的深部分.
NFM:NFM在DNN层之前提出了一个双向交互层,用于特征交互.
AFM:AFM引起了人们对双交互层特性交互的关注。
DeepFM:它将FM和DNN并行地结合在一起,以模拟原始特征和高阶交互。
AutoInt:AutoInt引入了用于原始特征交互的自关注神经网络。
请注意,本申请不使用传统的查询建议模型或句子匹配模型作为基础模型,因为它们是为不同的任务设计的,其中查询标题或句子相似性是最基本的目标。
所有基础模型都遵循R3S的两步体系结构,它包括内容推荐器和盒触发器。在基于TOI的离散MSE目标下,对基础模型的项目推荐器进行了优化。而和触发器是用基于CTR的交叉熵目标在Eq中更新的(没有延误损失)。内容推荐器用于文章TOI预测,而盒触发器用于盒级别的CTR预测。所有模型和R3S在评估中具有相同的输入特征和实验设置。
首先使用WTS-RS数据集来评估本申请的R3S与基础模型在TOI预测方面的对比。TOI预测任务旨在预测用户将在相关框中的第二内容上花费多长时间。TOI可以看作是一个增强的CTR相关度量,因为它进一步考虑用户阅读时间而不局限于点击,这反映了用户的真正满意度。本申请将所有结果的预测TOI进行排序。在内容推荐器中,并使用经典的AUC度量进行评估。还引进了RelaIMPR测量相对于基本模型的相对改进。
表一示出的具体数据如下所示:
表一
模型 |
AUC |
RelaImpr |
FM |
0.6949 |
0.00% |
AFM |
0.7002 |
2.72% |
NFM |
0.7012 |
3.23% |
Wide&Deep |
0.7191 |
12.42% |
DeepFM |
0.7248 |
15.43% |
AutoInt |
0.7128 |
9.18% |
R3S |
0.7321 |
19.09% |
根据表一可以观察到:
(1)与所有基础模型相比,R3S达到了最佳性能。本申请还进行了显着性检验,以验证显着性水平=0.01。
(2)这表明R3S能够很好地捕捉到相关推荐的多方面因素。改进主要来自两个方面,包括三位专家(即子网络)和多评论家多门专家混合策略。首先,特征交互网络、相似性网络和信息增益网络分别考虑种子与目标项之间特征交互的不同方面。在这种情况下,R3S可以同时考虑用户行为、种子-候选之间的语义相似性和信息增益,这在相关的推荐场景中是必不可少的。第二,M3oE策略巧妙地将三位专家与多个对这些相互作用具有不同权重的评论家结合起来,进一步提高了文章的TOI预测性能。
本申请还设计了一个新的任务,名为盒级CTR预测,以评估相关盒子的整体性能。盒级CTR预测旨在预测用户是否会点击相关的盒子(第二内容或类别项),这是由盒子触发器判断的。在R3S中,希望培养用户使用本申请的相关推荐功能的习惯。因此,本申请鼓励用户点击更多相关的实时插入文章,实时插入文章是在他们点击的文章下面插入的第二内容。因此CTR被视为盒触发器的主要评估指标。遵循同样的指标,AUC和RelaIMPR也用于项目TOI预测。如下表三所示:
表二
模型 |
AUC |
RelaImpr |
FM |
0.7658 |
0.00% |
AFM |
0.7704 |
1.73% |
NFM |
0.7724 |
2.48% |
Wide&Deep |
0.7866 |
7.83% |
DeepFM |
0.7901 |
9.14% |
AutoInt |
0.7807 |
5.61% |
R3S |
0.7953 |
11.10% |
表二显示了所有模型在盒级CTR预测维度的对比结果,从中可以知道:
(1)在盒级CTR预测中,R3S显著优于所有基础模型,显着性水平=0.01。当用户完成某个文章的阅读后,它确认R3S能够决定是否进行实时插入相关文章。盒触发器的设计是为了控制插入相关文章的频率,这对于整体推荐性能至关重要。
(2)盒级CTR预测和文章TOI预测是两个相似的任务,但它们仍然有一些差异。文章TOI预测主要评估内容推荐器IR。相反,盒级CTR预测主要评估盒触发器。盒触发器仍然使用点击进行训练,因为本申请认为插入文章的点击是盒触发器中最重要的奖励。作为建议,盒触发器应该考虑实时插入盒对整个系统的副作用和影响,而不是盒级性能。因此,盒触发器综合了用户对种子的满意度,并将延迟成本作为一种惩罚,以平衡整体性能和盒级性能。文章TOI的AUC低于盒CTR的AUC,因为文章TOI预测更细粒度和具有挑战性。
在相关推荐的在线A/B测试中,衡量指标为整体系统的TOI(Time-on-item inoverall system),盒级CTR(Box-level CTR,BCTR),盒级用户历史点击率(Box-level userhas-click rate,BUHR),盒级内容阅读(Box-level item views,BIV),具体数据如下所示:
表三
实验结果给出了R3S与在线深度模型FM相比的改进百分比,从表三可以发现:
(1)R3S(内容推荐器+盒触发器)在所有总体度量和盒级度量上实现了显著的改进,其显著性水平=0.01。它验证了R3S在现实场景中的有效性。在TOI维度的改进表明,用户更满意和愿意花更多的时间在推荐结果上。对三个盒级度量的改进也表明R3S可以巧妙地控制插入相关文章的频率。因此,提高了相关文章的质量(参见BCTR结果),更多的用户愿意通过相关文章进行连续扩展阅读(参见BUHR结果),从而R3S实现了用户对相关文章的更多交互(参见BIV结果)。
(2)除了BCTR,R3S(仅内容推荐器)在三个指标上也优于传统的深度学习模型。这是将训练目标从CTR转换为TOI后,自然将提高用户阅读整体内容上的时间,同时它不可避免地会损害盒级CTR。然而,BUHR和BIV的改进表明,更多的用户将使用本申请的推荐建议功能,更多的相关文章将被点击。
(3)R3S(项目)带来的BCTR下降揭示了相关文章过度曝光的严重问题。此外,整体CTR也略有下降。为了解决这个问题,本申请引入了盒触发器,它可以更好地考虑延迟成本。在引入盒触发器后,所有盒级度量与R3S(项目)相比,有令人印象深刻的改进。与R3S(项目)相比,整体CTR和盒级CTR甚至分别达到0.58%和17.52%,改善了52%。它再次确认了盒触发器的重要性。
图7示出了本申请一个示意性实施例提供的内容推荐装置的框图。该装置可以实现成为服务器,或者,实现在服务器内部的一个模块中,所述装置包括:
发送模块710,用于向客户端发送信息流,所述信息流包括第一内容;
调用模块720,用于响应于所述客户端显示所述第一内容的内容界面,调用深度学习模型确定第二内容,所述第二内容是作为所述第一内容的相关内容进行推荐的;
发送模块710,用于向所述客户端发送所述第二内容,所述第二内容用于在所述第一内容的内容界面上触发返回操作后,增加显示在所述信息流中。
在本申请的一个设计中,所述深度学习模型包括:内容推荐器和盒触发器;
所述调用模块720,用于响应于所述客户端显示所述第一内容的内容界面,响应于所述客户端显示所述第一内容的内容界面,调用深度学习模型中的内容推荐器从所述第一内容对应的多个候选内容中确定出所述第二内容;调用所述深度学习模型中的盒触发器至少基于延误成本,确定是否发送所述第二内容,所述延误成本是将所述第二内容增加显示在所述信息流时的影响成本。
在本申请的一个设计中,所述深度学习模型包括:内容推荐器和盒触发器;
所述调用模块720,用于响应于所述客户端显示所述第一内容的内容界面,调用所述内容推荐器从所述第一内容对应的多个候选内容中确定出所述第二内容;调用所述盒触发器至少基于延误成本,确定是否发送所述第二内容,所述延误成本是将所述第二内容增加显示在所述信息流时的影响成本。
在本申请的一个设计中,所述内容推荐器包括:n个专家子网络和m个评论家网络,n和m均为大于1的整数;
所述调用模块720,用于调用所述n个专家子网络对所述第一内容、所述候选内容以及附加特征进行特征交互,得到n个特征矩阵;调用所述m个评论家网络对所述n个特征矩阵进行融合,得到多专家多评论家的所述特征输出向量;根据所述特征输出向量对所述候选内容进行排序,以确定出所述第二内容;
其中,所述附加特征包括:用户特征和上下文特征中的至少一种,所述用户特征是使用所述客户端的用户帐号的特征,所述上下文特征是所述客户端所处运行环境的特征。
在本申请的一个设计中,所述n个专家子网络包括:特征交互网络、相似度网络和信息增益网络中的至少一种;
所述调用模块720,用于调用所述特征交互网络对所述第一内容、所述候选内容以及所述附加特征进行特征交互,得到用于表示注意力相关性的第一特征矩阵;调用所述相似度网络对所述第一内容、所述候选内容以及所述附加特征进行特征交互,得到用于表示语义相关性的第二特征矩阵;调用所述信息增益网络对所述第一内容、所述候选内容以及所述附加特征进行特征交互,得到用于表示信息增益的第三特征矩阵。
在本申请的一个设计中,所述调用模块720,用于调用所述特征交互网络对所述第一内容和所述候选内容采用多头自注意力机制计算得到注意力矩阵;将所述用户特征、所述上下文特征、所述注意力矩阵进行组合计算后,得到所述第一特征矩阵。
在本申请的一个设计中,所述调用模块720,用于调用所述相似度网络通过元素积计算所述第一内容和所述候选内容在元素层的第一相似度;调用所述相似度网络通过内积计算所述第一内容和所述候选内容在特征域层的第二相似度;将所述用户特征、所述上下文特征、所述第一相似度、所述第二相似度进行组合计算后,得到所述第二特征矩阵。
在本申请的一个设计中,所述调用模块720,用于调用所述信息增益网络计算所述第一内容和所述候选内容在不同特征域类型下的信息增益;将所述用户特征、所述上下文特征、所述信息增益进行组合计算后,得到所述第三特征矩阵。
在本申请的一个设计中,所述调用模块720,用于通过所述第一内容和所述用户特征生成第一门向量;调用所述m个评论家网络根据所述n个特征矩阵和所述第一门向量,生成评论家向量;根据所述第一内容、所述候选内容、所述用户特征、所述上下文特征和所述评论家向量,生成多专家多评论家的所述特征输出向量。
在本申请的一个设计中,所述内容推荐器是基于内容耗费时间TOI来训练得到的。
在本申请的一个设计中,所述信息流中在显示所述第一内容的同时还显示有第三内容;
所述调用模块720,用于调用所述盒触发器通过所述第一内容、所述第二内容、用户阅读所述第一内容时的交互特征和所述第三内容生成第二门向量;调用所述盒触发器根据所述第二门向量、所述第二内容的特征输出向量、所述交互特征和所述第三内容计算发送所述第二内容的损失,所述损失包括:所述延误成本和所述用户对所述第一内容的兴趣度损失;根据所述损失确定是否发送所述第二内容。
在本申请的一个设计中,所述盒触发器是基于点击率CTR损失和所述延误成本来训练得到的。
图8示出了本申请一个示意性实施例提供的内容推荐装置的框图。该装置可以实现成为服务器,或者,实现在服务器内部的一个模块中,所述装置包括:
显示模块820,用于显示信息流中的第一内容;
交互模块840,用于响应于所述第一内容的触发操作,显示所述第一内容的内容界面;
交互模块840,用于响应于所述内容界面的返回操作,在所述信息流中增加显示第二内容,所述第二内容是作为所述第一内容的相关内容进行推荐的。
在本申请的一个设计中,所述显示模块820,用于显示所述信息流中的所述第一内容和第三内容,所述第三内容位于所述第一内容之后;
所述交互模块840,用于响应于所述内容界面的返回操作,在所述信息流中的所述第一内容和所述第三内容之间插入所述第二内容;或者,将所述信息流中的所述第三内容替换显示为所述第二内容。
在本申请的一个设计中,所述装置还包括获取模块860;
获取模块860,用于从服务器获取所述第二内容。所述第二内容是服务器采用上述深度学习模型计算得到的。
需要说明的是:上述实施例提供的内容推荐装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的内容推荐装置与内容推荐方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本申请还提供了一种计算机设备(终端或服务器),该计算机设备包括处理器和存储器,存储器中存储有至少一条指令,至少一条指令由处理器加载并执行以实现上述各个方法实施例提供的内容推荐方法。需要说明的是,该计算机设备可以是如下图9所提供的计算机设备。
图9示出了本申请一个示例性实施例提供的计算机设备900的结构框图。该计算机设备900可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group AudioLayer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts GroupAudio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。计算机设备900还可能被称为用户设备、便携式计算机设备、膝上型计算机设备、台式计算机设备等其他名称。
通常,计算机设备900包括有:处理器901和存储器902。
处理器901可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器901可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器901也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器901可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器901还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器902可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器902还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器902中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器901所执行以实现本申请中方法实施例提供的内容推荐方法。
在一些实施例中,计算机设备900还可选包括有:外围设备接口903和至少一个外围设备。处理器901、存储器902和外围设备接口903之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口903相连。具体地,外围设备包括:射频电路904、触摸显示屏905、摄像头906、音频电路907、定位组件908和电源909中的至少一种。
外围设备接口903可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器901和存储器902。在一些实施例中,处理器901、存储器902和外围设备接口903被集成在同一芯片或电路板上;在一些其他实施例中,处理器901、存储器902和外围设备接口903中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路904用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路904通过电磁信号与通信网络以及其他通信设备进行通信。射频电路904将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路904包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路904可以通过至少一种无线通信协议来与其它计算机设备进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路904还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏905用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏905是触摸显示屏时,显示屏905还具有采集在显示屏905的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器901进行处理。此时,显示屏905还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏905可以为一个,设置计算机设备900的前面板;在另一些实施例中,显示屏905可以为至少两个,分别设置在计算机设备900的不同表面或呈折叠设计;在再一些实施例中,显示屏905可以是柔性显示屏,设置在计算机设备900的弯曲表面上或折叠面上。甚至,显示屏905还可以设置成非矩形的不规则图形,也即异形屏。显示屏905可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-EmittingDiode,有机发光二极管)等材质制备。
摄像头组件906用于采集图像或视频。可选地,摄像头组件906包括前置摄像头和后置摄像头。通常,前置摄像头设置在计算机设备的前面板,后置摄像头设置在计算机设备的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件906还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路907可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器901进行处理,或者输入至射频电路904以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在计算机设备900的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器901或射频电路904的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路907还可以包括耳机插孔。
定位组件908用于定位计算机设备900的当前地理位置,以实现导航或LBS(Location Based Service,基于位置的服务)。定位组件908可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源909用于为计算机设备900中的各个组件进行供电。电源909可以是交流电、直流电、一次性电池或可充电电池。当电源909包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,计算机设备900还包括有一个或多个传感器910。该一个或多个传感器910包括但不限于:加速度传感器911、陀螺仪传感器912、压力传感器913、指纹传感器914、光学传感器915以及接近传感器916。
加速度传感器911可以检测以计算机设备900建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器911可以用于检测重力加速度在三个坐标轴上的分量。处理器901可以根据加速度传感器911采集的重力加速度信号,控制触摸显示屏905以横向视图或纵向视图进行用户界面的显示。加速度传感器911还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器912可以检测计算机设备900的机体方向及转动角度,陀螺仪传感器912可以与加速度传感器911协同采集用户对计算机设备900的3D动作。处理器901根据陀螺仪传感器912采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器913可以设置在计算机设备900的侧边框和/或触摸显示屏905的下层。当压力传感器913设置在计算机设备900的侧边框时,可以检测用户对计算机设备900的握持信号,由处理器901根据压力传感器913采集的握持信号进行左右手识别或快捷操作。当压力传感器913设置在触摸显示屏905的下层时,由处理器901根据用户对触摸显示屏905的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器914用于采集用户的指纹,由处理器901根据指纹传感器914采集到的指纹识别用户的身份,或者,由指纹传感器914根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器901授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器914可以被设置计算机设备900的正面、背面或侧面。当计算机设备900上设置有物理按键或厂商Logo时,指纹传感器914可以与物理按键或厂商Logo集成在一起。
光学传感器915用于采集环境光强度。在一个实施例中,处理器901可以根据光学传感器915采集的环境光强度,控制触摸显示屏905的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏905的显示亮度;当环境光强度较低时,调低触摸显示屏905的显示亮度。在另一个实施例中,处理器901还可以根据光学传感器915采集的环境光强度,动态调整摄像头组件906的拍摄参数。
接近传感器916,也称距离传感器,通常设置在计算机设备900的前面板。接近传感器916用于采集用户与计算机设备900的正面之间的距离。在一个实施例中,当接近传感器916检测到用户与计算机设备900的正面之间的距离逐渐变小时,由处理器901控制触摸显示屏905从亮屏状态切换为息屏状态;当接近传感器916检测到用户与计算机设备900的正面之间的距离逐渐变大时,由处理器901控制触摸显示屏905从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图9中示出的结构并不构成对计算机设备900的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本申请实施例提供的内容推荐方法。
本申请提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现上述各个方法实施例提供的内容推荐方法。
本申请还提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述各个方法实施例提供的内容推荐方法。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。