掌桥专利:专业的专利平台
掌桥专利
首页

针对推荐系统的解释方法、装置、设备及可读存储介质

文献发布时间:2023-06-19 13:46:35


针对推荐系统的解释方法、装置、设备及可读存储介质

技术领域

本申请涉及计算机技术领域,具体而言,本申请涉及一种针对推荐系统的解释方法、装置、设备及计算机可读存储介质。

背景技术

现有技术中推荐系统的目标是为用户推荐可能会感兴趣的推荐内容。但是要让用户信任推荐系统,就需要针对推荐系统进行解释,即向用户提供推荐原因,例如,推荐系统向用户推荐某家餐厅,推荐原因是该餐厅的环境好、菜好吃、价格便宜等。现有方案针对推荐系统所做的解释,即对推荐系统中的模型或特征所做的解释,无法解释用户行为(用户请求)与推荐系统的推荐结果(推荐内容)之间的因果关系。同时对于黑盒的推荐系统,在不知道推荐系统中的模型和特征,或推荐系统中的模型和特征非常复杂的情况下,现有方案很难解释推荐系统的推荐结果,即不能解释用户行为与推荐系统的推荐结果之间的因果关系。

发明内容

本申请针对现有的方式的缺点,提出一种针对推荐系统的解释方法、装置、设备及计算机可读存储介质,用以解决如何实现能够解释用户请求与推荐系统的推荐内容之间因果关系的问题。

第一方面,本申请提供了一种针对推荐系统的解释方法,包括:

响应于第一请求,获取针对第一请求的第一推荐内容,第一推荐内容为预期从推荐系统中得到的推荐内容,并执行推荐内容比对操作:

响应于将第一请求发送至推荐系统,得到推荐系统根据第一请求推荐的第二推荐内容;

当第二推荐内容对应的第二特征向量和第一推荐内容对应的第一特征向量之间的相似度小于预设相似度,且向推荐系统请求推荐内容的总请求次数小于预设请求次数,则对第一请求进行更新处理;

重复执行推荐内容比对操作的步骤,直至当第二特征向量和第一特征向量之间相似度不小于预设相似度,得到针对推荐系统的第一解释;

第一解释包括在预设请求次数内,推荐系统针对第一请求具备推荐第一推荐内容的响应能力。

在一个实施例中,当第二推荐内容对应的第二特征向量和第一推荐内容对应的第一特征向量之间的相似度小于预设相似度,且总请求次数不小于预设请求次数,则得到针对推荐系统的第二解释;第二解释包括在预设请求次数内,推荐系统针对第一请求不具备推荐第一推荐内容的响应能力。

在一个实施例中,对第一请求进行更新处理,包括:

构建第一历史请求集合,第一历史请求集合包括第一请求;

将第一历史请求集合中的各历史请求分别输入至预设的预测模型,得到各历史请求分别对应的内容标签,内容标签用于标识响应于相应历史请求、推荐系统推荐的历史推荐内容,内容标签包括历史推荐内容的相关信息;

确定各个历史推荐内容分别对应的历史特征向量与第一推荐内容对应的第一特征向量之间的相识度,并将得到的相识度中的最小相似度对应的历史请求作为更新后的第一请求。

在一个实施例中,预测模型是通过以下方式训练得到的:

基于预设的第二历史请求集合,构建训练样本集合;基于训练样本集合,对待训练的初始预测模型进行迭代训练,得到训练后的预测模型;

在初始预测模型迭代训练过程中执行以下处理:

以训练样本集合包括的样本请求为初始预测模型的输入样本,并以样本请求对应的内容标签为初始预测模型的输出结果,将输入样本和输出结果代入初始预测模型对应的损失函数得到损失函数值,并基于损失函数值对初始预测模型的模型参数进行更新处理,直至根据损失函数值满足预定条件时得到的预测模型参数对初始预测模型的模型参数进行更新,得到训练后的预测模型。

在一个实施例中,将第一请求发送至推荐系统,包括:

基于预设的决策算法生成操作指令,并将操作指令传输至任一应用程序;

响应于任一应用程序基于操作指令生成的第一请求,将第一请求发送至推荐系统。

在一个实施例中,当第二推荐内容对应的第二特征向量和第一推荐内容对应的第一特征向量之间的相似度小于预设相似度,且向推荐系统请求推荐内容的总请求次数小于预设请求次数,则对第一请求进行更新处理,包括:

当第二推荐内容对应的第二特征向量和第一推荐内容对应的第一特征向量之间的距离大于预设距离,且向推荐系统请求推荐内容的总请求次数小于预设请求次数,则对第一请求进行更新处理;

第二特征向量和第一特征向量之间的距离与相似度成负相关。

在一个实施例中,当第二推荐内容对应的第二特征向量和第一推荐内容对应的第一特征向量之间的相似度小于预设相似度,且总请求次数不小于预设请求次数,则得到针对推荐系统的第二解释,包括:

当第二推荐内容对应的第二特征向量和第一推荐内容对应的第一特征向量之间的相似度小于预设相似度,总请求次数不小于预设请求次数,且总请求次数中每次得到的第二推荐内容都相同,则得到第二解释,第二解释包括确定第一请求不是构成推荐系统推荐第二推荐内容的因素,第二推荐内容包括热点事件。

第二方面,本申请提供了一种针对推荐系统的解释装置,包括:

第一处理模块,用于响应于第一请求,获取针对第一请求的第一推荐内容,第一推荐内容为预期从推荐系统中得到的推荐内容;

第二处理模块,用于执行推荐内容比对操作:

响应于将第一请求发送至推荐系统,得到推荐系统根据第一请求推荐的第二推荐内容;

当第二推荐内容对应的第二特征向量和第一推荐内容对应的第一特征向量之间的相似度小于预设相似度,且向推荐系统请求推荐内容的总请求次数小于预设请求次数,则对第一请求进行更新处理;

重复执行推荐内容比对操作的步骤,直至当第二特征向量和第一特征向量之间相似度不小于预设相似度,得到针对推荐系统的第一解释;

第一解释包括在预设请求次数内,推荐系统针对第一请求具备推荐第一推荐内容的响应能力。

第三方面,本申请提供了一种电子设备,包括:处理器、存储器和总线;

总线,用于连接处理器和存储器;

存储器,用于存储操作指令;

处理器,用于通过调用操作指令,执行本申请第一方面的针对推荐系统的解释方法。

第四方面,本申请提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被用于执行本申请第一方面的针对推荐系统的解释方法。

本申请实施例提供的技术方案,至少具有如下有益效果:

将推荐系统根据第一请求(用户请求,即用户行为)推荐的第二推荐内容与第一推荐内容进行比对操作,当在预设请求次数内,第二推荐内容对应的第二特征向量和第一推荐内容对应的第一特征向量之间的相似度不小于预设相似度,则推荐系统针对第一请求具备推荐第一推荐内容的响应能力;如此,可以针对推荐系统进行如下解释:用户和推荐系统在有限次的交互中,推荐系统可以针对用户请求进行较为快速的响应,用户可以得到预定想要的推荐内容,用户请求与推荐系统的推荐内容之间构成了因果关系,即该用户请求对应的产生该推荐内容。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。

图1为本申请实施例提供的系统架构的示意图;

图2为本申请实施例提供的一种针对推荐系统的解释方法的流程示意图;

图3为本申请实施例提供的另一种针对推荐系统的解释方法的流程示意图;

图4为本申请实施例提供的一种针对推荐系统的解释装置的结构示意图;

图5为本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

为使得本申请的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

下面详细描述本申请的实施例,该实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

本申请实施例是针对即时通信领域中的推荐系统提供的一种针对推荐系统的解释方法,该针对推荐系统的解释方法涉及人工智能领域中的机器学习技术领域,以及云技术的多种领域,例如云技术中的云计算、云服务等。

云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。

作为云计算的基础能力提供商,会建立云计算资源池(简称云平台,一般称为IaaS(Infrastructure as a Service,基础设施即服务)平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。

按照逻辑功能划分,在IaaS(Infrastructure as a Service,基础设施即服务)层上可以部署PaaS(Platform as a Service,平台即服务)层,PaaS层之上再部署SaaS(Software as a Service,软件即服务)层,也可以直接将SaaS部署在IaaS上。PaaS为软件运行的平台,如数据库、web容器等。SaaS为各式各样的业务软件,如web门户网站、短信群发器等。一般来说,SaaS和PaaS相对于IaaS是上层。

所谓人工智能云服务,一般也被称作是AIaaS(AIas a Service,中文为“AI即服务”)。这是目前主流的一种人工智能平台的服务方式,具体来说AIaaS平台会把几类常见的AI服务进行拆分,并在云端提供独立或者打包的服务。这种服务模式类似于开了一个AI主题商城:所有的开发者都可以通过API接口的方式来接入使用平台提供的一种或者是多种人工智能服务,部分资深的开发者还可以使用平台提供的AI框架和AI基础设施来部署和运维自已专属的云人工智能服务。

人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。

机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。

为了更好的理解及说明本申请实施例的方案,下面对本申请实施例中所涉及到的一些技术用语进行简单说明。

推荐系统:互联网的出现和普及给用户带来了大量的信息,满足了用户在信息时代对信息的需求,但随着网络的迅速发展而带来的网上信息量的大幅增长,使得用户在面对大量信息时无法从中获得对自己真正有用的那部分信息,对信息的使用效率反而降低了,这就是所谓的信息超载问题。解决信息超载问题一个非常有潜力的办法是推荐系统,推荐系统是根据用户的信息需求、兴趣等,将用户感兴趣的信息、产品等推荐给用户的个性化信息推荐系统。推荐系统通过研究用户的兴趣偏好,进行个性化计算,由推荐系统发现用户的兴趣点,从而引导用户发现自己的信息需求。

Feed流:Feed流是信息流;在互联网领域,Feed流产品例如朋友圈、微博等,图片分享网站也是一种形式的Feed流产品;App可以有一个模块,该模块名称为动态、消息广场等,该模块也是Feed流产品。

欧氏距离:欧氏距离是一个通常采用的距离定义,指在m维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离)。在二维和三维空间中的欧氏距离就是两点之间的实际距离。

余弦相似度:余弦相似度用向量空间中两个向量夹角的余弦值作为衡量两个个体间差异的大小。余弦值越接近1,就表明夹角越接近0度,也就是两个向量越相似。

本申请实施例提供的方案涉及云技术,下面以具体的实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。

本申请实施例所提供的方案可以适用于云技术领域中任意需要针对推荐系统的解释的应用场景,通过该方案可以针对推荐系统进行如下解释:用户和推荐系统在有限次的交互中,推荐系统可以针对用户请求进行较为快速的响应,用户可以得到预定想要的推荐内容,用户请求与推荐系统的推荐内容之间构成了因果关系,即该用户请求对应的产生该推荐内容。

为了更好的理解本申请实施例提供的方案,下面结合具体的一个应用场景对该方案进行说明。

在一个实施例中,图1中示出了本申请实施例所适用的一种针对推荐系统的解释的系统架构示意图,可以理解的是,本申请实施例所提供的针对推荐系统的解释方法可以适用于但不限于应用于如图1所示的应用场景中。

本示例中,如图1所示,该示例中的针对推荐系统的解释的系统架构可以包括但不限于推荐对抗解释系统101和推荐系统102,推荐对抗解释系统101和推荐系统102之间可以通过网络进行交互。推荐对抗解释系统101包括对抗解释决策引擎1011和终端1012,图1中所示的agent-1、agent-2、…agent-N都为终端1012。对抗解释决策引擎1011根据预设的决策算法生成用户指令(操作指令),并将用户指令发送给终端1012;用户指令例如刷新、点赞、评论等。终端1012接收到对抗解释决策引擎1011发送的用户指令,终端1012根据用户指令发送用户请求给推荐系统102。推荐系统102根据接收到的用户请求,发送推荐结果(推荐内容)给终端1012。终端1012将接收到的推荐结果发送给对抗解释决策引擎1011。对抗解释决策引擎1011接收每个终端1012发送的推荐结果,并存储相应的用户指令以及环境数据。

可理解,上述仅为一种示例,本实施例在此不作限定。

其中,终端1012可以是智能手机(如Android手机、iOS手机等)、手机模拟器、平板电脑、笔记本电脑、数字广播接收器、MID(Mobile Internet Devices,移动互联网设备)、PDA(个人数字助理)、台式计算机、车载终端(例如车载导航终端)、智能音箱、智能手表等。对抗解释决策引擎1011或推荐系统102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content DeliveryNetwork,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器或服务器集群。上述网络可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、Wi-Fi及其他实现无线通信的网络。具体也可基于实际应用场景需求确定,在此不作限定。

参见图2,图2示出了本申请实施例提供的一种针对推荐系统的解释方法的流程示意图,其中,该方法可以由任一电子设备执行,如可以是推荐对抗解释系统,作为一可选实施方式,该方法可以由推荐对抗解释系统执行,为了描述方便,在下文的一些可选实施例的描述中,将以推荐对抗解释系统作为该方法执行主体为例进行说明。如图2所示,本申请实施例提供的针对推荐系统的解释方法包括如下步骤:

S101,响应于第一请求,获取针对第一请求的第一推荐内容,第一推荐内容为预期从推荐系统中得到的推荐内容。

在一个实施例中,第一推荐内容可以是文字、图片、视频、音频等。例如,第一推荐内容为涉及游戏的短视频,游戏的短视频对应的特征向量为[1.0,2.1,2.3,1.2,5.4]。

在一个实施例中,第一请求为用户请求,用于表征用户行为,例如用户对游戏中标的物的短视频进行点赞。第一请求用于向推荐系统请求第一推荐内容。第一推荐内容可以预先设置,用于评估推荐系统针对第一请求是否具备推荐第一推荐内容的响应能力。

S102,执行推荐内容比对操作:

响应于将第一请求发送至推荐系统,得到推荐系统根据第一请求推荐的第二推荐内容;

当第二推荐内容对应的第二特征向量和第一推荐内容对应的第一特征向量之间的相似度小于预设相似度,且向推荐系统请求推荐内容的总请求次数小于预设请求次数,则对第一请求进行更新处理;

重复执行推荐内容比对操作的步骤,直至当第二特征向量和第一特征向量之间相似度不小于预设相似度,得到针对推荐系统的第一解释;

第一解释包括在预设请求次数内,推荐系统针对第一请求具备推荐第一推荐内容的响应能力。

在一个实施例中,推荐对抗解释系统向推荐系统请求推荐内容的总请求次数n的初始值为m,m为正整数。

举例说明,推荐对抗解释系统某一次将第一请求发送至推荐系统,第二推荐内容对应的第二特征向量Y和第一推荐内容对应的第一特征向量X之间的相似度小于预设相似度,则总请求次数n累加1,即n更新为n+1,例如推荐对抗解释系统第一次将第一请求发送至推荐系统,m取值为0,则n由初始值0更新为1。

在一个实施例中,第二推荐内容对应的第二特征向量和第一推荐内容对应的第一特征向量之间的差,即第二推荐内容对应的第二特征向量和第一推荐内容对应的第一特征向量之间的距离,例如欧式距离,可以用来度量第二推荐内容对应的第二特征向量和第一推荐内容对应的第一特征向量之间的相似度。第二特征向量和第一特征向量之间的距离越小,则第二特征向量和第一特征向量之间的相似度越大。

在一个实施例中,通过余弦相似度来度量第二推荐内容对应的第二特征向量和第一推荐内容对应的第一特征向量之间的相似度,即第二特征向量和第一特征向量之间夹角的余弦值,可以用来度量第二特征向量和第一特征向量之间的相似度。余弦值越接近1,就表明夹角越接近0度,也就是两个向量越相似,则第二特征向量和第一特征向量之间的相似度越大。

举例说明,第一请求为用户请求,用于表征用户行为,用户行为是用户对大熊猫的视频进行评论。用户第一次对大熊猫的视频进行评论,即推荐对抗解释系统向推荐系统发送了第一请求,推荐系统返回的推荐内容是狗熊的视频,其中,第一推荐内容为大熊猫的视频,第二推荐内容是狗熊的视频,第二推荐内容对应的第二特征向量和第一推荐内容对应的第一特征向量之间的相似度小于预设相似度,且向推荐系统请求推荐内容的总请求次数1小于预设请求次数5,则推荐对抗解释系统对第一请求进行更新处理,得到更新后的第一请求。用户第二次对大熊猫的视频进行评论,即推荐对抗解释系统第二次向推荐系统发送了更新后的第一请求,推荐系统返回的推荐内容是大熊猫的视频,其中,第一推荐内容为大熊猫的视频,第二推荐内容是大熊猫的视频,第二特征向量和第一特征向量之间相似度不小于预设相似度,得到针对推荐系统的第一解释;第一解释包括在预设请求次数5内,推荐系统针对用户对大熊猫的视频的评论具备推荐大熊猫的视频的响应能力,从而可以说明:用户和推荐系统在有限次的交互中,推荐系统可以针对大熊猫的视频的评论进行较为快速的响应,用户可以得到预定想要的大熊猫的视频,用户请求(用户对大熊猫的视频的评论)与推荐系统的推荐内容(大熊猫的视频)之间构成了因果关系,即用户对大熊猫的视频的评论使推荐系统对应的推荐大熊猫的视频。

本申请实施例中,可以针对推荐系统进行如下解释:用户和推荐系统在有限次的交互中,推荐系统可以针对用户请求进行较为快速的响应,用户可以得到预定想要的推荐内容,用户请求与推荐系统的推荐内容之间构成了因果关系,即该用户请求对应的产生该推荐内容。

在一个实施例中,当第二推荐内容对应的第二特征向量和第一推荐内容对应的第一特征向量之间的相似度小于预设相似度,且总请求次数不小于预设请求次数,则得到针对推荐系统的第二解释;第二解释包括在预设请求次数内,推荐系统针对第一请求不具备推荐第一推荐内容的响应能力。

举例说明,第一请求为用户请求,用于表征用户行为,用户行为是用户听歌曲专辑A中歌手B的歌曲。用户第一次听歌手B的歌曲,即推荐对抗解释系统向推荐系统发送了第一请求,推荐系统返回的推荐内容是歌曲专辑A中除歌手B之外的其他歌手的歌曲,其中,第一推荐内容为歌手B的歌曲,第二推荐内容是歌曲专辑A中其他歌手的歌曲,第二推荐内容对应的第二特征向量和第一推荐内容对应的第一特征向量之间的相似度小于预设相似度,且向推荐系统请求推荐内容的总请求次数1小于预设请求次数10,则推荐对抗解释系统对第一请求进行更新处理,得到更新后的第一请求。用户多次听歌手B的歌曲,即推荐对抗解释系统多次向推荐系统多次发送了更新后的第一请求,推荐系统返回的推荐内容都是歌曲专辑A中其他歌手的歌曲,其中,第二推荐内容对应的第二特征向量和第一推荐内容对应的第一特征向量之间的相似度小于预设相似度,且总请求次数10不小于预设请求次数10,则得到针对推荐系统的第二解释;第二解释包括在预设请求次数10内,推荐系统针对用户听歌曲专辑A中歌手B的歌曲不具备推荐歌手B的歌曲的响应能力。从而可以说明:用户和推荐系统在有限次的交互中,推荐系统不能针对听歌手B的歌曲进行较为快速的响应,用户不能得到预定想听的歌手B的歌曲,用户请求(听歌手B的歌曲)与推荐系统的推荐内容(歌曲专辑A中其他歌手的歌曲)之间没有构成因果关系,即用户听歌手B的歌曲不会使推荐系统对应的推荐歌手B的歌曲。

在一个实施例中,预测模型是通过以下方式训练得到的:

基于预设的第二历史请求集合,构建训练样本集合;基于训练样本集合,对待训练的初始预测模型进行迭代训练,得到训练后的预测模型;

在初始预测模型迭代训练过程中执行以下处理:

以训练样本集合包括的样本请求为初始预测模型的输入样本,并以样本请求对应的内容标签为初始预测模型的输出结果,将输入样本和输出结果代入初始预测模型对应的损失函数得到损失函数值,并基于损失函数值对初始预测模型的模型参数进行更新处理,直至根据损失函数值满足预定条件时得到的预测模型参数对初始预测模型的模型参数进行更新,得到训练后的预测模型。

