CN112364252B - 内容推荐方法、装置、电子设备及存储介质 - Google Patents

内容推荐方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN112364252B
CN112364252B CN202110032475.9A CN202110032475A CN112364252B CN 112364252 B CN112364252 B CN 112364252B CN 202110032475 A CN202110032475 A CN 202110032475A CN 112364252 B CN112364252 B CN 112364252B
Authority
CN
China
Prior art keywords
content
result
tag
label
recommended
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110032475.9A
Other languages
English (en)
Other versions
CN112364252A (zh
Inventor
邓玉龙
朱瑞
刘琼琼
丁文彪
刘子韬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Century TAL Education Technology Co Ltd
Original Assignee
Beijing Century TAL Education Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Century TAL Education Technology Co Ltd filed Critical Beijing Century TAL Education Technology Co Ltd
Priority to CN202110032475.9A priority Critical patent/CN112364252B/zh
Publication of CN112364252A publication Critical patent/CN112364252A/zh
Application granted granted Critical
Publication of CN112364252B publication Critical patent/CN112364252B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及内容推荐方法、装置、电子设备及存储介质。所述内容推荐方法包括:针对目标用户输入的内容或者由该目标用户确定的内容特征、以及该目标用户的用户画像特征,通过训练的多标签分类模型获得多个结果标签作为结果标签集;以及针对结果标签集中的每个结果标签,通过随机游走算法在二分图中游走,来获得相应的推荐内容,其中,所述多标签分类模型是使用内容特征、用户画像特征以及供模型训练用的内容标签所训练得到的,所述二分图是根据内容库中的所有内容与和与所述所有内容有关的所有内容标签来构造的。

Description

内容推荐方法、装置、电子设备及存储介质
技术领域
本申请涉及人工智能技术领域,尤其涉及内容推荐方法、装置、电子设备及存储介质。
背景技术
当前,人工智能技术在各行各业得到广泛的应用,但是在内容推荐方面,推荐的精度和/或效率亟需改进。
本部分旨在为权利要求书中陈述的本申请的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
发明内容
本申请提供内容推荐方法、装置、电子设备及存储介质,以解决或缓解现有技术中的一项或更多项技术问题。
根据本申请的实施例,提供一种内容推荐方法,包括:
针对目标用户输入的内容或者由该目标用户确定的内容特征、以及该目标用户的用户画像特征,通过训练的多标签分类模型获得该输入的内容的多个结果标签作为结果标签集; 以及
针对结果标签集中的每个结果标签,通过随机游走算法在二分图中游走,来获得针对所述输入的内容的推荐内容,
其中,所述多标签分类模型是使用内容特征、用户画像特征以及供模型训练用的内容标签所训练得到的,所述二分图是根据内容库中的所有内容与和与所述所有内容有关的所有内容标签来构造的。
根据本申请的实施例,提供一种内容推荐装置,包括:
结果标签集获得单元,被配置用于针对目标用户输入的内容或者由该目标用户确定的内容特征、以及该目标用户的用户画像特征,通过训练的多标签分类模型获得该输入的内容的多个结果标签作为结果标签集; 以及
推荐内容获得单元,被配置用于针对结果标签集中的每个结果标签,通过随机游走算法在二分图中游走,来获得针对所述输入的内容的推荐内容,
其中,所述多标签分类模型是通过模型训练单元,使用内容特征、用户画像特征以及供模型训练用的内容标签来训练得到的,所述二分图是由二分图构造单元根据内容库中的所有内容与和与所述所有内容有关的所有内容标签来构造的。
根据本申请的实施例,提供一种电子设备,包括:
处理器;以及
存储程序的存储器,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行上述的方法。
根据本申请的实施例,提供一种存储程序的计算机可读存储介质,所述程序包括指令,所述指令在由处理器执行时,使所述处理器执行上述的方法。
本申请的上述内容推荐方法、装置、电子设备及存储介质能够提高内容推荐的精度和/或效率,有效提升用户体验。
本申请不以任何方式受到上述说明的任何限制。除上面描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本申请的进一步的方面、实施方式和特征也将会是清晰的。
附图说明
附图中,除非另外规定,否则贯穿多个附图的相同或相似的附图标记表示相同或相似的部件或要素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本申请的一些实施方式,而不应将其视为是对本申请保护范围的限制。
图1示出了根据本申请实施例的一种示例性的内容推荐方法。
图2示出了根据本申请实施例的一种二分图构造方法的示例。
图3示出了根据本申请实施例的一个示例性的二分图。
图4示出了根据本申请实施例的可达矩阵的示例。
图5示出了基于结果标签集来获得推荐题目的一个示例性的流程图。
图6示出了基于结果标签集来获得推荐题目的一个总体的示例过程。
图7示出了基于结果标签集来获得推荐题目的另一个总体的示例过程。
图8示出了根据本申请实施例的一种示例性的内容推荐装置。
图9示出了根据本申请实施例的二分图构造单元的一个示例性框图。
图10示出了根据本申请实施例的另一种示例性的内容推荐装置。
图11示出了根据本申请实施例的一种示例性的电子设备。
图12示出了根据本申请实施例的另一种示例性的电子设备。
具体实施方式
当前,运用人工智能技术进行智能推荐或推送的内容可以包括例如视频、网页、图像、文本、超链接等等各种各样的应用数据。不过,在内容推荐方面,推荐的精度和/或效率亟需改进,尤其在某些应用领域,比如使用推荐算法进行题目推荐的应用场景下,题目推荐的准确度和/或效率极大影响用户体验。
由此,本申请提供一种内容推荐方法。如图1所示,根据本申请实施例的内容推荐方法包括如下步骤。
步骤S110,针对目标用户输入的内容或者由该目标用户确定的内容特征、以及该目标用户的用户画像(user profile)特征,通过训练的多标签分类模型获得多个结果标签作为结果标签集。
这里,内容特征可以是与内容(content)本身有关的特征,即,可以是从各内容本身提取的特征。这里的内容指由智能的推荐系统或方法推荐的内容,比如,对于题目推荐系统或方法而言,这里的内容指的是推荐的“题目”。对于用户(学习者)需要练习或者完成的题目(也可以称为“习题”或者“试题”)而言,内容特征即为与题目本身有关的特征,比如算式特征。其中,本申请可以从大量的维度来体现算式特征。另外,如果推荐系统或方法推荐的是视频或图像,则这里的内容指的是相应的视频或图像。这里仅是举出一些例子,不应作为对本申请的任何限制。
用户画像特征用于描述用户的特征,可以是从用户的相关数据提取的特征。例如,可以包括与用户本身有关的特征,还可以包括与用户的使用历史有关的特征。比如,对于题目推荐的应用而言,用户画像特征可以包括从例如用户(学习者)的历史记录数据(例如历史学习数据)以及用户自身的属性数据(例如,年龄、性别、年级等)提取的特征。这里,历史学习数据比如可以是用来描述用户的做题喜好、用户的历史题目完成情况、用户的成绩情况等等的数据。其中,历史学习数据可以包括历史题目推荐数据,比如可以包括历史推荐的题目标签、题目内容等等。这里仅是举出一些例子,不应作为对本申请的任何限制。
另外,内容的标签与内容本身有关。例如,在内容为题目的情况下,内容的标签可以为例如几年级、口算、应用题、加减、乘除、混合运算、难度等等。内容的标签可以根据需求来灵活地设置,不应对其作出任何限制。
另外,内容特征与用户画像特征都可以包括从用户的历史数据得到的各自相关特征。更具体地,用户画像特征可以包括从用户的历史数据中与用户画像有关的数据来提取的特征,还可以另外包括用户自身属性有关的特征(例如用户的年龄、性别、年级等);而内容特征则可以是从用户的历史数据中与内容有关的数据来提取的特征。
如上所述,所述用户画像特征可以基于目标用户的历史数据来得到。由目标用户确定的内容特征例如可以通过目标用户在操作界面(例如图形用户界面GUI或者其他的操作界面等)所作的选择或者作出的指定来得到。
比如,对于需要为一个目标用户推荐题目的场景(例如一个题目推荐系统或者一个题目推荐应用程序APP),可以基于该目标用户在该系统或APP上的历史数据来得到该目标用户的用户画像特征。如果该目标用户是一个新用户,即还没有历史数据或者历史数据较少,则其用户画像特征可以随着该目标用户的历史数据逐渐增多而丰富。
并且,还可以例如引导该目标用户选择其希望的题目类型、题目难度、推荐题目的数量等等,由此确定用户所需的内容,比如什么类型的、什么难度的、多少个题目等。然后,基于所确定的用户所需内容,确定相应的内容特征。
另外,目标用户所需内容(例如题目)不限于通过上述方式来确定,也可以通过其他方式,例如,可以基于目标用户上传的图像,来确定目标用户所需内容。比如,目标用户可以将适合自己的题目上传到系统,由系统对于该目标用户上传的该题目进行特征提取,获得该题目的特征(即,内容特征)。
由此,可以基于上述的该目标用户的用户画像特征以及目标用户输入的内容或者该目标用户所确定的内容(例如题目)特征,通过多标签分类模型,得到多个结果标签,这里可以称为“结果标签集”Q。其中结果标签集Q可以记为:Q={
Figure 909987DEST_PATH_IMAGE001
,...,
Figure 294832DEST_PATH_IMAGE002
},这里,
Figure 891029DEST_PATH_IMAGE003
指标签i。
然后,在步骤S120,可以针对结果标签集中的每个结果标签,通过随机游走(random walk)算法在二分图(Bipartite Graph)中游走,来获得相应的推荐内容。
通过根据本申请实施例的上述内容推荐方法,能够提高内容推荐的精度和/或效率,有效提升用户体验。
其中,上述的多标签分类模型可以是使用内容特征、用户画像特征以及供模型训练用的内容标签所训练得到的。
可选地,可以通过以下方式来训练多标签分类模型:将作为样本数据的用户画像特征与内容特征,与相应的内容标签一起,输入到初始的多标签分类模型,可得到训练的多标签分类模型。这里,多标签分类模型可以为随机森林(Random Forest,简称“RF”)算法。
另外,本领域技术人员可知,也可以使用其他的多标签分类算法来训练本申请要使用的多标签分类模型,而不仅限于RF算法。
在本申请中,不仅使用内容特征,而且使用用户画像特征,将内容特征与用户画像特征结合起来;而且,还结合内容标签,将这三种数据(内容特征、用户画像特征、内容标签)结合起来共同用于训练分类模型,可以得到更准确的分类模型。更具体来说,内容特征、用户画像特征以及内容标签分别用于从不同的角度或者方面来表征训练数据的特性,使得训练数据更加丰富和多样化,由此得到的分类模型也更精细、更准确。
另外,其中,所述二分图是根据内容库中的所有内容与和与所述所有内容有关的所有内容标签来构造的。
首先,内容库中存储有用于内容推荐的素材内容。而且,还可以随时或者周期性地往内容库中添加素材内容、对内容库中的素材内容进行删减或者更新等操作。也就是说,内容库可以很大,存放有很多素材内容。
这里,构造二分图所用的内容标签可以是基于内容库中的所有内容得到的内容标签。也就是说,内容标签可以尽可能地丰富。
可选地,构造二分图可以采用例如以下方式,如图2所示。
在步骤S201,将所述内容库中的所有内容均作为第一节点,将所述所有内容对应的所有内容标签均作为第二节点,得到包含所有第一节点和所有第二节点的二分图G。
在本申请中,二分图可以是指在一个图中,将点集分为两部分,例如分为X和Y两个集合,使得该图的边的两个端点总是分别地落在集合X和集合Y上,而不会有集合X中的点连向本集合X中的点,也不会有集合Y中的点连接到本集合Y中的点。
例如,在本申请中,可以将各内容标签视为二分图G的左半部分(第一部分)节点,记作
Figure 262623DEST_PATH_IMAGE004
,将各内容视为二分图G的右半部分(第二部分)节点
Figure 31996DEST_PATH_IMAGE005
,其中n为内容标签的数量,m为内容的数量。如果二分图G中的内容
Figure 412293DEST_PATH_IMAGE006
属于内容标签
Figure 976130DEST_PATH_IMAGE007
,则认为二者有边相连接,其中,该二分图G的边集可以记作
Figure 566511DEST_PATH_IMAGE008
该二分图G的节点集可以记作P(节点集P是将二分图G的左半部分节点和右半部分节点进行拼接而成,图3中示例出了一个二分图G,其标签节点包括A、B、C、D、E,其内容节点包括1、2、3、4、5、6、7、8,则得到的其节点集即为{A,B,C,…E,1,2,3…8})。对于题目推荐的场景而言,这里描述的“内容”即为“题目”,“内容标签”即为有关题目的各种标签。
在步骤S202,对于由步骤S201得到的一个二分图,例如图3所示的二分图G,可以构造用于表示内容标签之间的连接关系的邻接矩阵M(如图4所示),其中,邻接矩阵M中的元素
Figure 139575DEST_PATH_IMAGE009
之间的连接关系。这里,一个二分图的两个内容标签之间是否连接可以根据下式(1)确定,其中, A和B为该二分图中的任意两个内容标签,
Figure 702274DEST_PATH_IMAGE010
为0表示A与B这两个内容标签不邻接,
Figure 699662DEST_PATH_IMAGE010
为1表示A与B这两个内容标签邻接:
Figure 387126DEST_PATH_IMAGE011
(1);
其中,A和B为该二分图中的任意两个内容标签,a AB 表示两个内容标签A与B之间的邻接关系,a AB 为0表示两个内容标签A与B不邻接,a AB 为1表示两个内容标签A与B邻接;
timu(A)表示与内容标签A对应的内容组成的标签A内容集,timu(B)表示与内容标签B对应的内容组成的标签B内容集,len (timu(B))表示标签B内容集中的内容的数量,len(timu(A) ∩ timu(B))表示标签A内容集与标签B内容集中存在相同内容的数量;以及
θ是预设的连接阈值。
其中,θ是用于帮助确定两个内容标签之间是否有连接关系的阈值(可以称为“连接阈值”或者“第一阈值”),其取值范围优选地例如可以为[0.7, 1),更优选地例如可以为0.9。但是,该阈值不限于这里示例出的数值范围和数值,而是还可以是其他数值范围和/或数值。
在S203,可以根据通过上述方法得到的二分图G的邻接矩阵M来计算该二分图G的可达矩阵M’。
这里,可达矩阵指的是用矩阵形式来描述图的各节点之间经过一定长度的通路后可达到的程度,即,可以用于刻画两个节点之间是否可达。可达矩阵的计算方法可以利用布尔矩阵的运算性质。可达矩阵对应的是拓扑几何,它描述的是要素之间的相对位置的关系,跟具体的几何坐标无关。
另外,关于通过邻接矩阵来求可达矩阵,可以通过已知的方法或者将来可以使用的数学方法来实现,例如连乘法、幂乘法、warshall算法等(参见https://baike.baidu.com/item/%E5%8F%AF%E8%BE%BE%E7%9F%A9%E9%98%B5)。
在本申请中,通过施加可达矩阵限制,可以避免游走过程中内容标签的频繁扩散导致的算法不容易收敛的缺陷,从而能够有效降低算法的处理时间,大大提升推荐的效率。
这里,本申请给出的示例性的二分图和可达矩阵仅是例子,在本文中给出这样的示例是为了方便理解,而实际的二分图和可达矩阵可能非常大。对于二分图而言,其大小取决于内容的数量和内容标签的数量两者。对于可达矩阵而言,取决于二分图中的内容标签的数量。
另外,在本申请中,可以使用普通的随机游走算法,也可以使用二分图重启随机游走 (Bipartite graph Random walk with Restart,简称Bi-RWR)算法。
普通的随机游走算法的原理如下:给定一个连接图以及图中每个节点的转移概率的情况下,该算法的目的是找到从某个起点开始随机游走并最终停在每个点的概率。
重启随机游走算法与普通随机游走算法的区别通常在于,在每次游走之后有一定概率(重启概率)回到起点(即,重启),以促进算法的效率提升。
在本申请中,如果使用重启随机游走算法,则可以为其设置一个适当的随机游走重启概率
Figure 763881DEST_PATH_IMAGE012
,以防止算法过度游走导致效率太低和/或推荐结果的匹配精度太差。其中,在本申请中,随机游走重启概率
Figure 977824DEST_PATH_IMAGE012
可以例如设置为(0.5,1),优选地可以例如为0.7,以在推荐精度和算法效率方面获得比较好的折衷效果。
另外,可以为二分图随机游走重启算法设置总的游走步数N,该步数N与算法的耗时(效率)息息相关,通常N越大,耗时越长。可以根据经验和/或实验等等来设置这里的游走步数N,例如,可以将N优选地设置为10000。
还可以设置要推荐的内容的数量K。这里,可以依据实际需要来确定推荐数量K。例如,对于题目推荐的场景而言,可以将推荐的题目数量设置为10、20、30、40、50、60等等,这里,对推荐的题目数量不作任何限制。另外,该推荐数量K也可以由用户自己来设置(例如,可以选择或自己输入等)。该推荐数量K可以不是固定的,而是可以是针对每个用户、依据不同的需求而不同,并且也可以每次的推荐数量都不同。总之,这是一个可以非常灵活地进行调整和/或设置的参数。
可选地,在本申请中,可以在二分图G中通过重启随机游走算法、基于设置的所述随机游走重启概率
Figure 617884DEST_PATH_IMAGE012
、以及所述总游走步数N与要推荐的内容的数量K中至少一者,来进行随机游走,获得候选推荐结果V。
例如,可选地,在进行了上述设置之后,可以根据用户的用户画像特征
Figure 917279DEST_PATH_IMAGE013
计算结果标签集Q中的各结果标签qi的权重wi,这些权重构成相应的权重集合
Figure 832145DEST_PATH_IMAGE014
, 计算结果标签的权重可以采用如下的式(2):
Figure 790610DEST_PATH_IMAGE015
(2);
其中,len(Q)为结果标签集Q中所含结果标签的数目;
Uqi为在结果标签集Q之中的结果标签qi在该目标用户的历史访问数据中所占的权重,作为该标签qi的历史权重;以及
Uqj为在结果标签集Q之中的结果标签qj在该目标用户的历史访问数据中所占的权重,作为该标签qj的历史权重,其中,n为结果标签集Q中的结果标签的数量。
其中,结果标签的历史权重与该目标用户前一次关联该结果标签的时间、以及在预设时间段内该目标用户与该结果标签的历史关联次数相关,这里的“关联”可以指该目标用户访问具有该结果标签的内容(例如题目),即该内容被命中。更具体地,例如,结果标签的历史权重可以与该目标用户前一次关联该结果标签的时间负相关,比如前一次关联该结果标签的时间越接近当前时间(当前时间与前一次关联时间之间的差值越小),该结果标签的历史权重可以越大。再例如,结果标签的历史权重可以与用户和该结果标签的历史关联次数正相关,比如,在预设时间段内的历史关联次数越多,权重可以越大。这里的“预设时间段”可以根据实际情况进行调整,并不一定是固定的某个时间长度。比如,“预设时间段内的历史关联次数”可以是某个学习者(用户)在近三个月或者半年内的历史关联次数等等。另外,结果标签的历史权重还可以与其他的参数与因素相关,在此不再一一赘述。总之,本申请不限于这里例举出的例子。
当结果标签集中的结果标签qi属于新标签,即,当该结果标签qi是该用户之前未曾关联过的一个标签时,则意味着这个标签关联了该目标用户新关注的内容(例如题目),此时可以直接将该新标签的权重设置为较高的值,比如1,0.8等诸如此类的相对较大的权重值。比如当目标用户想要提升题目的难度或者改变/扩展题目的类型,拍照上传了一个之前未曾做过的新类型的题目,或者更高难度的题目,此时该题目的标签可能包含了新的标签(比如代表了该新类型的标签,或者代表了该更高难度的标签等),那么可以将该新标签的权重设置为较高的值,以表明对该新标签的重视。
可选地,为每个结果标签
Figure 132729DEST_PATH_IMAGE003
分配随机游走步数
Figure 388261DEST_PATH_IMAGE016
,例如可以采用如下的式3):
Figure 841239DEST_PATH_IMAGE017
Figure 29775DEST_PATH_IMAGE018
(3)
其中,
Figure 11638DEST_PATH_IMAGE019
C为与所述结果标签qi对应的内容的最大数量,即,
Figure 285624DEST_PATH_IMAGE020
,其中,
Figure 539364DEST_PATH_IMAGE021
表示与所述结果标签
Figure 457772DEST_PATH_IMAGE003
对应
Figure 141694DEST_PATH_IMAGE016
内容,
Figure 106239DEST_PATH_IMAGE022
表示内容
Figure 166599DEST_PATH_IMAGE021
的数量;
wi是所述步数权重;
N是设置的所述总游走步数;
β为预设的最小步数阈值;以及
K是设置的所述要推荐的内容的数量。
其中,β为最小步数阈值,是为了保证至少为
Figure 64148DEST_PATH_IMAGE003
分配到一定的游走步数,其范围例如可以为β≥8,比如可以为8。
然后,可以在二分图G中进行随机游走,获得候选推荐结果。
以下将结合题目推荐的应用场景,给出一个如何基于结果标签集来获得推荐题目的总体的示例过程,如图5所示。
S401,首先,为结果标签集Q中的每一个结果标签
Figure 918972DEST_PATH_IMAGE003
分配随机游走步数Nqi
S402,针对每一个结果标签
Figure 45846DEST_PATH_IMAGE003
,通过重启随机游走算法在所述二分图中游走,获得候选推荐题目
Figure 644318DEST_PATH_IMAGE023
,由此得到结果标签集Q的候选推荐题目集
Figure 396373DEST_PATH_IMAGE024
其中,S402中的针对每一个结果标签
Figure 156519DEST_PATH_IMAGE003
,通过重启随机游走算法在所述二分图中游走,获得候选推荐题目
Figure 626814DEST_PATH_IMAGE023
,由此得到结果标签集Q的候选推荐题目集
Figure 28977DEST_PATH_IMAGE024
的一个示例性的实施方式如下。
如图6所示,在S402A,为该当前结果标签currQ确定随机游走步数currSteps。
其中,可以基于上述的式3)来确定随机游走步数,也可以通过其他方法来确定随机游走步数,在此不再赘述。
在S402B,根据基于二分图G计算得到的可达矩阵M’,计算前一个结果标签lastQ和所述当前结果标签currQ之间是否可达;
如果不可达,则在S402C,将当前结果标签currQ置为起始标签orgQ,以便从该起始标签重新开始随机游走;
如果可达,则在S402D,从题库中与当前结果标签currQ所对应的题目中随机选一个题目作为当前题目currT,并且将该当前题目currT的命中次数V[currT]加1;
在S402E,在当前题目currT的命中次数V[currT]等于预设的命中次数阈值
Figure 507975DEST_PATH_IMAGE025
的情况下,将该当前题目currT确定为一个候选推荐题目,并且将用于标记命中次数达到
Figure 563656DEST_PATH_IMAGE025
的题目命中次数的计数值nHighVisited加1;
在S402F,比较所述计数值nHighVisited与命中次数阈值nq
如果计数值nHighVisited>nq,则在S402G,结束游走,并将确定的各候选推荐题目组成候选推荐题目集Vq
如果计数值nHighVisited≤nq,则在S402H,将当前游走步数currSteps减1,将实际总游走步数totSteps加1;
在S402I,确定当前游走步数currSteps是否等于0;
如果当前游走步数currSteps等于0,则在S402J,确定实际总游走步数totSteps是否大于等于预先设置的总随机游走步数N;
如果当前游走步数currSteps等于0且实际总游走步数totSteps大于等于预先设置的总随机游走步数N,则转到S402G,结束游走,并将确定的各候选推荐题目组成候选推荐题目集Vq;以及
如果当前游走步数currSteps等于0且实际总游走步数totSteps小于预先设置的总随机游走步数N,则在S402K,将当前结果标签currQ作为前一个结果标签lastQ,并且从当前结果标签currQ所对应的题目中,随机选一个题目作为新的当前题目currT,并且将该新的当前题目currT的命中次数V[currT]加1;
在S402L,从所述结果标签集中的与该新的当前题目currT对应的结果标签中,随机选一个结果标签currQ’来作为新的当前结果标签currQ。
另外,在本申请中,还可以在当前结果标签currQ为结果标签集Q中的起始标签(以便从该起始标签重新开始随机游走)的情况下,将该结果标签还作为前一个结果标签lastQ。
另外,如图7所示,根据本申请的实施例的内容推荐方法还可以包括以下步骤:S500,基于候选题目集Vq,获得要推荐的题目集
Figure 396614DEST_PATH_IMAGE026
。下面将给出一个示例的实施方式。
例如,可以根据以下项中至少之一,对候选题目集中的候选题目进行排序,得到最终推荐结果:
1)候选题目集Vq中每个候选题目的命中次数;以及
2)每个候选题目与输入题目的相似度。
关于上述的第1)点,可以根据下面的式4,对于候选题目集Vq中的各题目在每次随机游走(针对每个当前标签的随机游走过程)中的命中次数进行合并,得到该推荐题目集Vq中的各题目的总体命中次数。
Figure 336888DEST_PATH_IMAGE027
(4)
其中,t为该推荐题目集Vq中的题目;
V[t]表示题目t在随机游走中命中的次数;以及
qi为结果标签集Q中的当前标签。
由于随机游走的步数与算法的耗时性能息息相关,本申请在随机游走算法中引入了
Figure 63536DEST_PATH_IMAGE025
Figure 165484DEST_PATH_IMAGE028
两个参数(在上面描述过),具体的示例性使用方法包括:当
Figure 344792DEST_PATH_IMAGE028
个题目中的每一个都被访问(命中)了至少
Figure 88758DEST_PATH_IMAGE025
次时,算法就提前停止,从而避免候选的推荐题目数已经稳定了,算法还在持续游走,导致不必要的耗时。由此使得根据本申请的题目推荐方法能够在保证推荐精度的情况下,高效、快速地完成题目推荐。
关于上面的第2)点,所提及的“相似度”可以包括题目的各种维度上的相似度中至少之一。
例如,可以从运算符维度上来确定不同题目序列的相似度。
举例来说,针对输入题目的序列Qcs与每个候选推荐题目的序列Vjs,可以计算得到其各自的运算符序列Qca和Vja,并计算两个运算符序列之间的差集(差集的含义为两个集合经过差运算所得的集合),得到差集列表
Figure 802068DEST_PATH_IMAGE029
Figure 606076DEST_PATH_IMAGE030
如果这两个列表的长度不一样,则用∅来补充较短的列表,以使其与较长的那个列表对齐。
比如:算式1+3-1=2和2+4-5×3÷6=8的运算符序列分别为Qca=[“+”,“-”,“=”]和Vja={“+”,“×”,“÷”,“=”},二者的差集列表分别为
Figure 272681DEST_PATH_IMAGE029
=[“-”]和
Figure 23599DEST_PATH_IMAGE030
=[“×”,“÷”],由于二者长度不一致,所以补齐其中长度较短的列表
Figure 990418DEST_PATH_IMAGE029
=[“-”,“∅”]。
然后,可以根据下列式子5)来计算运算符相似度:
Figure 575114DEST_PATH_IMAGE031
……(5)
其中,oper_dis(Qcs,Vjs)=
Figure 991664DEST_PATH_IMAGE032
Figure 405328DEST_PATH_IMAGE033
为求编辑距离(参见例如
Figure 836441DEST_PATH_IMAGE034
oper_dis(·)为计算运算符距离;
L(·)为取出提前预设的运算符的优先级值,比如:+和-运算符的优先级均设置为100,×和÷运算符的优先级均设置为1000,补齐用的符号∅的优先级设置为0,abs(·)为计算绝对值,
Figure 247831DEST_PATH_IMAGE035
为求差集列表
Figure 889027DEST_PATH_IMAGE036
的长度。
再举例来说,还可以确定题目序列在数类型维度上的相似度。
比如,对于一个数学运算的题目1+2.1=5(输入的题目通常可以为最新的错题,以便针对做错的题目来推荐类似的题目进行练习),抽取到的数字类型的序列是:[整,小,整]。可以采用例如如下的式6来计算输入题目的序列Qcs与一个候选题目序列Vjs的相似度:
Figure 716169DEST_PATH_IMAGE037
(6);
其中,edit_dis(·)同样为求编辑距离。
为了便于理解,将举出一个实例来说明。比如,算式1.2+3=4和3/2+4=5的数字类型序列分别为:[小,整,小]和[分,整,整],通过计算这两个数字类型序列的编辑距离,即可求出其数字类型的相似度。
另外,还可以确定不同的题目序列在数值大小维度上的相似度。
比如,对于一个数学运算的题目1+2.1=5(例如,输入的题目通常可以是最新的错题,以便针对做错的题目来推荐类似的题目进行练习),抽取到的该题目的数值大小的序列是:[1,2.1,5]。可以采用例如如下的式7来计算用户输入题目的序列Qcs和一个候选题目的序列Vjs的相似度。
Figure 392001DEST_PATH_IMAGE038
(7)
其中,
Figure 443134DEST_PATH_IMAGE039
为输入题目的序列Qcs中的第i个数;
Figure 715502DEST_PATH_IMAGE040
为候选题目的序列Vjs中的第i个数;
Figure 470968DEST_PATH_IMAGE041
为输入的题目(上面的该错题)中出现的数的数量(count)和候选题目中出现的数的数量之中的较小的那个数量。
另一方面,在本申请中,还可以通过将不同维度上的题目序列相似度进行组合,来题目序列的综合相似度。即,综合相似度可以是对于例如不同维度上的相似度进行组合而得到的。例如,可以对上述的运算符维度、数类型维度、数值大小维度等维度上的相似度之中的至少二者求平均值,包括例如求算术平均值、平方平均值(均方根平均值,rms)、调和平均值、加权平均值等等方式,来得到不同题目序列的综合相似度。
通过以上描述的根据本申请各实施例的内容推荐方法,不仅可以使得推荐的内容更准确,而且能够更快地获得推荐的内容。
以下将描述根据本申请实施例的一种内容推荐装置。
如图8所示,根据本申请实施例的内容推荐装置10可以包括结果标签集获得单元100、以及推荐内容获得单元200。
其中,所述结果标签集获得单元100可以被配置用于针对目标用户输入的内容或者由该目标用户确定的内容特征、以及该目标用户的用户画像特征,通过训练的多标签分类模型获得该输入的内容的多个结果标签作为结果标签集。
所述推荐内容获得单元200可以被配置用于针对结果标签集中的每个结果标签,通过随机游走算法在二分图中游走,来获得针对所述输入的内容的推荐内容。
其中,所述多标签分类模型是通过模型训练单元,使用内容特征、用户画像特征以及供模型训练用的内容标签来训练得到的,所述二分图是由二分图构造单元根据内容库中的所有内容与和与所述所有内容有关的所有内容标签来构造的。
可选地,所述模型训练单元和/或所述二分图构造单元可以包括在所述内容推荐装置10中,也可以不包括在内容推荐装置10中。
另外,如图9所示,所述二分图构造单元20可以包括二分图获得部件201、邻接矩阵获得部件202以及可达矩阵获得部件203。
其中,所述二分图获得部件201可以被配置用于将所述内容库中的所有内容均作为第一节点,将所述所有内容对应的所有内容标签均作为第二节点,得到包含所有第一节点和所有第二节点的二分图G。
所述邻接矩阵构造部件202可以被配置用于构造用于表示该二分图中的作为第二节点的各内容标签之间的连接关系的邻接矩阵M
所述可达矩阵计算部件被203可以被配置用于基于所述邻接矩阵M,来计算该二分图G的用于表示所述二分图中的两个内容标签之间是否可达的可达矩阵M’
可选地,所述邻接矩阵构造部件202可以根据下式(1)来确定所述二分图的两个内容标签之间是否连接,
Figure 79935DEST_PATH_IMAGE042
(1);
其中,A和B为该二分图中的任意两个内容标签,a AB 表示两个内容标签A与B之间的邻接关系,a AB 为0表示两个内容标签A与B不邻接,a AB 为1表示两个内容标签A与B邻接;
timu(A)表示与内容标签A对应的内容组成的标签A内容集,timu(B)表示与内容标签B对应的内容组成的标签B内容集,len (timu(B))表示标签B内容集中的内容的数量,len(timu(A) ∩ timu(B))表示标签A内容集与标签B内容集中存在相同内容的数量;以及
θ是预设的连接阈值。
可选地,所述推荐内容获得单元200可以根据所述可达矩阵M’来计算当前结果标签与上一个结果标签之间是否可达,如果不可达,则可以将当前结果标签设置为起始标签,以便从该起始标签重新开始随机游走。
可选地,所述推荐内容获得单元200可以被配置用于通过以下操作,获得候选推荐结果,并从候选推荐结果来获得针对所述输入的内容的推荐内容:
设置随机游走重启概率
Figure 833128DEST_PATH_IMAGE012
,并且设置总游走步数N与要推荐的内容的数量K中至少一者;
根据目标用户的用户画像特征U,计算结果标签集Q中的各结果标签qi的步数权重wi,构成相应的步数权重集合
Figure 324283DEST_PATH_IMAGE043
, 其中,n为结果标签集Q中的结果标签的数量,i=1, 2, ……, n
基于计算得到的各结果标签的所述步数权重,为每个结果标签qi分配随机游走步数
Figure 617861DEST_PATH_IMAGE044
;以及
在二分图G中通过重启随机游走算法、基于设置的所述随机游走重启概率
Figure 999776DEST_PATH_IMAGE012
、以及所述总游走步数N与要推荐的内容的数量K中至少一者,来进行随机游走,获得候选推荐结果V。
可选地,所述推荐内容获得单元200可以通过下式2),计算各内容标签qi的步数权重wi
Figure 533657DEST_PATH_IMAGE045
(2);
其中,len(Q)为结果标签集Q中所含结果标签的数量;
Uqi为在结果标签集Q之中的结果标签qi在该目标用户的历史访问数据中所占的权重,作为该标签qi的历史权重;以及
Uqj为在结果标签集Q之中的结果标签qj在该目标用户的历史访问数据中所占的权重,作为该标签qj的历史权重,其中,n为结果标签集Q中的结果标签的数量。
可选地,所述推荐内容获得单元200可以通过下式3)来确定每个内容标签qi的随机游走步数
Figure 902321DEST_PATH_IMAGE046
通过下式3),来确定每个结果标签qi的随机游走步数
Figure 874957DEST_PATH_IMAGE046
Figure 786412DEST_PATH_IMAGE017
Figure 943724DEST_PATH_IMAGE018
(3);
其中,
Figure 534105DEST_PATH_IMAGE047
C为与所述结果标签qi对应的内容的最大数量,即
Figure 997184DEST_PATH_IMAGE048
,其中,
Figure 356621DEST_PATH_IMAGE049
表示与所述结果标签qi对应的内容,
Figure 356938DEST_PATH_IMAGE050
表示内容
Figure 44402DEST_PATH_IMAGE049
的数量;
wi是所述步数权重;
N是设置的所述总游走步数;
β为预设的最小步数阈值;以及
K是设置的所述要推荐的内容的数量。
可选地,在所述内容为题目的情况下,所述推荐内容获得单元可以被配置用于:
针对结果标签集中的每一个结果标签qi,分配随机游走步数Nqi
针对每一个结果标签qi,通过重启随机游走算法在所述二分图中游走,获得候选推荐题目
Figure 421157DEST_PATH_IMAGE051
,由此得到针对标签结果集Q的候选推荐题目集
Figure 635101DEST_PATH_IMAGE052
可选地,在所述内容为题目的情况下,所述推荐内容获得单元可以被配置用于:
为该当前结果标签currQ确定随机游走步数currSteps;
根据基于二分图G计算得到的可达矩阵M’,计算前一个结果标签lastQ和所述当前结果标签currQ之间是否可达;
如果不可达,则将当前结果标签currQ置为起始标签orgQ,以便从该起始标签重新开始随机游走;如果可达,则从题库中与当前结果标签currQ所对应的题目中随机选一个题目作为当前题目currT,并且将该当前题目currT的命中次数V[currT]加1;
在当前题目currT的命中次数V[currT]等于预设的命中次数阈值
Figure 803389DEST_PATH_IMAGE025
的情况下,将该当前题目currT确定为一个候选推荐题目,并且将用于标记命中次数达到
Figure 978150DEST_PATH_IMAGE025
的题目命中次数的计数值nHighVisited加1;
比较该计数值nHighVisited与命中次数阈值nq值;
如果计数值nHighVisited>nq,则结束游走,并将确定的各候选推荐题目组成候选推荐题目集Vq
如果计数值nHighVisited<nq,则将当前游走步数currSteps减1,将实际总游走步数totSteps加1;
确定当前游走步数currSteps是否等于0;
如果当前游走步数currSteps等于0,则确定实际总游走步数totSteps是否大于等于预先设置的总游走步数N;
如果当前游走步数currSteps等于0且实际总游走步数totSteps大于等于预先设置的总游走步数N,则结束游走,并将确定的各候选推荐题目组成候选推荐题目集Vq;以及
如果当前游走步数currSteps等于0且实际总游走步数totSteps小于预先设置的总随机游走步数N,则将当前结果标签currQ作为前一个结果标签lastQ,并且从当前结果标签currQ所对应的题目中,随机选一个题目作为新的当前题目currT,将该新的当前题目currT的命中次数V[currT]加1,并且从所述结果标签集中的与该新的当前题目currT对应的结果标签中,随机选一个结果标签currQ’来作为新的当前结果标签currQ。
根据一个实施例,如图10所示,所述内容推荐装置10还可以包括排序单元500。
其中,所述排序单元500可以被配置用于对于所述候选推荐题目集
Figure 893016DEST_PATH_IMAGE053
中的候选推荐题目进行排序,以确定要推荐的题目集
Figure 430308DEST_PATH_IMAGE054
根据一个实施例,所述排序单元500可以按照以下项之中至少一者,对于各候选推荐题目进行排序:
1) 各候选推荐题目的命中次数;以及
2) 各候选推荐题目与作为输入的内容的输入题目的相似度。
根据一个实施例,所述相似度可以包括以下项之中至少一者:
1) 题目中的运算符维度上的相似度;
2)题目中的数值类型维度上的相似度;以及
3)题目中的数值大小维度上的相似度。
这里,由于上面描述的各单元或模块的操作与对应的方法步骤中的操作类似,在此就不再赘述。
如图11所示,根据一个实施例,本申请提供一种电子设备1000,该电子设备可以包括处理器1001;以及存储程序的存储器1002,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据上述内容推荐方法之一。
根据一个实施例,本申请提供一种机器可读存储介质,其上存储有计算机程序,当该程序被处理器执行时实现如上所述的内容推荐方法之一。
如图12所示的电子设备是根据本申请实施例的电子设备的一种示例性的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图12所示,该电子设备可以包括:一个或多个处理器801、存储器802,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图12中虽然仅示出了一个处理器801,但是实际上可以有至少一个,例如可以有两个或者更多个。
存储器802可以为本申请所提供的计算机可读存储介质(例如非瞬时计算机可读存储介质)。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的方法之一。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的方法之一。
存储器802可以作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的上述方法之一对应的程序指令/模块/单元等。处理器801通过运行存储在存储器802中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法之一。
存储器802可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据本申请实施例的电子设备的使用所创建的数据等。此外,存储器802可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器802可选地包括相对于处理器801远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
根据本申请实施例的电子设备还可以包括:输入装置803和输出装置804。处理器801、存储器802、输入装置803和输出装置804可以通过总线或者其他方式连接,图12中以总线连接为例。
输入装置803可接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置804可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与虚拟专用服务器(VPS)服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
在本申请中,流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的单元、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。所述存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (27)

