CN106874503A - 获取推荐数据的方法和装置 - Google Patents

获取推荐数据的方法和装置 Download PDF

Info

Publication number
CN106874503A
CN106874503A CN201710103600.4A CN201710103600A CN106874503A CN 106874503 A CN106874503 A CN 106874503A CN 201710103600 A CN201710103600 A CN 201710103600A CN 106874503 A CN106874503 A CN 106874503A
Authority
CN
China
Prior art keywords
data
data set
genetic
database
target
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
Application number
CN201710103600.4A
Other languages
English (en)
Other versions
CN106874503B (zh
Inventor
裴长龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhuhai Gotech Intelligent Technology Co Ltd
Original Assignee
Zhuhai Gotech Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhuhai Gotech Intelligent Technology Co Ltd filed Critical Zhuhai Gotech Intelligent Technology Co Ltd
Priority to CN201710103600.4A priority Critical patent/CN106874503B/zh
Publication of CN106874503A publication Critical patent/CN106874503A/zh
Application granted granted Critical
Publication of CN106874503B publication Critical patent/CN106874503B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

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

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)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种获取推荐数据的方法和装置。其中,该方法包括:根据目标对象的操作数据从数据库中筛选得到待选数据集,其中,数据库中的每一条数据至少包括如下参数:数据标识和用户偏好;利用遗传算法对待选数据集的数据进行处理得到目标数据集;当目标数据集中的数据的适应度之和达到第一预设阈值时,根据目标数据集的数据确定目标对象的推荐数据。本发明解决了无法准确得到推荐数据的技术问题。

Description