在一个实施例中,通过图1中的对抗解释决策引擎1011构造用户打开请求,用户打开请求可以为需要解释的推荐功能,例如qq小世界广场页。对抗解释决策引擎1011同时保存设备信息和行为操作时间等关键信息,其中,设备信息包括终端1012的操作系统是安卓系统等,操作时间包括用户操作(生成操作指令)的时间点等。对抗解释决策引擎1011基于预设的决策算法生成操作指令(用户指令),将操作指令传输至终端1012上的任一应用程序app,例如qq小世界广场页的app,响应于任一应用程序app基于操作指令生成的第一请求,终端1012将第一请求发送至推荐系统102。推荐系统102返回推荐内容给终端1012,推荐内容例如短视频、Feed流等,其中,短视频可以是空间视频以视频流的形式展示的相应短视频,例如足球类的视频。终端1012将推荐内容传输给对抗解释决策引擎1011,对抗解释决策引擎1011记录推荐内容,进行用户行为与推荐内容关系建模,即content=F(behavior);其中,content表示内容标签,内容标签用于标识响应于相应历史请求、推荐系统推荐的历史推荐内容,内容标签包括历史推荐内容的相关信息;behavior表示历史用户请求,即历史请求,例如点赞美女3次、评论军事内容10次等;预测模型F可以用于预测:在具体的behavior下推荐系统会最大概率推荐哪个content,预测模型F可以通过多分类机器学习方法得到。

在一个实施例中,对第一请求进行更新处理,包括步骤A1-A3:

步骤A1,构建第一历史请求集合,第一历史请求集合包括第一请求。

步骤A2,将第一历史请求集合中的各历史请求分别输入至预设的预测模型,得到各历史请求分别对应的内容标签,内容标签用于标识响应于相应历史请求、推荐系统推荐的历史推荐内容,内容标签包括历史推荐内容的相关信息。

步骤A3,确定各个历史推荐内容分别对应的历史特征向量与第一推荐内容对应的第一特征向量之间的相识度,并将得到的相识度中的最小相似度对应的历史请求作为更新后的第一请求。

在一个实施例中,根据用户行为生成算法生成用户请求(第一请求),即根据用户行为生成算法对第一请求进行更新处理。用户行为生成算法的目标是:在生成的用户请求(例如第一历史请求集合中的历史请求)下,预测模型预估出使下一个推荐内容对应的向量与给定目标内容向量(第一推荐内容对应的第一特征向量)之间的差为最小的用户行为,即利用content=F(behavior)反求behavior,具体是遍历所有behavior组合,得到相应的content以及content对应的第二特征向量X,确定第二特征向量X与第一特征向量Y之间的欧式距离最小的那个behavior的组合。用户行为生成算法根据图1中所有终端1012的用户行为和相应的推荐结果,能够最快速的修正预测模型以及给出能够高效探索的用户行为。

在一个实施例中,将第一请求发送至推荐系统,包括:

基于预设的决策算法生成操作指令,并将操作指令传输至任一应用程序;

响应于任一应用程序基于操作指令生成的第一请求,将第一请求发送至推荐系统。

举例说明,操作指令可以是刷新、点赞、评论等,应用程序可以是终端上安装的APP应用程序。

在一个实施例中,当第二推荐内容对应的第二特征向量和第一推荐内容对应的第一特征向量之间的相似度小于预设相似度,且向推荐系统请求推荐内容的总请求次数小于预设请求次数,则对第一请求进行更新处理,包括:

当第二推荐内容对应的第二特征向量和第一推荐内容对应的第一特征向量之间的距离大于预设距离,且向推荐系统请求推荐内容的总请求次数小于预设请求次数,则对第一请求进行更新处理;

第二特征向量和第一特征向量之间的距离与相似度成负相关。

在一个实施例中,第二推荐内容对应的第二特征向量和第一推荐内容对应的第一特征向量之间的距离为欧式距离,欧式距离可以用来度量第二推荐内容对应的第二特征向量和第一推荐内容对应的第一特征向量之间的相似度。第二特征向量和第一特征向量之间的距离越小,则第二特征向量和第一特征向量之间的相似度越大,即第二特征向量和第一特征向量之间的距离与相似度成负相关。第二推荐内容对应的第二特征向量和第一推荐内容对应的第一特征向量之间的距离大于预设距离,即第二推荐内容对应的第二特征向量和第一推荐内容对应的第一特征向量之间的相似度小于预设相似度。

在一个实施例中,当第二推荐内容对应的第二特征向量和第一推荐内容对应的第一特征向量之间的相似度小于预设相似度,且总请求次数不小于预设请求次数,则得到针对推荐系统的第二解释,包括:

当第二推荐内容对应的第二特征向量和第一推荐内容对应的第一特征向量之间的相似度小于预设相似度,总请求次数不小于预设请求次数,且总请求次数中每次得到的第二推荐内容都相同,则得到第二解释,第二解释包括确定第一请求不是构成推荐系统推荐第二推荐内容的因素,第二推荐内容包括热点事件。

举例说明,第一请求为用户请求,用于表征用户行为,用户行为是用户对某处风景的图片进行点赞。用户每次对某处风景的图片进行点赞,即推荐对抗解释系统向推荐系统发送了第一请求,推荐系统返回的推荐内容都是正在举行的全国运动会中场景的图片,其中,第一推荐内容为某处风景的图片,第二推荐内容是正在举行的全国运动会中场景的图片,第二推荐内容对应的第二特征向量和第一推荐内容对应的第一特征向量之间的相似度小于预设相似度,总请求次数不小于预设请求次数,且总请求次数中每次得到的第二推荐内容都相同,则得到第二解释,第二解释包括确定对某处风景的图片进行点赞不是构成推荐系统推荐正在举行的全国运动会中场景的图片的因素,正在举行的全国运动会是网络热点,即热点事件。用户和推荐系统在有限次的交互中,推荐系统不能针对某处风景的图片的点赞进行较为快速的响应,用户不能得到预定想要的某处风景的图片,用户请求(对某处风景的图片进行点赞)与推荐系统的推荐内容(正在举行的全国运动会中场景的图片)之间没有构成因果关系,即对某处风景的图片进行点赞不会使推荐系统对应的推荐某处风景的图片。

本申请实施例中,可以针对推荐系统进行如下解释:用户和推荐系统在有限次的交互中,推荐系统不能针对用户请求进行较为快速的响应,用户不能得到预定想要的推荐内容,用户请求与推荐系统的推荐内容之间没有构成因果关系,即该用户请求不能对应的产生该推荐内容。

为了更好的理解本申请实施例所提供的方法,下面结合具体应用场景的示例对本申请实施例的方案进行进一步说明。

参见图3,图3示出了本申请实施例提供的一种针对推荐系统的解释方法的流程示意图,其中,该方法可以由任一电子设备执行,如可以是推荐对抗解释系统,作为一可选实施方式,该方法可以由推荐对抗解释系统执行,为了描述方便,在下文的一些可选实施例的描述中,将以推荐对抗解释系统作为该方法执行主体为例进行说明。如图3所示,本申请实施例提供的针对推荐系统的解释方法包括如下步骤:

S201,设置预期的内容表达向量Y,同时将循环次数n的初始值赋值为0。

在一个实施例中,预期的内容表达向量Y可以为第一推荐内容对应的第一特征向量,第一推荐内容为预期从推荐系统中得到的推荐内容。第一推荐内容可以是文字、图片、视频、音频等。例如,第一推荐内容为吃鸡的短视频,吃鸡的短视频对应的内容表达向量Y为[1.0,2.1,2.3,1.2,5.4]。循环次数n可以为向推荐系统请求推荐内容的总请求次数n。

S202,发送用户请求给推荐系统,并接收推荐系统返回的内容表达向量X。

在一个实施例中,通过图1中的对抗解释决策引擎1011构造用户打开请求,用户打开请求可以为需要解释的推荐功能,例如qq小世界广场页。对抗解释决策引擎1011同时保存设备信息和行为操作时间等关键信息,其中,设备信息包括终端1012的操作系统是安卓系统等,操作时间包括用户操作(生成操作指令)的时间点等。对抗解释决策引擎1011基于预设的决策算法生成操作指令(用户指令),将操作指令传输至终端1012上的任一应用程序app,例如qq小世界广场页的app,响应于任一应用程序app基于操作指令生成的第一请求(用户请求),终端1012将第一请求发送至推荐系统102。推荐系统102返回推荐内容给终端1012,推荐内容例如短视频、Feed流等,其中,短视频可以是空间视频以视频流的形式展示的相应短视频,例如足球类的视频。终端1012将推荐内容传输给对抗解释决策引擎1011,对抗解释决策引擎1011记录推荐内容,进行用户行为与推荐内容关系建模,即content=F(behavior);其中,content表示内容标签,内容标签用于标识响应于相应历史请求、推荐系统推荐的历史推荐内容,内容标签包括历史推荐内容的相关信息;behavior表示历史用户请求,即历史请求,例如点赞帅哥5次、评论足球赛事11次等;预测模型F可以用于预测:在具体的behavior下推荐系统会最大概率推荐哪个content。将内容标签输入至外部系统,例如内容理解系统,得到相应的推荐内容,根据相应的推荐内容,得到内容表达向量X,其中,内容表达向量X可以为第二推荐内容对应的第二特征向量。

S203,判断内容表达向量X与内容表达向量Y之间的距离是否小于预设第一阈值,当确定内容表达向量X与内容表达向量Y之间的距离是小于预设第一阈值,则转到S204处理;当确定内容表达向量X与内容表达向量Y之间的距离不是小于预设第一阈值,则转到S205处理。

在一个实施例中,内容表达向量X与内容表达向量Y之间的差,即内容表达向量X与内容表达向量Y之间的距离,例如欧式距离,内容表达向量X与内容表达向量Y之间的距离越小,则内容表达向量X与内容表达向量Y之间的相似度越大。

S204,输出用户操作的序列长度n,并输出相应的用户操作序列以及推荐内容序列。

在一个实施例中,用户操作的序列长度n可以为记录循环次数的n,即向推荐系统请求推荐内容的总请求次数,用户操作序列包括每次发送的用户请求,推荐内容序列包括推荐系统针对每次用户请求返回的推荐内容。

S205,判断当前序列长度n是否小于第二阈值,当确定当前序列长度n是小于第二阈值,则转到S206处理;当确定当前序列长度n不小于第二阈值,则转到S207处理。

在一个实施例中,当前序列长度n可以为记录循环次数的n,即向推荐系统请求推荐内容的总请求次数,第二阈值可以为预设请求次数。

S206,根据用户行为生成算法生成用户请求,同时将循环次数n赋值为n+1。

在一个实施例中,根据用户行为生成算法生成用户请求(第一请求),即根据用户行为生成算法对第一请求进行更新处理。用户行为生成算法的目标是:在生成的用户请求(例如第一历史请求集合中的历史请求)下,预测模型预估出使下一个推荐内容对应的向量与给定目标内容向量(第一推荐内容对应的第一特征向量)之间的差为最小的用户行为,即利用content=F(behavior)反求behavior,具体是遍历所有behavior组合,得到相应的content以及content对应的内容表达向量X,确定内容表达向量X与内容表达向量Y之间的欧式距离最小的那个behavior的组合。用户行为生成算法根据图1中所有终端1012的用户行为和相应的推荐结果,能够最快速的修正预测模型以及给出能够高效探索的用户行为。

S207,输出用户操作的序列长度n,并输出相应的用户操作序列、推荐内容序列以及历史推荐结果的最小向量差。

在一个实施例中,用户操作的序列长度n可以为记录循环次数的n,即向推荐系统请求推荐内容的总请求次数,用户操作序列包括每次发送的用户请求,推荐内容序列包括推荐系统针对每次用户请求返回的推荐内容。确定各个历史推荐内容分别对应的历史特征向量与内容表达向量Y之间向量差,并将得到的向量差中的最小向量差,确定为历史推荐结果(历史推荐内容)的最小向量差。

S208,获得针对推荐系统的解释。

在一个实施例中,通过S201-S207,得到了用户请求以及相应的推荐结果(推进内容),当n大于或等于第二阈值则说明用户在有限次的行为中无法得到预定想要的内容,预定想要的内容对应预期的内容表达向量Y,说明该推荐系统对于用户行为不具备明显的响应能力。当n小于第二阈值,则说明推荐系统可以在有限次的用户交互中得到预定想要的内容,预定想要的内容对应预期的内容表达向量Y,说明该推荐系统对于用户行为具备快速的响应能力。同时输出content=F(behavior),F将作为该推荐系统的预测模型。

本申请实施例中,针对推荐系统的解释方法用在现有推荐系统以及被调研的外部推荐系统,给出了现有推荐系统以及被调研的外部推荐系统的量化评估和分析结果,对于现有推荐系统以及被调研的外部推荐系统的评估、优化、调研起到了极大的帮助。通过对抗学习的方式得到推荐系统是否与用户行为构成因果关系,量化的建模该因果关系,并由该建模得出的因果关系,确定什么样的行为序列,会产生什么的推荐结果,同时还给出不由用户行为构成的推荐原因,由此可以针对推荐系统了解用户行为、上下文环境如何影响推荐结果,并能够通过控制用户行为得到预期的推荐结果。

基于相同的发明构思,本申请实施例还提供了一种针对推荐系统的解释装置,该装置的结构示意图如图4所示,针对推荐系统的解释装置40,包括第一处理模块401和第二处理模块402。

第一处理模块401,用于响应于第一请求,获取针对第一请求的第一推荐内容,第一推荐内容为预期从推荐系统中得到的推荐内容。

第二处理模块402,用于执行推荐内容比对操作:

响应于将第一请求发送至推荐系统,得到推荐系统根据第一请求推荐的第二推荐内容;

当第二推荐内容对应的第二特征向量和第一推荐内容对应的第一特征向量之间的相似度小于预设相似度,且向推荐系统请求推荐内容的总请求次数小于预设请求次数,则对第一请求进行更新处理;

重复执行推荐内容比对操作的步骤,直至当第二特征向量和第一特征向量之间相似度不小于预设相似度,得到针对推荐系统的第一解释;

第一解释包括在预设请求次数内,推荐系统针对第一请求具备推荐第一推荐内容的响应能力。

在一个实施例中,第二处理模块402,还用于:

当第二推荐内容对应的第二特征向量和第一推荐内容对应的第一特征向量之间的相似度小于预设相似度,且总请求次数不小于预设请求次数,则得到针对推荐系统的第二解释;第二解释包括在预设请求次数内,推荐系统针对第一请求不具备推荐第一推荐内容的响应能力。

在一个实施例中,第二处理模块402,具体用于:

构建第一历史请求集合,第一历史请求集合包括第一请求;

将第一历史请求集合中的各历史请求分别输入至预设的预测模型,得到各历史请求分别对应的内容标签,内容标签用于标识响应于相应历史请求、推荐系统推荐的历史推荐内容,内容标签包括历史推荐内容的相关信息;

确定各个历史推荐内容分别对应的历史特征向量与第一推荐内容对应的第一特征向量之间的相识度,并将得到的相识度中的最小相似度对应的历史请求作为更新后的第一请求。

在一个实施例中,第二处理模块402,具体用于:

基于预设的第二历史请求集合,构建训练样本集合;基于训练样本集合,对待训练的初始预测模型进行迭代训练,得到训练后的预测模型;

在初始预测模型迭代训练过程中执行以下处理:

以训练样本集合包括的样本请求为初始预测模型的输入样本,并以样本请求对应的内容标签为初始预测模型的输出结果,将输入样本和输出结果代入初始预测模型对应的损失函数得到损失函数值,并基于损失函数值对初始预测模型的模型参数进行更新处理,直至根据损失函数值满足预定条件时得到的预测模型参数对初始预测模型的模型参数进行更新,得到训练后的预测模型。

在一个实施例中,第二处理模块402,具体用于:

基于预设的决策算法生成操作指令,并将操作指令传输至任一应用程序;

响应于任一应用程序基于操作指令生成的第一请求,将第一请求发送至推荐系统。

在一个实施例中,当第二推荐内容对应的第二特征向量和第一推荐内容对应的第一特征向量之间的相似度小于预设相似度,且向推荐系统请求推荐内容的总请求次数小于预设请求次数,第二处理模块402,具体用于:

当第二推荐内容对应的第二特征向量和第一推荐内容对应的第一特征向量之间的距离大于预设距离,且向推荐系统请求推荐内容的总请求次数小于预设请求次数,则对第一请求进行更新处理;

第二特征向量和第一特征向量之间的距离与相似度成负相关。

在一个实施例中,当第二推荐内容对应的第二特征向量和第一推荐内容对应的第一特征向量之间的相似度小于预设相似度,且总请求次数不小于预设请求次数,第二处理模块402,具体用于:

当第二推荐内容对应的第二特征向量和第一推荐内容对应的第一特征向量之间的相似度小于预设相似度,总请求次数不小于预设请求次数,且总请求次数中每次得到的第二推荐内容都相同,则得到第二解释,第二解释包括确定第一请求不是构成推荐系统推荐第二推荐内容的因素,第二推荐内容包括热点事件。

应用本申请实施例,至少具有如下有益效果:

将推荐系统根据第一请求(用户请求,即用户行为)推荐的第二推荐内容与第一推荐内容进行比对操作,当在预设请求次数内,第二推荐内容对应的第二特征向量和第一推荐内容对应的第一特征向量之间的相似度不小于预设相似度,则推荐系统针对第一请求具备推荐第一推荐内容的响应能力;如此,可以针对推荐系统进行如下解释:用户和推荐系统在有限次的交互中,推荐系统可以针对用户请求进行较为快速的响应,用户可以得到预定想要的推荐内容,用户请求与推荐系统的推荐内容之间构成了因果关系,即该用户请求对应的产生该推荐内容。

基于相同的发明构思,本申请实施例还提供了一种电子设备,该电子设备的结构示意图如图5所示,该电子设备9000包括至少一个处理器9001、存储器9002和总线9003,至少一个处理器9001均与存储器9002电连接;存储器9002被配置用于存储有至少一个计算机可执行指令,处理器9001被配置用于执行该至少一个计算机可执行指令,从而执行如本申请中任意一个实施例或任意一种可选实施方式提供的任意一种针对推荐系统的解释方法的步骤。

进一步,处理器9001可以是FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其它具有逻辑处理能力的器件,如MCU(Microcontroller Unit,微控制单元)、CPU(Central Process Unit,中央处理器)。

应用本申请实施例,至少具有如下有益效果:

将推荐系统根据第一请求(用户请求,即用户行为)推荐的第二推荐内容与第一推荐内容进行比对操作,当在预设请求次数内,第二推荐内容对应的第二特征向量和第一推荐内容对应的第一特征向量之间的相似度不小于预设相似度,则推荐系统针对第一请求具备推荐第一推荐内容的响应能力;如此,可以针对推荐系统进行如下解释:用户和推荐系统在有限次的交互中,推荐系统可以针对用户请求进行较为快速的响应,用户可以得到预定想要的推荐内容,用户请求与推荐系统的推荐内容之间构成了因果关系,即该用户请求对应的产生该推荐内容。

基于相同的发明构思,本申请实施例还提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序用于被处理器执行时实现本申请中任意一个实施例或任意一种可选实施方式提供的任意一种针对推荐系统的解释方法的步骤。

本申请实施例提供的计算机可读存储介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(RandomAccess Memory,随即存储器)、EPROM(Erasable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically Erasable Programmable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读存储介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。

应用本申请实施例,至少具有如下有益效果:

将推荐系统根据第一请求(用户请求,即用户行为)推荐的第二推荐内容与第一推荐内容进行比对操作,当在预设请求次数内,第二推荐内容对应的第二特征向量和第一推荐内容对应的第一特征向量之间的相似度不小于预设相似度,则推荐系统针对第一请求具备推荐第一推荐内容的响应能力;如此,可以针对推荐系统进行如下解释:用户和推荐系统在有限次的交互中,推荐系统可以针对用户请求进行较为快速的响应,用户可以得到预定想要的推荐内容,用户请求与推荐系统的推荐内容之间构成了因果关系,即该用户请求对应的产生该推荐内容。

本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机设备上运行时,使得计算机设备执行上述各个方法实施例所提供的针对推荐系统的解释方法。

本技术领域技术人员可以理解,可以用计算机程序来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序产品提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本申请公开的结构图和/或框图和/或流图的框或多个框中指定的方案。

本技术领域技术人员可以理解,本申请中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本申请中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本申请中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。

以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

技术分类

06120113807010