1.一种内容推荐方法,其特征在于,包括:
针对目标用户输入的内容或者由该目标用户确定的内容特征、以及该目标用户的用户画像特征,通过训练的多标签分类模型获得多个结果标签作为结果标签集; 以及
针对结果标签集中的每个结果标签,通过随机游走算法在二分图中游走,来获得针对所述输入的内容的推荐内容,
其中,所述多标签分类模型是使用内容特征、用户画像特征以及供模型训练用的内容标签所训练得到的,所述二分图是根据内容库中的所有内容与和与所述所有内容有关的所有内容标签来构造的,
其中,所述针对结果标签集中的每个结果标签,通过随机游走算法在所述二分图中游走,来获得针对所述输入的内容的推荐内容包括:
设置随机游走重启概率
Figure DEST_PATH_IMAGE001
,并且设置总游走步数N与要推荐的内容的数量K中至少一者;
根据目标用户的用户画像特征U,计算结果标签集Q中的各结果标签qi的步数权重wi,构成相应的步数权重集合
Figure DEST_PATH_IMAGE002
, 其中,n为结果标签集Q中的结果标签的数量,i=1, 2, ……, n
基于计算得到的各结果标签的所述步数权重,为每个结果标签qi分配随机游走步数
Figure DEST_PATH_IMAGE003
;以及
在二分图G中通过重启随机游走算法、基于设置的所述随机游走重启概率
Figure DEST_PATH_IMAGE004
、以及所述总游走步数N与要推荐的内容的数量K中至少一者,来进行随机游走,获得候选推荐结果V。
2.根据权利要求1所述的方法,其中,一个目标用户的用户画像特征是从该目标用户的相关数据提取的特征,包括从该目标用户的历史记录数据以及该目标用户自身的属性数据提取的特征。
3.根据权利要求1所述的方法,其中,通过以下方式来构造所述二分图:
将所述内容库中的所有内容均作为第一节点,将所述所有内容对应的所有内容标签均作为第二节点,得到包含所有第一节点和所有第二节点的二分图G;
构造用于表示该二分图中的作为第二节点的各内容标签之间的连接关系的邻接矩阵M;以及
基于所述邻接矩阵M,来计算该二分图G的用于表示所述二分图中的两个内容标签之间是否可达的可达矩阵M’。
4.根据权利要求3所述的方法,其中,所述构造用于表示该二分图中的作为第二节点的各内容标签之间的连接关系的邻接矩阵M包括:
根据下式(1)来确定所述二分图的两个内容标签之间是否连接,
Figure DEST_PATH_IMAGE005
(1);
其中,A和B为该二分图中的任意两个内容标签,a AB 表示两个内容标签A与B之间的邻接关系,a AB 为0表示两个内容标签A与B不邻接,a AB 为1表示两个内容标签A与B邻接;
timu(A)表示与内容标签A对应的内容组成的标签A内容集,timu(B)表示与内容标签B对应的内容组成的标签B内容集,len (timu(B))表示标签B内容集中的内容的数量,len(timu(A) ∩ timu(B))表示标签A内容集与标签B内容集中存在相同内容的数量;以及
θ是预设的连接阈值。
5.根据权利要求3或4所述的方法,其中,所述针对结果标签集中的每个结果标签,通过随机游走算法在所述二分图中游走,来获得针对所述输入的内容的推荐内容包括:
根据所述可达矩阵M’来计算当前结果标签与上一个结果标签之间是否可达,如果不可达,则将当前结果标签设置为起始标签,以便从该起始标签重新开始随机游走。
6.根据权利要求1所述的方法,其中,所述根据目标用户的用户画像特征U计算结果标签集Q中的各结果标签qi的步数权重wi包括:
通过下式(2)来计算各结果标签qi的步数权重wi
Figure DEST_PATH_IMAGE006
(2);
其中,len(Q)为结果标签集Q中所含结果标签的数量;
Uqi为在结果标签集Q之中的结果标签qi在该目标用户的历史访问数据中所占的权重,作为该标签qi的历史权重;以及
Uqj为在结果标签集Q之中的结果标签qj在该目标用户的历史访问数据中所占的权重,作为该标签qj的历史权重,其中,n为结果标签集Q中的结果标签的数量。
7.根据权利要求6所述的方法,其中,结果标签qi的所述历史权重与该目标用户前一次关联该结果标签的时间、以及该目标用户与该结果标签在预设时间段内的历史关联次数相关。
8.根据权利要求6所述的方法,其中,结果标签qi的所述历史权重与该目标用户前一次关联该结果标签的时间负相关,并且与目标用户和该结果标签的历史关联次数正相关。
9.根据权利要求1所述的方法,其中,所述基于计算得到的各结果标签的所述步数权重,为每个结果标签qi分配随机游走步数
Figure 872601DEST_PATH_IMAGE003
包括:
通过下式(3),来确定每个结果标签qi的随机游走步数
Figure 30220DEST_PATH_IMAGE003
Figure DEST_PATH_IMAGE007
Figure DEST_PATH_IMAGE008
(3);
其中,
Figure DEST_PATH_IMAGE009
C为与所述结果标签qi对应的内容的最大数量,即,
Figure DEST_PATH_IMAGE010
,其中,
Figure DEST_PATH_IMAGE011
表示与所述结果标签qi对应的内容,
Figure DEST_PATH_IMAGE012
表示内容
Figure 266683DEST_PATH_IMAGE011
的数量;
wi是所述步数权重;
N是设置的所述总游走步数;
β为预设的最小步数阈值;以及
K是设置的所述要推荐的内容的数量。
10.根据权利要求1所述的方法,其中,在所述内容为题目的情况下,所述针对结果标签集中的每个结果标签,通过随机游走算法在所述二分图中游走,来获得针对所述输入的内容的推荐内容包括:
针对结果标签集中的每一个结果标签qi,分配随机游走步数Nqi
针对每一个结果标签qi,通过重启随机游走算法在所述二分图中游走,获得候选推荐题目
Figure DEST_PATH_IMAGE013
,由此得到针对标签结果集Q的候选推荐题目集
Figure DEST_PATH_IMAGE014
11.根据权利要求1所述的方法,其中,在所述内容为题目的情况下,所述针对结果标签集中的每个结果标签,通过随机游走算法在所述二分图中游走,来获得针对所述输入的内容的推荐内容包括:
为当前结果标签currQ确定随机游走步数currSteps;
根据基于二分图G计算得到的可达矩阵M’,计算前一个结果标签lastQ和所述当前结果标签currQ之间是否可达;
如果不可达,则将当前结果标签currQ置为起始标签orgQ,以便从该起始标签重新开始随机游走;如果可达,则从题库中与当前结果标签currQ所对应的题目中随机选一个题目作为当前题目currT,并且将该当前题目currT的命中次数V[currT]加1;
在当前题目currT的命中次数V[currT]等于预设的命中次数阈值
Figure DEST_PATH_IMAGE015
的情况下,将该当前题目currT确定为一个候选推荐题目,并且将用于标记命中次数达到
Figure 664822DEST_PATH_IMAGE015
的题目命中次数的计数值nHighVisited加1;
比较该计数值nHighVisited与命中次数阈值nq值;
如果计数值nHighVisited>nq,则结束游走,并将确定的各候选推荐题目组成候选推荐题目集Vq
如果计数值nHighVisited<nq,则将当前游走步数currSteps减1,将实际总游走步数totSteps加1;
确定当前游走步数currSteps是否等于0;
如果当前游走步数currSteps等于0,则确定实际总游走步数totSteps是否大于等于预先设置的总游走步数N;
如果当前游走步数currSteps等于0且实际总游走步数totSteps大于等于预先设置的总游走步数N,则结束游走,并将确定的各候选推荐题目组成候选推荐题目集Vq;以及
如果当前游走步数currSteps等于0且实际总游走步数totSteps小于预先设置的总随机游走步数N,则将当前结果标签currQ作为前一个结果标签lastQ,并且从当前结果标签currQ所对应的题目中,随机选一个题目作为新的当前题目currT,将该新的当前题目currT的命中次数V[currT]加1,并且从所述结果标签集中的与该新的当前题目currT对应的结果标签中,随机选一个结果标签currQ’来作为新的当前结果标签currQ。
12.根据权利要求10或11所述的方法,还包括:
对于所述候选推荐题目集
Figure DEST_PATH_IMAGE016
中的候选推荐题目进行排序,以确定要推荐的题目集
Figure DEST_PATH_IMAGE017
13.根据权利要求12所述的方法,其中,所述排序包括按照以下项之中至少一者,对各候选推荐题目进行排序:
各候选推荐题目的命中次数;
各候选推荐题目与作为输入的内容的输入题目的相似度。
14.根据权利要求13所述的方法,其中,所述相似度包括以下至少一者:
题目中的运算符维度上的相似度;
题目中的数值类型维度上的相似度;以及
题目中的数值大小维度上的相似度。
15.一种内容推荐装置,包括:
结果标签集获得单元,被配置用于针对目标用户输入的内容或者由该目标用户确定的内容特征、以及该目标用户的用户画像特征,通过训练的多标签分类模型获得该输入的内容的多个结果标签作为结果标签集; 以及
推荐内容获得单元,被配置用于针对结果标签集中的每个结果标签,通过随机游走算法在二分图中游走,来获得针对所述输入的内容的推荐内容,
其中,所述多标签分类模型是通过模型训练单元,使用内容特征、用户画像特征以及供模型训练用的内容标签来训练得到的,所述二分图是由二分图构造单元根据内容库中的所有内容与和与所述所有内容有关的所有内容标签来构造的,
其中,所述推荐内容获得单元被配置用于通过以下操作,获得候选推荐结果,并从候选推荐结果来获得针对所述输入的内容的推荐内容:
设置随机游走重启概率
Figure 155891DEST_PATH_IMAGE004
,并且设置总游走步数N与要推荐的内容的数量K中至少一者;
根据目标用户的用户画像特征U,计算结果标签集Q中的各结果标签qi的步数权重wi,构成相应的步数权重集合
Figure DEST_PATH_IMAGE018
, 其中,n为结果标签集Q中的结果标签的数量,i=1, 2, ……, n
基于计算得到的各结果标签的所述步数权重,为每个结果标签qi分配随机游走步数
Figure 10977DEST_PATH_IMAGE003
;以及
在二分图G中通过重启随机游走算法、基于设置的所述随机游走重启概率
Figure 527278DEST_PATH_IMAGE004
、以及所述总游走步数N与要推荐的内容的数量K中至少一者,来进行随机游走,获得候选推荐结果V。
16.根据权利要求15所述的装置,其中,所述二分图构造单元包括:
二分图获得部件,被配置用于将所述内容库中的所有内容均作为第一节点,将所述所有内容对应的所有内容标签均作为第二节点,得到包含所有第一节点和所有第二节点的二分图G;
邻接矩阵构造部件,被配置用于构造用于表示该二分图中的作为第二节点的各内容标签之间的连接关系的邻接矩阵M;以及
可达矩阵计算部件,被配置用于基于所述邻接矩阵M,来计算该二分图G的用于表示所述二分图中的两个内容标签之间是否可达的可达矩阵M’。
17.根据权利要求16所述的装置,其中,所述邻接矩阵构造部件根据下式(1)来确定所述二分图的两个内容标签之间是否连接,
Figure 978375DEST_PATH_IMAGE005
(1);
其中,A和B为该二分图中的任意两个内容标签,a AB 表示两个内容标签A与B之间的邻接关系,a AB 为0表示两个内容标签A与B不邻接,a AB 为1表示两个内容标签A与B邻接;
timu(A)表示与内容标签A对应的内容组成的标签A内容集,timu(B)表示与内容标签B对应的内容组成的标签B内容集,len (timu(B))表示标签B内容集中的内容的数量,len(timu(A) ∩ timu(B))表示标签A内容集与标签B内容集中存在相同内容的数量;以及
θ是预设的连接阈值。
18.根据权利要求16或17所述的装置,其中,所述推荐内容获得单元根据所述可达矩阵M’来计算当前结果标签与上一个结果标签之间是否可达,如果不可达,则将当前结果标签设置为起始标签,以便从该起始标签重新开始随机游走。
19.根据权利要求15所述的装置,其中,所述推荐内容获得单元通过下式(2),计算各内容标签qi的步数权重wi
Figure DEST_PATH_IMAGE019
(2);
其中,len(Q)为结果标签集Q中所含结果标签的数量;
Uqi为在结果标签集Q之中的结果标签qi在该目标用户的历史访问数据中所占的权重,作为该标签qi的历史权重;以及
Uqj为在结果标签集Q之中的结果标签qj在该目标用户的历史访问数据中所占的权重,作为该标签qj的历史权重,其中,n为结果标签集Q中的结果标签的数量。
20.根据权利要求19所述的装置,其中,所述推荐内容获得单元通过下式(3),来确定每个结果标签qj的随机游走步数
Figure 211035DEST_PATH_IMAGE003
Figure 937157DEST_PATH_IMAGE007
Figure 940754DEST_PATH_IMAGE008
(3);
其中,
Figure DEST_PATH_IMAGE020
C为与所述结果标签qi对应的内容的最大数量,即,
Figure DEST_PATH_IMAGE021
,其中,
Figure 759324DEST_PATH_IMAGE011
表示与所述结果标签qi对应的内容,
Figure 797556DEST_PATH_IMAGE012
表示内容
Figure 948439DEST_PATH_IMAGE011
的数量;
wi是所述步数权重;
N是设置的所述总游走步数;
β为预设的最小步数阈值;以及
K是设置的所述要推荐的内容的数量。
21.根据权利要求20所述的装置,其中,在所述内容为题目的情况下,所述推荐内容获得单元被配置用于:
针对结果标签集中的每一个结果标签qi,分配随机游走步数Nqi
针对每一个结果标签qi,通过重启随机游走算法在所述二分图中游走,获得候选推荐题目
Figure 970491DEST_PATH_IMAGE013
,由此得到针对标签结果集Q的候选推荐题目集
Figure DEST_PATH_IMAGE022
22.根据权利要求21所述的装置,其中,在所述内容为题目的情况下,所述推荐内容获得单元被配置用于:
为当前结果标签currQ确定随机游走步数currSteps;
根据基于二分图G计算得到的可达矩阵M’,计算前一个结果标签lastQ和所述当前结果标签currQ之间是否可达;
如果不可达,则将当前结果标签currQ置为起始标签orgQ,以便从该起始标签重新开始随机游走;如果可达,则从题库中与当前结果标签currQ所对应的题目中随机选一个题目作为当前题目currT,并且将该当前题目currT的命中次数V[currT]加1;
在当前题目currT的命中次数V[currT]等于预设的命中次数阈值
Figure 141885DEST_PATH_IMAGE015
的情况下,将该当前题目currT确定为一个候选推荐题目,并且将用于标记命中次数达到
Figure 568711DEST_PATH_IMAGE015
的题目命中次数的计数值nHighVisited加1;
比较该计数值nHighVisited与命中次数阈值nq值;
如果计数值nHighVisited>nq,则结束游走,并将确定的各候选推荐题目组成候选推荐题目集Vq
如果计数值nHighVisited<nq,则将当前游走步数currSteps减1,将实际总游走步数totSteps加1;
确定当前游走步数currSteps是否等于0;
如果当前游走步数currSteps等于0,则确定实际总游走步数totSteps是否大于等于预先设置的总游走步数N;
如果当前游走步数currSteps等于0且实际总游走步数totSteps大于等于预先设置的总游走步数N,则结束游走,并将确定的各候选推荐题目组成候选推荐题目集Vq;以及
如果当前游走步数currSteps等于0且实际总游走步数totSteps小于预先设置的总随机游走步数N,则将当前结果标签currQ作为前一个结果标签lastQ,并且从当前结果标签currQ所对应的题目中,随机选一个题目作为新的当前题目currT,将该新的当前题目currT的命中次数V[currT]加1,并且从所述结果标签集中的与该新的当前题目currT对应的结果标签中,随机选一个结果标签currQ’来作为新的当前结果标签currQ。
23.根据权利要求21或22所述的装置,还包括:
排序单元,被配置用于对于所述候选推荐题目集
Figure 559670DEST_PATH_IMAGE016
中的候选推荐题目进行排序,以确定要推荐的题目集
Figure 69018DEST_PATH_IMAGE017
24.根据权利要求23所述的装置,其中,所述排序单元按照以下项之中至少一者,对于各候选推荐题目进行排序:
1) 各候选推荐题目的命中次数;以及
2) 各候选推荐题目与作为输入的内容的输入题目的相似度。
25.根据权利要求24所述的装置,其中,所述相似度包括以下项之中至少一者:
1) 题目中的运算符维度上的相似度;
2)题目中的数值类型维度上的相似度;以及
3)题目中的数值大小维度上的相似度。
26.一种电子设备,包括:
处理器;以及
存储程序的存储器,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据权利要求1-14中任一项所述的方法。
27.一种存储程序的计算机可读存储介质,所述程序包括指令,所述指令在由处理器执行时,使所述处理器执行根据权利要求1-14中任一项所述的方法。
CN202110032475.9A 2021-01-12 2021-01-12 内容推荐方法、装置、电子设备及存储介质 Active CN112364252B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110032475.9A CN112364252B (zh) 2021-01-12 2021-01-12 内容推荐方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110032475.9A CN112364252B (zh) 2021-01-12 2021-01-12 内容推荐方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN112364252A CN112364252A (zh) 2021-02-12
CN112364252B true CN112364252B (zh) 2021-04-23

