发明内容
本申请实施例的目的旨在至少能解决上述的技术缺陷之一,特提出以下技术方案:
一方面,提供了一种信息推荐方法,包括:
获取第一多媒体信息,第一媒体信息包括至少一个第一多媒体片段;
确定至少一个第一多媒体片段的特征序列,特征序列用于表征第一多媒体片段包括的内容信息;
基于至少一个第一多媒体片段的特征序列,从多媒体信息库中确定至少一个候选多媒体信息;
基于至少一个第一多媒体片段的特征序列,确定至少一个候选多媒体信息中的每一个候选多媒体信息与第一多媒体信息之间的交叉比,交叉比用于表征两个多媒体信息之间的交叉程度;
根据交叉比,从至少一个候选多媒体信息中确定目标多媒体信息,并向用户推荐目标多媒体信息。
一方面,提供了一种信息推荐装置,包括:
获取模块,用于获取第一多媒体信息,第一媒体信息包括至少一个第一多媒体片段;
第一确定模块,用于确定至少一个第一多媒体片段的特征序列,特征序列用于表征第一多媒体片段包括的内容信息;
第二确定模块,用于基于至少一个第一多媒体片段的特征序列,从多媒体信息库中确定至少一个候选多媒体信息;
第三确定模块,用于基于至少一个第一多媒体片段的特征序列,确定至少一个候选多媒体信息中的每一个候选多媒体信息与第一多媒体信息之间的交叉比,交叉比用于表征两个多媒体信息之间的交叉程度;
处理模块,用于根据交叉比,从至少一个候选多媒体信息中确定目标多媒体信息,并向用户推荐目标多媒体信息。
在一种可能的实现方式中,多媒体信息库中存储有至少一个第二多媒体信息,第二多媒体信息包括至少一个第二多媒体片段的特征序列;
第二确定模块用于:
针对每个第一多媒体片段的特征序列,计算多媒体信息库中的各个第二多媒体片段的特征序列分别与每个第一多媒体片段的特征序列之间的第一相似度;
将最大的N个第一相似度分别对应的第二多媒体片段,确定为候选多媒体片段,并根据N个候选多媒体片段,确定至少一个候选多媒体信息,N为正整数。
在一种可能的实现方式中,第二确定模块在根据N个候选多媒体片段,确定至少一个候选多媒体信息时,执行以下任一项:
将满足预定条件的第二多媒体信息确定为候选多媒体信息,预定条件是包含候选多媒体片段的数量不小于预定阈值;
将N个候选多媒体片段分别对应的第二多媒体信息均确定为候选多媒体信息。
在一种可能的实现方式中,第三确定模块用于:
根据每一个候选多媒体信息包括的至少一个第二多媒体片段的特征序列与第一多媒体信息包括的至少一个第一多媒体片段的特征序列,确定每一个候选多媒体信息与第一多媒体信息之间的平均相似度;
基于平均相似度,确定第一多媒体信息与每一个候选多媒体信息之间的交叉比。
在一种可能的实现方式中,第三确定模块在基于霍夫投票法,根据每一个候选多媒体信息包括的至少一个第二多媒体片段的特征序列与第一多媒体信息包括的至少一个第一多媒体片段的特征序列,确定每一个候选多媒体信息与第一多媒体信息之间的平均相似度时,用于:
确定至少一个第一多媒体片段的特征序列分别与至少一个第二多媒体片段的特征序列之间的错位时间差;
针对每个错位时间差,计算至少一个第二多媒体片段的特征序列分别与相对应的第一多媒体片段的特征序列之间的第二相似度,并将计算得到的至少一个第二相似度的和值,确定为平均相似度,
其中,每个第二多媒体片段的特征序列对应的第一多媒体片段的特征序列是每个第二多媒体片段的特征序列在每个错位时间差下所对应的第一多媒体片段的特征序列。
在一种可能的实现方式中,第三确定模块在基于平均相似度,确定第一多媒体信息与每一个候选多媒体信息之间的交叉比时,用于:
确定计算得到的至少一个平均相似度中的最大值;
根据最大值对应的错位时间差、第一多媒体信息包括的第一多媒体片段的数量以及每一个候选多媒体信息包括的第二多媒体片段的数量,确定第一多媒体信息与每一个候选多媒体信息之间的交叉比。
在一种可能的实现方式中,第一确定模块在确定第一多媒体信息的至少一个第一多媒体片段的特征序列时,是通过预训练的时序分割网络TSN实现的;
其中,第一确定模块在通过预训练的TSN,确定第一多媒体信息的至少一个第一多媒体片段的特征序列时,用于:
对第一多媒体信息进行抽帧,得到多个多媒体帧;
确定多个多媒体帧分别对应的帧特征序列;
针对每个第一多媒体片段,将每个第一多媒体片段包括的至少一个多媒体帧的帧特征序列的平均,确定为每个第一多媒体片段的特征序列。
在一种可能的实现方式中,预训练的TSN包括基于预定数据集训练得到的批归一化卷积神经网络BN-Inception;
第一确定模块在确定多个多媒体帧分别对应的帧特征序列时,用于:
通过BN-Inception,提取多个多媒体帧分别对应的帧特征序列。
一方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述的推荐方法。
一方面,提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述的推荐方法。
本申请实施例提供的推荐方法,确定出第一多媒体信息对应的一个或多个候选多媒体信息后,通过确定各个候选多媒体信息分别与第一多媒体信息之间的交叉比,可以获得两个多媒体信息在时间维度上的细粒度的交叉信息,能够根据该交叉信息可形成多媒体信息在时序上的交叉关系链,从而可以利用该交叉关系链进行多媒体信息的推荐,根据交叉比进行多媒体信息的推荐,不仅可以极大提高推荐结果的准确性,利于进行多媒体信息的精准推荐,极大提升多媒体信息推荐的用户体验。
本申请实施例附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面以具体地实施例对本申请实施例的技术方案以及本申请实施例的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
在本申请实施例中,不仅可以通过人工智能技术,来基于第一多媒体片段的特征序列,从多媒体信息库中确定至少一个候选多媒体信息,而且可以通过人工智能技术,来基于第一多媒体片段的特征序列,确定每一个候选多媒体信息与第一多媒体信息之间的交叉比,便于后续可以准确地根据交叉比向用户推荐目标多媒体信息。
其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本申请实施例提供的方法涉及人工智能的机器学习及自然语言处理等技术,具体通过如下实施例进行说明:
本申请一个实施例提供了一种信息推荐方法,该方法由计算机设备执行,该计算机设备可以是终端或者服务器。终端可以是台式设备或者移动终端。服务器可以是独立的物理服务器、物理服务器集群或者虚拟服务器。如图1所示,该方法包括:
步骤S110,获取第一多媒体信息,第一媒体信息包括至少一个第一多媒体片段;步骤S120,确定至少一个第一多媒体片段的特征序列,特征序列用于表征第一多媒体片段包括的内容信息;步骤S130,基于至少一个第一多媒体片段的特征序列,从多媒体信息库中确定至少一个候选多媒体信息;步骤S140,基于至少一个第一多媒体片段的特征序列,确定至少一个候选多媒体信息分别与第一多媒体信息之间的交叉比,交叉比用于表征两个多媒体信息之间的交叉程度;步骤S150,根据交叉比,从至少一个候选多媒体信息中确定目标多媒体信息,并向用户推荐目标多媒体信息。
大数据(Big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
在大数据领域中,多媒体信息可以是视频、音频、文字及图形图像等,本申请实施例不对其作限制。第一多媒体信息是指用户当前查看的多媒体信息,也可以称为当前多媒体信息或query(查询)多媒体信息。多媒体信息库中存储有海量的多媒体信息,用户可以在多媒体信息库中查找自己感兴趣的多媒体信息。
在一个示例中,假如第一多媒体信息是10秒长的视频,且以10秒为一个多媒体片段,则可以将第一多媒体信息划分为1个多媒体片段(即第一多媒体片段)。其中,如果每个多媒体帧的时长为1秒,即第一多媒体信息包括10个多媒体帧,则1个第一多媒体片段包括第一多媒体信息的10个多媒体帧;如果每个多媒体帧的时长为10秒,即第一多媒体信息包括1个多媒体帧,则1个第一多媒体片段包括第一多媒体信息的1个多媒体帧,即每个第一多媒体片段包括至少一个多媒体帧。
在又一示例中,假如第一多媒体信息是20秒长的视频,每个多媒体帧的时长为1秒,且以5秒为一个多媒体片段,则可以将第一多媒体信息划分为4个多媒体片段(即第一多媒体片段),即第一多媒体信息包括4个第一多媒体片段,其中,每个第一多媒体片段包括第一多媒体信息的5个多媒体帧。
在又一示例中,假如第一多媒体信息是15秒长的视频,每个多媒体帧的时长为1秒,且将第一多媒体信息划分为4个多媒体片段(即第一多媒体片段),则:在一种情况下,第1个第一多媒体片段可以是包括1个多媒体帧的多媒体片段,第2个第一多媒体片段可以是包括3个多媒体帧的多媒体片段,第3个第一多媒体片段可以是包括6个多媒体帧的多媒体片段,第4个第一多媒体片段可以是包括5个多媒体帧的多媒体片段;在另一种情况下,第1个第一多媒体片段可以是包括2个多媒体帧的多媒体片段,第2个第一多媒体片段可以是包括4个多媒体帧的多媒体片段,第3个第一多媒体片段可以是包括6个多媒体帧的多媒体片段,第4个第一多媒体片段可以是包括3个多媒体帧的多媒体片段。当然,每个第一多媒体片段也可以包括其它数量的多媒体帧,本申请实施不对其作限制。
下面以第一多媒体信息是20秒长的视频、第一多媒体信息包括4个第一多媒体片段(分别记作Clip_C1、Clip_C2、Clip_C3及Clip_C4)、且每个第一多媒体片段包括5个多媒体帧为例,对本申请实施例的信息推荐方法进行具体介绍:
首先,确定第一多媒体信息包括的4个第一多媒体片段的特征序列,即分别确定Clip_C1的特征序列(记作T_Clip_C1)、Clip_C2的特征序列(记作T_Clip_C2)、Clip_C3的特征序列(记作T_Clip_C3)及Clip_C4的特征序列(记作T_Clip_C4)。其中,第一多媒体片段的特征序列表征了第一多媒体片段中包括的内容信息。
接着,基于T_Clip_C1、T_Clip_C2、T_Clip_C3及T_Clip_C4从多媒体信息库中确定至少一个候选多媒体信息。其中,从多媒体信息库中确定出的候选多媒体信息可以是1个、2个、5个等等,本申请实施不对其作限制,假如确定出的候选多媒体信息是2个,分别为M_H1与M_H2。
接着,确定M_H1与M_H2分别与第一多媒体信息之间的交叉比,其中,交叉比表征了两个多媒体信息之间的交叉程度,比如高交叉比代表交叉程度高,低交叉比代表交叉程度低,交叉程度代表了两个多个媒体信息分别包括的内容信息的重复情况,其中,交叉程度高代表两个多个媒体信息之间存在较多的重复内容,交叉程度低代表两个多个媒体信息之间存在较少的重复内容。在实际的信息流场景下的多媒体信息推荐中,如果给用户推荐两个重复内容比较多的多媒体信息,会给用户带来较差的用户体验,而根据多媒体信息之间的交叉程度(表征内容重复情况或内容关联情况),向用户推荐多媒体信息,可以有效避免将与当前多媒体信息存在较多重复内容的多媒体信息再次推荐给用户,从而提高推荐结果的准确性,提高用户体验。
其中,两个多个多媒体信息的交叉比可以是两个多媒体信息的交叉时长与较短多媒体信息的时长的比值,该较短多媒体信息的时长是指两个多媒体信息的时长中较短的那个的时长,交叉时长代表了两个多媒体信息分别包括的内容信息的重复部分的时长,可以有效衡量多媒体信息包括的内容信息的重复情况。在一个示例中,假如第一个多媒体信息的时长是20秒,第二个多媒体信息的时长是30秒,且第一个多媒体信息与第二个多媒体信息的交叉时长是15秒,则交叉比为:15/20=0.75。
通过确定各个候选多媒体信息分别与第一多媒体信息之间的交叉比,可以获得两个多媒体信息在时间维度上的细粒度的交叉信息,其中,时间维度上的细粒度的交叉信息是指两个多媒体信息之间重复部分的内容信息的起止时间(记作交叉时间),比如两个多媒体信从第X1秒或分开始存在重复内容,一直至第Y1秒或分结束重复,其中,Y1大于X1。
在获取到各个多媒体信息之间重复部分的内容信息的起止时间后,可以形成多媒体信息之间的交叉时间关系链,利于进行多媒体信息的个性化或针对性推荐,例如第一多媒体信息与M_H1的交叉时间为从第X1秒开始到第Y1秒结束,且第一多媒体信息与M_H2的交叉时间为从第X2秒开始到第Y2秒结束,Y2大于X1,且第一多媒体信息与候选多媒体信息M_H3的交叉时间为从第X3秒开始到第Y3秒结束,Y3大于X3,从而形成第一多媒体信息与各个候选多媒体信息之间的交叉时间关系链。
接着,根据计算出的交叉比,从M_H1与M_H2中确定目标多媒体信息,并向用户推荐目标多媒体信息。在一个示例中,假如M_H1与第一多媒体信息之间的交叉比为0.8,M_H2与第一多媒体信息之间的交叉比为0.6,则:当确定的交叉比阈值为0.7时,可以将交叉比小于该阈值的M_H2均推荐给用户;当确定的交叉比阈值小于0.6时,则此时可以将M_H1和M_H2均不推荐给用户。
需要说明的是,根据交叉比,从至少一个候选多媒体信息中确定目标多媒体信息,并向用户推荐目标多媒体信息的情形,除了上述示例所示的情形外,还包括其它可行的情形,例如,针对较高交叉比对应的候选多媒体信息进行打散,比如针对交叉比高的候选多媒体信息,不将其放在一起推荐,较高交叉比往往表示当前多媒体信息中的内容信息与候选多媒体中的内容信息极其相近或相同,此时,对其进行打散推荐(即将交叉比较高的几个候选多媒体信息分散开推荐,比如分为不同的推荐批次、不同推荐时间等),可以降低用户对重复内容或极其类同内容的视听,避免用户产生一种重复视听的不良体验。
又例如,针对较低交叉比对应的候选多媒体信息进行关联推荐,比如针对交叉比低的候选多媒体信息放在一起进行关联推荐,虽然较低交叉比往往表示当前多媒体信息中的内容信息与候选多媒体中的内容信息相近或相同的比例较低,但是其代表了候选多媒体信息与当前多媒体信息存在一定关联性,可推断出,其极有可能是用户感兴趣的内容类型,此时,对其进行关联推荐,比如将交叉比较低的几个候选多媒体信息一起进行推荐,又比如将当前多媒体信息片段(例如电视剧A的第一集)的下一个片段(例如电视剧A的第二集)推荐给用户,可以满足用户对相关多媒体内容的视听需求,提高用户视听体验。
本申请实施例提供的信息推荐方法,确定出第一多媒体信息对应的一个或多个候选多媒体信息后,通过确定各个候选多媒体信息分别与第一多媒体信息之间的交叉比,可以获得两个多媒体信息在时间维度上的细粒度的交叉信息,能够根据该交叉信息可形成多媒体信息在时间上的交叉关系链,从而可以利用该交叉关系链进行多媒体信息的推荐,根据交叉比进行多媒体信息的推荐,利于进行多媒体信息的精准推荐,极大提升多媒体信息推荐的用户体验。
下面对本申请实施例的信息推荐方法进行具体介绍:
在一种可能的实现方式中,确定第一多媒体信息的至少一个第一多媒体片段的特征序列,是通过预训练的时序分割网络TSN实现的;其中,在通过预训练的TSN,确定第一多媒体信息的至少一个第一多媒体片段的特征序列的过程中,可以执行如下处理:首先,对第一多媒体信息进行抽帧,得到多个多媒体帧;接着,确定多个多媒体帧分别对应的帧特征序列,其中,帧特征序列用于表征多媒体帧中包含的内容信息;接着,针对每个第一多媒体片段,将每个第一多媒体片段包括的至少一个多媒体帧的帧特征序列的平均,确定为每个第一多媒体片段的特征序列。
下面将以多媒体信息是视频为例进行具体介绍,相当于,第一多媒体信息是视频(记作当作视频)、第一多媒体片段是第一视频片段、多媒体帧为视频帧、候选多媒体信息也是视频(记作候选视频)、且多媒体信息库是视频库。具体如下所示:
在实际应用中,可以通过预训练的TSN(Temporal Segment Networks,时序分割网络),对当前视频依次进行抽帧与TSN特征提取,获得当前视频包括的至少一个第一视频片段的特征序列,其中,每个第一视频片段包括当前视频的至少一个视频帧,TSN是一种基于帧特征融合的视频特征网络结构。对当前视频进行抽帧,可以得到当前视频包括的多个视频帧;在得到多个视频帧后,可以对该多个视频帧分别进行TSN特征提取,从而得到多个视频帧分别对应的帧特征序列;在得多个帧特征序列后,可以根据各个帧特征序列,得到各个第一视频片段分别对应的特征序列。在根据各个帧特征序列,得到各个第一视频片段分别对应的特征序列的过程中,针对每个第一视频片段,可以将该每个第一视频片段包括的至少一个视频帧的帧特征序列的平均,确定为该每个第一视频片段的特征序列。
在一个示例中,假如一个视频片段为V_Clip_C1,V_Clip_C1包括4个视频帧,分别为V_F1、V_F2、V_F3及V_F4,通过TSN特征提取,得到V_F1的帧特征序列为S_F1、V_F2的帧特征序列为S_F2、V_F3的帧特征序列为S_F3及V_F4的帧特征序列为S_F4,则V_Clip_C1的特征序列可以表示为:(S_F1+S_F2+S_F3+S_F4)/4,即一个视频片段的特征序列是对其包括的各个视频帧的帧特征序列进行平均后的平均特征序列。
其中,预训练的TSN包括基于预定数据集(例如ImageNet数据集)训练得到的BN-Inception网络,BN(Batch Normalization,批归—化)-Inception即Inception V2,是一种图像特征的卷积神经网络结构;其中,ImageNet数据集是目前深度学习图像领域应用得非常多的一个数据库,关于图像分类、定位、检测等研究工作大多基于此数据集展开。在通过预训练的TSN确定多个多媒体帧分别对应的帧特征序列的过程中,可以通过BN-Inception网络,提取多个多媒体帧分别对应的帧特征序列。
在通过预训练的TSN,确定第一多媒体信息的至少一个第一多媒体片段的特征序列之前,需要预先基于机器学习,使用海量的训练数据对TSN进行离线训练,得到预训练的TSN。海量的训练数据可以是电影中的短视频、电视剧中的短视频及其它的一些短视频等等,并以其ip名称(即电影名称或电视剧名称或短视频名称)作为标签。其中,机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
其中,TSN的网络结构如图2所示。结合图2所示的TSN的网络结构,在使用上述的电影中的短视频、电视剧中的短视频及其它的一些短视频等海量的训练数据,对TSN进行大规模多分类训练的过程中,可以先对输入的视频(即训练数据)进行抽帧、分段采样及图像增强等预处理,得到视频的M个代表帧(即M个视频帧),M为正整数;接着,使用预定数据集(例如ImageNet数据集)预训练的BN-Inception网络作为主干网络提取每个视频帧的特征序列;接着,使用TSN的特征融合策略,即将M个视频帧的特征序列分别经全连接层线性变换,输出各类别下的预测值,对各类别下的M个预测值求平均,获得最终的分类预测结果。
通过预训练的TSN对帧级别的特征序列进行特征融合,来获取视频片段级别的特征序列,相较于3D系列网络,在特征表达性不损失的前提下,计算成本更低、速度更快。
需要说明的是,上述是以多媒体信息是视频为例进行的介绍,对于音频、文字或图片等多媒体信息,其处理过程与上述的视频的处理过程类似,在此不再赘述。
在一种可能的实现方式中,在基于至少一个第一多媒体片段的特征序列,从多媒体信息库中确定至少一个候选多媒体信息的过程中,可以执行如下处理:首先,针对每个第一多媒体片段的特征序列,计算多媒体信息库中的各个第二多媒体片段的特征序列分别与每个第一多媒体片段的特征序列之间的第一相似度;接着,将最大的N个第一相似度分别对应的第二多媒体片段,确定为候选多媒体片段,并根据N个候选多媒体片段,确定至少一个候选多媒体信息,N为正整数。其中,多媒体信息库中存储有至少一个第二多媒体信息的至少一个第二多媒体片段的特征序列,每个第二多媒体片段包括对应的第二多媒体信息的至少一个多媒体帧。
为了便于描述,下面仍以多媒体信息是视频为例进行具体介绍,相当于,第一多媒体信息是视频(记作当作视频)、第一多媒体片段是第一视频片段、多媒体帧为视频帧、多媒体信息库是视频库、第二多媒体信息是待推荐视频、第二多媒体片段是第二视频片段、候选多媒体信息是从待推荐视频中筛选出的视频(记作候选视频)。
视频库中存储有至少一个待推荐视频的至少一个视频片段(即第二视频片段)的特征序列。在一个示例中,视频库中存储有待推荐视频T_V1的1个第二视频片段的特征序列、待推荐视频T_V2的3个第二视频片段的特征序列及待推荐视频T_V3的5个第二视频片段的特征序列。需要说明的是,该示例只是对视频库的示例性说明,在实际应用中视频库中存储有海量待推荐视频各自对应的至少一个视频片段(即第二视频片段)的特征序列,其中,每个第二视频片段包括相对应的待推荐视频的至少一个视频帧。
上述视频库中的各个待推荐视频各自对应的至少一个第二视频片段的特征序列,也是基于上述的预训练的TSN预先得到的。其中,通过预训练的TSN得到各个待推荐视频各自对应的至少一个第二视频片段的特征序列的过程,与上述通过预训练的TSN得到当前视频的至少一个第一视频片段的特征序列的过程类似,在此不再赘述。
在基于当前视频的至少一个第一视频片段的特征序列,从视频库中确定至少一个候选视频的过程中,可以执行如下处理步骤:
步骤A1,针对每个第一视频片段的特征序列,计算视频库中的海量待推荐视频各自对应的至少一个第二视频片段的特征序列,分别与当前视频的至少一个第一视频片段的特征序列之间的相似度(即上述的第一相似度)。在实际应用中,该第一相似度可以是余弦相似度,由于余弦相似度是通过计算两个向量的夹角余弦值来评估他们的相似度,所以可以将特征序列看作是一个特征向量,通过计算两个特征向量之间的余弦相似度,来得到两个特征序列之间的第一相似度,其中,采用余弦相似度可以不仅可以准确计算出两特征序列之间的相似度,而且计算复杂度低、计算量小。
在一个示例中,假如视频库中存储有待推荐视频T_V1的1个视频片段的特征序列、待推荐视频T_V2的3个视频片段的特征序列及待推荐视频T_V3的5个视频片段的特征序列,且当前视频有3个第一视频片段,则:
计算T_V1的1个视频片段的特征序列与当前视频的3个第一视频片段的特征序列之间的余弦相似度(即第一相似度),得到3个余弦相似度;同时,计算T_V2的3个视频片段的特征序列分别与当前视频的3个第一视频片段的特征序列之间的余弦相似度,得到9个余弦相似度,相当于,依次计算T_V2的第1个视频片段的特征序列与当前视频的3个第一视频片段的特征序列之间的余弦相似度、计算T_V2的第2个视频片段的特征序列与当前视频的3个第一视频片段的特征序列之间的余弦相似度、以及计算T_V2的第3个视频片段的特征序列与当前视频的3个第一视频片段的特征序列之间的余弦相似度;同时,计算T_V2的5个视频片段的特征序列分别与当前视频的3个第一视频片段的特征序列之间的余弦相似度,得到15个余弦相似度。
步骤A2,在得到视频库中的各个第二视频片段的特征序列分别与当前视频的每个第一视频片段的特征序列之间的第一相似度后,可以对得到的各个第一相似度进行排序,例如将各个第一相似度按由小到大的顺序进行排序,此时可以选取排序最靠后的N个第一相似度,并将该N个第一相似度分别对应的第二视频片段,确定为候选视频片段,又例如,将各个第一相似度按由大到小的顺序进行排序,此时可以选取排序最靠前的N个第一相似度,并将该N个第一相似度分别对应的第二视频片段,确定为候选视频片段。相当于,将最大的N个第一相似度分别对应的第二视频片段,确定为候选视频片段。其中,N为正整数。
上述将最大的N个第一相似度分别对应的第二视频片段,确定为候选视频片段,即得到了可能与当前视频存在交叉关系的候选视频片段的集合。
步骤A3,根据N个候选视频片段,确定至少一个候选视频,即根据该N个候选视频片段,从视频库中筛选出一个或多个候选视频,相当于对N个候选视频片段进行融合和筛选,得到需要与当前视频进行细粒度的交叉比计算的候选视频,从而便于后续从该一个或多个候选视频中确定目标视频,从而向用户推荐该目标视频,其中,目标视频可以是一个或多个。
在根据N个候选视频片段,确定至少一个候选视频的过程中,可以将满足预定条件的待推荐视频确定为候选视频,其中,预定条件是包含候选视频片段的数量不小于预定阈值;也只可以将N个候选视频片段分别对应的待推荐视频均确定为候选视频。
在实际应用中,在得到N个候选视频片段后,可能是该N个候选视频片段分别对应于不同的待推荐视频,也可能是该N个候选视频片段中的一部分对应于一个待推荐视频、N个候选视频片段中的另一部分对应于另一个待推荐视频、N个候选视频片段中的再一部分对应于再一个待推荐视频,即一个待推荐视频对应于N个候选视频片段中的一个或多个。基于此,可以将N个候选视频片段分别对应的待推荐视频均确定为候选视频,也可以将包含候选视频片段的数量不小于预定阈值的待推荐视频确定为候选视频。
在一个示例中,假如N为20,即得到20个候选视频片段,则:在一种可行的方式中,当该20个候选视频片段分别对应于不同的待推荐视频,即得到20个待推荐视频,此时可以将该20个待推荐视频均作为候选视频;当该20个候选视频片段中的3个对应于待推荐视频T_V1、该20个候选视频片段中的7个对应于待推荐视频T_V2、且该20个候选视频片段中的10个对应于待推荐视频T_V3时,可以将待推荐视频T_V1、T_V2及T_V3确定为候选视频。在另一种可行的方式中,可以将包括候选视频片段的数量不小于预定阈值的待推荐视频确定为候选视频,假如预定阈值为5,则可以将待推荐视频T_V2与T_V3确定为候选视频。
在实际应用中,可以引入大规模相似向量检索框架faiss,来快速召回与当前视频可能存在交叉关系的候选视频片段,即利用大规模相似向量检索框架faiss,来计算视频库中的各个第二视频片段的特征序列分别与当前视频的每个第一视频片段的特征序列之间的余弦相似度(即第一相似度),来提升计算效率和性能。其中,faiss是为稠密向量提供高效相似度搜索和聚类的框架,是Facebook开源的大规模相似向量检索框架。利用faiss检索框架粗召相似特征,有效提升相似特征的计算效率。
需要说明的是,上述是以多媒体信息是视频为例进行的介绍,对于音频、文字或图片等多媒体信息,其处理过程与上述的视频的处理过程类似,在此不再赘述。
在一种可能的实现方式中,在基于至少一个第一多媒体片段的特征序列,确定至少一个候选多媒体信息中的每一个候选多媒体信息与第一多媒体信息之间的交叉比的过程中,可以执行如下处理:首先,根据每一个候选多媒体信息包括的至少一个第二多媒体片段的特征序列与第一多媒体信息包括的至少一个第一多媒体片段的特征序列,确定每一个候选多媒体信息与第一多媒体信息之间的平均相似度;接着,基于平均相似度,确定第一多媒体信息与每一个候选多媒体信息之间的交叉比。
为了便于描述,下面仍以多媒体信息是视频为例进行具体介绍,相当于,第一多媒体信息是视频(记作当作视频)、第一多媒体片段是第一视频片段、多媒体帧为视频帧、多媒体信息库是视频库、第二多媒体信息是待推荐视频、第二多媒体片段是第二视频片段、候选多媒体信息是从待推荐视频中筛选出的视频(记作候选视频)。
在实际应用中,可以基于霍夫投票法,确定至少一个候选视频分别与当前视频之间的交叉比,其中,霍夫投票法优势在于使用序列特征相似度的累积值进行检测,对视频片段中存在的噪音不敏感,即通过统计上的“投票”来取得更加置信的结果,使得细粒度的交叉比计算有较高的准确率,即进行基于霍夫投票的交叉比计算,可以取得精准的细粒度识别结果。
其中,上述的霍夫投票法是引用图像上的霍夫变换的思想,做出一个一维的基于时序的霍夫投票,相当于是一个一维的时间上的霍夫变换。通过霍夫投票法,将查找视频之间的重复内容的交叉时长,变换为时间维度上的计算不同时间差下的相似度,从而根据在各个不同时间差下分别累积计算出的相似度的最大值,推断出视频之间的重复内容的交叉时长的大小。
在基于霍夫投票法,确定至少一个候选视频分别与当前视频之间的交叉比的过程中,可以执行如下处理步骤:
步骤B1,针对每个候选视频,基于霍夫投票法,根据每个候选视频包括的至少一个第二视频片段的特征序列与当前视频包括的至少一个第一视频片段的特征序列,确定每个候选视频与当前视频之间的平均相似度。
在一个示例中,假如当前视频包括3个视频片段(即第一视频片段),候选视频分别为待推荐视频T_V2与T_V3,且待推荐视频T_V2包括3个视频片段(即第二视频片段)、待推荐视频T_V3包括5个视频片段(即第二视频片段),则:
(1)针对候选视频T_V2,基于霍夫投票法,根据候选视频T_V2包括的3个第二视频片段的特征序列与当前视频包括的3个第一视频片段的特征序列,确定候选视频T_V2与当前视频之间的平均相似度;
(2)针对候选视频T_V3,基于霍夫投票法,根据候选视频T_V3包括的5个第二视频片段的特征序列与当前视频包括的3个第一视频片段的特征序列,确定候选视频T_V3与当前视频之间的平均相似度。
步骤B2,在确定出每个候选视频与当前视频之间的平均相似度后,可以基于确定出的平均相似度,确定当前视频与每个候选视频之间的交叉比。
在基于霍夫投票法,根据每个候选视频包括的至少一个第二视频片段的特征序列与当前视频包括的至少一个第一视频片段的特征序列,确定每个候选视频与当前视频之间的平均相似度的过程中,具体可以执行如下处理:
步骤C1,确定当前视频包括的至少一个第一视频片段的特征序列分别与每个候选视频包括的至少一个第二多媒体视频片段的特征序列之间的错位时间差;
步骤C2,针对每个错位时间差,计算至少一个第二视频片段的特征序列分别与相对应的第一视频片段的特征序列之间的第二相似度,并将计算得到的至少一个第二相似度的和值,确定为平均相似度。其中,每个第二视频片段的特征序列对应的第一视频片段的特征序列是每个第二视频片段的特征序列在每个错位时间差下所对应的第一视频片段的特征序列。
下面以上述的候选视频T_V2为例,对步骤C1与步骤C2进行具体介绍:
在一个示例中,假如当前视频包括q个(例如3个)第一视频片段,该3个第一视频片段的特征序列分别为T_Clip_C1、T_Clip_C2及T_Clip_C3,候选视频T_V2包括b个(例如3个)第二视频片段,该3个第二视频片段的特征序列分别为T_Clip_H1、T_Clip_H2及T_Clip_H3,且当前视频的特征序列和候选视频的特征序列之间存在错位(即两个特征序列不对齐),则:
针对上述的步骤C1,确定当前视频包括的3个第一视频片段的特征序列(分别为T_Clip_C1、T_Clip_C2及T_Clip_C3)分别与候选视频T_V2包括的3个第二视频片段的特征序列(分别为T_Clip_H1、T_Clip_H2及T_Clip_H3)之间的错位时间差,即分别确定T_Clip_C1与T_Clip_H1之间的错位时间差δ1、T_Clip_C1与T_Clip_H2之间的错位时间差δ2、T_Clip_C1与T_Clip_H3之间的错位时间差δ3、T_Clip_C2与T_Clip_H1之间的错位时间差δ4、T_Clip_C2与T_Clip_H2之间的错位时间差δ5、T_Clip_C2与T_Clip_H3之间的错位时间差δ6、T_Clip_C3与T_Clip_H1之间的错位时间差δ7、T_Clip_C3与T_Clip_H2之间的错位时间差δ8及T_Clip_C3与T_Clip_H3之间的错位时间差δ9,从而得到所有可能的错位时间差(即δ1、δ2、δ3、δ4、δ5、δ6、δ7、δ8及δ9)。其中,错位时间差是指两个特征序列之间因存在错位而在时间维度上产生的偏差(即时间偏差),比如,两个特征序列的起始时间之间的差值。
针对上述的步骤C2,在得到所有可能的错位时间差(即δ1、δ2、δ3、δ4、δ5、δ6、δ7、δ8及δ9)后,可以针对每个错位时间差,均执行如下处理:计算各个第二视频片段的特征序列分别与相对应的第一视频片段的特征序列之间的相似度(即第二相似度)。下面以错位时间差δ1为例进行具体介绍:
(1)计算第1个第二视频片段的特征序列T_Clip_H1与相对应的第一视频片段的特征序列之间的相似度(记作P11),例如计算余弦相似度,其中,该第一视频片段的特征序列是T_Clip_H1在δ1下所对应的第一视频片段的特征序列。在一个示例中,假如将T_Clip_H1的标识信息(例如ID)记作tj,且j=1,则第一视频片段的特征序列的标识信息(例如ID)可以表示为:tj+δ1,即计算第tj个第二视频片段的特征序列与第tj+δ1个第一视频片段的特征序列之间的余弦相似度。
(2)计算第2个第二视频片段的特征序列T_Clip_H2与相对应的第一视频片段的特征序列之间的相似度(记作P12),例如计算余弦相似度,其中,该第一视频片段的特征序列是T_Clip_H2在δ1下所对应的第一视频片段的特征序列。在一个示例中,假如将T_Clip_H2的标识信息(例如ID)记作tj,且j=2,则第一视频片段的特征序列的标识信息(例如ID)可以表示为:tj+δ1,即计算第tj个第二视频片段的特征序列与第tj+δ1个第一视频片段的特征序列之间的余弦相似度。
(3)计算第3个第二视频片段的特征序列T_Clip_H3与相对应的第一视频片段的特征序列之间的相似度(记作P13),例如计算余弦相似度,其中,该第一视频片段的特征序列是T_Clip_H3在δ1下所对应的第一视频片段的特征序列。在一个示例中,假如将T_Clip_H3的标识信息(例如ID)记作tj,且j=3,则第一视频片段的特征序列的标识信息(例如ID)可以表示为:tj+δ1,即计算第tj个第二视频片段的特征序列与第tj+δ1个第一视频片段的特征序列之间的余弦相似度。
上述针对错位时间差δ1下的两个特征序列之间的第二相似度的计算过程,同样适应于针对错位时间差δ2、δ3、δ4、δ5、δ6、δ7、δ8及δ9下的两个特征序列之间的第二相似度的计算,在此不再赘述。
基于上述方式得到各个错位时间差下,各个第二视频片段的特征序列分别与各自对应的第一视频片段的特征序列之间的第二相似度后,可以将计算得到的各个第二相似度的和值确定为候选视频T_V2与当前视频之间的平均相似度。
在实际应用中,采用霍夫投票法计算视频之间的交叉比的示意图如图3所示,图3左侧的三条线分别代表当前视频的一个视频片段的特征序列、一个候选视频(例如T_V2)的一个视频片段的特征序列与另一个候选视频(例如T_V3)的一个视频片段的特征序列,图3的右侧为平均相似度-时间差的时域分布图,表示当前视频与第一个候选视频间的平均相似度、当前视频与第二个候选视频间的平均相似度。
如图3所示,假如当前视频的各个视频片段的特征序列的ID为ti,i=1,2,...,q,即当前视频有q个视频片段,候选视频T_V2的各个视频片段的特征序列的ID为tj,j=1,2,...,b,即候选视频T_V2有b个视频片段,且假定当前视频的特征序列和候选视频的特征序列之间存在错位,错位时间差为δt=ti=1,2,...,q-tj=1,2,...,b,其中,t的取值范围为1、2、...、q*b,则:可以得到在δt下,当前视频与候选视频之间的交叉部分的平均相似度,可以表示为:
其中,h(δt)为当前视频与候选视频之间的交叉部分的平均相似度,s(tj,tj+δt)为候选视频的第tj个视频片段的特征序列与当前视频的第tj+δt个视频片段的特征序列之间的相似度。在一个示例中,针对δ1,h(δ1)=s(t1,t1+δ1)+s(t2,t2+δ1)+...+s(tb,tb+δ1),针对δ2,h(δ2)=s(t1,t1+δ2)+s(t2,t2+δ2)+...+s(tb,tb+δ2),以此类推,h(δq*b)=s(t1,t1+δq*b)+s(t2,t2+δq*b)+...+s(tb,tb+δq*b)。
s(tj,tj+δt)具体可以表示为:
其中,
表示候选视频T_V2的第t
j个视频片段的特征序列,
表示当前视频的第t
j+δ
t个视频片段的特征序列。遍历所有可能的δ
t,即可绘制出如图3右侧所示的h(δ
t)-δ
t的平均相似度-错位时间差的时域分布图。
如图3右侧所示,当两个视频交叉的部分完全对齐时,在该δt下的平均相似度经投票达到最大值,即通过检测时域上平均相似度的峰值,判断其是否满足阈值,就可判定两个视频间是否存在交叉。若两个视频间存在交叉,则可以将峰值处对应的δt带入交叉比计算公式cr=min(q-argmax(δt),b)/min(q,b),从而得到细粒度的交叉比cr。
相当于,基于平均相似度,确定当前视频与每个候选视频(例如候选视频T_V2)之间的交叉比的过程为:
步骤D1,确定计算得到的至少一个平均相似度中的最大值,即确定上述的h(δ1)、h(δ2)、...、h(δq*b)中的最大值,比如最大值为h(δ2)。
步骤D2,根据最大值对应的错位时间差(即argmax(δt))、第一视频包括的视频片段的数量(即q)以及每个候选视频包括的视频片段的数量(即b),确定当前视频与每个候选视频之间的交叉比。假如最大值为h(δ2),则最大值对应的错位时间差为δ2,此时,可以根据cr=min(q-δ2,b)/min(q,b),计算出当前视频与候选视频T_V2之间的交叉比cr。
结合上述关于本申请实施例的信息推荐方法的介绍,可以看出,整个信息推荐方法可以分为粗召和交叉比计算两个阶段。其中,在粗召环节,引入大规模相似向量检索框架faiss,来提升整个信息推荐系统的计算效率;在交叉比计算环节,使用霍夫投票方法,为不同时间差(即错位时间差)下的特征序列间的相似度进行投票,来获得较高的交叉比识别准确率。
图4给出了本申请实施例的信息推荐方法的整体框架,在图4中,包括两个阶段,分别为阶段1的粗召和阶段2的交叉比计算。下面对图4所示的整体过程进行简要介绍:
在粗召阶段,对当前视频(即图4中的QUERY视频)进行抽帧,得到各个视频帧,接着,针对各个视频帧进行TSN特征抽取,得到各个视频帧的帧特征序列,并基于抽取到的各个视频帧的帧特征序列得到当前视频的各个视频片段的特征序列,接着,针对当前视频的各个视频片段的特征序列在视频clip向量索引库中进行faiss检索,得到至少一个候选视频片段。其中,图4中的视频clip向量索引库即视频库(也即上述的多媒体信息库),该视频库中存储有多个视频(即上述的候选视频)各自对应的多个视频片段(即上述的候选视频片段)的特征序列,该视频库中的多个视频各自对应的多个视频片段的特征序列是预先离线计算得到的,其计算过程与上述的计算当前视频的各个视频片段的特征序列的过程类似,在此不再赘述。
在交叉比计算阶段,首先,对粗召阶段得到的至少一个候选视频片段进行融合筛选,获得待计算交叉比的至少一个候选视频,接着,采用霍夫投票算法,对粗召阶段得到的至少一个候选视频分别与当前视频进行细粒度的交叉比计算。基于识别出的细粒度交叉比,可形成视频在时序上的交叉关系链,利用该时序关系链,短视频推荐系统可对交叉比高的视频进行打散,对交叉比低的视频进行相关推荐,丰富短视频推荐的用户体验、提升消费指标。
其中,图4中的视频clip即为视频片段,视频片段是由视频中的某几帧组成的一个视频片段;图4中的匹配视频clip是指根据视频库中的各个视频片段的特征序列分别与当前视频中的各个视频片段的特征序列之间的相似度,确定可能与当前视频存在交叉关系的候选视频片段;图4中的cfs中存储的是当前视频的各个视频片段的特征序列。
本申请实施例的这种基于霍夫投票法的交叉比识别,可以快速准确的识别出视频间细粒度的交叉比,在短视频推荐场景下,利用视频间的交叉比信息,可在推荐打散、相关推荐等业务场景下,提升用户体验和消费指标。
本申请实施的使用预训练的TSN网络抽取视频特征,利用faiss检索框架粗召相似特征来提升计算效率,最终进行基于霍夫投票的交叉比计算,取得精准的细粒度识别结果。基于识别出的细粒度交叉比,可形成视频在时序上的交叉关系链,利用该时序关系链,短视频推荐系统可对交叉比高的视频进行打散,对交叉比低的视频进行相关推荐,丰富短视频推荐的用户体验、提升消费指标。
图5为本申请又一实施例提供的一种推荐装置的结构示意图,如图5所示,该装置500可以包括:获取模块501、第一确定模块502、第二确定模块503、第三确定模块504及处理模块505,其中:
获取模块501,用于获取第一多媒体信息,第一媒体信息包括至少一个第一多媒体片段;
第一确定模块502,用于确定至少一个第一多媒体片段的特征序列,特征序列用于表征第一多媒体片段包括的内容信息;
第二确定模块503,用于基于至少一个第一多媒体片段的特征序列,从多媒体信息库中确定至少一个候选多媒体信息;
第三确定504,用于基于至少一个第一多媒体片段的特征序列,确定至少一个候选多媒体信息中的每一个候选多媒体信息与第一多媒体信息之间的交叉比,交叉比用于表征两个多媒体信息之间的交叉程度;
处理模块505,用于根据交叉比,从至少一个候选多媒体信息中确定目标多媒体信息,并向用户推荐目标多媒体信息。
在一种可能的实现方式中,多媒体信息库中存储有至少一个第二多媒体信息,所述第二多媒体信息包括至少一个第二多媒体片段的特征序列;
第二确定模块用于:
针对每个第一多媒体片段的特征序列,计算多媒体信息库中的各个第二多媒体片段的特征序列分别与每个第一多媒体片段的特征序列之间的第一相似度;
将最大的N个第一相似度分别对应的第二多媒体片段,确定为候选多媒体片段,并根据N个候选多媒体片段,确定至少一个候选多媒体信息,N为正整数。
在一种可能的实现方式中,第二确定模块在根据N个候选多媒体片段,确定至少一个候选多媒体信息时,执行以下任一项:
将满足预定条件的第二多媒体信息确定为候选多媒体信息,预定条件是包含候选多媒体片段的数量不小于预定阈值;
将N个候选多媒体片段分别对应的第二多媒体信息均确定为候选多媒体信息。
在一种可能的实现方式中,第三确定模块用于:
根据每一个候选多媒体信息包括的至少一个第二多媒体片段的特征序列与第一多媒体信息包括的至少一个第一多媒体片段的特征序列,确定每一个候选多媒体信息与第一多媒体信息之间的平均相似度;
基于平均相似度,确定第一多媒体信息与每一个候选多媒体信息之间的交叉比。
在一种可能的实现方式中,第三确定模块在基于霍夫投票法,根据每一个候选多媒体信息包括的至少一个第二多媒体片段的特征序列与第一多媒体信息包括的至少一个第一多媒体片段的特征序列,确定每一个候选多媒体信息与第一多媒体信息之间的平均相似度时,用于:
确定至少一个第一多媒体片段的特征序列分别与至少一个第二多媒体片段的特征序列之间的错位时间差;
针对每个错位时间差,计算至少一个第二多媒体片段的特征序列分别与相对应的第一多媒体片段的特征序列之间的第二相似度,并将计算得到的至少一个第二相似度的和值,确定为平均相似度,其中,每个第二多媒体片段的特征序列对应的第一多媒体片段的特征序列是每个第二多媒体片段的特征序列在每个错位时间差下所对应的第一多媒体片段的特征序列。
在一种可能的实现方式中,第三确定模块在基于平均相似度,确定第一多媒体信息与每一个候选多媒体信息之间的交叉比时,用于:
确定计算得到的至少一个平均相似度中的最大值;
根据最大值对应的错位时间差、第一多媒体信息包括的第一多媒体片段的数量以及每一个候选多媒体信息包括的第二多媒体片段的数量,确定第一多媒体信息与每一个候选多媒体信息之间的交叉比。
在一种可能的实现方式中,第一确定模块在确定第一多媒体信息的至少一个第一多媒体片段的特征序列时,是通过预训练的时序分割网络TSN实现的;
其中,第一确定模块在通过预训练的TSN,确定第一多媒体信息的至少一个第一多媒体片段的特征序列时,用于:
对第一多媒体信息进行抽帧,得到多个多媒体帧;
确定多个多媒体帧分别对应的帧特征序列;
针对每个第一多媒体片段,将每个第一多媒体片段包括的至少一个多媒体帧的帧特征序列的平均,确定为每个第一多媒体片段的特征序列。
在一种可能的实现方式中,预训练的TSN包括基于预定数据集训练得到的BN-Inception网络;
第一确定模块在确定多个多媒体帧分别对应的帧特征序列时,用于:
通过BN-Inception网络,提取多个多媒体帧分别对应的帧特征序列。
本申请实施例提供的装置,确定出第一多媒体信息对应的一个或多个候选多媒体信息后,通过确定各个候选多媒体信息分别与第一多媒体信息之间的交叉比,可以获得两个多媒体信息在时间维度上的细粒度的交叉信息,能够根据该交叉信息可形成多媒体信息在时序上的交叉关系链,从而可以利用该交叉关系链进行多媒体信息的推荐,根据交叉比进行多媒体信息的推荐,不仅可以极大提高推荐结果的准确性,利于进行多媒体信息的精准推荐,极大提升多媒体信息推荐的用户体验。
需要说明的是,本实施例为与上述的方法项实施例相对应的装置项实施例,本实施例可与上述方法项实施例互相配合实施。上述方法项实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在上述方法项实施例中。
本申请另一实施例提供了一种电子设备,如图6所示,图6所示的电子设备600包括:处理器601和存储器603。其中,处理器601和存储器603相连,如通过总线602相连。进一步地,电子设备600还可以包括收发器604。需要说明的是,实际应用中收发器604不限于一个,该电子设备600的结构并不构成对本申请实施例的限定。
其中,处理器601应用于本申请实施例中,用于实现图5所示的第一确定模块、第二确定模块、第三确定模块及处理模块的功能。收发器604包括接收机和发射机。
处理器601可以是CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器601也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线602可包括一通路,在上述组件之间传送信息。总线602可以是PCI总线或EISA总线等。总线602可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器603可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM、CD-ROM或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器603用于存储执行本申请方案的应用程序代码,并由处理器601来控制执行。处理器601用于执行存储器603中存储的应用程序代码,以实现图5所示实施例提供的推荐装置的动作。
本申请实施例提供的电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,可实现:确定第一多媒体信息的至少一个第一多媒体片段的特征序列,每个第一多媒体片段包括第一多媒体信息的至少一个多媒体帧;接着,基于至少一个第一多媒体片段的特征序列,从多媒体信息库中确定至少一个候选多媒体信息;接着,确定至少一个候选多媒体信息分别与第一多媒体信息之间的交叉比,交叉比用于表征两个多媒体信息之间的交叉程度;接着,根据交叉比,从至少一个候选多媒体信息中确定目标多媒体信息,并向用户推荐目标多媒体信息。
本申请另一实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中提到的推荐方法的各种可能的实现方式。即本申请实施例提供的计算机程序产品或计算机程序适用于上述方法的任一实施例。
其中,确定出第一多媒体信息对应的一个或多个候选多媒体信息后,通过确定各个候选多媒体信息分别与第一多媒体信息之间的交叉比,可以获得两个多媒体信息在时间维度上的细粒度的交叉信息,能够根据该交叉信息可形成多媒体信息在时序上的交叉关系链,从而可以利用该交叉关系链进行多媒体信息的推荐,根据交叉比进行多媒体信息的推荐,不仅可以极大提高推荐结果的准确性,利于进行多媒体信息的精准推荐,极大提升多媒体信息推荐的用户体验。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。