CN114861064A - 基于双塔模型的对象推荐方法及装置 - Google Patents
基于双塔模型的对象推荐方法及装置 Download PDFInfo
- Publication number
- CN114861064A CN114861064A CN202210594540.1A CN202210594540A CN114861064A CN 114861064 A CN114861064 A CN 114861064A CN 202210594540 A CN202210594540 A CN 202210594540A CN 114861064 A CN114861064 A CN 114861064A
- Authority
- CN
- China
- Prior art keywords
- model
- feature vector
- tower model
- candidate set
- double
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
Abstract
本公开涉及人工智能技术领域,提供了一种基于双塔模型的对象推荐方法及装置。该方法包括:获取第一候选集合和目标用户对应的历史对话记录;利用第一双塔模型中的第一左塔模型提取历史对话记录的第一特征向量,利用第一双塔模型中的第一右塔模型提取第一候选集合中每个对象的第二特征向量,其中,第一双塔模型已通过训练,使得第一左塔模型学习并保存有历史对话记录和第一特征向量之间的对应关系,使得第一右塔模型学习并保存有对象和第二特征向量之间的对应关系;计算第一特征向量与每个第二特征向量之间的相似度,并根据第一特征向量与每个第二特征向量之间的相似度,从第一候选集合中确定出子集合;基于子集合向目标用户进行对象推荐操作。
Description
技术领域
本公开涉及人工智能技术领域,尤其涉及一种基于双塔模型的对象推荐方法及装置。
背景技术
在电商等领域需要根据客户的聊天记录,向客户推荐合适的物品,比如根据客户的聊天记录中的关键词,确定客户想要的物品等。此类方法只能向客户推荐直接和客户的聊天记录中的关键词相关的物品,如果客户的聊天记录较为复杂,那么推荐物品的准确率较低,同时对于存在大量客户或者聊天记录内容较多的情况下,此类方法也存在效率低的问题。
在实现本公开构思的过程中,发明人发现相关技术中至少存在如下技术问题:推荐物品的准确率低和效率低的问题。
发明内容
有鉴于此,本公开实施例提供了一种基于双塔模型的对象推荐方法及装置,以解决现有技术中,推荐物品的准确率低和效率低的问题。
本公开实施例的第一方面,提供了一种基于第一双塔模型的对象推荐方法,包括:获取第一候选集合和目标用户对应的历史对话记录,其中,第一候选集合包括多个对象;利用第一双塔模型中的第一左塔模型提取历史对话记录的第一特征向量,利用第一双塔模型中的第一右塔模型提取第一候选集合中每个对象的第二特征向量,其中,第一双塔模型已通过训练,使得第一左塔模型学习并保存有历史对话记录和第一特征向量之间的对应关系,使得第一右塔模型学习并保存有对象和第二特征向量之间的对应关系;计算第一特征向量与每个第二特征向量之间的相似度,并根据第一特征向量与每个第二特征向量之间的相似度,从第一候选集合中确定出子集合,其中,子集合包括一个或多个对象;基于子集合向目标用户进行对象推荐操作。
本公开实施例的第二方面,提供了一种基于第一双塔模型的对象推荐装置,包括:获取模块,被配置为获取第一候选集合和目标用户对应的历史对话记录,其中,第一候选集合包括多个对象;提取模块,被配置为利用第一双塔模型中的第一左塔模型提取历史对话记录的第一特征向量,利用第一双塔模型中的第一右塔模型提取第一候选集合中每个对象的第二特征向量,其中,第一双塔模型已通过训练,使得第一左塔模型学习并保存有历史对话记录和第一特征向量之间的对应关系,使得第一右塔模型学习并保存有对象和第二特征向量之间的对应关系;计算模块,被配置为计算第一特征向量与每个第二特征向量之间的相似度,并根据第一特征向量与每个第二特征向量之间的相似度,从第一候选集合中确定出子集合,其中,子集合包括一个或多个对象;推荐模块,被配置为基于子集合向目标用户进行对象推荐操作。
本公开实施例的第三方面,提供了一种电子设备,包括存储器、处理器以及存储在存储器中并且可在处理器上运行的计算机程序,该处理器执行计算机程序时实现上述方法的步骤。
本公开实施例的第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
本公开实施例与现有技术相比存在的有益效果是:因为本公开实施例获取第一候选集合和目标用户对应的历史对话记录,其中,第一候选集合包括多个对象;利用第一双塔模型中的第一左塔模型提取历史对话记录的第一特征向量,利用第一双塔模型中的第一右塔模型提取第一候选集合中每个对象的第二特征向量,其中,第一双塔模型已通过训练,使得第一左塔模型学习并保存有历史对话记录和第一特征向量之间的对应关系,使得第一右塔模型学习并保存有对象和第二特征向量之间的对应关系;计算第一特征向量与每个第二特征向量之间的相似度,并根据第一特征向量与每个第二特征向量之间的相似度,从第一候选集合中确定出子集合,其中,子集合包括一个或多个对象;基于子集合向目标用户进行对象推荐操作,因此,采用上述技术手段,可以解决现有技术中,推荐物品的准确率低和效率低的问题。进而提高推荐物品的准确率和效率。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本公开实施例的应用场景的场景示意图;
图2是本公开实施例提供的一种基于第一双塔模型的对象推荐方法的流程示意图;
图3是本公开实施例提供的一种基于第一双塔模型的对象推荐装置的结构示意图;
图4是本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本公开实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本公开。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本公开的描述。
下面将结合附图详细说明根据本公开实施例的一种基于第一双塔模型的对象推荐方法和装置。
图1是本公开实施例的应用场景的场景示意图。该应用场景可以包括终端设备101、102和103、服务器104以及网络105。
终端设备101、102和103可以是硬件,也可以是软件。当终端设备101、102和103为硬件时,其可以是具有显示屏且支持与服务器104通信的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等;当终端设备101、102和103为软件时,其可以安装在如上的电子设备中。终端设备101、102和103可以实现为多个软件或软件模块,也可以实现为单个软件或软件模块,本公开实施例对此不作限制。进一步地,终端设备101、102和103上可以安装有各种应用,例如数据处理应用、即时通信工具、社交平台软件、搜索类应用、购物类应用等。
服务器104可以是提供各种服务的服务器,例如,对与其建立通信连接的终端设备发送的请求进行接收的后台服务器,该后台服务器可以对终端设备发送的请求进行接收和分析等处理,并生成处理结果。服务器104可以是一台服务器,也可以是由若干台服务器组成的服务器集群,或者还可以是一个云计算服务中心,本公开实施例对此不作限制。
需要说明的是,服务器104可以是硬件,也可以是软件。当服务器104为硬件时,其可以是为终端设备101、102和103提供各种服务的各种电子设备。当服务器104为软件时,其可以是为终端设备101、102和103提供各种服务的多个软件或软件模块,也可以是为终端设备101、102和103提供各种服务的单个软件或软件模块,本公开实施例对此不作限制。
网络105可以是采用同轴电缆、双绞线和光纤连接的有线网络,也可以是无需布线就能实现各种通信设备互联的无线网络,例如,蓝牙(Bluetooth)、近场通信(Near FieldCommunication,NFC)、红外(Infrared)等,本公开实施例对此不作限制。
用户可以通过终端设备101、102和103经由网络105与服务器104建立通信连接,以接收或发送信息等。需要说明的是,终端设备101、102和103、服务器104以及网络105的具体类型、数量和组合可以根据应用场景的实际需求进行调整,本公开实施例对此不作限制。
图2是本公开实施例提供的一种基于第一双塔模型的对象推荐方法的流程示意图。图2的基于第一双塔模型的对象推荐方法可以由图1的终端设备或服务器执行。如图2所示,该基于第一双塔模型的对象推荐方法包括:
S201,获取第一候选集合和目标用户对应的历史对话记录,其中,第一候选集合包括多个对象;
S202,利用第一双塔模型中的第一左塔模型提取历史对话记录的第一特征向量,利用第一双塔模型中的第一右塔模型提取第一候选集合中每个对象的第二特征向量,其中,第一双塔模型已通过训练,使得第一左塔模型学习并保存有历史对话记录和第一特征向量之间的对应关系,使得第一右塔模型学习并保存有对象和第二特征向量之间的对应关系;
S203,计算第一特征向量与每个第二特征向量之间的相似度,并根据第一特征向量与每个第二特征向量之间的相似度,从第一候选集合中确定出子集合,其中,子集合包括一个或多个对象;
S204,基于子集合向目标用户进行对象推荐操作。
本公开实施例可以应用于电商平台或者其他可以为用户提供多种对象的场景,一个对象可以为一种物品或者商品,目标用户对应的历史对话记录,可以是目标用户与智能客服的所有的聊天记录,第一候选集合可以是该电商平台所有的商品(当然,第一候选集合也可以是该电商平台符合目标用户对应的业务请求的部分商品,比如业务请求为手机,那么第一候选集合就是该电商平台上架的所有的手机)。
基于子集合向目标用户进行对象推荐操作,就是向目标用户推荐最合适的对象:子集合是第一候选集合中与历史对话记录最接近的一个或多个对象,这是通过与第一特征向量相似度最高的一个或多个第二特征向量确定的。
根据本公开实施例提供的技术方案,获取第一候选集合和目标用户对应的历史对话记录,其中,第一候选集合包括多个对象;利用第一双塔模型中的第一左塔模型提取历史对话记录的第一特征向量,利用第一双塔模型中的第一右塔模型提取第一候选集合中每个对象的第二特征向量,其中,第一双塔模型已通过训练,使得第一左塔模型学习并保存有历史对话记录和第一特征向量之间的对应关系,使得第一右塔模型学习并保存有对象和第二特征向量之间的对应关系;计算第一特征向量与每个第二特征向量之间的相似度,并根据第一特征向量与每个第二特征向量之间的相似度,从第一候选集合中确定出子集合,其中,子集合包括一个或多个对象;基于子集合向目标用户进行对象推荐操作,因此,采用上述技术手段,可以解决现有技术中,推荐物品的准确率低和效率低的问题。进而提高推荐物品的准确率和效率。
在执行步骤S202之前,也就是利用第一双塔模型中的第一左塔模型提取历史对话记录的第一特征向量,利用第一双塔模型中的第一右塔模型提取第一候选集合中每个对象的第二特征向量之前,方法还包括:获取第二候选集合和历史对话记录集合,其中,第二候选集合包括多个对象,历史对话记录集合包括多个用户的历史对话记录;对第二候选集合和历史对话记录集合进行标注处理;利用经过标注处理之后的第二候选集合训练编码模型;将训练后的编码模型同时作为第一双塔模型中的第一左塔模型和第一右塔模型,冻结第一双塔模型中的第一右塔模型的模型参数,利用经过标注处理之后的历史对话记录集合训练第一双塔模型中的第一左塔模型。
训练方法包括但不限于对比学习、amsoftmax分类、sentence-bert等。
比如,第一候选集合可以是一个电商平台的所有的商品,是第一双塔模型需要处理的数据;第二候选集合可以是多个电商平台的所有的商品,是训练第一双塔模型的数据;历史对话记录集合同于第二候选集合,都是训练第一双塔模型的数据。对第二候选集合和历史对话记录集合进行标注处理,可以是标注第二候选集合中每种商品的特征向量(该特征向量,可以是每种商品的文字说明的特征向量),标注历史对话记录集合中每个用户的历史对话记录的特征向量。编码模型可以是任意一种常用的encoder-decoder模型中编码部分的网络。第一双塔模型中的第一左塔模型和第一右塔模型都是训练后的编码模型,冻结第一双塔模型中的第一右塔模型的模型参数,就是不训练第一双塔模型中的第一右塔模型。编码模型的损失函数可以使用三元损失函数triplet loss,triplet loss是深度学习的一种损失函数,主要是用于训练差异性小的样本。
利用经过标注处理之后的历史对话记录集合训练第一双塔模型中的第一左塔模型,是为了使得第一左塔模型学习并保存有历史对话记录和第一特征向量之间的对应关系,该次训练属于第二阶段的训练;利用经过标注处理之后的第二候选集合训练编码模型,是为了使得第一右塔模型学习并保存有对象和第二特征向量之间的对应关系,该次训练属于第一阶段的训练。
本公开实施例将编码模型同时作为第二双塔模型中的第二左塔模型和第二右塔模型,将第二候选集合中的目标对象输入第二双塔模型中的第二左塔模型,输出目标对象的第三特征向量,将第二候选集合中每个对象输入第二双塔模型中的第二右塔模型,输出每个对象的第四特征向量;计算第三特征向量与每个对象的第四特征向量之间的相似度;根据第三特征向量与每个对象的第四特征向量之间的相似度,从第二候选集合中确定出多个与目标对象最相似的对象。
本公开实施例中的第二双塔模型的训练是为了得到训练后的编码模型,将编码模型同时作为第二双塔模型中的第二左塔模型和第二右塔模型,是将训练前的编码模型同时作为第二双塔模型中的第二左塔模型和第二右塔模型。本公开实施例中的第二双塔模型的左塔和右塔共享权重。在上述“从第二候选集合中确定出多个与目标对象最相似的对象”的过程中,可以使得训练后的编码模型可以很好的学习到历史对话记录和第二特征向量之间的关系。
上文中第一双塔模型才是本公开在获取第一候选集合和目标用户对应的历史对话记录后,实际使用的模型。
根据所述第三特征向量与每个对象的所述第四特征向量之间的相似度,从所述第二候选集合中确定出多个与所述目标对象最相似的对象之后,方法还包括:根据从第二候选集合中确定出的多个与目标对象最相似的对象,对训练后的编码模型进行模型质量评价,得到模型质量评分;当模型质量评分低于预设阈值,基于模型质量评分和预设阈值确定训练总轮次,并循环执行如下步骤对训练后的编码模型进行再训练:将训练轮次加一,其中,训练轮次用于表示当前再训练对应的次数,训练轮次初始值为零;利用经过标注处理之后的第二候选集合训练编码模型;当训练轮次等于训练总轮次时,结束再训练,当训练轮次小于训练总轮次时,继续再训练。
根据从第二候选集合中确定出的多个与目标对象最相似的对象,对训练后的编码模型进行模型质量评价,可以理解为验证确定出的多个与目标对象最相似的对象,是否无误。因为第一双塔模型中的第一左塔模型和第一右塔模型提取的目标对象的第三特征向量和每个对象的第四特征向量有误,会造成第三特征向量与每个对象的第四特征向量之间计算的相似度不准确,进而确定出的多个与目标对象最相似的对象并不准确,此时模型质量评分会低于预设阈值。
如果模型质量评分和预设阈值相差较大,那么训练总轮次应该较多(比如模型质量评分为80分(满分100分),预设阈值是95分,模型质量评分和预设阈值相差15分,可以认为相差较大,训练总轮次应该不少于10轮),如果模型质量评分和预设阈值相差较小,那么训练总轮次应该较少。比如训练总轮次为10,训练轮次为4(当前再训练是第4次),应该继续再训练,当训练轮次等于10,结束再训练。再训练的过程和前文对编码模型进行训练是一样的。
根据从第二候选集合中确定出的多个与目标对象最相似的对象,对训练后的编码模型进行模型质量评价,得到模型质量评分之后,方法还包括:当模型质量评分低于预设阈值,基于模型质量评分和预设阈值确定预设模型精度;对训练后的编码模型进行再训练,测试再训练后的编码模型的模型精度;当模型精度大于预设模型精度时,结束再训练,当模型精度小于等于预设模型精度时,继续再训练。
基于模型质量评分和预设阈值确定预设模型精度类似于基于模型质量评分和预设阈值确定训练总轮次。如果模型质量评分和预设阈值相差较大,那么预设模型精度应该较大(比如模型质量评分为80分(满分100分),预设阈值是95分,模型质量评分和预设阈值相差15分,可以认为相差较大,说明此时训练后的编码模型质量很差,预设模型精度应该设置大一些,具体多少可以根据具体情况设置),如果模型质量评分和预设阈值相差较小,那么预设模型精度应该较少。本公开实施例也可以理解为一个循环:对训练后的编码模型进行多个轮次的训练,当模型精度大于预设模型精度时,结束再训练,当模型精度小于等于预设模型精度时,继续对训练后的编码模型增加多个轮次的训练。
在步骤S203中,计算第一特征向量与每个第二特征向量之间的相似度,并根据第一特征向量与每个第二特征向量之间的相似度,从第一候选集合中确定出子集合,其中,子集合包括一个或多个对象,包括:计算第一特征向量与每个第二特征向量之间的欧氏距离,并根据第一特征向量与每个第二特征向量之间的欧氏距离,从第一候选集合中确定出子集合;或计算第一特征向量与每个第二特征向量之间的余弦距离,并根据第一特征向量与每个第二特征向量之间的余弦距离,从第一候选集合中确定出子集合;或计算第一特征向量与每个第二特征向量之间的欧氏距离和余弦距离,并根据第一特征向量与每个第二特征向量之间的欧氏距离和余弦距离,从第一候选集合中确定出子集合。
第一特征向量与每个第二特征向量之间的相似度可以是第一特征向量与每个第二特征向量之间的欧氏距离,也可以是第一特征向量与每个第二特征向量之间的余弦距离,还可以是对第一特征向量与每个第二特征向量之间的欧氏距离和余弦距离按照预设阈值加权求和。
在执行步骤S202之前,也就是利用第一双塔模型中的第一左塔模型提取历史对话记录的第一特征向量,利用第一双塔模型中的第一右塔模型提取第一候选集合中每个对象的第二特征向量之前,方法还包括:获取第二候选集合和历史对话记录集合,其中,第二候选集合包括多个对象,历史对话记录集合包括多个用户的历史对话记录;对第二候选集合和历史对话记录集合进行标注处理;将编码模型同时作为第一双塔模型中的第一左塔模型和第一右塔模型,利用经过标注处理之后的第二候选集合训练第一双塔模型中的第一右塔模型,利用经过标注处理之后的历史对话记录集合训练第一双塔模型中的第一左塔模型。
为了提高对第一双塔模型训练的效率,可以将编码模型同时作为第一双塔模型中的第一左塔模型和第一右塔模型,对第一左塔模型和第一右塔模型进行独立的训练。本公开实施例不同于上文:利用经过标注处理之后的第二候选集合训练编码模型;将训练后的编码模型同时作为第一双塔模型中的第一左塔模型和第一右塔模型,冻结第一双塔模型中的第一右塔模型的模型参数,利用经过标注处理之后的历史对话记录集合训练第一双塔模型中的第一左塔模型。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图3是本公开实施例提供的一种基于第一双塔模型的对象推荐装置的示意图。如图3所示,该基于第一双塔模型的对象推荐装置包括:
获取模块301,被配置为获取第一候选集合和目标用户对应的历史对话记录,其中,第一候选集合包括多个对象;
提取模块302,被配置为利用第一双塔模型中的第一左塔模型提取历史对话记录的第一特征向量,利用第一双塔模型中的第一右塔模型提取第一候选集合中每个对象的第二特征向量,其中,第一双塔模型已通过训练,使得第一左塔模型学习并保存有历史对话记录和第一特征向量之间的对应关系,使得第一右塔模型学习并保存有对象和第二特征向量之间的对应关系;
计算模块303,被配置为计算第一特征向量与每个第二特征向量之间的相似度,并根据第一特征向量与每个第二特征向量之间的相似度,从第一候选集合中确定出子集合,其中,子集合包括一个或多个对象;
推荐模块304,被配置为基于子集合向目标用户进行对象推荐操作。
本公开实施例可以应用于电商平台或者其他可以为用户提供多种对象的场景,一个对象可以为一种物品或者商品,目标用户对应的历史对话记录,可以是目标用户与智能客服的所有的聊天记录,第一候选集合可以是该电商平台所有的商品(当然,第一候选集合也可以是该电商平台符合目标用户对应的业务请求的部分商品,比如业务请求为手机,那么第一候选集合就是该电商平台上架的所有的手机)。
基于子集合向目标用户进行对象推荐操作,就是向目标用户推荐最合适的对象:子集合是第一候选集合中与历史对话记录最接近的一个或多个对象,这是通过与第一特征向量相似度最高的一个或多个第二特征向量确定的。
根据本公开实施例提供的技术方案,获取第一候选集合和目标用户对应的历史对话记录,其中,第一候选集合包括多个对象;利用第一双塔模型中的第一左塔模型提取历史对话记录的第一特征向量,利用第一双塔模型中的第一右塔模型提取第一候选集合中每个对象的第二特征向量,其中,第一双塔模型已通过训练,使得第一左塔模型学习并保存有历史对话记录和第一特征向量之间的对应关系,使得第一右塔模型学习并保存有对象和第二特征向量之间的对应关系;计算第一特征向量与每个第二特征向量之间的相似度,并根据第一特征向量与每个第二特征向量之间的相似度,从第一候选集合中确定出子集合,其中,子集合包括一个或多个对象;基于子集合向目标用户进行对象推荐操作,因此,采用上述技术手段,可以解决现有技术中,推荐物品的准确率低和效率低的问题。进而提高推荐物品的准确率和效率。
可选地,提取模块302还被配置为获取第二候选集合和历史对话记录集合,其中,第二候选集合包括多个对象,历史对话记录集合包括多个用户的历史对话记录;对第二候选集合和历史对话记录集合进行标注处理;利用经过标注处理之后的第二候选集合训练编码模型;将训练后的编码模型同时作为第一双塔模型中的第一左塔模型和第一右塔模型,冻结第一双塔模型中的第一右塔模型的模型参数,利用经过标注处理之后的历史对话记录集合训练第一双塔模型中的第一左塔模型。
比如,第一候选集合可以是一个电商平台的所有的商品,是第一双塔模型需要处理的数据;第二候选集合可以是多个电商平台的所有的商品,是训练第一双塔模型的数据;历史对话记录集合同于第二候选集合,都是训练第一双塔模型的数据。对第二候选集合和历史对话记录集合进行标注处理,可以是标注第二候选集合中每种商品的特征向量(该特征向量,可以是每种商品的文字说明的特征向量),标注历史对话记录集合中每个用户的历史对话记录的特征向量。编码模型可以是任意一种常用的encoder-decoder模型中编码部分的网络。第一双塔模型中的第一左塔模型和第一右塔模型都是训练后的编码模型,冻结第一双塔模型中的第一右塔模型的模型参数,就是不训练第一双塔模型中的第一右塔模型。编码模型的损失函数可以使用三元损失函数triplet loss,triplet loss是深度学习的一种损失函数,主要是用于训练差异性小的样本。
利用经过标注处理之后的历史对话记录集合训练第一双塔模型中的第一左塔模型,是为了使得第一左塔模型学习并保存有历史对话记录和第一特征向量之间的对应关系,该次训练属于第二阶段的训练;利用经过标注处理之后的第二候选集合训练编码模型,是为了使得第一右塔模型学习并保存有对象和第二特征向量之间的对应关系,该次训练属于第一阶段的训练。
可选地,提取模块302还被配置为将训练后的编码模型同时作为第二双塔模型中的第二左塔模型和第二右塔模型,将第二候选集合中的目标对象输入第二双塔模型中的第二左塔模型,输出目标对象的第三特征向量,将第二候选集合中每个对象输入第二双塔模型中的第二右塔模型,输出每个对象的第四特征向量;计算第三特征向量与每个对象的第四特征向量之间的相似度;根据第三特征向量与每个对象的第四特征向量之间的相似度,从第二候选集合中确定出多个与目标对象最相似的对象。
本公开实施例中的第二双塔模型的训练是为了得到训练后的编码模型,将编码模型同时作为第二双塔模型中的第二左塔模型和第二右塔模型,是将训练前的编码模型同时作为第二双塔模型中的第二左塔模型和第二右塔模型。本公开实施例中的第二双塔模型的左塔和右塔共享权重。在上述“从第二候选集合中确定出多个与目标对象最相似的对象”的过程中,可以使得训练后的编码模型可以很好的学习到历史对话记录和第二特征向量之间的关系。
上文中第一双塔模型才是本公开在获取第一候选集合和目标用户对应的历史对话记录后,实际使用的模型。根据所述第三特征向量与每个对象的所述第四特征向量之间的相似度,从所述第二候选集合中确定出多个与所述目标对象最相似的对象之后,方法还包括:根据从第二候选集合中确定出的多个与目标对象最相似的对象,对训练后的编码模型进行模型质量评价,得到模型质量评分;当模型质量评分低于预设阈值,基于模型质量评分和预设阈值确定训练总轮次,并循环执行如下步骤对训练后的编码模型进行再训练:将训练轮次加一,其中,训练轮次用于表示当前再训练对应的次数,训练轮次初始值为零;利用经过标注处理之后的第二候选集合训练编码模型;当训练轮次等于训练总轮次时,结束再训练,当训练轮次小于训练总轮次时,继续再训练。
根据从第二候选集合中确定出的多个与目标对象最相似的对象,对训练后的编码模型进行模型质量评价,可以理解为验证确定出的多个与目标对象最相似的对象,是否无误。因为第一双塔模型中的第一左塔模型和第一右塔模型提取的目标对象的第三特征向量和每个对象的第四特征向量有误,会造成第三特征向量与每个对象的第四特征向量之间计算的相似度不准确,进而确定出的多个与目标对象最相似的对象并不准确,此时模型质量评分会低于预设阈值。
如果模型质量评分和预设阈值相差较大,那么训练总轮次应该较多(比如模型质量评分为80分(满分100分),预设阈值是95分,模型质量评分和预设阈值相差15分,可以认为相差较大,训练总轮次应该不少于10轮),如果模型质量评分和预设阈值相差较小,那么训练总轮次应该较少。比如训练总轮次为10,训练轮次为4(当前再训练是第4次),应该继续再训练,当训练轮次等于10,结束再训练。再训练的过程和前文对编码模型进行训练是一样的。
可选地,提取模块302还被配置为当模型质量评分低于预设阈值,基于模型质量评分和预设阈值确定预设模型精度;对训练后的编码模型进行再训练,测试再训练后的编码模型的模型精度;当模型精度大于预设模型精度时,结束再训练,当模型精度小于等于预设模型精度时,继续再训练。
基于模型质量评分和预设阈值确定预设模型精度类似于基于模型质量评分和预设阈值确定训练总轮次。本公开实施例也可以理解为一个循环:对训练后的编码模型进行多个轮次的训练,当模型精度大于预设模型精度时,结束再训练,当模型精度小于等于预设模型精度时,继续对训练后的编码模型增加多个轮次的训练。
可选地,计算模块303还被配置为计算第一特征向量与每个第二特征向量之间的欧氏距离,并根据第一特征向量与每个第二特征向量之间的欧氏距离,从第一候选集合中确定出子集合;或计算第一特征向量与每个第二特征向量之间的余弦距离,并根据第一特征向量与每个第二特征向量之间的余弦距离,从第一候选集合中确定出子集合;或计算第一特征向量与每个第二特征向量之间的欧氏距离和余弦距离,并根据第一特征向量与每个第二特征向量之间的欧氏距离和余弦距离,从第一候选集合中确定出子集合。
基于模型质量评分和预设阈值确定预设模型精度类似于基于模型质量评分和预设阈值确定训练总轮次。如果模型质量评分和预设阈值相差较大,那么预设模型精度应该较大(比如模型质量评分为80分(满分100分),预设阈值是95分,模型质量评分和预设阈值相差15分,可以认为相差较大,说明此时训练后的编码模型质量很差,预设模型精度应该设置大一些,具体多少可以根据具体情况设置),如果模型质量评分和预设阈值相差较小,那么预设模型精度应该较少。本公开实施例也可以理解为一个循环:对训练后的编码模型进行多个轮次的训练,当模型精度大于预设模型精度时,结束再训练,当模型精度小于等于预设模型精度时,继续对训练后的编码模型增加多个轮次的训练。
可选地,提取模块302还被配置为获取第二候选集合和历史对话记录集合,其中,第二候选集合包括多个对象,历史对话记录集合包括多个用户的历史对话记录;对第二候选集合和历史对话记录集合进行标注处理;将编码模型同时作为第一双塔模型中的第一左塔模型和第一右塔模型,利用经过标注处理之后的第二候选集合训练第一双塔模型中的第一右塔模型,利用经过标注处理之后的历史对话记录集合训练第一双塔模型中的第一左塔模型。
为了提高对第一双塔模型训练的效率,可以将编码模型同时作为第一双塔模型中的第一左塔模型和第一右塔模型,对第一左塔模型和第一右塔模型进行独立的训练。本公开实施例不同于上文:利用经过标注处理之后的第二候选集合训练编码模型;将训练后的编码模型同时作为第一双塔模型中的第一左塔模型和第一右塔模型,冻结第一双塔模型中的第一右塔模型的模型参数,利用经过标注处理之后的历史对话记录集合训练第一双塔模型中的第一左塔模型。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。
图4是本公开实施例提供的电子设备4的示意图。如图4所示,该实施例的电子设备4包括:处理器401、存储器402以及存储在该存储器402中并且可在处理器401上运行的计算机程序403。处理器401执行计算机程序403时实现上述各个方法实施例中的步骤。或者,处理器401执行计算机程序403时实现上述各装置实施例中各模块/单元的功能。
电子设备4可以是桌上型计算机、笔记本、掌上电脑及云端服务器等电子设备。电子设备4可以包括但不仅限于处理器401和存储器402。本领域技术人员可以理解,图4仅仅是电子设备4的示例,并不构成对电子设备4的限定,可以包括比图示更多或更少的部件,或者不同的部件。
处理器401可以是中央处理单元(Central Processing Unit,CPU),也可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
存储器402可以是电子设备4的内部存储单元,例如,电子设备4的硬盘或内存。存储器402也可以是电子设备4的外部存储设备,例如,电子设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。存储器402还可以既包括电子设备4的内部存储单元也包括外部存储设备。存储器402用于存储计算机程序以及电子设备所需的其它程序和数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本公开实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在计算机可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如,在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围,均应包含在本公开的保护范围之内。
Claims (10)
1.一种基于第一双塔模型的对象推荐方法,其特征在于,包括:
获取第一候选集合和目标用户对应的历史对话记录,其中,所述第一候选集合包括多个对象;
利用第一双塔模型中的第一左塔模型提取所述历史对话记录的第一特征向量,利用所述第一双塔模型中的第一右塔模型提取所述第一候选集合中每个对象的第二特征向量,其中,所述第一双塔模型已通过训练,使得所述第一左塔模型学习并保存有所述历史对话记录和所述第一特征向量之间的对应关系,使得所述第一右塔模型学习并保存有所述对象和所述第二特征向量之间的对应关系;
计算所述第一特征向量与每个所述第二特征向量之间的相似度,并根据所述第一特征向量与每个所述第二特征向量之间的相似度,从所述第一候选集合中确定出子集合,其中,所述子集合包括一个或多个对象;
基于所述子集合向所述目标用户进行对象推荐操作。
2.根据权利要求1所述的方法,其特征在于,所述利用第一双塔模型中的第一左塔模型提取所述历史对话记录的第一特征向量,利用所述第一双塔模型中的第一右塔模型提取所述第一候选集合中每个对象的第二特征向量之前,所述方法还包括:
获取第二候选集合和历史对话记录集合,其中,所述第二候选集合包括多个对象,所述历史对话记录集合包括多个用户的历史对话记录;
对所述第二候选集合和所述历史对话记录集合进行标注处理;
利用经过所述标注处理之后的第二候选集合训练编码模型;
将训练后的编码模型同时作为所述第一双塔模型中的第一左塔模型和第一右塔模型,冻结所述第一双塔模型中的第一右塔模型的模型参数,利用经过所述标注处理之后的历史对话记录集合训练所述第一双塔模型中的第一左塔模型。
3.根据权利要求2所述的方法,其特征在于,所述利用经过所述标注处理之后的第二候选集合训练编码模型,包括:
将编码模型同时作为第二双塔模型中的第二左塔模型和第二右塔模型,将所述第二候选集合中的目标对象输入所述第二双塔模型中的第二左塔模型,输出所述目标对象的第三特征向量,将所述第二候选集合中每个对象输入所述第二双塔模型中的第二右塔模型,输出每个对象的第四特征向量;
计算所述第三特征向量与每个对象的所述第四特征向量之间的相似度;
根据所述第三特征向量与每个对象的所述第四特征向量之间的相似度,从所述第二候选集合中确定出多个与所述目标对象最相似的对象。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第三特征向量与每个对象的所述第四特征向量之间的相似度,从所述第二候选集合中确定出多个与所述目标对象最相似的对象之后,所述方法还包括:
根据从所述第二候选集合中确定出的多个与所述目标对象最相似的对象,对训练后的编码模型进行模型质量评价,得到模型质量评分;当所述模型质量评分低于预设阈值,基于所述模型质量评分和所述预设阈值确定训练总轮次,并循环执行如下步骤对训练后的编码模型进行再训练:
将训练轮次加一,其中,所述训练轮次用于表示当前所述再训练对应的次数,所述训练轮次初始值为零;
利用经过所述标注处理之后的第二候选集合训练编码模型;
当所述训练轮次等于所述训练总轮次时,结束所述再训练,当所述训练轮次小于所述训练总轮次时,继续所述再训练。
5.根据权利要求4所述的方法,其特征在于,所述根据从所述第二候选集合中确定出的多个与所述目标对象最相似的对象,对训练后的编码模型进行模型质量评价,得到模型质量评分之后,所述方法还包括:
当所述模型质量评分低于预设阈值,基于所述模型质量评分和所述预设阈值确定预设模型精度;
对训练后的编码模型进行再训练,测试所述再训练后的编码模型的模型精度;
当所述模型精度大于所述预设模型精度时,结束所述再训练,当所述模型精度小于等于所述预设模型精度时,继续所述再训练。
6.根据权利要求1所述的方法,其特征在于,所述计算所述第一特征向量与每个所述第二特征向量之间的相似度,并根据所述第一特征向量与每个所述第二特征向量之间的相似度,从所述第一候选集合中确定出子集合,其中,所述子集合包括一个或多个对象,包括:
计算所述第一特征向量与每个所述第二特征向量之间的欧氏距离,并根据所述第一特征向量与每个所述第二特征向量之间的欧氏距离,从所述第一候选集合中确定出所述子集合;或
计算所述第一特征向量与每个所述第二特征向量之间的余弦距离,并根据所述第一特征向量与每个所述第二特征向量之间的余弦距离,从所述第一候选集合中确定出所述子集合;或
计算所述第一特征向量与每个所述第二特征向量之间的欧氏距离和余弦距离,并根据所述第一特征向量与每个所述第二特征向量之间的欧氏距离和余弦距离,从所述第一候选集合中确定出所述子集合。
7.根据权利要求1所述的方法,其特征在于,所述利用第一双塔模型中的第一左塔模型提取所述历史对话记录的第一特征向量,利用所述第一双塔模型中的第一右塔模型提取所述第一候选集合中每个对象的第二特征向量之前,所述方法还包括:
获取第二候选集合和历史对话记录集合,其中,所述第二候选集合包括多个对象,所述历史对话记录集合包括多个用户的历史对话记录;
对所述第二候选集合和所述历史对话记录集合进行标注处理;
将编码模型同时作为所述第一双塔模型中的第一左塔模型和第一右塔模型,利用经过所述标注处理之后的第二候选集合训练所述第一双塔模型中的第一右塔模型,利用经过所述标注处理之后的历史对话记录集合训练所述第一双塔模型中的第一左塔模型。
8.一种基于第一双塔模型的对象推荐装置,其特征在于,包括:
获取模块,被配置为获取第一候选集合和目标用户对应的历史对话记录,其中,所述第一候选集合包括多个对象;
提取模块,被配置为利用第一双塔模型中的第一左塔模型提取所述历史对话记录的第一特征向量,利用所述第一双塔模型中的第一右塔模型提取所述第一候选集合中每个对象的第二特征向量,其中,所述第一双塔模型已通过训练,使得所述第一左塔模型学习并保存有所述历史对话记录和所述第一特征向量之间的对应关系,使得所述第一右塔模型学习并保存有所述对象和所述第二特征向量之间的对应关系;
计算模块,被配置为计算所述第一特征向量与每个所述第二特征向量之间的相似度,并根据所述第一特征向量与每个所述第二特征向量之间的相似度,从所述第一候选集合中确定出子集合,其中,所述子集合包括一个或多个对象;
推荐模块,被配置为基于所述子集合向所述目标用户进行对象推荐操作。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并且可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210594540.1A CN114861064A (zh) | 2022-05-27 | 2022-05-27 | 基于双塔模型的对象推荐方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210594540.1A CN114861064A (zh) | 2022-05-27 | 2022-05-27 | 基于双塔模型的对象推荐方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114861064A true CN114861064A (zh) | 2022-08-05 |
Family
ID=82640965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210594540.1A Pending CN114861064A (zh) | 2022-05-27 | 2022-05-27 | 基于双塔模型的对象推荐方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114861064A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115545572A (zh) * | 2022-11-29 | 2022-12-30 | 支付宝(杭州)信息技术有限公司 | 一种业务风控的方法、装置、设备及存储介质 |
-
2022
- 2022-05-27 CN CN202210594540.1A patent/CN114861064A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115545572A (zh) * | 2022-11-29 | 2022-12-30 | 支付宝(杭州)信息技术有限公司 | 一种业务风控的方法、装置、设备及存储介质 |
CN115545572B (zh) * | 2022-11-29 | 2023-03-21 | 支付宝(杭州)信息技术有限公司 | 一种业务风控的方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190066696A1 (en) | Method and apparatus for verifying information | |
CN109514586B (zh) | 实现智能客服机器人的方法及系统 | |
CN111831855B (zh) | 用于匹配视频的方法、装置、电子设备和介质 | |
CN110309275A (zh) | 一种对话生成的方法和装置 | |
CN115470318A (zh) | 客服问题处理方法及装置 | |
CN114861064A (zh) | 基于双塔模型的对象推荐方法及装置 | |
CN114943590A (zh) | 基于双塔模型的对象推荐方法及装置 | |
CN115690443B (zh) | 特征提取模型训练方法、图像分类方法及相关装置 | |
CN115841144A (zh) | 一种文本检索模型的训练方法及装置 | |
CN116204624A (zh) | 应答方法、装置、电子设备及存储介质 | |
CN116431912A (zh) | 用户画像推送方法及装置 | |
CN115953803A (zh) | 人体识别模型的训练方法及装置 | |
CN113033373A (zh) | 用于训练人脸识别模型及识别人脸的方法及相关装置 | |
CN117951359A (zh) | 一种目标检索方法、装置、电子设备及存储介质 | |
CN116911304B (zh) | 一种文本推荐方法及装置 | |
CN115129847B (zh) | 智能回答方法及装置 | |
CN116911954B (zh) | 基于兴趣和流行度推荐物品的方法及装置 | |
CN117874269A (zh) | 一种图像的推送方法、装置、电子设备及可读存储介质 | |
CN117435739B (zh) | 图像文本分类的方法及装置 | |
CN115270799B (zh) | 命名实体识别方法及装置 | |
CN117893275A (zh) | 基于推荐模型的商品推荐方法、装置及电子设备 | |
CN117540015A (zh) | 文本语义确定方法、装置、电子设备及存储介质 | |
CN116933800A (zh) | 一种基于模版的生成式意图识别方法及装置 | |
CN115661891A (zh) | 避免数据长尾问题的人脸识别模型的训练方法及装置 | |
CN117216377A (zh) | 一种模型确定方法和相关装置 |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20221125 Address after: 518054 cable information transmission building 25f2504, no.3369 Binhai Avenue, Haizhu community, Yuehai street, Nanshan District, Shenzhen City, Guangdong Province Applicant after: Shenzhen Xumi yuntu Space Technology Co.,Ltd. Address before: No.103, no.1003, Nanxin Road, Nanshan community, Nanshan street, Nanshan District, Shenzhen City, Guangdong Province Applicant before: Shenzhen Jizhi Digital Technology Co.,Ltd. |