Family

ID=74534687

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110032475.9A Active CN112364252B (zh) 2021-01-12 2021-01-12 内容推荐方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112364252B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113139125B (zh) * 2021-04-21 2024-02-09 北方工业大学 一种用户需求驱动的服务匹配方法
CN114386764B (zh) * 2021-12-11 2022-12-16 上海师范大学 一种基于gru和r-gcn的oj平台题目序列推荐方法
CN114612725B (zh) * 2022-03-18 2023-04-25 北京百度网讯科技有限公司 图像处理方法、装置、设备及存储介质
CN117474636B (zh) * 2023-12-27 2024-04-12 广州宇中网络科技有限公司 一种基于大数据的平台用户推荐方法及系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103116639B (zh) * 2013-02-20 2016-05-11 新浪网技术(中国)有限公司 基于用户-物品二分图模型的物品推荐方法及系统
CN107609063B (zh) * 2017-08-29 2020-03-17 重庆邮电大学 一种多标签分类的手机应用推荐系统及其方法
US11372909B2 (en) * 2018-08-30 2022-06-28 Kavita Ramnik Shah Mehta System and method for recommending business schools based on assessing profiles of applicants and business schools
CN109885758B (zh) * 2019-01-16 2022-07-26 西北工业大学 一种基于二部图的随机游走的推荐方法
CN109978657A (zh) * 2019-03-07 2019-07-05 北京工业大学 一种面向众智平台的改进随机游走图模式推荐算法
CN111209393A (zh) * 2019-12-17 2020-05-29 安徽经邦软件技术有限公司 基于自然语言处理的专业化文档分类标签实现方法
CN111143697B (zh) * 2020-01-02 2023-03-21 腾讯科技(深圳)有限公司 一种内容推荐的方法以及相关装置
CN111259281B (zh) * 2020-01-20 2023-04-07 腾讯科技(深圳)有限公司 商户标签的确定方法、装置及存储介质

