CN110929166A - 一种内容推荐的方法、电子设备和存储介质 - Google Patents
一种内容推荐的方法、电子设备和存储介质 Download PDFInfo
- Publication number
- CN110929166A CN110929166A CN201911378285.1A CN201911378285A CN110929166A CN 110929166 A CN110929166 A CN 110929166A CN 201911378285 A CN201911378285 A CN 201911378285A CN 110929166 A CN110929166 A CN 110929166A
- Authority
- CN
- China
- Prior art keywords
- label
- user
- favorite
- content
- determining
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种内容推荐的方法、电子设备和存储介质,对每一用户喜好标签划分所属的类簇,对每一类簇分别从该类簇的用户喜好标签中确定目标标签,根据各目标标签确定对用户推荐的内容。通过用户喜好标签的语义信息对标签划分类簇,可以针对不同的主题分别确定推荐的内容,使得所推荐的内容能够满足用户多样化的需求。
Description
技术领域
本发明涉及信息处理技术领域,尤其是涉及一种内容推荐的方法、电子设备和存储介质。
背景技术
内容推荐包括对节目内容、音乐内容、视频内容、文章、书籍、新闻和商品等进行推荐。各内容通过标签提供一种使得人们快速了解该内容的途径,例如,节目内容以描述其主题的关键词作为标签。对于不同的用户,可以通过其感兴趣的标签为用户推荐内容,例如,将各标签按照其对应的权重排序,根据排在前面的标签为用户推荐内容。然而,用户的兴趣是多样化的,这种推荐内容的方法容易将与用户的一些不显著兴趣相关的标签排在后面,从而在推荐内容时忽略了这些不显著兴趣。
另外,还存在一种在标签权重的基础上,采用TF-IDF(Term Frequency–InverseDocument Frequency,词频-逆文本频率指数)进行内容推荐的方法,其中,TF-IDF是一种用于信息检索与数据挖掘的常用加权技术。然而,该方法忽略了标签词之间的语义相关性、缺乏对用户偏好的完整性进行建模,也容易忽略用户的不显著兴趣。
可见,现有的对用户进行内容推荐的方法容易针对单一主题进行推荐,所推荐内容无法满足用户多样化的需求。
发明内容
本发明实施例提供一种内容推荐的方法、电子设备和存储介质,用以解决现有的对用户进行内容推荐的方法容易针对单一主题进行推荐,所推荐内容无法满足用户多样化的需求的问题。
针对以上技术问题,第一方面,本发明实施例提供一种内容推荐的方法,包括:
根据用户的历史操作信息确定用户喜好标签;
根据所述用户喜好标签的语义信息,确定各用户喜好标签所属的类簇;
根据各用户喜好标签的标签权重,从所述用户喜好标签所属的各类簇中分别确定目标标签,根据所述目标标签为所述用户进行内容推荐;
其中,标签权重根据所述历史操作信息,和/或用户喜好标签所在的类簇确定。
第二方面,本发明实施例提供一种内容推荐的装置,包括:
第一确定模块,用于根据用户的历史操作信息确定用户喜好标签;
第二确定模块,用于根据所述用户喜好标签的语义信息,确定各用户喜好标签所属的类簇;
推荐模块,用于根据各用户喜好标签的标签权重,从所述用户喜好标签所属的各类簇中分别确定目标标签,根据所述目标标签为所述用户进行内容推荐;
其中,标签权重根据所述历史操作信息,和/或用户喜好标签所在的类簇确定。
可选地,所述第二确定模块还用于:
根据标签库中各标签在语料中出现的上下文关系,确定所述标签库中各标签的标签向量,其中,所述标签库中包括各用户喜好标签;
根据所述标签库中各标签的标签向量,确定各用户喜好标签的标签向量,根据各用户喜好标签的标签向量进行聚类运算,确定各用户喜好标签所属的类簇;
其中,语料为包含所述标签库中标签的语句和/或语段。
可选地,所述第二确定模块还用于:
获取语料中出现的属于所述标签库的任一第一标签,和所述第一标签的上下文标签,其中,上下文标签为所述语料中出现在所述第一标签上文的标签,和/或出现在所述第一标签下文的标签;
设定模型的参数矩阵所包含的各向量,与所述标签库中各标签的对应关系,根据所述对应关系确定第一标记向量和第二标记向量,以第一标记向量作为训练样本,以第二标记向量作为训练标签,对模型进行训练;
根据所述对应关系,从训练后模型的参数矩阵中确定与所述标签库中各标签的标签向量;
其中,所述第一标记向量用于标记出,参数矩阵所包含的向量中与所述第一标签对应的向量;所述第二标记向量用于标记出,参数矩阵所包含的向量中与所述上下文标签对应的向量。
可选地,还包括权重确定模块,所述权重确定模块用于:
对所述用户喜好标签中的任一第二标签,获取所述第二标签所在的目标类簇,根据所述目标类簇中各用户喜好标签的标签权重,确定所述目标类簇的类簇中心对应的中心向量,根据所述中心向量和所述第二标签的标签向量,确定所述第二标签与所述类簇中心的距离;
根据所述历史操作信息确定用户喜好内容,并确定各用户喜好内容的内容权重,从用户喜好内容中确定目标喜好内容,根据各目标喜好内容的内容权重确定所述第二标签的历史操作权重;其中,各用户喜好内容对应的标签均为用户喜好标签,目标喜好内容为,所对应的标签中包括所述第二标签的用户喜好内容;
根据所述距离和所述历史操作权重,确定所述第二标签的标签权重。
可选地,所述权重确定模块还用于:
根据所述历史操作信息确定用户喜好内容,对用户喜好内容中的任一第一喜好内容,根据所述用户每次对所述第一喜好内容执行操作的操作信息,确定单次操作权重;
根据所述第一喜好内容当前的用户评分,确定所述第一喜好内容的推荐权重;
根据所述第一喜好内容的各单次操作权重和推荐权重,确定所述第一喜好内容的内容权重。
可选地,所述权重确定模块还用于:
对所述用户在任一目标次对所述第一喜好内容执行操作的操作信息,获取所述目标次对应的操作时间,根据所述操作时间与当前时间的时间差确定衰减频次;
根据在所述目标次对所述第一喜好内容执行操作的操作频次和/或操作完整度,确定第一操作质量权重;
从预先对各类型的操作设置的操作类型权重中,确定在所述目标次执行的每一类型的操作所对应的操作类型权重;
根据确定衰减频次、第一操作质量权重和各操作类型权重,确定所述目标次对应的单次操作权重。
可选地,所述推荐模块还用于:
对任一目标类簇,根据所述目标类簇中各用户喜好标签对应的标签权重,对所述目标类簇中各用户喜好标签进行排序,得到标签序列;
对所述标签序列循环执行目标标签选取操作,直到所选取的用户喜好标签的数量大于第一阈值,或者第一权重之和与第二权重之和的比值大于第二阈值,将所选取的用户喜好标签作为从所述目标类簇确定的目标标签;
所述目标标签选取操作包括:从当前的标签序列中选取首个和/或最后一个用户喜好标签,并将选取的用户喜好标签从所述标签序列中删除;
其中,所述第一权重之和为所选取的各用户喜好标签的标签权重的和,所述第二权重之和为属于所述目标类簇的所有用户喜好标签的标签权重的和。
可选地,所述推荐模块还用于:
对所选取的目标标签中任一第三标签,获取所对应的标签中包括所述第三标签的用户喜好内容,作为召回喜好内容;
对召回喜好内容中的任一第二喜好内容,根据所述用户每次对所述第二喜好内容执行操作的操作频次和/或操作完整度,确定第二操作质量权重;
根据所述第三标签的标签权重、所述第二操作质量权重和所述第二喜好内容的发布时间,确定所述第二喜好内容的召回分值;
根据各第二喜好内容对应的召回分值,确定对所述用户推荐内容。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以上所述的内容推荐的方法的步骤。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以上所述的内容推荐的方法的步骤。
本发明的实施例提供的一种内容推荐的方法、电子设备和存储介质,对每一用户喜好标签划分所属的类簇,对每一类簇分别从该类簇的用户喜好标签中确定目标标签,根据各目标标签确定对用户推荐的内容。通过用户喜好标签的语义信息对标签划分类簇,可以针对不同的主题分别确定推荐的内容,使得所推荐的内容能够满足用户多样化的需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的内容推荐的方法的流程示意图;
图2是本发明另一实施例提供的模型skip gram的原理示意图;
图3是本发明另一实施例提供的skip gram的模型的参数矩阵的细节示意图;
图4是本发明另一实施例提供的从各类中确定类标签的流程示意图;
图5是本发明另一实施例提供的内容推荐的装置的结构框图;
图6是本发明另一实施例提供的电子设备的实体结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对现有的推荐内容的无法满足用户多样化的需求这一技术问题,本实施提供一种内容推荐的方法,该方法通常由服务器执行。例如,当用户在终端打开对内容进行展示的应用程序后,终端向服务器发送对该用户推荐内容的请求。服务器接收到请求后,根据本实施例提供的内容推荐的方法确定对该用户推荐的内容,将确定的对该用户推荐的内容发送到终端进行显示。该方法通常用于对某一类内容进行推荐,例如,对电视剧进行推荐。
图1为本实施例提供的内容推荐的方法的流程示意图,在本实施例中,内容可以是节目内容(例如,电影或者综艺节目)、音乐内容、视频内容、文章、书籍、新闻和商品等各类可以为用户推荐的内容。每一内容均存在用于对该内容进行描述的标签,标签为词语、语句或者语段,通常为词语。例如,对电视剧“甄嬛传”进行描述的标签包括“言情、古装、宫廷”。参见图1,该内容推荐的方法包括如下步骤:
步骤101:根据用户的历史操作信息确定用户喜好标签。
当对某一用户推荐内容(例如,电影或者音乐),首先需根据用户的历史操作信息确定用户喜好标签。例如,根据用户的历史操作信息,确定被该用户执行过操作(例如,点赞、转发等)的用户喜好内容,将对各用户喜好内容进行描述的标签作为用户喜好标签。可理解的是,用户喜好标签还可以是该用户指定的一些标签,本实施例对此不做具体限制。
步骤102:根据所述用户喜好标签的语义信息,确定各用户喜好标签所属的类簇。
语义信息指的是用户喜好标签所表达的含义。根据语义信息对用户喜好标签划分类簇,即将属于同一主题的用户喜好标签划分在同一类簇中。具体来说,可以预先确定一些主题,根据确定的主题划分各用户喜好标签所属的类簇,或者可以根据用户喜好标签在语句中出现的上下文关系,将各用户喜好标签向量化,根据各用户喜好标签的标签向量确定各用户喜好标签所属的类簇。
其中,用户喜好标签向量化的过程可以根据预先训练的对标签库中各标签向量化的模型实现,或者预先根据各用户喜好标签的语义信息,规定出各标签对应的标签向量,本实施例对此不作具体限制。
步骤103:根据各用户喜好标签的标签权重,从所述用户喜好标签所属的各类簇中分别确定目标标签,根据所述目标标签为所述用户进行内容推荐;其中,标签权重根据所述历史操作信息,和/或用户喜好标签所在的类簇确定。
在该步骤中,对每一类簇均需确定出目标标签,然后根据各目标标签确定对用户推荐的内容。由于是根据每一类簇分别确定了对用户推荐的内容,使得所推荐的内容中包含了不同类主题下的内容,保证了推荐内容的多样化,满足了用户对多样化内容的需求。
本实施例提供的一种内容推荐的方法,对每一目标标签划分所属的类簇,对每一用户喜好标签划分所属的类簇,对每一类簇分别从该类簇的用户喜好标签中确定目标标签,根据各目标标签确定对用户推荐的内容。通过用户喜好标签的语义信息对标签划分类簇,可以针对不同的主题分别确定推荐的内容,使得所推荐的内容能够满足用户多样化的需求。
进一步地,本实施例提供的内容推荐的方法,实现了多样主题多样化的推荐,有利于从多个角度满足用户需求,从而有利于避免对冷门标签或者,根据用户操作信息表现为用户感兴趣程度较低标签的漏推荐
为了在确定对用户推荐的内容过程中,考虑各用户喜好标签在语义上的关联,提供一种对用户喜好标签进行分类的运算方法,在上述实施例的基础上,上述步骤102包括:
根据标签库中各标签在语料中出现的上下文关系,确定所述标签库中各标签的标签向量,其中,所述标签库中包括各用户喜好标签;
根据所述标签库中各标签的标签向量,确定各用户喜好标签的标签向量,根据各用户喜好标签的标签向量进行聚类运算,确定各用户喜好标签所属的类簇;
其中,语料为包含所述标签库中标签的语句和/或语段。
所述上下文关系包括在同一语料中,在某一标签作为另一标签的上文中出现的标签(即另一标签在某一标签之前出现),以及作为另一标签的下文中出现的标签(即另一标签在某一标签之后出现)的关系。
本实施例根据语料的上下文关系确定标签向量,根据标签向量通过聚类运算确定各用户喜好标签所属的类簇,考虑了各用户喜好标签在语义上的关联,有利于实现更为合理的分类。
进一步地,根据各用户喜好标签的标签向量进行聚类运算,确定各用户喜好标签所属的类簇,包括:
循环执行类簇个数确定操作,直到确定的类簇个数大于或等于预设个数,则将所确定的最大的类簇个数,作为对用户喜好标签的标签向量进行聚类运算的类簇个数,或者,在已经确定的类簇个数中,各类簇个数所对应的轮廓系数存在极大值,将极大值对应的类簇个数,作为对用户喜好标签的标签向量进行聚类运算的类簇个数;
其中,类簇个数确定操作包括:获取当前的类簇个数,循环执行类簇中心确定操作,直到执行类簇中心确定操作的次数大于预设次数,或者本次执行类簇中心确定操作的理论类簇中心与实际类簇中心相同后,将当前的类簇个数增加1,以最后一次执行类簇中心确定操作所确定的各用户喜好标签所属的类簇,作为在当前的类簇个数下,进行所述聚类运算确定的各用户喜好标签所属的类簇;其中,实际类簇中心为以理论类簇中心确定各用户喜好标签所属的类簇后,根据各用户喜好标签的标签向量,计算的各类簇的类簇中心;
其中,类簇中心确定操作包括:
首次执行时,随机选取个数与当前的类簇个数相同的用户喜好标签,作为首次确定的理论类簇中心,根据各用户喜好标签与各理论类簇中心的距离,划分各用户喜好标签所属的类簇,并根据各用户喜好标签的标签向量,计算各类簇的实际类簇中心;
非首次执行时,以前一次执行类簇中心确定操作所确定的实际类簇中心,作为本次执行类簇中心确定操作的理论类簇中心,根据各用户喜好标签与各理论类簇中心的距离,划分各用户喜好标签所属的类簇,并根据各用户喜好标签的标签向量,计算各类簇的实际类簇中心;
其中,根据各用户喜好标签的标签向量,计算各类簇的实际类簇中心,包括:计算某一类簇所包含的所有用户喜好标签的标签向量的平均值,得到实际类簇中心的中心向量。
其中,各用户喜好标签与各理论类簇中心的距离,根据各用户喜好标签的标签向量和各理论类簇中心的中心向量确定。
进一步地,预设个数小于或等于10。预设次数大于或等于50且小于或等于100。
具体地,上述的“根据各用户喜好标签的标签向量进行聚类运算,确定各用户喜好标签所属的类簇”可以采用Kmean作为聚类运算的算法,包括如下步骤:
S11:初始化聚类个数K(类个数)为2,并从各用户喜好标签(例如,用户喜好标签是词语)中随机选取两个用户喜好标签对应的点表示初始类簇中心(即类簇中心)。
S12:遍历该用户的所有用户喜好标签,将每个用户喜好标签划分到距离最近的类簇中心(即理论类簇中心);
S13:重新计算每个类簇的中心点(即实际类簇中心),其中,每个类簇的中心点的计算方式为,将该类簇下所有用户喜好标签的标签向量取均值,得到均值的标签向量所对应的点作为该类簇的中心点。使用重新计算的中心点作为下一次的类簇中心;
S14:重复迭代S12-S13步骤,直至S12中划分用户喜好标签所依据的类簇中心和S3中重新计算的中心点不变(即类簇的中心点不再变化)或者迭代次数大于一定的阈值(一般取50-100),得到最后的聚类结果,将K加1;
S15:使用K=2,3,……,10重复以上步骤S12-S14,轮廓系数SCK最大时的K作为需要聚类的聚类数,或者重复以上步骤S12-S14的次数达到10次,将10作为需要聚类的聚类数,所确定的K值对应的聚类结果作为最终的聚类计算结果。
进一步地,每一类簇个数所对应的轮廓系数的计算包括:
对任一类簇个数,获取在该类簇个数下,最后一次执行类簇中心确定操作所确定的各用户喜好标签所属的类簇,根据各用户喜好标签所属的类簇计算各用户喜好标签对应的类簇间不相似度和类簇内不相似度,根据各用户喜好标签对应的类簇间不相似度和类簇内不相似度计算该类簇个数对应的轮廓系数。
具体地,根据各用户喜好标签对应的类簇间不相似度和类簇内不相似度计算该类簇个数对应的轮廓系数,包括:
根据用户喜好标签对应的类簇间不相似度和类簇内不相似度,计算用户喜好标签对应的标签参数;
计算各用户喜好标签对应的标签参数之和,作为该类簇个数对应的轮廓系数。
具体地,对上述的聚类算法中类簇个数K的确定,其中一个限制条件为轮廓系数SCK,轮廓系数SCK的计算如下:
当类簇个数为K时,轮廓系数SCK通过如下公式计算:
SCK=s(1)+s(2)+…+s(i)+…+s(n)
其中,n表示用户喜好标签的总数,s(i)表示第i个用户喜好标签的标签参数。
标签参数s(i)通过如下公式计算:
其中,b(i)表示第i个用户喜好标签对应的类簇间不相似度,a(i)表示第i个用户喜好标签对应的类簇内不相似度。
进一步地,任一用户喜好标签对应的类簇间不相似度的计算包括:
对用户喜好标签中的任一第四标签,获取第四标签所属的目标类,根据所述第四标签的标签向量和任一非目标类中各用户喜好标签的标签向量,计算第四标签与所述非目标类中各用户喜好标签的距离平均值,将计算的距离平均值作为所述第四标签与该非目标类的类簇间不相似度,将所述第四标签与各非目标类的类簇间不相似度中的最小值,作为所述第四标签对应的类簇间不相似度。
其中,非目标类为所有类簇中除了目标类之外的类簇。
具体地,计算用户喜好标签中的第四标签i到任一其他某类簇(任一非目标类)Cj中的所有用户喜好标签的平均距离bij,称为第四标签i与类簇Cj的类簇间不相似度。其中,第四标签i对应的类簇间不相似度b(i)通过如下公式计算:b(i)=min{bi1,bi2,…,bij,…,bi(m-1)}
其中,m为进行聚类的类簇个数,bij为第四标签i与第j个类簇的类簇间不相似度。
需要说明的是,b(i)越大,说明第四标签i越不属于其他类簇(即越不属于非目标类)。
其中,任一用户喜好标签对应的类簇内不相似度的计算包括:
对用户喜好标签中的任一第四标签,获取第四标签所属的目标类,根据所述第四标签的标签向量和所述目标类中除了所述第四标签之外的用户喜好标签的标签向量,计算所述第四标签与目标类中除了所述第四标签之外的各用户喜好标签的距离平均值,将计算的距离平均值作为所述第四标签对应的类簇内不相似度。
具体地,a(i)为用户喜好标签中的任一第四标签i到同类簇(即第四标签所在的目标类)其他用户喜好标签的平均距离a(i),将a(i)称为第四标签i的类簇内不相似度。
需要说明的是,在将用户的n个用户喜好标签聚类成m类时,其K值的选取采取试探法,并使用聚类的轮廓系数来评估每次聚类的好坏。轮廓系数越大表示聚类效果越好,选取聚类效果最好的类簇个数来作为K值。
为了在对用户喜好标签向量化的过程中,考虑各用户喜好标签之间在语义上的关系,进一步地,在上述各实施例的基础上,所述根据标签库中各标签在语料中出现的上下文关系,确定所述标签库中各标签的标签向量,包括:
获取语料中出现的属于所述标签库的任一第一标签,和所述第一标签的上下文标签,其中,上下文标签为所述语料中出现在所述第一标签上文的标签,和/或出现在所述第一标签下文的标签;
设定模型的参数矩阵所包含的各向量,与所述标签库中各标签的对应关系,根据所述对应关系确定第一标记向量和第二标记向量,以第一标记向量作为训练样本,以第二标记向量作为训练标签,对模型进行训练;
根据所述对应关系,从训练后模型的参数矩阵中确定与所述标签库中各标签的标签向量;
其中,所述第一标记向量用于标记出,参数矩阵所包含的向量中与所述第一标签对应的向量;所述第二标记向量用于标记出,参数矩阵所包含的向量中与所述上下文标签对应的向量。
本实施例通过对模型的训练过程,将标签库中各标签在语义上的关联关系写入参数矩阵,通过参数矩阵确定各用户喜好标签的标签向量,实现了根据语义上的关联对标签向量化。
在“获取语料中出现的属于所述标签库的任一第一标签”之前可以对语料进行如下处理:
进一步地,在获取语料中出现的属于所述标签库的任一第一标签之前,还包括:将获取的包含所述标签库中标签的语句和/或语段中,未出现在所述标签库中的词语或语句删除,将进行删除后得到语句和/或语段作为语料,根据标签库中各标签在语料中出现的上下文关系,确定所述标签库中各标签的标签向量。
进一步地,进行删除之后,还包括:
对所出现的标签相同,且各标签的出现顺序也相同的语料进行去重,对去重后的任一语料,根据标签库中各标签在语料中出现的上下文关系,确定所述标签库中各标签的标签向量。
进一步地,所述模型为skip gram模型。
进一步地,语料为从网络抓取的语句和/或语段。包括对内容的评价、介绍等信息。
进一步地,上下文标签可以是任意个数上文中出现的标签和/或任意个数下文中出现的标签的组合。
第一标签和上下文标签均是属于标签库的标签。对于某一类内容,标签库是用于描述所有内容的标签的集合。
对语料进行的删除操作,将语料中与模型的训练不相关的词语和/或语段去除,从而在“获取语料中出现的属于所述标签库的任一第一标签”不需要对每一词语进行识别,判断其是否出现在标签库中,提高了获取用于进行训练的第一标签和上下文标签的效率。此外,去重的处理的过程,避免了采用相同的语料重复对模型进行训练,避免了无意义的重复过程,提高了对模型训练的效率。在经过上述的“删除”和“去重”的过程中,语料中所包含的信息包括在语料中出现的属于标签库的标签,还包括所出现的标签的上下文关系。
第一标记向量和第二标记向量可以根据与各用户喜好标签对应的标签向量出现在参数矩阵中的位置实现对用户喜好标签的标记。例如,标签库中的标签总数为N,参数矩阵的第2个行向量为第一标签对应的标签向量,则第一标记向量可以表示为[0,1,0,……0],该向量有N个元素。参数矩阵通常为模型隐藏层的向量。
具体地,对标签库中各标签向量化(目的是使得语义相近的标签的空间距离也较近,该方法中认为在文档中位置相近的词其语义也相近)的过程可以通过如下步骤实现:
S21:构建标签库。收集系统内所有用户的所有标签,去重后形成标签库。例如,对电影进行推荐的系统,需要收集系统内各电影进行描述的所有标签(例如,标签为对电影进行描述的词语)。得到的标签库表示为Tag_word<word1,word2,…>,例如,Tag_word为<爱情,言情,新闻,…>。
S22:构建用于进行模型训练的训练语料库。爬取网上影评、音乐评论、影视音乐等与音乐、视频风格相关的书籍或文档,其中,具体的爬取源可以人为指定,例如,指定为如豆瓣影评、网易云音乐评论、咪咕音乐评论、影视期刊等。从这些爬取源爬取与影视、音乐风格相关的文字描述,组成原始语料库。
使用S21中构建的标签库Tag_word作为字典,对原始语料库中的语料进行分词,移除不在Tag_word中的词,得到数据清洗后的语料集合,对该语料集合进行去重,得到训练语料库。在该步骤中去重方法为,经过数据清洗后,若存在几条语料中,出现的分词以及各分词出现的顺序完全一样,则认为这几条语料相同,仅保留一条该语料即可。
S23:使用word2vector模型(skip gram开源算法),根据S22中的训练语料库中各语料进行训练,其中,训练后,skip gram算法能够使用当前标签预测该标签的上下文标签。
以下结合实例对模型skip gram进行介绍,首先介绍几种参数的设定:
(1)设定标签库中包含的标签总数为N,标签向量的维度为v,则模型skip gram的参数矩阵R是大小为N*v的矩阵,如某标签在标签库中的位置为i,,则该标签的标签向量为参数矩阵R的第i行对应的向量。
图2为本实施例提供的模型skip gram的原理示意图,参见图2,在训练过程中或者训练后,对skip gram输入表示标签库中第i个标签wordi的第一标记向量[0,0,…,1,…,0],skip gram将输出预测的每一个上下文标签对应的预测向量,其中,预测向量中对应于各标签的数值表示该标签作为wordi的上下文标签的概率。在训练过程中,以根据语料中实际存在的上下文标签确定第二标记向量,第二某一上下文标签是标签库中的第2个标签,则第二标记向量为[0,1,0,…,0]。第二标记向量作为训练标签,是skip gram对该上下文标签的期望输出。
(2)设定模型输出窗口大小2L,L表示输入当前的标签时,模型skip gram输出该标签的前后各L个标签(即上文中的L个标签和下文中的L个标签)
(3)模型的softmax层连接权重W,是权重W是大小为v行2L列,标签对应的输入向量:假设标签词为词库中的第i个词,则构造一个长度为v的向量,其中第i个位置的值置1,其余位置置0。图3为本实施例提供的skip gram的模型的参数矩阵的细节示意图,参见图4,参数矩阵为skip gram隐藏层Hidden Layer的参数,Softmax Layer为模型的全连接层。
具体地,训练得到的标签向量表示为v维度的一个数值向量,如word1=(x1,x2,……,xv),以v=3为例,用3维向量表示的标签向量为[0.1323,0.9,0.01]。考虑模型的复杂度和准确性,一般应用上v值不会超过1000,否则容易造成模型的过拟合。在上述前提下使模型的准确率尽可能的高来选取一个合适的v值。
Softmax预测输出值为一个如向量[0.01,0,0,0.9,0.09]这种形式(实际长度为标签库大小N),每个元素表示取对应标签的概率。作为期望输出的训练标签为[0,0,0,1,0](实际长度为词库大小N,此处仅举例表示其值的形式)。训练过程中,模型进行预测的输出值与期望输出的差值定义为模型的预测误差,其中,预测的输出值为模型根据输入计算出的结果,期望输出为输入的标签的前后标签在标签库位置的编码)。
通过上述对标签进行分类的方法,实现了基于标签之间语义的关联进行分类,保证了对标签划分类的合理性。
为了进行内容推荐,除了确定各用户喜好标签所属的类之外,还需要计算各用户喜好标签的标签权重,进一步地,在上述各实施例的基础上,还包括:
对所述用户喜好标签中的任一第二标签,获取所述第二标签所在的目标类簇,根据所述目标类簇中各用户喜好标签的标签权重,确定所述目标类簇的类簇中心对应的中心向量,根据所述中心向量和所述第二标签的标签向量,确定所述第二标签与所述类簇中心的距离;
根据所述历史操作信息确定用户喜好内容,并确定各用户喜好内容的内容权重,从用户喜好内容中确定目标喜好内容,根据各目标喜好内容的内容权重确定所述第二标签的历史操作权重;其中,各用户喜好内容对应的标签均为用户喜好标签,目标喜好内容为,所对应的标签中包括所述第二标签的用户喜好内容;
根据所述距离和所述历史操作权重,确定所述第二标签的标签权重。
本实施例在确定用户喜好标签的标签权重时,兼顾标签所在的类簇和用户对标签执行的历史操作信息,所确定的标签权重能够准确表达用户的需求,使得结合类簇和标签权重推荐的内容更符合用户需求。
其中,中心向量等于属于所述目标类的所有用户喜好标签的标签权重的平均值,所确定的向量。
第二标签与所述类簇中心的距离,即根据第二标签的标签向量,和中心向量通过上述余弦距离计算。
所述根据所述距离和所述历史操作权重,确定所述第二标签的标签权重,包括:计算所述历史操作权重与所述距离的比值,将得到的比值作为所述第二标签的标签权重。
即第二标签的标签权重等于历史操作权重/距离Li。
对于上述历史操作权重的计算,具体地,所述根据所述历史操作信息确定用户喜好内容,并确定各用户喜好内容的内容权重,包括:
根据所述历史操作信息确定用户喜好内容,对用户喜好内容中的任一第一喜好内容,根据所述用户每次对所述第一喜好内容执行操作的操作信息,确定单次操作权重;
根据所述第一喜好内容当前的用户评分,确定所述第一喜好内容的推荐权重;
根据所述第一喜好内容的各单次操作权重和推荐权重,确定所述第一喜好内容的内容权重。
其中,根据所述第一喜好内容的各单次操作权重和推荐权重,确定所述第一喜好内容的内容权重,包括:计算所述第一喜好内容的各单次操作权重之和,作为总操作权重,计算所述总操作权重和所述推荐权重的乘积,将得到的乘积作为所述第一喜好内容的内容权重。
在上述计算单次操作权重的过程中,进一步地,所述根据所述用户每次对所述第一喜好内容执行操作的操作信息,确定单次操作权重,包括:
对所述用户在任一目标次对所述第一喜好内容执行操作的操作信息,获取所述目标次对应的操作时间,根据所述操作时间与当前时间的时间差确定衰减频次;
根据在所述目标次对所述第一喜好内容执行操作的操作频次和/或操作完整度,确定第一操作质量权重;
从预先对各类型的操作设置的操作类型权重中,确定在所述目标次执行的每一类型的操作所对应的操作类型权重;
根据确定衰减频次、第一操作质量权重和各操作类型权重,确定所述目标次对应的单次操作权重。
本实施例提供的方法结合用户实施的操作和大众的推荐(例如,大众评分)确定用户喜好标签的单次操作权重,保证所确定的历史操作权重兼顾了个体特征和大众特征,确定的内容权重更为合理。
其中,根据所述操作时间与当前时间的时间差确定衰减频次,包括:在所述目标次执行操作的操作时间与当前时间相差越远,则所述衰减频次越大。
进一步地,根据确定衰减频次、第一操作质量权重和各操作类型权重,确定所述目标次对应的单次操作权重,包括:
计算衰减频次、第一操作质量权重和所述目标次执行操作的操作内容对应的操作类型权重的乘积,将计算的乘积作为所述目标次执行操作的单次操作权重。
其中,根据公式f_delay=f*exp(-d*ratio)确定衰减频次;f_delay为衰减频次,d为在某目标次执行操作的操作时间与距离当前时间间隔的天数,ratio为预设的衰减系数,f为所述用户对所述第一喜好内容某一目标次执行操作的操作时间或操作频次(例如,第一喜好内容为电影,f为在目标次的观看时间或者在目标次对该电影转发或点赞的频次)。
其中,衰减系数ratio用来调节不同时间点的操作对当前用户标签偏好的影响程度,其值越大操作频次或操作时间衰减的越快,则时间越久远的操作对当前用户对标签偏好的影响值越小。衰减系数ratio值越小,衰减的越慢,则不同时间用户对第一喜好内容的操作对当前用户标签偏好的影响程度的趋近一致。
各类型的操作对应的操作类型权重,为预先对不同操作类型设定的权重,通常根据历史运营经验人工设定,例如,设定的操作类型权重如表1所示:
表1不同类型操作与操作类型权重对照表
操作的类型 | 播放 | 分享 | 订购 | 收藏 | 下载 | 搜索 | 搜索点击 |
操作类型权重 | 1.0 | 0.6 | 1.0 | 0.4 | 0.48 | 0.28 | 0.28 |
以下结合具体示例,对计算第二标签的历史操作权重的过程进行说明,确定历史操作权重包括如下步骤(在示例中,内容为电视剧、电影或综艺等节目内容,标签为描述节目内容的词语,即标签词):
S31:根据用户的观看、使用、及其他与终端系统进行的交互行为生成用户使用日志。
具体为:前端APP采集用户在使用APP过程中的观看、点击、点赞、评论等用户操作及对应的节目内容ID,并采集的数据实时发送给后端服务器,后端服务器接收前端APP采集的数据并转换成表2所示的格式存储在数据库中,并将各节目内容的信息以表3的方式表示。
表2用户对节目内容的进行操作的操作信息对照表
表3节目内容的信息对照表
节目内容ID | 描述节目内容的标签 | 节目内容时长 | 节目评分/满分10分 |
65799468 | 悬疑、电视剧、恐怖 | 5987 | 9.8 |
65799469 | 悬疑、电视剧、犯罪 | 3793 | 7 |
S32:根据S31中的信息计算每次对节目内容执行操作的衰减频次。
按照上述公式f_delay=f*exp(-d*ratio),以20190715日期为计算日期,则表2中用户的操作对应的衰减频次如表4所示:
表4用户的操作与衰减频次对照表
记录行号 | 采集时间 | 用户ID | 节目内容ID | 操作内容 | 衰减频次 |
1 | 20190712 12:23:59 | Hhjdjfhd1 | 65799468 | 观看 | 2*exp(-3*0.36)=0.67 |
2 | 20190712 15:23:59 | Hhjdjfhd1 | 65799468 | 点赞 | 1*exp(-3*0.36)=0.34 |
S33:计算用户对节目内容的单次操作权重,根据各单次操作权重计算该节目内容的总操作权重;
S34:以表3中节目内容的评分和满分计算推荐权重,并根据总操作权重和推荐权重确定节目内容的内容权重;
在步骤S33-S34中,第i次操作的单次操作权重Qi=f_delay(i)*q(i)*y(i),其中,f_delay(i)为计算的第i次操作的衰减频次,q(i)为计算的第i次操作的第一操作质量权重,y(i)为第i次操作的类型所对应的操作类型权重。其中,第i次操作的第一操作质量权重等于第i次操作的操作时长与节目内容总时长的比值,或者,当第i次操作的操作内容为点赞时,第一操作质量权重等于1。例如,对表2中记录行号为1的记录,该操作的第一操作质量权重等于ID为Hhjdjfhd1的用户观看的时间与表3中该节目内容的节目时长的比值,即200/5987。
该节目内容的总操作权重,通过公式Z(j)=∑Qi,其中,Z(j)表示ID为j的节目内容的总操作权重,∑Qi表示用户对ID为j的节目内容执行操作的,所有单次操作权重之和。
通过公式S(j)=Z(j)*B(j)计算节目内容的内容权重,其中,S(j)表示ID为j的节目内容的内容权重,B(j)表示示ID为j的节目内容的推荐权重,例如,表3中,ID为65799468的节目内容的推荐权重为9.8/10。
比如,通过上述方法计算的不同节目内容的内容权重如表5所示。
表5节目内容和内容权重的对照表
用户ID | 节目内容ID | 内容权重 |
Hhjdjfhd1 | 65799468 | 0.47 |
Hhjdjfhd1 | 65799447 | 0.21 |
S35:由各节目内容的内容权重计算各标签的历史操作权重。具体地,对内容标签进行关联,关联的键值为节目内容ID。即对某一用户喜好标签,将被该用户喜好标签描述的所有节目内容的内容权重累加,得到该用户喜好标签的历史操作权重。
例如,描述表5中的两种节目内容的标签分别如表6所示表6节目内容的标签对照表
用户ID | 节目内容ID | 内容权重 | 标签 |
Hhjdjfhd1 | 65799468 | 0.47 | 悬疑、电视剧、恐怖 |
Hhjdjfhd1 | 65799447 | 0.21 | 悬疑、电视剧、犯罪 |
例如,对于用户喜好标签“悬疑”需要将ID为65799468和65799447的内容权重进行累加,得到用户喜好标签“悬疑”的历史操作权重,对于用户喜好标签“恐怖”,不需将ID为65799447的内容权重进行累加。表7为计算出的各用户喜好标签对应的历史操作权重。
表7用户喜好标签和历史操作权重的对照表
用户ID | 用户喜好标签 | 用户喜好标签的历史操作权重 |
Hhjdjfhd1 | 悬疑 | 1.56 |
Hhjdjfhd1 | 恐怖 | 2.45 |
Hhjdjfhd1 | 惊悚 | 1.67 |
.... | .... | .... |
在表7中,用户ID为系统内的用户标识符,用户喜好标签为用户执行过操作的节目内容(即用户喜好内容)进行描述的标签,用户喜好标签的历史操作权重为表示用户对用户喜好标签偏爱程度的量,根据对类型的操作内容设定的操作类型权重、表示操作内容完整性或者操作频次的第一操作质量权重、执行操作的时长等多种因素综合计算得到。
可见,通过上述各方法实现了综合考虑标签的语义信息和用户的操作对标签进行标签权重的确定,有利于使得筛选的类标签与用户的多方需求更为适应。
在确定了各用户喜好标签所属的类簇,以及各用户喜好标签的标签权重后,需要从每个类簇中选取合适数量的标签,作为目标标签,且选取的目标标签不仅要能够代表用户在该类下兴趣,还要使得选取出的目标标签数量尽量少。对此,进一步地,在上述各实施例的基础上,所述根据各用户喜好标签的标签权重,分别从各类簇中确定目标标签,包括:
对任一目标类簇,根据所述目标类簇中各用户喜好标签对应的标签权重,对所述目标类簇中各用户喜好标签进行排序,得到标签序列;
对所述标签序列循环执行目标标签选取操作,直到所选取的用户喜好标签的数量大于第一阈值,或者第一权重之和与第二权重之和的比值大于第二阈值,将所选取的用户喜好标签作为从所述目标类簇确定的目标标签;
所述目标标签选取操作包括:从当前的标签序列中选取首个和/或最后一个用户喜好标签,并将选取的用户喜好标签从所述标签序列中删除;
其中,所述第一权重之和为所选取的各用户喜好标签的标签权重的和,所述第二权重之和为属于所述目标类簇的所有用户喜好标签的标签权重的和。
本实施例提供的方法从每一类簇中,根据标签权重确定目标标签,在保证所确定的目标标签具有多样性,符合用户多种需求的前提下,能够尽量减少目标标签的数量,提高了所推荐内容的质量。
其中,根据属于任一目标类的所有用户喜好标签的标签权重,对用户喜好标签进行降序排列。所述目标标签选取操作包括从当前的标签序列中选取首个用户喜好标签,作为当前选取的用户喜好标签,将当前选取的用户喜好标签从标签序列中删除。
其中,第一阈值和第二阈值为人为设定的值,例如,第一阈值为2个,第二阈值为0.5,本实施例对此不做具体限制。
图4为本实施例提供的从各类中确定类标签的流程示意图,参见图4,确定各类簇中目标标签的过程包括如下步骤:对类簇Mj,根据类簇Mj包含的各用户喜好标签的标签向量,计算Mj的类簇中心,由某一用户喜好标签与类簇中心的距离和该用户喜好标签的历史操作权重,计算该用户喜好标签的标签权重。在根据标签权重对用户喜好标签降序排列的序列中,依次选取标签权重最大的用户喜好标签,直到满足所选取的用户喜好标签的数量CNT>第一阈值,或者上述第一权重之和与第二权重之和的比值大于第二阈值的条件,得到类簇Mj的目标标签。按照该方法确定每一类簇的目标标签。
具体来说,确定目标标签的过程包括如下步骤:
S41:计算每个标签词(即类簇中的用户喜好标签)距该类簇的类簇中心的距离,及该标签词的标签权重。
假设第i个标签词距类簇中心的距离为Li。其中,在确定距离Li时,首先确定类簇中心,类簇中心的计算方式为将该类簇中所有的词向量相加后除于该类簇的词数量。再使用余弦相似度计算类中心与词向量的余弦距离,作为词与类簇中心的距离。
根据标签词的用户操作权重tag_wi和上述距离Li,计算标签词的标签权重wi=tag_wi/Li。其中,最终的标签权重不仅考虑用户的操作本身的影响程度,也考虑该标签词对整个类簇中所表示兴趣的表达程度。
S42:根据S41中计算的标签权重对标签词进行降序排序,从前往后依次选取标签,当满足以下条件时停止标签词的选取,
(a)该类簇中已经选取的标签词的总标签权重/该类簇中所有标签词的标签权重的总权重值>50%;
(b)已经选取的标签词的数量超过指定的值。
一般来说每个聚类选取出来的标签词的数量不超过五个,选取的标签词过多会使后续确定的对用户推荐的内容数量过大。因为每个标签都会去召回一部分的内容,同时因为权重值很小的标签对用户偏好的代表程度不够,不适合拿来做召回。
已经选取的标签词的数量超过指定的值指每个聚类下选取的标签词的数量不得多于某个值。比如某个聚类下有100个标签词,每个标签词的总权重分值基本接近,那么按照(a)步骤进行选取权重占比>50%的标签时,几乎要从100个标签选取50个标签才够,因此限定一个可选取的最大数量,最终选取的标签作为该类簇的类标签。
在确定了每一类的类标签后,还需要根据各类标签确定对用户推荐的内容,进一步地,所述根据确定的目标标签对所述用户推荐内容,包括:
对所选取的目标标签中任一第三标签,获取所对应的标签中包括所述第三标签的用户喜好内容,作为召回喜好内容;
对召回喜好内容中的任一第二喜好内容,根据所述用户每次对所述第二喜好内容执行操作的操作频次和/或操作完整度,确定第二操作质量权重;
根据所述第三标签的标签权重、所述第二操作质量权重和所述第二喜好内容的发布时间,确定所述第二喜好内容的召回分值;
根据各第二喜好内容对应的召回分值,确定对所述用户推荐内容。
本实施例通过召回分值对由每一目标标签确定的内容,进行进一步的筛选,减少了对用户推荐的内容的数量,提高了推荐内容的质量。
召回喜好内容指的是描述内容的标签中包括该第三标签的内容。
进一步地,所述第二操作质量权重等于所述用户对所述第二喜好内容进行操作的操作次数和操作完整度的乘积。当所述用户对所述第二喜好内容执行的操作为观看,则操作完整度等于用户观看的时间与播放所述第二喜好内容的总时间之间的比值。
进一步地,根据所述第三标签的标签权重、所述第二操作质量权重和所述第二喜好内容的发布时间,确定所述第二喜好内容的召回分值:
根据公式:第二喜好内容的召回分值=所述第三标签的标签权重*所述第二喜好内容的第二操作质量权重*所述第二喜好内容的发布时间分值,计算所述第二喜好内容的召回分值。其中,所述第二喜好内容的发布时间分值根据所述第二喜好内容的发布时间确定,所述第二喜好内容的发布时间越早,所述第二喜好内容的发布时间分值越低。
进一步地,对目标标签中的任一第三标签,获取所对应的标签中包括所述第三标签的用户喜好内容,作为召回喜好内容,包括:
预先对各目标标签所描述的内容按照预设顺序建立倒排索引,根据倒排索引,从被第三标签描述的用户喜好内容中获取数量等于预设数量的内容,得到召回喜好内容;其中,所述预设顺序根据内容的发布时间确定或者根据内容是否满足某一设定条件确定。
进一步地,还包括:将根据各目标标签确定推荐的内容进行去重。
进一步地,还包括,将确定的为所述用户推荐的内容发送到所述用户的终端。
本实施例提供的方法,针对各目标标签通过召回分值的计算确定了每一类簇下为用户推荐的内容,保证了推荐内容的多样性。同时,通过召回分值能够对为用户推荐的内容进行进一步地的筛选,从而使得最终对用户推荐的内容不仅满足多样性的需求,同时数量不会太多。
以下提供一种具体的根据类标签对用户推荐内容的方法,该方法根据各目标标签对内容进行召回,推荐召回指根据特定的召回算法从全量内容库中选取出一小部分内容来进行内容推荐。如咪咕视频的内容库的节目内容数量在数千万的量级。进行召回的流程包括如下步骤:
S51:根据节目内容的标签生成倒排索引。
如<甄嬛传>的标签为“言情古装宫廷”,<大汉天子>标签为“古装征战”,那么对标签词“古装”生成的倒排索引即为“甄嬛传、大汉天子”。“征战”生成的倒排索引为“大汉天子”。当选取出的用户标签为“征战”时,为该用户生成的召回集为“大汉天子”,当选取出的标签为“古装”,则召回集为“甄嬛传、大汉天子”。
真实情况下,内容库节目内容达数千万,每个标签生成的倒排索引包含的节目数量都会接近上千甚至上万的数量。每个用户通过第三步选取的标签词数量也会多大几十个,因此这一步生成的内容召回集合大小会达到数万条节目。因此,需要通过以下第五步对召回集合进行进一步的排序,生成最后的少而精的只有几十或者数百个节目内容的推荐列表。
S52:对召回集合(召回集合是由召回喜好内容组成的集合)进行排序,输出最终的内容推荐节目单。
对召回排序的影响因素包括召回标签(进行内容召回的类标签,例如,上述的第三标签)的权重值大小(即第三标签的标签权重),节目内容的质量(内容评价好质量高的排序靠前,对应于上述的第二操作质量权重),节目的发行时间(新发行的内容优先级更高)等因素,综合加权后进行总体排序,从召回集合中选取排序靠前的若干条节目(最终选取的内容数量视前端展示页面的配置而定)。
具体来说,本实施例采取如下公式计算内容的召回分值,召回分值=召回标签的权重值*节目内容的质量分值*节目的发行时间分值
通常会将节目的质量、发行时间等量化为一个分值,如发行时间量化分值的计算:先计算发行时间举例现在时间的天数d,天数越大额分值越低,可使用指数函数计算score=0.9^d。节目质量分值可通过用户观看的完整度、次数来计算,如节目质量分值=观看次数*观看完整度,观看完整度定义为用户的观看时长除以节目内容的总时长。
本实施例提供的方法,在考虑标签权重的同时,增加了标签词聚类来表达用户不同的兴趣类型、考虑了用户兴趣的多样性,进而在最终的内容推荐结果的呈现上,也会体现出多样性、避免推荐的内容范围越来越窄。在从标签聚类簇中选取候选标签时,通过标签词距标签簇的距离来表示标签词对聚类即兴趣的表达程度、也综合权衡了用户行为所表达出的兴趣的强烈程度(即标签行为所计算出的权重)。同时,本文方法更新捕捉到用户新的兴趣变化,如用户出现新的兴趣、则聚类时会出现新的子类来标识用户的新兴趣。
以下以标签库中的各标签为词语的情况为例,对skip gram使用标签库中某一标签作为中心词,预测中心词的上下文的过程(即使预测为对应的词的概率最大化P(wordi-2|wordi),P(wordi-1|wordi),P(wordi+1|wordi),P(wordi+2|wordi))进行说明:
中心词可以通过以下举例理解,例如,“小明喜欢看即恐怖又悬疑还带点浪漫喜剧的电视剧”,则使用标签库对该语料分词后,得到“恐怖悬疑浪漫喜剧电视剧”,当中心词为“浪漫”时,上下文标签(即中心词的上文和下文)为“恐怖悬疑”、“喜剧电视剧”。
概率最大化,同样使用上面的举例:“恐怖悬疑浪漫喜剧电视剧”,输入为“浪漫”对应的词向量,需要预测输出的四个词分别为“恐怖悬疑喜剧电视剧”,以wordi-2位置即输出的第一个词的概率为例,模型可预测该位置的词为“电影”的概率为0.5、预测为战争的概率为0.1、预测为“恐怖”的概率为0.4,由于真实的词为“恐怖”,因此需要使预测为“恐怖”的概率尽可能的大,最好是接近1,一般预测误差为1-0.4=0.6。此时一般通过梯度下降法使预测误差不断的减小。这样预测对应词的概率即不断的最大化。
如图3所示,训练过程中,模型数据的计算过程包括如下步骤:
(1)随机初始化skip gram模型的参数矩阵R=N*v,及连接参数矩阵W=2L*v,其中v为词向量的维度、N为标签库中包含的词的总数,2L表示输出窗口大小。
(2)使用上述初始化的参数矩阵训练模型,其中模型的输入为第k篇文档中的第i个词在标签库中的位置。如标签库大小为N,其为词库中的第i个词,则输入表示为[0,0,0,…1,…0],假设词库为”爱情浪漫喜剧”时,则“爱情”的输入表示为[1,0,0]。
模型的输出为训练文档的第i个词前后的2L个词,输出的数学形式采用One-hot形式表示为wordi-2=[0,0,…,0,…0]。如标签词库为<爱情、新闻、言情>,则可用word=[0,0,1]表示词‘言情’。
模型输入词向量V=1*v(即长度为v的向量),与模型的参数矩阵R(N行v列大小的矩阵)相乘后得到中间计算结果X=V*R,其中,X大小为1*v的向量[x1,x2,…,xv],即X大小为1行v列的向量。
计算(W为softmax层连接权重,W长度为v,wi为W的第i个值),并通过计算预测概率值与期望输出的残差来更新模型中的参数矩阵R和参数矩阵W及词向量矩阵C,在模型收敛时得到训练后的模型参数R、M、C三个矩阵。
其中,“L”指通过输入当前词(当前的标签),预测该词前后各L个词。如“小明看的言情的电视剧还带有古装和爱情的风格”,通过标签词库进行分词后为“言情电视剧古装爱情风格”。当模型的输入为“古装”对应的词向量,L=2时,模型的输出为“言情电视剧爱情风格”
这四个词的概率。L=1时模型输出为“电视剧爱情”这两个词的概率。即需要通过当前词去预测当前词前后各L个词的概率值。模型训练的过程是使这个概率最大化。
另外,本实施例提供了一种内容推荐的装置,图5为本实施例提供的内容推荐的装置的结构框图,参见图5,该装置包括第一确定模块501、第二确定模块502和推荐模块503,其中,
第一确定模块501,用于根据用户的历史操作信息确定用户喜好标签;
第二确定模块502,用于根据所述用户喜好标签的语义信息,确定各用户喜好标签所属的类簇;
推荐模块503,用于根据各用户喜好标签的标签权重,从所述用户喜好标签所属的各类簇中分别确定目标标签,根据所述目标标签为所述用户进行内容推荐;
其中,标签权重根据所述历史操作信息,和/或用户喜好标签所在的类簇确定。
本实施例提供的内容推荐的装置适用于上述实施例提供的内容推荐的方法,在此不再赘述。
本实施例提供的一种内容推荐的装置,对每一目标标签划分所属的类,对每一用户喜好标签划分所属的类簇,对每一类簇分别从该类簇的用户喜好标签中确定目标标签,根据各目标标签确定对用户推荐的内容。通过用户喜好标签的语义信息对标签划分类簇,可以针对不同的主题分别确定推荐的内容,使得所推荐的内容能够满足用户多样化的需求。
图6示例了一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(Communications Interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行如下方法:根据用户的历史操作信息确定用户喜好标签;根据所述用户喜好标签的语义信息,确定各用户喜好标签所属的类簇;根据各用户喜好标签的标签权重,从所述用户喜好标签所属的各类簇中分别确定目标标签,根据所述目标标签为所述用户进行内容推荐;其中,标签权重根据所述历史操作信息,和/或用户喜好标签所在的类簇确定。
此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
进一步地,本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:根据用户的历史操作信息确定用户喜好标签;根据所述用户喜好标签的语义信息,确定各用户喜好标签所属的类簇;根据各用户喜好标签的标签权重,从所述用户喜好标签所属的各类簇中分别确定目标标签,根据所述目标标签为所述用户进行内容推荐;其中,标签权重根据所述历史操作信息,和/或用户喜好标签所在的类簇确定。
另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的传输方法,例如包括:根据用户的历史操作信息确定用户喜好标签;根据所述用户喜好标签的语义信息,确定各用户喜好标签所属的类簇;根据各用户喜好标签的标签权重,从所述用户喜好标签所属的各类簇中分别确定目标标签,根据所述目标标签为所述用户进行内容推荐;其中,标签权重根据所述历史操作信息,和/或用户喜好标签所在的类簇确定。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种内容推荐的方法,其特征在于,包括:
根据用户的历史操作信息确定用户喜好标签;
根据所述用户喜好标签的语义信息,确定各用户喜好标签所属的类簇;
根据各用户喜好标签的标签权重,从所述用户喜好标签所属的各类簇中分别确定目标标签,根据所述目标标签为所述用户进行内容推荐;
其中,标签权重根据所述历史操作信息,和/或用户喜好标签所在的类簇确定。
2.根据权利要求1所述的内容推荐的方法,其特征在于,所述根据用户喜好标签的语义信息,确定各用户喜好标签所属的类簇,包括:
根据标签库中各标签在语料中出现的上下文关系,确定所述标签库中各标签的标签向量,其中,所述标签库中包括各用户喜好标签;
根据所述标签库中各标签的标签向量,确定各用户喜好标签的标签向量,根据各用户喜好标签的标签向量进行聚类运算,确定各用户喜好标签所属的类簇;
其中,语料为包含所述标签库中标签的语句和/或语段。
3.根据权利要求2所述的内容推荐的方法,其特征在于,所述根据标签库中各标签在语料中出现的上下文关系,确定所述标签库中各标签的标签向量,包括:
获取语料中出现的属于所述标签库的任一第一标签,和所述第一标签的上下文标签,其中,上下文标签为所述语料中出现在所述第一标签上文的标签,和/或出现在所述第一标签下文的标签;
设定模型的参数矩阵所包含的各向量,与所述标签库中各标签的对应关系,根据所述对应关系确定第一标记向量和第二标记向量,以第一标记向量作为训练样本,以第二标记向量作为训练标签,对模型进行训练;
根据所述对应关系,从训练后模型的参数矩阵中确定与所述标签库中各标签的标签向量;
其中,所述第一标记向量用于标记出,参数矩阵所包含的向量中与所述第一标签对应的向量;所述第二标记向量用于标记出,参数矩阵所包含的向量中与所述上下文标签对应的向量。
4.根据权利要求2所述的内容推荐的方法,其特征在于,还包括:
对所述用户喜好标签中的任一第二标签,获取所述第二标签所在的目标类簇,根据所述目标类簇中各用户喜好标签的标签权重,确定所述目标类簇的类簇中心对应的中心向量,根据所述中心向量和所述第二标签的标签向量,确定所述第二标签与所述类簇中心的距离;
根据所述历史操作信息确定用户喜好内容,并确定各用户喜好内容的内容权重,从用户喜好内容中确定目标喜好内容,根据各目标喜好内容的内容权重确定所述第二标签的历史操作权重;其中,各用户喜好内容对应的标签均为用户喜好标签,目标喜好内容为,所对应的标签中包括所述第二标签的用户喜好内容;
根据所述距离和所述历史操作权重,确定所述第二标签的标签权重。
5.根据权利要求4所述的内容推荐的方法,其特征在于,所述根据所述历史操作信息确定用户喜好内容,并确定各用户喜好内容的内容权重,包括:
根据所述历史操作信息确定用户喜好内容,对用户喜好内容中的任一第一喜好内容,根据所述用户每次对所述第一喜好内容执行操作的操作信息,确定单次操作权重;
根据所述第一喜好内容当前的用户评分,确定所述第一喜好内容的推荐权重;
根据所述第一喜好内容的各单次操作权重和推荐权重,确定所述第一喜好内容的内容权重。
6.根据权利要求5所述的内容推荐的方法,其特征在于,所述根据所述用户每次对所述第一喜好内容执行操作的操作信息,确定单次操作权重,包括:
对所述用户在任一目标次对所述第一喜好内容执行操作的操作信息,获取所述目标次对应的操作时间,根据所述操作时间与当前时间的时间差确定衰减频次;
根据在所述目标次对所述第一喜好内容执行操作的操作频次和/或操作完整度,确定第一操作质量权重;
从预先对各类型的操作设置的操作类型权重中,确定在所述目标次执行的每一类型的操作所对应的操作类型权重;
根据确定衰减频次、第一操作质量权重和各操作类型权重,确定所述目标次对应的单次操作权重。
7.根据权利要求1所述的内容推荐的方法,其特征在于,所述根据各用户喜好标签的标签权重,分别从各类簇中确定目标标签,包括:
对任一目标类簇,根据所述目标类簇中各用户喜好标签对应的标签权重,对所述目标类簇中各用户喜好标签进行排序,得到标签序列;
对所述标签序列循环执行目标标签选取操作,直到所选取的用户喜好标签的数量大于第一阈值,或者第一权重之和与第二权重之和的比值大于第二阈值,将所选取的用户喜好标签作为从所述目标类簇确定的目标标签;
所述目标标签选取操作包括:从当前的标签序列中选取首个和/或最后一个用户喜好标签,并将选取的用户喜好标签从所述标签序列中删除;
其中,所述第一权重之和为所选取的各用户喜好标签的标签权重的和,所述第二权重之和为属于所述目标类簇的所有用户喜好标签的标签权重的和。
8.根据权利要求1所述的内容推荐的方法,其特征在于,所述根据确定的目标标签对所述用户推荐内容,包括:
对所选取的目标标签中任一第三标签,获取所对应的标签中包括所述第三标签的用户喜好内容,作为召回喜好内容;
对召回喜好内容中的任一第二喜好内容,根据所述用户每次对所述第二喜好内容执行操作的操作频次和/或操作完整度,确定第二操作质量权重;
根据所述第三标签的标签权重、所述第二操作质量权重和所述第二喜好内容的发布时间,确定所述第二喜好内容的召回分值;
根据各第二喜好内容对应的召回分值,确定对所述用户推荐内容。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8任一项所述的内容推荐的方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至8任一项所述的内容推荐的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911378285.1A CN110929166B (zh) | 2019-12-27 | 2019-12-27 | 一种内容推荐的方法、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911378285.1A CN110929166B (zh) | 2019-12-27 | 2019-12-27 | 一种内容推荐的方法、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110929166A true CN110929166A (zh) | 2020-03-27 |
CN110929166B CN110929166B (zh) | 2023-10-20 |
Family
ID=69862384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911378285.1A Active CN110929166B (zh) | 2019-12-27 | 2019-12-27 | 一种内容推荐的方法、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110929166B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111738768A (zh) * | 2020-06-24 | 2020-10-02 | 江苏云柜网络技术有限公司 | 广告推送方法及系统 |
CN111858688A (zh) * | 2020-07-20 | 2020-10-30 | 海尔优家智能科技(北京)有限公司 | 一种纺织材料以及色卡推荐方法、装置及存储介质 |
CN112199557A (zh) * | 2020-10-15 | 2021-01-08 | 北京如易堂科技有限公司 | 一种发明内容推荐工具、电子设备及计算机可存储介质 |
CN112242140A (zh) * | 2020-10-13 | 2021-01-19 | 中移(杭州)信息技术有限公司 | 智能设备控制方法、装置、电子设备及存储介质 |
CN112685637A (zh) * | 2020-12-30 | 2021-04-20 | 青岛海信智慧生活科技股份有限公司 | 一种智能设备的智能交互方法及智能设备 |
CN112734463A (zh) * | 2020-12-30 | 2021-04-30 | 咪咕音乐有限公司 | 一种业务信息发送方法、装置、电子设备和存储介质 |
CN114513687A (zh) * | 2022-02-14 | 2022-05-17 | 青岛聚看云科技有限公司 | 服务器及媒资推荐方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104077417A (zh) * | 2014-07-18 | 2014-10-01 | 中国科学院计算技术研究所 | 社交网络中的人物标签推荐方法和系统 |
US20140331142A1 (en) * | 2013-05-06 | 2014-11-06 | Tencent Technology (Shenzhen) Company Limited | Method and system for recommending contents |
CN104965889A (zh) * | 2015-06-17 | 2015-10-07 | 腾讯科技(深圳)有限公司 | 内容推荐方法及装置 |
CN107391680A (zh) * | 2017-07-24 | 2017-11-24 | 北京京东尚科信息技术有限公司 | 内容推荐方法、装置和设备 |
CN109165975A (zh) * | 2018-08-09 | 2019-01-08 | 平安科技(深圳)有限公司 | 标签推荐方法、装置、计算机设备及存储介质 |
CN109657138A (zh) * | 2018-12-10 | 2019-04-19 | 深圳墨世科技有限公司 | 一种视频推荐方法、装置、电子设备及存储介质 |
CN109857848A (zh) * | 2019-01-18 | 2019-06-07 | 深圳壹账通智能科技有限公司 | 交互内容生成方法、装置、计算机设备及存储介质 |
CN109960763A (zh) * | 2019-03-21 | 2019-07-02 | 湖南大学 | 一种基于用户细粒度摄影偏好的摄影社区个性化好友推荐方法 |
-
2019
- 2019-12-27 CN CN201911378285.1A patent/CN110929166B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140331142A1 (en) * | 2013-05-06 | 2014-11-06 | Tencent Technology (Shenzhen) Company Limited | Method and system for recommending contents |
CN104077417A (zh) * | 2014-07-18 | 2014-10-01 | 中国科学院计算技术研究所 | 社交网络中的人物标签推荐方法和系统 |
CN104965889A (zh) * | 2015-06-17 | 2015-10-07 | 腾讯科技(深圳)有限公司 | 内容推荐方法及装置 |
CN107391680A (zh) * | 2017-07-24 | 2017-11-24 | 北京京东尚科信息技术有限公司 | 内容推荐方法、装置和设备 |
CN109165975A (zh) * | 2018-08-09 | 2019-01-08 | 平安科技(深圳)有限公司 | 标签推荐方法、装置、计算机设备及存储介质 |
CN109657138A (zh) * | 2018-12-10 | 2019-04-19 | 深圳墨世科技有限公司 | 一种视频推荐方法、装置、电子设备及存储介质 |
CN109857848A (zh) * | 2019-01-18 | 2019-06-07 | 深圳壹账通智能科技有限公司 | 交互内容生成方法、装置、计算机设备及存储介质 |
CN109960763A (zh) * | 2019-03-21 | 2019-07-02 | 湖南大学 | 一种基于用户细粒度摄影偏好的摄影社区个性化好友推荐方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111738768A (zh) * | 2020-06-24 | 2020-10-02 | 江苏云柜网络技术有限公司 | 广告推送方法及系统 |
CN111858688A (zh) * | 2020-07-20 | 2020-10-30 | 海尔优家智能科技(北京)有限公司 | 一种纺织材料以及色卡推荐方法、装置及存储介质 |
CN111858688B (zh) * | 2020-07-20 | 2024-05-24 | 海尔优家智能科技(北京)有限公司 | 一种纺织材料以及色卡推荐方法、装置及存储介质 |
CN112242140A (zh) * | 2020-10-13 | 2021-01-19 | 中移(杭州)信息技术有限公司 | 智能设备控制方法、装置、电子设备及存储介质 |
CN112199557A (zh) * | 2020-10-15 | 2021-01-08 | 北京如易堂科技有限公司 | 一种发明内容推荐工具、电子设备及计算机可存储介质 |
CN112685637A (zh) * | 2020-12-30 | 2021-04-20 | 青岛海信智慧生活科技股份有限公司 | 一种智能设备的智能交互方法及智能设备 |
CN112734463A (zh) * | 2020-12-30 | 2021-04-30 | 咪咕音乐有限公司 | 一种业务信息发送方法、装置、电子设备和存储介质 |
CN114513687A (zh) * | 2022-02-14 | 2022-05-17 | 青岛聚看云科技有限公司 | 服务器及媒资推荐方法 |
CN114513687B (zh) * | 2022-02-14 | 2024-02-27 | 青岛聚看云科技有限公司 | 服务器及媒资推荐方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110929166B (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110929166B (zh) | 一种内容推荐的方法、电子设备和存储介质 | |
CN110297988B (zh) | 基于加权LDA和改进Single-Pass聚类算法的热点话题检测方法 | |
CN108073568B (zh) | 关键词提取方法和装置 | |
Mai et al. | Joint sentence and aspect-level sentiment analysis of product comments | |
CN112131350B (zh) | 文本标签确定方法、装置、终端及可读存储介质 | |
KR101508260B1 (ko) | 문서 특징을 반영하는 요약문 생성 장치 및 방법 | |
US20080168070A1 (en) | Method and apparatus for classifying multimedia artifacts using ontology selection and semantic classification | |
CN108228541B (zh) | 生成文档摘要的方法和装置 | |
CN106407420B (zh) | 一种多媒体资源的推荐方法及系统 | |
CN112434151A (zh) | 一种专利推荐方法、装置、计算机设备及存储介质 | |
CN112348629A (zh) | 一种商品信息推送方法和装置 | |
EP2307951A1 (en) | Method and apparatus for relating datasets by using semantic vectors and keyword analyses | |
CN110110233B (zh) | 信息处理方法、装置、介质和计算设备 | |
CN112231555B (zh) | 基于用户画像标签的召回方法、装置、设备及存储介质 | |
CN111090731A (zh) | 基于主题聚类的电力舆情摘要提取优化方法及系统 | |
CN111444304A (zh) | 搜索排序的方法和装置 | |
Zou et al. | LDA-TM: A two-step approach to Twitter topic data clustering | |
CN111209469A (zh) | 一种个性化推荐方法、装置、计算机设备及存储介质 | |
Duan et al. | A hybrid intelligent service recommendation by latent semantics and explicit ratings | |
Yang et al. | User-directed non-disruptive topic model update for effective exploration of dynamic content | |
CN117593089A (zh) | 信用卡推荐方法、装置、设备、存储介质及程序产品 | |
Bounabi et al. | A comparison of Text Classification methods Method of weighted terms selected by different Stemming Techniques | |
Allweyer et al. | Classification of Products in Retail using Partially Abbreviated Product Names Only. | |
CN116431895A (zh) | 安全生产知识个性化推荐方法及系统 | |
CN115455152A (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 |