获取推荐数据的方法和装置
技术领域
本发明涉及数据分析领域,具体而言,涉及一种获取推荐数据的方法和装置。
背景技术
现在的大多数网站,例如视频网站、电商网站、金融网站等,都会有用户推荐的模块,用于向用户推荐用户可能感兴趣的数据内容。
目前,推荐算法大致有:基于内容、基于协同过滤、基于关联规则、基于效用、基于知识的推荐算法。基于内容的数据推荐方法的理论,理论依据主要来自于信息检索和信息过滤,所谓的基于内容的推荐方法就是根据用户过去的浏览记录来向用户推荐用户没有接触过的推荐项。基于协同过滤的推荐算法理论上可以推荐世界上的任何一种东西,包括图片、音乐等。协同过滤算法主要是通过对未评分项进行评分,从而得到预测数据。基于关联规则的推荐(Association Rule-based Recommendation)是以关联规则为基础,把已购商品作为规则头,规则体为推荐对象。关联规则挖掘可以发现不同商品在销售过程中的相关性,在零售业中已经得到了成功的应用。基于效用的推荐(Utility-basedRecommendation)是建立在对用户使用项目的效用情况上计算的,其核心问题是怎么样为每一个用户去创建一个效用函数,因此,用户资料模型很大程度上是由系统所采用的效用函数决定的。基于知识的推荐(Knowledge-based Recommendation)在某种程度是可以看成是一种推理(Inference)技术,它不是建立在用户需要和偏好基础上推荐的。基于知识的方法因它们所用的功能知识不同而有明显区别。效用知识(Functional Knowledge)是一种关于一个项目如何满足某一特定用户的知识,因此能解释需要和推荐的关系,所以用户资料可以是任何能支持推理的知识结构,它可以是用户已经规范化的查询,也可以是一个更详细的用户需要的表示。
但是,向用户推荐数据不是一个简单的工作,因为用户的兴趣是千奇百怪的,通常情况下,利用上述算法,计算机无法很准确地捕捉用户的兴趣点,只能通过用户的标签或者用户经常浏览的节目记录来进行整合数据,并向用户推荐数据。通过上述方法得到的推荐数据,是比较基础但又笨拙的方法,没有去深入挖掘用户的潜在兴趣,不能准确的得到目标用户的推荐数据。
针对上述无法准确得到推荐数据的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种获取推荐数据的方法和装置,以至少解决无法准确得到推荐数据的技术问题。
根据本发明实施例的一个方面,提供了一种获取推荐数据的方法,包括:根据目标对象的操作数据从数据库中筛选得到待选数据集,其中,数据库中的每一条数据至少包括如下参数:数据标识和用户偏好;利用遗传算法对待选数据集的数据进行处理得到目标数据集;当目标数据集中的数据的适应度之和达到第一预设阈值时,根据目标数据集的数据确定目标对象的推荐数据。
进一步地,根据目标对象的操作数据从数据库中筛选得到待选数据集包括:通过数据库中的每一条数据的数据标识和用户偏好,计算得到数据库中的任意两条数据的数据关联度;根据目标对象的操作数据以及数据关联度生成待选数据集。
进一步地,通过如下第一公式计算得到数据库中的任意两条数据的数据关联度
其中,i,j为自然数,N(i)为喜欢节目i的用户数,N(j)为喜欢节目j的用户数。
进一步地,通过如下第二公式生成待选数据集Pij
其中,u为自然数,N(u)为目标对象喜欢的节目的集合,Rui为常数,表示目标对象对节目i的兴趣程度。
进一步地,利用遗传算法对待选数据集的数据进行处理得到目标数据集包括:
对待选数据集中数据进行编码操作,以无符号二进制数来表示待选数据集中数据,其中,无符号二进制数中任一个数字为数据的一个基因;通过对无符号二进制数来表示的待选数据集中数据进行遗传运算,得到目标数据集,其中,遗传运算包括以下运算中的至少一项或者多项:选择运算、交叉运算、变异运算。
进一步地,通过对无符号二进制数来表示的待选数据集中数据进行遗传运算,得到目标数据集包括:计算待选数据集中数据的适应度,通过适应度来确定数据的遗传概率,其中,遗传概率用于确定数据被选中进行遗传运算的次数;将选定的待选数据集中的数据进行交叉运算,得到第一子目标数据集,其中,交叉运算为将待选数据集中的被选中的数据进行随机配对,通过随机选择数据的至少一个基因进行交换;对第一子目标数据集的数据进行变异运算,得到目标数据集,其中,变异运算为随机确定第一子目标数据集中数据的基因变异位置,对基因变异位置的基因值进行基因值取反操作。
根据本发明实施例的另一方面,还提供了一种获取推荐数据的装置,其特征在于,包括:选择模块,用于根据目标对象的操作数据从数据库中筛选得到待选数据集,其中,数据库中的每一条数据至少包括如下参数:数据标识和用户偏好;算法模块,用于利用遗传算法对待选数据集的数据进行处理得到目标数据集;确定模块,用于当目标数据集中的数据的适应度之和达到第一预设阈值时,根据目标数据集的数据确定目标对象的推荐数据。
进一步地,选择模块包括:计算子模块,用于通过数据库中的每一条数据的数据标识和用户偏好,计算得到数据库中的任意两条数据的数据关联度;生成子模块,用于根据目标对象的操作数据以及数据关联度生成待选数据集。
进一步地,算法模块包括:编码子模块,用于对待选数据集中数据进行编码操作,以无符号二进制数来表示待选数据集中数据,其中,无符号二进制数中任一个数字为数据的一个基因;算法子模块,用于通过对无符号二进制数来表示的待选数据集中数据进行遗传运算,得到目标数据集,其中,遗传运算包括以下运算中的至少一项或者多项:选择运算、交叉运算、变异运算。
进一步地,算法子模块包括:选择运算单元,用于计算待选数据集中数据的适应度,通过适应度来确定数据的遗传概率,其中,遗传概率用于确定数据被选中进行遗传运算的次数;交叉运算单元,用于将选定的待选数据集中的数据进行交叉运算,得到第一子目标数据集,其中,交叉运算为将待选数据集中的被选中的数据进行随机配对,通过随机选择数据的至少一个基因进行交换;变异运算单元,用于对第一子目标数据集的数据进行变异运算,得到目标数据集,其中,变异运算为随机确定第一子目标数据集中数据的基因变异位置,对基因变异位置的基因值进行基因值取反操作。
在本发明实施例中,通过采用根据目标对象的操作数据从数据库中筛选得到待选数据集,其中,数据库中的每一条数据至少包括如下参数:数据标识和用户偏好;利用遗传算法对待选数据集的数据进行处理得到目标数据集;当目标数据集中的数据的适应度之和达到第一预设阈值时,根据目标数据集的数据确定目标对象的推荐数据,达到了准确获取推荐数据,并且可以对提供推荐数据进行自我学习及优化的目的,进而解决了无法准确得到推荐数据的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例一的一种可选的获取推荐数据的方法的流程图;
图2是根据本发明实施例二的一种可选的获取推荐数据的装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
本发明实施例提供了一种获取推荐数据的方法。图1是根据本发明实施例一的一种可选的获取推荐数据的方法的流程图。如图1所示,该方法包括:
步骤S102,根据目标对象的操作数据从数据库中筛选得到待选数据集,其中,数据库中的每一条数据至少包括如下参数:数据标识和用户偏好。
具体地,目标对象可以是视频网站、购物网站等平台的使用者,操作数据可以是目标对象的对某条数据或者某些数据的浏览、播放等形成的数据。数据库中可以包括多条数据,以视频网站为例,数据库中包括该视频网站中全部的视频节目,其中,每一个视频节目可以为该数据库中的数据库中的一条数据,并且,每一条数据都携带有数据参数,数据参数包括数据标识、以及用户对该条数据的用户偏好。需要说明的是,用户偏好可以是喜欢该视频节目的用户,例如,用户偏好可以是点击播放过该视频节目的用户的集合。
步骤S104,利用遗传算法对待选数据集的数据进行处理得到目标数据集。
具体地,遗传算法可以包括选择运算、交叉运算、变异运算,可以对待选数据集中的数据进行上述的运算,可以获取到新的数据群体,可以将新的数据群体确定为目标数据集。
需要说明的是,将遗传算法应用到获取推荐数据的过程中,可以使推荐数据不断的优化,为用户提供更加合适的推荐结果,可以有效的提高获取推荐数据的效率。
步骤S106,当目标数据集中的数据的适应度之和达到第一预设阈值时,根据目标数据集的数据确定目标对象的推荐数据。
具体地,第一预设阈值可以是预先设置的,例如10。在上述步骤S106中,可以通过适应度函数,计算目标数据集中每一条数据的适应度,对目标数据集中每一条数据的适应度进行求和运算,可以得到该目标数据集的适应度之和。当该目标数据集的适应度之和大于等于第一预设阈值时,可以将该目标数据集中的数据确定为目标对象的推荐数据。或者,当该目标数据集的适应度之和大于等于第一预设阈值时,可以对目标数据集中的数据按照适应度的大小进行排序,选择适应度值高的一部分作为该目标对象的推荐数据。
本发明实施例中,通过上述步骤S102至步骤S106,根据目标对象的操作数据从数据库中筛选得到待选数据集,其中,数据库中的每一条数据至少包括如下参数:数据标识和用户偏好;利用遗传算法对待选数据集的数据进行处理得到目标数据集;当目标数据集中的数据的适应度之和达到第一预设阈值时,根据目标数据集的数据确定目标对象的推荐数据的方法,解决了无法准确得到推荐数据的问题。
可选地,步骤S102,根据目标对象的操作数据从数据库中筛选得到待选数据集可以包括:
步骤S1021,通过数据库中的每一条数据的数据标识和用户偏好,计算得到数据库中的任意两条数据的数据关联度。
步骤S1023,根据目标对象的操作数据以及数据关联度生成待选数据集。
具体地,以视频网站为例,用户偏好可以是喜欢某一视频节目的用户的名称。
例如,喜欢节目1的用户包括a、b、c,即,节目1的用户偏好为a、b、c,喜欢节目2的用户包括b、d、e,即,节目2的用户偏好为b、d、e,则,节目1与节目2的数据关联度为1/3。需要说明的是,数据关联度可以是节目的相似度。
可选地,通过如下第一公式计算得到数据库中的任意两条数据的数据关联度Wij
其中,i,j为自然数,N(i)为喜欢节目i的用户数,N(j)为喜欢节目j的用户数。
具体地,N(i)∩N(j)可以表示同时喜欢节目i和节目j的用户数。
可选地,通过如下第二公式生成待选数据集Pij
其中,u为自然数,N(u)为目标对象喜欢的节目的集合,Rui为常数,表示目标对象对节目i的兴趣程度。
具体地,Rui可以是通过用户评分或者节目的播放次数进行统计得来。与目标对象历史上感兴趣的节目越相似的节目,越有可能在目标对象的待选数据集中获得比较高的排名。
可选地,步骤S104,利用遗传算法对待选数据集的数据进行处理得到目标数据集可以包括:
步骤S1041,对待选数据集中数据进行编码操作,以无符号二进制数来表示待选数据集中数据,其中,无符号二进制数中任一个数字为数据的一个基因。
具体地,遗传算法的运算对象是表示个体的符号串,所以必须把节目i和节目j编码为一种符号串。节目推荐系统中,可以使用i和j的节目号的无符号二进制整数来表示。
需要说明的是,假设节目库中只有20个节目,用户喜欢的节目有4个,因而节目i的编号可以取0-3,用2位无符号二进制整数来表示,除去用户喜欢的节目有16个,所以节目j的编号可以取0-15之间的整数,用4位无符号二进制整数来表示,将它们连接在一起所组成的6位无符号二进制数就形成了个体的基因型,表示一个可行解。例如,基因型X=011110所对应的表现型是:x=[1,14]。个体的表现型x和基因型X之间可通过编码和解码程序相互转换。
还需要说明的是,遗传算法是对群体进行的进化操作,需要给其淮备一些表示起始搜索点的初始群体数据。在上述举例中,群体规模的大小取为4,即群体由4个个体组成,每个个体可通过随机方法产生。如:100111,001000,011110,011101。
步骤S1043,通过对无符号二进制数来表示的待选数据集中数据进行遗传运算,得到目标数据集,其中,遗传运算包括以下运算中的至少一项或者多项:选择运算、交叉运算、变异运算。
可选地,步骤S1043,通过对无符号二进制数来表示的待选数据集中数据进行遗传运算,得到目标数据集可以包括:
步骤S10431,计算待选数据集中数据的适应度,通过适应度来确定数据的遗传概率,其中,遗传概率用于确定数据被选中进行遗传运算的次数。
具体地,在遗传算法中可以以个体适应度的大小来评定各个个体的优劣程度,从而决定其遗传机会的大小。其中,个体适应度即待选数据集中每一条数据的适应度。在本申请实施例中第二公式总取非负值,并且是以求最大值为优化目标,所以可直接利用第二公式的函数值作为某一个体的适应度。
需要说明的是,在遗传算法中,可以将待选数据集中适应度较高的个体(即数据)按某种规则或模型遗传到下一代数据集中。也就是说,适应度较高的个体可以有更多的机会遗传到下一代群体中。
以一种具体的应用场景为例,先根据第二公式计算出待选数据集中每一条数据的适应度的总和F:其次计算出每一条数据的适应度的大小fi/F(i=1,2,…,M),该适应度可以为每一条数据被遗传到下一代群体中的概率。每个概率值组成一个区域,可知全部概率值之和为1,最后再产生一个0到1之间的随机数,依据该随机数出现在上述哪一个概率区域内来确定每一条数据被选中的次数。例如,假设节目i的感兴趣程度,R0=1,R1=2,R2=3,R3=2.5,Wij从相似度表格中获取。
步骤S10433,将选定的待选数据集中的数据进行交叉运算,得到第一子目标数据集,其中,交叉运算为将待选数据集中的被选中的数据进行随机配对,通过随机选择数据的至少一个基因进行交换。
具体地,交叉运算是遗传算法中产生新个体的主要操作过程,它以某一概率相互交换某两个数据之间的部分染色体。
在一种具体的应用场景中,可以先对选定的待选数据集中的数据进行随机配对;其次随机设置交叉点位置;最后再相互交换配对染色体之间的部分基因。
步骤S10435,对第一子目标数据集的数据进行变异运算,得到目标数据集,其中,变异运算为随机确定第一子目标数据集中数据的基因变异位置,对基因变异位置的基因值进行基因值取反操作。
具体地,变异运算是对某一个数据的某一个或某一些基因座上的基因值按某一较小的概率进行改变,它也是产生新数据的一种操作方法。
在一种具体的应用场景中,首先确定出各个数据的基因变异位置,下表所示为随机产生的变异点位置,其中的数字表示变异点设置在该基因座处;然后依照某一概率将变异点的原有基因值取反。
个体编号 交叉结果 变异点 变异结果 子代群体p(1)
1 101110 2 111110 111110
2 001010 3 000010 000010
3 010111 6 010110 010110
4 011100 1 111100 111100
通过上述步骤S10431至步骤S10435,可以有效的改进目标数据集中的数据的适应度。
在一种具体应用场景下,通过对待选数据集中数据进行选择运算、交叉运算以及变异运算之后,可以得到如下目标数据集。
个体编号 目标数据集 i j 适应度值 占总数比
1 111110 3 14 0.3*2.5=2.8 0.55
2 000010 0 2 0.5*1=0.5 0.10
3 010110 1 6 0.4*2=0.8 0.16
4 111100 3 12 0.4*2.5=1 0.20
总和 5.1 1
从上表中可以看出,经过一次遗传算法运算后,群体的适应度的最大值得到了改进。
实施例二
根据本发明实施例,还提供了一种获取推荐数据的装置的实施例,图2是根据本发明实施例二的一种可选的获取推荐数据的装置的示意图,如图2所示,该装置包括:
选择模块40,用于根据目标对象的操作数据从数据库中筛选得到待选数据集,其中,数据库中的每一条数据至少包括如下参数:数据标识和用户偏好。
具体地,目标对象可以是视频网站、购物网站等平台的使用者,操作数据可以是目标对象的对某条数据或者某些数据的浏览、播放等形成的数据。数据库中可以包括多条数据,以视频网站为例,数据库中包括该视频网站中全部的视频节目,其中,每一个视频节目可以为该数据库中的数据库中的一条数据,并且,每一条数据都携带有数据参数,数据参数包括数据标识、以及用户对该条数据的用户偏好。需要说明的是,用户偏好可以是喜欢该视频节目的用户,例如,用户偏好可以是点击播放过该视频节目的用户的集合。
算法模块42,用于利用遗传算法对待选数据集的数据进行处理得到目标数据集。
具体地,遗传算法可以包括选择运算、交叉运算、变异运算,可以对待选数据集中的数据进行上述的运算,可以获取到新的数据群体,可以将新的数据群体确定为目标数据集。
需要说明的是,将遗传算法应用到获取推荐数据的过程中,可以使推荐数据不断的优化,为用户提供更加合适的推荐结果,可以有效的提高获取推荐数据的效率。
确定模块44,用于当目标数据集中的数据的适应度之和达到第一预设阈值时,根据目标数据集的数据确定目标对象的推荐数据。
具体地,第一预设阈值可以是预先设置的,例如10。在上述确定模块44中,可以通过适应度函数,计算目标数据集中每一条数据的适应度,对目标数据集中每一条数据的适应度进行求和运算,可以得到该目标数据集的适应度之和。当该目标数据集的适应度之和大于等于第一预设阈值时,可以将该目标数据集中的数据确定为目标对象的推荐数据。或者,当该目标数据集的适应度之和大于等于第一预设阈值时,可以对目标数据集中的数据按照适应度的大小进行排序,选择适应度值高的一部分作为该目标对象的推荐数据。
在本申请实施例中,通过上述选择模块40,用于根据目标对象的操作数据从数据库中筛选得到待选数据集,其中,数据库中的每一条数据至少包括如下参数:数据标识和用户偏好;算法模块42,用于利用遗传算法对待选数据集的数据进行处理得到目标数据集;确定模块44,用于当目标数据集中的数据的适应度之和达到第一预设阈值时,根据目标数据集的数据确定目标对象的推荐数据的方式,解决了无法准确得到推荐数据的问题。
可选地,选择模块40包括:
计算子模块,用于通过数据库中的每一条数据的数据标识和用户偏好,计算得到数据库中的任意两条数据的数据关联度。
生成子模块,用于根据目标对象的操作数据以及数据关联度生成待选数据集。
具体地,以视频网站为例,用户偏好可以是喜欢某一视频节目的用户的名称。
例如,喜欢节目1的用户包括a、b、c,即,节目1的用户偏好为a、b、c,喜欢节目2的用户包括b、d、e,即,节目2的用户偏好为b、d、e,则,节目1与节目2的数据关联度为1/3。需要说明的是,数据关联度可以是节目的相似度。可选地,算法模块42包括。
可选地,通过如下第一公式计算得到数据库中的任意两条数据的数据关联度Wij
其中,i,j为自然数,N(i)为喜欢节目i的用户数,N(j)为喜欢节目j的用户数。N(i)∩N(j)可以表示同时喜欢节目i和节目j的用户数。
可选地,通过如下第二公式生成待选数据集Pij
其中,u为自然数,N(u)为目标对象喜欢的节目的集合,Rui为常数,表示目标对象对节目i的兴趣程度。Rui可以是通过用户评分或者节目的播放次数进行统计得来。与目标对象历史上感兴趣的节目越相似的节目,越有可能在目标对象的待选数据集中获得比较高的排名。
可选地,算法模块42可以包括:
编码子模块,用于对待选数据集中数据进行编码操作,以无符号二进制数来表示待选数据集中数据,其中,无符号二进制数中任一个数字为数据的一个基因。
具体地,遗传算法的运算对象是表示个体的符号串,所以必须把节目i和节目j编码为一种符号串。节目推荐系统中,可以使用i和j的节目号的无符号二进制整数来表示。
需要说明的是,假设节目库中只有20个节目,用户喜欢的节目有4个,因而节目i的编号可以取0-3,用2位无符号二进制整数来表示,除去用户喜欢的节目有16个,所以节目j的编号可以取0-15之间的整数,用4位无符号二进制整数来表示,将它们连接在一起所组成的6位无符号二进制数就形成了个体的基因型,表示一个可行解。例如,基因型X=011110所对应的表现型是:x=[1,14]。个体的表现型x和基因型X之间可通过编码和解码程序相互转换。
还需要说明的是,遗传算法是对群体进行的进化操作,需要给其淮备一些表示起始搜索点的初始群体数据。在上述举例中,群体规模的大小取为4,即群体由4个个体组成,每个个体可通过随机方法产生。如:100111,001000,011110,011101。
算法子模块,用于通过对无符号二进制数来表示的待选数据集中数据进行遗传运算,得到目标数据集,其中,遗传运算包括以下运算中的至少一项或者多项:选择运算、交叉运算、变异运算。
可选地,算法子模块可以包括:
选择运算单元,用于计算待选数据集中数据的适应度,通过适应度来确定数据的遗传概率,其中,遗传概率用于确定数据被选中进行遗传运算的次数。
具体地,在遗传算法中可以以个体适应度的大小来评定各个个体的优劣程度,从而决定其遗传机会的大小。其中,个体适应度即待选数据集中每一条数据的适应度。在本申请实施例中第二公式总取非负值,并且是以求最大值为优化目标,所以可直接利用第二公式的函数值作为某一个体的适应度。
需要说明的是,在遗传算法中,可以将待选数据集中适应度较高的个体(即数据)按某种规则或模型遗传到下一代数据集中。也就是说,适应度较高的个体可以有更多的机会遗传到下一代群体中。
以一种具体的应用场景为例,先根据第二公式计算出待选数据集中每一条数据的适应度的总和F:其次计算出每一条数据的适应度的大小fi/F(i=1,2,…,M),该适应度可以为每一条数据被遗传到下一代群体中的概率。每个概率值组成一个区域,可知全部概率值之和为1,最后再产生一个0到1之间的随机数,依据该随机数出现在上述哪一个概率区域内来确定每一条数据被选中的次数。例如,假设节目i的感兴趣程度,R0=1,R1=2,R2=3,R3=2.5,Wij从相似度表格中获取。
交叉运算单元,用于将选定的待选数据集中的数据进行交叉运算,得到第一子目标数据集,其中,交叉运算为将待选数据集中的被选中的数据进行随机配对,通过随机选择数据的至少一个基因进行交换。
具体地,交叉运算是遗传算法中产生新个体的主要操作过程,它以某一概率相互交换某两个数据之间的部分染色体。
在一种具体的应用场景中,可以先对选定的待选数据集中的数据进行随机配对;其次随机设置交叉点位置;最后再相互交换配对染色体之间的部分基因。
变异运算单元,用于对第一子目标数据集的数据进行变异运算,得到目标数据集,其中,变异运算为随机确定第一子目标数据集中数据的基因变异位置,对基因变异位置的基因值进行基因值取反操作。
具体地,变异运算是对某一个数据的某一个或某一些基因座上的基因值按某一较小的概率进行改变,它也是产生新数据的一种操作方法。
在一种具体的应用场景中,首先确定出各个数据的基因变异位置,下表所示为随机产生的变异点位置,其中的数字表示变异点设置在该基因座处;然后依照某一概率将变异点的原有基因值取反。
个体编号 交叉结果 变异点 变异结果 子代群体p(1)
1 101110 2 111110 111110
2 001010 3 000010 000010
3 010111 6 010110 010110
4 011100 1 111100 111100
在一种具体应用场景下,通过对待选数据集中数据进行选择运算、交叉运算以及变异运算之后,可以得到如下目标数据集。
个体编号 目标数据集 i j 适应度值 占总数比
1 111110 3 14 0.3*2.5=2.8 0.55
2 000010 0 2 0.5*1=0.5 0.10
3 010110 1 6 0.4*2=0.8 0.16
4 111100 3 12 0.4*2.5=1 0.20
总和 5.1 1
从上表中可以看出,经过一次遗传算法运算后,群体的适应度的最大值得到了改进。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种获取推荐数据的方法,其特征在于,包括:
根据目标对象的操作数据从数据库中筛选得到待选数据集,其中,所述数据库中的每一条数据至少包括如下参数:数据标识和用户偏好;
利用遗传算法对所述待选数据集的数据进行处理得到目标数据集;
当所述目标数据集中的数据的适应度之和达到第一预设阈值时,根据所述目标数据集的数据确定所述目标对象的推荐数据。
2.根据权利要求1所述的方法,其特征在于,根据目标对象的操作数据从数据库中筛选得到待选数据集包括:
通过所述数据库中的所述每一条数据的所述数据标识和所述用户偏好,计算得到所述数据库中的任意两条数据的数据关联度;
根据所述目标对象的所述操作数据以及所述数据关联度生成所述待选数据集。
3.根据权利要求2所述的方法,其特征在于,通过如下第一公式计算得到所述数据库中的任意两条数据的数据关联度Wij
W i j = | N ( i ) ∩ N ( j ) | | N ( i ) | | N ( j ) |
其中,i,j为自然数,N(i)为喜欢节目i的用户数,N(j)为喜欢节目j的用户数。
4.根据权利要求3所述的方法,其特征在于,通过如下第二公式生成所述待选数据集Pij
P i j = Σ i ∈ N ( u ) W i j R u i
其中,u为自然数,N(u)为所述目标对象喜欢的节目的集合,Rui为常数,表示所述目标对象对节目i的兴趣程度。
5.根据权利要求1所述的方法,其特征在于,利用遗传算法对所述待选数据集的数据进行处理得到目标数据集包括:
对所述待选数据集中数据进行编码操作,以无符号二进制数来表示所述待选数据集中所述数据,其中,所述无符号二进制数中任一个数字为所述数据的一个基因;
通过对所述无符号二进制数来表示的所述待选数据集中所述数据进行遗传运算,得到所述目标数据集,其中,所述遗传运算包括以下运算中的至少一项或者多项:选择运算、交叉运算、变异运算。
6.根据权利要求5所述的方法,其特征在于,通过对所述无符号二进制数来表示的所述待选数据集中所述数据进行遗传运算,得到所述目标数据集包括:
计算所述待选数据集中所述数据的适应度,通过所述适应度来确定所述数据的遗传概率,其中,所述遗传概率用于确定所述数据被选中进行遗传运算的次数;
将选定的所述待选数据集中的数据进行交叉运算,得到第一子目标数据集,其中,所述交叉运算为将所述待选数据集中的被选中的数据进行随机配对,通过随机选择所述数据的至少一个基因进行交换;
对所述第一子目标数据集的数据进行变异运算,得到所述目标数据集,其中,所述变异运算为随机确定所述第一子目标数据集中数据的基因变异位置,对所述基因变异位置的基因值进行基因值取反操作。
7.一种获取推荐数据的装置,其特征在于,包括:
选择模块,用于根据目标对象的操作数据从数据库中筛选得到待选数据集,其中,所述数据库中的每一条数据至少包括如下参数:数据标识和用户偏好;
算法模块,用于利用遗传算法对所述待选数据集的数据进行处理得到目标数据集;
确定模块,用于当所述目标数据集中的数据的适应度之和达到第一预设阈值时,根据所述目标数据集的数据确定所述目标对象的推荐数据。
8.根据权利要求7所述的装置,其特征在于,所述选择模块包括:
计算子模块,用于通过所述数据库中的所述每一条数据的所述数据标识和所述用户偏好,计算得到所述数据库中的任意两条数据的数据关联度;
生成子模块,用于根据所述目标对象的所述操作数据以及所述数据关联度生成所述待选数据集。
9.根据权利要求7所述的装置,其特征在于,所述算法模块包括:
编码子模块,用于对所述待选数据集中数据进行编码操作,以无符号二进制数来表示所述待选数据集中所述数据,其中,所述无符号二进制数中任一个数字为所述数据的一个基因;
算法子模块,用于通过对所述无符号二进制数来表示的所述待选数据集中所述数据进行遗传运算,得到所述目标数据集,其中,所述遗传运算包括以下运算中的至少一项或者多项:选择运算、交叉运算、变异运算。
10.根据权利要求9所述的装置,其特征在于,所述算法子模块包括:
选择运算单元,用于计算所述待选数据集中所述数据的适应度,通过所述适应度来确定所述数据的遗传概率,其中,所述遗传概率用于确定所述数据被选中进行遗传运算的次数;
交叉运算单元,用于将选定的所述待选数据集中的数据进行交叉运算,得到第一子目标数据集,其中,所述交叉运算为将所述待选数据集中的被选中的数据进行随机配对,通过随机选择所述数据的至少一个基因进行交换;
变异运算单元,用于对所述第一子目标数据集的数据进行变异运算,得到所述目标数据集,其中,所述变异运算为随机确定所述第一子目标数据集中数据的基因变异位置,对所述基因变异位置的基因值进行基因值取反操作。
CN201710103600.4A 2017-02-24 2017-02-24 获取推荐数据的方法和装置 Active CN106874503B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710103600.4A CN106874503B (zh) 2017-02-24 2017-02-24 获取推荐数据的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710103600.4A CN106874503B (zh) 2017-02-24 2017-02-24 获取推荐数据的方法和装置

