具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请技术方案保护的范围。
下面对本申请实施例中涉及的部分概念进行介绍。
多媒体信息:在本申请实施例中是指数字传输的资源,形态包括图文,图集和视频(包括端视频和小视频),例如照片、视频、直播等。其中,短视频即短片视频,是一种互联网内容传播方式,一般是在互联网新媒体上传播的时长在5分钟以内的视频传播内容。在本申请实施例中,视频主要是指内容分发平台推荐给用户阅读的视频,包括竖版的小视频和横版的短视频,以Feeds流的形式提供。通常还可以拍摄一段视频,然后通过剪辑和拆条,尤其是长一些的影视剧,综艺接入,通过拆条方式,分为很多不同时长片段的短视频。
内容嵌入特征:是针对多媒体信息中的图像而言的,用于表征多媒体信息中的图像的展示内容的嵌入表示,在本申请实施例中可表示为embedding(嵌入)向量,具体是指对多媒体信息中的图片进行嵌入表示所得到的embedding向量。此外,若图片中包含人物时,内容嵌入特征还可包括对任务进行人脸检测所得到的人脸的embedding向量。
关键帧:计算机动画术语,指角色或者物体运动变化中关键动作所处的那一帧,相当于二维动画中的原画。关键帧与关键帧之间的动画可以由软件创建添加,叫做过渡帧或者中间帧。帧即动画中最小单位的单幅影像画面,相当于电影胶片上的每一格镜头,在动画软件的时间轴上,帧表现为一格或者一个标记。
主成分分析技术(Principal Components Analysis,PCA):也称主分量分析,是将n维特征映射到k维上(k<n),这k维是全新的正交特征。这k维特征称为主元,是重新构造出来的k维特征,而不是简单地从n维特征中去除其余n-k维特征。
白化:目的是去除输入数据的冗余信息。假设训练数据是图像,由于图像中相邻像素之间具有很强的相关性,所以用于训练时输入是冗余的;白化的目的就是降低输入的冗余性。白化算法的实现过程,第一步操作就是PCA,求出新特征空间中X的新坐标,然后再对新的坐标进行方差归一化操作。常用来进行白化的操作有两种方式,一种是PCA whiten,另外一种是ZCA whiten。PCA whiten是指将PCA和标准化结合起来得到的处理技术。使用PCA来进行维度降低,就是降低数据的冗余,至于所有特征的方差相同是通过数据的标准化形式实现的。
多频道网络(Multi-Channel Network,MCN):是一种多频道网络的产品形态,将PGC内容联合起来,在资本的有力支持下,保障内容的持续输出,从而最终实现商业的稳定变现。
专业生产内容(Professional Generated Content,PGC):也称为PPC(Professionally-produced Content),互联网术语,指专业生产内容(视频网站)、专家生产内容(内容分享平台)。用来泛指内容个性化、视角多元化、传播民主化、社会关系虚拟化。
Faiss:是一种针对聚类和相似性搜索库,为稠密向量提供高效相似度搜索和聚类,支持十亿级别向量的搜索,是一个近似近邻搜索库,是一个高效地稠密向量相似检索和聚类的工具包。具体的,给定一个向量集合,Faiss可以建立一个数据结构。这个数据结构建立完成之后,当给定一个向量x,它可以高效地查找出与x距离最近的向量。在Faiss的术语中,这个数据结构被称为索引,寻找最近向量这个过程,就是在索引上的搜索操作。
Feeds:消息来源,又译为源料、馈送、资讯提供、供稿、摘要、源、新闻订阅、网源。是一种资料格式,网站透过它将最新资讯传播给用户,通常以时间轴方式排列,Timeline(时间线)是Feed最原始最直觉也最基本的展示形式。用户能够订阅网站的先决条件是,网站提供了消息来源。
深度学习:深度学习的概念源于人工神经网络的研究。含多隐层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。
尺度不变特征转换(Scale-invariant feature transform,SIFT):是一种计算机视觉的算法。它用来侦测与描述影像中的局部性特征,它在空间尺度中寻找极值点,并提取出其位置、尺度、旋转不变量。使用SIFT特征描述对于部分物体遮蔽的侦测率也相当高,甚至只需要3个以上的SIFT物体特征就足以计算出位置与方位。SIFT特征的信息量大,适合在海量数据库中快速准确匹配。SIFT算法的实质是在不同的尺度空间上查找关键点(特征点),并计算出关键点的方向。SIFT所查找到的关键点是一些十分突出,不会因光照,仿射变换和噪音等因素而变化的点,如角点、边缘点、暗区的亮点及亮区的暗点等。SIFT是用于图像处理领域的一种描述。这种描述具有尺度不变性,可在图像中检测出关键点,是一种局部特征描述子。该算法具有如下一些特点:(1)SIFT特征是图像的局部特征,其对旋转、尺度缩放、亮度变化保持不变性,对视角变化、仿射变换、噪声佣也保持一定程度的稳定性;(2)独特性好,信息量丰富,适用于在海量特征数据库中进行快速、准确的匹配;(3)多量性,即使少数的几个物体也可以产生大量的SIFT特征向量;(4)高速性,经优化的SIFT匹配算法甚至可以达到实时的要求;(5)可扩展性,可以很方便的与其他形式的特征向量进行联合。
人工智能(Artificial Intelligence,AI):是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
在本申请实施例中提出的信息推荐方法中的神经网络模型都属于机器学习模型,这些模型就涉及到机器学习这一技术领域,通过机器学习这一技术可训练得到上述模型。
下面对本申请实施例的设计思想进行简要介绍:
在互联网快速发展的时代,随着内容生产的门槛降低,视频和图文内容的上传量发布量以指数级的速度增长。这些内容来源包括各种各样内容创作机构,比如自媒体和机构的PGC,用户原创内容(User Generate Content,UGC)。比如内容的上传量大幅增长,为了保证分发内容的安全性,时效性和内容本省版权来源方的利益,需要在很短时间内完成内容的审核比如内容的黄赌毒,是否政治敏感和内容质量和安全性进行识别和处理,目前主要途径是通过大量的人力同时辅助以机器算法能力。
以短视频信息为例,首先介绍下目前短视频信息的分发流程,短视频信息从开始上传、到上传成功、再到成功进入用户消费的过程:通过终端拍摄工具拍摄视频,然后通过终端或者B侧,比如聊天软件公众号平台上传,在视频上传的流程中,视频会经过重转码,将视频文件进行规范化,保存视频的元信息,提升视频在各个平台播放兼容性。然后视频会进行人工审核,人工审核的同时机器也会通过算法对内容进行一些辅助特征的获取比如分类,类别等等;然后在机器算法处理的基础上进行人工标准化标注,对视频填充相关的信息,例如视频的类别,明星信息,有时候辅助一段说明文字,这就是内容的标准化。视频标准化通过后,会进入到视频平台的内容库。最后直接给运营分发到外网或者给到推荐引擎,基于用户的画像特征,通过推荐算法比如协同推荐,矩阵分解,监督学习算法LogisticRegression(对数几率回归)模型,基于深度学习的模型,Factorization Machine(因子分解机)和梯度提升决策树(Gradient Boosting Decision Tree,GBDT)等。
然而,发明人意识到,从用户消费视频信息的视角来看,如果一个视频播放完毕,能够快速推进关联或者紧接着内容下一段的短视频信息,播放转化的效率会提升很多。同时很多图文内容的素材和图片也是来自视频信息的抽帧,但图文内容消费用户与视频信息消费用户缺少直接的关联和内容层面的联动。如果使用短视频抽取的视频帧进行关联挖掘,找出可继续播放的短视频,可以实现视频的连续播放,增加时长;同时能够增加用户的粘性,将图片与视频,视频与视频之间建立关联,实现联系播放和强相关内容的关联推荐和场景联动,这个对进一步优化推荐引擎信息推荐的效率很有帮助。
有鉴于此,本申请实施例提供了一种信息推荐方法、装置、电子设备和存储介质,能够基于待检测多媒体信息和候选多媒体信息的内容嵌入特征,分析多媒体信息之间的关联关系,并基于多媒体信息之间的关联关系,来进行信息推荐。具体的,本申请通过将待检测多媒体信息与候选多媒体信息进行嵌入特征匹配,进而选取与待检测多媒体信息具有关联关系的目标多媒体信息,然后基于待检测多媒体信息与目标多媒体信息之间的关联关系,向用户进行信息推荐时,可有效推送与待检测多媒体信息相关联的内容,有效提高了推荐信息之间的关联性,进而提升推荐信息的准确性。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
如图1所示,其为本申请实施例的应用场景示意图。该应用场景图中包括两个终端设备110和一个服务器120。终端设备110与服务器120之间可以通过通信网络进行通信。
在一种可选的实施方式中,通信网络是有线网络或无线网络。终端设备110以及服务器120可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
在本申请实施例中,终端设备110为用户使用的电子设备,该电子设备可以是个人计算机、手机、平板电脑、笔记本、电子书阅读器等具有一定计算能力并且运行有即时通信类软件及网站或者社交类软件及网站的计算机设备。各终端设备110通过无线网络与服务器120连接,服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、信息推荐网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
在本申请实施例中,终端设备110上安装有与信息推荐相关的应用,本申请实施例涉及的应用可以是软件,也可以是网页、小程序等客户端,后端服务器则是与软件或是网页、小程序等相对应的后端服务器,不限制客户端的具体类型。例如,在对待检测多媒体信息和候选多媒体信息进行内容嵌入特征提取时,可以由服务器120执行,进而筛选出与待检测多媒体信息具有关联关系的候选多媒体信息,即目标多媒体信息,并推送给终端设备110,由终端设备110基于待检测多媒体信息以及所述目标多媒体信息之间的关联关系,进行信息推荐。当然,这些过程也可由终端设备110独自完成,或者由服务器120独自完成等,在此不做具体限定。
另外,如本申请所公开的信息推荐方法或装置,其中多个服务器可组成为一区块链,而服务器为区块链上的节点。
在一种可能的应用场景中,本申请中的多媒体信息可以采用云存储技术进行存储。云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
下面结合上述描述的应用场景,参考附图来描述本申请示例性实施方式提供的信息推荐方法,需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。
参阅图2所示,为本申请实施例提供的一种信息推荐方法的实施流程图,该方法的具体实施流程如下:
S21:对待检测多媒体信息以及至少一个候选多媒体信息进行语义化特征提取,获取待检测多媒体信息的内容嵌入特征,以及至少一个候选多媒体信息的内容嵌入特征;
其中,待检测多媒体信息和候选多媒体信息都可以是包含图像的图文内容,例如照片,也可以是视频,短视频等。内容嵌入特征主要是指对多媒体信息所包含的内容进行嵌入特征提取所得到的。
在一种可选的实施方式中,可基于如下方式提取多媒体信息的内容嵌入特征,具体的,针对待检测多媒体信息以及至少一个候选多媒体信息中的各个多媒体信息,分别执行以下操作:
针对各个多媒体信息中的一个多媒体信息,对一个多媒体信息中的至少一个图像进行语义化特征提取,获取至少一个图像的图像嵌入特征,并将图像嵌入特征作为一个多媒体信息的内容嵌入特征。
在本申请实施例中,对于待检测多媒体信息与候选多媒体信息,都是基于多媒体信息中的至少一个图像来进行语义化特征提取,进而得到多媒体信息的内容嵌入特征的。具体的,在提取图像的图像嵌入特征时,针对任意一个图像,可首先确定该图像所属的图像类别,并根据确定的图像类别对该图像进行特征提取,获得该图像的初始嵌入特征;通过主成分分析方法(PCA)对初始嵌入特征进行降维处理,确定该图像对应的图像嵌入特征。进而,将确定的图像嵌入特征在作为多媒体信息的内容嵌入特征,以进行多媒体信息之间的匹配。
具体的,大规模的图片帧检索需要图像embedding精度更高,即类内聚,类间开,同时长度尽可能短。视频是视频内容的主体,包含了主要的内容信息,封面图是视频内容的精华,两者可以互相补充。通常图像(Imagenet)数据集为单标签分类网络,但是抽取的图片特征对于有多个主体的图片缺乏刻画和检索能力,倾向于突出主体。因此本申请实施例选用打开图像数据集(open image dataset)预训练多标签分类网络(5000类别多标签分类),用以提取图像embedding,可有效克服imagenet预训练模型多主体图像。通过深度卷积神经网络提取图像向量特征,即图像嵌入特征。通过计算向量余弦距离或L2距离,可衡量图像间相似性对图片进行召回和排序。具体如下:图像按类别提取embedding,通过PCA降维,以较小的精度代价将embedding维度从2048维降低至256维,损失函数使用三重态损耗微调(triplet loss finetune)函数。在实现过程中,可以将图像分为人物、动漫、动物和其它图像类别,在每个图像类别内可利用向量分布的规律,使用PCA(把多指标转化为少数几个综合指标)进行降维,并对基于Faiss的索引进行训练和优化,降低存储的压力,保持检索精度,同时避免了维护一个过大的Faiss索引。
需要说明的是,在本申请实施例中通过PCA降维,对向量进行降维,减少向量的大小后,通过Faiss来管理实现索引匹配时,占用的存储空间会大幅度减少,同时结果的精度也较高。
其中,本申请实施例的图像类别是指按照图片的内容分类,本申请实施例用的是图片本身的类别标签。在两个图像的类别标签一样的情况下,可以认为两个图像的embeeding距离近,反之可以认为距离更远。比如两个图像都是汽车类别的图片时,对应的embeeding距离会比不同类别的图像的embeeding距离近,例如比汽车类别与飞机类别的图片embeeding距离更近一些。
在具体提取图像embedding向量时候,发明人经过对神经网络各层实验发现,并非最后一层特征层输出最适合召回排序,越靠近输出层,语义信息越强,但对图像细节的刻画能力越弱,因而,在本申请实施例中,选取中上层特征输出进行embedding,pooling(池化)方式选用RMAC pooling(Regional Maximum Activation of Convolutions pooling,卷积的区域最大激活池化)。并且,使用PCA whiten能够获得更好的效果。参阅图3所示,其为本申请实施例中的一种基于深度神经网络+RMAC+PCA whiten的图片向量化方法的示意图。本申请实施例中的损失函数使用triplet loss finetune进行微调,使用多标签分类模型;主干网络基于resnet残差网络,采用RMAC pooling和PCA whiten降维;优选特征来源层和长度(中上层和256维,在效果和存储中间得到一个综合的平衡)。
在一种可选的实施方式中,当多媒体信息为视频内容时,可通过抽帧的方式,或者多媒体信息中的至少一个图像。
具体的,在对一个多媒体信息进行抽帧处理,获得该多媒体信息中的至少一个图像时,抽取的视频帧可以为该多媒体信息中的关键帧,与通过均匀抽帧得到的视频帧中的一种或多种。
具体的,可以首先对多媒体信息进行关键帧提取,将抽取到的关键帧作为最终确定的该多媒体信息中的至少一个图像,以进行内容特征提取。此外,如果关键帧数量不够,或者关键帧间隔超过1秒的情况下,为了定位更加准确,还可以按照1秒的间隔补充抽取一些帧,这些帧就是均匀抽帧。
在一种可选的实施方式中,若图像中有对象时,除了将图像嵌入特征作为多媒体信息的内容嵌入特征之外,还可对于包含对象的各个图像,分别对各个图像包含的对象进行对象识别后,提取对象的人脸嵌入特征,并将对象的人脸嵌入特征作为多媒体信息的内容嵌入特征。即,在图像包含人物的情况下,除了对图像进行图像嵌入特征提取之外,还需要对图像中的人物进行人脸检测,提取人脸嵌入特征。
在本申请实施例中,对于图片或者视频主体为人脸的图片,使用人脸embedding进行召回。对于包含人脸的图片,使用人脸embedding对召回结果进行排序。面对信息流海量的视频帧千万级的人脸索引,本申请实施例采用Retinaface(视网膜面)+Arcface(弧面)Resnet101(Residual Neural Network,残差神经网络)的方法来提取人脸嵌入特征。其中,Retinaface是一个one-stage(一步)的人脸检测网络,开源了widerface的人脸五个关键点标注数据,同时提出一个自监督的人脸编码器用于解决困难人脸的检测;ArcFace改进了对特征向量归一化和加性角度间隔,提高了类间可分性同时加强类内紧度和类间差异。本申请实施例通过标注业务当中经常出现的人脸和业务场景当中明星人脸(尤其是影视,综艺节目当中经常出现的明星)数据集上优化训练,可以得到高精度人脸embedding,用于人脸图片的检索,提高信息推荐的准确性。
S22:基于待检测多媒体信息的内容嵌入特征以及至少一个候选多媒体信息的内容嵌入特征,从至少一个候选多媒体信息中获取与待检测多媒体信息具有关联关系的目标多媒体信息;
具体的,该步骤主要涉及语义匹配与向量检索。在本申请实施例中,检索匹配的过程使用Faiss库,它是一种针对聚类和相似性搜索库,为稠密向量提供高效相似度搜索和聚类,支持十亿级别向量的搜索,是一种近似近邻搜索库。Faiss库包含相似性搜索的多种方法,核心模块包括高性能聚类、PCA、乘积量化(Product Quantization,PQ)。它假设实例被表示为向量,并用整数标识,同时向量可以与L2距离或点积进行比较相似性。即,将待检测多媒体信息的内容嵌入特征(向量)与候选多媒体信息的内容嵌入特征(向量)进行检索匹配。
需要说明的是,一般情况下,待检测多媒体信息的内容嵌入特征是基于一张图像而得到的,而候选多媒体信息的内容嵌入特征可以包括多张图像的图像嵌入特征(还可包含人脸嵌入特征)。具体的,在将待检测多媒体信息的内容嵌入特征与候选多媒体信息的内容嵌入特征进行检索匹配时,主要是指将各图像的图像嵌入特征进行匹配,如果还包含人脸嵌入特征时,还可将各人脸嵌入特征进行匹配。
例如,从待检测多媒体信息中提取的图像为图像A,该待检测多媒体信息对应的内容嵌入特征即图像A的图像嵌入特征。对应的一个候选多媒体信息中提取了三个图像,分别为图像B1,图像B2和图像B3。对应的,该候选多媒体信息对应的内容嵌入特征即包含图像B1的图像嵌入特征,图像B2的图像嵌入特征和图像B3的图像嵌入特征。则在进行特征匹配时,主要是将图像A的图像嵌入特征分别与图像B1、图像B2和图像B3的图像嵌入特征进行匹配,具体是指计算向量之间的距离(或点积)等,若图像B1、图像B2和图像B3中有至少一个图像与图像A的距离小于一定阈值时,即可确定该图像与图像A相似,此时即可确定该候选多媒体信息与待检测多媒体信息之间具有关联关系。
S23:基于待检测多媒体信息以及目标多媒体信息之间的关联关系,进行信息推荐。
在一种可选的实施方式中,在基于待检测多媒体信息以及目标多媒体信息之间的关联关系,进行信息推荐时,根据多媒体信息的形态,可以有以下几种方式:
方式一、若目标多媒体信息包含多个图像,则根据目标多媒体信息中各个图像的图像质量,从目标多媒体信息中选取至少一个图像,并将选取的图像作为待检测多媒体信息的关联图像,进行图像信息推荐。
该方法可用于内容排重,可以在找到图片对应的多个版本当中,选择图片质量最高(比如清晰度最高)的版本,优化最终启用内容的消费体验。
例如图4所示,其为本申请实施例中的一种图片与图片的多个版本的示意图。在图4中,显示的是两个不同版本的小猫,这两张图片之间的小猫是同样的,图像的清晰度不同。在本申请实施例中,基于图像与图像之间的关联关系,可以向用户进行相同或相似图像的推荐,另外还可用于内容排重等。
方式二、若目标多媒体信息包含至少一个视频,则将目标多媒体信息中的各个视频作为待检测多媒体信息的关联视频,进行视频信息推荐。
在本申请实施例中,图片与视频之间的关联关系主要是指图像可以是视频的封面图,可以是图文或者视频本身包含的图,也可以是视频当中抽帧的图,基础特征层,图文和视频包括图片内容的,预处理,特征提取(各种不同维度的特征,作为视频内容的基础,视频的图片各种长度的特征,视频时长,播放率,封面图,视频账号,视频内容声音的抽取得到的音转文,OCR提取字幕,视频本身所属于分类和标签信息,视频后验播放信息形成的分级漏斗信息),这些信息的抽取和组合。可以应用在视频去重,视频联播功能,视频定位(一个短视频处于另外一段视频当中的那个位置)等。
参阅图5所示,其为本申请实施例中的一种图像与视频的关联匹配结果。如图5所示,用户可通过点击左侧虚线框S51处的信息推荐控件,查看与图中所示的图片相关的视频,查看结果如右侧所示,当前界面显示有两个相关视频。
参阅图6所示,其为本申请实施例中的另一种图像与视频的关联匹配结果示意图。其中,图6所示的图像是图文内容中的一张,当前所示的界面为某一个电视剧剑X雨中的一张图像,在矩形框S61内还显示有该图片相关的视频,通过点击即可查看相关视频内容,实现图像与视频的关联匹配。
在本申请实施例中,上述列举的图像与视频的关联也可应用到内容排重场景下,可以在找到图片及对应视频信息多个版本当中,选择图片质量最高(比如清晰度最高)的版本,优化最终启用内容的消费体验;另外,当用户消费图文内容的时候,可以在图片下方显示相关视频推荐,例如图5或图6所示,即将图文内容和视频信息建立关联关系,将图文用户更好转换为视频信息的消费用户,激发用户查看更多感兴趣的内容。
另外待检测多媒体内容也可以是视频,该情况下,视频与视频之间的关联关系包括:(1)包含关系,完全是子集;(2)交叉关系,部分重叠,按照重叠比例不同定义。具体来说使用短视频结尾帧进行检索,找出可继续播放的短视频,尤其是电影+电视剧+综艺+动漫短视频,如果视频片段在播放结束可找到相连的短视频,对增加粘性很有帮助,最终实现短视频连续播放。
例如图7A所示,其为本申请实施例中的一种视频与视频的关联结果示意图。其中,在图7A中视频1中结尾部分的视频帧,与视频2中起始部分的视频帧相同,基于此可以实现视频的联播。
再比如图7B所示,其为本申请实施例中的另一种视频与视频的关联结果示意图。其中,图7B中视频3中结尾部分的视频帧,与视频4中起始部分的视频帧相似(这两帧视频帧包含相同的人物,只是部分人物状态不同),基于此也可以实现视频的联播。
在一种可选的实施方式中,若目标多媒体信息包含多个视频,则在进行视频信息推荐时,还可以将目标多媒体信息中的各个视频作为待检测多媒体信息的关联视频,并基于待检测多媒体信息与各个视频各自关联的时间点,进行视频信息推荐。
具体的,可以通过如下方式确定待检测多媒体信息与各个视频各自关联的时间点。参阅图8所示,其为本申请实施例中的一种关联时间点的确定方法的流程示意图。针对各个视频,分别执行以下操作:
S81:对于各个视频中的一个视频,将待检测多媒体信息中的待检测图像与一个视频中的至少一帧视频帧图像进行特征点匹配,其中,待检测图像为待检测多媒体信息中的图像,视频帧图像是对一个视频进行抽帧处理得到的;
S82:根据至少一帧视频帧图像与待检测图像的匹配结果,从至少一帧视频帧图像中确定与待检测图像相似度最高的视频帧图像;
S83:将确定的视频帧图像在一个视频中所处的时间点,作为待检测多媒体信息与一个视频关联的时间点。
例如,对于5个视频帧图像,分别将这5个视频帧图像与待检测图像进行特征点匹配,根据匹配结果,从这5个视频帧图像中选取出与待检测图像相似度最高的视频帧图像。然后,确定该视频帧图像在抽取得到该视频帧图像的视频中所处的时间点,进而将该时间点作为待检测多媒体信息与该视频关联的时间点。
在上述实施方式中,基于该关联的时间点,可以实现待检测多媒体信息与视频之间的关联。例如图7A或图7B所示,其中视频1中当前显示的待检测图像与视频2中当前显示的图像相同,即相匹配。以图7A所示为例,待检测多媒体信息即视频1,目标多媒体信息即视频2,此时视频1与视频2关联的时间点即t2时刻,当然,在待检测多媒体信息为视频时,关联的时间点还可包括待检测图像在待检测多媒体信息中所处的位置,即图7A所示的t1时刻。
在本申请实施例中,特征点匹配主要是指两幅图像的SIFT特征匹配,因而在将待检测多媒体信息中的待检测图像与一个视频中的至少一帧视频帧图像进行特征点匹配时,针对至少一帧视频帧图像,分别执行以下操作:
对于至少一帧视频帧图像中的一个视频帧图像,获取待检测图像中的任意一个特征点,并在一个视频帧图像中获取与任意一个特征点距离最近的两个特征点;若两个特征点与任意一个特征点的距离的比值小于预设比例阈值,则确定待检测图像与一个视频帧图像相匹配。
例如:对于待检测多媒体信息中的待检测图像A以及目标多媒体信息中的视频帧图像B,当两幅图像的SIFT特征向量生成后,下一步采用关键点特征向量的欧式距离来作为两幅图像中关键点的相似性判定度量。首先获取图像A中的一个特征点a,并在图像B中获取与该特征点a欧式距离最近的前两个特征点,分别为特征点b1和特征点b2。其中,在判断视频帧图像B中的两个特征点与待检测图像A中的任意一个特征点的距离比值时,是将特征点b1与特征点b2中,距离特征点a的次近距离与最近距离的比值。
比如特征点b1与特征点a的距离为d1,特征点b2与特征点a的距离为d2。其中,d1>d2,则次近距离为d1,最近距离为d2,若d1/d2小于预设比例阈值,则接受这一对匹配点。需要说明的是,预设比例阈值可以根据经验设置。在增大该预设比例阈值时,SIFT匹配点数目会减少,但更加稳定。
在本申请实施例中,通过上述实施方式能够将视频之间时间关系串联起来,实现同一故事情节续播,满足用户沉浸式体验,可以实现连续播放及内容剧集的组织播放,有效增加播放的时间和用户体验;对于内容排重,可以在找到图片及对应视频内容多个版本当中,选择图片质量最高(比如清晰度最高)的版本,优化最终启用内容的消费体验;当用户消费图文内容时候,可在图片下方显示相关视频推荐,即将图文内容和视频内容可以建立关联关系,将图文用户更好转换为视频内容的消费用户,激发用户查看更多感兴趣的内容。
参阅图9所示,其为本申请实施例中的一种基于图片与视频关联的信息流内容分发的方法和系统流程图。通过图片与视频关联可定位图片的所属视频,通过查找图片的源视频并定位所在视频中的位置,实现图片与视频,视频与视频,图文与视频的关联拓展能力。具体包括图像embedding+人脸embedding+特征点特征和向量检索+语义匹配校验这几部分。主要通过图3当中的视频及人脸embedding模型及服务来抽取特征,最后通过向量检索服务来实现匹配过程,通过内容解析与关联识别服务来获取图文当前的图片(或者视频比如封面)作为输入来完成匹配检索和校验过程,从而完成关联拓展。
下面重点描述一下基于图片与视频关联的信息流信息推荐的方法和系统各个服务模块的主要功能如下:
一、内容生产和消费端。
(1)PGC或者UGC,MCN内容生产者,通过移动端或者后端接口应用程序编程接口(Application Programming Interface,API)系统,提供视频信息,这些都是推荐分发内容的主要内容来源;
(2)通过和上下行内容接口服务的通讯,视频信息发布通常是一个拍摄摄影端,拍摄过程当中本地视频信息可以选择搭配的音乐,剪辑,选择封面图,滤镜模板和视频的美化功能等等;
(3)作为消费者,和上下行内容接口服务器通讯,推过推荐获取访问内容的索引信息,然后和内容存储服务器通讯,获取对应的内容包括推荐得到内容,专题订阅的内容,内容存储服务器存储的是内容实体比如视频源文件,封面图的图片源文件,而内容的元信息比如标题,作者,封面图,分类,标签(Tag)信息等等存储在内容数据库;
(4)同时将上传和下载过程当中用户播放的行为数据,卡顿,加载时间,播放点击等上报给后端用于统计分析;
(5)消费端通常通过Feeds流方式浏览内容数据。
二、上下行内容接口服务器。
(1)和内容生产端直接通讯,从前端提交的内容,通常是内容的标题,发布者,摘要,封面图,发布时间,把文件存入内容数据库;
(2)将内容的元信息,比如文件大小,封面图链接,标题,发布时间,作者等信息写入内容数据库;
(3)将发布的提交的内容同步给调度中心服务器,进行后续的内容处理和流转。
三、内容数据库。
(1)内容的核心数据库,所有生产者发布内容的元信息都保存在这个业务数据库当中,重点是内容本身的元信息比如文件大小,封面图链接,码率,文件格式,标题,发布时间,作者,视频文件大小,视频格式,是否原创的标记或者首发还包括人工审核过程中对内容的分类(包括一,二,三级别分类和标签信息,比如一篇讲解华为手机的内容,一级分科是科技,二级分类是智能手机,三级分类是国内手机,标签信息是A品牌,B型号);
(2)人工审核过程当中会读取内容数据库当中的信息,同时人工审核的结果和状态也会回传进入内容数据库;
(3)调度中心对内容处理主要包括机器处理和人工审核处理,本申请实施例中机器处理包括各种质量判断比如低质过滤,内容标签比如分类,标签信息,还有就是内容相似排查,结果会写入内容数据库,完全重复一样的内容不会给人工进行重复的二次处理,节省审核的人力资源。
四、调度中心&人工审核系统。
(1)负责内容流转的整个调度过程,通过上下行内容接口服务器接收入库的内容,然后从内容数据库中获取内容的元信息;
(2)调度人工审核系统和机器处理系统,控制调度的顺序和优先级;
(3)通过人工审核系统内容被启用,然后通过内容出口分发服务(通常是推荐引擎或者搜索引擎或者运营)直接的展示页面提供给终端的内容消费者,也就是消费端获得的内容索引信息,通常是内容访问的入口地址;
(4)人工审核系统是人工服务能力的载体,主要用于审核过滤政治敏感,色情,法律不允许等机器无法确定判断的内容,同时还对进行视频内容的标签标注。
五、内容存储服务。
(1)存储内容的元信息之外的内容实体信息,比如视频源文件和图文内容的图片源文件;
(2)在获取视频内容标签特征的时候,提供视频源文件包括源文件中间的抽帧内容和音频信息的临时存储,避免重复抽取。
六、下载文件系统。
(1)从内容存储服务器下载和获取原始的内容,控制下载的速度和进度,通常是一组并行的服务器,有相关的任务调度和分发集群构成;
(2)下载完成的文件调用视频抽帧服务从源文件当中获取必要的视频文件的视频帧,作为后续构造视频的图像embedding向量服务的基础输入,为了定位能给定位到视频足够的粒度,本申请实施例采用均匀抽帧。
七、视频抽帧服务。
(1)按照上面提到的算法和策略,对下载文件系统从内容存储服务上下载到的文件进行文件特征的初级处理;
(2)按照上面描述的视频模态和音频模态的特征构建方法,来抽取视频的帧图像作为视频查找,视频的关联数据源)对于抽帧,问题在于时长不同的挑战,如果全部使用均匀抽帧策略(比如1秒抽取1帧,而不是1秒5),如果是1秒5帧,会导致采样频率过高增加抽帧的负担和计算量,计算成本急剧增大,因而在本申请实施例中采用1秒1帧的均匀抽帧,这样可以定位图片帧在视频帧的那一秒的位置,在图片和视频关联的场景下粒度够了。
八、视频及人脸embedding生成服务。
(1)按照上文中描述的算法Retinaface+arcface resnet101可以构建图像的人脸embedding;
(2)这个人脸的embedding还需要针对业务场景当中明星人脸数据集上优化训练。
九、向量检索服务。
(1)如上文所述,在构建的图片及人脸向量embedding向量生成服务基础上,使用Faiss库来存储和管理向量,同时使用Faiss的向量匹配检索功能作为检索服务的基础;
(2)与内容关联与识别服务通讯,完成基础的图片与向量管理的检索服务的底层实现。
十、内容关联与识别服务。
(1)对于图文内容,通常会包含多张图片,本申请实施例需要解析原始图文内容,抽取其中配置的图片,然后将图片进行向量化embedding;
需要说明的是,其中图文内容可以理解为关联识别的输入图片,比如一篇新发布图文内容当中有很多张图片,这里的每一种图片都可以用来进行检索查找定位的输入,查找哪些视频当中包含这个图片。
(2)然后通过向量化embedding作为查询的入口来检索所有视频信息(视频信息按照秒抽帧),得到关联的视频文件帧,进而可以得到是哪个具体视频的那一秒,实现内容的关联。
下面以图片和视频关联为例,对整个图片与视频关联的具体处理流程进行详细介绍:
1、对于图文内容当中包含的图片,通过一系列的图片预处理,最终结果保存在数据高速缓冲存储器(Dcache)内存当中;
2、对图片进行预处理,包括,黑白边,拼接图预处理过滤,然后对图像多标签进行分类和过滤(有些分类图片比如低俗,不适图片过滤,具体基于业务策略);
在本申请实施例中,该步骤可以理解为是图片的预处理过程,对于低质量的图片识别过滤掉,黑白边是指图片边框有白色或者黑色的边框填充,拼接图是指几张图片拼接为一张图片,这些都是典型的低质量图片,这里预处理是指通过质量分类模型识别出来后过滤掉的处理过程。
3、然后按照上述的图像嵌入特征的提取方法提取图片的embedding向量;
4、对图片当中如果出现有人物的部分,进行人脸检测得到人脸的embedding向量;
5、对于新增的短视频内容,抽取关键帧,然后按照视频的不同类别,提取视频关键帧的embedding向量;
需要说明的是,在本申请实施例中的信息流内容处理链路中,自媒体作者在持续发布新的内容,即多媒体信息,对于发布的内容会抽取视频帧抽取向量存储在Faiss库中,这里新增是相对于已经存在向量库中之外的新增多媒体信息。
6、将视频内容进行抽帧处理(具体抽帧可以采用抽取关键帧和均匀抽帧,比如每秒1帧,记录帧和对应的时间戳,这样可以定位到秒级的精度)的embedding向量存在Faiss分布式的索引库当中,视频帧都存在云对象存储(Cloud Object Storage,COS)当中,COS优点是存储无格式限制、无存储容量上限、稳定性高等等;
7、进而,通过内容解析与关联识别服务解析的图片作为查询的入库图片来检索Faiss库,首先将图片按照上面计算方法得到图片的embedding向量,然后在召回和排序本申请实施例调用Faiss库的接口来完成查询和检索过程;
在本申请实施例中,检索Faiss库的时候,需要用这个图片的embeeding作为输入和构建存量内容的embeeding。
8、进行SIFT特征点的匹配和校验;
其中,该步骤中的校验可以理解为二级验证,比如前面Faiss库检索召回一个集合B(B1,B2,…,Bn),当中有很多图是输入Faiss检索的图Pic相似,这里校验就是对B当中的每一张和Pic做一次匹配验证,进一步确认最相似的。
9、得到图片出现所在视频对应的视频帧,通过视频帧能得到原始视频和对应视频帧所处的时间点位置。
在实际使用中发现深度卷积神经网络提取的图片embedding很难同时拥有很强的召回能力和排序能力,召回需要embedding对图片全局进行刻画,而排序需要更细致地比较图像局部的特征,因此引入了SIFT特征点匹配,可对图像的细节处进行刻画和比较,结合人脸embedding,对召回结果进行排序和校验,可在保证准确率的前提下,将召回率提升。
综上,在本申请实施例中,使用短视频抽取的视频帧进行关联,找出可继续播放的短视频,实现视频的连续播放,增加时长,同时能够增加用户的粘性,将图片与视频,图片与图片,视频与视频之间建立关联,实现连续播放;另外,图文内容消费用户与视频内容消费用户缺少直接的关联和内容层面的联动,都是通过内容消费来沉淀画像信息,然后通过画像信息利用推荐系统来进行模型匹配,收敛和关联的时效很长,相关技术中的方案和流程对这个联动和关联处理很少,没有建立联动;有效实现图片内容消费与视频内容消费场景的相互渗透,扩大整个内容消费规模和增加粘性。
参阅图10所示,为本申请实施例提供的另一种信息推荐方法的实施流程图,该方法的具体实施流程如下:
S101:响应于针对待检测多媒体信息的查看操作,显示包含待检测多媒体信息的信息展示页面,信息展示页面还包括信息推荐控件;
S102:响应于针对信息推荐控件的触发操作,显示包含至少一个与待检测多媒体信息具有关联关系的目标多媒体信息的信息推荐页面,其中,目标多媒体信息是基于待检测多媒体信息的图像展示内容以及至少一个候选多媒体信息的图像展示内容,从至少一个候选多媒体信息中获取的,待检测多媒体信息的图像展示内容以及至少一个候选多媒体信息中的各个多媒体信息的图像展示内容,是通过对各个多媒体信息中的图像进行语义化特征提取得到的。
需要说明的是,其中的图像展示内容是基于对各个多媒体信息中的至少一个图像进行语义化特征提取得到的。
在多媒体信息为视频内容时,具体选取的至少一个图像可以是对多媒体信息进行抽帧处理获得的,其中,抽取的视频帧为该多媒体信息中的关键帧,与通过均匀抽帧得到的视频帧中的一种或多种,具体抽帧方法可参见上述实施例,重复之处不再赘述。
例如图5所示,其中左侧所示的页面为本申请实施例中的一种信息展示页面,右侧所示的页面为本申请实施例中的一种信息推荐页面。在图5左侧所示的信息展示页面中,待检测多媒体信息为左图中的图片,该信息展示页面为网页,对应的信息推荐控件即S51,位于待检测多媒体信息中的左下方。当用户点击该控件时,终端设备执行步骤S102,显示图5右侧所示的信息推荐页面,在该信息推荐页面中显示有两个相关视频,即本申请实施例中的目标多媒体信息。
再比如图6所示,其中所示的页面为本申请实施例中的另一种信息展示页面和信息推荐页面的示意图。在图6所示的信息展示页面中的待检测多媒体信息也是图片,对应的信息展示页面是矩形框S61中的这部分区域,即本申请实施例中的信息展示页面和信息推荐页面也可以是同一页面,也可以是浮层。弹窗等。其中的信息推荐控件即S62,位于待检测多媒体信息的下方。当用户点击该控件时,终端设备执行步骤S102,播放S61中的目标多媒体信息。
另外,还可根据待检测多媒体信息与至少一个目标多媒体信息之间关联的时间点,在信息推荐页面进行多媒体信息连续播放,具体实施方式可参见上述实施例,重复之处不再赘述。
本申请实施例能够基于待检测多媒体信息和候选多媒体信息的图像展示内容,分析多媒体信息之间的关联关系,并基于多媒体信息之间的关联关系,来进行信息推荐。具体的,本申请通过将待检测多媒体信息与候选多媒体信息进行嵌入特征匹配,进而选取与待检测多媒体信息具有关联关系的目标多媒体信息,然后基于待检测多媒体信息与目标多媒体信息之间的关联关系,向用户进行信息推荐时,可有效推送与待检测多媒体信息相关联的内容,有效提高了推荐信息之间的关联性,进而提升推荐信息的准确性。
基于相同的发明构思,本申请实施例还提供一种信息推荐装置。如图11所示,其为本申请实施例中的一种信息推荐装置1100的结构示意图,可以包括:
特征提取单元1101,用于对待检测多媒体信息以及至少一个候选多媒体信息进行语义化特征提取,获取待检测多媒体信息的内容嵌入特征,以及至少一个候选多媒体信息的内容嵌入特征;
信息获取单元1102,用于基于待检测多媒体信息的内容嵌入特征以及至少一个候选多媒体信息的内容嵌入特征,从至少一个候选多媒体信息中获取与待检测多媒体信息具有关联关系的目标多媒体信息;
信息推荐单元1103,用于基于待检测多媒体信息以及目标多媒体信息之间的关联关系,进行信息推荐。
可选的,特征提取单元1101具体用于:
针对待检测多媒体信息以及至少一个候选多媒体信息中的各个多媒体信息,分别执行以下操作:
针对各个多媒体信息中的一个多媒体信息,对一个多媒体信息中的至少一个图像进行语义化特征提取,获取至少一个图像的图像嵌入特征,并将图像嵌入特征作为一个多媒体信息的内容嵌入特征。
可选的,若至少一个图像中有包含对象的图像时,特征提取单元1101具体用于:
对于至少一个图像中包含对象的各个图像,分别对各个图像包含的对象进行对象识别后,提取对象的人脸嵌入特征,并将对象的人脸嵌入特征作为多媒体信息的内容嵌入特征。
可选的,一个多媒体信息为视频内容时,特征提取单元1101还用于通过如下方式确定一个多媒体信息中的至少一个图像:
对一个多媒体信息进行抽帧处理,获得至少一个图像,其中,抽取的视频帧为一个多媒体信息中的关键帧,与通过均匀抽帧得到的视频帧中的一种或多种。
可选的,特征提取单元1101具体用于:
针对至少一个图像,分别执行以下操作:
对于至少一个图像中的一个图像,确定一个图像所属的图像类别,并根据确定的图像类别对一个图像进行特征提取,获得一个图像的初始嵌入特征;
通过主成分分析方法对初始嵌入特征进行降维处理,确定一个图像对应的图像嵌入特征。
可选的,信息获取单元1102具体用于:
将待检测多媒体信息的内容嵌入特征,分别与各个候选多媒体信息的内容嵌入特征进行比对;
根据比对结果选取包含有目标图像的候选多媒体信息,并将选取的候选多媒体信息作为与待检测多媒体信息具有关联关系的目标多媒体信息,其中,目标图像与待检测多媒体信息中的至少一个图像的图像相似度大于预设阈值。
可选的,信息推荐单元1103具体用于:
若目标多媒体信息包含多个图像,则根据目标多媒体信息中各个图像的图像质量,从目标多媒体信息中选取至少一个图像,并将选取的图像作为待检测多媒体信息的关联图像,进行图像信息推荐;
若目标多媒体信息包含至少一个视频,则将目标多媒体信息中的各个视频作为待检测多媒体信息的关联视频,进行视频信息推荐。
可选的,若目标多媒体信息包含至少一个视频,信息推荐单元1103具体用于:
若目标多媒体信息包含多个视频,则将目标多媒体信息中的各个视频作为待检测多媒体信息的关联视频,并基于待检测多媒体信息与各个视频各自关联的时间点,进行视频信息推荐。
可选的,信息推荐单元1103还用于通过下列方式确定待检测多媒体信息与各个视频各自关联的时间点:
针对各个视频,分别执行以下操作:
对于各个视频中的一个视频,将待检测多媒体信息中的待检测图像与一个视频中的至少一帧视频帧图像进行特征点匹配,其中,待检测图像为待检测多媒体信息中的图像,视频帧图像是对一个视频进行抽帧处理得到的;
根据至少一帧视频帧图像与待检测图像的匹配结果,从至少一帧视频帧图像中确定与待检测图像相似度最高的视频帧图像;
将确定的视频帧图像在一个视频中所处的时间点,作为待检测多媒体信息与一个视频关联的时间点。
可选的,信息推荐单元1103具体用于:
针对至少一帧视频帧图像,分别执行以下操作:
对于至少一帧视频帧图像中的一个视频帧图像,获取待检测图像中的任意一个特征点,并在一个视频帧图像中获取与任意一个特征点距离最近的两个特征点;
若两个特征点与任意一个特征点的距离的比值小于预设比例阈值,则确定待检测图像与一个视频帧图像相匹配。
基于相同的发明构思,本申请实施例还提供一种信息推荐装置。如图12所示,其为本申请实施例中的一种信息推荐装置1200的结构示意图,可以包括:
第一响应单元1201,用于响应于针对待检测多媒体信息的查看操作,显示包含待检测多媒体信息的信息展示页面,信息展示页面还包括信息推荐控件;
第二响应单元1202,用于响应于针对信息推荐控件的触发操作,显示包含至少一个与待检测多媒体信息具有关联关系的目标多媒体信息的信息推荐页面,其中,目标多媒体信息是基于待检测多媒体信息的图像展示内容以及至少一个候选多媒体信息的图像展示内容,从至少一个候选多媒体信息中获取的,待检测多媒体信息以及至少一个候选多媒体信息中的各个多媒体信息的图像展示内容,是通过对各个多媒体信息中的图像进行语义化特征提取得到的。
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本申请时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
在介绍了本申请示例性实施方式的信息推荐方法和装置之后,接下来,介绍根据本申请的另一示例性实施方式的用于信息推荐的电子设备。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,本申请实施例可以统称为“电路”、“模块”或“系统”。
与上述方法实施例基于同一发明构思,本申请实施例中还提供了一种电子设备。在一种实施例中,该电子设备可以是服务器,如图1所示的服务器130。在该实施例中,电子设备的结构可以如图13所示,包括存储器1301,通讯模块1303以及一个或多个处理器1302。
存储器1301,用于存储处理器1302执行的计算机程序。存储器1301可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。
存储器1301可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器1301也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);或者存储器1301是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1301可以是上述存储器的组合。
处理器1302,可以包括一个或多个中央处理单元(central processing unit,CPU)或者为数字处理单元等等。处理器1302,用于调用存储器1301中存储的计算机程序时实现上述信息推荐方法。
通讯模块1303用于与终端设备和其他服务器进行通信。
本申请实施例中不限定上述存储器1301、通讯模块1303和处理器1302之间的具体连接介质。本申请实施例在图13中以存储器1301和处理器1302之间通过总线1304连接,总线1304在图13中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线1304可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器1301中存储有计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于实现本申请实施例的信息推荐方法。处理器1302用于执行上述的信息推荐方法,如图2中所示的步骤或图10中所示的步骤。
在另一种实施例中,电子设备也可以是其他电子设备,如图1所示的终端设备110。在该实施例中,电子设备的结构可以如图14所示,包括:通信组件1410、存储器1420、显示单元1430、摄像头1440、传感器1450、音频电路1460、蓝牙模块1470、处理器1480等部件。
通信组件1410用于与服务器进行通信。在一些实施例中,可以包括电路无线保真(Wireless Fidelity,WiFi)模块,WiFi模块属于短距离无线传输技术,电子设备通过WiFi模块可以帮助用户收发信息。
存储器1420可用于存储软件程序及数据。处理器1480通过运行存储在存储器1420的软件程序或数据,从而执行终端设备110的各种功能以及数据处理。存储器1420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器1420存储有使得终端设备110能运行的操作系统。本申请中存储器1420可以存储操作系统及各种应用程序,还可以存储执行本申请实施例信息推荐方法的代码。
显示单元1430还可用于显示由用户输入的信息或提供给用户的信息以及终端设备110的各种菜单的图形用户界面(graphical user interface,GUI)。具体地,显示单元1430可以包括设置在终端设备110正面的显示屏1432。其中,显示屏1432可以采用液晶显示器、发光二极管等形式来配置。显示单元1430可以用于显示本申请实施例中的多媒体信息推荐相关的界面等等。
显示单元1430还可用于接收输入的数字或字符信息,产生与终端设备110的用户设置以及功能控制有关的信号输入,具体地,显示单元1430可以包括设置在终端设备110正面的触摸屏1431,可收集用户在其上或附近的触摸操作,例如点击按钮,拖动滚动框等。
其中,触摸屏1431可以覆盖在显示屏1432之上,也可以将触摸屏1431与显示屏1432集成而实现终端设备110的输入和输出功能,集成后可以简称触摸显示屏。本申请中显示单元1430可以显示应用程序以及对应的操作步骤。
摄像头1440可用于捕获静态图像,用户可以将摄像头1440拍摄的图像通过视频客户端上传评论。摄像头1440可以是一个,也可以是多个。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给处理器1480转换成数字图像信号。
终端设备还可以包括至少一种传感器1450,比如加速度传感器1451、距离传感器1452、指纹传感器1453、温度传感器1454。终端设备还可配置有陀螺仪、气压计、湿度计、温度计、红外线传感器、光传感器、运动传感器等其他传感器。
音频电路1460、扬声器1461、传声器1462可提供用户与终端设备110之间的音频接口。音频电路1460可将接收到的音频数据转换后的电信号,传输到扬声器1461,由扬声器1461转换为声音信号输出。终端设备110还可配置音量按钮,用于调节声音信号的音量。另一方面,传声器1462将收集的声音信号转换为电信号,由音频电路1460接收后转换为音频数据,再将音频数据输出至通信组件1410以发送给比如另一终端设备110,或者将音频数据输出至存储器1420以便进一步处理。
蓝牙模块1470用于通过蓝牙协议来与其他具有蓝牙模块的蓝牙设备进行信息交互。例如,终端设备可以通过蓝牙模块1470与同样具备蓝牙模块的可穿戴电子设备(例如智能手表)建立蓝牙连接,从而进行数据交互。
处理器1480是终端设备的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器1420内的软件程序,以及调用存储在存储器1420内的数据,执行终端设备的各种功能和处理数据。在一些实施例中,处理器1480可包括一个或多个处理单元;处理器1480还可以集成应用处理器和基带处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,基带处理器主要处理无线通信。可以理解的是,上述基带处理器也可以不集成到处理器1480中。本申请中处理器1480可以运行操作系统、应用程序、用户界面显示及触控响应,以及本申请实施例的信息推荐方法。另外,处理器1480与显示单元1430耦接。
在一些可能的实施方式中,本申请提供的信息推荐方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的信息推荐方法中的步骤,例如,计算机设备可以执行如图2中所示的步骤或图10中所示的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算装置上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被命令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算装置上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算装置上部分在远程计算装置上执行、或者完全在远程计算装置或服务器上执行。在涉及远程计算装置的情形中,远程计算装置可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户计算装置,或者,可以连接到外部计算装置(例如利用因特网服务提供商来通过因特网连接)。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。