CN112307352A - 内容推荐方法、系统、装置和存储介质 - Google Patents
内容推荐方法、系统、装置和存储介质 Download PDFInfo
- Publication number
- CN112307352A CN112307352A CN202011344980.9A CN202011344980A CN112307352A CN 112307352 A CN112307352 A CN 112307352A CN 202011344980 A CN202011344980 A CN 202011344980A CN 112307352 A CN112307352 A CN 112307352A
- Authority
- CN
- China
- Prior art keywords
- content
- account
- candidate
- label
- information
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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为根据本申请实施例提供的内容推荐方法的一种可选步骤的流程图;
图13为根据本申请实施例提供的一种在目标内容列表中插入第三候选内容的示意图;
图14为根据本申请实施例提供的另一种内容推荐方法的流程图;
图15为根据本申请实施例提供的一种步骤1420的子步骤流程图;
图16为根据本申请实施例提供的一种内容推荐系统的工作流程图;
图17为根据本申请实施例提供的一种内容推荐系统的模块框图;
图18为根据本申请实施例提供的另一种内容推荐系统的模块框图;
图19为根据本申请实施例提供的一种服务器的模块框图;
图20为根据本申请实施例提供的一种终端的模块框图。
具体实施方式
下面结合说明书附图和具体的实施例对本申请进行进一步的说明。所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
张量:在本申请中可以理解为一个多维的数据存储形式(多维数组),数据的维度被称为张量的阶。它可以看成是向量和矩阵在多维空间中的推广。例如,三维张量可以用一个三维数组来表示,被称作三阶张量。
张量分解:是一种高阶的数据分解技术,主要应用于降维和隐关系挖掘。张量分解方法包括tucker张量分解、矩阵奇异值分解(SVD)和主成分分析(PCA)等。
稀疏,是指在矩阵或者张量中的元素为零较多的情况,例如一个张量被描述为稀疏张量,表明该张量中很多元素的数值为零,若非0元素数目占大多数时,则称该张量为稠密张量。在内容推荐中,由于用户不可能预先将所有的内容都进行浏览,因此,构建与用户、内容和标签相关的张量时,会得到一个较为稀疏的张量,需要通过张量分解的方式来拟合缺失的元素值。
召回:在信息流推荐任务中,为降低大规模排序问题的复杂度,通常先进行召回,挑选出一小部分内容作为用户可能感兴趣的内容,这一过程称为召回。
HDFS:称为Hadoop分布式文件系统,是Apache Hadoop Core项目的一部分。HDFS有着高容错性(fault-tolerant)的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以实现流的形式访问(streaming access)文件系统中的数据。
ETL:是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。
Spark:Apache Spark是专为大规模数据处理而设计的快速通用的计算引擎。Spark是开源的类Hadoop MapReduce的通用并行框架。
DeepFM:深度协同过滤模型,DeepFM包含两部分:神经网络部分与因子分解机部分,分别负责低阶特征的提取和高阶特征的提取。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本方案主要涉及机器学习/深度学习模型在内容推荐上的应用,在相关技术中,基于传统的神经网络模型,需要对用户的点击行为标注,并且需要大量数据才能学习到用户的兴趣,训练数据的获取难度高。然而用户的阅读兴趣在短期改变的可能性较大,因此,采用传统的神经网络模型进行建模成本较高,而且往往训练时间较长,相对滞后,因此不容易在内容推荐的场景中取得较高的精度。亦有相关技术采用矩阵分解的方式,基于用户对内容的评分进行矩阵分解,然后分析用户和内容之间的关系,从而向用户推荐内容。此类技术中,一方面用户的评分存在主观性,数据噪声较大,另一方面矩阵关系所隐含的信息较少,导致推荐结果不准确。有鉴于此,为了在数据有限和成本有限的条件下尽可能提高内容推荐的准确性,本申请实施例提供一种内容推荐方法,本申请实施例基于账号标识、内容标识和标签标识的三元组构成的三阶张量,进行三阶张量分解,得到账号标识和标签标识的关系矩阵,内容标识和标签标识的关系矩阵,并基于这两个矩阵提取出目标账号的标签特征,以及提取出各候选内容的标签特征,再通过相似度计算,确定出用户对哪些内容感兴趣,进而实现内容推荐。本申请实施例可以利用现成的内容和标签之间的关系,以低成本的方式获取数据,并基于张量分解的方式挖掘出更多的深层信息,相对于传统神经网络模型其标注成本低廉,而相对于矩阵分解的相关技术而言,利用标签作为桥梁将用户和内容进行关联,可以挖掘出更多的深层信息,提高内容推荐的准确度。
参照图1,本实施例公开了一种内容推荐方法,其中,该方法可以应用在如图2所示的系统之中,在图2所示的系统中,包括服务器210、用户终端220和发布者终端230,需要理解的是,本实施例的方法可以在服务器210中执行,在用户终端220中执行,或者一部分在服务器210中执行另一部分在用户终端220中执行。一般情况下,用户终端220和发布者终端230可以是诸如手机、平板电脑或者个人电脑等可以与用户进行交互的设备,服务器210可以是独立的物理服务器、由多个物理服务器构成的分布式服务器或者由云服商所提供的云服务器。
参照图3,图3示出了本实施例的一种应用场景,从界面300中可以看到用内容发布者通过发布者终端230发布内容时的界面,其包括内容上传区域310,其中可以上传的内容包括但不限于视频、图片和文字。从区域320中可以看出,内容发布者可以根据内容选择内容标签,以将内容推送给目标群体。因此,在该应用场景中,内容的标签的获得几乎是没有成本的,而且基于发布者对内容的了解,内容的标签一般比较准确。当然,需要理解的是,服务器中内容的标签并非一定要通过如图3所示的界面获得,该实施例只是为了说明在本实施例中标签和内容之间的关系信息获取的容易性,仅是一种示例性的场景。而通常在其他诸如语义理解或者图像识别的技术中,也会对内容进行打标签,实际上本方案也可以利用其他机器学习任务中产生的内容与标签的关系作为本方案的基础数据。因此,仅需要确定用户的账号的浏览行为,就可以确定出<账号-内容-标签>的三元组,进而构建出三阶张量,当然,在构建三阶张量时,会对账号、内容和标签进行编码,以标识代替这三个维度本身的数值,以便于进行后续的运算。
参照图4,图4示出了本实施例的另一种应用场景,在该应用场景中,用户通过用户终端220接收服务器210推荐的内容,并在某社交软件的界面400中以瀑布流的形式依次显示这些内容,需要理解的是,这些内容可以是视频、文章或者图片等。如图4左侧列表430所示,列表430中依次包括含内容1、内容2、内容3和内容4,其中,在当前的截面400中,按照顺序在区域410中显示了内容1,而在区域420中显示了内容2。可以理解的是,如果内容1~4均已经加载到用户终端220中,则用户进行上划操作,可以依次看到内容3和内容4。在部分场景中,若内容列表上还有内容5和内容6,而内容5和内容6并未在用户终端220中加载时,用户通过下划刷新的方式加载新内容,则内容5和内容6会依次出现在内容1之前。虽然在用户终端220上的显示顺序与列表中的内容顺序有所差别,但实际上从加载到手机终端的先后次序来看,内容依然是按照列表的顺序加载的,只是用户终端220上的显示策略导致顺序不一致。在本实施例中,用户浏览内容的行为会被记录,例如,服务器210会记录用户在2019年1月1日12时00分点击了内容A,用户在2019年1月1日12时05分关闭内容A。2019年1月2日11时00分点击了内容A,用户在2019年1月2日11时15分关闭内容A。此时,可以得知用户点击了内容A两次,第一次的浏览时间是5分钟,第二次浏览时间是15分钟。于是,可以基于用户浏览某个内容的次数,或者总时间来描述用户对这个内容的感兴趣程度。
在上述实施例中,服务器210的主要任务是对发布者终端230所上传的内容进行分类和运算,并基于用户的点击行为,从海量的内容中进行内容召回,从而在数量庞大的内容中挑选出用户可能感兴趣的内容,并生成内容推荐列表,当用户终端220请求刷新内容时,根据内容推荐列表进行推送。
如图1所示,本实施例的方法包括步骤110~步骤160,可以在服务器210中实施。
需要理解的是,在执行步骤110之前,服务器210首先基于多个账号的浏览信息和内容与标签之间的关系,构建由账号标识、内容标识和标签标识的三元组构成的三阶张量,其中,三阶张量中的单元用于表征账号对带有标签的内容的浏览信息。并对三阶张量进行张量分解,得到用于表征账号标识和标签标识的关系的第一关系信息,以及得到用于表征内容标识和标签标识的关系的第二关系信息。其中,账号标识、内容标识和标签标识是为了在构建三阶张量后便于运算而对账号、内容和标签进行编码,其中,在一些例子中可以采用one-hot-encoding的方式进行编码,例如,对内容1、内容2、内容3、……、内容n进行编码,可以将内容1编码成长度为n的向量(1,0,0,……,0),内容2编码成长度为n的向量(0,1,0,……,0),内容n编码成长度为n的向量(0,0,0,……,1),即用某个位置置1其他位置置0来表示某个内容。
在本实施例中,构建的三阶张量可以如图5所示,从图5中可以看出,在三阶张量的三个维度分别是账号、内容和标签,本实施例以视频内容为例,以用户一段时间内的点击次数作为用户的浏览信息。可以看出,用户A浏览了视频B和视频D,其中视频B浏览了10次,视频D浏览了5次,而根据系统中视频B和视频D的标签,可以理解为,用户观看了爱情类的内容10次、伦理类的内容5次,动作类的内容10次,二次元类的内容5次。需要理解的是,本实施例只是一种举例,内容、标签的实质内容根据实际应用而发生变化,同时,坐标系每个方向所代表的含义可以根据实际情况调整,例如将标签和内容的轴向进行互换,或者将正交的三个轴换成其他夹角关系。可以理解的是上述浏览信息可以由点击次数、浏览时间长度、或者点击次数和浏览时间长度的加权结果确定。例如,在一些例子中,浏览信息可以表示为a*点击次数+b*浏览时间,a和b为系数。
在构建三阶张量以后,由于内容的数量是海量的,而且是不断产生的,因此,在每次构建三阶张量后,三阶张量是稀疏的,即对于每个账号而言,很多内容的浏览行为是空缺的,为了对三阶张量进行降维处理、进行稀疏数据填补和隐性关系的挖掘,可以通过张量分解的方式来对三阶张量进行处理。其中,张量分解技术包括矩阵奇异值分解(SVD)和主成分分析(PCA),而本实施例中采用的三阶张量分解手段是tucker张量分解。
参照图6,三阶张量χ,可以看作一个长方体,通过逼近的方式,可以通过tucker张量分解将三阶张量χ分解为三个因子矩阵(矩阵A、矩阵B、矩阵C)和核张量G,其中,在本实施例中,矩阵A可以用于表示账号标识和标签标识的关系,矩阵B可以用于表示内容标识和标签标识的关系,矩阵C可以用于表示用户和内容的关系。其中,在矩阵A是一个大小为user*tag大小的矩阵,矩阵B是一个doc*tag大小的矩阵,其中,user为账号的总数,doc为内容的总数,tag为标签特征的长度。可以理解的是user、doc和tag都是正整数。从上述实施例的描述可知,user个账号通过one-hot-encoding的方式进行编码,可见每个账号均用一个长度为user的向量表示,因此通过将账号向量(即账号标识)与矩阵A相乘,可以得到一个长度为tag的向量,该向量表达的含义是该账号的标签特征,即标识该账号感兴趣的标签成分。同理,通过长度为doc的内容向量(即内容标识)与矩阵B相乘,可以得到一个长度为tag的向量,该向量表达的含义是该内容的标签特征,即该内容所属的标签成分。tucker张量分解可以用以下公式表示:
其中,小写的gpqr表示核张量G位置为pqr的单元的取值,ap表示矩阵A在位置p的取值,bq表示矩阵B在位置q的取值,cr表示矩阵C在位置r的取值。其中,是Kronecker(克罗内克)积。高阶张量分解本质是用几个低维张量的积(如矩阵)等来逼近高阶张量,以此来解决数据稀疏的问题,从而挖掘出深层关系信息。对于Tucker分解的求解,因为对于固定的n-秩,Tucker分解的唯一不能保证,通常情况下会加上一些约束,如分解得到的因子单位正交约束等。
步骤110、获取目标账号标识和多个(至少两个)第一候选内容标识。
基于上述实施例的原理分析,可以通过获取目标账号标识和第一候选内容标识来确定出目标账号对那些候选内容比较感兴趣。其中,第一候选内容标识是指需要与目标账号进行匹配的内容的标识,即第一候选内容是需要与目标账号进行匹配的内容。
其中,需要理解的是,目标账号标识,是指为了张量分解而对账号名称进行编码得到的信息。在本步骤中,可以获取目标账号的名称,例如目标账号的名称为“hrj123”,然后在根据编码时的映射列表查得该目标账号名称对应的目标账号标识,例如,查询得到的账号向量是(1,0,0,……,0)。
同理,第一候选内容标识,可以根据内容的编号(id)从编码的映射表得到。例如,内容的编号可以为“wenzhang123”。查询映射表得到的内容向量是(0,1,0,……,0)。需要理解的是,由于本方案会分析用户对哪些内容感兴趣,因此在针对每个目标账号的处理过程中,都分析每个目标账号和多个第一候选内容之间的关系。
其中,这里的多个第一候选内容标识,是指两个以上不同的第一候选内容的标识。按照上述的one-hot-encoding的方式进行编码,以获取两个第一候选内容标识为例,在该例子中可能获得的两个标识是(1,0,0,……,0)和(0,1,0,……,0),这两个标识用于表示三阶张量中的第一内容和第二个内容。可以理解的是虽然三阶张量中包含n个候选内容的信息,但是在实施内容推荐的时候,并不一定需要将n个候选内容都和目标账号进行匹配,因此在本步骤中获取的第一候选内容的标识的数量m可以小于等于n,其中m和n均为正整数。
步骤120、获取第一关系信息和第二关系信息,其中,第一关系信息和第二关系信息均由三阶张量分解得到,三阶张量由账号标识、内容标识和标签标识的三元组构成,第一关系信息用于表征账号标识和标签标识的关系,第二关系信息用于表征内容标识和标签标识的关系,三阶张量中的单元用于表征账号对带有标签的内容的浏览信息。浏览信息由点击次数、浏览时间长度、或者由点击次数和浏览时间长度的加权结果确定。其中,在计算点击次数和浏览时间长度的加权结果时,可以采用以下公式:加权结果(无量纲)=权重系数A*点击次数(次)+权重系数B*浏览时间长度(分钟)。由于用户对内容的感兴趣程度与点击次数和浏览时间长度都成正比,因此通过加权结果也可以衡量用户对内容的感兴趣程度。
可以理解的是,在本实施例中,第一关系信息和第二关系信息均可以以矩阵形式表示,但是,矩阵只是其中一种信息表达方式,任意矩阵实际上也可以变换成向量、字符串等表示。重要的是,第一关系信息和第二关系信息是通过张量分解得到的,因此第一关系信息中包含了账号标识和标签标识之间的关系,在第一关系信息中,可以提取出每个账号感兴趣的标签特征。第二关系信息包含了内容标识和标签标识之间的关系,在第二关系信息中,可以提取出每个内容的标签特征。如图7所示的例子,第一关系信息可以是账号标识和标签标识的关系矩阵,第二关系信息可以是内容标识和标签标识的关系矩阵。
其中,在执行张量分解后,第一关系信息和第二关系信息会在服务器210中保存起来,因此,可以从服务器210本地或者远程的存储器中读取这两个信息。
步骤130、根据目标账号标识和第一关系信息,得到目标账号的第一标签特征。
参照图7,在本实施例中目标账号标识以向量(a1,a2,……,an)为例,n为正整数,a表示向量各维度的取值,在账号标识和标签标识的关系矩阵中,c表示矩阵各单元的取值,下标用于表示位置。从图7中可以看出,将目标账号向量和关系矩阵相乘以后,可以得到目标账号的标签特征,其可以用向量(e1、e2、……、ek)表示。其中,e表示向量各位置取值,下标用于区分位置。
步骤140、根据各第一候选内容标识和第二关系信息,得到各第一候选内容的第二标签特征。
参照图7,在本实施例中候选内容标识以向量(b1,b2,……,bn)为例,n为正整数,b表示向量各维度的取值,在内容标识和标签标识的关系矩阵中,d表示矩阵各单元的取值,下标用于表示位置。从图7中可以看出,将目标账号向量和关系矩阵相乘以后,可以得到候选内容的标签特征,其可以用向量(f1、f2、……、fk)表示。其中,f表示向量各位置取值,下标用于区分位置。
步骤150、确定各第二标签特征与第一标签特征的第一相似度。
参照图7,通过步骤130和步骤140得到的目标账号的标签特征以及候选内容的标签特征,可以计算两者之间的相似度,相似度取值一般是0~1,1表示完全相同,0表示完全不相同。这一过程实际上是利用标签作为一个桥梁,通过张量分解的方式提取账号持有的用户对不同标签的感兴趣程度,从而通过目标账号的标签特征来描述用户的标签偏好,同时通过张量分解的方式提取候选内容和标签之间的关系,从而通过候选内容的标签特征描述候选内容的标签成分,那么通过计算目标账号的标签特征以及候选内容的标签特征的相似度,则可以分析用户对候选内容的感兴趣程度。例如两者的相似度是1,那么表明账号的标签特征和内容的标签特征完全相同,这表明账号持有者极有可能会对这个候选内容特别感兴趣。而两个向量的相似度可以采用欧式几何距离、余弦相似度等方式计算。
步骤160、根据各第一候选内容对应的第一相似度,从多个第一候选内容中选择向目标账号推荐的目标内容。
参照图8,候选内容1、候选内容2、候选内容3和候选内容4对应的相似度计算结果分别是0.9、0.7、0.88和0.6,可见,按照相似度对内容进行排序,从图8的排序结果中可以看到,四个候选内容的次序为候选内容1、候选内容3、候选内容2和候选内容4。在该例子中,如果最终需要选择的目标内容只有两个,则可以按照相似度大小,选取相似度最大的两个内容作为目标内容,在本实施例中,则是候选内容1和候选内容3。当然,图4只是一种示例,在实际情况下,候选内容的数量非常庞大,而选择的目标内容数量一般也有数十或者上百。
从上述实施例可知,基于账号标识、内容标识和标签标识的三元组构成的三阶张量,以三阶张量的单元表示账号的浏览信息,并从所述三阶张量的分解中,获取用于表征账号标识和标签标识的关系的第一关系信息,以及获取用于表征内容标识和标签标识的关系的第二关系信息,相对于矩阵分解,三阶张量分解可以提取出更多的隐藏信息,由于标签和内容之间的关系可以从其他任务中获取或者通过简单的人工标注获取,在实际应用中,内容作者一般也会上传准确的标签,因此内容和标签之间的关系信息,获得成本较低,适用于内容推荐的场景,基于第一关系信息可以得到目标账号的第一标签特征,基于第二关系信息可以获得第一候选内容的第二标签特征,因此通过计算第一标签特征和第二标签的相似度,即可以获得目标账号对第一候选内容的感兴趣程度,因此,本申请实施例相对于相关技术,拥有了更多的决策信息,可以提高内容推荐的准确性,此外,本申请实施例也不需要依赖用户对内容的打分,噪声更小,推荐更加准确。
在部分实施例中,如图7所示,为了降低运算的复杂度,第一关系信息由第一矩阵表示;第二关系信息由第二矩阵表示;目标账号标识由第一向量表示,第一候选内容标识由第二向量表示;
步骤130具体为:
将第一向量和所述第一矩阵相乘,得到第三向量作为所述目标账号的第一标签特征;
步骤140具体为:
将各第二向量和第二矩阵相乘,得到每个第一候选内容的第二标签特征。
通过上述的数据格式,可以利用向量和矩阵相乘的特性,快捷地计算出目标账号的标签特征,以及各候选内容的标签特征。在本实施例中,通过张量分解的第一关系信息和第二关系信息,相当于信息查询表,第一关系信息可以根据账号标识进行查询,得到目标账号的标签特征,第二关系信息可以根据内容标识进行查询,得到候选内容的标签特征。
在部分实施例中,步骤160可以采用以下任一种方式实现:
方式一:选择所述第一相似度大于第一阈值的所述第一候选内容作为向目标账号推荐的目标内容。在不限制目标内容具体的数量的情况下,可以根据候选内容对应的相似度来选择目标内容,例如,设定相似度大于80%的候选内容作为目标内容。当然,在这种措施中,可以根据账号的阅读量大小,动态调整阈值大小,当账号阅读量大于阈值的时候,降低选择目标内容的相似度阈值。
方式二:根据各所述第一候选内容对应的第一相似度,对多个第一候选内容进行降序排序,得到第一排序结果。
选择在第一排序结果中排序前若干个或者前若干比例的第一候选内容作为向目标账号推荐的目标内容。可以参考图8的方式,按照相似度的大小对候选内容进行降序排列,然后选择固定数量或者固定比例的候选内容作为目标内容。这一方式的优点在于获得的目标内容数量固定,便于动态估算需要补充的新内容。
方式三:根据各所述第一候选内容对应的所述第一相似度,对多个所述第一候选内容进行升序排序,得到第二排序结果。
选择在所述第二排序结果中的后若干个或者后若干比例的第一候选内容作为向所述目标账号推荐的目标内容。与方式二类似,本方案选择升序排列,选择目标内容时,从排序的末端进行选择。例如,100个候选内容按照相似度进行升序排列以后,选择最后30个或者最后30%的内容作为目标内容。
参照图9,在部分实施例中,为了减少对用户的重复推送,避免用户重复看到已经看过的内容,在步骤160之前,还包括以下步骤:
步骤910、获取目标账号的浏览记录;
步骤920、根据浏览记录从多个第一候选内容中剔除目标账号浏览过的第一候选内容。
在本实施例中,步骤910和步骤920可以发生在步骤150之后,步骤160之前,也可以发生在步骤110之前,当步骤910和步骤920发生在步骤110之前时,可以先剔除用户浏览过的第一候选内容,从而减少相似度的计算次数。在本实施例中,通过目标账号的浏览记录,可以获知用户浏览过的内容,在计算相似度之前对这些内容进行标记,或者在步骤110中就直接不获取这些浏览过的第一候选内容标识,都可以避免这些内容对应的相似度计算的发生。有助于降低系统运算量,提升系统性能,同时可以避免用户看到重复的内容。
参照图10和图11,在部分实施例中,当用户浏览量比较大,当目标内容已经全部被浏览完或者将要被浏览完,但模型未到重建周期时,可以从未参与上一次张量分解建模的内容(即本实施例所指的第二候选内容)中选择与目标内容相似度接近的内容向目标账号进行推送,其中建模是指基于现有数据构建三阶张量并进行张量分解的过程,因此,在本实施例中,内容推荐方法还包括以下步骤:
步骤1010、获取第二候选内容和至少一个目标内容,第二候选内容为三阶张量不包含的内容;其中,第二候选内容是指在构建三阶张量的时候不存在于三元组之中的内容。这些内容可以是在完成建模后新发布的。
步骤1020、确定第二候选内容和至少一个目标内容的第二相似度。
具体地,本实施例中,可以采取多种统计方式进行统计,例如,利用NLP(自然语言处理)模型分析内容标题的相似度,或者基于目标内容和第二候选内容的标签进行相似度计算。例如,目标内容的原有标签的“恐怖”,“动作”,而第二候选内容的标签则是“恐怖”、“爱情”、“动作”,则可以用相同的标签数量除以相同标签数量和不相同标签数量之和来衡量相似度,在这一例子中两者的相似度为0.67。当然,实际的计算方式有很多种,上述例子只是示例性的说明。
步骤1030、当第二相似度大于第二阈值,将第二候选内容作为向目标账号推荐的目标内容。通过这步骤,可以在模型不能预测的范围内补充选择目标内容,以应对较长的建模周期。
如图11所示,当第一候选内容1~6均推送到用户终端后(假定已经浏览过),这时候如果不增加目标内容的数量,会导致用户终端无法刷新出新的推荐内容,用户体验不佳。但是相对于向用户推荐用户可能不感兴趣的现存内容而言,从新的内容(第二候选内容)中寻找用户可能感兴趣的内容进行推荐,策略更好。因此,在未参与上一次建模的第二候选内容中,寻找与目标内容相似度较高的内容向目标账号进行推荐,更容易找到用户感兴趣的内容。在图11的例子中,选择目标账号可能最敢兴趣的目标内容1来和第二候选内容1以及第二候选内容2进行相似度计算,其中,相似度大于阈值的第二候选内容1被作为目标内容插入到目标账号的推荐列表之中。
参照图12,在部分实施例中,为了满足运营推广需求或者建模需求,内容推荐方法还包括以下步骤:
步骤1210、根据多个所述目标内容对应的第一相似度,将多个所述目标内容进行排序,得到第一序列;
步骤1220、向所述第一序列中插入若干个第三候选内容,得到目标账号的推荐序列。
由于进行三阶张量建模的时候,需要利用到部分账号对内容的浏览行为,因此,可以在推送给用户的内容列表中插入若干个新的内容,即第三候选内容。这样做的目的在于,获取部分用户对这些内容的浏览数据,从而在下一轮建模的时候,可以从中挖掘出用户、第三候选内容和标签之间的关系。当然,也有部分是推广需求,例如在用户的推荐列表中插入广告内容。如图13所示,在目标内容1~4中插入了第三候选内容1和第三候选内容2。
参照图14,本实施例从三阶张量的构建开始对内容推荐方法进行描述,本实施例的内容推荐方法,包括以下步骤,其中步骤1440~步骤1480与图1实施例中的步骤110、步骤130、步骤140、步骤150和步骤160相对应。
步骤1410、获取多个账号、各所述账号对多个候选内容的浏览信息,各所述候选内容对应的标签。
需要理解的是,这里的账号是指系统拟向其推送内容的账号,而账号对候选内容的浏览信息如上述实施例描述的一样,可以是浏览时间长度、点击次数或者两者的加权结果。候选内容的标签可以在发布者上传内容时获得。在本实施例中,多个账号是指多个(至少两个)不同的账号,在本实施例中,账号可以以账号的id表示。其中,这里的账号可以是指接受内容推荐的账号。
步骤1420、根据各账号、各账号对多个候选内容的浏览信息以及各候选内容对应的标签,构建由账号标识、内容标识和标签标识的三元组构成的三阶张量,三阶张量中的单元用于表征账号对带有标签的内容的浏览信息。在本实施例中构建的三阶张量可以参照图5的例子。
步骤1430、对三阶张量进行张量分解,得到第一关系信息和第二关系信息,第一关系信息用于表征账号标识和标签标识的关系,第二关系信息用于表征内容标识和标签标识的关系。在本实施例中,张量分解可以采用tucker张量分解,张量分解过程如图6所示,通过逼近的方式,可以将三阶张量χ分解为三个因子矩阵和核张量G,其中,在本实施例中,矩阵A可以用于表示账号和标签的关系,矩阵B可以用于表示内容和标签的关系。
步骤1440、获取目标账号标识和多个第一候选内容标识。
步骤1450、根据目标账号标识和第一关系信息,得到目标账号的第一标签特征。
步骤1460、根据各第一候选内容标识和第二关系信息,得到各第一候选内容的第二标签特征。
步骤1470、确定各第二标签特征与第一标签特征的第一相似度。
步骤1480、根据各第一候选内容对应的第一相似度,从多个第一候选内容中选择向目标账号推荐的目标内容。
可以理解的是,步骤1410、步骤1420和步骤1430属于初始化的步骤,这三个步骤的目的是基于用户账号的浏览信息以及内容和标签的关系构建三阶张量,然后采用张量分解的方法进行建模,最终得到第一关系信息和第二关系信息。故这三个步骤的目的在于得到用于表征账号标识和标签标识的关系的第一关系信息,以及用于表征内容标识和标签标识的关系的第二关系信息。
参照图1510、在部分实施例中,步骤1420包括:
步骤1510、对各账号、各候选内容和各标签进行编码,得到多个账号标识、多个候选内容标识和多个标签标识。
其中,在本实施例中采用的编码方式为one-hot-encoding的方式,采用这样的编码方式是为了可以将编码后的数据下发到Hadoop分布式文件系统进行离线建模。同时经过编码后的标识相对于内容本身更加简单,更加易于运算,可以减少建模时的运算量。
步骤1520、根据账号标识、候选内容标识和标签标识作为所述三阶张量的三个维度。如图5所示,三阶张量的三个维度分别是账号标识、候选内容标识和标签标识。
步骤1530、将各账号对带有标签的内容的点击次数、浏览时间长度、或者点击次数与浏览时间长度的加权结果,映射到所述三阶张量的各单元中得到所述三阶张量。
在部分实施例中,步骤1410中,获取各账号对多个候选内容的浏览信息,包括:
获取各账号对多个候选内容的原始点击信息,原始点击信息包括点击行为和点击行为发生的时间。根据原始点击信息,得到各账号对多个候选内容的点击次数或者浏览时间长度作为浏览信息。
具体地,在该实施例中,可以通过用户的点击行为和点击行为发生时间来确定账号的一定的时间内对内容的点击次数和浏览时间长度。例如,时间点A账号点击了内容B,时间点C该账号退出了内容B,从这两个点击信息中可以确定,该账号点击了内容B一次,浏览了(C-A)的时长。
在部分实施例中,步骤1410还包括以下步骤:将点击次数大于预设点击阈值或者浏览时间长度小于预设时间阈值的浏览信息进行过滤。通过对浏览信息进行过滤,可以减少数据中的噪声,使得建模的数据更加接近真实情况。即根据预设点击阈值对所述点击次数进行过滤,以及根据预设时间阈值对所述浏览时间进行过滤后得到浏览信息。
在部分实施例中,所述步骤1430包括:
在Hadoop分布式文件系统中利用Spark脚本对所述三阶张量进行tucker张量分解,得到用于表征账号标识和标签标识的关系的第一矩阵作为第一关系信息,以及得到用于表征内容标识和标签标识的关系的第二矩阵作为第二关系信息。如下式:
其中,tucker张量分解可以用上述公式表示,三阶张量χ可以表示核张量G、因子矩阵A、因子矩阵B和因子矩阵C的乘积。其中,小写的gpqr表示核张量G位置为pqr的单元的取值,ap表示矩阵A在位置p的取值,bq表示矩阵B在位置q的取值,cr表示矩阵C在位置r的取值。其中,是Kronecker(克罗内克)积。高阶张量分解本质是用几个低维张量的积(如矩阵)等来逼近高阶张量,以此来解决数据稀疏的问题,从而挖掘出深层关系信息。对于Tucker分解的求解,因为对于固定的n-秩,Tucker分解的唯一不能保证,通常情况下会加上一些约束,如分解得到的因子单位正交约束等。
参照图16,本实施例示出了一种内容推荐系统的工作流程图。从图16中可知,该实施例包括以下步骤:
步骤1610、服务器构建<账号标识-内容标识-标签标识>的三阶张量,其中三阶张量中每个单元用于表示账号对带有某个标签的内容的浏览信息。该浏览信息可以是点击次数或者浏览的时间长度。
步骤1620、服务器对三阶张量进行tucker张量分解,得到第一关系矩阵<账号标识-标签标识>,以及第二关系矩阵<内容标识-标签标识>。需要理解的是,这里的服务器可以是由多个服务器组成的,而本步骤在Hadoop分布式文件系统中进行。
步骤1630、终端向服务器发送内容获取请求。用户在终端通过刷新的方式触发终端向服务器发送内容获取请求。在该请求中包含用户账号信息。
步骤1640、服务器解析请求中的目标账号,并确定目标账号标识。这一过程相当于根据用户账号来进行索引,确定用于标签特征运算的账号标识(编码后的标识)。
步骤1650、服务器通过目标账号标识和第一关系矩阵,得到目标账号的标签特征。在本实施例中目标账号标识是一个向量,通过向量和第一关系矩阵相乘,得到用于表示目标账号的标签特征的第一特征向量。
步骤1660、服务器通过内容标识和第二关系矩阵得到各内容的标签特征。同理,在本步骤中,通过表示内容标识的向量和第二关系矩阵相乘,得到用于表示内容的标签特征的第二特征向量。
步骤1670、服务器计算目标账号的标签特征和各内容的标签特征之间的相似度。通过计算第一特征向量和第二特征向量的欧式几何距离可以得到两个向量的相似度。
步骤1680、服务器根据相似度对内容进行排序,并选择出多个目标内容,建立内容推荐列表。
步骤1690、根据内容推荐列表返回内容。终端接收到内容后通过显示屏展现给用户浏览。
参照图17,本实施例公开了一种内容推荐系统,包括:第一获取单元1710,用于获取目标账号标识和多个第一候选内容标识;第二获取单元1720,用于获取第一关系信息和第二关系信息,其中,所述第一关系信息和第二关系信息均由三阶张量分解得到,所述三阶张量由账号标识、内容标识和标签标识的三元组构成,所述第一关系信息用于表征账号标识和标签标识的关系,所述第二关系信息用于表征内容标识和标签标识的关系,所述三阶张量中的单元用于表征账号对带有标签的内容的点击次数、浏览时间长度,或者点击次数与浏览时间长度的加权结果;第一特征提取单元1730,用于根据所述目标账号标识和第一关系信息,得到所述目标账号的第一标签特征;第二特征提取单元1740,用于根据各所述第一候选内容标识和第二关系信息,得到各第一候选内容的第二标签特征;第一相似度确定单元1750,用于确定各所述第二标签特征与第一标签特征的第一相似度;第一内容选择单元1760,用于根据各所述第一候选内容对应的第一相似度,从多个所述第一候选内容中选择向所述目标账号推荐的目标内容。
参照图18,本实施例公开了一种内容推荐系统,包括:第三获取单元1810,用于获取多个账号、各所述账号对多个候选内容的浏览信息,各所述候选内容对应的标签;张量构建单元1820,用于根据各所述账号、各所述账号对多个候选内容的浏览信息以及各所述候选内容对应的标签,构建由账号标识、内容标识和标签标识的三元组构成的三阶张量,所述三阶张量中的单元用于表征账号对带有标签的内容的点击次数、浏览时间长度、或者点击次数与浏览时间长度的加权结果;张量分解单元1830,用于对所述三阶张量进行张量分解,得到第一关系信息和第二关系信息,所述第一关系信息用于表征账号标识和标签标识的关系,所述第二关系信息用于表征内容标识和标签标识的关系;第四获取单元1840,用于获取目标账号标识和多个第一候选内容标识;第三特征提取单元1850,用于根据所述目标账号标识和第一关系信息,得到所述目标账号的第一标签特征;第四特征提取单元1860,用于根据各所述第一候选内容标识和第二关系信息,得到各第一候选内容的第二标签特征;第二相似度确定单元1870,用于确定各所述第二标签特征与第一标签特征的第一相似度;第二内容选择单元1880,用于根据各所述第一候选内容对应的第一相似度,从多个所述第一候选内容中选择向所述目标账号推荐的目标内容。本申请实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的广告资源配置方法。
图19为本申请实施例提供的服务器1900的模块框图,服务器1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central ProcessingUnits,简称CPU)1922(例如,一个或一个以上处理器)和存储器1932,一个或一个以上存储应用程序1942或数据1944的存储介质1930(例如一个或一个以上海量存储装置)。其中,存储器1932和存储介质1930可以是短暂存储或持久存储。存储在存储介质1930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1922可以设置为与存储介质1930通信,在服务器1900上执行存储介质1930中的一系列指令操作以实现上述的方法。
服务器1900还可以包括一个或一个以上电源1926,一个或一个以上有线或无线网络接口1950,一个或一个以上输入输出接口1958,和/或,一个或一个以上操作系统1941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
本申请实施例还提供了一种装置,该装置可以执行上述的内容推荐方法。下面结合附图对该装置进行介绍。请参见图20,本申请实施例提供了一种装置,该装置还可以是终端装置,该终端装置可以为包括手机、平板电脑、个人数字助理(Personal DigitalAssistant,简称PDA)、销售终端(Point of Sales,简称POS)、车载电脑等任意智能终端,以终端装置为手机为例:
图20示出的是与本申请实施例提供的终端装置相关的手机的部分结构的框图。参考图20,手机包括:射频(Radio Frequency,简称RF)电路2010、存储器2020、输入单元2030、显示单元2040、传感器2050、音频电路2060、无线保真(wireless fidelity,简称WiFi)模块2070、处理器2080、以及电源2090等部件。本领域技术人员可以理解,图20中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。下面结合图20对手机的各个构成部件进行具体的介绍:RF电路2010可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器2080处理;另外,将设计上行的数据发送给基站。通常,RF电路2010包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,简称LNA)、双工器等。此外,RF电路2010还可以通过无线通信与网络和其他装置通信。
存储器2020可用于存储软件程序以及模块,处理器2080通过运行存储在存储器2020的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器2020可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器2020可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元2030可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元2030可包括触控面板2031以及其他输入装置2032。触控面板2031,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板2031上或在触控面板2031附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板2031可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器2080,并能接收处理器2080发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板2031。除了触控面板2031,输入单元2030还可以包括其他输入装置2032。具体地,其他输入装置2032可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元2040可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元2040可包括显示面板2041,可选的,可以采用液晶显示器(LiquidCrystal Display,简称LCD)、有机发光二极管(Organic Light-Emitting Diode,简称OLED)等形式来配置显示面板2041。进一步的,触控面板2031可覆盖显示面板2041,当触控面板2031检测到在其上或附近的触摸操作后,传送给处理器2080以确定触摸事件的类型,随后处理器2080根据触摸事件的类型在显示面板2041上提供相应的视觉输出。虽然在图20中,触控面板2031与显示面板2041是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板2031与显示面板2041集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器2050,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板2041的亮度,接近传感器可在手机移动到耳边时,关闭显示面板2041和/或背光。
音频电路2060、扬声器2061,传声器2062可提供用户与手机之间的音频接口。音频电路2060可将接收到的音频数据转换后的电信号,传输到扬声器2061,由扬声器2061转换为声音信号输出;另一方面,传声器2062将收集的声音信号转换为电信号,由音频电路2060接收后转换为音频数据,再将音频数据输出处理器2080处理后,经RF电路2010以发送给比如另一手机,或者将音频数据输出至存储器2020以便进一步处理。WiFi属于短距离无线传输技术,手机通过WiFi模块2070可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图20示出了WiFi模块2070,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器2080是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器2020内的软件程序和/或模块,以及调用存储在存储器2020内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器2080可包括一个或多个处理单元,手机还包括给各个部件供电的电源2090。
在本实施例中,该终端装置所包括的处理器2080具备执行前面实施例的内容推荐方法。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行前述各个实施例中的内容推荐方法。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或装置不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或装置固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于上述方法实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
以上是对本申请的较佳实施进行了具体说明,但本申请并不限于所述实施例,熟悉本领域的技术人员在不违背本申请精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (15)
1.一种内容推荐方法,其特征在于,包括以下步骤:
获取目标账号标识和多个第一候选内容标识;
获取第一关系信息和第二关系信息,其中,所述第一关系信息和第二关系信息均由三阶张量分解得到,所述三阶张量由账号标识、内容标识和标签标识的三元组构成,所述第一关系信息用于表征账号标识和标签标识的关系,所述第二关系信息用于表征内容标识和标签标识的关系,所述三阶张量中的单元用于表征账号对带有标签的内容的浏览信息;
根据所述目标账号标识和第一关系信息,得到所述目标账号的第一标签特征;
根据各所述第一候选内容标识和第二关系信息,得到各第一候选内容的第二标签特征;
确定各所述第二标签特征与所述第一标签特征的第一相似度;
根据各所述第一候选内容对应的第一相似度,从多个所述第一候选内容中选择向所述目标账号推荐的目标内容。
2.根据权利要求1所述的内容推荐方法,其特征在于,所述第一关系信息由第一矩阵表示;所述第二关系信息由第二矩阵表示;所述目标账号标识由第一向量表示,所述第一候选内容标识由第二向量表示;
所述根据所述目标账号标识和第一关系信息,得到所述目标账号的第一标签特征,包括:
将所述第一向量和所述第一矩阵相乘,得到所述目标账号的所述第一标签特征;
所述根据各所述第一候选内容标识和第二关系信息,得到各第一候选内容的第二标签特征,包括:
将各所述第二向量和所述第二矩阵相乘,得到每个所述第一候选内容的所述第二标签特征。
3.根据权利要求1所述的内容推荐方法,其特征在于,所述根据各所述第一候选内容对应的第一相似度,从多个所述第一候选内容中选择向所述目标账号推荐的目标内容,包括:
选择所述第一相似度大于第一阈值的所述第一候选内容作为向所述目标账号推荐的目标内容;
或者
根据各所述第一候选内容对应的所述第一相似度,对多个所述第一候选内容进行降序排序,得到第一排序结果;
选择在所述第一排序结果中排序前若干个或者前若干比例的第一候选内容作为向所述目标账号推荐的目标内容;
或者
根据各所述第一候选内容对应的所述第一相似度,对多个所述第一候选内容进行升序排序,得到第二排序结果;
选择在所述第二排序结果中的后若干个或者后若干比例的第一候选内容作为向所述目标账号推荐的目标内容。
4.根据权利要求1所述的内容推荐方法,其特征在于,在所述根据各所述第一候选内容对应的第一相似度,从多个所述第一候选内容中选择向所述目标账号推荐的目标内容,这一步骤之前,还包括以下步骤:
获取所述目标账号的浏览记录;
根据所述浏览记录从多个所述第一候选内容中剔除所述目标账号浏览过的所述第一候选内容。
5.根据权利要求1所述的内容推荐方法,其特征在于,所述方法还包括以下步骤:
获取第二候选内容和至少一个所述目标内容,所述第二候选内容为所述三阶张量构建后产生的内容;
确定所述第二候选内容和至少一个所述目标内容的第二相似度;
当所述第二相似度大于第二阈值,将所述第二候选内容作为向所述目标账号推荐的目标内容。
6.根据权利要求1所述的内容推荐方法,其特征在于,所述方法还包括以下步骤:
根据多个所述目标内容对应的第一相似度,将多个所述目标内容进行排序,得到第一序列;
向所述第一序列中插入若干个第三候选内容,得到目标账号的推荐序列。
7.根据权利要求1-6任一项所述的内容推荐方法,其特征在于,所述浏览信息由点击次数、浏览时间长度、或者点击次数和浏览时间长度的加权结果确定。
8.一种内容推荐方法,其特征在于,包括以下步骤:
获取多个账号、各所述账号对多个候选内容的浏览信息,各所述候选内容对应的标签;
根据各所述账号、各所述账号对多个候选内容的浏览信息以及各所述候选内容对应的标签,构建由账号标识、内容标识和标签标识的三元组构成的三阶张量,所述三阶张量中的单元用于表征账号对带有标签的内容的浏览信息;
对所述三阶张量进行张量分解,得到第一关系信息和第二关系信息,所述第一关系信息用于表征账号标识和标签标识的关系,所述第二关系信息用于表征内容标识和标签标识的关系;
获取目标账号标识和多个第一候选内容标识;
根据所述目标账号标识和第一关系信息,得到所述目标账号的第一标签特征;
根据各所述第一候选内容标识和第二关系信息,得到各第一候选内容的第二标签特征;
确定各所述第二标签特征与所述第一标签特征的第一相似度;
根据各所述第一候选内容对应的第一相似度,从多个所述第一候选内容中选择向所述目标账号推荐的目标内容。
9.根据权利要求8所述的内容推荐方法,其特征在于,所述根据各所述账号、各所述账号对多个候选内容的浏览信息以及各所述候选内容对应的标签,构建由账号标识、内容标识和标签标识的三元组构成的三阶张量,包括:
对各所述账号、各所述候选内容和各所述标签进行编码,得到多个账号标识、多个候选内容标识和多个标签标识;
以所述账号标识、所述候选内容标识和所述标签标识作为所述三阶张量的三个维度;
将各账号对带有标签的内容的点击次数、浏览时间长度、或者点击次数与浏览时间长度的加权结果,映射到所述三阶张量的各单元中得到所述三阶张量。
10.根据权利要求8或9所述的内容推荐方法,其特征在于,所述获取各所述账号对多个候选内容的浏览信息,包括:
获取各所述账号对多个候选内容的原始点击信息,所述原始点击信息包括点击行为和点击行为发生的时间;
根据所述原始点击信息,得到各所述账号对多个所述候选内容的点击次数或者浏览时间长度,根据预设点击阈值对所述点击次数进行过滤,以及根据预设时间阈值对所述浏览时间进行过滤后,得到各所述账号对多个所述候选内容的浏览信息。
11.根据权利要求10所述的内容推荐方法,其特征在于,所述对所述三阶张量进行张量分解,得到第一关系信息和第二关系信息的步骤具体为:
在Hadoop分布式文件系统中对所述三阶张量进行tucker张量分解,得到用于表征账号标识和标签标识的关系的第一矩阵作为第一关系信息,以及得到用于表征内容标识和标签标识的关系的第二矩阵作为第二关系信息。
12.一种内容推荐系统,其特征在于,包括:
第一获取单元,用于获取目标账号标识和多个第一候选内容标识;
第二获取单元,用于获取第一关系信息和第二关系信息,其中,所述第一关系信息和第二关系信息均由三阶张量分解得到,所述三阶张量由账号标识、内容标识和标签标识的三元组构成,所述第一关系信息用于表征账号标识和标签标识的关系,所述第二关系信息用于表征内容标识和标签标识的关系,所述三阶张量中的单元用于表征账号对带有标签的内容的点击次数、浏览时间长度,或者点击次数与浏览时间长度的加权结果;
第一特征提取单元,用于根据所述目标账号标识和第一关系信息,得到所述目标账号的第一标签特征;
第二特征提取单元,用于根据各所述第一候选内容标识和第二关系信息,得到各第一候选内容的第二标签特征;
第一相似度确定单元,用于确定各所述第二标签特征与第一标签特征的第一相似度;
第一内容选择单元,用于根据各所述第一候选内容对应的第一相似度,从多个所述第一候选内容中选择向所述目标账号推荐的目标内容。
13.一种内容推荐系统,其特征在于,包括:
第三获取单元,用于获取多个账号、各所述账号对多个候选内容的浏览信息,各所述候选内容对应的标签;
张量构建单元,用于根据各所述账号、各所述账号对多个候选内容的浏览信息以及各所述候选内容对应的标签,构建由账号标识、内容标识和标签标识的三元组构成的三阶张量,所述三阶张量中的单元用于表征账号对带有标签的内容的点击次数、浏览时间长度、或者点击次数与浏览时间长度的加权结果;
张量分解单元,用于对所述三阶张量进行张量分解,得到第一关系信息和第二关系信息,所述第一关系信息用于表征账号标识和标签标识的关系,所述第二关系信息用于表征内容标识和标签标识的关系;
第四获取单元,用于获取目标账号标识和多个第一候选内容标识;
第三特征提取单元,用于根据所述目标账号标识和第一关系信息,得到所述目标账号的第一标签特征;
第四特征提取单元,用于根据各所述第一候选内容标识和第二关系信息,得到各第一候选内容的第二标签特征;
第二相似度确定单元,用于确定各所述第二标签特征与第一标签特征的第一相似度;
第二内容选择单元,用于根据各所述第一候选内容对应的第一相似度,从多个所述第一候选内容中选择向所述目标账号推荐的目标内容。
14.一种内容推荐装置,其特征在于,包括:
程序;
存储器,用于存储所述程序;
处理器,用于加载所述程序以执行如权利要求1-11任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序,当所述程序被处理器执行时实现如权利要求1-11任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011344980.9A CN112307352B (zh) | 2020-11-26 | 2020-11-26 | 内容推荐方法、系统、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011344980.9A CN112307352B (zh) | 2020-11-26 | 2020-11-26 | 内容推荐方法、系统、装置和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112307352A true CN112307352A (zh) | 2021-02-02 |
CN112307352B CN112307352B (zh) | 2023-05-26 |
Family
ID=74487730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011344980.9A Active CN112307352B (zh) | 2020-11-26 | 2020-11-26 | 内容推荐方法、系统、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112307352B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113448739A (zh) * | 2021-08-31 | 2021-09-28 | 阿里云计算有限公司 | 一种数据处理方法及装置 |
CN114723591A (zh) * | 2022-04-13 | 2022-07-08 | 北京邮电大学 | 基于增量式张量Tucker分解的教育推荐方法及系统 |
CN116186522A (zh) * | 2023-04-04 | 2023-05-30 | 石家庄学院 | 大数据核心特征提取方法、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107679242A (zh) * | 2017-10-30 | 2018-02-09 | 河海大学 | 融合多信息源耦合张量分解的标签推荐方法 |
CN107704632A (zh) * | 2017-10-31 | 2018-02-16 | 河海大学 | 基于同义词和反义词的中文标签推荐修正方法 |
CN108460489A (zh) * | 2018-03-15 | 2018-08-28 | 重庆邮电大学 | 一种基于大数据技术的用户行为分析与服务推荐框架 |
US10467504B1 (en) * | 2019-02-08 | 2019-11-05 | Adhark, Inc. | Systems, methods, and storage media for evaluating digital images |
CN111680219A (zh) * | 2020-06-09 | 2020-09-18 | 腾讯科技(深圳)有限公司 | 内容推荐方法、装置、设备及可读存储介质 |
-
2020
- 2020-11-26 CN CN202011344980.9A patent/CN112307352B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107679242A (zh) * | 2017-10-30 | 2018-02-09 | 河海大学 | 融合多信息源耦合张量分解的标签推荐方法 |
CN107704632A (zh) * | 2017-10-31 | 2018-02-16 | 河海大学 | 基于同义词和反义词的中文标签推荐修正方法 |
CN108460489A (zh) * | 2018-03-15 | 2018-08-28 | 重庆邮电大学 | 一种基于大数据技术的用户行为分析与服务推荐框架 |
US10467504B1 (en) * | 2019-02-08 | 2019-11-05 | Adhark, Inc. | Systems, methods, and storage media for evaluating digital images |
CN111680219A (zh) * | 2020-06-09 | 2020-09-18 | 腾讯科技(深圳)有限公司 | 内容推荐方法、装置、设备及可读存储介质 |
Non-Patent Citations (2)
Title |
---|
刘健;张琨;陈旋;: "基于标签和协同过滤的个性化推荐算法", 计算机与现代化 * |
李贵;王爽;李征宇;韩子扬;孙平;孙焕良;: "基于张量分解的个性化标签推荐算法", 计算机科学 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113448739A (zh) * | 2021-08-31 | 2021-09-28 | 阿里云计算有限公司 | 一种数据处理方法及装置 |
CN113448739B (zh) * | 2021-08-31 | 2022-02-11 | 阿里云计算有限公司 | 一种数据处理方法及装置 |
CN114723591A (zh) * | 2022-04-13 | 2022-07-08 | 北京邮电大学 | 基于增量式张量Tucker分解的教育推荐方法及系统 |
CN114723591B (zh) * | 2022-04-13 | 2023-10-20 | 北京邮电大学 | 基于增量式张量Tucker分解的教育推荐方法及系统 |
CN116186522A (zh) * | 2023-04-04 | 2023-05-30 | 石家庄学院 | 大数据核心特征提取方法、电子设备及存储介质 |
CN116186522B (zh) * | 2023-04-04 | 2023-07-18 | 石家庄学院 | 大数据核心特征提取方法、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112307352B (zh) | 2023-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112307352B (zh) | 内容推荐方法、系统、装置和存储介质 | |
US11899681B2 (en) | Knowledge graph building method, electronic apparatus and non-transitory computer readable storage medium | |
US11341186B2 (en) | Cognitive video and audio search aggregation | |
CN106250464B (zh) | 排序模型的训练方法及装置 | |
CN105446973A (zh) | 社交网络中用户推荐模型的建立及应用方法和装置 | |
US20220147878A1 (en) | Method for approximate k-nearest-neighbor search on parallel hardware accelerators | |
CN111291191B (zh) | 一种广电知识图谱构建方法及装置 | |
CN112287238B (zh) | 用户特征的确定方法和装置、存储介质及电子设备 | |
CN112148975A (zh) | 会话推荐方法、装置及设备 | |
CN113657087B (zh) | 信息的匹配方法及装置 | |
CN117836765A (zh) | 基于多模态超图的点击预测 | |
CN110889036A (zh) | 一种多维度信息的处理方法、装置及终端设备 | |
CN110706055A (zh) | 商品信息推送方法及装置、存储介质、计算机设备 | |
CN111339406A (zh) | 个性化推荐方法、装置、设备及存储介质 | |
CN111429161B (zh) | 特征提取方法、特征提取装置、存储介质及电子设备 | |
CN111949886A (zh) | 一种用于信息推荐的样本数据生成方法和相关装置 | |
CN117271818B (zh) | 视觉问答方法、系统、电子设备及存储介质 | |
CN110569446A (zh) | 一种构建推荐对象候选集的方法和系统 | |
EP4209928A2 (en) | Method, apparatus and system for processing makeup, electronic device and storage medium | |
CN116956183A (zh) | 多媒体资源推荐方法、模型训练方法、装置及存储介质 | |
CN111488386A (zh) | 数据查询方法和装置 | |
CN116186541A (zh) | 一种推荐模型的训练方法及装置 | |
CN111507788A (zh) | 数据推荐方法、装置、存储介质及处理器 | |
CN116205686A (zh) | 一种多媒体资源推荐的方法、装置、设备和存储介质 | |
CN114265948A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40037948 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |