本申请涉及机器学习技术领域,特别是涉及一种用户推荐模型训练方法、装置、计算机设备和存储介质。
背景技术:
随着计算机技术的发展,人工智能技术也进入了飞速发展的时期。机器学习是人工智能技术的分支之一。机器学习通过对大量数据进行学习,从而可以对输入的数据进行预测和分类。在互联网交友平台,也可以通过机器学习实现用户推荐。比如可以通过机器学习为新注册的用户推荐好友,以增加新用户的互动性以及粘合度。
在传统技术中,交友平台一般采取的是基于协同过滤的用户推荐方法,即根据用户的历史行为数据计算两两用户之间的相似度,然后根据计算得到的相似度进行推荐。协同过滤简单来说是利用某兴趣相投、拥有共同经验之群体的喜好来推荐用户感兴趣的信息,个人通过合作的机制给予信息相当程度的回应(如评分)并记录下来以达到过滤的目的进而帮助别人筛选信息。
然而,这种基于协同过滤的婚恋推荐方法,存在数据稀疏性和冷启动问题,也就是说,大部分用户之间没有互动行为,并未产生任何联系,若是新注册的用户则根本没有历史交互数据,因此这种推荐方法无法为需要用户推荐真正合适的、适合用户,推荐的准确率较低。
技术实现要素:
基于此,有必要针对上述技术问题,提供一种能够提高用户推荐准确度的用户推荐模型训练方法、装置、计算机设备和存储介质。
一种用户推荐模型训练方法,所述方法包括:
从数据库中获取多个用户对作为训练样本;
根据所述用户对的互动类型确定每个训练样本的样本目标值以及所述样本目标值的目标等级;
对所述训练样本的样本特征进行提取,得到对应的样本特征;
将所述样本特征输入至推荐模型,所述推荐模型通过所述样本特征确定各个训练样本的排序;
当各个训练样本的排序与所述目标等级的匹配率达到预设准确度时,得到训练好的推荐模型。
一种用户推荐模型训练装置,所述装置包括:
训练样本选取模块,用于从数据库中获取多个用户对作为训练样本;
训练目标确定模块,用于根据所述用户对的互动类型确定每个训练样本的样本目标值以及所述样本目标值的目标等级;对所述训练样本的样本特征进行提取,得到对应的样本特征;
模型训练模块,用于将所述样本特征输入至推荐模型,所述推荐模型通过所述样本特征确定各个训练样本的排序;当各个训练样本的排序与所述目标等级的匹配率达到预设准确度时,得到训练好的推荐模型。
一种计算机设备,包括存储器、处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
从数据库中获取多个用户对作为训练样本;
根据所述用户对的互动类型确定每个训练样本的样本目标值以及所述样本目标值的目标等级;
对所述训练样本的样本特征进行提取,得到对应的样本特征;
将所述样本特征输入至推荐模型,所述推荐模型通过所述样本特征确定各个训练样本的排序;
当各个训练样本的排序与所述目标等级的匹配率达到预设准确度时,得到训练好的推荐模型。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
从数据库中获取多个用户对作为训练样本;
根据所述用户对的互动类型确定每个训练样本的样本目标值以及所述样本目标值的目标等级;
对所述训练样本的样本特征进行提取,得到对应的样本特征;
将所述样本特征输入至推荐模型,所述推荐模型通过所述样本特征确定各个训练样本的排序;
当各个训练样本的排序与所述目标等级的匹配率达到预设准确度时,得到训练好的推荐模型。
上述用户推荐模型训练方法、装置、计算机设备和存储介质,通过将数据库的历史数据中存在互动操作记录的用户对作为训练样本,并根据不同的互动操作记录的类型确定各个训练样本的样本目标值和目标等级,以此方式确定推荐模型的模型目标,从而可以确定训练好的推荐模型对训练样本进行排序后的顺序与训练样本的目标等级是尽量匹配的,即各个训练样本的排序与目标等级的匹配率能够达到预设准确度。那么在将训练好的推荐模型投入至实际使用中时,推荐模型能够根据主动方用户与被动方用户组成的用户对的用户特征,计算主动方分别与各个被动方的匹配度,并将匹配度高的被动方作为主动方的推荐用户,从而大幅度的提高了推荐准确率。
附图说明
图1为一个实施例中用户推荐模型训练方法的流程示意图;
图2为一个实施例中在得到训练好的推荐模型之后,还包括的步骤的流程示意图;
图3为一个实施例中用户推荐模型训练装置的结构框图;
图4为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种用户推荐模型训练方法,包括以下步骤:
步骤102,从数据库中获取多个用户对作为训练样本。
在数据库中存储有特定应用的用户数据,可以从数据库中获取多个用户组成用户对,作为推荐模型的训练样本。为了便于描述,可以将通过特定应用的推荐页获取推荐列表的用户称为主动方,被推荐给主动方的异性用户称为被动方。即,主动通过推荐页寻找可交往好友的称为主动方,而推荐给主动方的则称为被动方。在选取用户对时,包括从数据库中随机挑选的用户与预设的互动类型的用户。随机挑选的用户是指,从数据库中随机与主动方是异性的用户与该主动方组成用户对。具体地,还可以从特定应用的推荐页上获取活跃的,并且为主动方的异性的用户。特定应用可以是珍爱网对应的应用、小程序或网页等。预设的互动类型的用户是指,技术人员预先设定了几种互动类型,并根据互动类型从数据库中选取主动方的异性用户。
比如,预先设定的互动类型有:类型2、在推荐页浏览后点击进入主页;类型3:在推荐页浏览点击进入主页后产生互动操作;类型4:互动操作后收到被动方回复。具体的,以用户a为例,将用户a作为主动方,若是用户a在推荐页浏览并点击进入了用户b的主页,那么用户a与用户b组成的用户对则属于类型2。若是用户a在推荐页浏览并点击进入了用户c的主页,且与用户c产生了互动操作,如点赞,打招呼,发消息,评论等,那么用户a与用户c组成的用户对则属于类型3。若是用户a在推荐页浏览并点击进入了用户d的主页,且与用户d产生了互动操作,如点赞,打招呼,发消息,评论等,并且用户d回复了用户a的消息,或者用户d也给用户a进行点赞,打招呼,评论等,则用户a与用户d组成的用户对则属于类型4。将从数据库中随机挑选出来的,与用户a组成用户对的异性用户,则属于类型1:随机挑选的用户。
步骤104,根据用户对的互动类型确定每个训练样本的样本目标值以及样本目标值的目标等级。
在选取了多个用户对作为训练样本后,可以根据用户对的互动类型确定每个训练样本的样本目标值和样本目标值对应的目标等级。样本目标值是指根据每个互动等级的用户对的用户特征进行计算得到的目标值,目标等级是指不同的样本目标值之间的等级关系。比如为每个用户对1的用户特征设置一个权重,那么对用户对1的全部用户特征进行加权求和得到的值即为用户对1的样本目标值。推荐模型的模型目标则是,不断的调整每个用户特征的权重,使得不同的互动类型的训练样本的样本目标值满足设定的目标等级。
比如上述的4种互动类型,类型1、类型2、类型3、类型4,可分别为这四种互动类型设定对应的样本目标值,互动类型1的样本目标值为fx(1),互动类型2的样本目标值为fx(2,互动类型3的样本目标值为fx(3),互动类型4的样本目标值为fx(4)。目标等级则是设定fx(4)>fx(3)>fx(2)>fx(1),即推荐模型需要不断的调整权重,使得满足互动类型4的用户对所对应的样本目标值要大于互动类型3用户对的样本目标值,以此类推。为主动方进行用户推荐被动方的目标是,主动方能够与被动方进行互动操作,这样可说明主动方对于推荐的被动方是感兴趣且愿意交流的,若是为主动方推荐的被动方,主动方并不理会则说明为主动方推荐的用户是不精准的,是与主动方的择偶要求有很大出入的。因此将类型4的等级设为最高,也说明了推荐模型的模型目标为尽可能的为主动方推荐符合互动类型4的被动方。
在一个实施例中,根据用户对的互动类型确定每个训练样本的样本目标值以及样本目标值的目标等级,包括:当训练样本至少符合两种互动类型时,将训练样本确定为等级最高的目标等级。
在选取训练样本时,会存在同一个训练样本符合两种或两种以上的互动类型的情况,则可以将目标等级高的目标等级作为训练样本的目标等级。比如,用户对1同时符合互动类型2和互动类型3时,则可以将目标等级更高的互动类型3作为用户对1的目标等级。若是随机挑选出来的属于互动类型1中用户对符合互动类型3,则可以将该用户对的互动类型确定为目标等级更高的互动类型3。
在一个实施例中,在对训练样本的样本特征进行提取,得到对应的样本特征之前,还包括:根据训练样本的目标等级对训练样本进行样本加权处理,将训练样本的数量按照预设比例进行复制增加。
在根据用户对的互动类型确定了每个训练样本的样本目标值以及样本目标值的目标等级后,还可以根据训练样本的目标等级对训练样本进行样本加权处理。具体的,可以对排在前两位的目标等级的训练样本进行加权处理。训练样本包括4种互动等级,分别为类型1:随机挑选出来与主动方组成的用户对;类型2:主动方与在推荐页浏览后点击进入主页的被动方组成的用户对;类型3:主动方与在推荐页浏览点击进入主页后并产生互动操作的被动方组成的用户对;类型4:主动方与互动操作后收到被动方回复的用户组成的用户对。
由于用户点击推荐列表上的用户卡片后,再给列表上的异性发消息(互动)的比例比较低,而发送的消息再得到异性的回复比例更低,但这样的互动类型却是为用户进行好友推荐后,希望这两个用户之间能够产生的互动操作,所以可以对这两种互动类型的训练样本进行加权处理,即将训练样本的数量按照预设比例进行复制增加,以提高这两种互动类型的训练样本的数量,从而使得训练样本可以更好地学习推荐模型。进一步的,各个互动类型之间的预设比例可以设置为,类型1、类型2、类型3、类型4的比例分别为1:1:10:20。预设比例可以根据实际需要进行调整,上述的比例是指,若是互动类型1的数量、互动类型2、互动类型3、互动类型4当前的训练样本数量均为1,那么可以将互动类型3与互动类型4的训练样本数量进行复制,分别复制9个和10个,使得互动类型1、互动类型2、互动类型3、互动类型4的训练样本数量的比例达到1:1:10:20。
步骤106,对训练样本的样本特征进行提取,得到对应的样本特征。
步骤108,将样本特征输入至推荐模型,推荐模型通过样本特征确定各个训练样本的排序。
步骤110,当各个训练样本的排序与目标等级的匹配率达到预设准确度时,得到训练好的推荐模型。
在确定了选取的训练样本后,可以对训练样本的样本特征进行提取。样本特征是根据训练样本中包含的两个用户的用户信息进行提取得到的,样本特征主要针对训练样本而言,本质上来说,样本特征实际上就是用户对的用户特征。样本特征可以包括:用户年龄、收入、学历、身高、婚姻情况、注册时间、最后登录的时间等基本信息,还可以包括有7天内被点击的次数、7天内登录次数等统计信息。训练样本中包含有两个用户,因此训练样本提取出来的样本特征实际上是由两个用户的用户信息组成的。比如训练样本为用户对a-b,用户年龄的特征编号为1,其中,用户a的年龄为区间23-25,用户的年龄为26-28,那么用户年龄这一样本特征可以表示为<23-25,26-28>。
进一步地,还可以将样本特征量化为特征值,具体的量化标准可根据实际需要而定,且不同的样本特征的量化标准也会不同。比如,当用户对两个用户的年龄相差不超过一个档位时,可量化为0,而年龄相差2个或2个以上的档位时,可量化为1。档位是指预定设定的年龄段,比如1-16,17-19,20-22…。在对样本特征进行提取量化后,还可以对样本特征进行归一化处理,比如将用户的特征值归一化至[0,1]。具体地,不同的样本特征归一化的数值区间根据实际需要而定,可能会存在差异。
在提取了样本特征并进行了归一化的处理后,可以将训练样本的样本特征输入至推荐模型中,对推荐模型进行训练。在将样本特征输入至推荐模型中时,可以将训练样本按照libsvm(一套支持向量机的库)数据格式写入至train.dat(训练数据)文件中,从而可以将训练文件输入至推荐模型中进行训练,推荐模型可以是svmrank模型(排序分类机器学习)。libsvm数据格式是svmrank模型训练文件的格式,即把所有数据写入到train.dat文件中的格式。具体格式如下:<目标值><qid:用户id><特征编号:特征值><特征编号:特征值><特征编号:特征值>…#<备注信息>,其中,每行代表一条训练样本。
比如,数据格式可以如下:3qid:11:12:13:04:0.25:0#1a;2qid:11:02:03:14:0.15:1#1b;1qid:11:02:13:04:0.45:0#1c;1qid:11:02:03:14:0.35:0#1d;1qid:21:02:03:14:0.25:0#2a;2qid:21:12:03:14:0.45:0#2b;1qid:21:02:03:14:0.15:0#2c;1qid:21:02:03:14:0.25:0#2d;2qid:31:02:03:14:0.15:1#3a;3qid:31:12:13:04:0.35:0#3b;4qid:31:12:03:04:0.45:1#3c;1qid:31:02:13:14:0.55:0#3d;3qid:11:12:13:04:0.2。以第一条数据为例,3qid:1的代表的含义是目标值是3,用户的id为1,后面一连串分别代表是特征编号为1的特征值是1,特征编号为2的特征值是1,特征编号为3的特征值是0,特征编号为4的特征值是0.2,特征编号为5的特征值是0,#号后面的则是备注信息,由技术人员根据需要进行编辑。
模型训练文件train.dat准备好后,可以调用svmrank模型进行训练,具体的,命令可以为:svm_rank_learn-c1train.datmodel.dat。其中,model.dat为学习好的模型文件。为了提高训练后的推荐模型的准确率,还可以引入惩罚系数c,惩罚系数c用于平衡训练错误与最大分类间隔,即对于错误分类的样本加入一定的惩罚。
在将样本特征输入至推荐模型后,推荐模型会根据输入的训练数据进行学习,具体的,推荐模型会根据样本特征确定各个训练样本的排序,以使训练样本的排序尽量的符合训练样本的目标值所对应的目标等级。比如,训练样本a1的样本目标值为3,训练样本a2的样本目标值为4,训练样本a3的样本目标值为1,训练样本a4的样本目标值为2。那么根据预先确定的,目标值的目标等级为4>3>2>1,那么推荐模型在根据各个训练样本的样本特征来确定训练样本的排序时,应尽可能的使得这4个训练样本的排序符合a2>a1>a4>a3。
因此,可根据推荐模型对训练样本的排序与训练样本的目标等级,确定推荐模型的匹配率。若是推荐模型的匹配率达到百分百,则说明推荐模型可以根据目标等级对全部的训练样本进行正确的排序。可以设定一个预设准确度,当推荐模型的匹配率达到预设准确度时,可认为推荐模型完成了训练,即可得到训练好的推荐模型,若是推荐模型的匹配率未达到预设准确度,则需要继续对推荐模型进行训练,直到推荐模型的匹配率达到预设准确度。
在一个实施例中,将样本特征输入至推荐模型,推荐模型通过样本特征确定各个训练样本的排序,包括:推荐模型对每个训练样本的样本特征值进行加权求和,计算得到每个训练样本对应的样本分值;推荐模型按照从大到小的顺序对样本分值进行排序,得到训练样本的预测排名。
将多个训练样本的样本特征输入至推荐模型后,推荐模型可以对每个训练样本的样本特征值进行加权求和,从而可以计算得到每个训练样本对应的样本分值。比如训练样本a1有5个样本特征,分别为x1,x2,x3,x4,x5,每个样本特征对应的权重分别为q1,q2,q3,q4,q5,那么训练样本a1的样本分值y=x1*q1+x2*q2+x3*q3+x4*q4+x5*q5,每个训练样本都会有对应的样本分值,推荐模型可以根据样本分值的大小对样本分值进行排序,从而可以得到推荐模型对训练样本的预测排名。推荐模型的最终目的是根据样本分值对训练样本进行排序,且排序对应的顺序要尽量符合各个训练样本的目标等级。
在一个实施例中,当各个训练样本的排序与目标等级的匹配率达到预设准确度时,得到训练好的推荐模型,包括:将训练样本的预测排名与目标等级进行匹配比对;根据比对结果确定推荐模型的匹配率;当匹配率达到预设准确度时,得到训练好的推荐模型。
在确定推荐模型是否训练完毕时,可通过推荐模型的匹配率来决定。可以依次将训练样本的预测排名与目标等级进行匹配比对,从而可以根据匹配比对结果确定推荐模型的匹配率,当匹配率达到预设准确度时,即可得到训练好的推荐模型。
上述用户推荐模型训练方法,通过将数据库的历史数据中存在互动操作记录的用户对作为训练样本,并根据不同的互动操作记录的类型确定各个训练样本的样本目标值和目标等级,以此方式确定推荐模型的模型目标,从而可以确定训练好的推荐模型对训练样本进行排序后的顺序与训练样本的目标等级是尽量匹配的,即各个训练样本的排序与目标等级的匹配率能够达到预设准确度。那么在将训练好的推荐模型投入至实际使用中时,推荐模型能够根据主动方用户与被动方用户组成的用户对的用户特征,计算主动方分别与各个被动方的匹配度,并将匹配度高的被动方作为主动方的推荐用户,从而大幅度的提高了推荐准确率。
在一个实施例中,如图2所示,在得到训练好的推荐模型之后,还包括以下步骤:
步骤202,获取待推荐用户的主动方的用户特征与择友信息。
步骤204,根据择友信息从数据库中筛选出预设筛选数量的用户作为被动方。
步骤206,将主动方分别与每个被动方组成对应的推荐用户对。
步骤208,提取每个推荐用户对的用户特征,得到多个用户特征。
步骤210,将用户特征输入至训练好的推荐模型中,训练好的推荐模型通过用户特征确定各个推荐用户对的排序。
步骤212,选取预设数量的排名靠前的推荐用户对中的被动方作为主动方的推荐用户。
在推荐模型训练完毕得到训练好的推荐模型后,可以将推荐好的推荐模型投入至实际使用中,通过推荐模型为用户进行好友推荐。在本实施例中,可以将需要为其推荐用户的称为主动方,可以获取待推荐用户的主动方的用户特征与择友信息,择友信息是指主动方预先填写的对异性的要求信息,比如要求对方的年龄是在21-23岁,学历为本科及以上等等。可以根据主动方的择友信息,从数据库中筛选出预设数量的符合主动方的择友要求的用户,并将这些用户作为被动方。可以将主动方分别与每个被动方组成预设数量的推荐用户对,从而可以对每个推荐用户对的用户特征进行提取,可得到每个推荐用户对的用户特征。
提取了每个推荐用户对的用户特征后,可以将用户特征输入至训练好的推荐模型中,训练好的推荐模型会对每个推荐用户对的用户特征值进行加权计算,以确定每个推荐用户对的分值,从而确定各个推荐用户对的排序。按照分值大小依次将推荐用户对进行排列,则可以选取预设数量的排名靠前的推荐用户对作为可推荐的用户对,那么这些可推荐的用户对中的被动方即可作为主动方的推荐用户。
这种推荐方案,没有冷启动问题,训练好的推荐模型也可以为新用户的进行推荐,可以获取到新用户的用户特征和择友信息为新用户进行精准的用户推荐,大幅度的提高了推荐的准确率,从而可以提高特定应用的用户留存率、互动率,进一步还可以提高用户的付费率等。
应该理解的是,虽然图1-2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图3所示,提供了一种用户推荐模型训练装置,包括:
训练样本选取模块302,用于从数据库中获取多个用户对作为训练样本。
训练目标确定模块304,用于根据用户对的互动类型确定每个训练样本的样本目标值以及样本目标值的目标等级;对训练样本的样本特征进行提取,得到对应的样本特征。
模型训练模块306,用于将样本特征输入至推荐模型,推荐模型通过样本特征确定各个训练样本的排序;当各个训练样本的排序与目标等级的匹配率达到预设准确度时,得到训练好的推荐模型。
在一个实施例中,上述训练样本选取模块302还用于根据训练样本的目标等级对训练样本进行样本加权处理,将训练样本的数量按照预设比例进行复制增加。
在一个实施例中,上述训练目标确定模块304还用于当训练样本至少符合两种互动类型时,将训练样本确定为等级最高的目标等级。
在一个实施例中,上述模型训练模块306还用于推荐模型对每个训练样本的样本特征值进行加权求和,计算得到每个训练样本对应的样本分值;推荐模型按照从大到小的顺序对样本分值进行排序,得到训练样本的预测排名。
在一个实施例中,上述模型训练模块306还用于将训练样本的预测排名与目标等级进行匹配比对;根据比对结果确定推荐模型的匹配率;当匹配率达到预设准确度时,得到训练好的推荐模型。
在一个实施例中,上述装置还包括模型运用模块(图中未示出),用于获取待推荐用户的主动方的用户特征与择友信息;根据择友信息从数据库中筛选出预设筛选数量的用户作为被动方;将主动方分别与每个被动方组成对应的推荐用户对;提取每个推荐用户对的用户特征,得到多个用户特征;将用户特征输入至训练好的推荐模型中,训练好的推荐模型通过用户特征确定各个推荐用户对的排序;选取预设数量的排名靠前的推荐用户对中的被动方作为主动方的推荐用户。
关于用户推荐模型训练装置的具体限定可以参见上文中对于用户推荐模型训练方法的限定,在此不再赘述。上述用户推荐模型训练装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储用户推荐模型训练的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种用户推荐模型训练方法。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:从数据库中获取多个用户对作为训练样本;根据用户对的互动类型确定每个训练样本的样本目标值以及样本目标值的目标等级;对训练样本的样本特征进行提取,得到对应的样本特征;将样本特征输入至推荐模型,推荐模型通过样本特征确定各个训练样本的排序;当各个训练样本的排序与目标等级的匹配率达到预设准确度时,得到训练好的推荐模型。
在一个实施例中,根据用户对的互动类型确定每个训练样本的样本目标值以及样本目标值的目标等级,包括:当训练样本至少符合两种互动类型时,将训练样本确定为等级最高的目标等级。
在一个实施例中,将样本特征输入至推荐模型,推荐模型通过样本特征确定各个训练样本的排序,包括:推荐模型对每个训练样本的样本特征值进行加权求和,计算得到每个训练样本对应的样本分值;推荐模型按照从大到小的顺序对样本分值进行排序,得到训练样本的预测排名。
在一个实施例中,当各个训练样本的排序与目标等级的匹配率达到预设准确度时,得到训练好的推荐模型,包括:将训练样本的预测排名与目标等级进行匹配比对;根据比对结果确定推荐模型的匹配率;当匹配率达到预设准确度时,得到训练好的推荐模型。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据训练样本的目标等级对训练样本进行样本加权处理,将训练样本的数量按照预设比例进行复制增加。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取待推荐用户的主动方的用户特征与择友信息;根据择友信息从数据库中筛选出预设筛选数量的用户作为被动方;将主动方分别与每个被动方组成对应的推荐用户对;提取每个推荐用户对的用户特征,得到多个用户特征;将用户特征输入至训练好的推荐模型中,训练好的推荐模型通过用户特征确定各个推荐用户对的排序;选取预设数量的排名靠前的推荐用户对中的被动方作为主动方的推荐用户。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:从数据库中获取多个用户对作为训练样本;根据用户对的互动类型确定每个训练样本的样本目标值以及样本目标值的目标等级;对训练样本的样本特征进行提取,得到对应的样本特征;将样本特征输入至推荐模型,推荐模型通过样本特征确定各个训练样本的排序;当各个训练样本的排序与目标等级的匹配率达到预设准确度时,得到训练好的推荐模型。
在一个实施例中,根据用户对的互动类型确定每个训练样本的样本目标值以及样本目标值的目标等级,包括:当训练样本至少符合两种互动类型时,将训练样本确定为等级最高的目标等级。
在一个实施例中,将样本特征输入至推荐模型,推荐模型通过样本特征确定各个训练样本的排序,包括:推荐模型对每个训练样本的样本特征值进行加权求和,计算得到每个训练样本对应的样本分值;推荐模型按照从大到小的顺序对样本分值进行排序,得到训练样本的预测排名。
在一个实施例中,当各个训练样本的排序与目标等级的匹配率达到预设准确度时,得到训练好的推荐模型,包括:将训练样本的预测排名与目标等级进行匹配比对;根据比对结果确定推荐模型的匹配率;当匹配率达到预设准确度时,得到训练好的推荐模型。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据训练样本的目标等级对训练样本进行样本加权处理,将训练样本的数量按照预设比例进行复制增加。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取待推荐用户的主动方的用户特征与择友信息;根据择友信息从数据库中筛选出预设筛选数量的用户作为被动方;将主动方分别与每个被动方组成对应的推荐用户对;提取每个推荐用户对的用户特征,得到多个用户特征;将用户特征输入至训练好的推荐模型中,训练好的推荐模型通过用户特征确定各个推荐用户对的排序;选取预设数量的排名靠前的推荐用户对中的被动方作为主动方的推荐用户。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。