
1.本技术涉及计算机技术领域,特别涉及一种基于滑动谱分解确定内容多样性的方法、装置、设备及介质,以及一种基于内容多样性选定内容的方法、装置、设备及介质。
背景技术:2.随着大数据时代的到来,个性化推荐系统的出现为处理信息过载问题提供了一个有效的工具,已经成为互联网各大平台(电商、信息流等)的标配,并在技术(个性化召回、个性化排序等)上取得了长足的发展,逐渐从传统模型过度到深度学习时代。但是,当前个性化推荐以及相关算法的关注点大多数在提高推荐的精准性,而忽略了推荐结果的多样性,导致容易出现高度相似的内容聚集在一起的现象,即相似的item扎堆,用户的兴趣被局限到一个相对“较窄”(信息量为0的“精准推荐”)的推荐视野中,进而伤害了用户体验,尤其是兴趣宽泛、需求不明确的用户。
技术实现要素:3.本技术实施例提供了一种基于滑动谱分解确定内容多样性的方法、装置、设备及介质,以及一种基于内容多样性选定内容的方法、装置、设备及介质。
4.第一方面,本技术实施例提供了一种基于滑动谱分解确定内容多样性的方法,用于电子设备,其特征在于,所述方法包括:
5.确定n个候选内容以及所述n个候选内容的空间表示向量;
6.从n个所述向量中基于预设标准选择基准向量;
7.根据所述基准向量,对于除所述基准向量以外的n
‑
1个所述向量,计算各个所述向量的多样性值的大小,所述多样性值是指当前向量相对于前一确定的向量参与构成的超平面的体积,所述多样性值的大小用于表示所述当前向量所对应的当前候选内容的多样性。
8.在上述第一方面的一种可能的实现中,所述体积为所述超平面作为基底的面积和所述当前向量相对于所述超平面垂直方向上的分量的模的乘积。
9.在上述第一方面的一种可能的实现中,根据所述电子设备的显示尺寸确定大小为w的滑动窗口。
10.在上述第一方面的一种可能的实现中,当展示给用户的当前笔记还没有出滑动窗口,即t≤w时,通过对所述当前向量进行正交化,得到从n
‑
1个所述向量中选出t
‑
1个所述向量所对应的所述体积大小,如下式所示:
[0011][0012]
其中i
p:q
表示{i
p
,i
p+1
,
…
,i
q
‑1},ik表示第k次循环,ik∈{1,2,
…
,t,
…
,n},v
ik
表示第k次循环后所选择的向量,表示正交化的v
ik
,,表示正
交化的计算结果。
[0013]
在上述第一方面的一种可能的实现中,当展示给用户的当前笔记超出滑动窗口,即t>w时,对所述滑动窗口内的w个向量进行正交化,同时保留已进行正交化的所有向量的正交化结果,以使得当前滑动窗口继承之前滑动窗口的信息,如下式所示:
[0014][0015]
其中l=max(1,t
‑
w+m),t表示所述n个候选向量中的第t个,m表示每次滑动窗口滑动的步长,||
·
||表示l2范数。
[0016]
在上述第一方面的一种可能的实现中,w≤t。
[0017]
在上述第一方面的一种可能的实现中,根据所述电子设备的显示尺寸确定大小为w的滑动窗口,包括:根据所述电子设备的显示屏能够显示的内容数量作为滑动窗口的大小w;或者以所述电子设备的显示屏能够显示的内容数量为基础,扩展预定幅度后的数量,作为滑动窗口的大小w。
[0018]
在上述第一方面的一种可能的实现中,确定n个候选内容,包括:根据用户画像筛选出z个内容;从所述z个内容中根据相关性排序得到与所述用户相关的n个候选内容。
[0019]
在上述第一方面的一种可能的实现中,所述方法还包括:选取所述n个候选内容中所述相关性和所述多样性之和最大的所述t个内容,进行排序,如下式所示:
[0020][0021]
其中,||
·
||表示l2范数,v表示所述当前向量v
j
所对应的所述体积大小。
[0022]
第二方面,本技术实施例提供了一种基于滑动谱分解确定内容多样性的装置,包括:
[0023]
确定模块:确定n个候选内容以及所述n个候选内容的空间表示向量;
[0024]
处理模块:从n个所述向量中基于预设标准选择基准向量;
[0025]
计算模块:根据所述基准向量,对于除所述基准向量以外的n
‑
1个所述向量,计算各个所述向量的多样性值的大小,所述多样性值是指当前向量相对于前一确定的向量参与构成的超平面的体积,所述多样性值的大小用于表示所述当前向量所对应的当前候选内容的多样性。
[0026]
在上述第二方面的一种可能的实现中,所述体积为所述超平面作为基底的面积和所述当前向量相对于所述超平面垂直方向上的分量的模的乘积。
[0027]
在上述第二方面的一种可能的实现中,根据所述电子设备的显示尺寸确定大小为w的滑动窗口。
[0028]
在上述第二方面的一种可能的实现中,当展示给用户的当前笔记还没有出滑动窗口,即t≤w时,通过对所述当前向量进行正交化,得到从n
‑
1个所述向量中选出t
‑
1个所述向量所对应的所述体积大小,如下式所示:
[0029][0030]
其中i
p:q
表示{i
p
,i
p+1
,
…
,i
q
‑1},ik表示第k次循环,ik∈{1,2,
…
,t,
…
,n},v
ik
表示第k次循环后所选择的向量,表示正交化的v
ik
,,表示正
交化的计算结果。
[0031]
在上述第二方面的一种可能的实现中,当展示给用户的当前笔记超出滑动窗口,即t>w时,对所述滑动窗口内的w个向量进行正交化,同时保留已进行正交化的所有向量的正交化结果,以使得当前滑动窗口继承之前滑动窗口的信息,如下式所示:
[0032][0033]
其中l=max(1,t
‑
w+m),t表示所述n个候选向量中的第t个,m表示每次滑动窗口滑动的步长,||
·
||表示l2范数。
[0034]
在上述第二方面的一种可能的实现中,w≤t。
[0035]
在上述第二方面的一种可能的实现中,根据所述电子设备的显示尺寸确定大小为w的滑动窗口,包括:根据所述电子设备的显示屏能够显示的内容数量作为滑动窗口的大小w;或者以所述电子设备的显示屏能够显示的内容数量为基础,扩展预定幅度后的数量,作为滑动窗口的大小w。
[0036]
在上述第二方面的一种可能的实现中,确定n个候选内容,包括:根据用户画像筛选出z个内容;从所述z个内容中根据相关性排序得到与所述用户相关的n个候选内容。
[0037]
在上述第二方面的一种可能的实现中,所述装置还包括:排序模块:选取所述n个候选内容中所述相关性和所述多样性之和最大的所述t个内容,进行排序,如下式所示:
[0038][0039]
其中,||
·
||表示l2范数,v表示所述当前向量v
j
所对应的所述体积大小。
[0040]
第三方面,本技术实施例提供了一种基于滑动谱分解确定内容多样性的设备,所述基于滑动谱分解确定内容多样性的设备包括:
[0041]
存储器,用于存储由系统的一个或多个处理器执行的指令,以及
[0042]
处理器,是系统的处理器之一,用于执行所述指令以实施上述第一方面的任意一种可能的方法。
[0043]
第四方面,本技术实施例提供了一种计算机可读介质,计算机可读介质上存储有指令,该指令在计算机上执行时可以使计算机执行上述第一方面的任意一种可能的方法。
[0044]
第五方面,本技术实施例提供了一种基于内容多样性选定内容的方法,用于电子设备,其特征在于,所述方法包括:
[0045]
确定n个候选内容以及所述n个候选内容的空间表示向量;
[0046]
从n个所述向量中选择与用户相关性最高的内容所对应的向量作为基准向量;
[0047]
根据所述基准向量,从除所述基准向量以外的n
‑
1个所述向量中,按照所述向量的多样值的大小选出t
‑
1个向量,所述多样性值是指当前向量相对于前一确定的向量参与构成的超平面的体积;所述体积大小和所述多样性值的大小成正比;以及
[0048]
将所述t
‑
1个向量对应的内容作为选定内容。
[0049]
在上述第五方面的一种可能的实现中,所述体积为所述超平面作为基底的面积和所述当前向量相对于所述超平面垂直方向上的分量的模的乘积。
[0050]
在上述第五方面的一种可能的实现中,根据所述电子设备的显示尺寸确定大小为w的滑动窗口。
[0051]
在上述第五方面的一种可能的实现中,当展示给用户的当前笔记还没有出滑动窗
口,即t≤w时,通过对所述当前向量进行正交化,得到从n
‑
1个所述向量中选出t
‑
1个所述向量所对应的所述体积大小,如下式所示:
[0052][0053]
其中i
p:q
表示{i
p
,i
p+1
,
…
,i
q
‑1},ik表示第k次循环,ik∈{1,2,
…
,t,
…
,n},v
ik
表示第k次循环后所选择的向量,表示正交化的v
ik
,,表示正交化的计算结果。
[0054]
在上述第五方面的一种可能的实现中,当展示给用户的当前笔记超出滑动窗口,即t>w时,对所述滑动窗口内的w个向量进行正交化,同时保留已进行正交化的所有向量的正交化结果,以使得当前滑动窗口继承之前滑动窗口的信息,如下式所示:
[0055][0056]
其中l=max(1,t
‑
w+m),t表示所述n个候选向量中的第t个,m表示每次滑动窗口滑动的步长,||
·
||表示l2范数。
[0057]
在上述第五方面的一种可能的实现中,w≤t。
[0058]
在上述第五方面的一种可能的实现中,根据所述电子设备的显示尺寸确定大小为w的滑动窗口,包括:根据所述电子设备的显示屏能够显示的内容数量作为滑动窗口的大小w;或者以所述电子设备的显示屏能够显示的内容数量为基础,扩展预定幅度后的数量,作为滑动窗口的大小w。
[0059]
在上述第五方面的一种可能的实现中,从n个所述向量中选择与用户相关性最高的内容所对应的向量作为基准向量,包括:根据预设规则,对所述n个内容的每个内容评分,得到所述内容与所述用户的相关性评分,则所述相关性评分最高的内容为与所述用户相关性最高的内容,选择所述相关性评分最高的内容所对应的向量作为所述基准向量,如下式所示:
[0060][0061]
其中,t表示所述t个内容的第t个;表示所述t个内容的第t个的相关性评分。
[0062]
在上述第五方面的一种可能的实现中,确定n个候选内容,包括:根据用户画像筛选出z个内容;从所述z个内容中根据相关性排序得到与所述用户相关的n个候选内容。
[0063]
在上述第五方面的一种可能的实现中,所述方法还包括:选取所述n个候选内容中所述相关性和所述多样性之和最大的所述t个内容,进行排序,如下式所示:
[0064][0065]
其中,||
·
||表示l2范数,v表示所述当前向量v
j
所对应的所述体积大小。
[0066]
第六方面,本技术实施例提供了一种基于内容多样性选定内容的装置,所述装置包括:
[0067]
确定模块:确定n个候选内容以及所述n个候选内容的空间表示向量;
[0068]
处理模块:从n个所述向量中选择与用户相关性最高的内容所对应的向量作为基准向量;
[0069]
计算模块:根据所述基准向量,从除所述基准向量以外的n
‑
1个所述向量中,按照所述向量的多样值的大小选出t
‑
1个向量,所述多样性值是指当前向量相对于前一确定的向量参与构成的超平面的体积;所述体积大小和所述多样性值的大小成正比;以及
[0070]
选定模块:将所述t
‑
1个向量对应的内容作为选定内容。
[0071]
在上述第六方面的一种可能的实现中,所述体积为所述超平面作为基底的面积和所述当前向量相对于所述超平面垂直方向上的分量的模的乘积。
[0072]
在上述第六方面的一种可能的实现中,根据所述电子设备的显示尺寸确定大小为w的滑动窗口。
[0073]
在上述第六方面的一种可能的实现中,当展示给用户的当前笔记还没有出滑动窗口,即t≤w时,通过对所述当前向量进行正交化,得到从n
‑
1个所述向量中选出t
‑
1个所述向量所对应的所述体积大小,如下式所示:
[0074][0075]
其中i
p:q
表示{i
p
,i
p+1
,
…
,i
q
‑1},ik表示第k次循环,ik∈{1,2,
…
,t,
…
,n},v
ik
表示第k次循环后所选择的向量,表示正交化的v
ik
,,表示正交化的计算结果。
[0076]
在上述第六方面的一种可能的实现中,当展示给用户的当前笔记超出滑动窗口,即t>w时,对所述滑动窗口内的w个向量进行正交化,同时保留已进行正交化的所有向量的正交化结果,以使得当前滑动窗口继承之前滑动窗口的信息,如下式所示:
[0077][0078]
其中l=max(1,t
‑
w+m),t表示所述n个候选向量中的第t个,m表示每次滑动窗口滑动的步长,||
·
||表示l2范数。
[0079]
在上述第六方面的一种可能的实现中,w≤t。
[0080]
在上述第六方面的一种可能的实现中,根据所述电子设备的显示尺寸确定大小为w的滑动窗口,包括:根据所述电子设备的显示屏能够显示的内容数量作为滑动窗口的大小w;或者以所述电子设备的显示屏能够显示的内容数量为基础,扩展预定幅度后的数量,作为滑动窗口的大小w。
[0081]
在上述第六方面的一种可能的实现中,从n个所述向量中选择与用户相关性最高的内容所对应的向量作为基准向量,包括:根据预设规则,对所述n个内容的每个内容评分,得到所述内容与所述用户的相关性评分,则所述相关性评分最高的内容为与所述用户相关性最高的内容,选择所述相关性评分最高的内容所对应的向量作为所述基准向量,如下式所示:
[0082][0083]
其中,t表示所述t个内容的第t个;表示所述t个内容的第t个的相关性评分。
[0084]
在上述第六方面的一种可能的实现中,确定n个候选内容,包括:根据用户画像筛选出z个内容;从所述z个内容中根据相关性排序得到与所述用户相关的n个候选内容。
[0085]
在上述第六方面的一种可能的实现中,所述方法还包括:选取所述n个候选内容中所述相关性和所述多样性之和最大的所述t个内容,进行排序,如下式所示:
[0086][0087]
其中,||
·
||表示l2范数,v表示所述当前向量v
j
所对应的所述体积大小。
[0088]
第七方面,本技术实施例提供了一种基于内容多样性选定内容的设备,所述基于滑动谱分解确定内容多样性的设备包括:
[0089]
存储器,用于存储由系统的一个或多个处理器执行的指令,以及
[0090]
处理器,是系统的处理器之一,用于执行所述指令以实施上述第五方面的任意一种可能的方法。
[0091]
第八方面,本技术实施例提供了一种计算机可读介质,计算机可读介质上存储有指令,该指令在计算机上执行时可以使计算机执行上述第五方面的任意一种可能的方法。
[0092]
本技术中的技术方案,通过使用时间序列分析技术从内容序列的角度研究了推荐多样性问题并结合了滑动窗口外的内容,并因此考虑了整个项目序列的多样性。与现有技术相比,本技术中的技术方案较好地捕捉了用户在长序列场景中对多样化的感知,并将实际问题转化为最大优化的数学求解问题,并提出一种贪心推理方法求解该问题,构造了一个相关性和多样性结合的目标,从n个所述向量中选取t个内容,使得该目标最大,可以在较短时间内求解滑动谱分解,使得滑动谱分解方法能够快速落地,在计算上更有效,降低了时间复杂度和空间复杂度,并极大地提高了效率。相比dpp,ssd显着提高了推荐结果的多样性和相似性。并且在延迟的第99个百分位(p99)上减少了7ms,并减少了相对27%的内存需求的预料不到的技术效果。
附图说明
[0093]
图1根据本技术的一些实施例,示出了一种近1.5年用户浏览的平均内容序列长度的增长示意图;
[0094]
图2根据本技术的一些实施例,示出了一种基于滑动谱分解确定内容多样性的方法的硬件结构图;
[0095]
图3根据本技术的一些实施例,示出了一种基于滑动谱分解确定内容多样性的方法的应用场景图;
[0096]
图4根据本技术的一些实施例,示出了一种基于滑动谱分解确定内容多样性的方法的流程图;
[0097]
图5根据本技术的一些实施例,示出了一种体积大小的几何示意图;
[0098]
图6根据本技术的一些实施例,示出了一种基于内容多样性选定内容的方法的流程图;
[0099]
图7根据本技术的一些实施例,示出了一种基于滑动谱分解确定内容多样性的装置的结构示意图;
[0100]
图8根据本技术的一些实施例,示出了一种基于内容多样性选定内容的装置的结构示意图;
[0101]
图9根据本技术的一些实施例,示出了一种基于滑动谱分解确定内容多样性的方法的硬件结构框图。
具体实施方式
[0102]
本技术的说明性实施例包括但不限于一种基于滑动谱分解确定内容多样性的方法、装置、设备。
[0103]
可以理解,本技术提供的基于滑动谱分解确定内容多样性的方法可以在各种电子设备上实施,包括但不限于,服务器、多个服务器组成的分布式服务器集群、手机、平板电脑、膝上型计算机、台式计算机、可穿戴设备、头戴式显示器、移动电子邮件设备、便携式游戏机、便携式音乐播放器、阅读器设备、个人数字助理、虚拟现实或者增强现实设备、其中嵌入或耦接有一个或多个处理器的电视机等电子设备等。
[0104]
可以理解,在本技术各实施例中,处理器可以是微处理器、数字信号处理器、微控制器等,和/或其任何组合。根据另一个方面,所述处理器可以是单核处理器,多核处理器等,和/或其任何组合。
[0105]
下面对本技术实施例的发明构思进行简要介绍。
[0106]
目前,针对个性化推荐系统中的多样性主要考虑两点:聚合和个体。聚合考虑所有用户之间的多样性,目标是促进推荐器的覆盖,即体现“千人千面”。个体考虑单一用户的推荐多样性,目标是根据用户的兴趣,推荐的类别更多样化。近年来,在重排序阶段多样性优化策略,工业界的代表性方法有:mrr(maximal marginal relevance),google、youtube和hulu推荐的dpp(determinantal point process),阿里提出的基于transformer的prm,google、youtube提出的基于强化学习的模型slateq等,其中以dpp最具代表性,本技术中以dpp作为对比实验依据,dpp是一种概率框架,它首次被引入描述热平衡中的分布,表征为一些函数的决定因素。现有技术中,提出可使用快速贪心算法来解决dpp的计算复杂度问题。为了在实践中提高效率,滑动窗在这些方法中起到关键作用。在使用滑动窗口的贪心推理过程中,忽略了滑动窗口外的内容。尽管当前观看窗口中的内容对用户的多样化感知具有最直接的影响,但是由于用户的记忆,用户已经观看的滑动窗口之外的内容仍然对用户的感知具有持久的影响。现有的基于滑动窗口的多样化的方法忽略了窗口外的内容,因此没有完全捕捉到用户的多样化感知。尽管扩大滑动窗口的大小可以解决该问题,但是它仍然增加了计算时间并且实际上阻碍了在具有非常严格的等待时间要求的生产系统中的部署。鉴于此,本技术的实施例提供一种基于滑动谱分解确定内容多样性的方法,在该方法中:确定n个候选内容以及所述n个候选内容的空间表示向量;从n个所述向量中选择与用户相关性最高的内容所对应的向量作为基准向量;根据所述基准向量,从除所述基准向量以外的n
‑
1个所述向量中,按照所述向量的多样值的大小选出t
‑
1个向量。
[0107]
本技术公开的基于滑动谱分解确定内容多样性的方法,考虑到了在个体用户视角下,多样化推荐通常转化为兼顾相关性和多样性的目标优化问题,并对该问题进行了充分的研究,提出了解决了该目标优化问题的方案,该方案将推荐序列建模为由用户观察到的时间序列。通过利用时间序列分析技术,考虑多个滑动窗口来模拟整个序列的多样性,给出了兼顾实现推荐相似性和多样性的最佳折衷方案,并将该基于滑动谱分解确定内容多样性的方法称为ssd(sliding spectrum decomposition)。图1根据本技术的一些实施例,示出了一种近1.5年用户浏览的平均内容序列长度的增长示意图,如图1所示,在近1.5年中,用户查看的应用程序根据本技术公开的基于滑动谱分解确定内容多样性的方法以及内容排序方法推荐的内容序列的平均长度增加了约50%,即对于现在用户倾向于查看应用程序所
推荐的更多内容,因而,正确地使用窗口外的这些内容的信息能够更符合用户的感知。
[0108]
在介绍完本技术实施例的发明构思之后,下面对本技术实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本技术实施例而非限定。在具体实施过程中,可以根据实际需要灵活地应用本技术实施例提供的技术方案。
[0109]
本技术实施例提供的技术方案适用常见的个性化信息场景,如推荐系统、广告推送、内容检索、商品推荐等,本技术中主要是以笔记的推荐场景进行举例说明的。其中,笔记可以是在某个平台上至少包括文字、图片、视频等多媒体内容之一的笔记,用于记录用户针对某一主题发表的心得或意见。图2根据本技术的一些实施例,示出了一种基于滑动谱分解确定内容多样性的场景图,如图2所示,通过本技术的基于滑动谱分解确定内容多样性的方法以及内容排序的方法,用户可以浏览到相关度较高且多样性的笔记,例如,系统通过对该用户进行该用户喜欢美食、养了一只宠物、头像为纳木措风景、喜欢读书等信息分析出的用户画像,通过滑动谱分解确定内容的多样性,估计用户感兴趣的类别包括美食、旅游、阅读、宠物等。并基于数据库中的笔记内容进行初筛,得到1000篇笔记,然后根据相关性进行打分,并截取评分最高的前100篇笔记;并针对该100篇笔记,每20篇计算相关度和多样性值的和,选取二者之和的最大值的20篇笔记作为推荐给该用户的推荐笔记,并基于本技术中的基于滑动谱分解的确定内容多样性的方法计算确定这20篇笔记的多样性,并可按照一定的顺序推荐给用户,可选的,比如可以按照“美食、旅游、阅读、宠物”、“美食、旅游、阅读、宠物”、“美食、旅游、阅读、宠物”的方式展现多样性,对用户进行推荐。
[0110]
本技术方式所提供的方法实施例可以在与该场景实现所牵涉的硬件中执行,图3根据本技术的一些实施例,示出了一种基于滑动谱分解确定内容多样性的方法的硬件结构框图。
[0111]
终端101可以是台式终端或移动终端,移动终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备等。终端101可以安装有可以进行浏览笔记的应用,例如浏览器或者用户端。本技术实施例涉及的应用可以是软件用户端,也可以是网页、小程序等用户端,若应用为网页、小程序等用户端时,后台服务器则是与软件或是网页、小程序等相对应的后台服务器,不限制用户端的具体类型。其中,用户可以通过在应用上登录自己的用户,进而进行浏览笔记,并且在浏览笔记的同时,则可以利用本技术实施例的方法确定向该用户推荐的多媒体内容,可在笔记界面一并显示该多媒体内容,也可下滑界面显示该多媒体内容,形式不限于此。需要说明的是,即使用户未进行用户登录时,一般而言,用户端对应的服务器也会对该用户进行标识,例如可以通过该用户使用的终端进行标识,因而该标识也可以理解为用户的用户。
[0112]
服务器102可以为终端101上安装的应用所对应的后台服务器,例如可以是独立的物理服务器或者是多个服务器组成的服务器集群或分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器,但并不局限于此。
[0113]
服务器102可以包括一个或多个处理器1021、存储器1022以及与终端交互的i/o接口1023等。此外,服务器102还可以配置数据库1024,数据库1024可以用于存储用户画像、用户浏览的笔记记录、笔记的文本、图片、标注等多维度数据等。其中,服务器102的存储器
1022中还可以存储本技术实施例提供的基于滑动谱分解确定内容多样性的方法的程序指令,这些程序指令被处理器1021执行时能够用以实现本技术实施例提供的基于滑动谱分解确定内容多样性的方法的步骤,以确定向用户推荐的内容,进而将该内容推送给目标用户,以在终端101中推送该内容。
[0114]
终端101和服务器102之间通过网络103连接,网络103包括一个或多个,并且可以包括各种连接类型,例如有线、无线通信链路、云或者光纤电缆等等,上述的网络具体实例可包括终端101的通信供应商提供的互联网。
[0115]
首先,处理器1021通过与终端101交互的i/o接口1023,读取终端101所对应的存储于数据库1024中的用户当前浏览的笔记,接下来,存储器1022通过执行存储的基于滑动谱分解确定内容多样性的方法的程序指令,确定第二内容并通过与终端交互的i/o接口1023将其推送至终端101,展示给用户。
[0116]
下面根据本技术的一些实施例,详细说明应用于图3所示的硬件的基于滑动谱分解确定内容多样性的技术方案。
[0117]
处理器1021通过i/o接口1023接收来自终端101的用户信息,通过用户画像估计的用户可能感兴趣的、跟用户相关度较高的笔记,从数据库1024中确定n个候选笔记(作为n个候选内容的实例)。接下来将n个候选笔记表示为对应的空间表示向量,并从对应的n个向量中选择与用户相关性最高的笔记所对应的向量作为基准向量,然后根据基准向量,从除去基准向量之外的n
‑
1个向量中,按照多样值的大小选出t
‑
1个向量,加上基准向量一共t个向量,将t个向量所对应的t个笔记推荐给用户。其中,多样性值指当前向量相对于前一确定的向量构成的超平面的体积大小,体积越大,多样性值越大,而多样性值越大,表明该t个内容所涉及的与用户相关联的类别越多,越全面。本技术中的技术方案,通过使用时间序列分析技术从内容序列的角度研究了推荐多样性问题并结合了滑动窗口外的内容,并因此考虑了整个项目序列的多样性。与现有技术相比,本技术中的技术方案较好地捕捉了用户在长序列场景中对多样化的感知,并将实际问题转化为最大优化的数学求解问题,并提出一种贪心推理方法求解该问题,构造了一个相关性和多样性结合的目标,从n个所述向量中选取t个内容,使得该目标最大,可以在较短时间内求解滑动谱分解,使得滑动谱分解方法能够快速落地,在计算上更有效,降低了时间复杂度和空间复杂度,并极大地提高了效率。相比dpp,ssd显着提高了推荐结果的多样性和相似性。并且在延迟的第99个百分位(p99)上减少了7ms,并减少了相对27%的内存需求的预料不到的技术效果。
[0118]
图4根据本技术的一些实施例,示出了一种基于滑动谱分解确定内容多样性的方法的流程图。如图4所示,在某些实施例中,该方法可以包括:
[0119]
步骤401:确定n个候选笔记以及n个候选笔记的空间表示向量。
[0120]
具体的,在步骤401中,在一些实施例中,从数据库1024所能够提供的笔记中确定n个候选笔记,具体的,系统通过用户画像估计的用户可能感兴趣的、跟用户相关度较高的笔记,确定n个候选笔记,具体的,可假设n=100,即确定100篇用户可能感兴趣的来自不同类别的笔记,并分别确定该100篇笔记在空间表示向量{v1,v2,
…
,v
t
,
…
,v
100
}。
[0121]
步骤402:从n个向量中选择一向量作为基准向量。
[0122]
具体的,在步骤402中,从100篇笔记中选择第一篇笔记,因为是第一篇笔记,所以不用考虑多样性问题,因而第一篇笔记的选择可以基于任何的标准,可以是随机的,也可以
是基于应用场景关联的预设标准确定的,选定笔记作为基准内容,而与该基准内容所对应的向量作为基准向量。
[0123]
作为一个优选实施例,根据用户画像确定的考虑相关性的内容。使用逻辑回归模型,因子分解基,深度神经网络模型等机器学习的方法,根据用户搜索或点击过的笔记做样本,并拟合估计该笔记推给用户之后用户的表现,给出评分r
i
,评分r
i
综合考虑用户看这篇笔记的时长、点击率、互动数(点赞、收藏、关注作者等)、用户的搜索的内容等因素。具体的,分别针对100篇中的每一篇笔记进行评分,取评分最高的笔记作为第一篇笔记,该笔记对应的向量为基准向量。该评分不区分笔记具体的类别,而是和用户的总体的相关性,具体的,任意两篇笔记的向量vi的内积越大,则相关性越高,如下式所示:
[0124][0125]
其中,t表示所述t个内容的第t个;表示所述t个内容的第t个的相关性评分。
[0126]
步骤403:根据基准向量,对于除基准向量以外的n
‑
1个所述向量,计算各个所述向量的多样性值的大小,多样性值是指当前向量相对于前一确定的向量参与构成的超平面的体积,多样性值的大小用于表示当前向量所对应的当前候选内容的多样性。
[0127]
具体的,在步骤403中,体积的计算为超平面作为基底的面积和所述当前向量相对于所述超平面垂直方向上的分量的模的乘积。图5根据本技术的一些实施例,示出了一种体积大小的几何示意图;如图5所示,以二维空间中的体积计算为例,此时的体积大小实则为基准向量v1和向量v2组成的平行四边形的面积。具体的,当前向量相对于所述超平面垂直方向上的分量的模可表示为向量v2相对于向量v1的正交化的高的值,被保留下来,而向量v2相对于向量v1投影方向上的重叠部分的值则被舍弃。
[0128]
本技术中,将多样化的馈给推荐问题表述为最大优化问题。优化多样性是一个组合张量分解问题,且被证明是np
‑
hard问题。本技术中的技术方案,提供了一种快速贪心推理方法来解决实践中的高效推理问题。
[0129]
在进行贪心推理方法的第t步时,之前的t
‑
1个笔记已被选中,我们需要从候选集z\i
p:q
中选择一个表达多样性的笔记,其中i
p:q
表示{i
p
,i
p+1
,
…
,i
q
‑1}。
[0130]
当展示给用户的当前笔记还没有出滑动窗口时,即t≤w时。当t=1时,只需根据相关性计算并选择与用户相关性最高的笔记作为基准笔记,并且在本技术中,将代表多样性的奇异值的累积乘积表示为了几何中的体积,因而,不需要每个奇异值的实际值,只关注累积乘积,即体积即可。当t=2时,在选择候选内容v
j
时,此时的体积是由i1和j:||v
i1
||||v
j
sin(v
i1
,v
j
)||跨越的平行四边形的面积组成,其中||
·
||表示l2范数,v
j
sin(v
i1
,v
j
)实际上是v
ik
的正交化结果,用表示,则对于v
i1
来说:
[0131][0132]
其中将j在i1上的投影从v
j
中移除,仅保留垂直于v
i1
方向上的分量。
[0133]
当t=3时,对应平行六面体的体积也可以通过正交化候选计算,但相对于v
i1
和一般来说,这种正交化是格拉姆
‑
施密特正交化,如下式所示:
[0134]
[0135]
其中ip:q表示{ip,ip+1,
…
,iq
‑
1},表示正交化的v
ik
,,表示正交化的结果。特别是当没有滑动窗口时,我们可以重用候选笔记的正交化结果,相当于修改的正交化(modified gram
‑
schmidt,简称mgs),基于此,本技术中的贪心推理方法只有o(ntd)的时间复杂度以及额外的o(1)的空间复杂度,很大程度上提高了计算效率。
[0136]
当展示给用户的当前笔记超出滑动窗口时,即t>w时,此时需要考虑多个滑动窗口。我们首先考虑t=w+1。遵循之前的策略的一种可能方法是从i2开始正交化i
2:w+1
。然而,这种方式完全忽略了笔记i1以及第一个滑动窗口,这与通过组合多个窗口来衡量整个多样性的ssd背道而驰。因此,我们在当前窗口进行mgs,同时保留所有选中笔记的正交化结果,以使得当前窗口继承之前窗口的信息。因此,在时间步长t中,贪婪推理考虑以下目标:
[0137][0138]
其中l=max(1,t
‑
w+1)。与没有滑动窗口的情况相比,还需要额外的还原操作。例如,在时间步t+1中,需要为z\i
1:t
中所有剩余的候选对象恢复对i1的投影。这些还原操作需要o(ntd)的时间复杂度和额外的空间复杂度o(wn)来存储这些投影。因此,总时间复杂度仍然是o(ntd)。为了进一步加速实际实现,可进一步应用循环队列技巧来减少内存副本。
[0139]
在一些实施例中,每次贪心推理方法得出一个向量,一共循环t次,得到t个向量,并将该t个向量对应的t个笔记推荐给用户。
[0140]
通过一些离线模拟和在线分析,我们发现了两个可以进一步提高性能的技巧。1)在实践中,相关性通常被训练为回归多个业务目标的组合价值,例如参与度和观看时间。用户通常有不同的取值范围,导致对固定w的权衡不一致。理想的解决方案是让w的取值依赖于用户。并且在单个请求中所有候选内容的标准归一化质量分数工作得很好。2)我们观察到,在贪心推理过程中,当用户兴趣集中时,多样性值比相关性值下降得更快。这些显著不同的趋势引入了权衡系数的稳定问题。当使用以下近似目标在实践中大大提高了稳定性:
[0141][0142]
在ssd中,公式5在正交化项目i
l:t
中可继承先前窗口的信息。我们将这种方法称为ssd*,使得ssd在系数γ方面更加稳定,并且在接下来在线测试中,进一步提高了ssd的效果。
[0143]
在一些实施例中,滑动窗口的大小w≤确定的t个笔记的大小,具体的,滑动窗口的概念的提出是为了能更好的更细致的捕捉用户的感知,而当滑动窗口的大小大于准备展示给用户的笔记的大小时,可直接一次性展示所有的t个笔记,此时滑动窗口的存在没有意义。
[0144]
在一些实施例中,滑动窗口在t个笔记上每次滑动m个内容,其中,1≤m≤w。具体的,假设w=5时,m=3,即第一个滑动窗口的笔记为12345,第二个滑动窗口的内容为45678,使得每相邻两个滑动窗口之前没有漏掉笔记,即保证20个笔记至少被一个滑动窗口所滑过,从而使得滑动窗口外的内容被充分完全的考虑进来。
[0145]
在一些实施例中,根据电子设备的显示尺寸确定大小为w的滑动窗口,包括:根据
电子设备的显示屏能够显示的内容数量作为滑动窗口的大小w;或者以电子设备的显示屏能够显示的内容数量为基础,扩展预定幅度后的数量,作为滑动窗口的大小w。具体的,首先,滑动窗口的大小w通常不大于t个内容,具体的,假设w=5,即每次在20个内容上滑动大小为5个内容。滑动窗口的大小的确定,取决于产品的设计样式。具体的,比如一个产品设计了3个窗口,每个窗口大小是8的样式,即不管尺寸怎么变,每个窗口都会显示8个内容,显示屏缩小仅会缩小每个内容的大小,而不会减少内容的显示数量。另外产品的设计样式也可以指“用户习惯”,例如经过对用户进行调研,男性一次可以看x个内容,女性则可看y个内容。其中x和y的值是可以个性化设置的。换句话说,产品的设计样式代表了用户能够浏览或感知的笔记数量。为了确定滑动窗口的大小,电子设备的显示屏所能显示的笔记数量(内容假定具有标准的大小)是基准。根据本技术,滑动窗口的大小可以是直接等于由电子设备的显示屏所能显示的笔记数量。在另一些实施例中,考虑到用户所能感知的内容数量除了当前屏幕显示的本身,还可以是向前一定数量或向后一定数量的内容,比如,用户看的角度,如果假定窗口大小是5,用户看到第6个笔记的时候,不会忘记第一个笔记,即用户可感知的笔记的篇数与产品的设计样式没必然联系,因此滑动窗口的大小w通常不局限于产品的设计样式,还可以根据用户能够浏览或感知的笔记数量而定。
[0146]
在一些实施例中,根据用户画像筛选出z个内容,从z个内容中根据相关性排序得到与用户相关的n个候选内容。具体的,基于用户画像,处理器在系统内部进行初步筛选,具体的,可根据用户画像筛选出1000篇笔记,其中,用户画像可基于用户的以下信息得出:注册信息、头像、个人资料等。使用逻辑回归模型,因子分解基,深度神经网络模型等机器学习的方法,根据用户搜索或点击过的笔记做样本,并拟合估计z个笔记推给用户之后用户的表现,给出评分r
i
,评分r
i
综合考虑用户看这篇笔记的时长、点击率、互动数(点赞、收藏、关注作者等)、用户的搜索的内容等因素。具体的,假设从1000篇笔记中找出100篇笔记,则分别针对1000篇中的每一篇笔记进行评分,取评分最高的前100篇笔记作为候选笔记。该评分不区分笔记具体的类别,而是和用户的总体的相关性,具体的,任意两篇笔记的向量vi的内积越大,则相关性越高。
[0147]
在一些实施例中,选取n个候选内容中相关性和多样性之和最大的t个内容,进行排序。具体的,为了综合衡量相关性和多样性,本技术提出直接对它们进行求和,如下式所示:
[0148][0149]
其中,||
·
||表示l2范数,v表示所述当前向量v
j
所对应的所述体积大小。将n个候选内容中,综合考虑了相关性和多样性的最优解的t个内容,挑出来进行排序,并推荐给用户。
[0150]
本技术中的技术方案,通过使用时间序列分析技术从内容序列的角度研究了推荐多样性问题并结合了滑动窗口外的内容,并因此考虑了整个项目序列的多样性。与现有技术相比,本技术中的技术方案较好地捕捉了用户在长序列场景中对多样化的感知,并将实际问题转化为最大优化的数学求解问题,并提出一种贪心推理方法求解该问题,构造了一个相关性和多样性结合的目标,从n个所述向量中选取t个内容,使得该目标最大,可以在较短时间内求解滑动谱分解,使得滑动谱分解方法能够快速落地,在计算上更有效,降低了时间复杂度和空间复杂度,并极大地提高了效率。相比dpp,ssd显着提高了推荐结果的多样性
taxonomies,简称mrt),并且ilad和mrt分别由下式定义:
[0161][0162][0163]
其中,u表示所有的用户,imp
u
表示推荐给用户u的所有笔记的集合,clk
u
表示用户u点击的所有笔记的集合,s(i,j)表示笔记i和笔记j的相似性,t(
·
)表示将该笔记映射到期分类中。ilad使用用户查看的笔记之间的平均成对差异来衡量多样性。mrt使用用户点击的笔记类别的平均数量来描述多样性。两者都是行业推荐系统中常用的多样性指标。7天实验周期的在线a/b测试平均结果如表2所示。ssd相比dpp显着提高了推荐结果的多样性和相似性。此外,ssd在延迟的第99个百分位(p99)上减少了7ms,并减少了相对27%的内存需求,并且ssd*进一步提高了ssd的整体性能。
[0164]
表2
[0165][0166]
根据本技术的一些实施例,提供了一种基于滑动谱分解确定内容多样性的装置700,如图7所示,基于滑动谱分解确定内容多样性的装置700如下:
[0167]
确定模块701:确定n个候选内容以及n个内容的空间表示向量;
[0168]
处理模块702:从n个所述向量中基于预设标准选择基准向量;
[0169]
计算模块703:根据所述基准向量,对于除所述基准向量以外的n
‑
1个所述向量,计算各个所述向量的多样性值的大小,所述多样性值是指当前向量相对于前一确定的向量参与构成的超平面的体积,所述多样性值的大小用于表示所述当前向量所对应的当前候选内容的多样性。
[0170]
第一实施例是与本实施例相对应的方法实施例,本实施例可与第一实施例互相配合实施。第一实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在第一实施例中。
[0171]
根据本技术的一些实施例,提供了一种基于内容多样性选定内容的装置800,如图8所示,所述装置800包括:
[0172]
确定模块801:确定n个候选内容以及n个候选内容的空间表示向量;
[0173]
处理模块802:从n个向量中选择与用户相关性最高的内容所对应的向量作为基准向量;
[0174]
计算模块803:根据基准向量,从除基准向量以外的n
‑
1个向量中,按照向量的多样值的大小选出t
‑
1个向量,多样性值是指当前向量相对于前一确定的向量参与构成的超平面的体积;体积大小和多样性值的大小成正比;以及
[0175]
选定模块804:将t
‑
1个向量对应的内容作为选定内容。
[0176]
第二实施例是与本实施例相对应的方法实施例,本实施例可与第二实施例互相配
合实施。第二实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在第二实施例中。
[0177]
本技术的第五实施例涉及一种基于滑动谱分解确定内容多样性的设备901,包括:
[0178]
存储器9011,用于存储由系统的一个或多个处理器执行的指令,以及
[0179]
处理器9012,是系统的处理器之一,用于执行所述指令以实施上述第一实施例的任意一种可能的方法。
[0180]
第一实施例是与本实施例相对应的方法实施例,本实施例可与第一实施例互相配合实施。第一实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在第一实施例中。
[0181]
具体的,如图9所示,设备901可以包括一个或多个(图中仅示出一个)存储器9011和处理器9012(处理器9012可以包括但不限于中央处理器cpu、图像处理器gpu、数字信号处理器dsp、微处理器mcu或可编程逻辑器件fpga等的处理装置)。本技术实施例中不限定上述存储器9011和处理器9012之间的具体连接介质。本技术实施例在图9中以存储器9011和处理器9012之间通过总线9013连接,总线9013在图9中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线9013可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。本领域技术人员可以理解,图9所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,设备901还可包括比图9中所示更多或者更少的组件,或者具有与图9所示不同的配置。
[0182]
处理器9012通过运行存储在存储器9011内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的基于滑动谱分解确定内容多样性的方法。
[0183]
存储器9011可用于存储处理器9012执行的如本技术的一些实施例中的基于滑动谱分解确定内容多样性的方法对应的程序指令/模块。存储器9011可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器9011可进一步包括相对于处理器9012远程设置的存储器,这些远程存储器可以通过网络连接至该设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0184]
本技术的第六实施例涉及一种基于内容多样性选定内容的设备,包括:
[0185]
存储器,用于存储由系统的一个或多个处理器执行的指令,以及
[0186]
处理器,是系统的处理器之一,用于执行所述指令以实施上述第二实施例的任意一种可能的方法。
[0187]
第二实施例是与本实施例相对应的方法实施例,本实施例可与第二实施例互相配合实施。第二实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在第二实施例中。
[0188]
本技术的第七实施例涉及一种使用计算机程序编码的计算机存储介质,计算机可读介质上存储有指令,该指令在计算机上执行时可以使计算机执行上述第一实施例的任意一种可能的方法。
[0189]
本技术的第八实施例涉及一种使用计算机程序编码的计算机存储介质,计算机可读介质上存储有指令,该指令在计算机上执行时可以使计算机执行上述第二实施例的任意
一种可能的方法。
[0190]
需要说明的是,本技术的各方法实施例均可以以软件、硬件、固件等方式实现。不管本技术是以软件、硬件、还是固件方式实现,指令代码都可以存储在任何类型的计算机可访问的存储器中(例如永久的或者可修改的,易失性的或者非易失性的,固态的或者非固态的,固定的或者可更换的介质等等)。同样,存储器可以例如是可编程阵列逻辑(programmable array logic,简称“pal”)、随机存取存储器(randomaccess memory,简称“ram”)、可编程只读存储器(programmable read only memory,简称“prom”)、只读存储器(read
‑
only memory,简称“rom”)、电可擦除可编程只读存储器(electrically erasable programmable rom,简称“eeprom”)、磁盘、光盘、数字通用光盘(digital versatile disc,简称“dvd”)等等。
[0191]
需要说明的是,本技术各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部位,还可以以多个物理单元的组合实现,这些逻辑单元本身的物理实现方式并不是最重要的,这些逻辑单元所实现的功能的组合才是解决本技术所提出的技术问题的关键。此外,为了突出本技术的创新部位,本技术上述各设备实施例并没有将与解决本技术所提出的技术问题关系不太密切的单元引入,这并不表明上述设备实施例并不存在其它的单元。
[0192]
需要说明的是,在本专利的权利要求和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0193]
虽然通过参照本技术的某些优选实施例,已经对本技术进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本技术的精神和范围。