Publications (2)

Publication Number Publication Date
CN106874503A true CN106874503A (zh) 2017-06-20
CN106874503B CN106874503B (zh) 2020-03-20

Family

ID=59167710

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710103600.4A Active CN106874503B (zh) 2017-02-24 2017-02-24 获取推荐数据的方法和装置

Country Status (1)

Country Link
CN (1) CN106874503B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109033190A (zh) * 2018-06-27 2018-12-18 微梦创科网络科技(中国)有限公司 一种推荐信息的推送方法、装置及设备
CN109886769A (zh) * 2019-01-10 2019-06-14 珠海金山网络游戏科技有限公司 一种虚拟物品的展示优化方法和装置
CN109887070A (zh) * 2019-01-10 2019-06-14 珠海金山网络游戏科技有限公司 一种虚拟脸部制作方法和装置
CN110111179A (zh) * 2019-04-28 2019-08-09 广东技术师范大学 药品组合的推荐方法、装置及计算机可读存储介质
CN111984704A (zh) * 2020-08-20 2020-11-24 支付宝(杭州)信息技术有限公司 数据筛选方法及装置
CN112632429A (zh) * 2020-12-25 2021-04-09 北京百度网讯科技有限公司 引导信息展示方法、装置、设备、存储介质和程序产品

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1756336A (zh) * 2004-09-29 2006-04-05 松下电器产业株式会社 电视频道推荐系统及推荐方法
CN102238045A (zh) * 2010-04-27 2011-11-09 广州迈联计算机科技有限公司 一种无线互联网用户行为的预测系统和方法
CN102337979A (zh) * 2011-08-11 2012-02-01 浙江大学 一种基于遗传算法的发动机自动标定参数优化方法
CN103227941A (zh) * 2012-01-31 2013-07-31 海尔集团公司 数据推送系统及数据推送方法
CN103761237A (zh) * 2013-12-04 2014-04-30 南京邮电大学 一种基于用户特征及其信任度的协同过滤推荐方法
US20140344021A1 (en) * 2013-05-14 2014-11-20 Bank Of America Corporation Reactive competitor price determination using a competitor response model
CN105868422A (zh) * 2016-06-21 2016-08-17 东北大学 一种基于弹性维特征向量优化抽取的协同过滤推荐方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1756336A (zh) * 2004-09-29 2006-04-05 松下电器产业株式会社 电视频道推荐系统及推荐方法
CN102238045A (zh) * 2010-04-27 2011-11-09 广州迈联计算机科技有限公司 一种无线互联网用户行为的预测系统和方法
CN102337979A (zh) * 2011-08-11 2012-02-01 浙江大学 一种基于遗传算法的发动机自动标定参数优化方法
CN103227941A (zh) * 2012-01-31 2013-07-31 海尔集团公司 数据推送系统及数据推送方法
US20140344021A1 (en) * 2013-05-14 2014-11-20 Bank Of America Corporation Reactive competitor price determination using a competitor response model
CN103761237A (zh) * 2013-12-04 2014-04-30 南京邮电大学 一种基于用户特征及其信任度的协同过滤推荐方法
CN105868422A (zh) * 2016-06-21 2016-08-17 东北大学 一种基于弹性维特征向量优化抽取的协同过滤推荐方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109033190A (zh) * 2018-06-27 2018-12-18 微梦创科网络科技(中国)有限公司 一种推荐信息的推送方法、装置及设备
CN109033190B (zh) * 2018-06-27 2022-02-08 微梦创科网络科技(中国)有限公司 一种推荐信息的推送方法、装置及设备
CN109886769A (zh) * 2019-01-10 2019-06-14 珠海金山网络游戏科技有限公司 一种虚拟物品的展示优化方法和装置
CN109887070A (zh) * 2019-01-10 2019-06-14 珠海金山网络游戏科技有限公司 一种虚拟脸部制作方法和装置
CN110111179A (zh) * 2019-04-28 2019-08-09 广东技术师范大学 药品组合的推荐方法、装置及计算机可读存储介质
CN110111179B (zh) * 2019-04-28 2022-05-17 广东技术师范大学 药品组合的推荐方法、装置及计算机可读存储介质
CN111984704A (zh) * 2020-08-20 2020-11-24 支付宝(杭州)信息技术有限公司 数据筛选方法及装置
CN112632429A (zh) * 2020-12-25 2021-04-09 北京百度网讯科技有限公司 引导信息展示方法、装置、设备、存储介质和程序产品
CN112632429B (zh) * 2020-12-25 2023-10-10 北京百度网讯科技有限公司 引导信息展示方法、装置、设备、存储介质和程序产品

Also Published As

Publication number Publication date
CN106874503B (zh) 2020-03-20

Similar Documents

Publication Publication Date Title
CN106874503A (zh) 获取推荐数据的方法和装置
Li et al. Using multidimensional clustering based collaborative filtering approach improving recommendation diversity
CN104615779B (zh) 一种Web文本个性化推荐方法
CN111143655B (zh) 一种新闻热度的计算方法
US20140108190A1 (en) Recommending product information
CN101124575A (zh) 用于生成推荐的方法和系统
CN107220365A (zh) 基于协同过滤与关联规则并行处理的精准推荐系统及方法
CN106844637A (zh) 基于正交与聚类修剪改进多目标遗传算法的电影推荐方法
Lappas et al. Efficient and domain-invariant competitor mining
CN106202474A (zh) 一种对象推荐方法和装置
CN105809275A (zh) 一种物品评分预测方法及装置
CN106919582A (zh) 网络项目的关联及关联信息统计方法和装置
CN108681570B (zh) 一种基于多目标进化算法的个性化网页推荐方法
Kim et al. Using a clustering genetic algorithm to support customer segmentation for personalized recommender systems
Meena et al. A survey on community detection algorithm and its applications
Bogaert et al. Identifying soccer players on Facebook through predictive analytics
Marung et al. Applying memetic algorithm-based clustering to recommender system with high sparsity problem
CN109919688A (zh) 一种考虑市场因素的电子烟产品线规划方法
CN109299368A (zh) 一种用于环境信息资源ai智能个性化推荐的方法及系统
CN115713390A (zh) 一种基于用户交易数据的鞋类流行趋势的预测推荐方法及系统
Hazela et al. Enhance movie recommender system using machine learning techniques
Farokhi et al. A new application of clustering for segmentation of banks’e-payment services based on profitability
Goutham et al. ShAD-SEF: An efficient model for shilling attack detection using stacking ensemble framework in recommender systems
CN113902533B (zh) 一种适用于财税领域指标自定义和自动化运行的应用方法
Kumar et al. An efficient recommender system using hierarchical clustering algorithm

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