CN114861057B - 资源发送方法、推荐模型的训练及装置 - Google Patents
资源发送方法、推荐模型的训练及装置 Download PDFInfo
- Publication number
- CN114861057B CN114861057B CN202210536097.2A CN202210536097A CN114861057B CN 114861057 B CN114861057 B CN 114861057B CN 202210536097 A CN202210536097 A CN 202210536097A CN 114861057 B CN114861057 B CN 114861057B
- Authority
- CN
- China
- Prior art keywords
- index path
- determining
- combinations
- elements
- search word
- 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.)
- Active
Links
- 238000012549 training Methods 0.000 title claims abstract description 93
- 238000000034 method Methods 0.000 title claims abstract description 73
- 239000011159 matrix material Substances 0.000 claims abstract description 109
- 239000013598 vector Substances 0.000 claims description 27
- 230000005540 biological transmission Effects 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 14
- 238000013507 mapping Methods 0.000 claims description 12
- 238000010276 construction Methods 0.000 claims description 3
- 238000013473 artificial intelligence Methods 0.000 abstract description 7
- 238000013135 deep learning Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000013528 artificial neural network Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 235000019219 chocolate Nutrition 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 101100134058 Caenorhabditis elegans nth-1 gene Proteins 0.000 description 1
- 235000016623 Fragaria vesca Nutrition 0.000 description 1
- 240000009088 Fragaria x ananassa Species 0.000 description 1
- 235000011363 Fragaria x ananassa Nutrition 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 235000009508 confectionery Nutrition 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003924 mental process Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
-
- 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/04—Architecture, e.g. interconnection topology
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了资源发送方法、推荐模型的训练及装置,涉及计算机技术领域,尤其涉及深度学习等人工智能领域,可应用于搜索领域,具体实现方案为:获取客户端发送的搜索请求,其中,搜索请求中包括搜索词;将搜索词输入推荐模型中,以确定出搜索词对应的目标索引路径,其中,目标索引路径是根据预设矩阵中的多个元素生成的;确定目标索引路径对应的目标资源标识;向客户端发送目标资源标识对应的资源。该方法通过利用推荐模型,预测搜索词对应的索引路径,向客户端发送索引路径索引到的资源,提高了资源搜索效率和资源推荐的准确性。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及深度学习等人工智能领域,可应用于搜索领域,具体涉及一种资源发送方法、推荐模型的训练及装置。
背景技术
随着互联网技术的发展,搜索引擎得到了广泛使用,用户可以在搜索引擎上输入搜索信息,相应的,服务器可以对互联网上的信息进行检索,获取与搜索信息匹配的资源,返回给用户终端。而互联网上具有海量的信息,如何提高资源推荐的准确性是亟待解决的问题。
发明内容
本公开提供了一种资源发送方法、推荐模型的训练及装置。
根据本公开的一方面,提供了一种资源发送方法,包括:
获取客户端发送的搜索请求,其中,搜索请求中包括搜索词;
将搜索词输入推荐模型中,以确定出搜索词对应的目标索引路径,其中,目标索引路径是根据预设矩阵中的多个元素生成的;
确定目标索引路径对应的目标资源标识;
向客户端发送目标资源标识对应的资源。
根据本公开的另一方面,提供了一种推荐模型的训练方法,包括:
获取训练样本,其中,训练样本中包括搜索词和资源标识;
获取资源标识对应的第一索引路径,其中,第一索引路径是根据预设矩阵中的多个元素生成的;
根据搜索词和第一索引路径对初始推荐模型进行训练,以获取更新后的推荐模型;
将搜索词输入更新后的推荐模型,以从预设矩阵上确定出资源标识对应的第二索引路径;
将资源标识对应的第一索引路径更新为第二索引路径,以根据第二索引路径,进一步对模型参数进行更新,以得到推荐模型。
根据本公开的另一方面,提供了一种资源发送装置,包括:
第一获取模块,用于获取客户端发送的搜索请求,其中,搜索请求中包括搜索词;
第一确定模块,用于将搜索词输入推荐模型中,以确定出搜索词对应的目标索引路径,其中,所述目标索引路径是根据预设矩阵中的多个元素生成的;
第二确定模块,用于确定目标索引路径对应的目标资源标识;
发送模块,用于向客户端发送目标资源标识对应的资源。
根据本公开的另一方面,提供了一种推荐模型的训练装置,包括:
第一获取模块,用于获取训练样本,其中,训练样本中包括搜索词和资源标识;
第二获取模块,用于获取资源标识对应的第一索引路径,其中,第一索引路径是根据预设矩阵中的多个元素生成的;
训练模块,用于根据搜索词和第一索引路径对初始推荐模型进行训练,以获取更新后的推荐模型;
确定模块,用于将搜索词输入更新后的推荐模型,以从预设矩阵上确定出资源标识对应的第二索引路径;
更新模块,用于将资源标识对应的第一索引路径更新为第二索引路径,以根据第二索引路径,进一步对模型参数进行更新,以得到推荐模型。
根据本公开的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述实施例所述的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据上述实施例所述的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述实施例所述方法的步骤。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1为本公开一实施例提供的资源发送方法的流程示意图;
图2为本公开提供的索引路径的示意图;
图3为本公开另一实施例提供的资源发送方法的流程示意图;
图4为本公开另一实施例提供的资源发送方法的流程示意图;
图5为本公开一实施例提供的推荐模型的训练方法的流程示意图;
图6为本公开一实施例提供的推荐模型的训练方法的流程示意图;
图7为本公开一实施例提供的推荐模型的训练和应用的示意图;
图8为本公开一实施例提供的资源发送装置的结构示意图;
图9为本公开一实施例提供的推荐模型的训练装置的结构示意图;
图10是用来实现本公开实施例的资源发送方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
下面参考附图描述本公开实施例的资源发送方法、推荐模型的训练方法、装置、电子设备和存储介质。
人工智能是研究使用计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术领域也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术包括计算机视觉技术、语音识别技术、自然语言处理技术以及深度学习、大数据处理技术、知识图谱技术等几大方向。
深度学习是机器学习领域中一个新的研究方向。深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助。它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。
图1为本公开一实施例提供的资源发送方法的流程示意图。
本公开实施例的资源发送方法,可以由本公开实施例的资源发送装置执行,该装置可以配置于电子设备中,通过利用推荐模型,从预设矩阵上确定出搜索词对应的目标索引路径,基于目标索引路径确定向客户端发送的资源,从而基于矩阵索引路径确定搜索结果,提高了资源搜索效率和资源推荐的准确性。
其中,电子设备可以为任一具有计算能力的设备,例如可以为个人电脑、移动终端、服务器等,移动终端例如可以为车载设备、手机、平板电脑、个人数字助理、穿戴式设备等具有各种操作***、触摸屏和/或显示屏的硬件设备。
如图1所示,该资源发送方法包括:
步骤101,获取客户端发送的搜索请求,其中,搜索请求中包括搜索词。
在本公开中,用户可以在客户端的搜索引擎中输入搜索词,由此客户端可以生成搜索请求并发送给服务器,服务器可以获取到客户端发送的搜索请求,其中,搜索请求中可以包括搜索词、客户端信息等。
步骤102,将搜索词输入推荐模型中,以确定出搜索词对应的目标索引路径。
在本公开中,推荐模型可以是通过分布式训练得到,也可以是通过单机训练得到的。
在本公开中,目标索引路径可以是根据预设矩阵中的多个元素生成的,预设矩阵中各元素可以用于表示不同的资源属性,也即表示资源的不同属性。比如,商品为例,预设矩阵中各元素可以用于表示“甜”、“苦”、“辣”、“白色”、“红色”等多种不同的商品属性。
在本公开中,可以将搜索词输入预先训练得到的推荐模型中,推荐模型可以从预设矩阵的每列元素中选择一个或多个元素,基于选择的元素在预设矩阵中的位置,得到搜索词对应的目标索引路径,也即确定出与搜索词相关的属性。由此,通过将搜索词输入推荐模型中,利用推荐模型可以从预设矩阵上确定出搜索词对应的目标索引路径。
其中,从预设矩阵的每列中选择的元素的数量是相同的,比如从每列中选择一个元素,可以得到一条索引路径,从每列中选择3个元素,可以得到3条索引路径。
需要说明的是,本公开中的目标索引路径可以是一条,也可以是多条,可以根据实际需要设定。
另外,预设矩阵中的元素的位置,可以是相对位置,也可以是绝对位置。比如,元素的相对位置可以用元素所在行和所在列表示。又如,可以根据预设矩阵中元素的数量,对元素按照一定的顺序进行编号,元素的相对位置可以用编号表示。
以图2所示的3*3的矩阵为例,图2中示出了两个索引路径,一条索引路径上的元素为a1-b2-c1,根据3个元在矩阵中的位置,索引路径可表示为((1,1),(2,2),(1,3));另一条索引路径上的元素为a2-b1-c2,根据3个元在矩阵中的位置,该索引路径可以表示为((2,1),(1,2),(2,3))。
步骤103,确定目标索引路径对应的目标资源标识。
本公开中,可以根据预设的索引路径到资源标识的映射关系,确定目标索引路径对应的资源标识,为了便于描述,本公开中可以将目标索引路径对应的资源标识,称为目标资源标识。
由于不同的资源可能具有相同的属性,因此,在本公开中,一条索引路径可以索引到一个资源或多个资源。比如,对于蛋糕属性的索引路径,可以索引到草莓蛋糕、巧克力蛋糕等不同的商品。
步骤104,向客户端发送目标资源标识对应的资源。
在本公开中,在确定目标索引路径对应的目标资源标识后,可以向客户端发送目标资源标识对应的资源。其中,资源可以是网页、商品、视频等等。
比如,用户在浏览器搜索引擎中输入搜索词,通过推荐模型确定该搜索词对应的目标索引路径,并确定目标索引路径索引到的目标URL(Uniform Resource Locator,统一资源定位符),从而可以向浏览器推送目标URL对应的网页。
本公开实施例中,通过获取客户端发送的搜索请求,其中,搜索请求中包括搜索词;将搜索词输入推荐模型中,以确定出搜索词对应的目标索引路径;确定目标索引路径对应的目标资源标识;向客户端发送目标资源标识对应的资源。由此,通过利用推荐模型,预测搜索词对应的索引路径,向客户端发送索引路径索引到的资源,提高了资源搜索效率和资源推荐的准确性。
图3为本公开另一实施例提供的资源发送方法的流程示意图。
如图3所示,该资源发送方法包括:
步骤301,获取客户端发送的搜索请求,其中,搜索请求中包括搜索词。
步骤302,将搜索词输入推荐模型中,以从预设矩阵上确定出搜索词对应的目标索引路径。
在本公开中,步骤301-步骤302与上述实施例中相关内容的记载类似,故在此不再赘述。
本公开中,若推荐模型是基于分布式训练得到的,那么模型参数存储在分布式参数服务器中,在利用推荐模型,确定搜索词对应的目标索引路径之前,可先从分布式参数服务器获取模型参数,基于模型参数构建推荐模型。由此,利用分布式训练得到的推荐模型进行资源推荐,可以提高资源搜索效率。
步骤303,获取各资源标识对应的索引路径。
本公开中,各资源标识对应的索引路径可以是预先设置的,也可以是从其他设备获取的。
比如,推荐模型是采用分布式训练得到的,分布式参数服务器中存储有各资源标识对应的索引路径,那么可以从分布式参数服务器获取各资源标识对应的索引路径。由此,在分布式场景下,无需采用新的架构存储资源标识的索引路径,可以节省资源。
在本公开中,每个资源标识可以对应一条索引路径,也可以对应多条索引路径。比如,巧克力蛋糕可以对应被巧克力和蛋糕两个索引路径索引到。
步骤304,根据各资源标识对应的索引路径,确定各索引路径对应的资源标识。
在本公开中,可以对各资源标识对应的索引路径进行反向映射,得到各索引路径对应的资源标识,也即得到索引路径到资源标识的映射关系。
在本公开中,一个资源标识可以对应多个索引路径,也即一个资源可以被多个索引路径索引到,而一个索引路径也可以对应多个资源标识,也即根据一个索引路径可以索引到多个资源。
步骤305,根据目标索引路径,通过查询各索引路径对应的资源标识,确定目标索引路径对应的目标资源标识。
在确定各索引路径对应的资源标识后,可以根据目标索引路径,查询各索引路径对应的资源标识,确定目标索引路径对应的目标资源标识。
可以理解的是,若目标索引路径为多个,那么针对每个目标索引路径,通过查询各索引路径对应的资源标识,可以得到每个索引路径对应的资源标识,之后将各目标索引路径对应的资源标识进行合并,可以得到最终的目标资源标识。
比如,目标索引路径有m个,其中,m为正整数,通过查询各目标索引路径对应的资源标识,将m个目标索引路径转换为n个资源标识,其中,n为正整数,n与m可以相同,也可以不同。
步骤306,向客户端发送目标资源标识对应的资源。
本公开中,步骤306与上述实施例记载的内容类似,故在此不再赘述。
本公开实施例中,在确定目标索引路径对应的目标资源标识时,可以通过获取各资源标识对应的索引路径;根据各资源标识对应的索引路径,确定各索引路径对应的资源标识;根据目标索引路径,通过查询各索引路径对应的资源标识,确定目标索引路径对应的目标资源标识。由此,通过根据各资源标识对应的索引路径,可以有效确定目标索引路径对应的资源标识。
图4为本公开另一实施例提供的资源发送方法的流程示意图。
如图4所示,该资源发送方法包括:
步骤401,获取客户端发送的搜索请求,其中,搜索请求中包括搜索词。
在本公开中,步骤401与上述实施例中记载的内容类似,故在此不再赘述。
步骤402,根据搜索词,确定预设矩阵第一列的M个元素中每个元素作为搜索词对应的索引路径上节点的概率,并从第一列的M个元素中确定出概率最高的k个元素。
假设预设矩阵的大小为M*N,目标索引路径的数量为k,k小于M,且M、N和k均为正整数。
在本公开中,可以对搜索词进行向量映射,得到搜索词对应的词向量,推荐模型可以基于搜索词对应的词向量,确定预设矩阵第一列M个元素中每个元素作为搜索词对应的索引路径上节点的概率,并从M个元素中确定出概率最高的k个元素。
步骤403,根据搜索词和k个元素,确定k个元素与预设矩阵第二列M个元素的k*M个组合中每个组合作为搜索词对应的索引路径上节点的概率,并从k*M个组合中确定出概率最高的k个组合。
在从第一列M个元素中确定出k个元素后,可以基于k个元素中每个元素与搜索词,确定预设矩阵第二列中各元素作为搜索词对应的索引路径上的节点的概率,也即确定每个元素与第二列M个元素的M个组合中每个组合作为搜索词对应的索引路径上节点的概率。之后,对k个元素分别对应的M个组合的概率进行比较,从k*M个组合中确定出概率最高的k个组合。由此,基于第一列选出的元素和搜索词,从第二列中选出索引路径上的节点,提高了准确性。
比如,k=2,M=3,N=2,从第一列中选出2个概率最高的元素a1和a2,第二列的3个元素为b1、b2和b3。对于元素a1,可以将元素a1和搜索词作为输入,确定第二列中元素b1、b2和b3分别作为索引路径上的节点的概率为0.7、0.1、0.2。同样地,将元素a2和搜索词作为输入,确定第二列中元素b1、b2和b3分别作为索引路径上的节点的概率为0.2、0.6、0.2。那么,6个概率中组合a1-b1对应的概率0.8,与组合a2-b2对应的概率0.6最高,也即从a1和a2与第二列中3个元素的共6个组合中确定出概率最高的组合为a1-b1、a2-b2。
步骤404,从预设矩阵第三列开始,根据搜索词和在上一列确定的k个组合,确定上一列对应的k个组合与当前列M个元素的k*M个组合中每个组合作为搜索词对应的索引路径上节点的概率,并从k*M个组合中确定出概率最高的k个组合。
在本公开中,从预设矩阵第三列开始,可以基于搜索词和在上一列确定的k个组合中的每个组合,确定当前列M个元素中每个元素作为索引路径上的节点的概率,也即确定在上一列确定的每个组合与当前列M个元素的M个组合中每个组合作为搜索词对应的索引路径上节点的概率,之后对k个组合分别对应的M个组合的概率进行比较,从k*M个组合中确定出概率最高的k个组合。
由此,可以在第三列确定出概率最高的k个组合,之后基于在第三列确定的k个组合和搜索词,在第四列确定出概率最高的k个组合,依次计算,可以基于在第N-1列确定的概率最高的k个组合与搜索词,在第N列确定出概率最高的k个组合。
步骤405,根据在第N列确定的k个组合中每个元素在预设矩阵中的位置,确定搜索词对应的k个数量的目标索引路径。
在本公开中,索引路径可以用矩阵中元素的位置表示。
在本公开中,在基于在第N-1列确定的k个组合和搜索词,从k个组合与第N列元素的k*M个组合中确定出概率最高的k个组合后,可以根据在第N列确定的k个组合中每个组合中各元素在预设矩阵中的位置,确定搜索词对应的k个数量的目标索引路径。
在实现时,针对每个组合,可以按照组合中元素在矩阵中的列数从小到大的顺序,将各元素的作为依次拼接得到索引路径。
基于步骤403中的例子,k=2,M=3,N=2,最终确定的k个组合为a1-b1、a2-b2,假设元素a1、a2、b1、b2在3*2的矩阵中的位置为(1,1)、(2,1)、(1,2)、(2,2),那么搜索词对应的两个索引路径为((1,1),(1,2))、((2,1),(2,2))。
步骤406,确定k个数量的目标索引路径对应的目标资源标识。
在本公开中,若k大于1,确定每个目标索引路径对应的目标资源标识。其中,确定方法与上述实施例中记载的内容类似,故在此不再赘述。
步骤407,向客户端发送目标资源标识对应的资源。
在本公开中,步骤407与上述实施例记载的内容类似,故在此不再赘述。
本公开实施例中,在将搜索词输入推荐模型中,以从预设矩阵上确定出搜索词对应的目标索引路径时,可以通过从预设矩阵的各列中依次确定出数量小于矩阵行数的元素,以确定搜索词对应的目标索引路径,从而可以减少索引路径的搜索空间,提高计算效率。
图5为本公开一实施例提供的推荐模型的训练方法的流程示意图。
如图5所示,该推荐模型的训练方法包括:
步骤501,获取训练样本,其中,训练样本中包括搜索词和资源标识。
本公开中,可以获取多个训练样本,每个训练样本中可以包括搜索词和资源标识。其中,资源标识对应的资源可以是用户在使用搜索词进行搜索时,点击或者浏览过的资源。
可以理解的是,不同的搜索词对应的资源标识可能相同。
步骤502,获取资源标识对应的第一索引路径,其中,第一索引路径是根据预设矩阵中的多个元素生成的。
在本公开中,可以获取资源标识对应的第一索引路径,从而将训练样本中的资源标识转换为索引路径。其中,资源标识对应的第一索引路径可以是从本地获取的,也可以是从其他设备获取的,第一索引路径是根据预设矩阵中的多个元素生成的的,预设矩阵中的各元素表示不同的资源属性,具体解释可以参见上述实施例。
本公开中,第一索引路径可以是一条也可以是多条。比如,某训练样本中的资源标识对应的索引路径有3条,那么可以将搜索词和每条索引路径,作为一条训练数据对模型进行训练。
步骤503,根据搜索词和第一索引路径对初始推荐模型进行训练,以获取更新后的推荐模型。
在本公开中,可以根据搜索词和第一索引路径对初始推荐模型训练,以得到梯度信息,根据梯度信息对初始模型的参数进行更新,以获取更新后的模型。由此,可以有效的对模型参数进行更新,得到更新后的模型。
在确定梯度信息时,作为一种可能的实现方式,可以将搜索词输入到初始推荐模型中,初始推荐模型可以确定从预设矩阵的每列中选择第一索引路径上相应节点的概率,并将从预设矩阵中选择各节点的概率相乘,得到初始推荐模型输出第一索引路径的概率,之后基于第一索引概率与目标概率之间的差值,确定梯度信息。由此,通过将目标概率作为初始推荐模型输出第一索引路径的概率的目标,从而可以有效的确定梯度信息,实现对模型参数的更新。
比如,预设矩阵为4*3的矩阵,目标概率为1,可以将矩阵中的各元素从左到右,从上到下用0到11进行编号,若第一索引路径为3-4-2,将搜索词输入到初始推荐模型,初始推荐模型可以确定从第一列中选择编号为3的元素的概率为p1,基于搜索词和编号为3的元素,从第二列中选择编号为4的元素的概率为p2,基于搜索词和编号为3和4的元素,从第三列中选择编号为2的元素的概率为p3,可以将p1*p2*p3作为初始推荐模型输出第一索引路径的概率,并基于得到的第一索引路径的概率与1之间的差值,确定梯度信息。
需要说明的是,本公开中,目标概率可以为1,也可以是0.95,也可以是其他数值,本公开对此不作限定。
作为另一种可能的实现方式,也可以将搜索词输入到初始推荐模型中,可以得到初始推荐模型输出的预测索引路径,可以基于预测索引路径与第一索引路径之间的差异,确定损失值,基于损失值确定梯度信息。由此,可以有效的计算梯度信息,实现对模型参数的更新。
步骤504,将搜索词输入更新后的推荐模型,以从预设矩阵上确定出资源标识对应的第二索引路径。
本公开中,确定第二索引路径的方法与上述实施例中确定目标索引路径的方式类似。
在本公开中,可以将搜索词输入更新后的推荐模型中,更新后的推荐模型可以从预设矩阵的每列元素中选择一个或多个元素,基于选择的元素在预设矩阵中的位置,得到第二索引路径。由此,可以利用更新后的推荐模型重新确定资源标识对应的索引路径。
其中,第二索引路径可以是一条,也可以是多条。
在实现时,从预设矩阵的每列中选择的元素的数量是相同的,比如从每列中选择一个元素,可以得到一条索引路径,从每列中选择3个元素,可以得到3条索引路径。
本公开中第一索引路径的数量可以与第二索引路径的数量相同。
步骤505,将资源标识对应的第一索引路径更新为第二索引路径,以根据第二索引路径,进一步对模型参数进行更新,以得到推荐模型。
在确定资源标识对应的第二索引路径之后,可以将资源标识对应的第一索引路径更新为第二索引路径。
在实际应用中,多个训练样本中,同一资源标识可能对应多个搜索词,可以逐个利用训练样本,对模型参数进行更新和对资源标识对应的索引路径进行更新,也可以根据每个搜索词,确定资源标识对应的索引路径,并从基于三个搜索词得到的索引路径中选择概率最高的预设数量的索引路径作为该资源标识对应的第二索引路径,利用该第二索引路径对第一索引路径进行更新。
在本公开中,若后续用于训练的训练样本中包括该资源标识,那么可以获取该资源标识对应的第二索引路径,基于搜索词和第二索引路径,进一步对模型参数进行更新,若满足训练结束条件,则得到推荐模型。若未满足训练结束条件,可根据当前的推荐模型和搜索词,确定资源标识对应的索引路径,并将该资源标识对应的第二索引路径更新为该索引路径,以根据该索引路径,进一步对模型参数进行更新,直至满足训练结束条件,得到推荐模型。其中,推荐模型可以用于预测搜索词对应的索引路径。
本公开实施例中,可以基于搜索词和资源标识对应的索引路径对模型参数进行更新,并基于更新后的推荐模型,预测资源标识对应的索引路径,并利用最新的索引路径对资源标识原来的索引路径进行更新,从而在模型训练过程中,不仅对模型参数进行更新,还对资源标识对应的索引路径进行更新,在模型训练结束,不仅可以得到用于预测索引路径的推荐模型,还可以得到各资源标识最终对应的索引路径,由此利用推荐模型预测资源标识对应的索引路径,并基于预测的索引路径进行资源推荐,可以提高资源搜索效率和资源推荐的准确性。
图6为本公开一实施例提供的推荐模型的训练方法的流程示意图。
如图6所示,该推荐模型的训练方法包括:
步骤601,获取训练样本,其中,训练样本中包括搜索词和资源标识。
由于数据的爆发式增长,对数据容量和性能的要求,本公开中,可以采用分布式的方式进行模型训练。
本公开中,分布式工作节点可以获取多个训练样本,其中,训练样本中可以包括搜索词和资源标识。
步骤602,从分布式参数服务器获取资源标识对应的第一索引路径。
本公开中,分布式参数服务器可以存储各资源标识对应的索引路径,分布式工作节点可以向分布式参数服务器发送数据请求,以从分布式参数服务器获取资源标识对应的第一索引路径,从而将训练样本中的资源标识转换为索引路径。
步骤603,根据搜索词和第一索引路径对初始推荐模型进行训练,以对分布式参数服务器中初始推荐模型的参数进行更新,获取更新后的推荐模型。
本公开中,分布式工作节点可以根据搜索词和第一索引路径对初始推荐模型进行训练,得到梯度信息,并将梯度信息发送给分布式参数服务器,分布式参数服务器根据梯度信息对初始推荐模型的参数进行更新,以得到更新后的推荐模型。
本公开中,梯度信息的确定方法与上述实施例中记载的方法类似,故在此不再赘述。
步骤604,将搜索词输入更新后的推荐模型,以从预设矩阵上确定出资源标识对应的第二索引路径。
本公开中,分布式工作节点,可以将搜索词输入更新后的推荐模型,更新后的推荐模型从预设矩阵上确定出资源标识对应的第二索引路径。
假设预设矩阵的大小为M*N,第二索引路径的数量为t,t小于M,且M、N和t均为正整数。
在本公开中,可以对搜索词进行向量映射,得到搜索词对应的词向量,推荐模型可以基于搜索词对应的词向量,确定预设矩阵第一列M个元素中每个元素作为搜索词的索引路径上节点的概率,并从M个元素中确定出概率最高的t个元素。
在从第一列M个元素中确定出t个元素后,可以基于t个元素中每个元素与搜索词,确定预设矩阵第二列中各元素作为索引路径上的节点的概率,也即确定每个元素与第二列M个元素的M个组合中每个组合作为资源标识对应的索引路径上节点的概率。之后,对t个元素分别对应的M个组合的概率进行比较,从t*M个组合中确定出概率最高的t个组合。
本公开中,从预设矩阵第三列开始,可以基于搜索词和在上一列确定的t个组合中的每个组合,确定当前列M个元素中每个元素作为资源标识对应的索引路径上的节点的概率,也即确定每个组合与当前列M个元素的M个组合中每个组合作为资源标识对应的索引路径上节点的概率,之后对t个组合分别对应的M个组合的概率进行比较,从t*M个组合中确定出概率最高的t个组合。
在基于在第N-1列确定的t个组合和搜索词,从t个组合与第N列元素的t*M个组合中确定出概率最高的k个组合后,可以根据在第N列确定的t个组合中每个组合中各元素在预设矩阵中的位置,确定搜索词对应的t个数量的第二索引路径。
本公开中,t可以与上述实施例中的k相同,也可以不同,可以根据实际需要设定。
本公开中通过从预设矩阵的各列中依次确定出数量小于矩阵行数的元素,以确定搜索词对应的目标索引路径,从而可以减少索引路径的搜索空间,提高计算效率。
步骤605,将分布式参数服务器中资源标识对应的第一索引路径更新为第二索引路径,以根据第二索引路径,进一步对模型参数进行更新,以得到推荐模型。
在确定资源标识对应的第二索引路径后,分布式工作节点可以将第二索引路径发送给分布式参数服务器,由分布式参数服务器将资源标识对应的第一索引路径更新为第二索引路径,由此可以将分布式参数服务器中的资源标识对应的第一索引路径更新为第二索引路径,以根据第二索引路径,进一步对模型参数进行更新,以得到推荐模型,具体过程与上述实施例中记载的内容类似,故在此不再赘述。
本公开中,可以在分布式参数服务器中存储模型参数和各资源标识对应的索引路径,在进行分布式训练时,可以根据搜索词和资源标识对应的第一索引路径进行模型训练,对分布式参数服务器中的模型参数进行更新,并利用模型确定资源标识对应的第二索引路径,并将分布式参数服务器中资源标识对应的第一索引路径更新为第二索引路径,实现索引路径的更新,从而在模型训练结束时,获取推荐模型及各资源标识最终对应的索引路径。
本公开实施例中,通过获取训练样本,其中,训练样本中包括搜索词和资源标识;从分布式参数服务器获取资源标识对应的第一索引路径;根据搜索词和第一索引路径对初始推荐模型进行训练,以对分布式参数服务器中初始推荐模型的参数进行更新,获取更新后的推荐模型;将搜索词输入更新后的推荐模型,以从预设矩阵上确定出资源标识对应的第二索引路径;将分布式参数服务器中资源标识对应的第一索引路径更新为第二索引路径,以根据第二索引路径,进一步对模型参数进行更新,以得到推荐模型。由此,利用分布式训练得到推荐模型确定资源的索引路径,基于索引路径确定资源标识,从而进行资源推荐,可以提高资源搜索效率和资源推荐的准确性,另外通过将索引结构和参数服务器模式有效结合,即将资源原本的参数表示和矩阵索引结构结合,形成新的格式存储,从而无需设置新的架构存储和处理索引路径,节省了资源。
为了便于理解上述实施例,下面以分布式训练为例,结合图7进行说明,图7为本公开一实施例提供的推荐模型的训练和应用的示意图。
如图7所示,假设矩阵为K*3的矩阵,d=1、d=2和d=3分别表示矩阵的第一列、第二列和第三列,每列中1,2,…,K表示的是元素的位置,其中,K为大于1的整数。
在训练时,工作节点获取训练样本,其中,训练样本中包括搜索词和资源标识,之后可以从参数服务器资源标识对应的第一索引路径,从而将训练样本中的资源标识转换为索引路径,其中,索引路径是从K*3的矩阵上确定的。
参数服务器中存储有神经网络的参数表,工作节点可以从参数服务器获取神经网络的参数,并利用搜索词和索引路径对神经网络进行训练,得到梯度信息,将梯度信息发送给参数服务器,参数服务器根据梯度信息对神经网络的参数进行更新。
之后,工作节点可以从参数服务器获取神经网络当前的参数,基于神经网络当前的参数和搜索词,确定资源标识对应的概率最高的J条索引路径,之后将J条索引路径发送给参数服务器,其中,J条索引路径的确定方法可以参见上述实施例,在此不再赘述。重复上述神经网络参数和索引路径的更新过程,直至满足模型训练结束条件,得到推荐模型。
在获取到搜索请求时,可以将搜索请求中的搜索词输入到训练得到的推荐模型中,以从K*3的矩阵上确定出搜索词对应的k条索引路径,其中,k条索引路径确定过程可以参见上述实施例,在此不再赘述。
由于参数服务器上存储有资源标识到索引路径的映射关系,即资源标识->索引路径,那么可以基于该映射关系,可以得到索引路径到资源标识的映射关系,即索引路径->资源标识。由此,利用索引路径到资源标识的映射关系,可以根据k条索引路径中的每条索引路径转换索引到资源标识,从而可以将k条索引路径转换为f个资源标识,可以向客户端发送f个资源标识对应的资源。
为了实现上述实施例,本公开实施例还提出一种资源发送装置。图8为本公开一实施例提供的资源发送装置的结构示意图。
如图8所示,该资源发送装置800包括:
第一获取模块810,用于获取客户端发送的搜索请求,其中,搜索请求中包括搜索词;
第一确定模块820,用于将搜索词输入推荐模型中,以确定出搜索词对应的目标索引路径,其中,目标索引路径是根据预设矩阵中的多个元素生成的;
第二确定模块830,用于确定目标索引路径对应的目标资源标识;
发送模块840,用于向客户端发送目标资源标识对应的资源。
在本公开实施例一种可能的实现方式中,第二确定模块830,包括:
获取单元,用于获取各资源标识对应的索引路径;
第一确定单元,用于根据各资源标识对应的索引路径,确定各索引路径对应的资源标识;
第二确定单元,用于根据目标索引路径,通过查询各索引路径对应的资源标识,确定目标索引路径对应的目标资源标识。
在本公开实施例一种可能的实现方式中,获取单元,用于:
从分布式参数服务器获取各资源标识对应的索引路径。
在本公开实施例一种可能的实现方式中,预设矩阵的大小为M*N,目标索引路径的数量为k,k小于M,且M、N和k均为正整数,第一确定模块820,用于:
根据搜索词,确定预设矩阵第一列的M个元素中每个元素作为搜索词对应的索引路径上节点的概率,并从第一列的M个元素中确定出概率最高的k个元素;
根据搜索词和k个元素,确定k个元素与预设矩阵第二列M个元素的k*M个组合中每个组合作为所述搜索词对应的索引路径上节点的概率,并从k*M个组合中确定出概率最高的k个组合;
从预设矩阵第三列开始,根据搜索词和在上一列确定的k个组合,确定上一列对应的k个组合与当前列M个元素的k*M个组合中每个组合作为所述搜索词对应的索引路径上节点的概率,确定出概率最高的k个组合;
根据在第N列确定的k个组合中每个元素在预设矩阵中的位置,确定搜索词对应的k个数量的目标索引路径。
在本公开实施例一种可能的实现方式中,第一确定模块820,用于:
根据搜索词和k个元素中的每个元素,确定每个元素与第二列M个元素的M个组合中每个组合作为搜索词对应的索引路径上节点的概率;
根据k个元素分别对应的M个组合的概率,从k*M个组合中确定出概率最高的k个组合。
在本公开实施例一种可能的实现方式中,该装置还可以包括:
第二获取模块,用于从分布式参数服务器获取模型参数;
构建模块,用于根据模型参数,构建推荐模型。
需要说明的是,前述资源发送方法实施例的解释说明,也适用于该实施例的资源发送装置,故在此不再赘述。
本公开实施例中,通过获取客户端发送的搜索请求,其中,搜索请求中包括搜索词;将搜索词输入推荐模型中,以确定出搜索词对应的目标索引路径;确定目标索引路径对应的目标资源标识;向客户端发送目标资源标识对应的资源。由此,通过利用推荐模型,预测搜索词对应的索引路径,向客户端发送索引路径索引到的资源,提高了资源搜索效率和资源推荐的准确性。
为了实现上述实施例,本公开实施例还提出一种推荐模型的训练装置。图9为本公开一实施例提供的推荐模型的训练装置的结构示意图。
如图9所示,该推荐模型的训练装置900包括:
第一获取模块910,用于获取训练样本,其中,训练样本中包括搜索词和资源标识;
第二获取模块920,用于获取资源标识对应的第一索引路径,其中,第一索引路径根据预设矩阵中的多个元素生成的;
训练模块930,用于根据搜索词和第一索引路径对初始推荐模型进行训练,以获取更新后的推荐模型;
确定模块940,用于将搜索词输入更新后的推荐模型,以从预设矩阵上确定出资源标识对应的第二索引路径;
更新模块950,用于将资源标识对应的第一索引路径更新为第二索引路径,以根据第二索引路径,进一步对模型参数进行更新,以得到推荐模型。
在本公开实施例一种可能的实现方式中,第二获取模块920,用于从分布式参数服务器获取资源标识对应的第一索引路径;
更新模块950,用于将分布式参数服务器中资源标识对应的第一索引路径更新为第二索引路径。
在本公开实施例一种可能的实现方式中,预设矩阵的大小为M*N,第二索引路径的数量为t,t小于M,且M、N和t均为正整数,确定模块940,用于:
根据搜索词,确定预设矩阵第一列的M个元素中每个元素作为所述资源标识对应的索引路径上节点的概率,并从所述第一列的M个元素中确定出概率最高的t个元素;
根据搜索词和t个元素,确定t个元素与预设矩阵第二列M个元素的t*M个组合中每个组合作为所述资源标识对应的索引路径上节点的概率,并从t*M个组合中确定出概率最高的t个组合;
从预设矩阵第三列开始,根据搜索词和在上一列确定的t个组合,确定上一列对应的t个组合与当前列M个元素的t*M个组合中每个组合作为所述资源标识对应的索引路径上节点的概率,并从t*M个组合中确定出概率最高的t个组合;
根据在第N列确定的t个组合中每个元素在预设矩阵中的位置,生成t个数量的目标索引路径。
在本公开实施例一种可能的实现方式中,第二获取模块920,包括:
确定单元,用于根据搜索词和第一索引路径对初始推荐模型训练,以得到梯度信息;
更新单元,用于根据梯度信息对初始模型的参数进行更新,以获取更新后的模型。
在本公开实施例一种可能的实现方式中,确定单元,用于:
将搜索词输入初始推荐模型,以确定初始推荐模型输出第一索引路径的概率;
根据输出第一索引路径的概率与目标概率之间的差值,确定梯度信息。
在本公开实施例一种可能的实现方式中,确定单元,用于:
将搜索词输入初始推荐模型,以获取资源标识对应的预测索引路径;
根据预测索引路径与第一索引路径之间的差异,确定梯度信息。
需要说明的是,前述推荐模型的训练实施例的解释说明,也适用于该实施例的推荐模型的训练装置,故在此不再赘述。
本公开实施例中,可以基于搜索词和资源标识对应的索引路径对模型参数进行更新,并基于更新后的推荐模型,预测资源标识对应的索引路径,并利用最新的索引路径对资源标识原来的索引路径进行更新,从而在模型训练过程中,不仅对模型参数进行更新,还对资源标识对应的索引路径进行更新,在模型训练结束,不仅可以得到用于预测索引路径的推荐模型,还可以得到各资源标识最终对应的索引路径,由此利用推荐模型预测资源标识对应的索引路径,并基于预测的索引路径进行资源推荐,可以提高资源搜索效率和资源推荐的准确性。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图10示出了可以用来实施本公开的实施例的示例电子设备1000的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图10所示,设备1000包括计算单元1001,其可以根据存储在ROM(Read-OnlyMemory,只读存储器)1002中的计算机程序或者从存储单元1008加载到RAM(Random AccessMemory,随机访问/存取存储器)1003中的计算机程序,来执行各种适当的动作和处理。在RAM 1003中,还可存储设备1000操作所需的各种程序和数据。计算单元1001、ROM 1002以及RAM 1003通过总线1004彼此相连。I/O(Input/Output,输入/输出)接口1005也连接至总线1004。
设备1000中的多个部件连接至I/O接口1005,包括:输入单元1006,例如键盘、鼠标等;输出单元1007,例如各种类型的显示器、扬声器等;存储单元1008,例如磁盘、光盘等;以及通信单元1009,例如网卡、调制解调器、无线通信收发机等。通信单元1009允许设备1000通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1001可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1001的一些示例包括但不限于CPU(Central Processing Unit,中央处理单元)、GPU(Graphic Processing Units,图形处理单元)、各种专用的AI(Artificial Intelligence,人工智能)计算芯片、各种运行机器学习模型算法的计算单元、DSP(Digital SignalProcessor,数字信号处理器)、以及任何适当的处理器、控制器、微控制器等。计算单元1001执行上文所描述的各个方法和处理,例如资源发送方法。例如,在一些实施例中,资源发送方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1008。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1002和/或通信单元1009而被载入和/或安装到设备1000上。当计算机程序加载到RAM 1003并由计算单元1001执行时,可以执行上文描述的资源发送方法的一个或多个步骤。备选地,在其他实施例中,计算单元1001可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行资源发送方法。
本文中以上描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、FPGA(Field Programmable Gate Array,现场可编程门阵列)、ASIC(Application-Specific Integrated Circuit,专用集成电路)、ASSP(Application Specific StandardProduct,专用标准产品)、SOC(System On Chip,芯片上***的***)、CPLD(ComplexProgrammable Logic Device,复杂可编程逻辑设备)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、RAM、ROM、EPROM(Electrically Programmable Read-Only-Memory,可擦除可编程只读存储器)或快闪存储器、光纤、CD-ROM(Compact Disc Read-Only Memory,便捷式紧凑盘只读存储器)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(Cathode-Ray Tube,阴极射线管)或者LCD(Liquid Crystal Display,液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:LAN(LocalArea Network,局域网)、WAN(Wide Area Network,广域网)、互联网和区块链网络。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务(VirtualPrivate Server,虚拟专用服务器)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式***的服务器,或者是结合了区块链的服务器。
需要说明的是,本公开实施例的推荐模型的训练方法也可以由图10所述的电子设备实施。
根据本公开的实施例,本公开还提供了一种计算机程序产品,当计算机程序产品中的指令处理器执行时,执行本公开上述实施例提出的资源发送方法或者推荐模型的训练方法。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (23)
1.一种资源发送方法,包括:
获取客户端发送的搜索请求,其中,所述搜索请求中包括搜索词;
将所述搜索词输入推荐模型中,以确定出所述搜索词对应的目标索引路径,其中,所述目标索引路径是根据预设矩阵中的多个元素生成的,用于表示与所述搜索词相关的属性,所述预设矩阵中各元素用于表示不同的资源属性;
确定所述目标索引路径对应的目标资源标识;
向所述客户端发送所述目标资源标识对应的资源;
其中,所述预设矩阵的大小为M*N,所述目标索引路径的数量为k,k小于M,且M、N和k均为正整数,所述将所述搜索词输入推荐模型中,以确定出所述搜索词对应的目标索引路径,包括:
对所述搜索词进行向量映射,得到所述搜索词对应的词向量;
根据所述搜索词对应的词向量,确定所述预设矩阵第一列的M个元素中每个元素作为所述搜索词对应的索引路径上节点的概率,并从所述第一列的M个元素中确定出概率最高的k个元素;
根据所述搜索词对应的词向量和所述k个元素,确定所述k个元素与所述预设矩阵第二列M个元素的k*M个组合中每个组合作为所述搜索词对应的索引路径上节点的概率,并从k*M个组合中确定出概率最高的k个组合;
从所述预设矩阵第三列开始,根据所述搜索词对应的词向量和在上一列确定的k个组合,确定所述上一列对应的k个组合与当前列M个元素的k*M个组合中每个组合作为所述搜索词对应的索引路径上节点的概率,并从k*M个组合中确定出概率最高的k个组合;
根据在第N列确定的k个组合中每个元素在所述预设矩阵中的位置,确定所述搜索词对应的k个数量的目标索引路径;
其中,所述预设矩阵每列M个元素中每个元素作为搜索词对应的索引路径上节点的概率是所述推荐模型基于所述搜索词的词向量确定的,所述词向量由搜索词进行向量映射得到。
2.如权利要求1所述的方法,其中,所述确定所述目标索引路径对应的目标资源标识,包括:
获取各资源标识对应的索引路径;
根据所述各资源标识对应的索引路径,确定各索引路径对应的资源标识;
根据所述目标索引路径,通过查询所述各索引路径对应的资源标识,确定所述目标索引路径对应的目标资源标识。
3.如权利要求2所述的方法,其中,所述获取各资源标识对应的索引路径,包括:
从分布式参数服务器获取所述各资源标识对应的索引路径。
4.如权利要求1所述的方法,其中,所述根据所述搜索词和所述k个元素,确定所述k个元素与第二列M个元素的k*M个组合中每个组合作为所述搜索词对应的索引路径上节点的概率,并从k*M个组合中确定出概率最高的k个组合,包括:
根据所述搜索词和所述k个元素中的每个元素,确定所述每个元素与所述第二列M个元素的M个组合中每个组合作为所述搜索词对应的索引路径上节点的概率;
根据所述k个元素分别对应的M个组合的概率,从k*M个组合中确定出概率最高的k个组合。
5.如权利要求1所述的方法,其中,在所述将所述搜索词输入推荐模型中,以确定出所述搜索词对应的目标索引路径之前,还包括:
从分布式参数服务器获取模型参数;
根据所述模型参数,构建所述推荐模型。
6.一种推荐模型的训练方法,包括:
获取训练样本,其中,训练样本中包括搜索词和资源标识,其中,资源标识对应的资源是用户在使用搜索词进行搜索时,点击或者浏览过的资源;
获取所述资源标识对应的第一索引路径,其中,所述第一索引路径是根据预设矩阵中的多个元素生成的,所述预设矩阵中的各元素表示不同的资源属性;
根据所述搜索词和所述第一索引路径对初始推荐模型进行训练,以获取更新后的推荐模型;
将所述搜索词输入所述更新后的推荐模型,以从所述预设矩阵上确定出所述资源标识对应的第二索引路径;
将所述资源标识对应的第一索引路径更新为所述第二索引路径,以根据所述第二索引路径,进一步对模型参数进行更新,以得到推荐模型;
其中,所述预设矩阵的大小为M*N,所述第二索引路径的数量为t,t小于M,且M、N和t均为正整数,所述将所述搜索词输入所述更新后的推荐模型,以从所述预设矩阵上确定出所述资源标识对应的第二索引路径,包括:
对所述搜索词进行向量映射,得到所述搜索词对应的词向量;
根据所述搜索词对应的词向量,确定所述预设矩阵第一列的M个元素中每个元素作为所述资源标识对应的索引路径上节点的概率,并从所述第一列的M个元素中确定出概率最高的t个元素;
根据所述搜索词对应的词向量和所述t个元素,确定所述t个元素与所述预设矩阵第二列M个元素的t*M个组合中每个组合作为所述资源标识对应的索引路径上节点的概率,并从t*M个组合中确定出概率最高的t个组合;
从所述预设矩阵第三列开始,根据所述搜索词对应的词向量和在上一列确定的t个组合,确定所述上一列对应的t个组合与当前列M个元素的t*M个组合中每个组合作为所述资源标识对应的索引路径上节点的概率,并从t*M个组合中确定出概率最高的t个组合;
根据在第N列确定的t个组合中每个元素在所述预设矩阵中的位置,生成t个数量的第二索引路径。
7.如权利要求6所述的方法,其中,所述获取所述资源标识对应的第一索引路径,包括:
从分布式参数服务器获取所述资源标识对应的第一索引路径;
所述将所述资源标识对应的第一索引路径更新为所述第二索引路径,包括:
将所述分布式参数服务器中所述资源标识对应的第一索引路径更新为所述第二索引路径。
8.如权利要求6所述的方法,其中,所述根据所述搜索词和所述第一索引路径对初始推荐模型进行训练,以获取更新后的推荐模型,包括:
根据所述搜索词和所述第一索引路径对所述初始推荐模型训练,以得到梯度信息;
根据梯度信息对所述初始推荐模型的参数进行更新,以获取所述更新后的模型。
9.如权利要求8所述的方法,其中,所述根据所述搜索词和所述第一索引路径对所述初始推荐模型训练,以得到梯度信息,包括:
将所述搜索词输入所述初始推荐模型,以确定所述初始推荐模型输出所述第一索引路径的概率;
根据所述输出所述第一索引路径的概率与目标概率之间的差值,确定所述梯度信息。
10.如权利要求8所述的方法,其中,所述根据所述搜索词和所述第一索引路径对所述初始推荐模型训练,以得到梯度信息,包括:
将所述搜索词输入所述初始推荐模型,以获取所述资源标识对应的预测索引路径;
根据所述预测索引路径与所述第一索引路径之间的差异,确定所述梯度信息。
11.一种资源发送装置,包括:
第一获取模块,用于获取客户端发送的搜索请求,其中,所述搜索请求中包括搜索词;
第一确定模块,用于将所述搜索词输入推荐模型中,以确定出所述搜索词对应的目标索引路径,其中,所述目标索引路径是根据预设矩阵中的多个元素生成的,用于表示与所述搜索词相关的属性,所述预设矩阵中各元素用于表示不同的资源属性;
第二确定模块,用于确定所述目标索引路径对应的目标资源标识;
发送模块,用于向所述客户端发送所述目标资源标识对应的资源;
其中,所述预设矩阵的大小为M*N,所述目标索引路径的数量为k,k小于M,且M、N和k均为正整数,所述第一确定模块,用于:
对所述搜索词进行向量映射,得到所述搜索词对应的词向量;
根据所述搜索词对应的词向量,确定从所述预设矩阵第一列的M个元素中每个元素作为所述搜索词对应的索引路径上节点的概率,并从所述第一列的M个元素中确定出概率最高的k个元素;
根据所述搜索词对应的词向量和所述k个元素,确定所述k个元素与所述预设矩阵第二列M个元素的k*M个组合中每个组合作为所述搜索词对应的索引路径上节点的概率,并从k*M个组合中确定出概率最高的k个组合;
从所述预设矩阵第三列开始,根据所述搜索词对应的词向量和在上一列确定的k个组合,确定所述上一列对应的k个组合与当前列M个元素的k*M个组合中每个组合作为所述搜索词对应的索引路径上节点的概率,并从k*M个组合中确定出概率最高的k个组合;
根据在第N列确定的k个组合中每个元素在所述预设矩阵中的位置,确定所述搜索词对应的k个数量的目标索引路径。
12.如权利要求11所述的装置,其中,所述第二确定模块,包括:
获取单元,用于获取各资源标识对应的索引路径;
第一确定单元,用于根据所述各资源标识对应的索引路径,确定各索引路径对应的资源标识;
第二确定单元,用于根据所述目标索引路径,通过查询所述各索引路径对应的资源标识,确定所述目标索引路径对应的目标资源标识。
13.如权利要求12所述的装置,其中,所述获取单元,用于:
从分布式参数服务器获取所述各资源标识对应的索引路径。
14.如权利要求11所述的装置,其中,所述第一确定模块,用于:
根据所述搜索词和所述k个元素中的每个元素,确定所述每个元素与所述第二列M个元素的M个组合中每个组合作为所述搜索词对应的索引路径上节点的概率;
根据所述k个元素分别对应的M个组合的概率,从k*M个组合中确定出概率最高的k个组合。
15.如权利要求11所述的装置,还包括:
第二获取模块,用于从分布式参数服务器获取模型参数;
构建模块,用于根据所述模型参数,构建所述推荐模型。
16.一种推荐模型的训练装置,包括:
第一获取模块,用于获取训练样本,其中,训练样本中包括搜索词和资源标识,其中,资源标识对应的资源是用户在使用搜索词进行搜索时,点击或者浏览过的资源;
第二获取模块,用于获取所述资源标识对应的第一索引路径,其中,所述第一索引路径是根据预设矩阵中的多个元素生成的,所述预设矩阵中的各元素表示不同的资源属性;
训练模块,用于根据所述搜索词和所述第一索引路径对初始推荐模型进行训练,以获取更新后的推荐模型;
确定模块,用于将所述搜索词输入所述更新后的推荐模型,以从所述预设矩阵上确定出所述资源标识对应的第二索引路径;
更新模块,用于将所述资源标识对应的第一索引路径更新为所述第二索引路径,以根据所述第二索引路径,进一步对模型参数进行更新,以得到推荐模型;
其中,所述预设矩阵的大小为M*N,所述第二索引路径的数量为t,t小于M,且M、N和t均为正整数,所述确定模块,用于:
对所述搜索词进行向量映射,得到所述搜索词对应的词向量;
根据所述搜索词对应的词向量,确定所述预设矩阵第一列的M个元素中每个元素作为所述资源标识对应的索引路径上节点的概率,并从所述第一列的M个元素中确定出概率最高的t个元素;
根据所述搜索词对应的词向量和所述t个元素,确定所述t个元素与所述预设矩阵第二列M个元素的t*M个组合中每个组合作为所述资源标识对应的索引路径上节点的概率,并从t*M个组合中确定出概率最高的t个组合;
从所述预设矩阵第三列开始,根据所述搜索词对应的词向量和在上一列确定的t个组合,确定所述上一列对应的t个组合与当前列M个元素的t*M个组合中每个组合作为所述资源标识对应的索引路径上节点的概率,并从t*M个组合中确定出概率最高的t个组合;
根据在第N列确定的t个组合中每个元素在所述预设矩阵中的位置,生成t个数量的第二索引路径。
17.如权利要求16所述的装置,其中,
所述第二获取模块,用于从分布式参数服务器获取所述资源标识对应的第一索引路径;
所述更新模块,用于将所述分布式参数服务器中所述资源标识对应的第一索引路径更新为所述第二索引路径。
18.如权利要求16所述的装置,其中,所述第二获取模块,包括:
确定单元,用于根据所述搜索词和所述第一索引路径对所述初始推荐模型训练,以得到梯度信息;
更新单元,用于根据梯度信息对所述初始推荐模型的参数进行更新,以获取所述更新后的模型。
19.如权利要求18所述的装置,其中,所述确定单元,用于:
将所述搜索词输入所述初始推荐模型,以确定所述初始推荐模型输出所述第一索引路径的概率;
根据所述输出所述第一索引路径的概率与目标概率之间的差值,确定所述梯度信息。
20.如权利要求18所述的装置,其中,所述确定单元,用于:
将所述搜索词输入所述初始推荐模型,以获取所述资源标识对应的预测索引路径;
根据所述预测索引路径与所述第一索引路径之间的差异,确定所述梯度信息。
21.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的方法,或者能够执行权利要求6-10中任一项所述的方法。
22.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-5中任一项所述的方法,或者执行根据权利要求6-10中任一项所述的方法。
23.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现权利要求1-5中任一项所述方法的步骤,或者实现权利要求6-10中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210536097.2A CN114861057B (zh) | 2022-05-17 | 2022-05-17 | 资源发送方法、推荐模型的训练及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210536097.2A CN114861057B (zh) | 2022-05-17 | 2022-05-17 | 资源发送方法、推荐模型的训练及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114861057A CN114861057A (zh) | 2022-08-05 |
CN114861057B true CN114861057B (zh) | 2023-05-30 |
Family
ID=82637041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210536097.2A Active CN114861057B (zh) | 2022-05-17 | 2022-05-17 | 资源发送方法、推荐模型的训练及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114861057B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2006201110A1 (en) * | 2006-02-02 | 2007-08-16 | Queensland University Of Technology | Dynamic match lattice spotting for indexing speech content |
CN102253936A (zh) * | 2010-05-18 | 2011-11-23 | 阿里巴巴集团控股有限公司 | 记录用户访问商品信息的方法及搜索方法和服务器 |
WO2015180622A1 (zh) * | 2014-05-26 | 2015-12-03 | 北京奇虎科技有限公司 | 一种确定搜索查询词类别属性的方法和装置 |
CN110955822A (zh) * | 2018-09-25 | 2020-04-03 | 北京京东尚科信息技术有限公司 | 商品搜索方法和装置 |
CN112860995A (zh) * | 2021-02-04 | 2021-05-28 | 北京百度网讯科技有限公司 | 交互方法、装置、客户端、服务器以及存储介质 |
CN113468414A (zh) * | 2021-06-07 | 2021-10-01 | 广州华多网络科技有限公司 | 商品搜索方法、装置、计算机设备及存储介质 |
CN114297338A (zh) * | 2021-12-02 | 2022-04-08 | 腾讯科技(深圳)有限公司 | 文本匹配方法、装置、存储介质和程序产品 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11514498B2 (en) * | 2019-03-07 | 2022-11-29 | Beijing Jingdong Shangke Information Technology Co., Ltd. | System and method for intelligent guided shopping |
CN112272188B (zh) * | 2020-11-02 | 2022-03-11 | 重庆邮电大学 | 一种电商平台数据隐私保护的可搜索加密方法 |
CN113961693A (zh) * | 2021-09-15 | 2022-01-21 | 北京三快在线科技有限公司 | 搜索结果推荐方法及装置、电子设备及可读存储介质 |
CN114428907B (zh) * | 2022-01-27 | 2024-05-28 | 北京百度网讯科技有限公司 | 信息搜索方法、装置、电子设备及存储介质 |
-
2022
- 2022-05-17 CN CN202210536097.2A patent/CN114861057B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2006201110A1 (en) * | 2006-02-02 | 2007-08-16 | Queensland University Of Technology | Dynamic match lattice spotting for indexing speech content |
CN102253936A (zh) * | 2010-05-18 | 2011-11-23 | 阿里巴巴集团控股有限公司 | 记录用户访问商品信息的方法及搜索方法和服务器 |
WO2015180622A1 (zh) * | 2014-05-26 | 2015-12-03 | 北京奇虎科技有限公司 | 一种确定搜索查询词类别属性的方法和装置 |
CN110955822A (zh) * | 2018-09-25 | 2020-04-03 | 北京京东尚科信息技术有限公司 | 商品搜索方法和装置 |
CN112860995A (zh) * | 2021-02-04 | 2021-05-28 | 北京百度网讯科技有限公司 | 交互方法、装置、客户端、服务器以及存储介质 |
CN113468414A (zh) * | 2021-06-07 | 2021-10-01 | 广州华多网络科技有限公司 | 商品搜索方法、装置、计算机设备及存储介质 |
CN114297338A (zh) * | 2021-12-02 | 2022-04-08 | 腾讯科技(深圳)有限公司 | 文本匹配方法、装置、存储介质和程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN114861057A (zh) | 2022-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7170082B2 (ja) | 情報を生成するための方法及び装置、電子機器、記憶媒体並びにコンピュータプログラム | |
CN111460311A (zh) | 基于字典树的搜索处理方法、装置、设备和存储介质 | |
KR20200109230A (ko) | 뉴럴 네트워크 생성 방법 및 장치 | |
JP7395445B2 (ja) | 検索データに基づくヒューマンコンピュータ対話型インタラクションの方法、装置及び電子機器 | |
CN113590776B (zh) | 基于知识图谱的文本处理方法、装置、电子设备及介质 | |
CN113657100B (zh) | 实体识别方法、装置、电子设备及存储介质 | |
KR20210132578A (ko) | 지식 그래프를 구축하는 방법, 장치, 기기 및 저장 매체 | |
CN114357105B (zh) | 地理预训练模型的预训练方法及模型微调方法 | |
CN111241838B (zh) | 文本实体的语义关系处理方法、装置及设备 | |
JP7242994B2 (ja) | ビデオイベント識別方法、装置、電子デバイス及び記憶媒体 | |
CN114693934B (zh) | 语义分割模型的训练方法、视频语义分割方法及装置 | |
US20230021797A1 (en) | Dynamic cross-platform ask interface and natural language processing model | |
WO2023142399A1 (zh) | 信息搜索方法、装置、电子设备 | |
WO2023155678A1 (zh) | 用于确定信息的方法和装置 | |
CN110633717A (zh) | 一种目标检测模型的训练方法和装置 | |
CN113239157A (zh) | 对话模型的训练方法、装置、设备和存储介质 | |
CN112288483A (zh) | 用于训练模型的方法和装置、用于生成信息的方法和装置 | |
CN113868519B (zh) | 信息搜索方法、装置、电子设备和存储介质 | |
CN113468857B (zh) | 风格转换模型的训练方法、装置、电子设备以及存储介质 | |
CN113360683A (zh) | 训练跨模态检索模型的方法以及跨模态检索方法和装置 | |
CN114861057B (zh) | 资源发送方法、推荐模型的训练及装置 | |
CN115186738B (zh) | 模型训练方法、装置和存储介质 | |
CN111177479A (zh) | 获取关系网络图中节点的特征向量的方法以及装置 | |
CN116030235A (zh) | 目标检测模型训练方法、目标检测方法、装置和电子设备 | |
CN113780827A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |