本发明涉及人工智能技术,尤其涉及一种基于人工智能的推荐方法、装置、电子设备及存储介质。
背景技术:
人工智能(ai,artificialintelligence)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法和技术及应用系统。
推荐系统的点击率预测模块对输入的候选推荐信息进行点击率预估和排序,需要对几百到几千条候选推荐信息进行点击率预估,这些候选推荐信息的数量较多,难以全部展示给用户,因此需要采用混排的方法,抽取一个候选推荐信息数量较小的候选推荐信息集合,以推送到用户的手机客户端。
相关技术中普遍采用基于人工规则的混排推荐方法,在输入的候选推荐信息集合中选取指定数量的内容,在进行混排处理后输出给用户,近年来,也有基于强化学习、循环神经网络的混排方案被提出,但是这些方案实现较为复杂,没有被大规模采用。
技术实现要素:
本发明实施例提供一种基于人工智能的推荐方法、装置、电子设备及存储介质,能够高效准确地在各种推荐场景中进行全面推荐。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种基于人工智能的推荐方法,包括:
基于第一候选推荐信息集合中每个信息的点击率,对所述第一候选推荐信息集合进行采样,并将采样得到的多个信息形成第二候选推荐信息集合;
将所述第二候选推荐信息集合中点击率最高的信息转移到第三候选信息集合,以作为所述第三候选信息集合中的首个信息,并继续将所述第二候选推荐信息集合中的部分信息转移到所述第三候选信息集合,且相邻两次转移的信息之间的语义距离大于或等于语义距离阈值;
对所述第三候选推荐信息集合中的信息进行排序处理,并基于排序结果包括的多个信息执行推荐操作。
本发明实施例提供一种基于人工智能的推荐装置,包括:
信息采样模块,用于基于第一候选推荐信息集合中每个信息的点击率,对所述第一候选推荐信息集合进行采样,并将采样得到的多个信息形成第二候选推荐信息集合;
信息转移模块,用于将所述第二候选推荐信息集合中点击率最高的信息转移到第三候选信息集合,以作为所述第三候选信息集合中的首个信息,并继续将所述第二候选推荐信息集合中的部分信息转移到所述第三候选信息集合,且相邻两次转移的信息之间的语义距离大于或等于语义距离阈值;
信息排序模块,用于对所述第三候选推荐信息集合中的信息进行排序处理,并基于排序结果包括的多个信息执行推荐操作。
在上述方案中,所述基于人工智能的推荐装置还包括:
信息生成模块,用于:获取待推荐对象的用户特征,并获取与所述用户特征之间的相似度超过用户相似度阈值的其他待推荐对象;其中,所述其他待推荐对象为推荐日志中除所述待推荐对象之外的用户;获取候选推荐信息数据库中对应所述其他待推荐对象的信息,并确定所述待推荐对象针对所述信息的点击率;从所述候选推荐信息数据库中筛选出点击率超过点击率阈值的多个信息,将所述多个信息作为对应所述待推荐对象的候选推荐信息,以形成第一候选推荐信息集合。
在上述方案中,所述基于人工智能的推荐装置还包括:
点击率预测模块,还用于获取所述信息的候选推荐信息特征;基于所述候选推荐信息特征以及用户特征预测所述信息的点击率;其中,所述预测所使用的点击率预测模型是以推荐日志中的用户特征、候选推荐信息特征以及真实点击率作为训练样本,以最小化所述真实点击率与预测得到的点击率之间的误差为目标进行训练得到的。
在上述方案中,所述信息采样模块,还用于:当所述第一候选推荐信息集合中信息的数目超过启动采样功能数目阈值时,以所述信息的点击率为非线性采样概率函数的中的参数,基于所述非线性采样概率函数确定所述信息的非线性采样概率;基于所述信息的非线性采样概率,对所述信息进行随机采样处理,并以采样得到的多个信息形成所述第二候选推荐信息集合;当所述第一候选推荐信息集合中信息的数目不超过所述启动采样功能数目阈值时,确定所述第一候选推荐信息集合中的所有信息属于所述第二候选推荐信息集合。
在上述方案中,所述信息采样模块,还用于:根据以下非线性采样概率函数确定所述信息的非线性采样概率:
pro_sampling=1/(1+e-prob_coef*(pctr-prob_bias))
所述pro_sampling为所述信息的非线性采样概率,所述prob_coef以及所述prob_bias为超参数,所述e为自然底数,所述pctr为针对所述信息预测的点击率。
在上述方案中,所述信息采样模块,还用于:针对所述第一候选推荐信息集合中的每个信息执行以下处理:通过随机函数生成随机数,将所述信息的非线性采样概率与所述随机数按比例折算到相同数值区间内;将大于经过折算的随机数的非线性采样概率所对应的信息,确定为随机采样得到的信息,并从所述第一候选推荐信息集合转移到所述第二候选推荐信息集合。
在上述方案中,所述信息采样模块,还用于:当所述第二候选推荐信息集合中的信息的数目小于采样输出数目阈值时,针对所述第一候选推荐信息集合中的每个信息执行以下处理:为所述第一候选推荐信息集合中的每个信息分配相同的采样概率;按照相同的采样概率随机抽取所述第一候选推荐信息集合中的信息,以转移到所述第二候选推荐信息集合中,直到所述第二候选推荐信息集合中的信息的数目达到所述采样输出数目阈值。
在上述方案中,所述信息转移模块,还用于:当所述第二候选推荐信息集合中的信息的数目超过启动去重功能数目阈值,所述第三候选推荐信息集合中的信息的数目小于所述启动去重功能数目阈值,且所述第二候选推荐信息集合不为空时,针对所述第二候选推荐信息集合中点击率最高的信息,执行以下处理:确定所述第二候选推荐信息集合中点击率最高的信息与所述首个信息之间的语义距离;当所述语义距离大于语义距离阈值时,将所述点击率最高的信息从所述第二候选推荐信息集合转移到所述第三候选推荐信息集合,并更新为所述第三候选推荐信息集合中的首个信息;当所述语义距离不大于所述语义距离阈值时,将所述点击率最高的信息从所述第二候选推荐信息集合转移到替补推荐信息集合中。
在上述方案中,所述信息转移模块,还用于:当所述第二候选推荐信息集合中的信息的数目不超过启动去重功能数目阈值时,将所述第二候选推荐信息集合中的所有信息转移到所述第三候选推荐信息集合。
在上述方案中,所述信息转移模块,还用于:当所述第三候选推荐信息集合中的信息的数目小于所述启动去重功能数目阈值,且所述第二候选推荐信息集合为空时,针对所述替补推荐信息集合执行以下处理:为所述替补推荐信息集合中的每个信息分配相同的采样概率;按照相同的采样概率随机抽取所述替补推荐信息集合中的信息,以转移到所述第三候选推荐信息集合中,直到所述第三候选推荐信息集合中的信息的数目达到所述启动去重功能数目阈值。
在上述方案中,所述信息排序模块,还用于:将所述第三候选推荐信息集合中点击率最高的信息从所述第三候选推荐信息集合中移除,并确定为排序在首位的信息;当所述第三候选推荐信息集合不为空集时,针对所述第三候选推荐信息集合中的每个信息,执行以下处理:基于所述第三候选推荐信息集合中的信息的点击率、以及与排序在首位的信息之间的语义距离,确定所述信息的排序评分;将排序评分最高的信息确定为排序在下一位的信息,并从所述第三候选推荐信息集合中移除。
在上述方案中,所述信息排序模块,还用于:获取所述信息与排序在首位的信息之间的语义特征距离;基于评分函数确定所述信息的排序评分:
score=pctra+ws*1/edab;
其中,所述pctra为所述信息的点击率,所述ws为超参数,所述dab为所述信息与排序在首位的信息之间的语义距离。
本发明实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的基于人工智能的推荐方法。
本发明实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行时,实现本发明实施例提供的基于人工智能的推荐方法。
本发明实施例具有以下有益效果:
通过在集合中进行基于点击率和语义距离的信息转移和排序,所得到的信息不仅具有被倾向于点击的特性,并且彼此之间在语义上存在距离,实现了推荐的重复率低的效果;通过多个信息进行推荐能够对兴趣点的广泛覆盖,并且不依赖于人工设定规则,实现了高效和细粒度的精确推荐。
附图说明
图1是相关技术提供的基于人工智能的混排模块示意图;
图2是本发明实施例提供的基于人工智能的推荐系统100的一个可选的结构示意图;
图3是本发明实施例提供的应用基于人工智能的推荐方法的服务器200的结构示意图;
图4a-4e是本发明实施例提供的基于人工智能的推荐方法的一个可选的流程示意图;
图5是本发明实施例提供的基于人工智能的推荐方法的实际应用场景流程图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)候选推荐信息:即为推荐系统中的物品(候选推荐信息),物品可以是指需要被推荐的内容,比如,文本、图像、视频以及商品等等。
2)一级兴趣(类别l1):表示一个较大范围的兴趣,比如,“美食”,“经济”,“军事”等等,通常推荐系统包括几十个一级兴趣。
3)二级兴趣(类别l2):表示在某个一级兴趣下的子兴趣,比如,一级兴趣“体育”包括“篮球”,“足球”等多个二级兴趣。在推荐系统中,一般包括几百个二级兴趣。
4)标签(tag):通过自动提取或人工标注等方法,给候选推荐信息标注的标签,比如,“大学”,“苹果”,“手机”,一个候选推荐信息可以对应一个或多个标签,在推荐系统中,一般包括几万到几十万个标签。
参见图1,图1是相关技术提供的基于人工智能的混排模块示意图,推荐系统的点击率预测模块对输入的候选推荐信息进行点击率预估和排序。相关技术中的推荐系统的点击率预测模块需要对几百到几千条候选推荐信息进行点击率预估,一些支撑新闻应用产品的点击率预测模块平均处理大约2000条候选推荐信息,这些候选推荐信息的数量较多,难以全部展示给用户,因此需要采用混排的方法,使用预定义的策略抽取一个小的候选推荐信息集合,比如,数量级为10-20条的候选推荐信息集合,以推送到用户使用的客户端,推荐系统的混排模块,通常根据多样性原则,使用候选推荐信息的一级兴趣、二级兴趣、标签和点击率等制定基于人工经验的规则组合,生成指定数量的候选推荐信息序列。
在相关技术中普遍采用基于人工规则的混排推荐方法,在输入的候选推荐信息集合中选取指定数量的内容,混排后输出给用户,也有基于强化学习(rl,reinforcementlearning)、循环神经网络(rnn,recurrentneuralnetworks)的混排方案被提出,但是这些方案实现较为复杂,没有被大规模采用,相对而言,基于规则所进行的混排应用更为广泛,假设混排模块的输入数据格式为(候选推荐信息id,点击率,categoryl1,categoryl2,tag),通常在每次混排时,输入几百到几千个候选推荐信息,输出10-20条候选推荐信息,基于规则的混排实例,如下所述:定义点击率预测模块输出的候选推荐信息集合s;定义混排模块输出的候选推荐信息集合t,初始化为空;规则1:在集合s中选取点击率最高的候选推荐信息,作为混排模块输出的第1个候选推荐信息,加入集合t;集合s删除该候选推荐信息;规则2:在集合s中,根据一级兴趣、二级兴趣和标签组合规则,选取第2个候选推荐信息加入集合t;集合s删除该候选推荐信息,具体的组合规则,可以根据应用场景的需求制定;规则3:在混排生成的集合t中,每个一级兴趣的候选推荐信息总数不能超过m;规则4:在混排生成的集合t中,每个二级兴趣的候选推荐信息总数不能超过n;规则5:在混排生成的集合t中,每个标签的候选推荐信息总数不能超过k;规则6:在混排生成的候选推荐信息序列中,相同二级兴趣的两个候选推荐信息不能相邻。
通过使用上述人工规则,可以生成对应的混排输出结果,推送给用户,这种方法需要针对具体的应用场景,在大量人工经验的基础上,进行多种规则组合和测试,工作比较繁琐。在规则比较多时,不同规则之间可能存在冲突,也不容易进行优化和改进,如前所述,在相关技术的推荐系统中,通常采用人工规则的方法实现推荐内容的混排,基于人工规则的混排方法,需要进行大量繁琐的规则组合尝试,混排的粒度较粗并且难以优化,此外,基于人工规则的混排方法,需要针对不同的应用场景进行优化,不具有较好的适应性,也有基于强化学习,rnn等方法的混排方案被提出,但是这些方案比较复杂,还没有被业界广泛使用。
因此针对相关技术中常用的基于人工规则的混排方法的不足,提出了一种基于人工智能的推荐方法,其所应用的混排算法简单且高效,与相关技术中常用的基于人工规则的方法相比,本发明实施例提供的基于人工智能的推荐方法采用非线性概率采样函数对候选推荐信息进行采样,可以在保证推荐效果的基础上,实现对用户兴趣的有效探索,在概率采样的基础上,本发明实施例提供的基于人工智能的推荐方法采用一种基于隐语义相似度的方法进行候选推荐信息自动排重和混合排序,可以在更细粒度上有效的覆盖用户的兴趣点,并且可以较好的适应不同的应用场景。
本发明实施例提供一种基于人工智能的推荐方法、装置、电子设备和存储介质,能够实现重复率低且覆盖范围广的细粒度排序结果,下面说明本发明实施例提供的电子设备的示例性应用,本发明实施例提供的电子设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的用户终端,也可以实施为服务器。下面,将说明设备实施为服务器时示例性应用。
参见图2,图2是本发明实施例提供的基于人工智能的推荐系统100的一个可选的架构示意图,这里的推荐系统可以用于支撑对新闻进行推荐的应用场景,对商品进行推荐的应用场景、对视频进行推荐的应用场景等等,根据应用场景不同,候选推荐信息可以为新闻、实际商品等等,在用户使用客户端的过程中,终端400将收集到的用户针对候选推荐信息的互动行为上报至服务器200,作为训练样本数据以及对应于该用户的用户画像和用户特征,训练样本数据是来自于各个终端上报的不同用户的行为数据,基于这些行为数据进行点击率预测模型的训练,用户画像和用户特征是对应某一用户的终端所反馈得到的,点击率预测模型基于获取的对应该用户的用户画像和用户特征进行候选推荐信息的点击率预测,并基于预测结果来实施混排处理以及推荐,因此能够推荐满足用户兴趣点的内容,在此前提下通过混排处理能够实现推荐内容的多样性,下面介绍推荐系统的具体架构:终端400通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合,服务器200中的信息生成模块、点击率预测模块以及混排模块,信息生成模块使用各种推荐算法,快速从候选推荐信息数据库500中筛选出与用户相关的内容,提交给点击率预测模块,点击率预测模块使用排序模型对内容进行点击率预测和排序,然后提交给混排模块,混排模块在点击率预测模块输出的内容中选出指定数量的内容进行重排,以推荐给用户,并在用户所使用的终端400上呈现,包含内容曝光和点击率等数据的日志将被实时上报到推荐系统,作为生成用户实时特征以及内容实时特征的模型训练样本,来训练点击率预测模块中的点击率预测模型。
参见图3,图3是本发明实施例提供的应用基于人工智能的推荐方法的服务器200的结构示意图,图3所示的服务器200包括:至少一个处理器210、存储器250和至少一个网络接口220。服务器200中的各个组件通过总线系统240耦合在一起。可理解,总线系统240用于实现这些组件之间的连接通信。总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统240。
处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digitalsignalprocessor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器250可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器250可选地包括在物理位置上远离处理器210的一个或多个存储设备。
存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom,readonlymemory),易失性存储器可以是随机存取存储器(ram,randomaccessmemory)。本发明实施例描述的存储器250旨在包括任意适合类型的存储器。
在一些实施例中,存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块252,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(wifi)、和通用串行总线(usb,universalserialbus)等。
在一些实施例中,本发明实施例提供的基于人工智能的推荐装置可以采用软件方式实现,图3示出了存储在存储器250中的基于人工智能的推荐装置255,其可以是程序和插件等形式的软件,包括以下软件模块:信息生成模块2551、点击率预测模块2552、信息采样模块2553、信息转移模块2554以及信息排序模块2555,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。
在另一些实施例中,本发明实施例提供的基于人工智能的推荐装置可以采用硬件方式实现,作为示例,本发明实施例提供的基于人工智能的推荐装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的基于人工智能的推荐方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(asic,applicationspecificintegratedcircuit)、dsp、可编程逻辑器件(pld,programmablelogicdevice)、复杂可编程逻辑器件(cpld,complexprogrammablelogicdevice)、现场可编程门阵列(fpga,field-programmablegatearray)或其他电子元件。
将结合本发明实施例提供的推荐系统的示例性应用和实施,说明本发明实施例提供的基于人工智能的推荐方法。
参见图4a,图4a是本发明实施例提供的基于人工智能的推荐方法的一个可选的流程示意图,将结合图4a示出的步骤101-103进行说明。
在步骤101中,服务器基于第一候选推荐信息集合中每个信息的点击率,对第一候选推荐信息集合进行采样,并将采样得到的多个信息形成第二候选推荐信息集合。
在一些实施例中,第一候选推荐信息集合中的信息是点击率预测模块输出的候选推荐信息,对第一候选推荐信息集合中的信息进行非线性概率采样,生成一个新的候选推荐信息集合,即为第二候选推荐信息集合,非线性采样概率函数将基于候选推荐信息的点击率进行采样,候选推荐信息的点击率越高,被采样的可能性也越大,候选推荐信息的点击率越低,被采样的可能性越小,因此点击率较高的候选推荐信息大部分可以被采样到新集合,保证线上推荐效果,点击率排序在中间和尾部部分的候选推荐信息也有一定的概率被采样到新集合,实现对用户兴趣的有效探索。
在一些实施例中,在基于第一候选推荐信息集合中每个信息的点击率,对第一候选推荐信息集合进行采样之前,还可以实施以下技术方案,获取待推荐对象的用户特征,并获取与用户特征之间的相似度超过用户相似度阈值的其他待推荐对象;其中,其他待推荐对象为推荐日志中除待推荐对象之外的用户;获取候选推荐信息数据库中对应其他待推荐对象的信息,并确定待推荐对象针对信息的点击率;从候选推荐信息数据库中筛选出点击率超过点击率阈值的多个信息,将多个信息作为对应待推荐对象的候选推荐信息,以形成第一候选推荐信息集合。
在一些实施例中,推荐系统的数据量在百万至千万级别,因此需要根据用户兴趣找出与之相应的一批内容,获取到数据量为千至万的候选推荐信息集合,这一过程称为召回过程,这里的对应用户的信息即为对应用户的候选推荐信息,用户与候选推荐信息的交互行为日志分两种:评分矩阵与曝光点击率,召回过程的基本思想为:先确定用户相似度,找到与待推荐用户最邻近的多个用户,然后根据这些用户对候选推荐信息的评分预测出待推荐用户对候选推荐信息的评分,用户相似度即为历史评分行为相似,这也可以说明爱好相似,使用培生相关系数确定两个用户的相似度,培生相关系数的值从-1(强负相关)到1(强正相关),培生相关系数的计算考虑到了不同用户评分标准不尽相同这一情况,有些用户习惯性给高分,有些习惯性差评。
在一些实施例中,在基于第一候选推荐信息集合中每个信息的点击率,对第一候选推荐信息集合进行采样之前,还可以执行以下技术方案,获取候选推荐信息的候选推荐信息特征;基于候选推荐信息特征以及用户特征预测候选推荐信息的点击率;其中,预测所使用的点击率预测模型是以推荐日志中的用户特征、候选推荐信息特征以及真实点击率作为训练样本,以最小化真实点击率与预测得到的点击率之间的误差为目标进行训练得到的。
在一些实施例中,通过点击率预测模型对候选推荐信息进行点击率预测,这里的点击率预测模型的训练样本是通过日式实时上报得到的,通过用户的行为日志,可以获取到用户与候选推荐对象之间的互动行为,这里的互动行为可以是点击、收藏、转发或者评论中的一种或者多种,其中,收藏、转发或者评论等行为均是基于点击所进行的,因此,这里以点击率为主要指标,通过用户特征、候选推荐信息的信息特征以及对候选推荐信息的真实点击率数据作为训练样本对点击率预测模型进行正向传递,具体过程如下,通过点击率预测模型中的卷积层获取待推荐用户的用户特征以及候选推荐信息的信息特征,对用户特征以及信息特征进行融合处理,通过点击率预测模型的池化层对融合特征进行降维处理,再通过全连接层对特征进行映射得到点击率的预测结果,将预测结果与真实点击率代入损失函数中,根究损失函数的结果反向更新点击率预测模型的参数值,以使得损失函数最小收敛,最后将损失函数最小收敛时所得到的点击率预测模型作为点击率预测模块中所使用的点击率预测模型,对召回的候选推荐信息预测待推荐用户对其的点击率。
参见图4b,图4b是本发明实施例提供的基于人工智能的推荐方法的一个可选的流程示意图,步骤101中服务器基于第一候选推荐信息集合中每个信息的点击率,对第一候选推荐信息集合进行采样,可以通过图4b示出的步骤1011-1013实现。
在步骤1011中,当第一候选推荐信息集合中信息的数目超过启动采样功能数目阈值时,以候选推荐信息的点击率为非线性采样概率函数的中的参数,服务器基于非线性采样概率函数确定候选推荐信息的非线性采样概率。
在一些实施例中,步骤1011中以候选推荐信息的点击率为非线性采样概率函数的中的参数,服务器基于非线性采样概率函数确定候选推荐信息的非线性采样概率,可以通过以下技术方案实现,根据以下非线性采样概率函数(1)确定候选推荐信息的非线性采样概率:
pro_sampling=1/(1+e-prob_coef*(pctr-prob_bias))(1)
其中,pro_sampling为候选推荐信息的非线性采样概率,prob_coef以及prob_bias为超参数,e为自然底数,pctr为针对候选推荐信息预测的点击率,这里的非线性采样概率函数不局限与上述公式,可以在底数以及对数前设置不同的系数,以针对不同的数据场景进行调整。
在一些实施例中,非线性采样概率函数将基于候选推荐信息的点击率进行采样,候选推荐信息的点击率越高,被采样的可能性也越大,候选推荐信息的点击率越低,被采样的可能性越小,因此点击率较高的候选推荐信息大部分可以被采样到新集合,保证线上推荐效果,点击率排序在中间和尾部部分的候选推荐信息也有一定的概率被采样到新集合,实现对用户兴趣的有效探索。
在步骤1012中,基于候选推荐信息的非线性采样概率,服务器对候选推荐信息进行随机采样处理,并以采样得到的多个候选推荐信息形成第二候选推荐信息集合。
在一些实施例中,步骤1012中基于候选推荐信息的非线性采样概率,对候选推荐信息进行随机采样处理,并以采样得到的多个候选推荐信息形成第二候选推荐信息集合,可以通过以下技术方案实现,针对第一候选推荐信息集合中的每个信息执行以下处理:通过随机函数生成随机数,将信息的非线性采样概率与随机数按比例折算到相同数值区间内;将大于经过折算的随机数的非线性采样概率所对应的候选推荐信息,确定为随机采样得到的候选推荐信息,并从第一候选推荐信息集合转移到第二候选推荐信息集合。
在一些实施例中,调用随机数生成函数以生成一个随机数,将随机数与每个信息的非线性采样概率折合到相同的数值区间内,例如,随机数生成函数是在0-100内生成随机数,则将非线性采样概率按照0-100进行折合,当随机函数是在0-100内生成的随机数20时且非线性采样概率为40%时,则将非线性采样概率折合为40,此时非线性采样概率大于随机数20,则将该非线性采样概率所对应的候选推荐信息确定为随机采样得到的候选推荐信息,并将该候选推荐信息从第一候选推荐信息集合转移到第二候选推荐信息集合,这里的转移意味着将该候选推荐信从第一候选推荐信息集合中删除,并添加到第二候选推荐信息集合中。
在步骤1013中,当第一候选推荐信息集合中信息的数目不超过启动采样功能数目阈值时,服务器确定第一候选推荐信息集合中的所有候选推荐信息属于第二候选推荐信息集合。
在一些实施例中,当第一候选推荐信息集合中信息的数目小于启动采样功能数目阈值时,即召回的信息本就数量级不够,因此便不需要进行采样,例如当启动采样功能数目阈值为10000时,但是召回信息的数目不足10000,则直接将第一候选推荐信息集合中的所有候选推荐信息属于第二候选推荐信息集合,即相当于略过采样过程,直接进行到去重过程。
在一些实施例中,当第二候选推荐信息集合中的候选推荐信息的数目小于采样输出数目阈值时,针对第一候选推荐信息集合中的每个信息执行以下处理:为第一候选推荐信息集合中的每个候选推荐信息分配相同的采样概率;按照相同的采样概率随机抽取第一候选推荐信息集合中的候选推荐信息,以转移到第二候选推荐信息集合中,直到第二候选推荐信息集合中的信息的数目达到采样输出数目阈值。
在一些实施例中,还可以执行以下技术方案,当第二候选推荐信息集合中的候选推荐信息的数目小于采样输出数目阈值时,这里的采样输出数目阈值时根据采样率来确定的,例如第一候选推荐信息集合中的信息数目为100,采样率为50%,则采样输出数目阈值为50,即在第二候选推荐信息集合中的数目未达到50条的时候,针对第一候选推荐信息集合中的每个信息执行以下处理,这里的第一候选推荐信息已经少了一部分转移到第二候选推荐信息集合中的信息,将对当前第一候选推荐信息集合中的每个信息进行继续采样,这里的继续采样可以直接进行随机抽取,即为第一候选推荐信息集合中的每个候选推荐信息分配相同的采样概率;按照相同的采样概率随机抽取第一候选推荐信息集合中的候选推荐信息,以转移到第二候选推荐信息集合中,直到第二候选推荐信息集合中的信息的数目达到采样输出数目阈值,具体过程如下,仍然调用随机数生成函数,生成随机数,为每个候选推荐信息分配相同的概率,仍然将概率与随机数折合到相同的数值区间内,将大于随机数的概率所对应的候选推荐信息转移到第二候选推荐信息集合中,不断重复上述过程直到第二候选推荐信息集合中的候选推荐信息的数目达到采样输出数目阈值。
在一些实施例中,对当前第一候选推荐信息集合中的每个信息进行继续采样,这里的继续采样可以仍然基于非线性采样概率进行随机抽取,具体过程如下,仍然调用随机数生成函数,生成随机数,按照非线性采样概率函数为每个候选推荐信息生成各自的非线性采样概率,仍然将概率与随机数折合到相同的数值区间内,将大于随机数的概率所对应的候选推荐信息转移到第二候选推荐信息集合中,不断重复上述过程直到第二候选推荐信息集合中的候选推荐信息的数目达到采样输出数目阈值。
在步骤102中,服务器将第二候选推荐信息集合中点击率最高的信息转移到第三候选信息集合,以作为第三候选信息集合中的首个信息,并继续将第二候选推荐信息集合中的部分信息转移到第三候选信息集合,且相邻两次转移的信息之间的语义距离大于或等于语义距离阈值。
参见图4c,图4c是本发明实施例提供的基于人工智能的推荐方法的一个可选的流程示意图,步骤102中继续将第二候选推荐信息集合中的部分信息转移到第三候选信息集合,且相邻两次转移的信息之间的语义距离大于或等于语义距离阈值,可以通过图4c示出的步骤1021-1023实现。
当第二候选推荐信息集合中的候选推荐信息的数目超过启动去重功能数目阈值,第三候选推荐信息集合中的候选推荐信息的数目小于启动去重功能数目阈值,且第二候选推荐信息集合不为空时,针对第二候选推荐信息集合中点击率最高的候选推荐信息,这里的去重功能数目阈值为第三候选推荐信息集合中的信息数目,即为进行去重处理后需要得到的信息的数目,当第二候选推荐信息集合中的信息数目超过第三候选推荐信息集合中的信息数目时,意味着需要对第二候选推荐信息集合执行去重处理,第三候选推荐信息集合中的候选推荐信息的数目小于启动去重功能数目阈值,意味着第三候选推荐信息集合中的信息数目没有达到预先设定的数值,即还需要继续对第二候选推荐信息集合进行去重处理,当满足上述条件时,执行以下处理:
在步骤1021中,服务器确定第二候选推荐信息集合中点击率最高的候选推荐信息与首个信息之间的语义距离。
在一些实施例中,这里的语义距离是基于两个信息各自的语义特征获得的,这里的语义特征可以是候选推荐信息的隐语义向量,候选推荐信息的隐语义向量格式为[a1,a2,a3,…,an],ai是浮点数,候选推荐信息的隐语义向量长度是在矩阵分解或基于深度神经网络的推荐算法训练时进行指定,在工程实现时,将候选推荐信息的隐语义向量同步到混排模块的服务器,存储在服务器内存的哈希表中,从而在混排时可以使用候选推荐信息的标识在哈希表中快速查询对应的隐语义向量,两个信息之间的语义距离的确定方式参见公式(2):
其中,dab为候选推荐信息a和候选推荐信息b之间的语义距离,ai和bi分别是候选推荐信息a和候选推荐信息b的隐语义向量。
在步骤1022中,当语义距离大于语义距离阈值时,服务器将点击率最高的候选推荐信息从第二候选推荐信息集合转移到第三候选推荐信息集合,并更新为第三候选推荐信息集合中的首个信息。
在一些实施例中,语义距离大于语义距离阈值表征两个候选推荐信息之间的相似度较低,意味着两个候选推荐信息可以是属于不同的一级兴趣、不同的二级兴趣或者是不同的标签,这里点击率最高的候选推荐信息是当前第二候选推荐信息集合中的信息,当语义距离大于语义距离阈值时,服务器将点击率最高的候选推荐信息从第二候选推荐信息集合中删除,添加到第三候选推荐信息集合中,更新为第三候选推荐信息集合中的首个信息,继续将第二候选推荐信息集合中的点击率最高的候选推荐信息与刚刚更新到第三候选推荐信息集合的首个信息进行语义距离确定,以从第二候选推荐信息集合中,继续筛选出与上一个转移到第三候选推荐信息集合中的信息不相似的信息,转移到第三候选推荐信息集合,这里的相似以及不相似是通过语义距离阈值来界定的,当两个信息之间的语义距离大于语义距离阈值时,确定两个信息属于不相似的信息,当两个信息之间的语义距离不大于语义距离阈值时,确定两个信息属于相似的信息。
在步骤1023中,当将语义距离不大于语义距离阈值时,服务器将点击率最高的候选推荐信息从第二候选推荐信息集合转移到替补推荐信息集合中。
在一些实施例中,语义距离不大于语义距离阈值表征两个候选推荐信息之间的相似度较高,意味着两个候选推荐信息可以是属于相同的一级兴趣、相同的二级兴趣或者是相同的标签,这里点击率最高的候选推荐信息是当前第二候选推荐信息集合中的信息,当语义距离不大于语义距离阈值时,服务器将点击率最高的候选推荐信息从第二候选推荐信息集合中删除,添加到替补推荐信息集合中,这里的替补推荐信息集合是一个备用集合。
在一些实施例中,还可以执行以下技术方案,当第三候选推荐信息集合中的信息的数目小于启动去重功能数目阈值,且第二候选推荐信息集合为空时,针对替补推荐信息集合执行以下处理:为替补推荐信息集合中的每个信息分配相同的采样概率;按照相同的采样概率随机抽取替补推荐信息集合中的信息,以转移到第三候选推荐信息集合中,直到第三候选推荐信息集合中的候选推荐信息的数目达到启动去重功能数目阈值。
在一些实施例中,这里的启动去重功能数目阈值实际上是预先设定的经过去重处理后得到的第三候选推荐信息集合中应该有的元素数目,当第二候选推荐信息集合中的候选推荐信息的数目不超过启动去重功能数目阈值时,将第二候选推荐信息集合中的所有候选推荐信息转移到第三候选推荐信息集合,相当于略去去重的过程,第三候选推荐信息集合中的信息的数目小于启动去重功能数目阈值,且第二候选推荐信息集合为空时,表征第三候选推荐信息集合中的信息的数目没有达到预先设定的数目,但第二候选推荐信息集合已经是一个空集,这时利用替补推荐信息集合,将其中的信息转移到第三候选推荐信息集合中。
在一些实施例中,按照相同的采样概率随机抽取替补推荐信息集合中的信息,以转移到第三候选推荐信息集合中,直到第三候选推荐信息集合中的候选推荐信息的数目达到启动去重功能数目阈值的过程可以参考上述采样过程的实施方式,即为替补候选推荐信息集合中的每个候选推荐信息分配相同的采样概率;按照相同的采样概率随机抽取替补候选推荐信息集合中的候选推荐信息,以转移到第三候选推荐信息集合中,直到第三候选推荐信息集合中的信息的数目达到启动去重功能数目阈值,具体过程如下,仍然调用随机数生成函数,生成随机数,为每个候选推荐信息分配相同的概率,仍然将概率与随机数折合到相同的数值区间内,将大于随机数的概率所对应的候选推荐信息转移到第三候选推荐信息集合中,不断重复上述过程直到第三候选推荐信息集合中的候选推荐信息的数目达到启动去重功能数目阈值。
通过采用上述方法,可以快速实现候选推荐信息的相似去重,在更细的粒度上高效筛选出覆盖用户不同兴趣点的候选推荐信息组合以优化推荐效果,其中,语义距离的取值决定了相似去重的输出结果,需要根据具体的应用场景选取合适的值。
在步骤103中,服务器对第三候选推荐信息集合中的信息进行排序处理,并基于排序结果包括的多个信息执行推荐操作。
参见图4d,图4d是本发明实施例提供的基于人工智能的推荐方法的一个可选的流程示意图,步骤103中对第三候选推荐信息集合中的信息进行排序处理,可以通过图4d示出的步骤1031-1032实现。
在步骤1031中,服务器将第三候选推荐信息集合中点击率最高的候选推荐信息从第三候选推荐信息集合中移除,并确定为排序在首位的候选推荐信息。
在步骤1032中,当第三候选推荐信息集合不为空集时,服务器针对第三候选推荐信息集合中的每个信息,执行以下处理:
在步骤10321中,服务器基于第三候选推荐信息集合中的候选推荐信息的点击率、以及第三候选推荐信息集合中的候选推荐信息与排序在首位的候选推荐信息之间的语义距离,确定候选推荐信息的排序评分。
这里的语义距离是第三候选推荐信息集合中的候选推荐信息与排序在首位的候选推荐信息之间的语义距离,并且这里的第三候选推荐信息集合中的候选推荐信息指的是第三候选推荐信息集合中的每个候选推荐信息。
在一些实施例中,步骤10321中基于服务器基于第三候选推荐信息集合中的候选推荐信息的点击率、以及第三候选推荐信息集合中的候选推荐信息与排序在首位的候选推荐信息之间的语义距离,确定候选推荐信息的排序评分,可以通过以下技术方案实现,获取候选推荐信息与排序在首位的候选推荐信息之间的语义特征距离;基于评分函数(3)确定候选推荐信息的排序评分:
score=pctra+ws*1/edab(3)
其中,pctra为候选推荐信息的点击率,ws为超参数,dab为候选推荐信息与排序在首位的候选推荐信息之间的语义距离。
这里pctra与底数之前的系数也是可以进行调整,以适应不同的数据场景。
在步骤10322中,服务器将排序评分最高的候选推荐信息确定为排序在下一位的候选推荐信息,并从第三候选推荐信息集合中移除。
在一些实施例中,首先将第三候选推荐信息集合中的点击率最高的候选推荐信从第三候选推荐信息中移除,并将其排在首位,之后确定当前第三候选推荐信息集合中每个信息与之前移除排在首位的信息之间的语义距离,将语义距离与当前第三候选推荐信息集合中每个信息的点击率代入到评分函数(3)中,得到当前第三候选推荐信息集合中每个信息的评分,将评分最高的信息从第三候选推荐信息集合中移除,作为排序在下一位的候选推荐信息,之后不断重复这个过程,直到第三候选推荐信息集合为空集,即确定了每个第三候选推荐信息集合中的每个信息的排序位置。
参见图4e,图4e是本发明实施例提供的基于人工智能的推荐方法的整体交互流程图,下面结合步骤201-208进行说明。
在步骤201中,终端将待推荐用户针对候选推荐信息的互动行为上报至服务器,作为训练样本数据以及待推荐用户的用户特征。
这里的训练样本数据是来自于各个终端上报的不同待推荐用户的行为数据,基于这些行为数据进行点击率预测模型的训练,用户特征是对应待推荐用户的终端所反馈得到的。
在步骤202中,服务器基于用户特征从候选推荐信息数据库获取多个候选推荐信息,形成第一候选推荐信息集合。
在步骤203中,服务器通过点击率预测模型基于用户特征预测候选推荐信息的点击率。
在步骤204中,服务器基于第一候选推荐信息集合中每个信息的点击率,对第一候选推荐信息集合进行采样,并将采样得到的多个信息形成第二候选推荐信息集合。
在步骤205中,服务器将第二候选推荐信息集合中点击率最高的信息转移到第三候选信息集合,以作为第三候选信息集合中的首个信息,并继续将第二候选推荐信息集合中的部分信息转移到第三候选信息集合,且相邻两次转移的信息之间的语义距离大于或等于语义距离阈值。
在步骤206中,服务器对第三候选推荐信息集合中的信息进行排序处理。
在步骤207中,服务器基于排序结果包括的多个信息向终端执行推荐操作。
在步骤208中,终端对接收到的多个信息进行呈现。
下面,将说明本发明实施例在新闻推荐场景中的示例性应用。
参见图5,图5是本发明实施例提供的基于人工智能的推荐方法的实际应用场景流程图,新闻客户端对应的推荐系统包括候选内容生成部分、点击率预估部分和混排等部分,如图5所示,候选内容生成部分使用基于物品与物品(i2i,item-to-item)、用户协同过滤(ucf,user-basedcollaborativefiltering)、物品协同过滤(icf,item-basedcollaborativefiltering)的推荐算法等不同的算法,快速在内容数据库中筛选出1000-2000个与用户相关的内容,提交给点击率预估部分,点击率预估部分使用点击率预测序模型对内容进行点击率预测和排序,然后提交给混排部分,混排布恩根据人工规则在排序的内容中选出指定数量的内容进行重排,推荐给用户,在新闻客户端中,内容的曝光和点击等用户日志将实时上报到推荐系统的日志系统,使用客户端上报的用户日志可以生成用户与内容的实时特征和模型训练样本。
本发明实施例提供一种基于人工智能的推荐方法,其核心是基于概率采样和相似度的混排推荐算法,包括非线性概率采样,基于候选推荐信息隐向量的相似排重算法和混合排序结果生成等部分,以下将分别对各部分进行介绍。
在非线性概率采样中,将首先对点击率预测模块输出的候选推荐信息进行非线性概率采样,生成一个新的候选推荐信息集合,非线性采样概率函数将基于候选推荐信息的点击率进行采样,参见公式1,候选推荐信息的点击率越高,被采样的可能性也越大,候选推荐信息的点击率越低,被采样的可能性越小,因此点击率较高的候选推荐信息大部分可以被采样到新集合,保证线上推荐效果,点击率排序在中间和尾部部分的候选推荐信息,也有一定的概率被采样到新集合,实现对用户兴趣的有效探索。
pro_sampling=1/(1+e-prob_coef*(pctr-prob_bias))(1)
其中,prob_coef与prob_bias是超参数,需要根据具体应用需求,选取合适的值,通过使用不同的超参数组合,可以调整不同点击率的候选推荐信息在新生成集合的占比。
假设点击率预估模块的输入候选推荐信息集合input_set,候选推荐信息数量cinput;启动概率采样功能的最小候选推荐信息数量cmin;概率采样比例不小于r;概率采样的输出集合定义为output_set,具体概率采样的步骤如下:
步骤1:比较输入集合input_set的候选推荐信息数量cinput和cmin。如果cinput>cmin,启动概率采样功能,否则,不启动概率采样功能,完成本次概率采样。
步骤2:对集合input_set包含的候选推荐信息,根据候选推荐信息的点击率,使用公式1计算其被非线性采样的概率。
步骤3:根据每个候选推荐信息被采样的概率,采用随机的方法判断是否被采样,如果该候选推荐信息被采样,将其加入输出集合output_set,在集合input_set中删除这个候选推荐信息。
步骤4:计算集合output_set的候选推荐信息数量coutput,如果coutput<cinput*r,那么在集合input_set中随机抽取cinput*r–coutput个候选推荐信息,加入集合output_set,如果coutput大于或者等于cinput*r,完成本次概率采样。
下面说明基于候选推荐信息隐语义向量进行相似排重过程,在完成候选推荐信息的非线性概率采样后,将生成一个新的候选推荐信息集合,为了对候选推荐信息进行细粒度的自适应排重,更好的覆盖用户的兴趣点,将使用基于候选推荐信息隐语义的相似度计算方法,其中,候选推荐信息的隐向量将直接采用矩阵分解或基于dnn的推荐算法等得到的结果,候选推荐信息的隐语义向量格式为[a1,a2,a3,…,an],ai是浮点数,候选推荐信息的隐语义向量长度,在矩阵分解或基于dnn的推荐算法训练时进行指定,在工程实现时,将候选推荐信息的隐语义向量同步到混排模块的服务器,存储在服务器内存的哈希表中,从而在混排时可以使用候选推荐信息的标识在哈希表中快速查询对应的隐语义向量。
基于候选推荐信息隐语义向量的自适应排重方法的步骤如下:定义输入集合s,初始化经过非线性概率采样输出的候选推荐信息集合,集合中元素数量为n;定义输出集合t,初始化为空集,集合t的候选推荐信息数量不能超过m;定义替补推荐信息集合r,初始化为空;定义候选推荐信息a,候选推荐信息b的隐向量距离计算公式,如公式2所示:
其中,dab为候选推荐信息a和候选推荐信息b之间的语义距离,ai和bi分别是候选推荐信息a和候选推荐信息b的隐语义向量。
定义候选推荐信息的语义距离阈值d,作为一个超参数,其可以根据具体需求进行调整,具体处理过程如下:
步骤1:如果集合s的元素数量小于等于m,将集合s的元素全部放入集合t,清空集合s,停止处理流程,如果集合s的元素数量大于m,转到步骤2。
步骤2:选取集合s中点击率最高的候选推荐信息(标记为s1)加入集合t,作为集合t的第1个元素(首个信息),标记为t1,集合s删除s1,原点击率排序在第二位的s2作为新的s1。
步骤3:使用公式2计算s1与t1的距离,如果两者的距离小于等于d,那么在集合s中删除s1,将其加入集合r,然后计算新的s1与t1的距离,依次迭代,如果两者的距离大于d,那么将s1加入集合t,集合s删除s1。
步骤4:假设集合t中已经包含i个元素(i<m),集合s中剩余j个元素,集合r中包含n-i-j个元素,在计算集合t的第i+1个元素时,计算ti与s1的距离,如果两者的距离小于等于d,集合s删除s1,将其加入集合r,然后计算新的s1与ti的距离,依次迭代,如果两者的距离大于d,那么将s1加入集合t,作为第i+1个元素,集合s删除s1。
步骤5:如果集合t的元素数量tcount<m,集合s中的元素不为空,重复迭代步骤4,如果集合t的元素数量tcount等于m,停止处理流程,如果集合s中的元素为空,t的元素数量小于m,转到步骤6。
步骤6:在集合r中对每个候选推荐信息使用相同的概率,随机抽取m-tcount条候选推荐信息,放入集合t,停止处理流程。
通过采用上述方法,可以快速实现输入候选推荐信息的相似排重,在更细的粒度上高效筛选出覆盖用户不同兴趣点的候选推荐信息组合,以优化推荐效果,其中,超参数d的取值决定了混排的输出结果,需要根据具体的应用场景,选取合适的值。
下面介绍混排过程,在完成集合t的生成后,将对t中包含的元素根据候选推荐信息的点击率和候选推荐信息之间的相似度等维度进行排序,选取集合t中点击率最高的候选推荐信息,作为输出序列soutput的第1个候选推荐信息。集合t删除这个候选推荐信息,假设输出序列已经包含i个候选推荐信息,集合t包含m-i个元素,计算输出序列第i+1个元素的方法如下:使用集合t中的每个候选推荐信息(简记为a)和输出序列的第i个候选推荐信息(简记为b),采用公式3计算分数,选取分数最大的候选推荐信息,作为输出序列的第i+1个候选推荐信息,集合t删除该候选推荐信息,依次迭代:
score=pctra+ws*1/edab(3)
其中,pctra为候选推荐信息的点击率,ws为超参数,dab为候选推荐信息与排序在首位的候选推荐信息之间的语义距离,需要根据具体需求,选取合适的值,通过本发明实施例提供的基于人工智能的推荐方法,基于排序结果对作为候选推荐信息的新闻进行推荐,由于分数与点击率呈现正向相关,因此所推荐的新闻符合用户的兴趣点,属于用户感兴趣的信息范畴,并且在进行基于分数进行排序之前,已经基于语义距离阈值进行了去重处理,因此,所推荐的新闻之间不具有较强的相似性,例如所推荐的新闻可以是属于不同的一级兴趣或者是属于不同的二级兴趣,从而实现了基于用户兴趣的多样化推荐。
本发明实施例提供的基于人工智能的推荐方法是一种基于概率采样和相似度的自适应混排推荐算法,与相关技术中常用的基于人工规则的混排方法相比,其创新点在于,第一,对排序模块输入的候选推荐信息序列,使用非线性概率采样函数进行采样,在保证推荐效果的基础上,可以更好的对用户兴趣进行探索;第二,对概率采样得到的候选推荐信息集合,使用基于隐语义相似度的方法进行自动去重和混合排序,在细粒度的维度上更好的覆盖用户的兴趣点,与基于人工规则的混排推荐方法相比,本发明实施例提供的基于人工智能的推荐方法不仅具有上述优点,还具有简单高效,不需要繁琐的规则组合与尝试,可以适应不同应用场景等特点。
本发明实施例提供的基于人工智能的推荐方法是一种基于概率采样和相似度的混排解决方案,可以实现细粒度且高效的自动混排推荐,与相关技术中通常采用的基于人工规则的混排方法相比,本发明实施例提供的基于人工智能的推荐方法简单、高效、可以避免大量人工的规则组合与尝试工作,适用于不同的应用场景,在新闻客户端的推荐频道上线并进行a/b测试实验,与相关技术中的混排方案相比,其点击率等指标正向。
下面继续说明本发明实施例提供的基于人工智能的推荐装置255的实施为软件模块的示例性结构,在一些实施例中,如图3所示,存储在存储器250的基于人工智能的推荐方法装置255中的软件模块可以包括:信息采样模块2553,用于基于第一候选推荐信息集合中每个信息的点击率,对第一候选推荐信息集合进行采样,并将采样得到的多个信息形成第二候选推荐信息集合;信息转移模块2554,用于将第二候选推荐信息集合中点击率最高的信息转移到第三候选信息集合,以作为第三候选信息集合中的首个信息,并继续将第二候选推荐信息集合中的部分信息转移到第三候选信息集合,且相邻两次转移的信息之间的语义距离大于或等于语义距离阈值;信息排序模块2555,用于对第三候选推荐信息集合中的信息进行排序处理,并基于排序结果包括的多个信息执行推荐操作。
在上述方案中,基于人工智能的推荐装置255还包括:信息生成模块2551,用于:获取待推荐对象的用户特征,并获取与用户特征之间的相似度超过用户相似度阈值的其他待推荐对象;其中,其他待推荐对象为推荐日志中除待推荐对象之外的用户;获取候选推荐信息数据库中对应其他待推荐对象的信息,并确定待推荐对象针对信息的点击率;从候选推荐信息数据库中筛选出点击率超过点击率阈值的多个信息,将多个信息作为对应待推荐对象的候选推荐信息,以形成第一候选推荐信息集合。
在上述方案中,基于人工智能的推荐装置255还包括:点击率预测模块2552,还用于获取候选推荐信息的候选推荐信息特征;基于候选推荐信息特征以及用户特征预测候选推荐信息的点击率;其中,预测所使用的点击率预测模型是以推荐日志中的用户特征、候选推荐信息特征以及真实点击率作为训练样本,以最小化真实点击率与预测得到的点击率之间的误差为目标进行训练得到的。
在上述方案中,信息采样模块2553,还用于:当第一候选推荐信息集合中信息的数目超过启动采样功能数目阈值时,以候选推荐信息的点击率为非线性采样概率函数的中的参数,基于非线性采样概率函数确定候选推荐信息的非线性采样概率;基于候选推荐信息的非线性采样概率,对候选推荐信息进行随机采样处理,并以采样得到的多个候选推荐信息形成第二候选推荐信息集合;当第一候选推荐信息集合中信息的数目不超过启动采样功能数目阈值时,确定第一候选推荐信息集合中的所有候选推荐信息属于第二候选推荐信息集合。
在上述方案中,信息采样模块2553,还用于:根据以下非线性采样概率函数确定候选推荐信息的非线性采样概率:
pro_sampling=1/(1+e-prob_coef*(pctr-prob_bias))
pro_sampling为候选推荐信息的非线性采样概率,prob_coef以及prob_bias为超参数,e为自然底数,pctr为针对候选推荐信息预测的点击率。
在上述方案中,信息采样模块2553,还用于:针对第一候选推荐信息集合中的每个信息执行以下处理:通过随机函数生成随机数,将信息的非线性采样概率与随机数按比例折算到相同数值区间内;将大于经过折算的随机数的非线性采样概率所对应的候选推荐信息,确定为随机采样得到的候选推荐信息,并从第一候选推荐信息集合转移到第二候选推荐信息集合。
在上述方案中,信息采样模块2553,还用于:当第二候选推荐信息集合中的候选推荐信息的数目小于采样输出数目阈值时,针对第一候选推荐信息集合中的每个信息执行以下处理:为第一候选推荐信息集合中的每个候选推荐信息分配相同的采样概率;按照相同的采样概率随机抽取第一候选推荐信息集合中的候选推荐信息,以转移到第二候选推荐信息集合中,直到第二候选推荐信息集合中的信息的数目达到采样输出数目阈值。
在上述方案中,信息转移模块2554,还用于:当第二候选推荐信息集合中的候选推荐信息的数目超过启动去重功能数目阈值,第三候选推荐信息集合中的候选推荐信息的数目小于启动去重功能数目阈值,且第二候选推荐信息集合不为空时,针对第二候选推荐信息集合中点击率最高的候选推荐信息,执行以下处理:确定第二候选推荐信息集合中点击率最高的信息与首个信息之间的语义距离;当语义距离大于语义距离阈值时,将点击率最高的候选推荐信息从第二候选推荐信息集合转移到第三候选推荐信息集合,并更新为第三候选推荐信息集合中的首个信息;当将语义距离不大于语义距离阈值时,将点击率最高的候选推荐信息从第二候选推荐信息集合转移到替补推荐信息集合中。
在上述方案中,信息转移模块2554,还用于:当第二候选推荐信息集合中的候选推荐信息的数目不超过启动去重功能数目阈值时,将第二候选推荐信息集合中的所有候选推荐信息转移到第三候选推荐信息集合。
在上述方案中,信息转移模块2554,还用于:当第三候选推荐信息集合中的信息的数目小于启动去重功能数目阈值,且第二候选推荐信息集合为空时,针对替补推荐信息集合执行以下处理:为替补推荐信息集合中的每个信息分配相同的采样概率;按照相同的采样概率随机抽取替补推荐信息集合中的信息,以转移到第三候选推荐信息集合中,直到第三候选推荐信息集合中的候选推荐信息的数目达到启动去重功能数目阈值。
在上述方案中,信息排序模块2555,还用于:将第三候选推荐信息集合中点击率最高的候选推荐信息从第三候选推荐信息集合中移除,并确定为排序在首位的候选推荐信息;当第三候选推荐信息集合不为空集时,针对第三候选推荐信息集合中的每个信息,执行以下处理:基于第三候选推荐信息集合中的候选推荐信息的点击率、以及与排序在首位的候选推荐信息之间的语义距离,确定候选推荐信息的排序评分;将排序评分最高的候选推荐信息确定为排序在下一位的候选推荐信息,并从第三候选推荐信息集合中移除。
在上述方案中,信息排序模块2555,还用于:获取信息与排序在首位的候选推荐信息之间的语义特征距离;基于评分函数确定候选推荐信息的排序评分:
score=pctra+ws*1/edab;
其中,pctra为候选推荐信息的点击率,ws为超参数,dab为信息与排序在首位的候选推荐信息之间的语义距离。
本发明实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本发明实施例提供的基于人工智能的推荐方法,例如,如图4a-4e示出的基于人工智能的推荐方法。
在一些实施例中,存储介质可以是fram、rom、prom、eprom、eeprom、闪存、磁表面存储器、光盘、或cd-rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(html,hypertextmarkuplanguage)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上,通过本发明实施例对候选推荐信息进行多次信息转移,且每次转移的信息之间的语义距离大于语义距离阈值,从而使得候选推荐信息的重复率低且覆盖范围广,对经过信息转移的候选推荐信息进行排序,从而获得细粒度排序结果。
以上,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。