CN113505204A - 召回模型训练方法、搜索召回方法、装置和计算机设备 - Google Patents
召回模型训练方法、搜索召回方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN113505204A CN113505204A CN202111053840.0A CN202111053840A CN113505204A CN 113505204 A CN113505204 A CN 113505204A CN 202111053840 A CN202111053840 A CN 202111053840A CN 113505204 A CN113505204 A CN 113505204A
- Authority
- CN
- China
- Prior art keywords
- recall
- vector
- statement
- search
- sentence
- 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.)
- Granted
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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3347—Query execution using vector based model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/353—Clustering; Classification into predefined classes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Medical Informatics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种召回模型训练方法、搜索召回方法、装置、计算机设备和存储介质,实施例可应用于云技术、人工智能、智慧交通等各种场景。该方法包括:获取训练搜索语句、对应的正向召回语句和反向召回语句集合;正向召回语句是训练搜索语句对应的目标召回语句集合中目标操作状态对应的召回语句,反向召回语句集合包括第一反向召回语句、第二反向召回语句和第三反向召回语句,第一反向召回语句是从候选召回语句集合中随机选取的,第二反向召回语句是目标召回语句集合中非目标操作状态对应的召回语句,第三反向召回语句对应的第一位置和正向召回语句对应的第二位置之间的位置差异满足预设条件,通过上述数据训练目标召回模型,可提高模型预测准确性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种召回模型训练方法、搜索召回方法、装置、计算机设备和存储介质。
背景技术
随着互联网技术的快速发展,搜索引擎的功能也日趋强大。召回是搜索中的重要环节,根据用户输入的搜索语句可以从海量数据中召回与搜索语句相关的信息。
传统技术中,可以训练一个机器学习模型,利用机器学习模型来确定搜索语句和候选信息的相似度,从而基于相似度从海量的候选文本中筛选出目标信息作为召回结果。然后,通常是采取随机采样方式获得模型训练样本中的负样本,基于这样的负样本训练出的模型只能学到粗粒度上的差异,存在预测准确性低的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高模型的预测准确性的召回模型训练方法、搜索召回方法、装置、计算机设备和存储介质。
一种召回模型训练方法,所述方法包括:
获取训练搜索语句和对应的正向召回语句;所述正向召回语句是所述训练搜索语句对应的目标召回语句集合中目标操作状态对应的召回语句;
获取所述训练搜索语句对应的反向召回语句集合;所述反向召回语句集合包括第一反向召回语句、第二反向召回语句和第三反向召回语句,所述第一反向召回语句是从候选召回语句集合中随机选取的,所述第二反向召回语句是所述目标召回语句集合中非目标操作状态对应的召回语句,所述第三反向召回语句对应的第一位置和所述正向召回语句对应的第二位置之间的位置差异满足预设条件;
基于所述训练搜索语句、所述正向召回语句和所述反向召回语句集合对待训练的目标召回模型进行模型训练,得到已训练的目标召回模型;所述已训练的目标召回模型用于对目标搜索语句进行搜索召回。
在一个实施例中,所述预设条件为所述第一位置和所述第二位置处于同一目标位置区域中,所述目标位置区域是地图中目标等级对应的位置区域,所述地图包括多级递进的位置区域。
在一个实施例中,所述目标召回模型包括搜索语句分析网络和召回语句分析网络;所述基于所述训练搜索语句、所述正向召回语句和所述反向召回语句集合对待训练的目标召回模型进行模型训练,得到已训练的目标召回模型,包括:
将所述训练搜索语句和当前召回语句分别输入所述搜索语句分析网络和所述召回语句分析网络,得到搜索训练向量和召回训练向量;基于搜索训练向量和正向召回语句对应的召回训练向量计算正向相似度;基于搜索训练向量和所述反向召回语句集合中各个反向召回语句对应的召回训练向量计算各个反向相似度;基于正向相似度和各个反向相似度计算训练损失,基于所述训练损失调整所述目标召回模型的模型参数,直至满足收敛条件,得到所述已训练的目标召回模型。
在一个实施例中,将所述训练搜索语句和当前召回语句分别输入所述搜索语句分析网络和所述召回语句分析网络,得到搜索训练向量和召回训练向量,包括:
获取当前目标语句对应的词向量序列,将所述词向量序列输入对应的当前语句分析网络;所述当前目标语句为所述训练搜索语句或所述当前召回语句;基于当前语句分析网络,对所述词向量序列进行特征提取,得到所述词向量序列中各个词向量对应的初始特征向量;对各个初始特征向量进行注意力分配,得到各个词向量对应的注意力权重;基于注意力权重对各个初始特征向量进行特征融合,得到所述当前目标语句对应的目标特征向量;基于所述目标特征向量得到所述当前目标语句对应的当前训练向量。
在一个实施例中,所述基于所述目标特征向量得到所述当前目标语句对应的当前训练向量,包括:
获取当前目标语句对应的当前位置的位置向量;基于所述位置向量和所述目标特征向量得到所述当前训练向量。
一种召回模型训练装置,所述装置包括:
正向数据获取模块,用于获取训练搜索语句和对应的正向召回语句;所述正向召回语句是所述训练搜索语句对应的目标召回语句集合中目标操作状态对应的召回语句;
反向数据获取模块,用于获取所述训练搜索语句对应的反向召回语句集合;所述反向召回语句集合包括第一反向召回语句、第二反向召回语句和第三反向召回语句,所述第一反向召回语句是从候选召回语句集合中随机选取的,所述第二反向召回语句是所述目标召回语句集合中非目标操作状态对应的召回语句,所述第三反向召回语句对应的第一位置和所述正向召回语句对应的第二位置之间的位置差异满足预设条件;
模型训练模块,用于基于所述训练搜索语句、所述正向召回语句和所述反向召回语句集合对待训练的目标召回模型进行模型训练,得到已训练的目标召回模型;所述已训练的目标召回模型用于对目标搜索语句进行搜索召回。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取训练搜索语句和对应的正向召回语句;所述正向召回语句是所述训练搜索语句对应的目标召回语句集合中目标操作状态对应的召回语句;
获取所述训练搜索语句对应的反向召回语句集合;所述反向召回语句集合包括第一反向召回语句、第二反向召回语句和第三反向召回语句,所述第一反向召回语句是从候选召回语句集合中随机选取的,所述第二反向召回语句是所述目标召回语句集合中非目标操作状态对应的召回语句,所述第三反向召回语句对应的第一位置和所述正向召回语句对应的第二位置之间的位置差异满足预设条件;
基于所述训练搜索语句、所述正向召回语句和所述反向召回语句集合对待训练的目标召回模型进行模型训练,得到已训练的目标召回模型;所述已训练的目标召回模型用于对目标搜索语句进行搜索召回。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取训练搜索语句和对应的正向召回语句;所述正向召回语句是所述训练搜索语句对应的目标召回语句集合中目标操作状态对应的召回语句;
获取所述训练搜索语句对应的反向召回语句集合;所述反向召回语句集合包括第一反向召回语句、第二反向召回语句和第三反向召回语句,所述第一反向召回语句是从候选召回语句集合中随机选取的,所述第二反向召回语句是所述目标召回语句集合中非目标操作状态对应的召回语句,所述第三反向召回语句对应的第一位置和所述正向召回语句对应的第二位置之间的位置差异满足预设条件;
基于所述训练搜索语句、所述正向召回语句和所述反向召回语句集合对待训练的目标召回模型进行模型训练,得到已训练的目标召回模型;所述已训练的目标召回模型用于对目标搜索语句进行搜索召回。
一种搜索召回方法,所述方法包括:
获取目标搜索语句和候选召回语句集合;
基于已训练的目标召回模型,从所述候选召回语句集合中确定所述目标搜索语句对应的参考召回语句;
所述已训练的目标召回模型是基于训练搜索语句、对应的正向召回语句和反向召回语句集合对待训练的目标召回模型进行模型训练得到的,所述正向召回语句是所述训练搜索语句对应的目标召回语句集合中目标操作状态对应的召回语句,所述反向召回语句集合包括第一反向召回语句、第二反向召回语句和第三反向召回语句,所述第一反向召回语句是从候选召回语句集合中随机选取的,所述第二反向召回语句是所述目标召回语句集合中非目标操作状态对应的召回语句,所述第三反向召回语句对应的第一位置和所述正向召回语句对应的第二位置之间的位置差异满足预设条件。
一种搜索召回装置,所述装置包括:
数据获取模块,用于获取目标搜索语句和候选召回语句集合;
数据召回模块,用于基于已训练的目标召回模型,从所述候选召回语句集合中确定所述目标搜索语句对应的参考召回语句;
所述已训练的目标召回模型是基于训练搜索语句、对应的正向召回语句和反向召回语句集合对待训练的目标召回模型进行模型训练得到的,所述正向召回语句是所述训练搜索语句对应的目标召回语句集合中目标操作状态对应的召回语句,所述反向召回语句集合包括第一反向召回语句、第二反向召回语句和第三反向召回语句,所述第一反向召回语句是从候选召回语句集合中随机选取的,所述第二反向召回语句是所述目标召回语句集合中非目标操作状态对应的召回语句,所述第三反向召回语句对应的第一位置和所述正向召回语句对应的第二位置之间的位置差异满足预设条件。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取目标搜索语句和候选召回语句集合;
基于已训练的目标召回模型,从所述候选召回语句集合中确定所述目标搜索语句对应的参考召回语句;
所述已训练的目标召回模型是基于训练搜索语句、对应的正向召回语句和反向召回语句集合对待训练的目标召回模型进行模型训练得到的,所述正向召回语句是所述训练搜索语句对应的目标召回语句集合中目标操作状态对应的召回语句,所述反向召回语句集合包括第一反向召回语句、第二反向召回语句和第三反向召回语句,所述第一反向召回语句是从候选召回语句集合中随机选取的,所述第二反向召回语句是所述目标召回语句集合中非目标操作状态对应的召回语句,所述第三反向召回语句对应的第一位置和所述正向召回语句对应的第二位置之间的位置差异满足预设条件。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取目标搜索语句和候选召回语句集合;
基于已训练的目标召回模型,从所述候选召回语句集合中确定所述目标搜索语句对应的参考召回语句;
所述已训练的目标召回模型是基于训练搜索语句、对应的正向召回语句和反向召回语句集合对待训练的目标召回模型进行模型训练得到的,所述正向召回语句是所述训练搜索语句对应的目标召回语句集合中目标操作状态对应的召回语句,所述反向召回语句集合包括第一反向召回语句、第二反向召回语句和第三反向召回语句,所述第一反向召回语句是从候选召回语句集合中随机选取的,所述第二反向召回语句是所述目标召回语句集合中非目标操作状态对应的召回语句,所述第三反向召回语句对应的第一位置和所述正向召回语句对应的第二位置之间的位置差异满足预设条件。
上述召回模型训练方法、搜索召回方法、装置、计算机设备和存储介质,通过获取训练搜索语句和对应的正向召回语句,正向召回语句是训练搜索语句对应的目标召回语句集合中目标操作状态对应的召回语句,获取训练搜索语句对应的反向召回语句集合;反向召回语句集合包括第一反向召回语句、第二反向召回语句和第三反向召回语句,第一反向召回语句是从候选召回语句集合中随机选取的,第二反向召回语句是目标召回语句集合中非目标操作状态对应的召回语句,第三反向召回语句对应的第一位置和正向召回语句对应的第二位置之间的位置差异满足预设条件,基于训练搜索语句、正向召回语句和反向召回语句集合对待训练的目标召回模型进行模型训练,得到已训练的目标召回模型;已训练的目标召回模型用于对目标搜索语句进行搜索召回,从候选召回语句集合中确定目标搜索语句对应的参考召回语句。这样,目标召回模型的负训练样本包括三种反向召回语句,第一反向召回语句是随机采样生成的,可以让模型学习到正负样本在粗粒度上的差异,第二反向召回语句、第三反向召回语句与正向召回语句相似,可以让模型学习到正负样本在细粒度上的差异,从而最终可以训练得到准确性较高的目标召回模型。
附图说明
图1为一个实施例中召回模型训练方法、搜索召回方法的应用环境图;
图2为一个实施例中召回模型训练方法的流程示意图;
图3为一个实施例中模型训练的流程示意图;
图4为一个实施例中搜索召回的流程示意图;
图5为一个实施例中基于目标召回模型进行搜索召回的流程示意图;
图6A为另一个实施例中基于目标召回模型进行搜索召回的流程示意图;
图6B为另一个实施例中基于目标召回模型进行搜索召回的流程示意图;
图7A为一个实施例中地图场景中搜索召回的流程示意图;
图7B为一个实施例中目标召回模型的示意图;
图7C为一个实施例中不同索引方式性能效果对比的示意图;
图7D为一个实施例中不同技术方案召回效果对比的示意图;
图8为一个实施例中召回模型训练装置的结构框图;
图9为一个实施例中搜索召回装置的结构框图;
图10为一个实施例中计算机设备的内部结构图;
图11为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
人工智能(Artificial Intelligence, AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
自然语言处理(Nature Language processing, NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
本申请实施例提供的方案涉及人工智能的自然语言处理、机器学习、深度学习等技术,具体通过如下实施例进行说明:
本申请提供的召回模型训练方法、搜索召回方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、车载终端和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群或者云服务器来实现。
终端102和服务器104均可单独用于执行本申请实施例中提供的召回模型训练方法、搜索召回方法。
例如,服务器获取训练搜索语句、对应的正向召回语句和反向召回语句集合,基于训练搜索语句、正向召回语句和反向召回语句集合对待训练的目标召回模型进行模型训练,得到已训练的目标召回模型。其中,正向召回语句是训练搜索语句对应的目标召回语句集合中目标操作状态对应的召回语句,反向召回语句集合包括第一反向召回语句、第二反向召回语句和第三反向召回语句,第一反向召回语句是从候选召回语句集合中随机选取的,第二反向召回语句是目标召回语句集合中非目标操作状态对应的召回语句,第三反向召回语句对应的第一位置和正向召回语句对应的第二位置之间的位置差异满足预设条件。
服务器获取目标搜索语句和候选召回语句集合,基于已训练的目标召回模型,从候选召回语句集合中确定目标搜索语句对应的参考召回语句。
终端102和服务器104也可协同用于执行本申请实施例中提供的召回模型训练方法、搜索召回方法。
例如,服务器从终端获取训练搜索语句、对应的正向召回语句和反向召回语句集合,服务器基于训练搜索语句、正向召回语句和反向召回语句集合对待训练的目标召回模型进行模型训练,得到已训练的目标召回模型。服务器可以将已训练的目标召回模型发送至终端。终端获取目标搜索语句和候选召回语句集合,基于已训练的目标召回模型,从候选召回语句集合中确定目标搜索语句对应的参考召回语句。
在一个实施例中,如图2所示,提供了一种召回模型训练方法,以该方法应用于图1中的计算机为例进行说明,可以理解的是,计算机设备可以是终端102,也可以是服务器104。本实施例中,召回模型训练方法包括以下步骤:
步骤S202,获取训练搜索语句和对应的正向召回语句;正向召回语句是训练搜索语句对应的目标召回语句集合中目标操作状态对应的召回语句。
其中,训练搜索语句是指模型训练数据中的搜索语句。搜索语句是指用户的搜索文本,用于进行相关信息的查询、检索、搜索。搜索语句可以是用户在搜索输入框中直接输入的文本信息,也可以是对用户输入的语音信息进行语音识别得到的文本信息。训练搜索语句是从大量用户的历史搜索记录中提取得到的。此外,为了提高模型训练数据的质量,还可以对从历史搜索记录中提取得到的历史搜索语句进行筛选,得到训练搜索语句。例如,筛选出搜索时间与当前时间的时间差距较小的历史搜索语句作为训练搜索语句,筛选出搜索热度大于预设热度的历史搜索语句作为训练搜索语句,从历史搜索语句中筛选出关键字作为训练搜索语句等。可以理解,用户可以在搜索输入框中输入完整的信息,例如,输入“北京大学”,也可以在搜索输入框中输入不完整的信息,例如,输入“北京大”。
召回语句是指根据搜索语句召回的语句,用于描述搜索结果的语句,例如,可以是相关位置兴趣点(POI,Points of Interest)的名称、相关文章的标题、相关文章的简介、相关视频的标题和相关图片的标题等。
目标召回语句集合包括多个召回语句,目标召回语句集合中的召回语句是训练搜索语句对应的召回语句,即目标召回语句集合中的召回语句是与训练搜索语句相关的语句。例如,在地图搜索场景中,训练搜索语句为“北京大”,目标召回语句集合中的召回语句可以是“北京大学”、“北京大兴国际机场”、“北京大兴国际医院”、“北京大学人民医院”等POI。在书籍搜索场景中,训练搜索语句为“小学数学”,目标召回语句集合中的召回语句可以是“小学数学教材”、“小学数学概念公式手册”、“你好,小学数学”、“小学数学思维拓展”等书籍。正向召回语句是指训练搜索语句对应的搜索用户选中的召回语句,是搜索用户感兴趣、期望获得的召回语句。例如,在地图搜索场景中,训练搜索语句为“北京大”,向训练搜索语句对应的搜索用户展示的目标召回语句集合包括“北京大学”、“北京大兴国际机场”、“北京大兴国际医院”、“北京大学人民医院”,搜索用户从多个搜索结果中点击了“北京大学”这一搜索结果,那么“北京大学”对应的召回语句即为该训练搜索语句对应的正向召回语句。因此,正向召回语句是训练搜索语句对应的目标召回语句集合中目标操作状态对应的召回语句。目标操作状态是根据训练搜索语句对应的搜索用户,针对目标召回语句集合中召回语句的触发操作来确定的,例如,在目标召回语句集合中,将用户点击的召回语句作为正向召回语句。
可以理解,正向召回语句可以认为是训练搜索语句对应的正样本。并且,训练搜索语句可以有多个,同一训练搜索语句可以对应至少一个正向召回语句。
步骤S204,获取训练搜索语句对应的反向召回语句集合;反向召回语句集合包括第一反向召回语句、第二反向召回语句和第三反向召回语句,第一反向召回语句是从候选召回语句集合中随机选取的,第二反向召回语句是目标召回语句集合中非目标操作状态对应的召回语句,第三反向召回语句对应的第一位置和正向召回语句对应的第二位置之间的位置差异满足预设条件。
其中,候选召回语句集合包括多个候选的召回语句。例如,在地图搜索场景中,候选召回语句集合包括各个POI,而目标召回语句集合只包括与搜索语句相关的多个POI。第一反向召回语句是从候选召回语句集合中随机选取的,也就是,第一反向召回语句是从候选召回语句集合中随机采样生成的。
第二反向召回语句是目标召回语句集合中非目标操作状态对应的召回语句。也就是,第二反向召回语句是目标召回语句集合中除正向召回语句之外的任意召回语句。例如,在地图搜索场景中,训练搜索语句为“北京大”,该训练搜索语句对应的目标召回语句集合包括“北京大学”、“北京大兴国际机场”、“北京大兴国际医院”、“北京大学人民医院”,该训练搜索语句对应的正向召回语句为“北京大学”,那么“北京大兴国际机场”、“北京大兴国际医院”、“北京大学人民医院”都可以作为该训练搜索语句对应的第二反向召回语句。可以理解,正向召回语句和第二反向召回语句属于同一目标召回语句集合,因此,第二反向召回语句是与正向召回语句文本相似的召回语句。
召回语句对应的位置可以是指召回语句对应资源的发布位置,例如,在地图搜索场景中,召回语句为POI名称,召回语句对应的资源即为POI,召回语句对应的位置可以是POI的地址。在书籍搜索场景中,召回语句为书籍名称,召回语句对应的资源即为书籍,召回语句对应的位置可以是书籍出版社的地址。召回语句对应的位置也可以是指召回语句对应资源的具体内容中所涉及的位置信息。例如,若召回语句对应的资源为文章时,召回语句对应的位置可以是文章内容中提及的城市。若召回语句对应的资源为图片时,召回语句对应的位置可以是图片内容中涉及的城市、图片简介中涉及的城市。第三反向召回语句对应的第一位置和正向召回语句对应的第二位置之间的位置差异满足预设条件。预设条件可以是第一位置和第二位置之间的位置差异在预设距离范围内,例如,第一位置和第二位置的位置差异在10-20公里内。预设条件也可以是第一位置和第二位置处于同一目标位置区域中,例如,第一位置和第二位置位于同一城市。在地图搜索场景中,第三反向召回语句可以是与正向召回语句(正向POI)同城的POI。预设条件也可以是第一位置和第二位置相同,例如,在书籍搜索场景中,第三反向召回语句为与正向召回语句(正向书籍)同一出版社的书籍。可以理解,第三反向召回语句对应的资源和正向召回语句对应的资源在地域上相似、相近。
因此,第一反向召回语句是与正向召回语句有明显差异的召回语句,第二反向召回语句是与正向召回语句文本相似的召回语句,第三反向召回语句是与正向召回语句地域相似的召回语句,由第一反向召回语句、第二反向召回语句和第三反向召回语句组成的反向召回语句集合包括不同类型的负样本,可以帮助模型学习到正负样本粗粒度和细粒度上的差异,从而提高模型的准确性。
在一个实施例中,为了提高模型训练的质量,可以进一步约束反向召回语句集合中各种反向召回语句的数量。为了避免基于大量相似的正负样本训练模型导致模型难以收敛,可以设置第一反向召回语句的数量最多。例如,可以设置第一反向召回语句的数量大于第二反向召回语句、第三反向召回语句的数量,也可以设置第一反向召回语句的数量大于第二反向召回语句和第三反向召回语句的数量总和。
在一个实施例中,预设条件为第一位置和第二位置处于同一目标位置区域中,目标位置区域是地图中目标等级对应的位置区域,地图包括多级递进的位置区域。
具体地,地图可以划分为多级递进的位置区域,同一等级的位置区域之间不存在重叠区域,不同等级的位置区域之间可以存在重叠区域。多级递进的位置区域表示随着等级的增加位置区域越来越小。多级递进的位置区域可以是多级递进的行政区域,也可以是多级递进的自定义区域。第三反向召回语句对应的第一位置和正向召回语句对应的第二位置处于同一目标位置区域中,目标位置区域是指地图中目标等级对应的位置区域。目标等级可以根据实际需要进行设置,例如,将二级地级行政区作为目标等级,将三级县级行政区作为目标等级等。
步骤S206,基于训练搜索语句、正向召回语句和反向召回语句集合对待训练的目标召回模型进行模型训练,得到已训练的目标召回模型;已训练的目标召回模型用于对目标搜索语句进行搜索召回。
其中,目标召回模型是深度神经网络模型,用于对目标搜索语句进行搜索召回。搜索召回是指从候选召回语句集合中召回与目标搜索语句匹配的至少一个候选召回语句。例如,从候选POI中召回与搜索语句匹配的POI,从候选书籍中召回与搜索语句匹配的书籍,从候选图片中召回与搜索语句匹配的图片。目标搜索语句是指待确定搜索召回结果的搜索语句,例如,搜索用户在当前时间输入的搜索语句。
具体地,计算机设备可以在本地、或从其他终端、服务器获取训练搜索语句、训练搜索语句对应的正向召回语句和训练搜索语句对应的反向召回语句集合。目标召回模型的输入数据包括搜索语句和召回语句,目标召回模型可以对输入数据进行特征提取、相似度计算得到搜索语句和召回语句之间的语句相似度。计算机设备可以基于训练搜索语句、正向召回语句和反向召回语句集合对待训练的目标召回模型进行模型训练,调整模型参数,直至满足收敛条件,得到已训练的目标召回模型。收敛条件可以是模型迭代次数达到预设次数,训练损失值小于预设损失值等。
在一个实施例中,训练搜索语句和正向召回语句作为正向组合,正向组合对应正训练标签,训练搜索语句和反向召回语句集合中的反向召回语句作为反向组合,反向组合对应负训练标签。计算机设备可以将正向组合输入待训练的目标召回模型,得到正向预测标签,将反向召回语句作为反向组合输入待训练的目标召回模型,得到反向预测标签,基于正向预测标签、正训练标签、反向预测标签、负训练标签生成目标损失,基于该目标损失调整待训练的目标召回模型的模型参数,直至满足收敛条件,得到已训练的目标召回模型。其中,标签可以是具体的语句相似度(即语句相似概率),也可以是匹配是否成功的二值标签。
在一个实施例中,计算机设备可以将正向组合输入待训练的目标召回模型,得到正向相似度,将反向组合输入待训练的目标召回模型,得到反向相似度,基于正向相似度和反向相似度生成训练损失,基于该训练损失调整待训练的目标召回模型的模型参数,直至满足收敛条件,得到已训练的目标召回模型。
在一个实施例中,在模型应用时,计算机设备可以将目标搜索语句和候选召回语句集合中的候选召回语句输入已训练的目标召回模型,得到目标搜索语句和各个候选召回语句分别对应的语句相似度。计算机设备可以基于目标搜索语句对应的各个语句相似度,从候选召回语句集合中确定目标搜索语句对应的参考召回语句,例如,可以获取语句相似度最大的候选召回语句作为参考召回语句,可以获取语句相似度大于预设相似度的各个候选召回语句作为参考召回语句,可以将语句相似度从大到小进行排序,将语句相似度排序靠前的至少一个候选召回语句作为参考召回语句等。
在模型应用时,计算机设备也可以将候选召回语句集合中的候选召回语句输入已训练的目标召回模型得到候选召回向量,基于各个候选召回向量生成召回索引。若获取到目标搜索语句,计算机设备可以将目标搜索语句输入已训练的目标召回模型得到目标搜索向量,基于目标搜索向量从召回索引中确定目标召回向量,将目标召回向量对应的候选召回语句作为参考召回语句。
若计算机设备为服务器,服务器可以向目标搜索语句对应的搜索终端发送参考召回语句和对应的资源明细信息,若计算机设备为终端,终端可以向搜索用户展示参考召回语句和对应的资源明细信息。资源明细信息是指参考召回语句对应的资源的详细信息,例如,书籍的名称、作者、出版者、简介等信息,POI的名称、地址、简介等信息。
在一个实施例中,传统搜索召回方式可以处理大部分搜索召回任务,但是,如果采用传统搜索召回方式出现无结果或者无本地结果或者搜索结果过少的情况,可以采用已训练的目标召回模型进行搜索召回来进行结果补充。因此,若获取到目标搜索语句,计算机设备可以先采用传统搜索召回方式对目标搜索语句进行搜索召回,若无搜索召回结果或者搜索结果过少,计算机设备再基于已训练的目标召回模型对目标搜索语句进行搜索召回,得到补充的搜索召回结果。这样,将采用已训练的目标召回模型进行搜索召回的方式作为一路补召回,可以解决大部分搜索召回无结果或者结果过少的问题。传统搜索召回方式可以是采用历史召回模型进行搜索召回,也可以是采用关键字匹配的方式进行搜索召回等。
上述召回模型训练方法中,通过获取训练搜索语句和对应的正向召回语句,正向召回语句是训练搜索语句对应的目标召回语句集合中目标操作状态对应的召回语句,获取训练搜索语句对应的反向召回语句集合;反向召回语句集合包括第一反向召回语句、第二反向召回语句和第三反向召回语句,第一反向召回语句是从候选召回语句集合中随机选取的,第二反向召回语句是目标召回语句集合中非目标操作状态对应的召回语句,第三反向召回语句对应的第一位置和正向召回语句对应的第二位置之间的位置差异满足预设条件,基于训练搜索语句、正向召回语句和反向召回语句集合对待训练的目标召回模型进行模型训练,得到已训练的目标召回模型;已训练的目标召回模型用于对目标搜索语句进行搜索召回,从候选召回语句集合中确定目标搜索语句对应的参考召回语句。这样,目标召回模型的负训练样本包括三种反向召回语句,第一反向召回语句是随机采样生成的,可以让模型学习到正负样本在粗粒度上的差异,第二反向召回语句、第三反向召回语句与正向召回语句相似,可以让模型学习到正负样本在细粒度上的差异,从而最终可以训练得到准确性较高的目标召回模型。
在一个实施例中,获取训练搜索语句和对应的正向召回语句之前,所述方法还包括:获取当前搜索语句和多个候选召回语句;将当前搜索语句和候选召回语句输入历史召回模型,得到当前搜索语句分别和各个候选召回语句对应的语句相似度;基于各个语句相似度,从各个候选召回语句中确定当前搜索语句对应的至少一个初始召回语句,基于各个初始召回语句得到当前搜索语句对应的当前召回语句集合。
其中,历史召回模型是指传统的召回模型。可以理解,历史召回模型的模型投入使用时间早于目标召回模型的模型投入使用时间。在目标召回模型投入使用之前,可以基于历史召回模型进行搜索召回。
具体地,在用户输入搜索语句触发搜索任务时,用户输入的搜索语句即为当前搜索语句。在用户触发搜索任务时,计算机设备可以获取到当前搜索语句,并将当前搜索语句和候选召回语句集合中的候选召回语句输入历史召回模型,经过模型的数据处理可以得到当前搜索语句分别和各个候选召回语句对应的语句相似度。计算机设备可以基于各个语句相似度,从各个候选召回语句中确定当前搜索语句对应的至少一个初始召回语句,例如,可以获取语句相似度大于预设相似度的各个候选召回语句作为初始召回语句,可以将语句相似度从大到小进行排序,将语句相似度排序靠前的至少一个候选召回语句作为初始召回语句等。最后,计算机设备将各个初始召回语句组成当前搜索语句对应的当前召回语句集合。
本实施例中,通过历史召回模型,可以快速从候选召回语句集合中确定当前搜索语句对应的当前召回语句集合。
在一个实施例中,所述方法还包括:向当前搜索语句对应的发送端展示当前召回语句集合;获取发送端返回的操作日志;操作日志用于记录针对当前召回语句集合中至少一个初始召回语句的触发操作;基于操作日志确定当前召回语句集合中各个初始召回语句对应的操作状态。
其中,触发操作具体可以是触摸操作、光标操作、按键操作或者语音操作。触摸操作可以是触摸点击操作、触摸按压操作或者触摸滑动操作,触摸操作可以是单点触摸操作或者多点触摸操作;光标操作可以是控制光标进行点击的操作或者控制光标进行按压的操作;按键操作可以是虚拟按键操作或者实体按键操作等。
具体地,若用户触发搜索任务,计算机设备经过数据处理可以得到当前搜索语句对应的当前召回语句集合,然后,计算机设备可以向当前搜索语句对应的发送端发送当前召回语句集合,以使当前搜索语句对应的发送端展示当前召回语句集合,也就是,向当前搜索语句对应的搜索用户展示搜索结果。发送端可以监测并记录搜索用户针对搜索结果的触发操作,从而生成搜索用户的操作日志。操作日志记录了搜索用户针对当前召回语句集合中至少一个初始召回语句的触发操作,例如,操作日志记录有用户点击了当前召回语句集合中的第一个初始召回语句。计算机设备获取到发送端返回的操作日志后,可以基于操作日志确定当前召回语句集合中各个初始召回语句对应的操作状态。根据操作日志,计算机设备可以将存在触发操作的初始召回语句对应的操作状态确定为目标操作状态,那么不存在触发操作的初始召回语句对应的操作状态即为非目标操作状态。这样,具有目标操作状态的初始召回语句即为当前搜索语句对应的正向召回语句。
本实施例中,基于记录有用户对当前召回语句集合的操作行为的操作日志,可以快速确定当前召回语句集合中各个初始召回语句对应的操作状态,从而确定当前搜索语句对应的正向召回语句。
在一个实施例中,获取训练搜索语句和对应的正向召回语句,包括:
获取多个搜索热度大于预设热度的历史搜索语句和各个历史搜索语句对应的正向召回语句;对历史搜索语句进行关键字提取,基于提取到的关键字得到对应的初始搜索语句;基于历史搜索语句对应的正向召回语句,对各个初始搜索语句进行语句过滤,得到多个中间搜索语句;基于各个中间搜索语句得到训练搜索语句。
其中,历史搜索语句是指在历史时间产生的搜索语句,也就是,历史搜索语句是在模型训练之前产生的搜索语句。各个历史搜索语句存在对应的正向召回语句。搜索热度用于表示历史搜索语句在一定时间段内的搜索频次。预设热度可以根据实际需要进行设置。
具体地,为了提高训练搜索语句的语句质量,计算机设备可以对历史搜索语句进行筛选,过滤掉冗余的历史搜索语句和历史搜索语句中冗余信息,从而得到高质量的训练搜索语句。首先,计算机设备可以从海量的历史搜索语句获取搜索热度大于预设热度的历史搜索语句来生成训练搜索语句。可以理解,搜索热度大于预设热度的历史搜索语句更具代表性,可以囊括大部分搜索情况。接着,计算机设备可以对历史搜索语句进行关键字提取,从历史搜索语句中提取出关键字来组成对应的初始搜索语句。计算机设备可以通过从历史搜索语句中过滤冗余词来进行关键字提取,例如,可以基于预设词典对历史搜索语句进行冗余词过滤,预设词典记录有各种冗余词,例如,语气词、副词等。可以理解,针对不同的应用场景,可以设置不同的预设词典,例如,在地图搜索场景中,预设词典可以记录有行政地名、连锁店词、类别词等冗余词。进一步的,计算机设备可以基于历史搜索语句对应的正向召回语句,对各个初始搜索语句进行语句过滤,过滤与对应的正向召回语句的匹配度小于预设匹配度的初始搜索语句,将剩余的初始搜索语句作为中间搜索语句。匹配度具体可以是语句相似度、字符重叠比例等。语句相似度可以采用文本相似度计算算法得到,也可以采用机器学习模型处理得到。字符重叠比例可以是初始搜索语句与正向召回语句的重复字符个数占初始搜索语句的字符总数的比例,也可以是初始搜索语句对应的历史搜索语句与正向召回语句的重复字符个数占历史搜索语句的字符总数的比例。在得到中间搜索语句后,计算机设备可以将各个中间搜索语句直接作为训练搜索语句,也可以对各个中间搜索语句进行过滤,滤除字符总数小于预设字符数的中间搜索语句,将剩余的中间搜索语句作为训练搜索语句。
本实施例中,基于搜索热度、关键字提取、语句过滤的一系列操作,可以从历史搜索语句中提取到高质量的搜索语句作为训练搜索语句,基于高质量的训练搜索语句进行模型训练可以提高模型的准确性。
在一个实施例中,如图3所示,目标召回模型包括搜索语句分析网络和召回语句分析网络。基于训练搜索语句、正向召回语句和反向召回语句集合对待训练的目标召回模型进行模型训练,得到已训练的目标召回模型,包括:
步骤S302,将训练搜索语句和当前召回语句分别输入搜索语句分析网络和召回语句分析网络,得到搜索训练向量和召回训练向量。
其中,当前召回语句是指当前输入目标召回模型的召回语句,可以是正向召回语句,也可以是反向召回语句。
具体地,目标召回模型包括搜索语句分析网络和召回语句分析网络,搜索语句分析网络用于对搜索语句进行数据分析,召回语句分析网络用于对召回语句进行数据分析。针对训练搜索语句和正向召回语句,计算机设备可以将训练搜索语句输入搜索语句分析网络得到搜索训练向量,将正向召回语句输入召回语句分析网络得到正向召回语句对应的召回训练向量。针对训练搜索语句和反向召回语句集合,计算机设备可以将训练搜索语句输入搜索语句分析网络得到搜索训练向量,将反向召回语句集合中的反向召回语句输入召回语句分析网络得到反向召回语句对应的召回训练向量。其中,搜索语句分析网络和召回语句分析网络可以是单向的数据分析网络,也可以是双向的数据分析网络。搜索语句分析网络和召回语句分析网络可以是循环神经网络、卷积神经网络等。
步骤S304,基于搜索训练向量和正向召回语句对应的召回训练向量计算正向相似度。
步骤S306,基于搜索训练向量和反向召回语句集合中各个反向召回语句对应的召回训练向量计算各个反向相似度。
具体地,在得到搜索训练向量和召回训练向量后,可以通过使用户输入和用户点击所对应的向量尽可能相近,来训练网络参数。因此,目标召回模型可以计算搜索训练向量和召回训练向量之间的相似度,基于搜索训练向量和正向召回语句对应的召回训练向量计算得到的相似度为正向相似度,基于搜索训练向量和反向召回语句对应的召回训练向量计算得到的相似度为反向相似度。因为反向召回语句集合中包括多个反向召回语句,所以可以得到多个反向相似度。
步骤S308,基于正向相似度和各个反向相似度计算训练损失,基于训练损失调整目标召回模型的模型参数,直至满足收敛条件,得到已训练的目标召回模型。
具体地,计算机设备可以基于正向相似度和各个反向相似度计算训练损失,基于训练损失对目标召回模型进行反向传播学习,调整目标召回模型的模型参数,直至满足收敛条件,得到已训练的目标召回模型。
本实施例中,通过将训练搜索语句和当前召回语句分别输入搜索语句分析网络和召回语句分析网络,得到搜索训练向量和召回训练向量,基于搜索训练向量和正向召回语句对应的召回训练向量计算正向相似度,基于搜索训练向量和反向召回语句集合中各个反向召回语句对应的召回训练向量计算各个反向相似度,基于正向相似度和各个反向相似度计算训练损失,基于训练损失调整目标召回模型的模型参数,直至满足收敛条件,得到已训练的目标召回模型。这样,可以采取有监督的模型训练方式进行模型训练,得到已训练的目标召回模型。
在一个实施例中,将训练搜索语句和当前召回语句分别输入搜索语句分析网络和召回语句分析网络,得到搜索训练向量和召回训练向量,包括:
获取当前目标语句对应的词向量序列,将词向量序列输入对应的当前语句分析网络;当前目标语句为训练搜索语句或当前召回语句;基于当前语句分析网络,对词向量序列进行特征提取,得到词向量序列中各个词向量对应的初始特征向量;对各个初始特征向量进行注意力分配,得到各个词向量对应的注意力权重;基于注意力权重对各个初始特征向量进行特征融合,得到当前目标语句对应的目标特征向量;基于目标特征向量得到当前目标语句对应的当前训练向量。
其中,词向量序列包括语句中各个词语对应的词向量。可以对训练语句进行分词处理,将训练语句切分为一个个单独的词语,再获取各个词语对应的词向量组成词向量序列。可以通过向量词典匹配来获取词向量,也可以通过用于产生词向量的模型来获取词向量。注意力权重用于表示语句中某一词语对于语句的重要程度。各个词向量对应的注意力权重也就是语句中各个词语对应的注意力权重。
具体地,搜索语句分析网络对训练搜索语句的数据处理过程和召回语句分析网络对当前召回语句的数据处理过程相似。若当前目标语句为训练搜索语句,对应的当前语句分析网络为搜索语句分析网络,得到的当前训练向量为搜索训练向量;若当前目标语句为当前召回语句,对应的当前语句分析网络为召回语句分析网络,得到的当前训练向量为召回训练向量。计算机设备可以获取当前目标语句对应的词向量序列,将词向量序列输入对应的当前语句分析网络,通过当前语句分析网络对词向量序列中的词向量进行特征提取,得到各个词向量对应的初始特征向量,通过当前语句分析网络对各个初始特征向量进行注意力分配,得到各个词向量对应的注意力权重,基于注意力权重对各个初始特征向量进行加权求和来实现特征融合,从而得到当前目标语句对应的目标特征向量。计算机设备可以直接将当前目标语句对应的目标特征向量作为当前目标语句对应的当前训练向量,也可以将目标特征向量和当前目标语句对应的属性特征向量进行拼接得到当前目标语句对应的当前训练向量。属性特征向量可以是基于当前目标语句对应的属性信息得到的,属性信息可以是位置信息、热度信息、评分信息等。若当前目标语句为召回语句,属性信息用于描述召回语句对应的资源的属性特征。若当前目标语句为搜索语句,属性信息用于描述搜索语句对应的搜索用户的属性特征。
在一个实施例中,当前语句分析网络包括特征提取层、注意力层和融合层,特征提取层用于对词向量序列中的词向量进行特征提取得到初始特征向量,注意力层用于对初始特征向量进行注意力分配得到注意力权重,融合层用于基于注意力权重对初始特征向量进行特征融合。
在一个实施例中,目标特征向量的计算公式如下:
本实施例中,当前语句分析网络通过对输入数据进行特征提取、注意力分配、特征融合,可以得到输入数据对应的比较准确的目标特征向量。基于目标特征向量可以得到输入数据对应的比较准确的当前训练向量。
在一个实施例中,基于当前语句分析网络,对词向量序列进行特征提取,得到词向量序列中各个词向量对应的初始特征向量,包括:
对词向量序列进行正向特征提取,得到词向量序列中各个词向量对应的正向特征向量;对词向量序列进行反向特征提取,得到词向量序列中各个词向量对应的反向特征向量;将同一词向量对应的正向特征向量和反向特征向量进行拼接,得到各个词向量对应的初始特征向量。
其中,正向特征提取是指对词向量序列中的词向量按照正序进行特征提取。反向特征提取是指对词向量序列中的词向量按照逆序进行特征提取。
具体地,当前语句分析网络可以对词向量序列中的词向量进行双向的特征提取,达到充分利用语句中上下文信息的目的。计算机设备可以基于当前语句分析网络对词向量序列进行正向特征提取,得到词向量序列中各个词向量对应的正向特征向量,对词向量序列进行反向特征提取,得到词向量序列中各个词向量对应的反向特征向量,然后,将同一词向量对应的正向特征向量和反向进行拼接,从而得到各个词向量对应的初始特征向量。
本实施例中,在进行特征提取时,通过结合正向特征提取和反向特征提取,可以充分运用到输入数据中各个词语之间的上下文信息,从而得到各个词语对应的准确的初始特征向量。
在一个实施例中,基于目标特征向量得到当前目标语句对应的当前训练向量,包括:获取当前目标语句对应的当前位置的位置向量;基于位置向量和目标特征向量得到当前训练向量。
具体地,除了将目标特征向量直接作为当前训练向量,也可以获取当前目标语句对应的当前位置的位置向量,将位置向量和目标特征向量进行拼接得到当前训练向量。也就是,将训练搜索语句和对应的位置向量输入搜索语句分析网络得到搜索训练向量,将召回语句和对应的位置向量输入召回语句分析网络得到召回训练向量。其中,位置向量可以是当前位置处于的目标位置区域所对应的向量,也可以是当前位置处于的其他等级的位置区域所对应的向量。位置向量的计算方式与词向量的计算方式类似。
可以理解,若当前训练向量是基于位置向量和目标特征向量得到的,基于这样的当前训练向量训练得到的目标召回模型在使用时,需要输入搜索语句和对应的位置向量,需要输入召回语句和对应的位置向量。
在一个实施例中,搜索语句分析网络和召回语句分析网络的输入数据可以是对称的,例如,搜索语句分析网络的输入数据为搜索语句和搜索语句对应的位置向量,召回语句分析网络的输入数据为召回语句和召回语句对应的位置向量。搜索语句分析网络和召回语句分析网络的输入数据也可以是非对称的,例如,搜索语句分析网络的输入数据为搜索语句和搜索语句对应的位置向量,召回语句分析网络的输入数据为召回语句和召回语句对应的位置向量、其他属性向量。在地图搜索场景下,其他属性向量可以是由POI的类别、热度、访问人数、品牌名称、人均价格、评星评分等至少一种数据的向量组成。
本实施例中,在模型训练时,不仅考虑语句自身的特征信息,还考虑语句对应的位置的特征信息,可以从不同角度来衡量搜索语句和召回语句之间的相似度,从而提高相似度的准确,提高模型训练的准确性。
在一个实施例中,基于正向相似度和各个反向相似度计算训练损失,包括:
获取平滑因子;基于平滑因子对正向相似度和各个反向相似度进行平滑处理,得到正向平滑相似度和各个反向平滑相似度;基于各个反向平滑相似度计算相似度统计值,基于相似度统计值和正向平滑相似度得到训练损失。
其中,平滑因子用于对相似度进行数据平滑,降低数据中的噪声。平滑因子可以是预先设置的固定值,也可以作为一种模型参数,在模型训练中进行学习调整。
具体地,计算机设备可以获取平滑因子,基于平滑因子对正向相似度和各个反向相似度进行平滑处理得到正向平滑相似度和各个反向平滑相似度。平滑处理可以是将平滑因子和相似度相乘,也可以是基于平滑因子对相似度进行指数运算,也可以是基于平滑因子对相似度进行归一化处理等。计算机设备可以对各个反向平滑相似度进行统计得到相似度统计值,相似度统计值可以是各个反向平滑相似度的总和、加权和,各个反向平滑相似度的指数运算结果总和、加权和等。在计算加权和时,不同类型的反向召回语句可以对应不同的权重系数,权重系数可以是预先设置的。然后,计算机设备基于相似度统计值和正向平滑相似度计算得到训练损失,具体可以是将相似度统计值和正向平滑相似度的比值作为训练损失。可以理解,若有多个训练搜索语句,可以将各个训练搜索语句对应的比值进行统计得到训练损失,训练损失可以是各个比值的总和、乘积等。
在一个实施例中,训练损失的计算公式如下:
其中,R(Q,D)表示Q和D之间的相似度,表示训练搜索语句对应的向量表示,即目标特征向量,表示当前召回语句对应的的向量表示,即目标特征向量。表示计算和之间的余弦相似度。γ表示平滑因子,为正向召回语句,表示反向召回语句集合。表示正向相似度,表示反向相似度。exp()表示以自然常数e为底的指数函数。表示由同一训练搜索语句对应正向相似度和反向相似度计算得到的训练子损失,表示由多个训练搜索语句对应的训练子损失组成的训练损失。模型的收敛条件可以是最小化。
本实施例中,通过平滑因子对相似度进行平滑处理,基于平滑处理后的相似度计算训练损失,可以提高训练损失的准确性,从而提高模型训练的准确性。
在一个实施例中,如图4所示,提供了一种搜索召回方法,以该方法应用于图1中的计算机为例进行说明,可以理解的是,计算机设备可以是终端102,也可以是服务器104。本实施例中,搜索召回方法包括以下步骤:
步骤S402,获取目标搜索语句和候选召回语句集合。
其中,目标搜索语句是指待确定搜索召回结果的搜索语句。目标搜索语句可以是用户实时输入的搜索语句,例如,搜索用户在当前时间输入的搜索语句,目标搜索语句也可以是历史搜索无结果的搜索语句。
步骤S404,基于已训练的目标召回模型,从候选召回语句集合中确定目标搜索语句对应的参考召回语句。
其中,已训练的目标召回模型是基于训练搜索语句、对应的正向召回语句和反向召回语句集合对待训练的目标召回模型进行模型训练得到的,正向召回语句是训练搜索语句对应的目标召回语句集合中目标操作状态对应的召回语句,反向召回语句集合包括第一反向召回语句、第二反向召回语句和第三反向召回语句,第一反向召回语句是从候选召回语句集合中随机选取的,第二反向召回语句是目标召回语句集合中非目标操作状态对应的召回语句,第三反向召回语句对应的第一位置和正向召回语句对应的第二位置之间的位置差异满足预设条件。
可以理解,目标召回模型的训练过程可以参照前述各个相关实施例所述的方法。
具体地,计算机设备可以在本地、或从其他终端、服务器获取目标搜索语句和候选召回语句集合。并且,基于已训练的目标召回模型,计算机设备可以从候选召回语句集合中确定目标搜索语句对应的参考召回语句。参考召回语句可以为至少一个。计算机设备可以将目标搜索语句和候选召回语句集合中的候选召回语句输入已训练的目标召回模型,得到目标搜索语句和各个候选召回语句分别对应的语句相似度,基于目标搜索语句对应的各个语句相似度,从候选召回语句集合中确定目标搜索语句对应的参考召回语句。计算机设备也可以将候选召回语句集合中的候选召回语句输入已训练的目标召回模型得到候选召回向量,基于各个候选召回向量生成召回索引,将目标搜索语句输入已训练的目标召回模型得到目标搜索向量,基于目标搜索向量从召回索引中确定目标召回向量,将目标召回向量对应的候选召回语句作为参考召回语句。
上述搜索召回方法中,通过获取训练搜索语句和对应的正向召回语句,正向召回语句是训练搜索语句对应的目标召回语句集合中目标操作状态对应的召回语句,获取训练搜索语句对应的反向召回语句集合;反向召回语句集合包括第一反向召回语句、第二反向召回语句和第三反向召回语句,第一反向召回语句是从候选召回语句集合中随机选取的,第二反向召回语句是目标召回语句集合中非目标操作状态对应的召回语句,第三反向召回语句对应的第一位置和正向召回语句对应的第二位置之间的位置差异满足预设条件,基于训练搜索语句、正向召回语句和反向召回语句集合对待训练的目标召回模型进行模型训练,得到已训练的目标召回模型;已训练的目标召回模型用于对目标搜索语句进行搜索召回,从候选召回语句集合中确定目标搜索语句对应的参考召回语句。这样,目标召回模型的负训练样本包括三种反向召回语句,第一反向召回语句是随机采样生成的,可以让模型学习到正负样本在粗粒度上的差异,第二反向召回语句、第三反向召回语句与正向召回语句相似,可以让模型学习到正负样本在细粒度上的差异,从而最终可以训练得到准确性较高的目标召回模型。已训练的目标召回模型可以用于对目标搜索语句进行准确的搜索召回,从而得到目标搜索语句对应的参考召回语句。
在一个实施例中,如图5所示,基于已训练的目标召回模型,从候选召回语句集合中确定目标搜索语句对应的参考召回语句,包括:
步骤S502,基于已训练的目标召回模型和候选召回语句集合生成召回索引。
其中,召回索引是对候选召回语句进行排序存储的数据结构,用于快速查找到目标搜索语句对应的参考召回语句。
具体地,基于已训练的目标召回模型,计算机设备可以将候选召回语句集合转换为召回索引。计算机设备可以将候选召回语句集合中的候选召回语句输入已训练的目标召回模型,得到各个候选召回语句对应的候选召回向量,对各个候选召回语句进行聚类分析得到召回索引。
步骤S504,将目标搜索语句输入已训练的目标召回模型,得到目标搜索语句对应的目标搜索向量。
步骤S506,基于目标搜索向量从召回索引中进行语句召回,基于语句召回结果得到目标搜索语句对应的参考召回语句。
其中,语句召回是指从召回索引中查找与目标搜索向量相似的数据。
具体地,获取到目标搜索语句后,计算机设备可以将目标搜索语句输入已训练的目标召回模型,得到目标搜索语句对应的目标搜索向量。计算机设备可以基于目标搜索向量从召回索引中进行语句召回,从召回索引中查找与目标搜索向量相似的候选召回向量,将该候选召回向量对应的候选召回语句作为目标搜索语句对应的参考召回语句。
在一个实施例中,计算机设备可以预先离线生成召回索引,然后在线基于召回索引确定目标搜索语句对应的参考召回语句。
本实施例中,目标搜索语句无需多次输入已训练的目标召回模型,只需输入一次模型得到对应的目标搜索向量,基于目标搜索向量就可以召回索引中进行搜索召回确定对应的参考召回语句,提高了召回效率,减轻了计算压力。
在一个实施例中,如图6A所示,基于已训练的目标召回模型和候选召回语句集合生成召回索引,包括:
步骤S502A,将候选召回语句集合中的候选召回语句输入已训练的目标召回模型,得到各个候选召回语句对应的候选召回向量;
步骤S502B,对各个候选召回向量进行向量聚类,得到多个向量聚类簇;各个向量聚类簇存在对应的聚类中心向量;
步骤S502C,基于各个向量聚类簇得到召回索引。
其中,聚类中心向量是指向量聚类簇的聚类中心对应的向量。可以理解,聚类中心向量并不一定是某一候选召回向量。
具体地,计算机设备可以将候选召回语句集合中的候选召回语句输入已训练的目标召回模型,通过已训练的目标召回模型中召回语句分析网络的数据处理,最终可以得到各个候选召回语句分别对应的候选召回向量。计算机设备可以基于聚类算法对各个候选召回向量进行向量聚类,得到多个向量聚类簇,各个向量聚类簇存在对应的聚类中心向量。各个向量聚类簇均包括至少一个候选召回向量,各个向量聚类簇彼此独立,各个向量聚类簇分别对应一个局部向量空间,各个局部向量空间不重叠。计算机设备可以将各个向量聚类簇作为召回索引,也可以对各个向量聚类簇进行进一步处理得到召回索引。其中,聚类算法可以是K-means算法、K-中心点算法等常用算法,也可以是自定义的聚类算法。
本实施例中,通过向量聚类可以将差异较小的向量聚为一类,将差异较大的向量聚集在不同的类中,从而得到多个向量聚类簇,并且各个向量聚类簇存在对应的聚类中心向量。基于各个向量聚类簇得到召回索引,后续在进行语句召回时,可以快速从向量聚类簇中确定参考召回向量。
在一个实施例中,如图6A所示,基于目标搜索向量从召回索引中进行语句召回,基于语句召回结果得到目标搜索语句对应的参考召回语句,包括:
步骤S506A,基于目标搜索向量和各个聚类中心向量之间的向量距离,从各个向量聚类簇中确定目标聚类簇;
步骤S506B,基于目标搜索向量和目标聚类簇内各个候选召回向量之间的向量距离,从目标聚类簇对应的各个候选召回向量中确定参考召回向量;
步骤S506C,将参考召回向量对应的候选召回语句作为参考召回语句。
具体地,为了减少计算量,在进行语句召回时,计算机设备可以先从多个向量聚类簇中确定目标聚类簇,然后,在目标聚类簇对应的各个候选召回语句中确定参考召回语句。因此,首先,计算机设备可以计算目标搜索向量和各个聚类中心向量之间的向量距离,基于向量距离从各个向量聚类簇中选取距离最小的至少一个聚类簇作为目标聚类簇。接着,计算机设备可以计算目标搜索向量和目标聚类簇中各个候选召回向量之间的向量距离,基于向量距离从各个候选召回向量中选取距离最小的至少一个候选召回向量作为参考召回向量。得到参考召回向量后,计算机设备可以将参考召回向量对应的候选召回语句作为目标搜索语句对应的参考召回语句。其中,计算向量距离可以是计算向量之间的欧式距离、余弦距离、曼哈顿距离等。
本实施例中,先基于目标搜索向量和聚类中心向量之间的向量距离进行粗搜索,确定搜索范围(目标聚类簇),再基于目标搜索向量和目标聚类簇内候选召回向量之间的向量距离进行细搜索,确定搜索目标(参考召回向量),从而确定参考召回语句。结合粗搜索和细搜索可以快速搜索到参考召回语句。
在一个实施例中,如图6B所示,基于各个向量聚类簇得到召回索引,包括:
步骤S602,在当前向量聚类簇中,对各个当前候选召回向量进行向量切分,得到各个当前候选召回向量分别对应的多个有序排列的召回子向量。
步骤S604,对排序信息一致的多个召回子向量进行向量聚类,得到各个排序信息分别对应的多个子向量聚类簇;各个子向量聚类簇存在对应的子聚类中心向量。
步骤S606,基于各个子聚类中心向量对各个当前候选召回向量进行向量转换,得到各个当前候选召回向量对应的中间召回向量;中间召回向量包括当前候选召回向量对应的各个子聚类中心向量的向量标识。
其中,向量切分是指将一个向量切分为多个子向量。当前候选召回向量是指当前向量聚类簇中的候选召回向量。子聚类中心向量是指子向量聚类簇对应的子聚类中心的向量。向量转换用于将复杂的向量表示转换为简单的向量表示,从而降低向量的复杂度。
向量标识是一种标识,用于唯一标识子聚类中心向量,具体可以包括字母、数字和符号中至少一种字符的字符串。
具体地,在生成召回索引时,可以对向量聚类簇中的候选召回向量进行向量转换,将复杂的向量表示转换为简单的向量表示,从而后续在进行语句召回时,基于简单的向量表示计算向量距离可以有效减少计算量。可以理解,各个向量聚类簇的数据处理方法相同。在当前向量聚类簇中,计算机设备可以对各个当前候选召回向量进行向量切分,得到各个当前候选召回向量分别对应的多个有序排列的召回子向量。例如,将128维的向量切分为4个子向量,4个子向量分别为包含1-32维数据的子向量、包含33-64维数据的子向量、包含65-96维数据的子向量,包含97-128维数据的子向量。
在当前向量聚类簇中,计算机设备可以基于聚类算法对排序信息一致的多个召回子向量进行向量聚类,得到各个排序信息分别对应的多个子向量聚类簇,各个子向量聚类簇存在对应的子聚类中心向量,各个向量聚类簇均包括至少一个召回子向量。例如,当前向量聚类簇中包括4个128维的候选召回向量,将128维的向量切分为4个子向量,每个候选召回向量均对应4个召回子向量。可以将各个包含1-32维数据的召回子向量进行向量聚类,得到子向量聚类簇A1和子向量聚类簇A2,将各个包含33-64维数据的召回子向量进行向量聚类,得到子向量聚类簇B1、子向量聚类簇B2和子向量聚类簇B3,将各个包含65-96维数据的召回子向量进行向量聚类,得到子向量聚类簇C1、子向量聚类簇C2和子向量聚类簇C3,将各个包含97-128维数据的召回子向量进行向量聚类,得到子向量聚类簇D1、子向量聚类簇D2、子向量聚类簇D3和子向量聚类簇D4。
在当前向量聚类簇中,计算机设备可以基于各个子聚类中心向量对各个当前候选召回向量进行向量转换,将当前候选召回向量中各个召回子向量用对应的子聚类中心向量的向量标识来表示,从而得到各个当前候选召回向量对应的中间召回向量,中间召回向量包括当前候选召回向量对应的各个子聚类中心向量的向量标识。这样就将用复杂数据表示的向量转换为用若干个标识表示的向量,例如,128维的当前候选召回向量包括4个召回子向量,第一个召回子向量落入子向量聚类簇A1内,那么第一个召回子向量对应子聚类中心向量A1,第二个召回子向量落入子向量聚类簇B2内,那么第二个召回子向量对应子聚类中心向量B2,第三个召回子向量落入子向量聚类簇C1内,那么第三个召回子向量对应子聚类中心向量C1,第四个召回子向量落入子向量聚类簇D4内,那么第四个召回子向量对应子聚类中心向量D4。128维的当前候选召回向量可以用(A1,B2,C1,D4)来表示,(A1,B2,C1,D4)即为该当前候选召回向量对应的中间召回向量。
步骤S608,基于各个向量聚类簇、对应的各个子向量聚类簇和中间召回向量得到召回索引。
具体地,计算机设备可以将各个向量聚类簇、各个向量聚类簇分别对应的各个子向量聚类簇和各个中间召回向量组成召回索引。
在一个实施例中,可以基于第一预设聚类簇数量对各个候选召回向量进行向量聚类,得到多个向量聚类簇,这些向量聚类簇的总数为第一预设聚类簇数量。同理,也可以基于第二预设聚类簇数量对排序信息一致的多个召回子向量进行向量聚类,得到各个排序信息对应的多个子向量聚类簇,同一排序信息对应的多个子向量聚类簇的总数为第二预设聚类簇数量。
本实施例中,在各个向量聚类簇中,进行向量切分、二次向量聚类和向量转换,可以将复杂的候选召回向量转换为简单的中间召回向量,从而简化候选召回语句对应的向量表示。简单的向量表示有助于减轻计算向量距离的计算压力,从而提高计算效率。
在一个实施例中,如图6B所示,基于目标搜索向量从召回索引中进行语句召回,基于语句召回结果得到目标搜索语句对应的参考召回语句,包括:
步骤S506D,基于目标搜索向量和各个聚类中心向量之间的向量距离,从各个向量聚类簇中确定目标聚类簇。
具体地,计算机设备可以计算目标搜索向量和各个聚类中心向量之间的向量距离,基于向量距离从各个向量聚类簇中选取距离最小的至少一个聚类簇作为目标聚类簇。
步骤S506E,对目标搜索向量进行向量切分,得到对应的多个有序排列的搜索子向量。
步骤S506F,基于排序信息一致的搜索子向量和目标聚类簇对应的各个子聚类中心向量之间的向量距离,得到目标搜索向量对应的向量距离参考信息。
步骤S506G,基于目标聚类簇对应的中间召回向量和向量距离参考信息,确定目标搜索向量和目标聚类簇内各个候选召回向量之间的目标向量距离。
其中,向量距离参考信息用于确定目标搜索向量和目标聚类簇内各个候选召回向量之间的向量距离。向量距离参考信息包括各个搜索子向量和对应的各个子聚类中心向量之间的向量距离。
具体地,与对候选召回向量进行向量切分的方法一致,计算机设备也可以对目标搜索向量进行向量切分,得到目标搜索向量对应的多个有序排列的搜索子向量。计算机设备可以计算排序信息一致的搜索子向量和目标聚类簇对应的各个子聚类中心向量之间的向量距离,得到多个向量距离,将各个向量距离组成目标搜索向量对应的向量距离参考信息,各个向量距离携带对应的子聚类中心向量的向量标识。例如,向量切分是将128维的向量切分为4个子向量,以包含1-32维数据的向量为例,包含1-32维数据的搜索子向量和对各个包含1-32维数据的召回子向量进行向量聚类得到的各个子向量聚类簇的子聚类中心向量的排序信息一致。若在目标聚类簇中,与包含1-32维数据的搜索子向量排序信息一致的子聚类中心向量有3个,那么通过向量距离计算可以得到3个向量距离。
针对任意一个中间召回向量,计算机设备可以从向量距离参考信息中,查找该中间召回向量包括的各个向量标识所对应的向量距离,对各个向量距离进行统计,将向量统计值作为该中间召回向量对应的候选召回向量与目标搜索向量之间的目标向量距离。其中,向量统计值可以是各个向量距离的总和、平均值等。例如,中间召回向量为(A1,B2,C1,D4),向量距离参考信息中第一个搜索子向量与子聚类中心A1的向量距离为LA1,第二个搜索子向量与子聚类中心B2的向量距离为LB2,第三个搜索子向量与子聚类中心C1的向量距离为LC1,第四个搜索子向量与子聚类中心D4的向量距离为LD4,那么,目标搜索语句和该中间召回向量对应的候选召回语句的目标向量距离为LA1+ LB2+ LC1+ LD4。
这样,无需采用原始复杂数据直接计算目标搜索向量和目标聚类簇内各个候选召回向量之间的向量距离,计算机设备基于简单数据可以快速计算得到能够表示目标搜索向量和目标聚类簇内各个候选召回向量之间的向量距离的数据,减少了计算量,提高了计算效率。
步骤S506H,基于目标向量距离,从目标聚类簇对应的各个候选召回向量中确定参考召回向量。
步骤S506I,将参考召回向量对应的候选召回语句作为参考召回语句。
具体地,获取到目标搜索向量和目标聚类簇内各个候选召回向量之间的目标向量距离后,计算机设备可以基于目标向量距离,从目标聚类簇对应的各个候选召回向量中获取距离最小的至少一个候选召回向量作为参考召回向量,将参考召回向量对应的候选召回语句作为目标搜索语句对应的参考召回语句。
本实施例中,在基于目标聚类簇确定参考召回向量时,先基于搜索子向量和子聚类中心向量计算向量距离参考信息,再基于向量距离参考信息确定目标搜索向量和目标聚类簇内各个候选召回向量之间的目标向量距离,可以通过少量简单的数据计算快速得到用于表示目标搜索向量和目标聚类簇内各个候选召回向量的向量距离的参考数据,从而基于该参考数据可以快速确定参考召回向量,进而确定目标搜索语句对应的参考召回语句。
在一个实施例中,候选召回语句集合中的候选召回语句为位置兴趣点,获取目标搜索语句,包括:获取地图搜索请求,地图搜索请求携带目标搜索语句。
所述方法还包括:基于参考召回语句对应的位置兴趣点明细信息生成地图搜索结果;位置兴趣点明细信息包括位置兴趣点对应的属性信息和导航信息;展示地图搜索结果。
其中,地图搜索请求用于请求获取与目标搜索语句匹配的位置兴趣点。位置兴趣点明细信息用于介绍位置兴趣点的详细信息。位置兴趣点明细信息可以包括位置兴趣点对应的属性信息和导航信息。位置兴趣点对应的属性信息可以包括位置兴趣点对应的名称、图片、文字介绍、位置等信息。位置兴趣点对应的导航信息包括位置兴趣点对应的地址和导航路线等与导航相关的信息。导航路线可以是基于发起地图搜索请求的搜索用户对应的用户位置和位置兴趣点对应的地理位置生成的。
具体地,在地图搜索场景下,候选召回语句集合中的候选召回语句为位置兴趣点,即候选召回语句为POI。终端可以获取搜索用户在地图应用中触发生成的地图搜索请求,地图搜索请求携带搜索用户在地图应用中输入的目标搜索语句,终端可以通过已训练的目标召回模型,从候选POI中确定目标搜索语句对应的参考POI(即参考召回语句),将参考POI展示给搜索用户。终端可以基于参考POI对应的位置兴趣点明细信息生成地图搜索结果,向搜索用户展示地图搜索结果。
当然,服务器也可以接收搜索用户对应的终端发送的地图搜索请求,服务器响应于地图搜索请求,进行数据处理得到地图搜索结果,将地图搜索结果发送至搜索用户对应的终端,从而向搜索用户展示地图搜索结果。
在一个具体的实施例中,召回模型训练方法和搜索召回方法可以应用于地图搜索场景。
召回是地图搜索(也可以称为地图检索)中的关键环节,在提升搜索平台访问量、搜索准确性与搜索效率上扮演着重要角色。召回作为地图检索系统的重要阶段,对于用户输入的query,能够高效地获取query相关的地点(Point-of-Interest,POI)集合。
参考图7A,整个数据处理过程包括离线部分和在线部分。
一、离线部分
1、数据预处理
1-1、建立训练源数据
在地图检索系统中,每天都能产生大量的用户点击数据,从这些用户点击数据中可以提取出高频点击数据作为训练的源数据。其中,高频点击数据包括多个query- poi对。一个query- poi对包括搜索热度较高的query(即搜索热度大于预设热度的历史搜索语句)和该query对应的被用户点击的至少一个poi。
1-2、弱相关文本过滤
(1)对query进行关键字提取
a、针对高频点击数据中的query,过滤掉query中的行政地名前缀,以此来提取query的关键字。例如,从query中去除行政地名前缀“北京市海淀区”。过滤行政地名前缀后的query即为初始搜索语句。可以理解,后续在模型训练时,输入模型的是已提取关键字的query-poi对。
b、针对高频点击数据中的query,过滤掉只包含行政地名、连锁店词、类别词、泛词的无效query,例如,过滤掉只包含行政地名“北京市海淀区”和类别词“美食”的query。
(2)基于poi对query进行过滤
在初始搜索语句或历史搜索语句中,筛选出与poi字符重叠度大于预设重叠度的query(即中间搜索语句)。预设重叠度可以根据需要进行设置,例如,设置为25%。
(3)基于query字符总数对query进行筛选
在中间搜索语句中,过滤字符总数小于预设字符数的query。最终剩余的query组成搜索语句集合。
将经过弱相关文本过滤处理后的query作为训练搜索语句,将所有poi(全量poi组成候选召回语句集合。候选召回语句集合包括7000万条poi数据。这样,对高频点击数据进行弱相关文本过滤,可以对训练源数据进行数据增强,后续在进行模型训练时,模型从训练样本中可以快速学习到相关知识,减少冗余信息的干扰。
1-3、建立训练集
基于训练搜索语句和候选召回语句集合生成训练集。训练集包括搜索语句、搜索语句对应的正样本和负样本。负样本包括普通负样本和额外负样本。普通负样本和额外负样本的比例可以根据需要进行设置,例如设置为9:1,4:1等。通过实验发现,采取4:1进行模型训练的训练效果较优。正样本:将query对应的点击poi作为query对应的正样本。普通负样本:从候选召回语句集合中,随机获取poi作为query对应的普通负样本。负样本优化:从候选召回语句集合中,获取与query对应的正样本同城的poi作为额外的负样本,增强了正负样本在地域上的相似性,避免过多异地的随机负样本会导致模型更多关注地域粗粒度特征。通过历史召回模型筛选出相似度适中的query-poi对作为额外的负样本。通过历史召回模型计算同一query分别和各个poi的相似度,选取相似度top-k的各个poi作为该query对应的召回结果,从召回结果中选择用户未点击的poi作为额外的负样本,以此来构造一批相似度适中的query-poi对。
这样,通过负样本优化在训练样本中增加部分匹配度适中的负样本,能够增加模型在训练时的难度,让模型能够关注细节。
2、模型训练和预测
参考图7B,待训练的目标召回模型包括输入层、表示层和匹配层。对训练集中的query和poi进行分词,并将其转化为词向量序列,得到query词向量序列和poi词向量序列。同时考虑到地图场景下的地理位置信息,将query和poi所在城市也转换为词向量,得到query城市词向量和poi城市词向量。将query词向量序列和poi词向量序列、query城市词向量、poi词向量序列和poi城市词向量输入待训练的召回模型。
目标召回模型的表示层包括两条支路,一个支路对query的相关数据进行处理,另一个支路对poi的相关数据进行处理。两个支路的处理方式相似,先通过循环神经网络和注意力机制对词向量序列进行特征提取得到特征向量,将特征向量和城市词向量进行融合得到向量表示。以query为例,通过循环神经网络对query词向量序列中各个词向量进行特征提取,得到各个词向量对应的初始特征向量,基于各个初始特征向量计算各个词向量对应的注意力权重,基于注意力权重对初始特征向量进行加权融合得到query对应的目标特征向量。然后,将query对应的目标特征向量和query城市词向量进行拼接得到query对应的向量表示,即query向量。
得到query对应的向量表示和poi对应的向量表示后,计算两个向量之间的向量距离,得到query和poi对应的相似度。基于正负样本对应的正向相似度和反向相似度生成训练损失,基于训练损失对目标召回模型进行反向传播,调整目标召回模型的模型参数,直至满足收敛条件,得到已训练的目标召回模型。
模型训练好后,需要将离线点击poi数据和对应的城市词向量输入模型,生成离线向量,得到poi的离线向量表示。
3、离线索引生成
为了解决海量候选集会带来的线上服务压力,在线搜索时可以借助离线索引快速进行数据召回。可以获取各个poi离线向量来建立离线索引,具体可以采取不同的方式来建立离线索引,例如,A索引:参考图6A所示的方法,B索引:参考图6B所示的方法。
图7C为选择不同索引时的耗时和内存使用情况。参考图7C可知,若要兼顾耗时和内存,可以采取B索引。
二、在线部分
在线时基于离线索引进行最近邻查找。获取用户输入的目标query,将目标query和对应的城市词向量输入已训练的目标召回模型得到目标query对应的向量表示,基于离线索引可以从所有的离线poi向量中搜索到与目标query对应的向量最接近的topK个poi向量。也就是,针对目标query,可以召回topK个的poi结果。最终,将poi召回结果向用户展示。
本实施例中,考虑了用户输入和点击之间的关系,采用了有监督的模型训练方法,并通过数据增强、负样本优选、融合城市词向量等方式来提升模型的召回精度。
可以理解,本申请的方法除了应用于地图搜索,还可以应用于其他搜索场景。
为了验证本申请技术方案的功能特征,基于2021年1月到2021年5月地图检索平台的访问日志进行测试。模型训练时,用点击频次大于1的热词点击数据进行数据集生成,按照7:1:2的比例划分为训练集、验证集与测试集。基于训练集、验证集与测试集对目标召回模型进行模型训练、模型验证和模型测试,最终得到已训练的目标召回模型。然后,使用了5000条点击频次小于1的点击数据进行了离线测试。使用top-k命中率来评估召回精度,其中top-k命中率是指输入query通过目标召回模型召回的前k条结果中是否命中用户实际点击的poi。参考图7D可知,本申请技术方案可以显著提高搜索召回的质量,提高搜索有效性。
应该理解的是,虽然图2-图5、图6A、图6B的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-图5、图6A、图6B中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种召回模型训练装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:正向数据获取模块802、反向数据获取模块804和模型训练模块806,其中:
正向数据获取模块802,用于获取训练搜索语句和对应的正向召回语句;正向召回语句是训练搜索语句对应的目标召回语句集合中目标操作状态对应的召回语句。
反向数据获取模块804,用于获取训练搜索语句对应的反向召回语句集合;反向召回语句集合包括第一反向召回语句、第二反向召回语句和第三反向召回语句,第一反向召回语句是从候选召回语句集合中随机选取的,第二反向召回语句是目标召回语句集合中非目标操作状态对应的召回语句,第三反向召回语句对应的第一位置和正向召回语句对应的第二位置之间的位置差异满足预设条件。
模型训练模块806,用于基于训练搜索语句、正向召回语句和反向召回语句集合对待训练的目标召回模型进行模型训练,得到已训练的目标召回模型;已训练的目标召回模型用于对目标搜索语句进行搜索召回。
在一个实施例中,召回模型训练装置还包括:
召回语句集合确定模块,用于获取当前搜索语句和多个候选召回语句;将当前搜索语句和候选召回语句输入历史召回模型,得到当前搜索语句分别和各个候选召回语句对应的语句相似度;基于各个语句相似度,从各个候选召回语句中确定当前搜索语句对应的至少一个初始召回语句,基于各个初始召回语句得到当前搜索语句对应的当前召回语句集合。
在一个实施例中,召回模型训练装置还包括:
操作状态确定模块,用于向当前搜索语句对应的发送端展示当前召回语句集合;获取发送端返回的操作日志;操作日志用于记录针对当前召回语句集合中至少一个初始召回语句的触发操作;基于操作日志确定当前召回语句集合中各个初始召回语句对应的操作状态。
在一个实施例中,正向数据获取模块还用于获取多个搜索热度大于预设热度的历史搜索语句和各个历史搜索语句对应的正向召回语句;对历史搜索语句进行关键字提取,基于提取到的关键字得到对应的初始搜索语句;基于历史搜索语句对应的正向召回语句,对各个初始搜索语句进行语句过滤,得到多个中间搜索语句;基于各个中间搜索语句得到训练搜索语句。
在一个实施例中,预设条件为第一位置和第二位置处于同一目标位置区域中,目标位置区域是地图中目标等级对应的位置区域,地图包括多级递进的位置区域。
在一个实施例中,目标召回模型包括搜索语句分析网络和召回语句分析网络。模型训练模块包括:
训练向量确定单元,用于将训练搜索语句和当前召回语句分别输入搜索语句分析网络和召回语句分析网络,得到搜索训练向量和召回训练向量。
相似度确定单元,用于基于搜索训练向量和正向召回语句对应的召回训练向量计算正向相似度;基于搜索训练向量和反向召回语句集合中各个反向召回语句对应的召回训练向量计算各个反向相似度。
模型训练单元,用于基于正向相似度和各个反向相似度计算训练损失,基于训练损失调整目标召回模型的模型参数,直至满足收敛条件,得到已训练的目标召回模型。
在一个实施例中,训练向量确定单元还用于获取当前目标语句对应的词向量序列,将词向量序列输入对应的当前语句分析网络;当前目标语句为训练搜索语句或当前召回语句;基于当前语句分析网络,对词向量序列进行特征提取,得到词向量序列中各个词向量对应的初始特征向量;对各个初始特征向量进行注意力分配,得到各个词向量对应的注意力权重;基于注意力权重对各个初始特征向量进行特征融合,得到当前目标语句对应的目标特征向量;基于目标特征向量得到当前目标语句对应的当前训练向量。
在一个实施例中,训练向量确定单元还用于对词向量序列进行正向特征提取,得到词向量序列中各个词向量对应的正向特征向量;对词向量序列进行反向特征提取,得到词向量序列中各个词向量对应的反向特征向量;将同一词向量对应的正向特征向量和反向特征向量进行拼接,得到各个词向量对应的初始特征向量。
在一个实施例中,训练向量确定单元还用于获取当前目标语句对应的当前位置的位置向量;基于位置向量和目标特征向量得到当前训练向量。
在一个实施例中,模型训练单元还用于获取平滑因子;基于平滑因子对正向相似度和各个反向相似度进行平滑处理,得到正向平滑相似度和各个反向平滑相似度;基于各个反向平滑相似度计算相似度统计值,基于相似度统计值和正向平滑相似度得到训练损失。
在一个实施例中,如图9所示,提供了一种搜索召回装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:数据获取模块902和数据召回模块904,其中:
数据获取模块902,用于获取目标搜索语句和候选召回语句集合;
数据召回模块904,用于基于已训练的目标召回模型,从候选召回语句集合中确定目标搜索语句对应的参考召回语句;
已训练的目标召回模型是基于训练搜索语句、对应的正向召回语句和反向召回语句集合对待训练的目标召回模型进行模型训练得到的,正向召回语句是训练搜索语句对应的目标召回语句集合中目标操作状态对应的召回语句,反向召回语句集合包括第一反向召回语句、第二反向召回语句和第三反向召回语句,第一反向召回语句是从候选召回语句集合中随机选取的,第二反向召回语句是目标召回语句集合中非目标操作状态对应的召回语句,第三反向召回语句对应的第一位置和正向召回语句对应的第二位置之间的位置差异满足预设条件。
在一个实施例中,数据召回模块包括:
召回索引生成单元,用于基于已训练的目标召回模型和候选召回语句集合生成召回索引。
搜索向量生成单元,用于将目标搜索语句输入已训练的目标召回模型,得到目标搜索语句对应的目标搜索向量。
召回语句确定单元,用于基于目标搜索向量从召回索引中进行语句召回,基于语句召回结果得到目标搜索语句对应的参考召回语句。
在一个实施例中,召回索引生成单元还用于将候选召回语句集合中的候选召回语句输入已训练的目标召回模型,得到各个候选召回语句对应的候选召回向量;对各个候选召回向量进行向量聚类,得到多个向量聚类簇;各个向量聚类簇存在对应的聚类中心向量;基于各个向量聚类簇得到召回索引。
在一个实施例中,召回语句确定单元还用于基于目标搜索向量和各个聚类中心向量之间的向量距离,从各个向量聚类簇中确定目标聚类簇;基于目标搜索向量和目标聚类簇内各个候选召回向量之间的向量距离,从目标聚类簇对应的各个候选召回向量中确定参考召回向量;将参考召回向量对应的候选召回语句作为参考召回语句。
在一个实施例中,召回索引生成单元还用于在当前向量聚类簇中,对各个当前候选召回向量进行向量切分,得到各个当前候选召回向量分别对应的多个有序排列的召回子向量;对排序信息一致的多个召回子向量进行向量聚类,得到各个排序信息分别对应的多个子向量聚类簇;各个子向量聚类簇存在对应的子聚类中心向量;基于各个子聚类中心向量对各个当前候选召回向量进行向量转换,得到各个当前候选召回向量对应的中间召回向量;中间召回向量包括当前候选召回向量对应的各个子聚类中心向量的向量标识;基于各个向量聚类簇、对应的各个子向量聚类簇和中间召回向量得到召回索引。
在一个实施例中,召回语句确定单元还用于基于目标搜索向量和各个聚类中心向量之间的向量距离,从各个向量聚类簇中确定目标聚类簇;对目标搜索向量进行向量切分,得到对应的多个有序排列的搜索子向量;基于排序信息一致的搜索子向量和目标聚类簇对应的各个子聚类中心向量之间的向量距离,得到目标搜索向量对应的向量距离参考信息;基于目标聚类簇对应的中间召回向量和向量距离参考信息,确定目标搜索向量和目标聚类簇内各个候选召回向量之间的目标向量距离;基于目标向量距离,从目标聚类簇对应的各个候选召回向量中确定参考召回向量;将参考召回向量对应的候选召回语句作为参考召回语句。
在一个实施例中,候选召回语句集合中的候选召回语句为位置兴趣点,数据获取模块还用于获取地图搜索请求,地图搜索请求携带目标搜索语句。搜索召回模型还包括:数据展示模块,用于基于参考召回语句对应的位置兴趣点明细信息生成地图搜索结果;位置兴趣点明细信息包括位置兴趣点对应的属性信息和导航信息;展示地图搜索结果。
上述召回模型训练装置、搜索召回装置中,目标召回模型的负训练样本包括三种反向召回语句,第一反向召回语句是随机采样生成的,可以让模型学习到正负样本在粗粒度上的差异,第二反向召回语句、第三反向召回语句与正向召回语句相似,可以让模型学习到正负样本在细粒度上的差异,从而最终可以训练得到准确性较高的目标召回模型。
关于召回模型训练装置、搜索召回装置的具体限定可以参见上文中对于召回模型训练方法、搜索召回方法的限定,在此不再赘述。上述召回模型训练装置、搜索召回装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储历史搜索语句、历史召回模型、候选召回语句集合等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种召回模型训练方法、搜索召回方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种召回模型训练方法、搜索召回方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图10、11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (20)
1.一种召回模型训练方法,其特征在于,所述方法包括:
获取训练搜索语句和对应的正向召回语句;所述正向召回语句是所述训练搜索语句对应的目标召回语句集合中目标操作状态对应的召回语句;
获取所述训练搜索语句对应的反向召回语句集合;所述反向召回语句集合包括第一反向召回语句、第二反向召回语句和第三反向召回语句,所述第一反向召回语句是从候选召回语句集合中随机选取的,所述第二反向召回语句是所述目标召回语句集合中非目标操作状态对应的召回语句,所述第三反向召回语句对应的第一位置和所述正向召回语句对应的第二位置之间的位置差异满足预设条件;
基于所述训练搜索语句、所述正向召回语句和所述反向召回语句集合对待训练的目标召回模型进行模型训练,得到已训练的目标召回模型;所述已训练的目标召回模型用于对目标搜索语句进行搜索召回。
2.根据权利要求1所述的方法,其特征在于,所述获取训练搜索语句和对应的正向召回语句之前,所述方法还包括:
获取当前搜索语句和多个候选召回语句;
将当前搜索语句和候选召回语句输入历史召回模型,得到所述当前搜索语句分别和各个候选召回语句对应的语句相似度;
基于各个语句相似度,从各个候选召回语句中确定当前搜索语句对应的至少一个初始召回语句,基于各个初始召回语句得到所述当前搜索语句对应的当前召回语句集合。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
向所述当前搜索语句对应的发送端展示所述当前召回语句集合;
获取所述发送端返回的操作日志;所述操作日志用于记录针对所述当前召回语句集合中至少一个初始召回语句的触发操作;
基于所述操作日志确定所述当前召回语句集合中各个初始召回语句对应的操作状态。
4.根据权利要求1所述的方法,其特征在于,所述获取训练搜索语句和对应的正向召回语句,包括:
获取多个搜索热度大于预设热度的历史搜索语句和各个历史搜索语句对应的正向召回语句;
对历史搜索语句进行关键字提取,基于提取到的关键字得到对应的初始搜索语句;
基于历史搜索语句对应的正向召回语句,对各个初始搜索语句进行语句过滤,得到多个中间搜索语句;
基于各个中间搜索语句得到所述训练搜索语句。
5.根据权利要求1至4任意一项所述的方法,其特征在于,所述目标召回模型包括搜索语句分析网络和召回语句分析网络;
所述基于所述训练搜索语句、所述正向召回语句和所述反向召回语句集合对待训练的目标召回模型进行模型训练,得到已训练的目标召回模型,包括:
将所述训练搜索语句和当前召回语句分别输入所述搜索语句分析网络和所述召回语句分析网络,得到搜索训练向量和召回训练向量;
基于搜索训练向量和正向召回语句对应的召回训练向量计算正向相似度;
基于搜索训练向量和所述反向召回语句集合中各个反向召回语句对应的召回训练向量计算各个反向相似度;
基于正向相似度和各个反向相似度计算训练损失,基于所述训练损失调整所述目标召回模型的模型参数,直至满足收敛条件,得到所述已训练的目标召回模型。
6.根据权利要求5所述的方法,其特征在于,所述将所述训练搜索语句和当前召回语句分别输入所述搜索语句分析网络和所述召回语句分析网络,得到搜索训练向量和召回训练向量,包括:
获取当前目标语句对应的词向量序列,将所述词向量序列输入对应的当前语句分析网络;所述当前目标语句为所述训练搜索语句或所述当前召回语句;
基于当前语句分析网络,对所述词向量序列进行特征提取,得到所述词向量序列中各个词向量对应的初始特征向量;
对各个初始特征向量进行注意力分配,得到各个词向量对应的注意力权重;
基于注意力权重对各个初始特征向量进行特征融合,得到所述当前目标语句对应的目标特征向量;
基于所述目标特征向量得到所述当前目标语句对应的当前训练向量。
7.根据权利要求6所述的方法,其特征在于,所述基于当前语句分析网络,对所述词向量序列进行特征提取,得到所述词向量序列中各个词向量对应的初始特征向量,包括:
对所述词向量序列进行正向特征提取,得到所述词向量序列中各个词向量对应的正向特征向量;
对所述词向量序列进行反向特征提取,得到所述词向量序列中各个词向量对应的反向特征向量;
将同一词向量对应的正向特征向量和反向特征向量进行拼接,得到各个词向量对应的初始特征向量。
8.根据权利要求5所述的方法,其特征在于,所述基于正向相似度和各个反向相似度计算训练损失,包括:
获取平滑因子;
基于所述平滑因子对所述正向相似度和各个反向相似度进行平滑处理,得到正向平滑相似度和各个反向平滑相似度;
基于各个反向平滑相似度计算相似度统计值,基于所述相似度统计值和所述正向平滑相似度得到所述训练损失。
9.一种搜索召回方法,其特征在于,所述方法包括:
获取目标搜索语句和候选召回语句集合;
基于已训练的目标召回模型,从所述候选召回语句集合中确定所述目标搜索语句对应的参考召回语句;
所述已训练的目标召回模型是基于训练搜索语句、对应的正向召回语句和反向召回语句集合对待训练的目标召回模型进行模型训练得到的,所述正向召回语句是所述训练搜索语句对应的目标召回语句集合中目标操作状态对应的召回语句,所述反向召回语句集合包括第一反向召回语句、第二反向召回语句和第三反向召回语句,所述第一反向召回语句是从候选召回语句集合中随机选取的,所述第二反向召回语句是所述目标召回语句集合中非目标操作状态对应的召回语句,所述第三反向召回语句对应的第一位置和所述正向召回语句对应的第二位置之间的位置差异满足预设条件。
10.根据权利要求9所述的方法,其特征在于,所述基于已训练的目标召回模型,从所述候选召回语句集合中确定所述目标搜索语句对应的参考召回语句,包括:
基于已训练的目标召回模型和所述候选召回语句集合生成召回索引;
将所述目标搜索语句输入所述已训练的目标召回模型,得到所述目标搜索语句对应的目标搜索向量;
基于所述目标搜索向量从所述召回索引中进行语句召回,基于语句召回结果得到所述目标搜索语句对应的参考召回语句。
11.根据权利要求10所述的方法,其特征在于,所述基于已训练的目标召回模型和所述候选召回语句集合生成召回索引,包括:
将所述候选召回语句集合中的候选召回语句输入所述已训练的目标召回模型,得到各个候选召回语句对应的候选召回向量;
对各个候选召回向量进行向量聚类,得到多个向量聚类簇;各个向量聚类簇存在对应的聚类中心向量;
基于各个向量聚类簇得到所述召回索引。
12.根据权利要求11所述的方法,其特征在于,所述基于所述目标搜索向量从所述召回索引中进行语句召回,基于语句召回结果得到所述目标搜索语句对应的参考召回语句,包括:
基于所述目标搜索向量和各个聚类中心向量之间的向量距离,从各个向量聚类簇中确定目标聚类簇;
基于所述目标搜索向量和所述目标聚类簇内各个候选召回向量之间的向量距离,从所述目标聚类簇对应的各个候选召回向量中确定参考召回向量;
将所述参考召回向量对应的候选召回语句作为所述参考召回语句。
13.根据权利要求11所述的方法,其特征在于,所述基于各个向量聚类簇得到所述召回索引,包括:
在当前向量聚类簇中,对各个当前候选召回向量进行向量切分,得到各个当前候选召回向量分别对应的多个有序排列的召回子向量;
对排序信息一致的多个召回子向量进行向量聚类,得到各个排序信息分别对应的多个子向量聚类簇;各个子向量聚类簇存在对应的子聚类中心向量;
基于各个子聚类中心向量对各个当前候选召回向量进行向量转换,得到各个当前候选召回向量对应的中间召回向量;所述中间召回向量包括当前候选召回向量对应的各个子聚类中心向量的向量标识;
基于各个向量聚类簇、对应的各个子向量聚类簇和中间召回向量得到所述召回索引。
14.根据权利要求13所述的方法,其特征在于,所述基于所述目标搜索向量从所述召回索引中进行语句召回,基于语句召回结果得到所述目标搜索语句对应的参考召回语句,包括:
基于所述目标搜索向量和各个聚类中心向量之间的向量距离,从各个向量聚类簇中确定目标聚类簇;
对所述目标搜索向量进行向量切分,得到对应的多个有序排列的搜索子向量;
基于排序信息一致的搜索子向量和所述目标聚类簇对应的各个子聚类中心向量之间的向量距离,得到所述目标搜索向量对应的向量距离参考信息;
基于所述目标聚类簇对应的中间召回向量和所述向量距离参考信息,确定所述目标搜索向量和所述目标聚类簇内各个候选召回向量之间的目标向量距离;
基于所述目标向量距离,从所述目标聚类簇对应的各个候选召回向量中确定参考召回向量;
将所述参考召回向量对应的候选召回语句作为所述参考召回语句。
15.根据权利要求9至14中任意一项所述的方法,其特征在于,所述候选召回语句集合中的候选召回语句为位置兴趣点,所述获取目标搜索语句,包括:
获取地图搜索请求,所述地图搜索请求携带所述目标搜索语句;
所述方法还包括:
基于所述参考召回语句对应的位置兴趣点明细信息生成地图搜索结果;所述位置兴趣点明细信息包括位置兴趣点对应的属性信息和导航信息;
展示所述地图搜索结果。
16.一种召回模型训练装置,其特征在于,所述装置包括:
正向数据获取模块,用于获取训练搜索语句和对应的正向召回语句;所述正向召回语句是所述训练搜索语句对应的目标召回语句集合中目标操作状态对应的召回语句;
反向数据获取模块,用于获取所述训练搜索语句对应的反向召回语句集合;所述反向召回语句集合包括第一反向召回语句、第二反向召回语句和第三反向召回语句,所述第一反向召回语句是从候选召回语句集合中随机选取的,所述第二反向召回语句是所述目标召回语句集合中非目标操作状态对应的召回语句,所述第三反向召回语句对应的第一位置和所述正向召回语句对应的第二位置之间的位置差异满足预设条件;
模型训练模块,用于基于所述训练搜索语句、所述正向召回语句和所述反向召回语句集合对待训练的目标召回模型进行模型训练,得到已训练的目标召回模型;所述已训练的目标召回模型用于对目标搜索语句进行搜索召回。
17.一种搜索召回装置,其特征在于,所述装置包括:
数据获取模块,用于获取目标搜索语句和候选召回语句集合;
数据召回模块,用于基于已训练的目标召回模型,从所述候选召回语句集合中确定所述目标搜索语句对应的参考召回语句;
所述已训练的目标召回模型是基于训练搜索语句、对应的正向召回语句和反向召回语句集合对待训练的目标召回模型进行模型训练得到的,所述正向召回语句是所述训练搜索语句对应的目标召回语句集合中目标操作状态对应的召回语句,所述反向召回语句集合包括第一反向召回语句、第二反向召回语句和第三反向召回语句,所述第一反向召回语句是从候选召回语句集合中随机选取的,所述第二反向召回语句是所述目标召回语句集合中非目标操作状态对应的召回语句,所述第三反向召回语句对应的第一位置和所述正向召回语句对应的第二位置之间的位置差异满足预设条件。
18.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8或9至15中任一项所述的方法的步骤。
19.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8或9至15中任一项所述的方法的步骤。
20.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8或9至15中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111053840.0A CN113505204B (zh) | 2021-09-09 | 2021-09-09 | 召回模型训练方法、搜索召回方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111053840.0A CN113505204B (zh) | 2021-09-09 | 2021-09-09 | 召回模型训练方法、搜索召回方法、装置和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113505204A true CN113505204A (zh) | 2021-10-15 |
CN113505204B CN113505204B (zh) | 2021-12-07 |
Family
ID=78017045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111053840.0A Active CN113505204B (zh) | 2021-09-09 | 2021-09-09 | 召回模型训练方法、搜索召回方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113505204B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114064820A (zh) * | 2021-11-29 | 2022-02-18 | 上证所信息网络有限公司 | 一种基于混合架构的表格语义查询粗排方法 |
CN114372205A (zh) * | 2022-03-22 | 2022-04-19 | 腾讯科技(深圳)有限公司 | 特征量化模型的训练方法、装置以及设备 |
CN115017425A (zh) * | 2022-07-19 | 2022-09-06 | 深圳依时货拉拉科技有限公司 | 地点检索方法、装置、电子设备以及存储介质 |
CN115292467A (zh) * | 2022-08-10 | 2022-11-04 | 北京百度网讯科技有限公司 | 信息处理与模型训练方法、装置、设备、介质及程序产品 |
CN115563394A (zh) * | 2022-11-24 | 2023-01-03 | 腾讯科技(深圳)有限公司 | 搜索召回方法、召回模型训练方法、装置和计算机设备 |
CN117725324A (zh) * | 2024-02-08 | 2024-03-19 | 腾讯科技(深圳)有限公司 | 地图搜索方法及装置、电子设备、存储介质、程序产品 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104615767A (zh) * | 2015-02-15 | 2015-05-13 | 百度在线网络技术(北京)有限公司 | 搜索排序模型的训练方法、搜索处理方法及装置 |
EP2955920A1 (en) * | 2014-06-13 | 2015-12-16 | Industrial Technology Research Institute | Method and system for encoding and decoding, encoder and decoder |
CN107066586A (zh) * | 2017-04-17 | 2017-08-18 | 清华大学深圳研究生院 | 鞋模型检索管理方法和系统 |
CN107491518A (zh) * | 2017-08-15 | 2017-12-19 | 北京百度网讯科技有限公司 | 一种搜索召回方法和装置、服务器、存储介质 |
CN110781305A (zh) * | 2019-10-30 | 2020-02-11 | 北京小米智能科技有限公司 | 基于分类模型的文本分类方法及装置,以及模型训练方法 |
CN111666292A (zh) * | 2020-04-24 | 2020-09-15 | 百度在线网络技术(北京)有限公司 | 用于检索地理位置的相似度模型建立方法和装置 |
US20200372350A1 (en) * | 2019-05-22 | 2020-11-26 | Electronics And Telecommunications Research Institute | Method of training image deep learning model and device thereof |
US20210049224A1 (en) * | 2018-06-14 | 2021-02-18 | Beijing Didi Infinity Technology And Development Co., Ltd. | Systems and methods for on-demand services |
CN113343692A (zh) * | 2021-07-15 | 2021-09-03 | 杭州网易云音乐科技有限公司 | 搜索意图的识别方法、模型训练方法、装置、介质及设备 |
-
2021
- 2021-09-09 CN CN202111053840.0A patent/CN113505204B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2955920A1 (en) * | 2014-06-13 | 2015-12-16 | Industrial Technology Research Institute | Method and system for encoding and decoding, encoder and decoder |
CN104615767A (zh) * | 2015-02-15 | 2015-05-13 | 百度在线网络技术(北京)有限公司 | 搜索排序模型的训练方法、搜索处理方法及装置 |
CN107066586A (zh) * | 2017-04-17 | 2017-08-18 | 清华大学深圳研究生院 | 鞋模型检索管理方法和系统 |
CN107491518A (zh) * | 2017-08-15 | 2017-12-19 | 北京百度网讯科技有限公司 | 一种搜索召回方法和装置、服务器、存储介质 |
US20210049224A1 (en) * | 2018-06-14 | 2021-02-18 | Beijing Didi Infinity Technology And Development Co., Ltd. | Systems and methods for on-demand services |
US20200372350A1 (en) * | 2019-05-22 | 2020-11-26 | Electronics And Telecommunications Research Institute | Method of training image deep learning model and device thereof |
CN110781305A (zh) * | 2019-10-30 | 2020-02-11 | 北京小米智能科技有限公司 | 基于分类模型的文本分类方法及装置,以及模型训练方法 |
CN111666292A (zh) * | 2020-04-24 | 2020-09-15 | 百度在线网络技术(北京)有限公司 | 用于检索地理位置的相似度模型建立方法和装置 |
KR20210087099A (ko) * | 2020-04-24 | 2021-07-09 | 바이두 온라인 네트웍 테크놀러지 (베이징) 캄파니 리미티드 | 지리적 위치를 검색하기 위한 유사도 모델 구축 방법, 장치, 전자 기기, 저장 매체 및 컴퓨터 프로그램 제품 |
CN113343692A (zh) * | 2021-07-15 | 2021-09-03 | 杭州网易云音乐科技有限公司 | 搜索意图的识别方法、模型训练方法、装置、介质及设备 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114064820A (zh) * | 2021-11-29 | 2022-02-18 | 上证所信息网络有限公司 | 一种基于混合架构的表格语义查询粗排方法 |
CN114064820B (zh) * | 2021-11-29 | 2023-11-24 | 上证所信息网络有限公司 | 一种基于混合架构的表格语义查询粗排方法 |
CN114372205A (zh) * | 2022-03-22 | 2022-04-19 | 腾讯科技(深圳)有限公司 | 特征量化模型的训练方法、装置以及设备 |
CN114372205B (zh) * | 2022-03-22 | 2022-06-10 | 腾讯科技(深圳)有限公司 | 特征量化模型的训练方法、装置以及设备 |
CN115017425A (zh) * | 2022-07-19 | 2022-09-06 | 深圳依时货拉拉科技有限公司 | 地点检索方法、装置、电子设备以及存储介质 |
CN115017425B (zh) * | 2022-07-19 | 2022-11-04 | 深圳依时货拉拉科技有限公司 | 地点检索方法、装置、电子设备以及存储介质 |
CN115292467A (zh) * | 2022-08-10 | 2022-11-04 | 北京百度网讯科技有限公司 | 信息处理与模型训练方法、装置、设备、介质及程序产品 |
CN115292467B (zh) * | 2022-08-10 | 2023-10-27 | 北京百度网讯科技有限公司 | 信息处理与模型训练方法、装置、设备、介质及程序产品 |
CN115563394A (zh) * | 2022-11-24 | 2023-01-03 | 腾讯科技(深圳)有限公司 | 搜索召回方法、召回模型训练方法、装置和计算机设备 |
CN115563394B (zh) * | 2022-11-24 | 2023-03-28 | 腾讯科技(深圳)有限公司 | 搜索召回方法、召回模型训练方法、装置和计算机设备 |
CN117725324A (zh) * | 2024-02-08 | 2024-03-19 | 腾讯科技(深圳)有限公司 | 地图搜索方法及装置、电子设备、存储介质、程序产品 |
CN117725324B (zh) * | 2024-02-08 | 2024-05-24 | 腾讯科技(深圳)有限公司 | 地图搜索方法及装置、电子设备、存储介质、程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN113505204B (zh) | 2021-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113505204B (zh) | 召回模型训练方法、搜索召回方法、装置和计算机设备 | |
CN109376222B (zh) | 问答匹配度计算方法、问答自动匹配方法及装置 | |
CN111488426A (zh) | 一种查询意图确定方法、装置及处理设备 | |
Lei et al. | Patent analytics based on feature vector space model: A case of IoT | |
CN111046275B (zh) | 基于人工智能的用户标签确定方法及装置、存储介质 | |
CN108875074A (zh) | 基于交叉注意力神经网络的答案选择方法、装置和电子设备 | |
CN113342958B (zh) | 问答匹配方法、文本匹配模型的训练方法和相关设备 | |
CN108073576A (zh) | 智能搜索方法、搜索装置以及搜索引擎系统 | |
CN111666376B (zh) | 一种基于段落边界扫描预测与词移距离聚类匹配的答案生成方法及装置 | |
Zhong et al. | Design of a personalized recommendation system for learning resources based on collaborative filtering | |
CN118069812B (zh) | 一种基于大模型的导览方法 | |
CN114372532B (zh) | 标签标注质量的确定方法、装置、设备、介质及产品 | |
CN116737922A (zh) | 一种游客在线评论细粒度情感分析方法和系统 | |
CN116662583B (zh) | 一种文本生成方法、地点检索方法及相关装置 | |
Fan et al. | DuMapper: Towards Automatic Verification of Large-Scale POIs with Street Views at Baidu Maps | |
CN114595693A (zh) | 一种基于深度学习的文本情感分析方法 | |
CN112330387A (zh) | 一种应用于看房软件的虚拟经纪人 | |
CN117216617A (zh) | 文本分类模型训练方法、装置、计算机设备和存储介质 | |
CN116975403A (zh) | 内容检索模型及内容检索处理方法、装置和计算机设备 | |
CN114048395B (zh) | 基于时间感知与关键信息抽取的用户转发预测方法和系统 | |
CN115269961A (zh) | 内容搜索方法以及相关设备 | |
CN115129863A (zh) | 意图识别方法、装置、设备、存储介质和计算机程序产品 | |
CN114329064A (zh) | 视频处理方法、装置、计算机设备及存储介质 | |
Garg et al. | User profile matching and identification using TLBO and clustering approach over social networks | |
Zhang et al. | Confidence-based dynamic cross-modal memory network for image aesthetic assessment |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40053589 Country of ref document: HK |