Also Published As

Publication number Publication date
CN112364252A (zh) 2021-02-12

Similar Documents

Publication Publication Date Title
CN112364252B (zh) 内容推荐方法、装置、电子设备及存储介质
CN111984689B (zh) 信息检索的方法、装置、设备以及存储介质
CN111259222B (zh) 物品推荐方法、系统、电子设备及存储介质
EP3139288A1 (en) Item recommendation method and device
CN111522967B (zh) 知识图谱构建方法、装置、设备以及存储介质
CN111177551A (zh) 确定搜索结果的方法、装置、设备和计算机存储介质
CN110971659A (zh) 推荐消息的推送方法、装置及存储介质
CN111522940B (zh) 用于处理评论信息的方法和装置
CN112632403A (zh) 推荐模型的训练方法、推荐方法、装置、设备和介质
CN110347781B (zh) 文章倒排方法、文章推荐方法、装置、设备及存储介质
CN111563198B (zh) 一种物料召回方法、装置、设备及存储介质
CN112559901B (zh) 资源推荐的方法、装置、电子设备、存储介质及计算机程序产品
CN112989146B (zh) 向目标用户推荐资源的方法、装置、设备、介质和程序产品
CN113763066B (zh) 用于分析信息的方法和装置
CN111444438B (zh) 召回策略的准召率的确定方法、装置、设备及存储介质
CN112000763A (zh) 兴趣点竞争关系确定方法、装置、设备和介质
US20210241073A1 (en) Ai-based keywork predictions for titles
CN116523554A (zh) 点击率预测模型的训练方法及装置
CN111177479A (zh) 获取关系网络图中节点的特征向量的方法以及装置
CN112101012B (zh) 互动领域确定方法、装置、电子设备及存储介质
CN111274497B (zh) 社区推荐及模型训练方法、装置、电子设备及存储介质
CN114329231A (zh) 对象特征处理方法、装置、电子设备及存储介质
CN110706772B (zh) 一种排序方法及装置、电子设备、存储介质
CN113204705A (zh) 文章推荐方法、装置、电子设备和计算机介质
CN112579875A (zh) 投放信息标题的生成方法、装置、设备和介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant