本发明涉及信息处理技术领域,特别涉及一种数据推荐方法及推荐系统。
背景技术:
在现有的推荐系统(比如广告系统,新闻推荐系统,电台节目推荐系统等)中,商家可以通过推荐系统定向地或不定向的将需要推荐的数据发送到各个用户终端,从而达到推广某一产品或某些信息等目的。一般情况下,推荐系统会将最新的推荐数据比如最热门的电台节目,或最近的新闻等发送给用户终端,这样推荐的数据在用户终端之间无区别,无个性化。
技术实现要素:
本发明实施例提供一种数据推荐方法及推荐系统,实现了根据用户的兴趣来推荐相应的数据。
本发明实施例提供一种数据推荐方法,包括:
获取用户的第一标签信息,所述第一标签信息中包括:所述用户对应用户终端操作的推荐数据的至少一种第一属性信息及分别对应的第一权重值;
获取与所述至少一种第一属性信息相关的至少一条待推荐数据;
根据所述至少一种第一属性信息及分别对应的第一权重值,及所述至少一条待推荐数据的第二标签信息,分别计算所述推荐数据与所述至少一条待推荐数据的相关度;其中,所述第二标签信息中包括所述至少一条待推荐数据的至少一种第二属性信息及分别对应的第二权重值;
根据所述相关度向所述应用户终端发送所述待推荐数据。
本发明实施例还提供一种推荐系统,包括:
第一标签获取单元,用于获取用户的第一标签信息,所述第一标签信息中包括:所述用户对应用户终端操作的推荐数据的至少一种第一属性信息及分别对应的第一权重值;
相关获取单元,用于获取与所述第一标签获取单元获取的至少一种第一属性信息相关的至少一条待推荐数据;
相关计算单元,用于根据所述第一标签获取单元获取的至少一种第一属 性信息及分别对应的第一权重值,及所述相关获取单元获取的至少一条待推荐数据的第二标签信息,分别计算所述推荐数据与所述至少一条待推荐数据的相关度;其中,所述第二标签信息中包括所述至少一条待推荐数据的至少一种第二属性信息及分别对应的第二权重值;
数据发送单元,用于根据所述相关计算单元计算的相关度向所述应用户终端发送所述待推荐数据。
可见,在本实施例的推荐方法中,推荐系统在发送待推荐数据时,先查找到与用户终端操作的推荐数据相关的至少一条待推荐数据,并根据推荐数据的信息与至少一条待推荐数据的信息分别计算推荐数据与至少一条带推荐数据之间的相关度,然后根据相关度确定向用户终端发送哪些待推荐数据。这样通过将用户终端操作的推荐数据当作用户感兴趣的信息,就可以由推荐系统将用户感兴趣的待推荐数据发送给用户终端,实现了根据用户的兴趣来推荐相应的数据。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据推荐方法的流程图;
图2是本发明实施例提供的另一种数据推荐方法的流程图;
图3是本发明实施例提供的一种推荐系统的结构示意图;
图4是本发明实施例提供的另一种推荐系统的结构示意图;
图5是本发明实施例提供的另一种推荐系统的结构示意图;
图6是本发明应用实施例中袋发送电台节目的标签信息的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排它的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供一种数据推荐方法,主要是推荐系统(比如广告系统,新闻推荐系统,电台节目推荐系统等)将推荐数据发送给用户终端的方法。本实施例的方法是推荐系统所执行的方法,流程图如图1所示,包括:
步骤101,获取用户的第一标签信息,在第一标签信息中包括:该用户对应用户终端操作的推荐数据的至少一种第一属性信息及分别对应的第一权重值。
可以理解,用户的第一标签信息主要是用来描述用户所感兴趣的推荐数据的信息,具体地,当用户对应的用户终端对某一条推荐数据进行操作(比如收藏,点击或下载等操作)时,推荐系统会将该条推荐数据的信息储存成第一标签信息的形式。其中,由于用户终端会定时或不定时地上报用户终端对推荐数据的操作信息,则推荐系统会得知用户终端对哪些推荐数据进行了操作。本实施例中步骤101到104的方法是推荐系统在需要向某一用户终端发送待推荐数据时触发的流程,在本步骤101中获取第一标签信息时,推荐系统会读取系统中之前已经储存的第一标签信息。
这里的第一属性信息可以为推荐数据的类目(category,简称C);推荐数据的标题(title,简称T);推荐数据的描述(description,简称D);或推荐数据的用户标识,比如在电台节目推荐系统中电台的主播(singer,简称S),即电台所属的用户信息等。需要说明的是,在某一种属性信息中可以包括多条推荐数据的该种属性信息及分别对应的第一权重值,比如在推荐数据的类目信息中可以包括推荐数据1的类目及对应的第一权重值,及推荐数据2的类目及对应的第一权重值等。
步骤102,获取与至少一种第一属性信息相关的至少一条待推荐数据。
当推荐系统需要发送给用户终端的待推荐数据时,比如新推出的电台节目,最近的新闻,或需要推广的广告等待推荐数据,推荐系统会事先将待推荐数据的信息储存成第三标签信息的形式,而在执行本步骤102时,推荐系统可以在系统储存的第三标签信息中搜索与上述至少一种属性信息相关的所有待推荐数据的信息。
其中,第三标签信息中可以包括:至少一个维度归类下的待推荐数据的信息,这里的维度归类可以为某一具体类目,某一具体标题,某一具体描述,或某一具体用户标识,比如在某一电台的主播等。需要说明的是,在某一种维度归类下的待推荐数据可以包括多条待推荐数据及分别对应的第三权重值,比如在某一类目的待推荐数据中可以包括待推荐数据1及对应的第三权重值,及待推荐数据2及对应的第三权重值等。
步骤103,根据上述步骤101中获取的至少一种第一属性信息及分别对应的第一权重值,及上述步骤102中获取的至少一条待推荐数据的第二标签信息,分别计算上述推荐数据(第一标签信息描述的推荐数据)与至少一条待推荐数据的相关度。
这里的第二标签信息主要是用来描述推荐系统需要发送给用户终端的待推荐数据的信息,比如新推出的电台节目,最近的新闻,或需要推广的广告等待推荐数据的信息。在第二标签信息中包括至少一条待推荐数据的至少一种第二属性信息及分别对应的第二权重值,该第二标签信息与上述第一标签信息的形式类似,不同的是,第二标签信息描述的是待推荐数据,而上述第一标签信息描述的是用户终端操作的推荐系统已经发送的推荐数据。
推荐系统在执行本步骤中的相关度计算时,具体可以采用余弦相似度或欧式距离等方式计算,在计算的过程中,主要通过至少一种第一属性信息及分别对应的第一权重值来表示推荐数据的向量信息,而通过至少一种第二属性信息及分别对应的第二权重值来表示待推荐数据的向量信息,进而通过各自的向量信息计算相关度。
步骤104,根据相关度向用户对应用户终端发送待推荐数据,具体地,可以将与推荐数据之间的相关度较高的多条待推荐数据发送该用户终端。
需要说明的是,上述步骤101到104是在推荐系统在发送待推荐数据给某一个用户终端时的数据推荐方法。
可见,在本实施例的推荐方法中,推荐系统在发送待推荐数据时,先查找到与用户终端操作的推荐数据相关的至少一条待推荐数据,并根据推荐数据的信息与至少一条待推荐数据的信息分别计算推荐数据与至少一条带推荐数据之间的相关度,然后根据相关度确定向用户终端发送哪些待推荐数据。这样通过将用户终端操作的推荐数据当作用户感兴趣的信息,就可以由推荐系统将用户感兴趣的待推荐数据发送给用户终端,实现了根据用户的兴趣来推荐相应的数据。
在一个具体的实施例中,为了实现本发明实施例的方法,推荐系统需要事先储存用户感兴趣的信息,则在执行上述步骤101之前,推荐系统还可以通过如下两种方式实现对用户操作的推荐数据的储存,具体地:
(1)参考图2中所示的实线箭头指向,在一种情况下,在步骤101之前还包括步骤A。
A,当用户终端对推荐数据进行操作时,推荐系统确定初始标签信息,初始标签信息中包括:推荐数据的至少一种属性信息,及至少一种属性信息分别对应的权重值。
需要说明的是,这种情况是当推荐系统首次发送了一条推荐数据,且用户终端对该条推荐数据进行操作,推荐系统对该条推荐数据的信息的储存,当触发上述待推荐数据的发送流程时,推荐系统具体在执行上述步骤101,即获取用户的第一标签信息时,可以直接读取该初始标签信息作为第一标签信息。
(2)如图2中所示的虚线箭头指向,在另一种情况下,在步骤101之前还包括步骤A和B。
A,当用户终端对推荐数据进行操作时,推荐系统确定初始标签信息,初始标签信息中包括:推荐数据的至少一种属性信息,及至少一种属性信息分别对应的权重值。
B,将初始标签信息与系统储存的已有标签信息进行融合得到最终标签信息,最终标签信息中包括融合后的属性信息及对应的权重值,融合后的属性 信息中包括推荐数据的至少一种属性信息。
推荐系统在执行本步骤中的融合操作时,具体可以将初始标签信息中包括的至少一种属性信息与相应的已有属性信息对应地储存,并降低已有属性信息对应的已有权重值。其中,已有标签信息中包括已有属性信息。可见,推荐系统考虑到了系统中已经储存的用户感兴趣的信息的时间衰减因素,降低已有推荐数据的已有属性信息的权重,重点突出了系统中储存的用户最新感兴趣的信息。
需要说明的是,这种情况是当推荐系统中已经储存了用户终端操作的推荐数据的信息后,推荐系统又发送了一条推荐数据,且用户终端对该条推荐数据进行操作,推荐系统对该条推荐数据的信息的储存,当触发上述待推荐数据的发送流程时,推荐系统具体在执行上述步骤101,即获取用户的第一标签信息时,可以直接读取该最终标签信息作为第一标签信息。
在另一个具体的实施例中,为了计算待推荐数据和用户终端操作的推荐数据之间的相关度,推荐系统需要事先将待推荐数据储存成特定的格式,则在执行上述步骤102之前,推荐系统还可以确定待推荐数据的第二标签信息,该第二标签信息中包括待推荐数据的至少一种第二属性信息及分别对应的第二权重值;然后将第二标签信息转化为第三标签信息,第三标签信息中包括至少一个维度归类下的待推荐数据的信息及分别对应的第三权重值,其中,维度归类为某一个第二属性信息。可见,这里的第三标签信息是将各个待推荐数据按照任一种属性信息归类后的信息,方便了推荐系统执行上述步骤102中的获取相关的待推荐数据。
其中,第二属性信息可以为待推荐数据的类目,待推荐数据的标题,推荐数据的描述,或待推荐数据的用户标识等,则对于待推荐数据的类目和用户标识,推荐系统在确定第二属性信息对应的第二权重值时,直接进行赋权值。
对于待推荐数据的标题,推荐系统在确定第二属性信息对应的第二权重值时,可以先对待推荐数据的标题进行分词,然后分别对标题的各个分词赋权值得到待推荐数据的标题对应的第二权重值。其中,对标题进行分词,主要是从标题中去掉助词和停用词等,比如对“十二星座每天的运势简介及分 析”进行分词后得到:“十二,星座,每天,运势,简介,分析”;在对分词进行赋权值时,可以采用词频-逆向文件频率(term frequency–inverse document frequency,TF-IDF)的方法进行对各个分词赋权值。
对于待推荐数据的描述,推荐系统在确定第二属性信息对应的第二权重值时,可以先对待推荐数据的描述进行分词,将描述的分词聚类成多个浅词义,然后分别对多个浅词义赋权值得到待推荐数据的描述对应的第二权重值。其中,推荐系统可以基于语义模型,比如采用一个主题模型算法即隐藏边界分配(Latent Dirichlet Allocation,LDA),或开源项目word2vec等进行聚类,这样可以将多个分词可以聚类成一个浅词义,比如将“绚烂的魔法,奇奥的斗气,唯我古武最强”等分词聚类成“魔幻”或“奇幻”等浅词义,降低了待推荐数据的维度。
需要说明的是,上述第一标签信息中第一权重值的确定方法与该第二标签信息中第二权重值的确定方法类似,不同的是,第一标签信息的确定是基于推荐数据的,而第二标签信息的确定是基于待推荐数据的。
本发明实施例还提供一种推荐系统,其结构示意图如图3所示,具体可以包括:
第一标签获取单元10,用于获取用户的第一标签信息,所述第一标签信息中包括:所述用户对应用户终端操作的推荐数据的至少一种第一属性信息及分别对应的第一权重值。这里的第一属性信息可以为推荐数据的类目;推荐数据的标题;推荐数据的描述;或推荐数据的用户标识等。
相关获取单元11,用于获取与所述第一标签获取单元10获取的至少一种第一属性信息相关的至少一条待推荐数据。
相关计算单元12,用于根据所述第一标签获取单元10获取的至少一种第一属性信息及分别对应的第一权重值,及所述相关获取单元11获取的至少一条待推荐数据的第二标签信息,分别计算所述推荐数据与所述至少一条待推荐数据的相关度;其中,所述第二标签信息中包括所述至少一条待推荐数据的至少一种第二属性信息及分别对应的第二权重值。相关计算单元12具体可以采用余弦相似度或欧式距离等方式计算。
数据发送单元13,用于根据所述相关计算单元12计算的相关度向所述应 用户终端发送所述待推荐数据。数据发送单元13具体可以将与推荐数据之间的相关度较高的多条待推荐数据发送该用户终端。
可见,在本实施例的推荐系统在发送待推荐数据时,相关获取单元11先查找到与用户终端操作的推荐数据相关的至少一条待推荐数据,并由相关计算单元12根据推荐数据的信息与至少一条待推荐数据的信息分别计算推荐数据与至少一条带推荐数据之间的相关度,然后数据发送单元13根据相关度确定向用户终端发送哪些待推荐数据。这样通过将用户终端操作的推荐数据当作用户感兴趣的信息,就可以由推荐系统将用户感兴趣的待推荐数据发送给用户终端,实现了根据用户的兴趣来推荐相应的数据。
参考图4所示,在一个具体的实施例中,推荐系统除了包括如图3所示的结构外,还可以包括初始确定单元14,融合单元15和第二标签确定单元16,其中:
初始确定单元14,用于当所述用户终端对所述推荐数据进行操作时,确定初始标签信息,所述初始标签信息中包括:所述推荐数据的至少一种属性信息,及所述至少一种属性信息分别对应的权重值。
融合单元15,用于将所述初始确定单元14确定的初始标签信息与系统储存的已有标签信息进行融合得到最终标签信息,所述最终标签信息中包括融合后的属性信息及对应的权重值,所述融合后的属性信息中包括所述推荐数据的至少一种属性信息。具体地,融合单元15,具体用于将所述初始确定单元14确定的初始标签信息中包括的至少一种属性信息与相应的已有属性信息对应地储存,降低已有属性信息对应的已有权重值;其中,所述已有标签信息中包括所述已有属性信息。
可以理解,在一种情况下,推荐系统首次发送了推荐数据,并由用户终端操作了该推荐数据时,初始确定单元14可以确定该推荐数据的初始标签信息,则所述第一标签获取单元10具体用于读取所述初始确定单元14确定的初始标签信息作为所述第一标签信息。在另一种情况下,推荐系统发送了推荐数据,并由用户终端操作该推荐数据后,在推荐系统中已经储存了推荐数据的信息,则所述第一标签获取单元10具体用于读取所述融合单元15得到的最终标签信息作为所述第一标签信息。
第二标签确定单元16,用于确定所述待推荐数据的所述第二标签信息;将所述第二标签信息转化为第三标签信息,所述第三标签信息中包括至少一个维度归类下的待推荐数据的信息及分别对应的第三权重值;其中,所述维度归类为某一个所述第二属性信息。
对于待推荐数据的类目和用户标识,第二标签确定单元16在确定第二属性信息对应的第二权重值时,直接进行赋权值。
若所述第二属性信息包括所述待推荐数据的标题,则所述第二标签确定单元16,具体用于对所述待推荐数据的标题进行分词,分别对所述标题的各个分词赋权值得到所述待推荐数据的标题对应的第二权重值;
若所述第二属性信息包括所述待推荐数据的描述,则所述第二标签确定单元16,具体用于对所述待推荐数据的描述进行分词,将所述描述的分词聚类成多个浅词义,分别对多个浅词义赋权值得到所述待推荐数据的描述对应的第二权重值。
这样通过第二标签确定单元16就可以确定了待推荐数据的信息,这样系统中的相关获取单元11可以从第二标签确定单元16确定的第三标签信息中查找与第一属性信息相关的所有待推荐数据。
本发明实施例还提供一种推荐系统,结构示意图如图5所示,该推荐系统可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)20(例如,一个或一个以上处理器)和存储器21,一个或一个以上存储应用程序221或数据222的存储介质22(例如一个或一个以上海量存储设备)。其中,存储器21和存储介质22可以是短暂存储或持久存储。存储在存储介质22的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对终端中的一系列指令操作。更进一步地,中央处理器30可以设置为与存储介质22通信,在推荐系统上执行存储介质22中的一系列指令操作。
推荐系统还可以包括一个或一个以上电源23,一个或一个以上有线或无线网络接口24,一个或一个以上输入输出接口25,和/或,一个或一个以上操作系统223,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述方法实施例中所述的由推荐系统所执行的步骤可以基于该图5所示的推荐系统的结构。
以下以一个具体的应用实例来说明本发明实施例的方法,本实施例中的方法主要用于的推荐系统为电台节目推荐系统,则电台节目推荐系统发送的推荐数据为电台节目,则参考图6所示,电台节目推荐系统在触发了电台节目的发送流程前需要对电台节目进行预处理,具体地:
(1)对待发送电台节目进行预处理
首先,确定待发送电台节目的第二标签信息:对待发送电台节目的主播(S)、类目(C)、标题(T)和描述(D)分别进行处理,其中,对待发送电台节目的主播和类目直接赋权值,比如图6中的主播1的权重值为w1,类目2的权重值为w2等;对待发送电台节目的标题进行分词,然后采用TF-IDF的方法对分词赋权值,比如项目(term)1的分词的权重值为w1,项目2的分词的权重值为w2;对待发送电台节目的描述进行分词得到各个分词的标签(tag),然后基于语义模型将各个分词的标签分别映射到多个主题(topic),其中多个分词的标签可以映射为一个主题,这样就将多个分词聚类为一个浅词义,降低了待发送电台节目的描述的维度。
将待发送电台节目的第二标签信息转化为第三标签信息:将第二标签信息中储存的所有待发送电台节目按照各个属性信息归类,具体地,可以将第二标签信息进行翻转即能得到第三标签信息,对于第二标签信息中任一属性信息,将该属性信息作为索引关键字(key),并将第二标签信息中与该索引关键字对应的待发送电台节目归于该属性信息之下,而该索引关键字下各个待发送电台节目的权重值,分别与第二标签信息中各个待发送电台节目的该属性信息的权重值相同。比如图6中,在第二标签信息中电台1的类目1的权重值为w1,则在转化为第三标签信息后,将电台1归类于类目1之下,则该电台1的权重值则为w1。
(2)对电台节目推荐系统已发送的电台节目进行预处理
当电台节目推荐系统首次发送了一个电台节目,且用户终端操作了该电台节目,并将操作信息上报给电台节目推荐系统后,电台节目推荐系统会按照确定上述第二标签信息的方法将该电台节目储存为该用户终端对应用户的 最初标签信息。
当电台节目推荐系统发送了其它电台节目,且用户终端操作了其它电台节目,并将操作信息上报给电台节目推荐系统后,电台节目推荐系统会按照确定上述第二标签信息的方法确定其它电台节目的标签信息,然后将其它电台节目的标签信息与已经储存的最初标签信息进行融合得到融合后标签信息,具体地,将其它电台节目的属性信息与最初标签信息中相应的属性信息对应地储存,并降低最初标签信息中包括的该属性信息对应的权重值。例如,最终标签信息中包括类目1及权重值w1,而其它电台节目的属性信息为类目2且权重值为w2,则在融合过程中,将类目1和类目2对应地储存,且降低w1的值,并用较大的值来表示w2。
这样就可以将用户终端操作的电台节目的信息作为对应用户感兴趣的信息。
电台节目推荐系统在触发了电台节目的发送流程后,具体可以采用如下的方法发送电台节目给用户终端,具体地:
(1)获取用户感兴趣的信息,即获取电台节目推荐系统经过上述预处理过程得到的融合后标签信息,或最初标签信息。
(2)在上述得到的第三标签信息中,查找与融合后标签信息(或最初标签信息)中电台节目的属性信息相关的所有待发送电台节目。
(3)根据余弦相似度的方法分别计算用户终端操作的电台节目与上述步骤(2)中查找的所有待发送电台节目之间的相关度,在这个过程中,将待发送电台节目的向量用上述预处理得到的待发送电台节目的第二标签信息来表示,将用户终端操作的电台节目的向量用上述预处理得到的融合后标签信息(或最初标签信息)来表示。
(4)将上述步骤(3)中计算的相关度进行排序,将较高相关度对应的多个待发送电台节目发送给用户终端。
可见,本实施例中,电台节目推荐系统将用户终端操作的电台节目作为对应用户感兴趣的信息,然后将与用户感兴趣的信息相关度较高的电台节目发送给用户终端。比如向偏好魔幻的用户对应用户终端发送穿越等相关的电台节目。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM)、随机存取存储器RAM)、磁盘或光盘等。
以上对本发明实施例所提供的数据推荐方法及推荐系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。