CN110309405B - 一种项目推荐方法、装置及存储介质 - Google Patents
一种项目推荐方法、装置及存储介质 Download PDFInfo
- Publication number
- CN110309405B CN110309405B CN201810191960.9A CN201810191960A CN110309405B CN 110309405 B CN110309405 B CN 110309405B CN 201810191960 A CN201810191960 A CN 201810191960A CN 110309405 B CN110309405 B CN 110309405B
- Authority
- CN
- China
- Prior art keywords
- item
- user
- feature
- vector
- candidate
- 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
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
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
技术领域
本发明实施例涉及互联网技术领域,特别是涉及一种项目推荐方法、装置及存储介质。
背景技术
随着互联网技术的发展,越来越多的用户通过互联网获取感兴趣的项目(item),例如:文章、资讯、物品等,为提高用户粘性,项目提供商通常会向用户推荐用户可能感兴趣的项目,而如何确定用户可能感兴趣的项目并向用户推荐该项目,成为技术人员研究的一个重要问题。
目前的推荐系统,解决用户兴趣类项目的推荐问题,通常有两类方法:
第一类:基于用户的协同过滤(user-based Collaborative Filtering,简称UserCF)算法,该方法的基本思想是基于用户对项目的偏好,找到与当前用户具有相似喜好的邻居用户,然后将邻居用户喜欢的项目推荐给当前用户。比如,对于用户A,根据用户A的历史偏好,计算得到一个邻居用户C,然后将邻居用户C喜欢的物品2推荐给用户A。
第二类:基于内容的协同过滤(Item-based Collaborative Filtering,简称ItemCF)算法,该方法的基本思想基于用户对项目的偏好,找到与当前用户偏好的项目相似的项目,推荐相似的项目给当前用户。比如:对于物品1,根据所有用户的历史偏好得知,喜欢物品1的用户都喜欢物品2,得出物品1和物品2比较相似,而用户C喜欢物品1,那么可以推断出用户C可能也喜欢物品2,将物品2推荐给用户C。
User CF算法需要基于用户的点击或投票结果,建立用户(user)与项目的评分矩阵,由于用户的量通常比较大,导致矩阵计算规模巨大,训练过程需要花费很大的代价;Item CF算法中,由于项目的量通常不会很大,比较方便计算,但Item CF算法需要多维度刻画项目的语义,才能得到较好的推荐效果,这就需要完成大量特征工程工作,复杂性高,调优困难。
发明内容
本发明实施例提供了一种项目推荐方法、装置及存储介质,能够降低算法复杂度,提高推荐的准确性。
本发明实施例提供的项目推荐方法,包括:
从当前用户感兴趣的项目中提取项目特征;
对提取的项目特征进行扩展,得到目标特征;
根据所述目标特征拉取项目,得到候选项目;
从所述当前用户的用户画像中提取用户标签;
根据提取的用户标签及所述候选项目的项目特征计算所述当前用户与所述候选项目的相似度;
根据所述当前用户与所述候选项目的相似度,从所述候选项目中选取推荐的目标项目。
本发明根据所述当前用户与所述候选项目的相似度,从所述候选项目中选取推荐的目标项目实施例提供的项目推荐装置,包括:
第一提取单元,用于从当前用户感兴趣的项目中提取项目特征;以及从所述当前用户的用户画像中提取用户标签;
扩展单元,用于对提取的项目特征进行扩展,得到目标特征;
拉取单元,用于根据所述目标特征拉取项目,得到候选项目;
计算单元,用于根据提取的用户标签及所述候选项目的项目特征,计算所述当前用户与所述候选项目的相似度;
选取单元,用于根据所述当前用户与所述候选项目的相似度,从所述候选项目中选取推荐的目标项目。
本发明实施例还提供了一种存储介质,所述存储介质用于储存多条指令,所述指令适于由处理器加载并执行本发明施例提供的项目推荐方法。
本发明实施例中,当需要对当前用户推荐项目时,首先从当前用户感兴趣的项目中提取项目特征,对提取的项目特征进行扩展,得到目标特征,根据所述目标特征拉取项目,得到候选项目,然后从所述当前用户的用户画像中提取用户标签,根据提取的用户标签及所述候选项目的项目特征计算所述当前用户与所述候选项目的相似度;根据所述当前用户与所述候选项目的相似度,从所述候选项目中选取推荐的目标项目,向当前用户推荐该目标项目。即本发明实施例中,将用户画像化,用户泛化为用户标签,将项目特征化,项目泛化为项目特征;通过用户标签刻画用户,用户可以被任意用户标签组合得到,刻画精准,实现了千人千面;通过项目特征刻画项目,将多变的项目刻画到有限的特征维度,实现了降维作用,降低了算法复杂度;结合用户标签和项目特征,选出与用户相似的候选项目,得到推荐的目标项目,提高了推荐的准确性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例所提供的项目推荐系统的场景示意图。
图2是本发明实施例所提供的项目推荐方法的流程示意图。
图3是本发明实施例异构网络的建立方法示意图。
图4是本发明实施例基于知识图谱获取异构关系数据的方法示意图。
图5是本发明实施例所提供的向量映射原理示意图。
图6是本发明实施例所提供的项目推荐方法的另一流程示意图。
图7是本发明实施例所提供的项目推荐装置的结构示意图。
图8是本发明实施例所提供的项目推荐装置的另一结构示意图。
图9是本发明实施例所提供的服务器的结构示意图。
具体实施方式
请参照图式,其中相同的组件符号代表相同的组件,本申请的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本申请具体实施例,其不应被视为限制本申请未在此详述的其它具体实施例。
在以下的说明中,本申请的具体实施例将参考由一部或多部计算机所执行的步骤及符号来说明,除非另有述明。因此,这些步骤及操作将有数次提到由计算机执行,本文所指的计算机执行包括了由代表了以一结构化型式中的数据的电子信号的计算机处理单元的操作。此操作转换该数据或将其维持在该计算机的内存系统中的位置处,其可重新配置或另外以本领域测试人员所熟知的方式来改变该计算机的运作。该数据所维持的数据结构为该内存的实体位置,其具有由该数据格式所定义的特定特性。但是,本申请原理以上述文字来说明,其并不代表为一种限制,本领域测试人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。
本文所使用的术语“模块”可看做为在该运算系统上执行的软件对象。本文所述的不同组件、模块、引擎及服务可看做为在该运算系统上的实施对象。而本文所述的装置及方法可以以软件的方式进行实施,当然也可在硬件上进行实施,均在本申请保护范围之内。
本申请中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或模块的过程、方法、系统、产品或设备没有限定于已列出的步骤或模块,而是某些实施例还包括没有列出的步骤或模块,或某些实施例还包括对于这些过程、方法、产品或设备固有的其它步骤或模块。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
请参阅图1,图1是本发明实施例的项目推荐系统的场景示意图,该项目推荐系统中可以包括项目推荐装置,该项目推荐装置具体可以集成在服务器中。当需要对当前用户推荐项目时,服务器可以从终端获取当前用户的历史行为记录,根据该历史行为记录得到当前用户感兴趣的项目;本实施例所提及的项目,可以包括但不限于文章、资讯、物品等;比如,当项目为文章、资讯时,当前用户感兴趣的项目可以是当前用户阅读、浏览过的文章、资讯;当项目为物品时,当前用户感兴趣的项目,可以是当前用户关注、收藏或购买过的物品。服务器可以从当前用户感兴趣的项目中提取项目特征,比如,当项目为文章、资讯时,该项目特征可以是文章、资讯中的实体词、关键词等;当项目为物品时,该项目特征可以是物品描述中的关键词等。在提取项目特征之后,服务器可以对提取的项目特征进行扩展,得到目标特征,该目标特征可以是与提取的项目特征相似度较高的若干项目特征;服务器以目标特征为关键词拉取项目,得到候选项目。
在得到候选项目之后,服务器可以从当前用户的用户画像中提取用户标签,用户标签是构成用户画像的用户特征,根据提取的用户标签及所述候选项目的项目特征,计算当前用户与候选项目的相似度,根据当前用户与候选项目的相似度,从候选项目中选取推荐的目标项目。比如,可以从候选项目中,选取与当前用户相似度较高的若干候选项目,作为目标项目,向当前用户推荐目标项目。
此外,项目推荐系统中还可以包括终端,该终端可以包括平板电脑、手机、笔记本电脑、以及台式电脑等具备存储单元并安装有处理器而具有运算能力的终端,该终端主要用于将用户的历史行为记录上报给服务器,以及接收服务器推荐的项目。
需要说明的是,图1所示的项目推荐系统的场景示意图仅仅是一个示例,本发明实施例描述的项目推荐系统及场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着项目推荐系统的演变和新业务场景的出现,本发明实施例的技术方案对于类似的技术问题,同样适用。
以下分别进行详细说明。
本实施例将从项目推荐装置的角度进行描述,该项目推荐装置具体可以集成在服务器中。
一种项目推荐方法,包括:从当前用户感兴趣的项目中提取项目特征;对提取的项目特征进行扩展,得到目标特征;根据所述目标特征拉取项目,得到候选项目;从所述当前用户的用户画像中提取用户标签;根据提取的用户标签及所述候选项目的项目特征计算所述当前用户与所述候选项目的相似度;根据所述当前用户与所述候选项目的相似度,从所述候选项目中选取推荐的目标项目。
请参阅图2,图2是本发明实施例项目推荐方法的一个流程示意图,该项目推荐方法包括以下步骤:
步骤101、从当前用户感兴趣的项目中提取项目特征。
具体地,可以预先获取当前用户的历史行为记录,该历史行为记录可以是当前用户的历史阅读记录、历史交易记录、历史交互记录等,根据当前用户的历史行为记录得到当前用户感兴趣的项目。
本实施例所提及的项目,包括但不限于文章、资讯、物品等;比如,当项目为文章、资讯时,当前用户感兴趣的项目可以是当前用户阅读、浏览过的文章、资讯;当项目为物品时,当前用户感兴趣的项目,可以是当前用户关注、收藏或购买过的物品。
从项目中提取的项目特征,可以是用来描述项目的特点、功能等的词。比如,当项目为文章、资讯时,该项目特征可以是文章、资讯中的实体词、关键词等;当项目为物品时,该项目特征可以是物品描述中的关键词等。
步骤102、对提取的项目特征进行扩展,得到目标特征。
扩展的目的,是从候选的项目特征中找出与提取的项目特征最相似的项目特征,比如,可以通过相似度的计算,找出与提取的项目特征最相似的若干项目特征,将找到的项目特征作为目标特征。
步骤103,根据所述目标特征拉取项目,得到候选项目。
比如,可以以该目标特征为关键词,搜索项目,得到候选项目。
步骤104,从所述当前用户的用户画像中提取用户标签。
具体地,可以预先对当前用户的网络行为数据(比如,网络注册数据、网页浏览数据、社交数据等)进行分析,得到当前用户的性别、年龄、学历、职业、爱好等特征,根据得到的特征为当前用户构建用户画像,用户画像中的这些用户特征即为用户标签。
步骤105、根据提取的用户标签及所述候选项目的项目特征计算所述当前用户与所述候选项目的相似度。
具体地,可以用当前用户的所有用户标签来代表当前用户,用候选项目中的所有项目特征来代表候选项目,通过用户标签与项目特征之间的相似度计算,得到当前用户和候选项目之间的相似度。
步骤106、根据所述当前用户与所述候选项目的相似度,从所述候选项目中选取推荐的目标项目。
比如,可以按照相似度从高到低的顺序对候选项目排序,选取排序靠前的若干候选项目,作为推荐的目标项目。
本实施例中,将用户画像化,用户泛化为用户标签,将项目特征化,项目泛化为项目特征,而用户标签与项目特征是两个不同维度(用户维度和项目维度)的信息,属于异构信息,为便于进行计算,可以将用户标签、项目特征这样的异构信息向量化(embedding)并同视为网络中的图节点,以得到异构网络,即在执行本实施例的方法之前,可以先构建异构网络,异构网络的构建过程可如图3所示,包括以下步骤:
步骤201、从样本用户的用户画像中提取用户标签。
这里的样本用户指的是,大数据系统中具有某一特定使用目的全部用户或部分用户。比如,当推荐项目为资讯时,资讯应用的全部或部分用户可以为样本用户;再比如,当推荐项目为物品时,购物应用上的全部或部分用户可以为样本用户。
用户标签是构成用户画像的用户特征,通常来说,一个用户的用户画像中会具有多个用户标签,不同的样本用户,用户画像中可以具有相同或不同的用户标签。具体地,例如,样本用户数量为N,样本用户用U表示,用户标签用P表示,则从样本用户的用户画像中提取的用户标签可如表1所示方式进行存储:
样本用户 | 用户标签 |
U<sub>1</sub> | P<sub>11</sub>,P<sub>12</sub>,P<sub>13</sub>…… |
U<sub>2</sub> | P<sub>21,</sub>P<sub>22</sub>,P<sub>23</sub>…… |
…… | …… |
U<sub>N</sub> | P<sub>N1</sub>,P<sub>N2</sub>,P<sub>N3</sub>…… |
表1
步骤202、从所述样本用户感兴趣的项目中提取项目特征。
本实施例中,可以获取样本用户的历史行为记录,比如可以获取样本用户在过去预设时长(比如,三个月、六个月)内的阅读记录、交互记录、购物记录等,根据样本用户的历史行为记录确定样本用户感兴趣的项目。比如,当项目为文章、资讯时,样本用户感兴趣的项目可以是样本用户阅读过的文章、浏览过的资讯;当项目为物品时,样本用户感兴趣的项目,可以是样本用户关注、收藏或购买过的物品。
从项目中提取的项目特征,可以是用来描述项目的特点、功能等的词。比如,当项目为文章、资讯时,该项目特征可以是文章、资讯中的实体词、关键词等;当项目为物品时,该项目特征可以是物品描述中的关键词等。
例如,根据历史行为记录得到某样本用户感兴趣的项目有M个,项目用item表示,项目中的项目特征用TAG表示,则从每个项目中提取的项目特征可如表2所示方式进行存储:
项目 | 项目特征 |
item<sub>1</sub> | TAG<sub>11</sub>,TAG<sub>12</sub>,TAG<sub>13</sub>…… |
item<sub>2</sub> | TAG<sub>21</sub>,TAG<sub>22</sub>,TAG<sub>23</sub>…… |
…… | …… |
item<sub>M</sub> | TAG<sub>M1</sub>,TAG<sub>M2</sub>,TAG<sub>M3</sub>…… |
表2
步骤203、将所述样本用户的用户画像中的用户标签与对应样本用户感兴趣的项目中的项目特征关联起来,并整理出每个项目特征关联的用户标签。
即将同一样本用户的用户画像中的用户标签,与该样本用户感兴趣的项目中的项目特征关联起来,根据得到的所有关联关系,将同一项目特征关联的所有用户标签合并在一起,得到每个项目特征关联的用户标签,因此,一个项目特征关联的所有用户标签,可以是一个样本用户的,也可以是多个样本用户的。
以样本用户包括样本用户U1、样本用户U2为例;假如,样本用户U1的用户标签包括<P11,P12>,样本用户U1感兴趣的项目包括item1,而item1的项目特征为<TAG11,TAG12>,则将样本用户U1的用户标签和样本用户U1感兴趣的项目的项目特征关联起来后如下:
<U1<P11,P12>,{item1<TAG11,TAG12>}>;
假如,样本用户U2的用户标签包括<P12,P13>,样本用户U2感兴趣的项目包括item2,item2的项目特征为<TAG21,TAG22>,则将样本用户U2的用户标签和样本用户U2感兴趣的项目的项目特征关联起来后如下:
<U2<P12,P13>,{item2<TAG21,TAG22>}>。
根据上述关联关系整理出每个项目特征关联的用户标签,得到:
TAG11<P11,P12>,TAG12<P11,P12>;
TAG21<P12,P13>,TAG22<P12,P13>。
步骤204、根据知识图谱中的项目特征、关系的三元组<第一项目特征,关系,第二项目特征>,获取所述第一项目特征关联的用户标签与所述第二项目特征关联的用户标签之间的关系。
知识图谱(Knowledge Graph,KG),又称为科学知识图谱,在图书情报界称为知识域可视化或知识领域映射地图,是显示知识发展进程与结构关系的一系列各种不同的图形,用可视化技术描述知识资源及其载体,挖掘、分析、构建、绘制和显示知识及它们之间的相互联系。
知识图谱由图谱节点(即实体词)与图谱节点关系(即关系)组成,关系为连接图谱中实体词之间的一组或一个关系词,例如:母女关系,同事关系,队友关系,合伙人关系等。
知识图谱中包含大量的词关系数据,通常以三元组表示,比如<entity1,relation,entyt2>,表示实体1(entity1)与实体2(entity2)之间具有(关系)relation,例如:<姚明,夫妻,叶丽>,其中,姚明,叶丽为实体词,关系词为:夫妻。
具体在本实施例中,可以将项目的项目特征作为知识图谱中的实体词,根据知识图谱获取项目特征之间的关系,即获取项目特征、关系的三元组<第一项目特征,关系,第二项目特征>,其中,第一项目特征可以是任意一个项目特征,第二项目特征是与第一项目特征具有所述“关系”的项目特征,然后根据知识图谱中的关系,获取所述第一项目特征关联的用户标签与所述第二项目特征关联的用户标签之间的关系。在一个具体的实施例中,根据知识图谱获取的关联关系可如图4所示,在图4中,用户标签1同时关联了第一项目特征和第二项目特征。
比如,在上面的例子中,假如知识图谱中存在的三元组为<TAG11,relation1,TAG22>以及<TAG12,relation2,TAG21>,则根据此关系可获得如下两组关系:
第一组:TAG11<P11,P12>-relation1-TAG22<P12,P13>;
第二组:TAG12<P11,P12>-relation2-TAG21<P12,P13>。
步骤205、从获取的关系中提取与所述第一项目特征和所述第二项目特征均关联的用户标签,利用提取的用户标签替换对应项目特征、关系的三元组中的关系,得到项目特征、用户标签的三元组<第一项目特征,用户标签,第二项目特征>。
比如,在上面的例子中,在得到的第一组关系中,用户标签P12同时关联了项目特征TAG11和TAG22,则利用P12替换TAG11和TAG22所在的三元组中的关系relation1后,可以得到如下三元组:
<TAG11,P12,TAG22>;
在得到的第二组关系中,用户标签P12同时关联了项目特征TAG12和TAG21,则利用P12替换TAG12和TAG21所在的三元组中的关系relation2后,可以得到如下三元组::
<TAG12,P12,TAG21>。
上面所得到的项目特征、用户标签的三元组,即为异构关系数据。
本实施例中,通过知识图谱中的优质先验信息,得到项目特征、用户标签的三元组,利用该三元组刻画项目特征、用户标签之间的关系,能够保证项目特征、用户标签语义的可靠性,且能够保证关系的可靠性。
步骤206、定义优化目标:第一特征向量+标签向量=第二特征向量
其中,所述第一特征向量为所述第一项目特征的向量,所述标签向量为所述用户标签的向量,所述第二特征向量为所述第二项目特征的向量。
即优化三元组关系为求和关系,保证第一项目特征的向量与用户标签的向量之和,逼近第二项目特征的向量。比如,当三元组为<TAG1,P,TAG2>,优化目标为TAG-F1+P-F=TAG-F2,其中TAG-F1表示TAG1的向量,P-F表示P的向量,TAG-F2表示TAG2的向量。
步骤207、将所述第一特征向量、所述标签向量以及所述第二特征向量映射至同一向量空间。
由于特征向量和标签向量属于不同的向量空间,因此,需要将二者映射至同一向量空间。具体地,可以将特征向量映射至标签向量所在的向量空间,也可以将标签向量映射至特征向量所在的向量空间。
以将特征向量映射至标签向量所在的向量空间为例,如图5所示,比如,特征向量所在的向量空间为图5中的W1、W2空间,标签向量所在的向量空间为图5中的Q空间,二者属于不同空间内的向量,因此,可以引入转移向量M,将特征向量映射至标签向量所在的向量空间。
比如,在上面的例子中,特征向量TAG-F1映射至标签向量P-F所在的向量空间之后得到的向量为T1,则:
T1=TAG-F1-MTTAG-F1M;其中,MT为M的转置向量;
特征向量TAG-F2映射至标签向量P-F所在的向量空间之后得到的向量为T2,则:
T2=TAG-F2-MT TAG-F2M。
步骤208、通过评价函数将映射得到的向量关联起来,并最小化所述评价函数,达到所述优化目标,得到所述第一特征向量、所述标签向量和所述第二特征向量。
具体实现中,可以建立评价函数 并进行训练,初始时,可以将TAG-F1、TAG-F2、M向量随机初始化,然后采用预设算法(例如:随机梯度下降法、随机游走法等)进行迭代训练,直至评价函数最小(比如,小于预设数值)时,达到所述优化目标,得到特征向量TAG-F1、TAG-F2、和标签向量P-F。
在得到所有的特征向量和标签向量之后,将所有的特征向量和标签向量在网络中表示出来,得到所述异构网络,即所述异构网络中为所有用户标签、项目特征的向量表示。
本实施例中,将用户和项目各自泛化后训练,用户不再是以独立个体参与计算,实现了降维作用,通过一次训练,同时得到用户标签和项目特征两个维度的数据,提高了训练效率,降低了训练成本。
另外,将项目用项目特征刻画,在语义空间,项目特征通常变化较慢、较少、使得异构网络无需频繁更新。
在得到异构网络之后,对从当前用户感兴趣的项目中提取的项目特征进行扩展,得到目标特征的方法可如下:
(1)从所述异构网络中获取所述提取的项目特征的特征向量,并从所述异构网络中获取候选的项目特征的特征向量。
候选的项目特征,可以来自异构网络,可以是异构网络中用向量表示的、除所述提取的项目特征以外的其他项目特征。
(2)根据所述提取的项目特征的特征向量以及所述候选的项目特征的特征向量,计算所述候选的项目特征与所述提取的项目特征之间的相似度
两个向量之间相似度的计算方法,例如可以采用欧氏距离、曼哈顿距离、夹角余弦等算法,此处不做具体限定。
(3)根据所述候选的项目特征与所述提取的项目特征之间的相似度,从所述候选的项目特征中选取所述目标特征。
比如,可以通过向量相似度的计算,找出与提取的项目特征最相似的若干项目特征,或者,找出相似度大于预设值的项目特征,将找到的项目特征作为目标特征。
另外,在得到异构网络之后,根据从当前用户的用户画像中提取的用户标签及所述候选项目的项目特征,计算所述当前用户与所述候选项目的相似度的方法可如下:
(1)从所述异构网络中获取所述提取的用户标签的标签向量,以及从所述异构网络中获取所述候选项目的项目特征的特征向量;
(2)根据所述提取的用户标签的标签向量计算所述当前用户的用户向量,所述当前用户的用户向量为所述提取的用户标签的标签向量之和;
即利用当前用户的用户画像中的用户标签的标签向量之和,来表示当前用户。
(3)根据所述候选项目的项目特征的特征向量计算所述候选项目的项目向量,所述候选项目的项目向量为所述候选项目的项目特征的特征向量之和;
即利用每个候选项目中的项目特征的特征向量之和,来表示对应候选项目。
(4)根据所述当前用户的用户向量和所述候选项目的项目向量,计算所述当前用户和所述候选项目的相似度。
即计算所述当前用户的用户向量和所述候选项目的项目向量之间的相似度,利用计算得到的相似度来表示当前用户和候选项目的相似度。
在计算得到当前用户与候选项目的相似度之后,可以从所述候选项目中选取推荐的目标项目,例如,选取相似度较高的预设数量的候选项目,或者选取相似度大于预设数值的候选项目,将选取的候选项目作为目标项目,目标项目为计算得到的当前用户可能感兴趣的项目。
进一步地,可以对选取的目标项目进行排序之后,将目标项目推荐给当前用户,即选出目标项目之后,还可以包括以下步骤:
(1)将所述提取的用户标签的标签向量和所述目标项目的项目特征的特征向量输入至点击通过率CRT模型进行预测,得到所述目标项目的点击率预测值。
点击通过率(Click-Through-Rate,CRT),是互联网广告常用的术语,指网络广告(图片广告/文字广告/关键词广告/排名广告/视频广告等)的点击到达率,即该广告的实际点击次数(严格的来说,可以是到达目标页面的数量)除以广告的展现量(Show content)。CTR是衡量互联网广告效果的一项重要指标。
具体在本实施例中,可预先收集训练数据,训练数据可以包括大量样本用户的用户标签的标签向量,以及大量样本项目的项目特征的特征向量,通过机器学习模型对训练数据进行学习,得到CRT模型,CRT模型的输出为具有某些用户标签的用户对具有某些项目特征的项目的点击率。
当需要对目标项目进行预测时,可以将当前用户的用户标签的标签向量和目标项目的项目特征的特征向量输入至训练好的CRT模型,模型输出即为当前用户对每个目标项目的可能点击概率(即点击率预测值)。
(2)根据所述目标项目的点击率预测值将所述目标项目排序后推荐给所述当前用户。
比如,可以将目标项目按照点击率预测值从大到小的顺序排序后推荐给当前用户。
比如,可以在当前用户开启对应的应用,例如资讯应用、购物应用,或者在对应应用界面进行刷新时,将目标项目推荐给当前用户。
本实施例中,当需要对当前用户推荐项目时,首先从当前用户感兴趣的项目中提取项目特征,对提取的项目特征进行扩展,得到目标特征,根据所述目标特征拉取项目,得到候选项目,然后从所述当前用户的用户画像中提取用户标签,根据提取的用户标签及所述候选项目的项目特征计算所述当前用户与所述候选项目的相似度;根据所述当前用户与所述候选项目的相似度,从所述候选项目中选取推荐的目标项目,向当前用户推荐该目标项目。即本实施例中,将用户画像化,用户泛化为用户标签,将项目特征化,项目泛化为项目特征;通过用户标签刻画用户,用户可以被任意用户标签组合得到,刻画精准,实现了千人千面;通过项目特征刻画项目,将多变的项目刻画到有限的特征维度,实现了降维作用,降低了复杂度;结合用户标签和项目特征,选出与用户相似的候选项目,得到推荐的目标项目,提高了推荐的准确性。
下面以向用户A推荐文章为例,详细描述本发明实施例提供的项目推荐方法,如图6所示,本实施例的项目推荐方法包括以下步骤:
步骤301、从用户A感兴趣的文章中提取文章特征。
具体地,可以从终端收集用户A的历史阅读记录,找出用户A阅读过的文章,将用户A阅读过的文章,作为用户A感兴趣的文章,从用户A感兴趣的文章中提取文章特征,该文章特征可以是文章中的关键词(tag)、实体词(entity)等。该关键词可以是表示文章核心内容的一组词;该实体词也称命名实体,所谓命名实体可以指人名、机构名、地名以及其他所有以名称为标识的实体,更广泛的实体还包括数字、日期、货币、地址等。
在一个具体的例子中,从文章中提取的文章特征可以表示为<docid,{TAG/ENTITY}>,例如,<docN,{机器学习,腾讯,微信}>,表示从文章N中提取的文章特征为:机器学习,腾讯,微信。
步骤302、对提取的文章特征进行扩展,得到目标特征。
具体地,可以从异构网络中获取提取的文章特征的特征向量,并从所述异构网络中获取候选的文章特征的特征向量,异构网络中用向量表示的文章特征,除提取的文章特征之外,其他的文章特征都可以作为候选的文章特征,根据提取的文章特征的特征向量与候选的文章特征的特征向量,计算提取的文章特征与候选的文章特征的相似度,根据相似度从候选的文章特征中选取所述目标特征。
比如,从用户A感兴趣的文章中提取的文章特征为TAG1、TAG2,通过向量的相似度计算,与TAG1最相似是TAG11和TAG12,与TAG2最相似的是TAG21,则对TAG1扩展后得到的目标特征为TAG11和TAG12,对TAG2扩展后得到的目标特征为TAG21。
步骤303、根据所述目标特征拉取文章,得到候选文章。
具体地,可以以目标特征为关键词,在线搜索文章,得到候选文章。在上面的例子中,即可以以TAG11、TAG12和TAG21为关键词,在线搜索文章,得到候选文章。
步骤304、从用户A的用户画像中提取用户标签。
用户标签是构成用户画像的用户特征,在一个具体的例子中,从用户的用户画像中提取的用户标签可以表示为<Uid,P1,P2……>,例如,<UN,性别:男,年龄:29,学历:本科,职业:IT工程师,爱好:篮球……>。
步骤305、从异构网络中获取所提取的用户标签的标签向量,以及从异构网络中获取所述候选文章的文章特征的特征向量。
即从异构网络中获取用户A的用户画像中的每个用户标签的标签向量,以及从异构网络中获取候选文章的每个文章特征的特征向量。
步骤306、根据所述提取的用户标签的标签向量计算用户A的用户向量,用户A的用户向量为所述提取的用户标签的标签向量之和。
比如,从用户A的用户画像中提取的用户标签为<UA,P1,P2>,P1的标签向量为P-F1,P2的标签向量为P-F2,则用户A的用户向量为P-F1+P-F2。
步骤307、根据所述候选文章的文章特征的特征向量计算所述候选文章的文章向量,所述候选文章的文章向量为所述候选文章的文章特征的特征向量之和。
比如,以TAG11、TAG12和TAG21为关键词拉取文章,得到的候选文章有doc1和doc2,其中doc1中包括2个文章特征:TAG11和TAG12,doc2中包括1个文章特征:TAG21,TAG11在异构网络中的特征向量为TAG-F11,TAG12在异构网络中的特征向量为TAG-F12,TAG21在异构网络中的特征向量为TAG–F21,则doc1的文章向量可以表示为:TAG-F11+TAG-F12,doc2的文章向量可以表示为:TAG–F21。
步骤308、根据用户A的用户向量和所述候选文章的文章向量,计算用户A和所述候选文章的相似度。
具体地,可以计算用户A的用户向量和各个候选文章的文章向量之间的相似度,将用户A的用户向量和各个候选文章的文章向量之间的相似度,作为用户A和对应候选文章的相似度。
在上面的例子中,即计算用户A的用户向量与doc1的文章向量的相似度,即P-F1+P-F2与TAG-F11+TAG-F12的相似度,将该相似度作为用户A和doc1的相似度;以及计算用户A的用户向量与doc2的文章向量的相似度,即P-F1+P-F2与TAG–F21的相似度,将该相似度作为用户A和doc2的相似度。
步骤309、根据用户A与所述候选文章的相似度,从所述候选文章中选取推荐的目标文章。
比如,当候选文章数量较多时,可以按照相似度从大到小的顺序对候选文章进行排序,从候选文中选取排序靠前的预设数量的候选文章作为目标文章,或者选取相似度大于预设相似度值的候选文章作为目标文章。
步骤310、将所述提取的用户标签的标签向量和所述目标文章的文章特征的特征向量输入至点击通过率CRT模型进行预测,得到所述目标文章的点击率预测值。
比如,可以将用户A的用户标签的标签向量P-F1、P-F2以及doc1的文章特征的特征向量TAG-F11、TAG-F12输入至CRT模型,得到用户A点击doc1的概率(即doc1的点击率预测值);将用户A的用户标签的标签向量P-F1、P-F2以及doc12的文章特征的特征向量TAG–F21输入至CRT模型,得到用户A点击doc2的概率(即doc2的点击率预测值)。
步骤311、根据所述目标文章的点击率预测值将所述目标文章排序后推荐给用户A。
比如,当目标文章包括doc1和doc2,且doc1的点击率预测值大于doc2的点击率预测值时,可以将doc1排在doc2的前面推荐给用户A。
本实施例中,当需要对当前用户推荐项目时,首先从当前用户感兴趣的项目中提取项目特征,对提取的项目特征进行扩展,得到目标特征,根据所述目标特征拉取项目,得到候选项目,然后从所述当前用户的用户画像中提取用户标签,根据提取的用户标签及所述候选项目的项目特征计算所述当前用户与所述候选项目的相似度;根据所述当前用户与所述候选项目的相似度,从所述候选项目中选取推荐的目标项目,向当前用户推荐该目标项目。即本实施例中,将用户画像化,用户泛化为用户标签,将项目特征化,项目泛化为项目特征;通过用户标签刻画用户,用户可以被任意用户标签组合得到,刻画精准,实现了千人千面;通过项目特征刻画项目,将多变的项目刻画到有限的特征维度,实现了降维作用,降低了复杂度;结合用户标签和项目特征,选出与用户相似的候选项目,得到推荐的目标项目,并将目标项目排序后推荐给当前用户,提高了推荐的准确性。
下面描述本发明实施例提供的项目推荐装置,如图7所示,本实施例的项目推荐装置包括:第一提取单元401、扩展单元402、拉取单元403、计算单元404以及选取单元405,如下:
第一提取单元401,用于从当前用户感兴趣的项目中提取项目特征;以及从所述当前用户的用户画像中提取用户标签;
扩展单元402,用于对提取的项目特征进行扩展,得到目标特征;
拉取单元403,用于根据所述目标特征拉取项目,得到候选项目;
计算单元404,用于根据提取的用户标签及所述候选项目的项目特征,计算所述当前用户与所述候选项目的相似度;
选取单元405,用于根据所述当前用户与所述候选项目的相似度,从所述候选项目中选取推荐的目标项目。
在某些实施方式中,如图8所示,所述装置还包括:
第二提取单元406,用于从样本用户的用户画像中提取用户标签;以及从所述样本用户感兴趣的项目中提取项目特征;
关系建立单元407,用于根据所述样本用户的用户画像中的用户标签和所述样本用户感兴趣的项目中的项目特征,建立异构关系数据;
训练单元408,用于对所述异构关系数据进行训练,得到异构网络。
在某些实施方式中,关系建立单元407具体用于:
将所述样本用户的用户画像中的用户标签与对应样本用户感兴趣的项目中的项目特征关联起来,并整理出每个项目特征关联的用户标签;
根据知识图谱中的项目特征、关系的三元组<第一项目特征,关系,第二项目特征>,获取所述第一项目特征关联的用户标签与所述第二项目特征关联的用户标签之间的关系;
从获取的关系中提取与所述第一项目特征和所述第二项目特征均关联的用户标签,利用提取的用户标签替换对应项目特征、关系的三元组中的关系,得到项目特征、用户标签的三元组<第一项目特征,用户标签,第二项目特征>。
在某些实施方式中,训练单元408具体用于:
将项目特征、用户标签的三元组中的所述第一项目特征、所述用户标签以及所述第二项目特征向量化并表示,得到所述异构网络。
在某些实施方式中,训练单元408具体用于:
定义优化目标:第一特征向量+标签向量=第二特征向量,所述第一特征向量为所述第一项目特征的向量,所述标签向量为所述用户标签的向量,所述第二特征向量为所述第二项目特征的向量;
将所述第一特征向量、所述标签向量以及所述第二特征向量映射至同一向量空间;
通过评价函数将映射得到的向量关联起来,并最小化所述评价函数,达到所述优化目标,得到所述第一特征向量、所述标签向量和所述第二特征向量。
在某些实施方式中,训练单元408将所述第一特征向量、所述第二特征向量映射至所述标签向量所在的向量空间;或者将所述标签向量映射至所述第一特征向量、所述第二特征向量所在的向量空间。
在某些实施方式中,如图8所示,扩展单元402包括:
第一获取子单元4021,用于从所述异构网络中获取所述提取的项目特征的特征向量,并从所述异构网络中获取候选的项目特征的特征向量;
相似度计算子单元4022,用于根据所述提取的项目特征的特征向量以及所述候选的项目特征的特征向量,计算所述候选的项目特征与所述提取的项目特征之间的相似度;
选取子单元4023,用于根据所述候选的项目特征与所述提取的项目特征之间的相似度,从所述候选的项目特征中选取所述目标特征。
在某些实施方式中,如图8所示,计算单元404包括:
第二获取子单元4041,用于从所述异构网络中获取所述提取的用户标签的标签向量,以及从所述异构网络中获取所述候选项目的项目特征的特征向量;
第一计算子单元4042,用于根据所述提取的用户标签的标签向量计算所述当前用户的用户向量,所述当前用户的用户向量为所述提取的用户标签的标签向量之和;
第二计算子单元4043,用于根据所述候选项目的项目特征的特征向量计算所述候选项目的项目向量,所述候选项目的项目向量为所述候选项目的项目特征的特征向量之和;
第三计算子单元4044,用于根据所述当前用户的用户向量和所述候选项目的项目向量,计算所述当前用户和所述候选项目的相似度。
在某些实施方式中,如图8所示,所述装置还包括:
预测单元409,用于将所述提取的用户标签的标签向量和所述目标项目的项目特征的特征向量输入至点击通过率CRT模型进行预测,得到所述目标项目的点击率预测值;
推荐单元410,用于根据所述目标项目的点击率预测值将所述目标项目排序后推荐给所述当前用户。
需要说明的是,上述实施例提供的项目推荐装置在实现项目推荐时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的项目推荐装置与项目推荐方法属于同一构思,其具体实现过程详见方法实施例,此处不再赘述。
本实施例中的装置,当需要对当前用户推荐项目时,由第一获取单元从当前用户感兴趣的项目中提取项目特征,并从所述当前用户的用户画像中提取用户标签,然后由扩展单元对提取的项目特征进行扩展,得到目标特征,拉取单元根据所述目标特征拉取项目,得到候选项目,再由计算单元根据提取的用户标签及所述候选项目的项目特征计算所述当前用户与所述候选项目的相似度,最后由选取单元根据所述当前用户与所述候选项目的相似度,从所述候选项目中选取推荐的目标项目,向当前用户推荐该目标项目。即本实施例的装置,将用户画像化,用户泛化为用户标签,将项目特征化,项目泛化为项目特征;通过用户标签刻画用户,用户可以被任意用户标签组合得到,刻画精准,实现了千人千面;通过项目特征刻画项目,将多变的项目刻画到有限的特征维度,实现了降维作用,降低了复杂度;结合用户标签和项目特征,选出与用户相似的候选项目,得到推荐的目标项目,提高了推荐的准确性。
本发明实施例还提供一种服务器,如图9所示,其示出了本发明实施例所涉及的服务器的结构示意图,具体来讲:
该服务器可以包括一个或者一个以上处理核心的处理器501、一个或一个以上计算机可读存储介质的存储器502、射频(Radio Frequency,RF)电路503、电源504、输入单元505、以及显示单元506等部件。本领域技术人员可以理解,图9中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器501是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器502内的软件程序和/或模块,以及调用存储在存储器502内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。可选的,处理器501可包括一个或多个处理核心;优选的,处理器501可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器501中。
存储器502可用于存储软件程序以及模块,处理器501通过运行存储在存储器502的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器502可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器502还可以包括存储器控制器,以提供处理器501对存储器502的访问。
RF电路503可用于收发信息过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器501处理;另外,将涉及上行的数据发送给基站。通常,RF电路503包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、低噪声放大器(LNA,Low Noise Amplifier)、双工器等。此外,RF电路503还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GSM,Global System of Mobilecommunication)、通用分组无线服务(GPRS,General Packet Radio Service)、码分多址(CDMA,Code Division Multiple Access)、宽带码分多址(WCDMA,Wideband CodeDivision Multiple Access)、长期演进(LTE,Long Term Evolution)、电子邮件、短消息服务(SMS,Short Messaging Service)等。
服务器还包括给各个部件供电的电源504(比如电池),优选的,电源504可以通过电源管理系统与处理器501逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源504还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该服务器还可包括输入单元505,该输入单元505可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元505可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接服务器。可选的,触敏表面可包括触摸检测服务器和触摸控制器两个部分。其中,触摸检测服务器检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测服务器上接收触摸信息,并将它转换成触点坐标,再送给处理器501,并能接收处理器501发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元505还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
该服务器还可包括显示单元506,该显示单元506可用于显示由用户输入的信息或提供给用户的信息以及服务器的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元506可包括显示面板,可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-EmittingDiode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器501以确定触摸事件的类型,随后处理器501根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图9中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
尽管未示出,服务器还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,服务器中的处理器501会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器502中,并由处理器501来运行存储在存储器502中的应用程序,从而实现各种功能,如下:
从当前用户感兴趣的项目中提取项目特征;
对提取的项目特征进行扩展,得到目标特征;
根据所述目标特征拉取项目,得到候选项目;
从所述当前用户的用户画像中提取用户标签;
根据提取的用户标签及所述候选项目的项目特征,计算所述当前用户与所述候选项目的相似度;
根据所述当前用户与所述候选项目的相似度,从所述候选项目中选取推荐的目标项目。
一实施例中,在从当前用户感兴趣的项目中提取项目特征之前,处理器501还用于执行以下步骤:
从样本用户的用户画像中提取用户标签;
从所述样本用户感兴趣的项目中提取项目特征;
根据所述样本用户的用户画像中的用户标签和所述样本用户感兴趣的项目中的项目特征,建立异构关系数据;
对所述异构关系数据进行训练,得到异构网络。
一实施例中,在根据所述样本用户的用户画像中的用户标签和所述样本感兴趣的项目中的项目特征,建立异构关系数据时,处理器501具体用于执行以下步骤:
将所述样本用户的用户画像中的用户标签与对应样本用户感兴趣的项目中的项目特征关联起来,并整理出每个项目特征关联的用户标签;
根据知识图谱中的项目特征、关系的三元组<第一项目特征,关系,第二项目特征>,获取所述第一项目特征关联的用户标签与所述第二项目特征关联的用户标签之间的关系;
从获取的关系中提取与所述第一项目特征和所述第二项目特征均关联的用户标签,利用提取的用户标签替换对应项目特征、关系的三元组中的关系,得到项目特征、用户标签的三元组<第一项目特征,用户标签,第二项目特征>。
一实施例中,在对所述异构关系数据进行训练,得到异构网络时,处理器501具体用于执行以下步骤:
将项目特征、用户标签的三元组中的所述第一项目特征、所述用户标签以及所述第二项目特征向量化并表示,得到所述异构网络。
一实施例中,在将项目特征、用户标签的三元组中的所述第一项目特征、所述用户标签以及所述第二项目特征向量化时,处理器501具体用于执行以下步骤:
定义优化目标:第一特征向量+标签向量=第二特征向量,所述第一特征向量为所述第一项目特征的向量,所述标签向量为所述用户标签的向量,所述第二特征向量为所述第二项目特征的向量;
将所述第一特征向量、所述标签向量以及所述第二特征向量映射至同一向量空间;
通过评价函数将映射得到的向量关联起来,并最小化所述评价函数,达到所述优化目标,得到所述第一特征向量、所述标签向量和所述第二特征向量。
一实施例中,在将所述第一特征向量、所述标签向量以及所述第二特征向量映射至同一向量空间时,处理器501具体用于执行以下步骤:
将所述第一特征向量、所述第二特征向量映射至所述标签向量所在的向量空间;或者
将所述标签向量映射至所述第一特征向量、所述第二特征向量所在的向量空间。
一实施例中,在对提取的项目特征进行扩展,得到目标特征时,处理器501具体用于执行以下步骤:
从所述异构网络中获取所述提取的项目特征的特征向量,并从所述异构网络中获取候选的项目特征的特征向量;
根据所述提取的项目特征的特征向量以及所述候选的项目特征的特征向量,计算所述候选的项目特征与所述提取的项目特征之间的相似度;
根据所述候选的项目特征与所述提取的项目特征之间的相似度,从所述候选的项目特征中选取所述目标特征。
一实施例中,在根据提取的用户标签及所述候选项目的项目特征,计算所述当前用户与所述候选项目的相似度时,处理器501具体用于执行以下步骤:
从所述异构网络中获取所述提取的用户标签的标签向量,以及从所述异构网络中获取所述候选项目的项目特征的特征向量;
根据所述提取的用户标签的标签向量计算所述当前用户的用户向量,所述当前用户的用户向量为所述提取的用户标签的标签向量之和;
根据所述候选项目的项目特征的特征向量计算所述候选项目的项目向量,所述候选项目的项目向量为所述候选项目的项目特征的特征向量之和;
根据所述当前用户的用户向量和所述候选项目的项目向量,计算所述当前用户和所述候选项目的相似度。
一实施例中,在根据所述当前用户与所述候选项目的相似度,从所述候选项目中选取推荐的目标项目之后,处理器501还用于执行以下步骤:
将所述提取的用户标签的标签向量和所述目标项目的项目特征的特征向量输入至点击通过率CRT模型进行预测,得到所述目标项目的点击率预测值;
根据所述目标项目的点击率预测值将所述目标项目排序后推荐给所述当前用户。
本实施例中,当需要对当前用户推荐项目时,首先从当前用户感兴趣的项目中提取项目特征,对提取的项目特征进行扩展,得到目标特征,根据所述目标特征拉取项目,得到候选项目,然后从所述当前用户的用户画像中提取用户标签,根据提取的用户标签及所述候选项目的项目特征计算所述当前用户与所述候选项目的相似度;根据所述当前用户与所述候选项目的相似度,从所述候选项目中选取推荐的目标项目,向当前用户推荐该目标项目。即本实施例中,将用户画像化,用户泛化为用户标签,将项目特征化,项目泛化为项目特征;通过用户标签刻画用户,用户可以被任意用户标签组合得到,刻画精准,实现了千人千面;通过项目特征刻画项目,将多变的项目刻画到有限的特征维度,实现了降维作用,降低了算法复杂度;结合用户标签和项目特征,选出与用户相似的候选项目,得到推荐的目标项目,提高了推荐的准确性。
本申请实施例还提供一种存储介质,所述存储介质存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行上述任一实施例中的项目推荐方法,比如:从当前用户感兴趣的项目中提取项目特征;对提取的项目特征进行扩展,得到目标特征;根据所述目标特征拉取项目,得到候选项目;从所述当前用户的用户画像中提取用户标签;根据提取的用户标签及所述候选项目的项目特征,计算所述当前用户与所述候选项目的相似度;根据所述当前用户与所述候选项目的相似度,从所述候选项目中选取推荐的目标项目。
在本申请实施例中,存储介质可以是磁碟、光盘、只读存储器(Read Only Memory,ROM,)、或者随机存取记忆体(Random Access Memory,RAM)等。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
需要说明的是,对本申请实施例的项目推荐方法而言,本领域普通决策人员可以理解实现本申请实施例的项目推荐方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,所述计算机程序可存储于一计算机可读取存储介质中,如存储在电子设备的存储器中,并被该电子设备内的至少一个处理器执行,在执行过程中可包括如项目推荐方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储器、随机存取记忆体等。
对本申请实施例的项目推荐装置而言,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中,所述存储介质譬如为只读存储器,磁盘或光盘等。
以上对本申请实施例所提供的一种项目推荐方法、装置及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (12)
1.一种项目推荐方法,其特征在于,包括:
获取样本用户的至少一个用户标签,以及所述样本用户感兴趣的项目的至少一个项目特征,所述项目包括文章、资讯或者物品;
将所述样本用户的用户画像中的所述用户标签与对应所述样本用户感兴趣的项目中的所述项目特征关联起来;根据得到的所有关联关系,将同一项目特征关联的所有用户标签合并在一起,整理出每个项目特征关联的用户标签;
根据知识图谱中的项目特征、关系的三元组<第一项目特征,关系,第二项目特征>,获取所述第一项目特征关联的用户标签与所述第二项目特征关联的用户标签之间的关系;
从获取的关系中提取与所述第一项目特征和所述第二项目特征均关联的用户标签,利用提取的用户标签替换对应项目特征、关系的三元组中的关系,得到项目特征、用户标签的三元组<第一项目特征,用户标签,第二项目特征>,所述项目特征、用户标签的三元组为异构关系数据,其中,所述异构关系数据中每个用户标签与两个项目特征关联,且所述两个项目特征来自于两个不同的样本用户感兴趣的项目;
对所述异构关系数据进行训练,得到异构网络,所述异构网络包括所述异构关系数据中项目特征的特征向量和用户标签的标签向量,所述特征向量和标签向量处于同一向量空间;
从当前用户感兴趣的项目中提取项目特征;对提取的所述项目特征进行扩展,得到目标特征;根据所述目标特征拉取项目,得到候选项目,获取所述候选项目的至少一个项目特征;从所述当前用户的用户画像中提取至少一个用户标签;
从所述异构网络中获取所述至少一个用户标签的标签向量以及所述至少一个项目特征的特征向量;
基于所述至少一个用户标签的标签向量及所述候选项目对应的特征向量,计算所述当前用户与所述候选项目的相似度;
根据所述当前用户与所述候选项目的相似度,从所述候选项目中选取推荐的目标项目。
2.根据权利要求1所述的项目推荐方法,其特征在于,所述对所述异构关系数据进行训练,得到异构网络,包括:
将所述项目特征、用户标签的三元组中的所述第一项目特征、所述用户标签以及所述第二项目特征向量化并表示,得到所述异构网络。
3.根据权利要求2所述的项目推荐方法,其特征在于,所述将所述项目特征、用户标签的三元组中的所述第一项目特征、所述用户标签以及所述第二项目特征向量化,包括:
定义优化目标:第一特征向量+标签向量=第二特征向量,所述第一特征向量为所述第一项目特征的向量,所述标签向量为所述用户标签的向量,所述第二特征向量为所述第二项目特征的向量;
将所述第一特征向量、所述标签向量以及所述第二特征向量映射至同一向量空间;
通过评价函数将映射得到的向量关联起来,并最小化所述评价函数,达到所述优化目标,得到所述第一特征向量、所述标签向量和所述第二特征向量。
4.根据权利要求3所述的项目推荐方法,其特征在于,所述将所述第一特征向量、所述标签向量以及所述第二特征向量映射至同一向量空间,包括:
将所述第一特征向量、所述第二特征向量映射至所述标签向量所在的向量空间;或者
将所述标签向量映射至所述第一特征向量、所述第二特征向量所在的向量空间。
5.根据权利要求4所述的项目推荐方法,其特征在于,所述对提取的所述项目特征进行扩展,得到目标特征,包括:
从所述异构网络中获取提取的项目特征的特征向量,并从所述异构网络中获取候选的项目特征的特征向量;
根据所述提取的项目特征的特征向量以及所述候选的项目特征的特征向量,计算所述候选的项目特征与所述提取的项目特征之间的相似度;
根据所述候选的项目特征与所述提取的项目特征之间的相似度,从所述候选的项目特征中选取所述目标特征。
6.根据权利要求4所述的项目推荐方法,其特征在于,所述基于所述至少一个用户标签的标签向量及所述候选项目对应的特征向量,计算所述当前用户与所述候选项目的相似度,包括:
根据所述提取的用户标签的标签向量计算所述当前用户的用户向量,所述当前用户的用户向量为所述提取的用户标签的标签向量之和;
根据所述候选项目的项目特征的特征向量计算所述候选项目的项目向量,所述候选项目的项目向量为所述候选项目的项目特征的特征向量之和;
根据所述当前用户的用户向量和所述候选项目的项目向量,计算所述当前用户和所述候选项目的相似度。
7.根据权利要求6所述的项目推荐方法,其特征在于,所述根据所述当前用户与所述候选项目的相似度,从所述候选项目中选取推荐的目标项目之后,还包括:
将所述提取的用户标签的标签向量和所述目标项目的项目特征的特征向量输入至点击通过率CRT模型进行预测,得到所述目标项目的点击率预测值;
根据所述目标项目的点击率预测值将所述目标项目排序后推荐给所述当前用户。
8.一种项目推荐装置,其特征在于,包括:
第二提取单元,用于获取样本用户的至少一个用户标签,以及所述样本用户感兴趣的项目的至少一个项目特征,所述项目包括文章、资讯或者物品;
关系建立单元,用于将所述样本用户的用户画像中的所述用户标签与对应所述样本用户感兴趣的项目中的所述项目特征关联起来;根据得到的所有关联关系,将同一项目特征关联的所有用户标签合并在一起,整理出每个项目特征关联的用户标签;根据知识图谱中的项目特征、关系的三元组<第一项目特征,关系,第二项目特征>,获取所述第一项目特征关联的用户标签与所述第二项目特征关联的用户标签之间的关系;从获取的关系中提取与所述第一项目特征和所述第二项目特征均关联的用户标签,利用提取的用户标签替换对应项目特征、关系的三元组中的关系,得到项目特征、用户标签的三元组<第一项目特征,用户标签,第二项目特征>,所述项目特征、用户标签的三元组为异构关系数据,其中,所述异构关系数据中每个用户标签与两个项目特征关联,且所述两个项目特征来自于两个不同的样本用户感兴趣的项目;
训练单元,用于对所述异构关系数据进行训练,得到异构网络,所述异构网络包括所述异构关系数据中项目特征的特征向量和用户标签的标签向量,所述特征向量和标签向量处于同一向量空间;
第一提取单元,用于从当前用户感兴趣的项目中提取项目特征;以及从所述当前用户的用户画像中提取至少一个用户标签;
扩展单元,用于对提取的所述项目特征进行扩展,得到目标特征;
拉取单元,用于根据所述目标特征拉取项目,得到候选项目,获取所述候选项目的至少一个项目特征;
计算单元,用于从所述异构网络中获取所述至少一个用户标签的标签向量以及所述至少一个项目特征的特征向量;基于所述至少一个用户标签的标签向量及所述候选项目对应的特征向量,计算所述当前用户与所述候选项目的相似度;
选取单元,用于根据所述当前用户与所述候选项目的相似度,从所述候选项目中选取推荐的目标项目。
9.根据权利要求8所述的项目推荐装置,其特征在于,所述扩展单元包括:
第一获取子单元,用于从所述异构网络中获取提取的项目特征的特征向量,并从所述异构网络中获取候选的项目特征的特征向量;
相似度计算子单元,用于根据所述提取的项目特征的特征向量以及所述候选的项目特征的特征向量,计算所述候选的项目特征与所述提取的项目特征之间的相似度;
选取子单元,用于根据所述候选的项目特征与所述提取的项目特征之间的相似度,从所述候选的项目特征中选取所述目标特征。
10.根据权利要求8所述的项目推荐装置,其特征在于,所述计算单元包括:
第一计算子单元,用于根据所述提取的用户标签的标签向量计算所述当前用户的用户向量,所述当前用户的用户向量为所述提取的用户标签的标签向量之和;
第二计算子单元,用于根据所述候选项目的项目特征的特征向量计算所述候选项目的项目向量,所述候选项目的项目向量为所述候选项目的项目特征的特征向量之和;
第三计算子单元,用于根据所述当前用户的用户向量和所述候选项目的项目向量,计算所述当前用户和所述候选项目的相似度。
11.根据权利要求10所述的项目推荐装置,其特征在于,所述装置还包括:
预测单元,用于将所述提取的用户标签的标签向量和所述目标项目的项目特征的特征向量输入至点击通过率CRT模型进行预测,得到所述目标项目的点击率预测值;
推荐单元,用于根据所述目标项目的点击率预测值将所述目标项目排序后推荐给所述当前用户。
12.一种存储介质,其特征在于,所述存储介质用于储存多条指令,所述指令适于由处理器加载并执行如权利要求1至7任一项所述的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810191960.9A CN110309405B (zh) | 2018-03-08 | 2018-03-08 | 一种项目推荐方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810191960.9A CN110309405B (zh) | 2018-03-08 | 2018-03-08 | 一种项目推荐方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110309405A CN110309405A (zh) | 2019-10-08 |
CN110309405B true CN110309405B (zh) | 2022-09-30 |
Family
ID=68073306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810191960.9A Active CN110309405B (zh) | 2018-03-08 | 2018-03-08 | 一种项目推荐方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110309405B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110866181B (zh) * | 2019-10-12 | 2022-04-22 | 平安国际智慧城市科技股份有限公司 | 资源推荐的方法、装置及存储介质 |
CN112749323B (zh) * | 2019-10-31 | 2024-07-23 | 北京沃东天骏信息技术有限公司 | 一种构建用户画像的方法和装置 |
CN111047360B (zh) * | 2019-12-16 | 2024-04-09 | 北京搜狐新媒体信息技术有限公司 | 一种基于视觉画像的数据处理方法及系统 |
CN111198988B (zh) * | 2019-12-25 | 2023-05-02 | 中国平安财产保险股份有限公司 | 业务推荐方法、训练方法、装置、计算机设备和存储介质 |
CN111310074B (zh) * | 2020-02-13 | 2023-08-18 | 北京百度网讯科技有限公司 | 兴趣点的标签优化方法、装置、电子设备和计算机可读介质 |
CN111339409A (zh) * | 2020-02-20 | 2020-06-26 | 深圳壹账通智能科技有限公司 | 地图展示方法与系统 |
CN113674008A (zh) * | 2020-05-14 | 2021-11-19 | 北京达佳互联信息技术有限公司 | 定向标签推荐方法、装置、服务器及存储介质 |
CN112925994B (zh) * | 2021-04-16 | 2023-12-19 | 中国科学院自动化研究所 | 基于局部和全局信息融合的群组推荐方法、系统及设备 |
CN114625973B (zh) * | 2022-05-12 | 2022-08-23 | 深圳创源互动科技有限公司 | 一种匿名信息跨域推荐方法、装置、电子设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8601003B2 (en) * | 2008-09-08 | 2013-12-03 | Apple Inc. | System and method for playlist generation based on similarity data |
CN104572734B (zh) * | 2013-10-23 | 2019-04-30 | 腾讯科技(深圳)有限公司 | 问题推荐方法、装置及系统 |
CN104834668B (zh) * | 2015-03-13 | 2018-10-02 | 陈文� | 基于知识库的职位推荐系统 |
CN107729444B (zh) * | 2017-09-30 | 2021-01-12 | 桂林电子科技大学 | 一种基于知识图谱的个性化旅游景点推荐方法 |
-
2018
- 2018-03-08 CN CN201810191960.9A patent/CN110309405B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110309405A (zh) | 2019-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110309405B (zh) | 一种项目推荐方法、装置及存储介质 | |
US10885076B2 (en) | Computerized system and method for search query auto-completion | |
US10110544B2 (en) | Method and system for classifying a question | |
US8880548B2 (en) | Dynamic search interaction | |
WO2019099310A1 (en) | Resource-efficient generation of a knowledge graph | |
US9241242B2 (en) | Information recommendation method and apparatus | |
US20110289015A1 (en) | Mobile device recommendations | |
US20130124323A1 (en) | String Based Promotional System and Method Thereof | |
CN112136127B (zh) | 用于搜索操作输出元素的动作指示符 | |
CN108153909B (zh) | 关键词投放拓词方法、装置及电子设备、存储介质 | |
CN111125269B (zh) | 一种数据管理方法、血缘关系显示方法和相关装置 | |
KR20180126577A (ko) | 관련 엔티티 탐색 | |
US10909571B2 (en) | Visitor identification based on feature selection | |
EP2902956A1 (en) | System and method for determining interests from location data | |
JP6648283B2 (ja) | 人工知能ベースの関連度計算を用いたノート提供方法及び装置 | |
CN113177154A (zh) | 搜索词推荐方法、装置、电子设备及存储介质 | |
CN108205568A (zh) | 基于标签选择数据的方法及装置 | |
CN110196833B (zh) | 应用程序的搜索方法、装置、终端及存储介质 | |
US11216735B2 (en) | Method and system for providing synthetic answers to a personal question | |
CN111553163A (zh) | 文本相关度的确定方法、装置、存储介质及电子设备 | |
JP5568195B1 (ja) | 検索システム、検索条件設定装置、検索条件設定装置の制御方法、プログラム、及び情報記憶媒体 | |
CN108491502A (zh) | 一种新闻追踪的方法、终端、服务器及存储介质 | |
JP6702625B2 (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
CN107463590B (zh) | 自动的对话阶段发现 | |
CN112348614B (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 |