一种确定内容相似度方法和基于相似度的内容推荐方法与流程

文档序号:26589749发布日期:2021-09-10 20:31阅读:95来源:国知局
一种确定内容相似度方法和基于相似度的内容推荐方法与流程

1.本技术涉及计算机技术领域,特别涉及一种确定内容相似度方法、装置、设备及介质,以及一种基于相似度的内容推荐方法、装置、设备以及介质。


背景技术:

2.随着大数据时代的到来,内容推荐已经成为面对海量互联网信息筛选问题时的最佳解决方案。
3.传统技术中的内容推荐通常依赖于用户的交互,或内容的曝光量进行分析处理。无论是在召回时还是排序处理时,传统的推荐算法通常会推荐热门的内容项或者符合用户喜好的内容项,这种推荐方式对用户的需求考虑较少,使得对于处在长尾的内容项有需求的用户很难找到自己感兴趣的内容,推荐效果差。


技术实现要素:

4.本技术实施例提供了一种确定内容相似度方法、装置、设备及介质。
5.第一方面,本技术实施例提供了一种确定内容相似度的方法,用于电子设备,所述方法包括:
6.确定第一内容和第二内容;
7.从所述第一内容中提取第一标准特征组,以及从所述第二内容中提取第二标准特征组,其中,所述第一/第二标准特征组是用于描述所述第一/第二内容中包括的至少部分图像信息和/或文本信息的向量组;
8.确定与所述第一内容和所述第二内容关联的标签,其中,所述标签是基于所述第一内容和所述第二内容的用户的交互确定的所述第一内容和所述第二内容的交互关联度;
9.对于所述第一标准特征组、所述第二标准特征组,进行mlp处理,得到第一向量、第二向量;以及
10.根据所述第一向量、所述第二向量,以及所述标签,计算所述第一内容和所述第二内容的相似度。
11.在上述第一方面的一种可能的实现中,当大于等于预设个所述用户与所述第一内容交互并且与所述第二内容交互时,所述标签数值为1,否则所述标签数值为0。
12.在上述第一方面的一种可能的实现中,所述mlp处理,包括:所述第一标准特征组和所述第二标准特征组分别通过mlp做非线性变换和压缩处理得到所述第一向量、所述第二向量。
13.在上述第一方面的一种可能的实现中,计算所述第一内容和所述第二内容的相似度,包括:将所述标签的数值应用到计算所述第一向量和所述第二向量之间的相似概率的计算公式,得到所述第一内容和第二内容的相似度。
14.在上述第一方面的一种可能的实现中,所述第一向量和所述第二向量之间的相似概率,如下式所示:p(label|v_a,v_b)=[\sigma(8*function(v_a,v_b)]^label*[1

\
sigma(8 *function(v_a,v_b)]^[1

label];其中,p表示所述第一向量和所述第二向量之间的相似概率;label表示所述标签;v_a表示所述第一向量;v_b表示所述第二向量;\sigma表示 sigmoid函数;function(v_a,v_b)表示所述第一向量和所述第二向量之间的相似度的函数。
[0015]
在上述第一方面的一种可能的实现中,所述function函数可以是所述第一向量和所述第二向量之间的余弦值、所述第一向量和所述第二向量之间的内积、所述第一向量和所述第二向量的差值的范数中的一种。
[0016]
在上述第一方面的一种可能的实现中,所述交互是指所述用户针对所述第一内容和所述第二内容均实施了预设的交互行为,所述预设的交互行为至少包括以下一种行为:点击,浏览,点赞,收藏,评论,发弹幕,加分享,关注作者,浏览时长超过一定阈值,进入作者个人页。
[0017]
在上述第一方面的一种可能的实现中,从所述第一内容中提取第一标准特征组,以及从所述第二内容中提取第二标准特征组,包括:分别从所述第一内容和所述第二内容中提取第一初始特征组、第二初始特征组,其中,所述第一初始特征组包括所述第一内容的第一初始图片,所述第一内容的第一初始文字;所述第二初始特征组包括所述第二内容的第二初始图片,所述第二内容的第二初始文字;对所述第一初始特征组和所述第二初始特征组进行特征提取的预处理得到所述第一标准特征组和所述第二标准特征组。
[0018]
在上述第一方面的一种可能的实现中,所述预处理包括:将所述第一初始图片和所述所述第一初始文字分别输入到inception

v3模型和bert模型进行处理,得到所述第一标准特征组;将所述第二初始图片和所述所述第二初始文字分别输入到所述inception

v3 模型和所述bert模型进行处理,得到所述第二标准特征组。
[0019]
在上述第一方面的一种可能的实现中,分别从所述第一内容和所述第二内容中提取以下中的至少一种作为所述第一初始图片或所述第二初始图片:静态图片、视频的某帧、动图的某帧。
[0020]
在上述第一方面的一种可能的实现中,分别从所述第一内容和所述第二内容中提取以下中的至少一种作为所述第一初始文字和所述第二初始文字:所述第一内容和所述第二内容中的标题,正文,评论,图片或视频的标注,视频和/或动图中的弹幕。
[0021]
在上述第一方面的一种可能的实现中,所述第一向量和所述第二向量的维度相同,且为64维。
[0022]
在上述第一方面的一种可能的实现中,所述方法还包括:用随机数初始化所述mlp 的权重参数。
[0023]
第二方面,本技术实施例提供了一种基于相似度的内容推荐方法,用于电子设备,所述方法包括:
[0024]
确定第一内容;
[0025]
根据上述第一方面的任意一种可能的方法,确定所述第一内容和第二内容的相似度,其中所述第二内容来自待推荐的内容的集合,以及
[0026]
确定所述第一内容和所述第二内容的所述相似度大于等于预设阈值,将所述第二内容确定作为推荐对象。
[0027]
第三方面,本技术实施例提供了一种确定内容相似度的装置,包括:
[0028]
确定模块,确定第一内容和第二内容;
[0029]
提取模块,从所述第一内容中提取第一标准特征组,以及从所述第二内容中提取第二标准特征组,其中,所述第一/第二标准特征组是用于描述所述第一/第二内容中包括的至少部分图像信息和/或文本信息的向量组;
[0030]
分析模块,确定与所述第一内容和所述第二内容关联的标签,其中,所述标签是基于所述第一内容和所述第二内容的用户的交互确定的所述第一内容和所述第二内容的交互关联度;
[0031]
对于所述第一标准特征组、所述第二标准特征组,进行mlp处理,得到第一向量、第二向量;以及
[0032]
计算模块,根据所述第一向量、所述第二向量,以及所述标签,计算所述第一内容和所述第二内容的相似度。
[0033]
在上述第三方面的一种可能的实现中,当大于等于预设个所述用户与所述第一内容交互并且与所述第二内容交互时,所述标签数值为1,否则所述标签数值为0。
[0034]
在上述第三方面的一种可能的实现中,所述mlp处理,包括:所述第一标准特征组和所述第二标准特征组分别通过mlp做非线性变换和压缩处理得到所述第一向量、所述第二向量。
[0035]
在上述第三方面的一种可能的实现中,计算所述第一内容和所述第二内容的相似度,包括:将所述标签的数值应用到计算所述第一向量和所述第二向量之间的相似概率的计算公式,得到所述第一内容和第二内容的相似度。
[0036]
在上述第三方面的一种可能的实现中,所述第一向量和所述第二向量之间的相似概率,如下式所示:p(label|v_a,v_b)=[\sigma(8*function(v_a,v_b)]^label*[1

\sigma(8 *function(v_a,v_b)]^[1

label];其中,p表示所述第一向量和所述第二向量之间的相似概率;label表示所述标签;v_a表示所述第一向量;v_b表示所述第二向量;\sigma表示 sigmoid函数;function(v_a,v_b)表示所述第一向量和所述第二向量之间的相似度的函数。
[0037]
在上述第三方面的一种可能的实现中,所述function函数可以是所述第一向量和所述第二向量之间的余弦值、所述第一向量和所述第二向量之间的内积、所述第一向量和所述第二向量的差值的范数中的一种。
[0038]
在上述第三方面的一种可能的实现中,所述交互是指所述用户针对所述第一内容和所述第二内容均实施了预设的交互行为,所述预设的交互行为至少包括以下一种行为:点击,浏览,点赞,收藏,评论,发弹幕,加分享,关注作者,浏览时长超过一定阈值,进入作者个人页。
[0039]
在上述第三方面的一种可能的实现中,从所述第一内容中提取第一标准特征组,以及从所述第二内容中提取第二标准特征组,包括:分别从所述第一内容和所述第二内容中提取第一初始特征组、第二初始特征组,其中,所述第一初始特征组包括所述第一内容的第一初始图片,所述第一内容的第一初始文字;所述第二初始特征组包括所述第二内容的第二初始图片,所述第二内容的第二初始文字;对所述第一初始特征组和所述第二初始特征组进行特征提取的预处理得到所述第一标准特征组和所述第二标准特征组。
[0040]
在上述第三方面的一种可能的实现中,所述预处理包括:将所述第一初始图片和
所述所述第一初始文字分别输入到inception

v3模型和bert模型进行处理,得到所述第一标准特征组;将所述第二初始图片和所述所述第二初始文字分别输入到所述inception

v3 模型和所述bert模型进行处理,得到所述第二标准特征组。
[0041]
在上述第三方面的一种可能的实现中,分别从所述第一内容和所述第二内容中提取以下中的至少一种作为所述第一初始图片或所述第二初始图片:静态图片、视频的某帧、动图的某帧。
[0042]
在上述第三方面的一种可能的实现中,分别从所述第一内容和所述第二内容中提取以下中的至少一种作为所述第一初始文字和所述第二初始文字:所述第一内容和所述第二内容中的标题,正文,评论,图片或视频的标注,视频和/或动图中的弹幕。
[0043]
在上述第三方面的一种可能的实现中,所述第一向量和所述第二向量的维度相同,且为64维。
[0044]
在上述第三方面的一种可能的实现中,所述方法还包括:用随机数初始化所述mlp 的权重参数。
[0045]
第四方面,本技术实施例提供了一种确定内容相似度设备,所述确定内容相似度设备包括:
[0046]
存储器,用于存储由系统的一个或多个处理器执行的指令,以及
[0047]
处理器,是系统的处理器之一,用于执行所述指令以实施上述第一方面的任意一种可能的方法。
[0048]
第五方面,本技术实施例提供了一种计算机可读介质,计算机可读介质上存储有指令,该指令在计算机上执行时可以使计算机执行上述第一方面的任意一种可能的方法。
[0049]
第六方面,本技术实施例提供了一种基于相似度的内容推荐装置,包括:
[0050]
获取模块,确定第一内容;
[0051]
处理模块,根据上述第一方面的任意一种可能的方法,确定所述第一内容和第二内容的相似度,其中所述第二内容来自待推荐的内容的集合,以及
[0052]
推荐模块,确定所述第一内容和所述第二内容的所述相似度大于等于预设阈值,将所述第二内容确定作为推荐对象。
[0053]
第七方面,本技术实施例提供了一种确定内容相似度设备,所述确定内容相似度设备包括:
[0054]
存储器,用于存储由系统的一个或多个处理器执行的指令,以及
[0055]
处理器,是系统的处理器之一,用于执行所述指令以实施上述第二方面的任意一种可能的方法。
[0056]
第八方面,本技术实施例提供了一种计算机可读介质,计算机可读介质上存储有指令,该指令在计算机上执行时可以使计算机执行上述第二方面的任意一种可能的方法。
[0057]
本技术与现有技术相比,其效果在于:
[0058]
现有技术中,对用户的需求考虑较少,使得对于处在长尾的内容项有需求的用户很难找到自己感兴趣的内容,推荐效果差。而本技术所公开的确定内容相似度的方法,结合了cf和cb两种方法,强制模型从内容中泛化,以学习用户在内容约定中隐含表达的内容相似性的视图,与现有技术中的cb2cf方法的不同之处在于,没有将内容映射到 cf向量中,而是强制该模型从内容中学习以推断由cf方法产生的增强的相似性信号,解决了长尾问题,
达到了在长尾的笔记和热门笔记之间建立相似关系,帮助嵌入模型从即便处于长尾的笔记中进行泛化以推断相似性的技术效果。
附图说明
[0059]
图1根据本技术的一些实施例,示出了一种推荐方法的长尾效应图;
[0060]
图2根据本技术的一些实施例,示出了一种确定内容相似度方法的应用场景图;
[0061]
图3根据本技术的一些实施例,示出了一种确定内容相似度方法的硬件结构框图;
[0062]
图4根据本技术的一些实施例,示出了一种确定内容相似度方法的体系结构图;
[0063]
图5根据本技术的一些实施例,示出了一种确定内容相似度方法的流程图;
[0064]
图6a根据本技术的一些实施例,示出了一种目标笔记示意图;
[0065]
图6b根据本技术的一些实施例,示出了根据图6a的目标笔记使用cf方法确定的随机笔记示意图;
[0066]
图6c根据本技术的一些实施例,示出了根据图6a的目标笔记使用本技术中的 ncb2cf方法确定的随机笔记示意图;
[0067]
图7根据本技术的一些实施例,示出了一种基于相似度的内容推荐方法的流程图;
[0068]
图8根据本技术的一些实施例,示出了一种确定内容相似度装置的结构示意图;
[0069]
图9根据本技术的一些实施例,示出了一种基于相似度的内容推荐装置的结构示意图。
具体实施方式
[0070]
本技术的说明性实施例包括但不限于一种确定内容相似度方法、装置、设备以及介质和一种基于相似度的内容推荐方法、装置、设备以及介质。
[0071]
可以理解,本技术提供的确定内容相似度方法可以在各种电子设备上实施,包括但不限于,服务器、多个服务器组成的分布式服务器集群、手机、平板电脑、膝上型计算机、台式计算机、可穿戴设备、头戴式显示器、移动电子邮件设备、便携式游戏机、便携式音乐播放器、阅读器设备、个人数字助理、虚拟现实或者增强现实设备、其中嵌入或耦接有一个或多个处理器的电视机等电子设备等。
[0072]
可以理解,在本技术各实施例中,处理器可以是微处理器、数字信号处理器、微控制器等,和/或其任何组合。根据另一个方面,所述处理器可以是单核处理器,多核处理器等,和/或其任何组合。
[0073]
下面对本技术实施例的发明构思进行简要介绍。
[0074]
目前,在推荐系统中,内容到内容的推荐是其中用以呈现与用户喜欢的内容的最相似内容的关键组件。有一种内容推荐的实现方案,采用表征为基于协同过滤(cf)方法或基于内容的(cb)方法来进行计算内容相似性的计算。其中,cf通常用于各种个性化任务,该算法根据用户的隐式反馈建立类似的项表;cb通常仅仅基于内容描述,图像等信息来计算内容相似性。然而在许多推荐系统的馈送内容中出现了长尾效应。图1根据本技术的一些实施例,示出了一种推荐方法的长尾效应图。如图1所示,长尾效应表现在仅有少量的内容获得了大部分的用户参与,而大量的内容没有或很少有用户交互。长尾效应使得 cf的相似性测量效率较低,这是因为用户参与许多内容的稀疏性,即当对构成社会媒体平台中的内容
的主要部分的内容(即,长尾或新内容)没有或很少反馈时,cf方法受到限制,此时会采用cb的方法。然而,纯粹基于内容的相似性测量也有缺点,cb方法忽略用户的历史行为,仅基于内容信息(例如,内容描述,图像等)来计算内容相似性。收集用于基于内容的相似性模型的大量训练数据是非常耗时的,并且该训练数据倾向于偏向标注者的内容相似性的观点,而不是最终用户的相似性的观点。因此,学者们进行了许多尝试来利用基于内容的特征来解决这个问题。例如,利用多视图神经注意力机制对模型进行了改进。然而,注意力模型不适合用于测量用于多样化推荐任务的内容相似性,因为它是成对模型,并且在计算上是禁止的,假定要评估大量的成对内容。
[0075]
鉴于此,本技术的实施例提供一种确定内容相似度的方法,在该方法中:首先确定第一内容和第二内容;分别从第一/第二内容中提取第一/第二标准特征组,其中,所述第一/第二标准特征组是用于描述所述第一/第二内容中包括的至少部分图像信息和/或文本信息的向量组;并确定表征用户与第一/第二内容交互关联度的标签;接下来对于第一/第二标准特征组进行mlp处理,并结合标签计算第一内容和第二内容的相似度。
[0076]
本技术公开的确定内容相似度的方法,结合了cf和cb两种方法,强制模型从内容中泛化,以学习用户在内容约定中隐含表达的内容相似性的视图,与cb2cf方法的不同之处在于,没有将内容映射到cf向量中,而是强制该模型从内容中学习以推断由cf方法产生的增强的相似性信号,并将该确定内容相似度的方法称为ncb2cf。
[0077]
在介绍完本技术实施例的发明构思之后,下面对本技术实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本技术实施例而非限定。在具体实施过程中,可以根据实际需要灵活地应用本技术实施例提供的技术方案。
[0078]
本技术实施例提供的技术方案适用于文字、图片(包括jpeg等格式的静态图片和gif 等格式的动态图片)、视频等多媒内容推荐场景,本技术中主要是以笔记的相关度推荐进行举例说明的。其中,笔记可以是在某个平台上至少包括文字、图片、视频等多媒体内容之一的笔记,用于记录用户针对某一主题发表的心得或意见。图2根据本技术的一些实施例,示出了一种确定内容相似度的场景图。具体的,该场景包括终端101、服务器 102和网络103。
[0079]
终端101可以是台式终端或移动终端,移动终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备等。终端101可以安装有可以进行浏览笔记的应用,例如浏览器或者客户端。本技术实施例涉及的应用可以是软件客户端,也可以是网页、小程序等客户端,若应用为网页、小程序等客户端时,后台服务器则是与软件或是网页、小程序等相对应的后台服务器,不限制客户端的具体类型。其中,用户可以通过在应用上登录自己的用户,进而进行浏览笔记,并且在浏览笔记的同时,则可以利用本技术实施例的方法确定向该用户推荐的多媒体内容,可在笔记界面一并显示该多媒体内容,也可下滑界面显示该多媒体内容,形式不限于此。需要说明的是,即使用户未进行用户登录时,一般而言,客户端对应的服务器也会对该用户进行标识,例如可以通过该用户使用的终端进行标识,因而该标识也可以理解为用户的用户。
[0080]
服务器102可以为终端101上安装的应用所对应的后台服务器,例如可以是独立的物理服务器或者是多个服务器组成的服务器集群或分布式系统,还可以是提供云服务、云
数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器,但并不局限于此。
[0081]
服务器102可以包括一个或多个处理器1021、存储器1022以及与终端交互的i/o接口1023等。此外,服务器102还可以配置数据库1024,数据库1024可以用于存储用户浏览的笔记记录以及笔记的文本、图片、标注等多维度数据等。其中,服务器102的存储器1022中还可以存储本技术实施例提供的确定内容相似度方法的程序指令,这些程序指令被处理器1021执行时能够用以实现本技术实施例提供的确定内容相似度方法的步骤,以确定向用户推荐的内容,进而将该内容推送给目标用户,以在终端101中推送该内容。
[0082]
终端101和服务器102之间通过网络103连接,网络103包括一个或多个,并且可以包括各种连接类型,例如有线、无线通信链路、云或者光纤电缆等等,上述的网络具体实例可包括终端101的通信供应商提供的互联网。
[0083]
首先,处理器1021通过与终端101交互的i/o接口1023,读取终端101所对应的存储于数据库1024中的用户当前浏览的笔记,接下来,存储器1022通过执行存储的确定内容相似度方法的程序指令,确定第二内容并通过与终端交互的i/o接口1023将其推送至终端101,展示给用户。
[0084]
下面根据本技术的一些实施例,详细说明应用于图2所示的场景的确定内容相似度的技术方案。处理器1021通过i/o接口1023接收来自终端101的用户信息,确定用户当前浏览的笔记为目标笔记(作为第一内容的实例)。数据库1024中随机确定的任何一篇笔记作为随机笔记(作为第二内容的实例)。分别提取目标笔记和随机笔记中的文字和图片,组成目标初始特征组(作为第一初始特征组的实例)和随机初始特征组(作为第二初始特征组的实例),其中文字来源于笔记的标题、正文、评论、弹幕等,图片来源于静态图片、视频/动图中的某帧。然后将笔记中的文字和图片分别输入到bert模型和 inception

v3模型中,进行特征提取的预处理,得到目标特征组(作为第一标准特征组的实例)和随机特征组(作为第二标准特征组的实例),并通过mlp对目标特征组和随机特征组进行非线性变换和压缩处理输出目标向量(作为第一向量的实例)和随机向量 (作为第二向量的实例),并根据与目标笔记和随机笔记均交互了的用户的个数确定标签值,如果均交互的用户超过某一预设值,则标签label=1,否则标签label=0。然后基于目标向量、随机向量和标签,计算随机笔记与目标笔记的相似度,并基于相似度判断是否将该随机笔记推荐到终端101,展示给用户。本技术中的技术方案,解决了长尾问题,达到了在长尾的笔记和热门笔记之间建立相似关系,帮助嵌入模型从即便处于长尾的笔记中进行泛化以推断相似性的技术效果。
[0085]
本技术方式所提供的方法实施例可以在终端101中执行,图3根据本技术的一些实施例,示出了一种确定内容相似度方法的硬件结构框图。如图3所示,终端101可以包括一个或多个(图中仅示出一个)处理器1012(处理器1012可以包括但不限于中央处理器 cpu、图像处理器gpu、数字信号处理器dsp、微处理器mcu或可编程逻辑器件fpga 等的处理装置)。本技术实施例中不限定上述存储器1011和处理器1012之间的具体连接介质。本技术实施例在图3中以存储器1011和处理器1012之间通过总线1013连接,总线1013在图3中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线1013可以分为地址总线、数据总线、控制总线等。为便于表示,图3 中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。本领域技术人员可以理解,图3所示的结构仅为示意,其并
不对上述电子装置的结构造成限定。例如,终端 101还可包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。
[0086]
处理器1012通过运行存储在存储器1011内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的确定内容相似度方法。
[0087]
存储器1011可用于存储处理器1012执行的如本技术的一些实施例中的确定内容相似度方法对应的程序指令/模块。存储器1011可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1011可进一步包括相对于处理器1012远程设置的存储器,这些远程存储器可以通过网络连接至终端101。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0088]
图4示出了一种确定内容相似度的体系结构图。如图4所示,首先,在预处理阶段,将从目标笔记和随机笔记中提取出的图片和文字信息分别通过预训练的bert模型和 inception

v3模型,进行特征提取,得到目标特征组和随机特征组,其中目标特征组包括由目标笔记中的文字、图片等多媒体信息提取的用以表征目标笔记的特征组成;随机特征组包括由随机笔记中的文字、图片等多媒体信息提取的用以表征随机笔记的特征组成。然后,在初始化模型阶段,随机初始化mlp模型,并分别对目标特征组和随机特征组进行共享参数的mlp处理,得到目标向量和随机向量。其中mlp处理具体为非线性变换和压缩处理,其中,用随机数d初始化mlp模型的权重参数,且处理目标特征组和随机特征组的mlp参数相同。最后,在梯度下降更新参数阶段,目标向量、随机向量结合标签的数值进行交叉熵函数的计算,利用梯度下降法来最小化交叉熵函数,进而更新mlp 模型的参数值,且当交叉熵函数最小化的时候,目标笔记和随机笔记的相似度越高,两篇笔记越相似,从而得到与目标笔记相似度满足要求的随机笔记。
[0089]
通过本技术中的确定内容相似度的方法,解决了长尾问题,达到了在长尾的笔记和热门笔记之间建立相似关系,帮助嵌入模型从即便处于长尾的笔记中进行泛化以推断相似性的技术效果。
[0090]
图5根据本技术的一些实施例,示出了一种确定内容相似度方法的流程图。如图5所示,在某些实施例中,该方法可以包括:
[0091]
步骤501:确定目标笔记和随机笔记。
[0092]
具体的,在步骤501中,在一些实施例中,用户正在浏览的笔记、历史浏览的笔记、感兴趣的笔记均可确定为目标笔记,具体的,图6a根据本技术的一些实施例,示出了一种目标笔记示意图,参照图6a,用户正在浏览书法相关的笔记,将该书法笔记作为目标笔记。根据数据库1024存储的笔记内容,随机选择一篇笔记确定为随机笔记,图6b根据本技术的一些实施例,示出了根据图6a的目标笔记使用cf方法确定的随机笔记示意图,参考图6b右上角的图,我们以此笔记作为随机笔记的示例进行技术方案的说明。
[0093]
步骤502:从目标笔记和随机笔记中分别提取包括文字和图片的目标初始特征组和随机初始特征组。
[0094]
具体的,在步骤502中,如图6a所示,提取目标笔记中的诸如“明代”、“文徽明”、“小楷”等文字信息和笔记封面的图片组成目标初始特征组;如图6b所示,提取随机笔记中诸如“小楷”、“灵飞经”等文字信息和笔记封面的图片组成随机初始特征组。在一些实施例中,文
字信息可以提取于笔记中用户可编辑的文字部分,比如标题、正文、评论、图片或视频的标注、视频和/或动图中的弹幕中的至少一种。在一些实施例中,图片信息可以提取于笔记中的静态图片、视频和/或动图的某帧中的至少一种。在一些实施例中,图片是由rgb像素点组成的三维数组;在一些实施例中,文字是由字符组成的一维数组。
[0095]
步骤503:将目标初始特征组和随机初始特征组分别输入bert模型和inception

v3 模型进行特征提取,得到目标特征组和随机特征组。
[0096]
具体的,在步骤503中,在一些实施例中,将目标初始特征组中的图片输入到 inception

v3模型中,得到一个一维数组向量v_img_a;将目标初始特征组中的文字输入到bert模型中,得到一个一维数组向量v_txt_a,并由一维数组向量v_img_a和一维数组向量v_txt_a组成目标特征组。基于孪生网络对随机初始特征进行同样的特征提取操作,得到由一维数组向量v_img_b和一维数组向量v_img_b组成的随机特征组。该孪生网络能够自然地从由目标笔记和随机笔记组成的笔记对中学习笔记嵌入,而不必担心在训练期间决定笔记的顺序或在推理时选择模型的分支。在给定目标笔记的情况下,以笔记描述和覆盖图像为输入,分别利用预训练模型为每个笔记创建文本表示和图像表示。对于文本表示,本技术中采用bert作为基本模型,遵循标准过程,将第一令牌对应的隐藏状态作为嵌入。对于图像表示,使用inception

v3模型来获得图像表示。然后,我们通过将它们的对应表示进行级联操作来合并它们的表示,随后将完全连接的输出层合并到目标/ 随机特征组中。在一些实施例中,对bert模型和inception

v3模型进行预训练,并且该种模型仅作为示例性的针对文字和图片处理的示例性神经网络模型,可根据实际训练数据进行模型的选择。在一些实施例中,不限于使用bert模型和inception

v3模型对外内和图片进行预训练,可以使用任意模型。
[0097]
在本技术的嵌入模型中仅使用诸如文本表示,图像表示之类的项内容作为特征。而不将用户约定的内容不作为特征提取的基础。通过这样做,使得即使没有或很少用户参与的笔记,仍然可以通过其具有足够内容特征而被该模型可靠地计算以获得它们的嵌入特征组,从而被迫纯粹从笔记内容推断出相似性。达到了模型从最开始的特征提取阶段就避免了长尾效应的技术效果。
[0098]
步骤504:确定与目标笔记和随机笔记关联的标签。
[0099]
具体的,在步骤504中,根据与目标笔记和随机笔记均交互了的用户的个数确定标签值,如果均交互的用户超过某一预设值n,则标签label=1,否则标签label=0。其中预设值n是个超参数,可自定义设置。例如,将预设值n设为5,即当有大于等于5个用户交互过目标笔记,也交互过随机笔记时,表示用户的交互关联度较高,对应的标签label 的数值为1,当少于5个用户交互过目标笔记,也交互过随机笔记时,表示用户的交互关联度交底,对应的标签label的数值为0。在一些实施例中,用户交互至少包括以下行为的一种:点击,浏览,点赞,收藏,评论,发弹幕,加分享,关注作者,浏览时长超过一定阈值,进入作者个人页等。以上交互行为仅仅是进行示例性说明,任何满足用户与笔记有关联性的行为都可以认定为交互。在一些实施例中,先找到label=1的情况,在此基础上再找label=0的情况,会使得实际操作起来效率比较高。在一些实施例中,为了更精准的提高用户交互关联度,考虑在一定时间用户的交互,比如,在仅考虑在最近的一周时间内,用户与目标笔记和随机笔记的交互情况。
[0100]
步骤503和步骤504是两个相对独立的步骤,本技术的具体实施例的步骤排序仅仅是示例,并不是对其运行次序的限定。两者可以颠倒实施顺序,或者同时实施。
[0101]
步骤505:对目标特征组和随机特征组进行mlp处理输出目标向量和随机向量。
[0102]
具体的,在步骤505中,通过mlp模型,分别对目标特征组和随机特征组进行非线性变换和压缩处理,得到目标向量和随机向量。在一些实施例中,mlp模型为目标笔记和随机笔记所共享,用超参数d初始化mlp模型的权重参数,且处理目标特征组和随机特征组的mlp超参数d相同,其中超参数d可自定义。例如,可将超参数d设为64,则目标向量和随机向量为64维向量,当超参数d为64时,达到使得压缩率不至于过低且所占空间较少的平衡的技术效果。
[0103]
步骤506:基于目标向量、随机向量、标签,计算目标笔记和随机笔记的相似度。
[0104]
具体的,在步骤506中,在一些实施例中,基于目标向量、随机向量、标签,计算目标笔记和随机笔记的相似度的公式如下所示:
[0105]
p(label|v_a,v_b)=[\sigma(8*function(v_a,v_b)]^label*[1

\sigma(8*function(v_a, v_b)]^[1

label];(1)
[0106]
其中,p表示目标向量和随机向量之间的相似概率;label表示0或1的标签数值; v_a表示目标向量;v_b表示随机向量;\sigma表示sigmoid函数;function(v_a,v_b)表示目标向量和随机向量之间的相似度的函数。
[0107]
我们希望最小化的损失为:

(label*log(\sigma(8*function(v_a,v_b))+(1

label)* log(1

\sigma(8*function(v_a,v_b))),利用梯度下降法来最小化这个损失,从而用来更新mlp的超参数d。两篇笔记越相似,则function值越大,而sigma是个正比例函数。对应到公式(1)中,交叉熵损失函数为

log p(label|v_a,v_b)。我们最大化log p,相当于最大化p,如果label是1,则最大化。function函数可以是第一向量和第二向量之间的余弦值、内积、v_a

v_b的范数中的一种。因此,两篇笔记的function越大,相似概率越大。
[0108]
本技术中的技术方案,对于具有用户交互的任何目标笔记,通过cf方法检索到随机笔记,如果随机笔记在最终推荐结果中获得了足够的交互,则具有高置信度,即从用户的观点来看目标笔记和随机笔记是非常相似的。cf根据用户的交互行为确保用户感知的基本相似度介于目标笔记和随机笔记之间。如果随机笔记多次在推荐系统中被推荐并与多个用户交互,那么对于多个用户来说,随机笔记可能更类似于热门笔记。这种情况下,目标笔记受长尾效应的影响不大,因为即使跟用户交互很少的笔记也可以作为热门笔记。不过,随机笔记更有可能是热门笔记,因为我们的方案要求至少跟用户有一次交互,这也是我们不需要任何用户参与随机笔记的原因,因为它会进一步增加随笔集成为目标笔记的可能性。该技术方案解决了长尾问题,达到了在长尾的笔记和热门笔记之间建立相似关系,帮助嵌入模型从即便处于长尾的笔记中进行泛化以推断相似性的技术效果。
[0109]
为了验证以上技术效果,我们也进行了大量的实验验证,以下,结合图6a

6c对实验的效果进行具体阐述。在本技术中的ncb2cf嵌入中,我们主要有两种内容:文本和图像。对于文本,我们按照预先训练了一个在某社交应用程序上发表的具有大约4千万笔记的bert基础模型。序列长度被设置为128。对于图像,我们使用在某社交应用程序内部图像分类数据集上预训练的inception

v3模型。为了确保准确的正面标签(即label=1的情况),我们收集了两个月内用户对通过经典的笔记到笔记cf技术检索到的笔记的反馈,即,我们
只将已被一定数量用户交互的笔记视为正面笔记。我们从这个数据集中随机抽取400,000对作为最终训练正集。为了避免大多数热门笔记的偏见,我们确保每个笔记在此集中只出现一次。我们从印象中随机选择笔记以形成与正面标签大小相同的负面标签集。嵌入维度设置为d=64以进行有效推理。此外,我们可为在线服务预计算所有可用笔记的嵌入。
[0110]
表1
[0111][0112]
并且,我们还进行了离线实验,以更好地理解使用cf技术的笔记相似度计算与针对长尾处笔记所提出的ncb2cf笔记嵌入的不同。
[0113]
我们将注意力限制在只有少量交互的长尾笔记上。我们随机抽取了100,000个目标笔记,这些笔记在一个月内的参与度都低于3,并获得了cf评分的前10个最相似的笔记。对于ncb2cf方法,计算相同笔记集的笔记嵌入,并在笔记嵌入空间中检索每个目标笔记的最多10个相似笔记。为了比较这些检索到的笔记的相似性,我们用分类标注标记每个笔记,例如运动、时尚、美食等,并使用我们内部的分类系统来表示笔记的类别。这里我们只使用分类法作为粗粒度近似来比较笔记的相似性。在表1中示出了推荐的目标笔记中一些流行分类法的分类法分布。这四个分类法中的笔记通常彼此截然不同。很明显,对于长尾的笔记,本技术中提出的n cb2cf方法在测量相似笔记方面更有效。此外,图6b和图6c示出了采用cf和ncb2cf生成的最相似笔记的示例图,给出了一个描述中国书法的低参与度笔记。显然,与在这种情况下推荐类别为娱乐和绘画相关笔记的cf相比,本技术中所提出的ncb2cf方法可检索并推荐到更多相似的笔记。
[0114]
根据本技术的一些实施例,提供了一种基于相似度的内容推荐方法700,图7根据本技术的一些实施例,示出了一种基于相似度的内容推荐方法的流程图。如图7所示,该方法如下:
[0115]
步骤701:确定目标笔记。
[0116]
具体的,在步骤701中,用户正在浏览的笔记、历史浏览的笔记、感兴趣的笔记均可确定为目标笔记,具体的,图6a根据本技术的一些实施例,示出了一种目标笔记示意图,参照图6a,用户正在浏览书法相关的笔记,将该书法笔记作为目标笔记。
[0117]
步骤702:根据确定内容相似度的方法确定随机笔记和目标笔记之间的相似度。
[0118]
具体的,在步骤702中,根据第一实施例的任一种确定内容相似度的方法确定目标
笔记和随机笔记之间的相似度。数据库的预设范围的笔记中采用遍历所有的笔记或近邻搜索方法,分别确定它们与目标笔记的相似度。
[0119]
步骤703:确定相似度大于等于预设阈值的一个或多个随机笔记,并将该一个或多个随机笔记确定为推荐对象。
[0120]
具体的,在步骤703中,在一些实施例中,得到与目标笔记相似度为p的随机笔记之后,可设定阈值,使得该随机笔记与目标笔记的相似度p大于该阈值时,将该随机笔记放进待推荐的笔记集合中,并确定为推荐对象;反之则丢弃该随机笔记。
[0121]
根据本技术的一些实施例,提供了一种确定内容相似度装置800,图8根据本技术的一些实施例,示出了一种确定内容相似度装置的结构示意图。如图8所示,确定内容相似度装置800如下:
[0122]
确定模块801,确定目标笔记和随机笔记。
[0123]
提取模块802,从目标笔记中提取目标特征组,以及从随机笔记中提取随机特征组,其中,目标/随机特征组是用于描述目标/随机笔记中包括的至少部分图像信息和/或文本信息的向量组;
[0124]
分析模块803,确定与目标笔记和随机笔记关联的标签,其中,标签是基于目标笔记和随机笔记的用户的交互确定的目标笔记和随机笔记的交互关联度;对于目标特征组、随机特征组,进行mlp处理,得到目标向量、随机向量。
[0125]
计算模块804,根据目标向量、随机向量、标签,计算目标笔记和随机笔记的相似度。
[0126]
第一实施例是与本实施例相对应的方法实施例,本实施例可与第一实施例互相配合实施。第一实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在第一实施例中。
[0127]
本技术的第四实施例涉及一种确定内容相似度设备,包括:
[0128]
存储器,用于存储由系统的一个或多个处理器执行的指令,以及
[0129]
处理器,是系统的处理器之一,用于执行所述指令以实施上述第一实施例的任意一种可能的方法。
[0130]
第一实施例是与本实施例相对应的方法实施例,本实施例可与第一实施例互相配合实施。第一实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在第一实施例中。
[0131]
本技术的第五实施例涉及一种使用计算机程序编码的计算机存储介质,计算机可读介质上存储有指令,该指令在计算机上执行时可以使计算机执行上述第一实施例的任意一种可能的方法。
[0132]
第一实施例是与本实施例相对应的方法实施例,本实施例可与第一实施例互相配合实施。第一实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在第一实施例中。
[0133]
根据本技术的一些实施例,提供了一种基于相似度的内容推荐装置900,图9根据本技术的一些实施例,示出了一种基于相似度的内容推荐装置的结构示意图。如图9所示,该装置900如下:
[0134]
获取模块901,确定目标笔记;
[0135]
处理模块902,根据第一实施例的任一种确定内容相似度的方法,确定目标笔记和随机笔记的相似度,其中随机笔记来自待推荐的内容的集合;
[0136]
推荐模块903,确定该相似度大于等于预设阈值,将随机笔记确定作为推荐对象。
[0137]
第二实施例是与本实施例相对应的方法实施例,本实施例可与第二实施例互相配合实施。第二实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在第二实施例中。
[0138]
本技术的第七实施例涉及一种确定内容相似度设备,包括:
[0139]
存储器,用于存储由系统的一个或多个处理器执行的指令,以及
[0140]
处理器,是系统的处理器之一,用于执行所述指令以实施上述第二实施例的任意一种可能的方法。
[0141]
第二实施例是与本实施例相对应的方法实施例,本实施例可与第二实施例互相配合实施。第二实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在第二实施例中。
[0142]
本技术的第八实施例涉及一种使用计算机程序编码的计算机存储介质,计算机可读介质上存储有指令,该指令在计算机上执行时可以使计算机执行上述第二实施例的任意一种可能的方法。
[0143]
第二实施例是与本实施例相对应的方法实施例,本实施例可与第二实施例互相配合实施。第二实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在第二实施例中。
[0144]
需要说明的是,本技术的各方法实施例均可以以软件、硬件、固件等方式实现。不管本技术是以软件、硬件、还是固件方式实现,指令代码都可以存储在任何类型的计算机可访问的存储器中(例如永久的或者可修改的,易失性的或者非易失性的,固态的或者非固态的,固定的或者可更换的介质等等)。同样,存储器可以例如是可编程阵列逻辑(programmable array logic,简称“pal”)、随机存取存储器(randomaccess memory,简称“ram”)、可编程只读存储器(programmable read only memory,简称“prom”)、只读存储器(read

only memory,简称“rom”)、电可擦除可编程只读存储器(electricallyerasable programmable rom,简称“eeprom”)、磁盘、光盘、数字通用光盘(digitalversatile disc,简称“dvd”)等等。
[0145]
需要说明的是,本技术各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部位,还可以以多个物理单元的组合实现,这些逻辑单元本身的物理实现方式并不是最重要的,这些逻辑单元所实现的功能的组合才是解决本技术所提出的技术问题的关键。此外,为了突出本技术的创新部位,本技术上述各设备实施例并没有将与解决本技术所提出的技术问题关系不太密切的单元引入,这并不表明上述设备实施例并不存在其它的单元。
[0146]
需要说明的是,在本专利的权利要求和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、
方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0147]
虽然通过参照本技术的某些优选实施例,已经对本技术进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本技术的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1