CN110941754B - 基于增强学习生成向量最近邻搜索策略 - Google Patents
基于增强学习生成向量最近邻搜索策略 Download PDFInfo
- Publication number
- CN110941754B CN110941754B CN201811109988.XA CN201811109988A CN110941754B CN 110941754 B CN110941754 B CN 110941754B CN 201811109988 A CN201811109988 A CN 201811109988A CN 110941754 B CN110941754 B CN 110941754B
- Authority
- CN
- China
- Prior art keywords
- vector
- action
- search
- state
- preset
- 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
- 239000013598 vector Substances 0.000 title claims abstract description 522
- 230000002787 reinforcement Effects 0.000 title abstract description 16
- 230000009471 action Effects 0.000 claims abstract description 376
- 238000013507 mapping Methods 0.000 claims abstract description 105
- 238000004364 calculation method Methods 0.000 claims abstract description 85
- 238000000034 method Methods 0.000 claims description 84
- 238000012549 training Methods 0.000 claims description 73
- 238000003066 decision tree Methods 0.000 claims description 44
- 238000013528 artificial neural network Methods 0.000 claims description 13
- 238000005516 engineering process Methods 0.000 abstract description 17
- 230000006399 behavior Effects 0.000 abstract description 7
- 230000008569 process Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 19
- 238000012545 processing Methods 0.000 description 19
- 238000004891 communication Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000010845 search algorithm Methods 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000000969 carrier Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- 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
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本文公开的基于增强学习生成向量最近邻搜索策略的技术方案,将向量近似匹配搜索技术应用到搜索引擎中,通过增强学习技术对搜索引擎进行训练,以得到计算状态与行为动作的映射关系。搜索引擎可利用该映射关系为查询内容自动生成检索策略。
Description
背景技术
随着网络技术的发展,搜索引擎的功能越来越强大,搜索的内容也越来越丰富。搜索引擎也为许多应用程序提供信息,是许多应用程序所必须的服务。在信息高速发展的时代,存在海量的网页文档、图片等信息,并且网页文档、图片的数量也在高速地增加。与此同时,用户对于信息的需求在不断的增加。如何能够实现更加快速、高效、准确地把握用户意图的检索服务是当前搜索引擎技术始终面临的挑战。
发明内容
提供本发明实施例内容是为了以精简的形式介绍将在以下详细描述中进一步描述的一些概念。本发明内容并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
公开的基于增强学习生成向量最近邻搜索策略的技术方案,将向量近似匹配搜索技术应用到搜索引擎中,通过增强学习技术对搜索引擎进行训练,以得到计算状态与行为动作的映射关系。搜索引擎可利用该映射关系为查询内容自动生成检索策略。
上述说明仅是本公开技术方案的概述,为了能够更清楚了解本公开的技术手段,而可依照说明书的内容予以实施,并且为了让本公开的上述和其它目的、特征和优点能够更明显易懂,以下特举本公开的具体实施方式。
附图说明
图1为本发明实施例的信息检索装置之一的应用示例框图;
图2为本发明实施例的空间划分树索引的结构示意图;
图3为本发明实施例的邻近图索引的结构示意图;
图4为本发明实施例的空间划分树索引和邻近图索引的联合结构的示意图;
图5为描绘本文的信息检索方法的流程示意图;
图6为描绘在预设的向量数据库中执行向量近似匹配搜索的流程示意图;
图7为本发明实施例的信息检索模型的训练装置之一的应用示例框图;
图8为描绘本文的信息检索模型的训练方法的流程示意图;
图9为描绘训练集中每个查询向量在信息检索模型中执行向量近似匹配搜索的流程示意图;
图10为描绘训练集中每个查询向量在信息检索模型中执行向量近似匹配搜索的流程示意图;
图11为示例性的电子设备的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本文中,术语“技术”可以指代例如(一个或多个)系统、(一个或多个)方法、计算机可读指令、(一个或多个)模块、算法、硬件逻辑(例如,现场可编程门阵列(FPGA))、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)和/或上述上下文以及在本文档通篇中所允许的(一项或多项)其它技术。
概览
本文涉及基于增强学习生成向量最近邻搜索策略的相关技术。
搜索引擎技术已经被广泛应用在各个行业中,除了一般的网页访问方式的使用搜索引擎以外,搜索引擎也关联到各类APP(应用程序)中,为用户提供各种信息搜索服务。
用户向搜索引擎发出查询请求,搜索引擎根据查询请求中包含的查询内容在已经存储的网页文档、图片等信息中进行搜索,获取与用户的查询内容匹配的信息,并返回给用户。搜索引擎不仅只是对网页文档进行检索,也可以针对其他类型的文档(例如消息文档、数据文档)的进行检索的场景。在本文中,主要以网页文档为例来进行说明。
目前的文档检索大多是基于符号匹配的方式来完成,在网络搜索引擎中,较为常见的模式是:基于关键字的倒排索引的符号匹配方法来获取针对某一查询内容的相关文档。目前的基于符号匹配的检索方式,无法很好地理解用户意图。虽然,在一些搜索引擎中,会对输入的原始查询进行一些变化,然后再进行检索,从而提高召回率,但是这种变化也是非常有限的。
本文提出的基于向量最近邻搜索的文档查询技术中,将搜索引擎中的文档事先转化为语义向量形式的文档向量,将用户输入的查询内容也转化为语义向量形式的查询向量,然后基于向量近似匹配搜索,在向量数据库(包含多个文档转化的文档向量)中,寻找与查询向量近似的文档向量(即,两向量间的内积较小),最后,再根据找到的文档向量获取到对应的文档,作为查询结果返回给用户。
其中,上述的向量近似匹配搜索可以具体采用近似最近邻搜索(ANN,approximatenearest neighbor search)技术。由于文档和查询都转化为了语义向量的形式,根据查询向量与文档向量之间的相似度来确定召回的文档,这种方式突破了符号匹配的检索方式的限制,能够更好地理解用户的意图。
向量近似匹配搜索的过程会包含一系列的检索动作,其整个过程可视为一个动作序列。为了得到较好的检索结果,需要设计合理的检索动作序列。在本文的信息检索过程中,在每一个检索动作之前,将根据当前状态来确认下一步进行怎样的检索动作,即,根据环境的当前状态来从预设的动作集中选取适当的检索动作。
具体地,可根据状态与动作的映射关系,从而基于当前状态从动作集中确认出需要执行的动作。在执行完该动作后,环境将进入一个新的状态。此时,可再根据状态与动作的映射关系,基于新的状态从动作集中确认出而后需要执行的动作。以此类推,直至满足预设的截止条件,例如,根据状态与动作的映射关系,与当前环境状态对应的动作为停止搜索。
此外,本文还提出了通过增强学习对搜索引擎进行训练的技术。
增强学习(Reinforcement Learning)技术的目的是构造一个控制策略,使得执行主体的行为性能达到最大。执行主体监测环境的一些信号,并根据这些信号获知当前环境的状态。执行主体通过学习改进自身的性能并选择行为,从而产生群体行为的选择,个体行为选择和群体行为选择使得执行主体作出决策选择某一动作,进而影响环境。
在本文提出的训练方案中,可预先设置有训练集数据。在训练集中,包含大量的查询向量以及与每个查询向量相对应的检索结果候选向量。首先将查询向量输入至待训练的搜索引擎中。如上所述,每个查询向量在搜索引擎中均需经历一系列的搜索动作,才会最终得到其搜索结果。那么对于训练集中的每个查询向量,当环境处于某个状态时,其后还将经历一系列的动作,并最终得到搜索结果。对此,可计算该状态后执行不同动作最终所得到的分值(Value)。基于增强学习(Reinforcement Learning)的思想,可利用不同查询向量的分值来训练状态与动作的映射关系。例如,可采用基于分值的(value-based)方式或策略梯度(policy gradient)方式进行训练。
例如,当采用value-based方式进行训练时,当所有查询向量均执行完毕后,可统计出该状态后执行不同动作最终所得到的平均分值,从而可选出平均分值最高的动作作为与该状态相对应的动作,以形成状态与动作之间的映射关系。
下面将详细介绍上述的基于增强学习生成向量最近邻搜索策略技术方案的具体示例。
如图1所示,其为本发明实施例的信息检索装置之一的应用示例框图100。信息检索装置101可以被实现为或者设置于互联网中的服务器,该服务器可以通过一个或多个计算机系统中实现(分布式服务器),也可以实现为基于云的服务器,这些服务器可以通过互联网与用户终端连接,接收用户终端输入的查询请求,经过检索处理装置处理后,生成查询结果返回给用户终端。这里所说的用户终端可以是通过移动网络或者有线网络与上述的服务器通信连接的笔记本电脑或者台式计算机,可以是小型便携式(或移动)式电子装置(例如,平板电脑、智能手机、个人数据助理(PDA)、媒体播放器装置、无线网络观看装置、个人头戴装置、专用装置或包括以上功能中的任何一个的混合装置)。
此外,图中的信息检索装置101还可以被实现为或者设置于小型便携式(或移动)式电子装置(例如,平板电脑、智能手机、个人数据助理(PDA)、媒体播放器装置、无线网络观看装置、个人头戴装置、专用装置或包括以上功能中的任何一个的混合装置)。信息检索装置101还可以被实现为或者设置于笔记本电脑或者台式计算机。
作为一种应用场景的示例,图1所示的信息检索装置101设置于网络中的服务器102中,该服务器102通过互联网103与用户终端104通信连接,为用户提供检索服务。该信息检索装置101包括向量生成模块105、向量搜索模块106、结果获取模块107。此外,在服务器102中还设置有向量数据库108,以存储用于检索的文档向量,向量数据库108也可以设置于服务器102外部,服务器102通过通信网络访问向量数据库108。向量数据库108中存储的向量构成了本文进行向量搜索的向量空间。
向量生成模块105
向量生成模块105,用于根据查询内容生成查询向量。用户可在用户终端104输入需要查询的内容。该内容可通过互联网103传输至服务器102,随后,由服务器102中的信息检索装置101的向量生成模块105处理,以将该内容向量化。
随着向量化技术的不断发展,可以将各类文档转化为向量,从而为基于向量的检索提供了技术基础。向量化的好处在于,可以通过多个维度的特征元素来表示文档,而不仅仅是文档本身的内容,从而为能够更加准确和灵活地进行向量间的相似性比对。对于向量之间距离能够很好地体现出向量所对应的文档之间的相似度,相比于传统的基于符号匹配的检索方式而言,具有更大的灵活性和准确度。这里所说的向量之间的距离可以是欧式距离、余弦近似度等。另外,需要说明的是,在本发明实施例中,文档的概念包含了文本文档、网页文档、图像、数据、消息等各种能够向量化并且可以作为检索对象的信息或数据单元。
向量搜索模块106
向量搜索模块106,用于在预设的向量数据库108中执行向量近似匹配搜索,以获取与查询向量最接近的候选向量。向量近似匹配搜索具体可以采用近似最近邻搜索(ANN,approximate nearest neighbor search)来完成。
在向量数据库108中可预先存储有用于检索的文档向量,通过向量近似匹配搜索,可在其中搜索到与查询向量最接近的候选向量。在向量搜索模块106执行向量近似匹配搜索时,可循环执行以下步骤,直至满足预设的截止条件。
首先,向量搜索模块106确认当前计算状态。当前计算状态可包括哪些内容,将在下文进行详细描述。
随后,向量搜索模块106根据预设的状态动作映射关系,基于上述已确认的当前计算状态,从预设的动作集中确认待执行的动作。预设的状态动作映射关系反映了环境的状态(即,计算状态)与需要执行的动作(即,搜索动作)之间的对应关系。也就是说,状态动作映射关系记录了状态与动作的对应关系,当环境处于某种状态时,下一步该执行何种动作,将可根据该映射关系得出。该状态动作映射关系可以是状态与动作的映射表格,或者也可以是反映其二者映射关系的神经网络,只要能够根据环境的状态得到待执行的动作即可。
如上所述,向量近似匹配搜索具体可以采用近似最近邻搜索(ANN,approximatenearest neighbor search)来完成。下面介绍一下利用空间划分树(Spatial PartitionTrees)和基于邻近图(Neighborhood Graph)相结合来构建的近似最近邻搜索算法,这种搜索算法能够有效提供向量搜索的效率。其中,空间划分树可以为决策树(decision tree),例如KD树(KD-tree)或BK树(BK-tree)。
这种向量搜索算法以空间划分树和邻近图的结构来对向量空间中的向量建立索引。其中,以空间划分树形式建立的索引称作空间划分树索引,以邻近图形式建立的索引称作邻近图索引。
空间划分树索引
空间划分树索引是对向量空间中的向量进行的粗粒度划分。空间划分树索引具体方式可以是:将向量空间中的向量进行聚类,形成多个子向量空间,空间划分树索引的每个叶子节点对应一个子向量空间。每个叶子节点中可以存储有对应子向量空间的中心向量或者中心向量的向量标识。如果空间划分树索引是多层的树形结构,则每个中间节点也可以对应一个子向量空间,作为父节点的中间节点对应的子向量空间可以包括作为子节点的中间节点或者叶子节点对应的子向量空间,中间节点中也可以存储有与其对应的子向量空间的中心向量或者中心向量的向量标识。
基于上述的空间划分树索引的结构,在进行搜索的过程中,可以将查询向量逐层与中间节点以及叶子节点对应的中心向量进行比较,计算查询向量与中心向量的距离,然后根据预设的搜索条件,逐层向下,直至定位到一个或多个叶子节点对应子向量空间,并且也获取到了该一个或多个叶子节点中存储的中心向量。
空间划分树索引的结构可以如图2所示,图2为本发明实施例的空间划分树索引的结构示意图200。空间划分树索引中的各个节点分别对应于不同的向量空间,其中,根节点201可以对应于整个向量空间,根节点以外的节点对应于向量空间中的子向量空间。空间划分树索引可以只包括根节点201和叶子节点203,也可以包括根节点201、至少一层的中间节点202以及叶子节点203。图2中所示的结构为包括多层中间节点的情形,虽然图2中仅示出三层节点,但是本领域技术人员能够理解,节点的层数可以根据实际情况而增加,每层节点的数量也可以根据实际情况而增加。各个中间节点202和叶子节点203分别对应于不同的子向量空间,作为父节点的中间节点202对应的子向量空间包括作为子节点的中间节点202或者叶子节点203对应的子向量空间。在中间节点202和叶子节点203中存储有与其对应的子向量空间的中心向量204或者中心向量204的向量标识。在进行基于空间划分树索引的向量检索的过程中,逐层计算查询向量与各层的中间节点202对应的子向量空间的中心向量204之间的向量距离,逐层缩小子向量空间的范围,最终到达叶子节点203,然后再根据查询向量与叶子节点203对应的中心向量204之间的向量距离,确定最接近的一个或多个叶子节点203。
上述的空间划分树索引是通过对向量空间中的向量进行聚类而产生的,通过对向量的聚类处理,能够生成多个子向量空间,并且能够获取到各个子向量空间的中心向量,然后将中心向量或者中心向量的向量标识存储于空间划分树索引中。
邻近图索引
邻近图索引是以图的形式对向量空间中的向量建立的索引,其中,邻近图索引中的每个点,对应向量空间中的一个向量。在实际应用中,可以采用相关邻近图(RNG,Relative Neighborhood Graph)来建立邻近图索引。相关邻近图的特点在于:通过在任何不存在离两个点p和q的距离比他们彼此之间的距离更近的第三个点r的情况下利用边来连接这两个点p和q,从而定义在欧式平面上的一组点上,基于这个样的原则,对整个向量空间中的向量建立索引,从而形成邻近图索引。
邻近图索引中的各个点的连接关系(边的关系),体现了各个点对应的向量的距离关系,对于任意一点来说,与其具有边的连接关系的点称作邻近点,这些邻近点对应的向量就称作对于上述任意一点对应的向量的邻近向量。邻近图索引中的每个点中,存储有该点对应的向量的向量标识以及与其邻近的邻近点对应的向量的向量标识,作为一种可选的方式,在存储资源足够充足的情况下,也可以在邻近图索引的每个点中直接存储该点对应的向量和/或邻近点对应的向量。
基于上述邻近图索引的结构,在进行搜索的过程中,可以以基于空间划分树索引进行搜索而获得的一个或多个中心向量的K个邻近向量作为种子,进行向量距离迭代计算,从而获得与查询向量最接近的一个或多个向量。
如图3所示,其为本发明实施例的邻近图索引的结构示意图300,图3中的每个点代表向量空间中的一个向量,任意两点之间的边代表两点间具有邻近关系。在邻近图索中的每个点中可以存储有该点对应的向量的向量标识以及该点的邻近点对应邻近向量的向量标识,这样在确定了任意一个点后,就可以方便地获取到其邻近点的向量标识,从而进行后续的向量距离迭代计算。作为另一种可选方案,在存储资源较为充足的情况下,可以在每个点中存储其邻近点的向量,这样在进行向量距离迭代计算时,就可以省去了通过向量标识再获取向量的过程,从而提高了向量距离迭代计算的效率。另外,图3中的邻近图索是基于整个向量空间中的向量而构建,其不受图2示出的空间划分树索引的限制。在存储形态上,可以将邻近图索和空间划分树索引进行分别存储。
基于邻近图索的向量检索主要是通过不断地对查询向量和子向量空间中的向量进行向量距离迭代计算来获取与查询向量最接近的一个或多个向量作为检索结果。各轮次的距离迭代计算会沿着邻近图索中的点的邻近关系来延展,并记录与查询向量最接近的一个或多个向量,随着距离迭代计算的进行,不断更新记录的最接近的向量,在达到预设轮次后,停止向量距离迭代计算,将记录结果作为检索结果输出。
上述的距离迭代计算需要在子向量空间中选择一些起始点作为种子来作为开始进行距离迭代计算的向量。在基于空间划分树索引的检索而确定了一个或多个叶子节点后,也就确定了执行基于邻近图索向量检索的子向量空间。在进行向量检索的过程中,可以使用上述叶子节点对应的中心向量来确定向量距离迭代计算的种子,具体可以上述的中心向量在邻近图索中对应的一个或多个邻近向量作为向量距离迭代计算的种子,也就是首轮向量迭代计算的起始点。
在进行向量距离迭代计算的过程中,可以维护一个优先队列,优先队列按照距离的大小存储子向量空间中参与计算的向量与查询向量的距离计算结果,每轮距离迭代计算结束后,选取与查询向量最近的一个或多个向量,并以该向量的预定数量的邻近向量(例如K个)作为下一轮距离迭代计算的目标。每轮距离迭代计算后,会动态调整优先队列,始终把与查询向量距离最近的向量排在最前面。
在基于邻近图索引的检索过程中,会针对基于空间划分树索引的检索而确定了一个或多个叶子节点对应的子向量空间,执行上述向量距离迭代计算,会生成针对每个子向量空间的与查询向量距离最接近的一个或多个向量,在此基础上,可以对上述的每个子向量空间中的与查询向量距离最接近的一个或多个向量进行综合排序,选择与查询向量距离最接近一个或多个第一向量作为检索结果输出。
联合索引的处理
在本发明实施例的基于空间划分树索引和邻近图索引相结合的搜索处理过程中,先基于空间划分树索引进行粗粒度定位,然后再基于邻近图索引进行精确搜索。由于空间划分树索引的数据量较少,能够将查询向量快速定位到具体的子向量空间中,实现粗粒度的查询。然后,再通过邻近图索引进行精确的向量搜索,具体可以基于邻近图索引多轮次的向量距离迭代计算,从获取到与查询向量最接近的一个或多个向量。
通过这样搜索方式,将空间划分树和邻近图的特点进行了有效地结合,能够明显提高搜索效率以及提高搜索结果的质量。一方面,相比于单纯依靠邻近图索引进行向量搜索的方式,空间划分树索引能够快速地将查询向量定位到适合的子向量空间中,从而避免了在整个邻近图索引中进行向量距离迭代计算;另一方面,邻近图索引也能够突破空间划分树索引的区域限制,在本发明实施例中,邻近图索引是针对整个向量空间中的向量而构建的,邻近图索引中各点的连接关系并不受限于空间划分树索引中叶子节点的设定范围,因此,在出现查询向量落在子空间交界处的边缘时,能够通过邻近图索引的结构,突破空间划分树索引的区域限制,从而找到更加优选的近似向量。
如图4所示,其为本发明实施例的空间划分树索引和邻近图索引的联合结构的示意图400。图4中,位于上部的树形结构为空间划分树索引401,空间划分树索引401包括了根节点201、中间节点202以及叶子节点203。位于下部的平面拓扑结构为邻近图索引402,邻近图索引402是由多个点构成的邻近图,对应于整个向量空间,为了体现出邻近图索引402与空间划分树索引401之间的关系,用椭圆形标识出了各个叶子节点203对应的子向量空间403,并用虚线将子向量空间403与叶子节点203进行了连接。
在本发明实施例中,先通过空间划分树索引401的进行粗粒度查询,从而实现快速的粗粒度的向量定位,在确定了一个或多个子向量空间403后,进行进一步的基于邻近图索引402的检索处理,在进行空间划分树索引401的检索的过程中,还能够获取到定位的子向量空间的中心向量,从而为后续的基于邻近图索引的检索处理提供种子。通过基于空间划分树索引401和邻近图索引402的结合应用,能够显著提高向量检索的效率。另外,上述的邻近图索引402的生成并不受空间划分树索引401的限制,在向量搜索模块106执行检索处理的过程中,不会受到空间划分树索引401对于子向量空间403的划分的影响,当查询向量落在子向量空间403的边缘处时,也能够通过邻近图索引402的结构突破该子向量空间403边界,将向量距离迭代计算延伸到其他子向量空间403中,从而找到与查询向量更加接近的向量。
关于内存(Memory)和硬盘在存储向量索引方面的应用
在实际应用中,还可以在上述的技术思想的基础上,合理地利用内存(Memory)和硬盘存储资源,进一步提高向量检索效率。上述的硬盘可以是传统的磁盘介质也可以是固态硬盘(SSD,Solid State Drives)的存储介质。
具体地,可以构建两种邻近图索引,为了便于表述,将这两种邻近图索引分别称作第一邻近图索引和第二邻近图索引。的第一邻近图索引可以只对应于向量空间中的部分向量,所说的部分向量可以是从整个向量空中筛选出来的高质量的向量,这些向量可以是比较典型或者说具有代表性的。第二邻近图索引对应于向量空间中的全部向量。这样就构建出了三层的索引结构,分别为空间划分树索引、第一邻近图索引以及第二邻近图索引。空间划分树索引是对向量空间中的向量进行的粗粒度划分,第一邻近图索引是对向量空间中的向量进行的进一步的粗粒度划分,两层的粗粒度划分是为了更加准确地将查询向量定位到基于全部向量而构建的第二邻近图索引的合适的位置,从而能够更加有效地进行基于邻近图索引的向量距离迭代计算。
基于上述的索引结构,空间划分树索引和第一邻近图索引由于只涉及向量空间中的部分向量,其所占用的存储空间较小,可以存储于内存中,而第二邻近图索引是基于向量空间中的全部向量而构建的,其数据量较大,因此,存储于硬盘中。在一些情况下,如果第一邻近索引中记录向量与查询向量匹配程度较好,则可以直接以第一邻近索引中记录向量作为检索结果进行输出。具体地,可以通过设置向量距离的阈值,来判断第一邻近索引中记录向量与查询向量的匹配程度,从而决定是否需要再进行基于第二邻近图索引的向量检索。
在上述技术方案中,存储于内存中的空间划分树索引和第一邻近图索引可以承担一部分的检索任务,从而减少了访问硬盘的次数。即使在需要访问硬盘进行基于第二邻近图索引的情况下,由于已经通过第一邻近图索引获取到了一个或多个第一向量,在进行基于第二邻近图索引的向量检索的时,可以直接以一个或多个第一向量作为种子,执行检索,从而高效地获取与查询向量最接近的一个或多个第二向量。
以上介绍了ANN算法的具体实现示例,在本文的示例中,以决策树(例如,KD树或BK树)算法与近邻图(NN Graph)算法相结合的ANN搜索算法作为示例进行说明,针对这样的搜索算法,预设的动作集可包括:
动作1:在决策树中搜索;
动作2:在近邻图中搜索;以及
动作3:结束搜索。
进一步地,当近邻图分别存储于计算机的内存和硬盘中时,预设的动作集可包括:
动作1:在决策树中搜索;
动作2-1:在存储于计算机内存中的近邻图中搜索;
动作2-2:在存储于计算机硬盘中的近邻图中搜索;以及
动作3:结束搜索。
在从预设的动作集中确认了待执行的动作后,向量搜索模块106执行该待执行的动作,并收集基于所执行的动作搜索到的候选向量。当执行了该动作之后,环境将进入下一个状态,此时向量搜索模块106可再次确认当前计算状态,从而循环上述过程,直至满足预设的截止条件。如上所述,预设的动作集即可包含结束搜索的动作(动作3),因此当环境达到一定状态时,根据预设的状态动作映射关系,即可结束搜索操作。此外,预设的截止条件还可以是对搜索到的候选向量进行评估,以满足预设的条件为止。或者,还可以结合考虑整个搜索过程所耗费时间或所执行搜索动作的个数。
上述当前计算状态可包括:向量间距的计算次数、在决策树中搜索的次数、所有当前候选向量与查询向量的平均间距和上次搜索是否对候选向量具有更新中的至少一个。可以理解,当前计算状态可以是上述列举的这些计算环境信号的组合。例如,状态A可以是:向量间距的计算次数为15、在决策树中搜索的次数为10、所有当前候选向量与查询向量的平均间距为0.2、上次搜索对候选向量具有更新;而状态B可以是:向量间距的计算次数为20、在决策树中搜索的次数为15、所有当前候选向量与查询向量的平均间距为0.15、上次搜索对候选向量具有更新。也就是说,只要状态所包含的一个参数不同,则视为两种不同的状态。由此,向量搜索模块106可根据环境的状态来确定执行何种搜索动作,以期搜索到质量更高的候选向量,并提高搜索效率。
结果获取模块107
结果获取模块107,用于获取与最接近的候选向量相对应的检索结果。基于搜索到的与查询向量最接近的候选向量(一个或多个),可获取到其相应的文档,以作为检索结果通过互联网103传输至用户终端104。
由此,可根据预设的状态动作映射关系,查找到与当前状态相对应的待执行动作,以进行执行,并循环往复此过程,从而能够为用户输入的任一查询内容自动生成搜索动作序列,以搜索相关的文档内容。
说明性过程
如图5所示,其为描绘本文的信息检索方法的流程示意图。该方法的处理过程包括:
S501:根据查询内容生成查询向量。
S502:在预设的向量数据库中执行向量近似匹配搜索,获取与查询向量最接近的候选向量。在预设的向量数据库中执行的向量近似匹配搜索可以为近似最近邻搜索。
S503:获取与最接近的候选向量相对应的搜索结果。
在上述步骤S502中执行向量近似匹配搜索时,可循环执行如图6所示的步骤,直至满足预设的截止条件。
如图6所示,其为描绘在预设的向量数据库中执行向量近似匹配搜索的流程示意图。
S601:确认当前计算状态。当前计算状态可包括:向量间距的计算次数、在决策树中搜索的次数、所有当前候选向量与查询向量的平均间距和上次搜索是否对候选向量具有更新中的至少一个。
S602:根据预设的状态动作映射关系,基于当前计算状态,从预设的动作集中确认待执行的动作。预设的状态动作映射关系可反映不同的计算状态与动作之间的对应关系。预设的状态动作映射关系可包括状态动作映射表格或神经网络。此外,预设的动作集可包括:在决策树中搜索、在近邻图中搜索以及结束搜索。或者,预设的动作集可包括:在决策树中搜索、在存储于计算机内存中的近邻图中搜索、在存储于计算机硬盘中的近邻图中搜索以及结束搜索。
S603:执行待执行的动作,并收集基于所执行的动作搜索到的候选向量。
基于增强学习的训练
如图7所示,其为本发明实施例的信息检索模型的训练装置之一的应用示例框图700。信息检索模型701的训练装置702可以被实现为或者设置于单机或者联网的服务器,该服务器可以通过一个或多个计算机系统中实现(分布式服务器),也可以实现为基于云的服务器。此外,训练装置702还可以被实现为或者设置于笔记本电脑或者台式计算机。
作为一种应用场景的示例,图7所示的信息检索模型701及其训练装置702均设置于服务器703中。该训练装置702包括训练集输入模块704、分值计算模块705和映射关系更新模块706。
训练集输入模块704
训练集输入模块704,用于将预设的训练集输入待训练的信息检索模型701中。在待训练的信息检索模型701中,可预设有初始的状态动作映射关系,其中每个状态与动作的映射关系可以是根据先验经验设置的或随机设置的。预设的训练集可包括多个查询向量和分别与这些查询向量相对应的检索结果候选向量。检索结果候选向量可用于检验训练过程中信息检索模型701所检索到的结果的质量,即搜索到的文档内容是否与查询内容匹配或接近。
分值计算模块705
分值计算模块705,用于计算训练集中每个查询向量在信息检索模型701中执行向量近似匹配搜索后的分值(Value)。如上所述,向量近似匹配搜索具体可以采用近似最近邻搜索(ANN,approximate nearest neighbor search)来完成。
具体地,在训练集中每个查询向量在信息检索模型701中执行向量近似匹配搜索时,分值计算模块705可用于循环执行以下步骤,直至满足预设的截止条件。
首先,分值计算模块705确认当前计算状态。如上所述,当前计算状态可包括:向量间距的计算次数、在决策树中搜索的次数、所有当前候选向量与查询向量的平均间距和上次搜索是否对候选向量具有更新中的至少一个。
随后,根据一个实施例,分值计算模块705可随机从预设的动作集中选取待执行的动作。如上所述,向量近似匹配搜索具体可以采用ANN搜索来完成。当ANN搜索采用决策树(例如,KD树或BK树)算法与近邻图(NN Graph)算法相结合时,预设的动作集可包括:
动作1:在决策树中搜索;
动作2:在近邻图中搜索;以及
动作3:结束搜索。
进一步地,当近邻图分别存储于计算机的内存和硬盘中时,预设的动作集可包括:
动作1:在决策树中搜索;
动作2-1:在存储于计算机内存中的近邻图中搜索;
动作2-2:在存储于计算机硬盘中的近邻图中搜索;以及
动作3:结束搜索。
根据另一实施例,对于环境的某些状态,可能已预先知晓何种搜索动作能够获得较高的分值,因此,尤其是在训练初期,可更多地依赖于这种先验经验来确定需要执行的动作。分值计算模块705可根据预设的概率选择根据预设的状态动作映射关系并基于当前计算状态从预设的动作集中选取待执行的动作,或选择随机从预设的动作集中选取待执行的动作。例如,在训练初期,为了更多地依赖于先验经验,可将概率设为较大的数值(例如,0.8)。当训练集中的一个查询向量在信息检索模型701中执行向量近似匹配搜索时,可先生成一个随机函数,根据该函数此时的数值0.8,确定该查询向量在此时有80%的可能性依据先验经验根据预设的状态动作映射关系并基于当前计算状态从预设的动作集中选取待执行的动作;而有20%的可能随机从预设的动作集中选取待执行的动作。这样能够保证在训练初期先验经验能够起到很好的作用,并防止偏差过大。
在选取了待执行的动作后,分值计算模块705执行该动作,并计算动作得分(Reward)。动作得分的具体计算方式将在下文中描述。并且,分值计算模块705可在每执行完一个搜索动作后,将动作得分累加,以得到与该查询向量相对应的分值(Value)。由此,对于训练集中的每个查询向量,都可以得到一个相应的分值。
映射关系更新模块706
映射关系更新模块706,用于对信息检索模型701中每种潜在状态,利用上述分值计算模块705计算出的分值更新状态动作映射关系。基于增强学习技术,可根据训练集中的查询向量在信息检索模型中执行向量近似匹配搜索后的分值,来更新模型中的状态动作映射关系。在增强学习技术中,有多种方式可实现以上目的。例如,可采用基于分值的(value-based)方式或策略梯度(policy gradient)方式。
例如,当采用基于分值的(value-based)方式进行训练时,映射关系更新模块706具体可用于从预设的动作集中确认训练集在执行向量近似匹配搜索时平均分值最高的动作。
例如,对于环境的某个状态S1,可选择动作集中三种可能的动作A1、A2和A3。假设训练集中在状态S1时选择了动作A1的查询向量最终的分值的平均值为M1,在状态S1时选择了动作A2的查询向量最终的分值的平均值为M2,在状态S1时选择了动作A3的查询向量最终的分值的平均值为M3,则映射关系更新模块706可选择M1、M2、M3中最大的数值所对应的动作作为与该状态S1相对应的待执行动作。
如上所述,潜在状态可包括:向量间距的计算次数、在决策树中搜索的次数、所有当前候选向量与查询向量的平均间距和上次搜索是否对候选向量具有更新中的至少一个。
如上所述,向量近似匹配搜索具体可以采用ANN搜索来完成。当ANN搜索采用决策树(例如,KD树或BK树)算法与近邻图(NN Graph)算法相结合时,预设的动作集可包括:
动作1:在决策树中搜索;
动作2:在近邻图中搜索;以及
动作3:结束搜索。
进一步地,当近邻图分别存储于计算机的内存和硬盘中时,预设的动作集可包括:
动作1:在决策树中搜索;
动作2-1:在存储于计算机内存中的近邻图中搜索;
动作2-2:在存储于计算机硬盘中的近邻图中搜索;以及
动作3:结束搜索。
随后,映射关系更新模块706还可用于根据与每种潜在状态对应的平均分值最高的动作,更新信息检索模型的状态动作映射关系。由此,可根据每个潜在状态所对应的具有最高平均分值的动作,从而更新信息检索模型701的状态动作映射关系。
如上所述,该状态动作映射关系可以是状态与动作的映射表格,或者也可以是反映其二者映射关系的神经网络,只要能够根据环境的状态得到待执行的动作即可。
可以理解,当采用基于分值的(value-based)方式进行训练时,映射关系更新模块706也可无需根据平均分值最高的动作去更新信息检索模型的状态动作映射关系,而是仅在状态动作映射关系中记录在每种潜在状态时执行不同动作每次得到的分值。这样,可在使用经过训练后的信息检索模型进行信息检索时,在执行检索的过程中再确认每次出现的当前状态所对应的平均分值最高的动作。
根据一个实施例,分值计算模块705在执行待执行的动作时,采用以下公式计算动作得分:
Reward=W1Quality–W2Complexity
其中,Reward表示动作得分,W1和W2是预设的系数,Quality表示搜索质量得分,Complexity表示搜索复杂度得分。
根据上述公式,当分值计算模块705执行了待执行的动作时,将根据该动作进行相应的搜索操作并得到相应的搜索候选向量。对于得到的搜索候选向量,可对其质量进行评价,以获得搜索质量得分Quality;对于所进行的搜索操作,可对其复杂度进行评价(例如,根据其所消耗的时间或进行的计算量),以获得搜索复杂度得分Complexity。因此,对于每执行一个动作,均可获得该动作相应的得分,并进行累加,以得到最终总得分Value。
根据一个实施例,分值计算模块705在确认当前计算状态时,可利用上一次执行待执行动作时得到的候选向量来进行确认。例如,上一次执行待执行动作时得到的候选向量会影响到所有当前候选向量与查询向量的平均间距以及上次搜索对候选向量是否具有更新,从而也会影响到当前计算状态。
根据一个实施例,分值计算模块705在执行待执行的动作并计算动作得分时,可在每执行多个待执行的动作后,再计算动作得分。由此,可加大动作得分的计算步长,从而使训练过程能够覆盖更大的向量空间。例如,可在每执行5个动作后,再计算动作得分。
说明性过程
如图8所示,其为描绘本文的信息检索模型的训练方法的流程示意图。该方法的处理过程包括:
S801:将预设的训练集输入待训练的信息检索模型中。信息检索模型可包括初始的状态动作映射关系,状态动作映射关系可反映不同的计算状态与动作之间的对应关系,训练集可包括多个查询向量和分别与查询向量相对应的检索结果候选向量。
S802:计算训练集中每个查询向量在信息检索模型中执行向量近似匹配搜索后的分值。在信息检索模型中执行的向量近似匹配搜索可以是近似最近邻搜索。
S803:对于信息检索模型中每种潜在状态,利用在S802中计算得到的分值更新状态动作映射关系。
根据一个实施例,S803可包括:从预设的动作集中确认所述训练集在执行向量近似匹配搜索时平均分值最高的动作。
预设的动作集可包括:在决策树中搜索、在近邻图中搜索以及结束搜索。或者,预设的动作集可包括:在决策树中搜索、在存储于计算机内存中的近邻图中搜索、在存储于计算机硬盘中的近邻图中搜索以及结束搜索。
潜在状态可包括:向量间距的计算次数、在决策树中搜索的次数、所有当前候选向量与查询向量的平均间距和上次搜索是否对所述候选向量具有更新中的至少一个。
进一步地,S803还可包括:根据与每种潜在状态对应的平均分值最高的动作,更新信息检索模型的状态动作映射关系。该状态动作映射关系可以是状态动作映射表格或神经网络。
根据一个实施例,在上述步骤S802中训练集中每个查询向量在信息检索模型中执行向量近似匹配搜索时,可循环执行如图9所示的步骤,直至满足预设的截止条件。
如图9所示,其为描绘训练集中每个查询向量在信息检索模型中执行向量近似匹配搜索的流程示意图。
S901:确认当前计算状态。
S902:随机从所述预设的动作集中选取待执行的动作。
S903:执行所述待执行的动作,并计算动作得分。
S904:将所述动作得分累加,以得到与所述查询向量相对应的分值。
根据另一实施例,在上述步骤S802中训练集中每个查询向量在信息检索模型中执行向量近似匹配搜索时,可循环执行如图10所示的步骤,直至满足预设的截止条件。
如图10所示,其为描绘训练集中每个查询向量在信息检索模型中执行向量近似匹配搜索的流程示意图。
S1001:确认当前计算状态。
S1002:根据预设的概率选择根据预设的状态动作映射关系并基于所述当前计算状态从所述预设的动作集中选取待执行的动作,或选择随机从所述预设的动作集中选取待执行的动作。
S1003:执行所述待执行的动作,并计算动作得分。
S1004:将所述动作得分累加,以得到与所述查询向量相对应的分值。
根据一个实施例,在上述步骤S901和S1001中,可利用上一次执行所述待执行的动作时得到的候选向量,确认所述当前计算状态。
根据一个实施例,在上述步骤S903和S1003中,可采用以下公式计算所述动作得分:
Reward=W1Quality–W2Complexity
其中,Reward表示所述动作得分,W1和W2表示预设的系数,Quality表示搜索质量得分,Complexity表示搜索复杂度得分。
根据一个实施例,在上述步骤S903和S1003中,可在每执行多个待执行的动作后,再计算动作得分。
具体实现示例
在一些例子中,上述图1至图10涉及的一个或多个模块或者一个或多个步骤或者一个或多个处理过程,可以通过软件程序、硬件电路,也可以通过软件程序和硬件电路相结合的方式来实现。例如,上述各个组件或者模块以及一个或多个步骤都可在芯片上系统(SoC)中实现。SoC可包括:集成电路芯片,该集成电路芯片包括以下一个或多个:处理单元(如中央处理单元(CPU)、微控制器、微处理单元、数字信号处理单元(DSP)等)、存储器、一个或多个通信接口、和/或用于执行其功能的进一步的电路和可任选的嵌入的固件。
如图11所示,其为发明实施例的电子设备1100的结构框图。电子设备1100包括:存储器1101和处理器1102。
存储器1101,用于存储程序。除上述程序之外,存储器1101还可被配置为存储其它各种数据以支持在电子设备1100上的操作。这些数据的示例包括用于在电子设备1100上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器1101可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
存储器1101耦合至处理器1102并且包含存储于其上的指令,所说的指令在由处理器1102执行时使电子设备执行动作,作为一种电子设备的实施例,该动作可以包括:
根据查询内容生成查询向量;
在预设的向量数据库中执行向量近似匹配搜索,获取与所述查询向量最接近的候选向量;
获取与所述最接近的候选向量相对应的搜索结果,
其中在执行向量近似匹配搜索时,循环执行以下步骤,直至满足预设的截止条件:
确认当前计算状态;
根据预设的状态动作映射关系,基于所述当前计算状态,从预设的动作集中确认待执行的动作,其中状态动作映射关系反映不同的计算状态与动作之间的对应关系;
执行所述待执行的动作,并收集基于所执行的动作搜索到的候选向量。
其中所述预设的状态动作映射关系包括状态动作映射表格或神经网络。
其中在预设的向量数据库中执行的向量近似匹配搜索可以为近似最近邻搜索。
其中所述预设的动作集可以包括:在决策树中搜索、在存储于计算机内存中的近邻图中搜索、在存储于计算机硬盘中的近邻图中搜索以及结束搜索。
其中所述当前计算状态可以包括:向量间距的计算次数、在决策树中搜索的次数、所有当前候选向量与查询向量的平均间距和上次搜索是否对所述候选向量具有更新中的至少一个。
作为另外一种电子设备的实施例,上述动作可以包括:
将预设的训练集输入待训练的信息检索模型中,其中所述信息检索模型包括初始的状态动作映射关系,并且所述训练集包括多个查询向量和分别与所述查询向量相对应的检索结果候选向量;
计算所述训练集中每个查询向量在所述信息检索模型中执行向量近似匹配搜索后的分值;
对于所述信息检索模型中每种潜在状态,利用所述分值更新所述状态动作映射关系。
其中对于所述信息检索模型中每种潜在状态,利用所述分值更新所述状态动作映射关系可包括:
从预设的动作集中确认所述训练集在执行向量近似匹配搜索时平均分值最高的动作;
根据与所述每种潜在状态对应的平均分值最高的动作,更新所述状态动作映射关系。
其中所述状态动作映射关系可以包括状态动作映射表格或神经网络。
其中在所述信息检索模型中执行的向量近似匹配搜索可以为近似最近邻搜索。
其中所述预设的动作集可以包括:在决策树中搜索、在近邻图中搜索以及结束搜索。
其中所述预设的动作集可以包括:在决策树中搜索、在存储于计算机内存中的近邻图中搜索、在存储于计算机硬盘中的近邻图中搜索以及结束搜索。
其中所述潜在状态可以包括:向量间距的计算次数、在决策树中搜索的次数、所有当前候选向量与查询向量的平均间距和上次搜索是否对所述候选向量具有更新中的至少一个。
其中所述训练集中每个查询向量在所述信息检索模型中执行向量近似匹配搜索时,可以循环执行以下步骤,直至满足预设的截止条件:
确认当前计算状态;
随机从所述预设的动作集中选取待执行的动作;
执行所述待执行的动作,并计算动作得分;
将所述动作得分累加,以得到与所述查询向量相对应的分值。
其中所述训练集中每个查询向量在所述信息检索模型中执行向量近似匹配搜索时,可以循环执行以下步骤,直至满足预设的截止条件:
确认当前计算状态;
根据预设的概率选择根据预设的状态动作映射关系并基于所述当前计算状态从所述预设的动作集中选取待执行的动作,或选择随机从所述预设的动作集中选取待执行的动作;
执行所述待执行的动作,并计算动作得分;
将所述动作得分累加,以得到与所述查询向量相对应的分值。
其中在执行所述待执行的动作时,可以采用以下公式计算所述动作得分:
Reward=W1Quality–W2Complexity
其中,Reward表示所述动作得分,W1和W2表示预设的系数,Quality表示搜索质量得分,Complexity表示搜索复杂度得分。
其中可以利用上一次执行所述待执行的动作时得到的候选向量,确认所述当前计算状态。
其中执行所述待执行的动作,并计算动作得分可以包括:
每执行多个待执行的动作后,再计算动作得分。
对于上述的处理操作,在前面方法和装置的实施例中已经进行了详细说明,对于上述的处理操作的详细内容同样也适用于电子设备1100中,即可以将前面实施例中提到的具体处理操作,以程序的方式写入在存储器1101,并通过处理器1102来进行执行。
进一步,如图11所示,电子设备1100还可以包括:通信组件1103、电源组件1104、音频组件1105、显示器1106、芯片组1107等其它组件。图11中仅示意性给出部分组件,并不意味着电子设备1100只包括图11所示组件。
通信组件1103被配置为便于电子设备1100和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件1103经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件1103还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
电源组件1104,为电子设备的各种组件提供电力。电源组件1104可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
音频组件1105被配置为输出和/或输入音频信号。例如,音频组件1105包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1101或经由通信组件1103发送。在一些实施例中,音频组件1105还包括一个扬声器,用于输出音频信号。
显示器1106包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。
上述的存储器1101、处理器1102、通信组件1103、电源组件1104、音频组件1105以及显示器1106可以与芯片组1107连接。芯片组1107可以提供处理器1102与电子设备1100中的其余组件之间的接口。此外,芯片组1107还可以提供电子设备1100中的各个组件对存储器1101的访问接口以及各个组件间相互访问的通讯接口。
示例条款
A、一种方法,包括:
根据查询内容生成查询向量;
在预设的向量数据库中执行向量近似匹配搜索,获取与所述查询向量最接近的候选向量;
获取与所述最接近的候选向量相对应的搜索结果,
其中在执行向量近似匹配搜索时,循环执行以下步骤,直至满足预设的截止条件:
确认当前计算状态;
根据预设的状态动作映射关系,基于所述当前计算状态,从预设的动作集中确认待执行的动作,其中所述状态动作映射关系反映不同的计算状态与动作之间的对应关系;
执行所述待执行的动作,并收集基于所执行的动作搜索到的候选向量。
B、根据段落A所述的方法,其中所述预设的状态动作映射关系包括状态动作映射表格或神经网络。
C、根据段落A所述的方法,其中在预设的向量数据库中执行的向量近似匹配搜索为近似最近邻搜索。
D、根据段落A所述的方法,其中所述预设的动作集包括:在决策树中搜索、在近邻图中搜索以及结束搜索。
E、根据段落A所述的方法,其中所述预设的动作集包括:在决策树中搜索、在存储于计算机内存中的近邻图中搜索、在存储于计算机硬盘中的近邻图中搜索以及结束搜索。
F、根据段落A所述的方法,其中所述当前计算状态包括:向量间距的计算次数、在决策树中搜索的次数、所有当前候选向量与查询向量的平均间距和上次搜索是否对所述候选向量具有更新中的至少一个。
G、一种方法,包括:
将预设的训练集输入待训练的信息检索模型中,其中所述信息检索模型包括初始的状态动作映射关系,所述状态动作映射关系反映不同的计算状态与动作之间的对应关系,并且所述训练集包括多个查询向量和分别与所述查询向量相对应的检索结果候选向量;
计算所述训练集中每个查询向量在所述信息检索模型中执行向量近似匹配搜索后的分值;
对于所述信息检索模型中每种潜在状态,利用所述分值更新所述状态动作映射关系。
H、根据段落G所述的方法,其中对于所述信息检索模型中每种潜在状态,利用所述分值更新所述状态动作映射关系包括:
从预设的动作集中确认所述训练集在执行向量近似匹配搜索时平均分值最高的动作;
根据与所述每种潜在状态对应的平均分值最高的动作,更新所述状态动作映射关系。
I、根据段落G所述的方法,其中所述状态动作映射关系包括状态动作映射表格或神经网络。
J、根据段落G所述的方法,其中在所述信息检索模型中执行的向量近似匹配搜索为近似最近邻搜索。
K、根据段落H所述的方法,其中所述预设的动作集包括:在决策树中搜索、在近邻图中搜索以及结束搜索。
L、根据段落H所述的方法,其中所述预设的动作集包括:在决策树中搜索、在存储于计算机内存中的近邻图中搜索、在存储于计算机硬盘中的近邻图中搜索以及结束搜索。
M、根据段落G所述的方法,其中所述潜在状态包括:向量间距的计算次数、在决策树中搜索的次数、所有当前候选向量与查询向量的平均间距和上次搜索是否对所述候选向量具有更新中的至少一个。
N、根据段落G所述的方法,其中所述训练集中每个查询向量在所述信息检索模型中执行向量近似匹配搜索时,循环执行以下步骤,直至满足预设的截止条件:
确认当前计算状态;
随机从所述预设的动作集中选取待执行的动作;
执行所述待执行的动作,并计算动作得分;
将所述动作得分累加,以得到与所述查询向量相对应的分值。
O、根据段落G所述的方法,其中所述训练集中每个查询向量在所述信息检索模型中执行向量近似匹配搜索时,循环执行以下步骤,直至满足预设的截止条件:
确认当前计算状态;
根据预设的概率选择根据预设的状态动作映射关系并基于所述当前计算状态从所述预设的动作集中选取待执行的动作,或选择随机从所述预设的动作集中选取待执行的动作;
执行所述待执行的动作,并计算动作得分;
将所述动作得分累加,以得到与所述查询向量相对应的分值。
P、根据段落N或O所述的方法,其中在执行所述待执行的动作时,采用以下公式计算所述动作得分:
Reward=W1Quality–W2Complexity
其中,Reward表示所述动作得分,W1和W2表示预设的系数,Quality表示搜索质量得分,Complexity表示搜索复杂度得分。
Q、根据段落N或O所述的方法,其中利用上一次执行所述待执行的动作时得到的候选向量,确认所述当前计算状态。
R、根据段落N或O所述的方法,其中执行所述待执行的动作,并计算动作得分包括:
每执行多个待执行的动作后,再计算动作得分。
S、一种电子设备,包括:
处理器;以及
存储器,耦合至所述处理器并且包含存储于其上的指令,所述指令在由所述处理器执行时使所述电子设备执行动作,所述动作包括:
根据查询内容生成查询向量;
在预设的向量数据库中执行向量近似匹配搜索,获取与所述查询向量最接近的候选向量;
获取与所述最接近的候选向量相对应的搜索结果,
其中在执行向量近似匹配搜索时,循环执行以下步骤,直至满足预设的截止条件:
确认当前计算状态;
根据预设的状态动作映射关系,基于所述当前计算状态,从预设的动作集中确认待执行的动作,其中所述状态动作映射关系反映不同的计算状态与动作之间的对应关系;
执行所述待执行的动作,并收集基于所执行的动作搜索到的候选向量。
T、根据段落S所述的电子设备,其中所述预设的状态动作映射关系包括状态动作映射表格或神经网络。
U、根据段落S所述的电子设备,其中在预设的向量数据库中执行的向量近似匹配搜索为近似最近邻搜索。
V、根据段落S所述的电子设备,其中所述预设的动作集包括:在决策树中搜索、在近邻图中搜索以及结束搜索。
W、根据段落S所述的电子设备,其中所述预设的动作集包括:在决策树中搜索、在存储于计算机内存中的近邻图中搜索、在存储于计算机硬盘中的近邻图中搜索以及结束搜索。
X、根据段落S所述的电子设备,其中所述当前计算状态包括:向量间距的计算次数、在决策树中搜索的次数、所有当前候选向量与查询向量的平均间距和上次搜索是否对所述候选向量具有更新中的至少一个。
Y、一种电子设备,包括:
处理器;以及
存储器,耦合至所述处理器并且包含存储于其上的指令,所述指令在由所述处理器执行时使所述电子设备执行动作,所述动作包括:
将预设的训练集输入待训练的信息检索模型中,其中所述信息检索模型包括初始的状态动作映射关系,所述状态动作映射关系反映不同的计算状态与动作之间的对应关系,并且所述训练集包括多个查询向量和分别与所述查询向量相对应的检索结果候选向量;
计算所述训练集中每个查询向量在所述信息检索模型中执行向量近似匹配搜索后的分值;
对于所述信息检索模型中每种潜在状态,利用所述分值更新所述状态动作映射关系。
Z、根据段落Y所述的电子设备,其中对于所述信息检索模型中每种潜在状态,利用所述分值更新所述状态动作映射关系包括:
从预设的动作集中确认所述训练集在执行向量近似匹配搜索时平均分值最高的动作;
根据与所述每种潜在状态对应的平均分值最高的动作,更新所述状态动作映射关系。
A1、根据段落Y所述的电子设备,其中所述状态动作映射关系包括状态动作映射表格或神经网络。
B1、根据段落Y所述的电子设备,其中在所述信息检索模型中执行的向量近似匹配搜索为近似最近邻搜索。
C1、根据段落Z所述的电子设备,其中所述预设的动作集包括:在决策树中搜索、在近邻图中搜索以及结束搜索。
D1、根据段落Z所述的电子设备,其中所述预设的动作集包括:在决策树中搜索、在存储于计算机内存中的近邻图中搜索、在存储于计算机硬盘中的近邻图中搜索以及结束搜索。
E1、根据段落X所述的电子设备,其中所述潜在状态包括:向量间距的计算次数、在决策树中搜索的次数、所有当前候选向量与查询向量的平均间距和上次搜索是否对所述候选向量具有更新中的至少一个。
F1、根据段落X所述的电子设备,其中所述训练集中每个查询向量在所述信息检索模型中执行向量近似匹配搜索时,循环执行以下步骤,直至满足预设的截止条件:
确认当前计算状态;
随机从所述预设的动作集中选取待执行的动作;
执行所述待执行的动作,并计算动作得分;
将所述动作得分累加,以得到与所述查询向量相对应的分值。
G1、根据段落X所述的电子设备,其中所述训练集中每个查询向量在所述信息检索模型中执行向量近似匹配搜索时,循环执行以下步骤,直至满足预设的截止条件:
确认当前计算状态;
根据预设的概率选择根据预设的状态动作映射关系并基于所述当前计算状态从所述预设的动作集中选取待执行的动作,或选择随机从所述预设的动作集中选取待执行的动作;
执行所述待执行的动作,并计算动作得分;
将所述动作得分累加,以得到与所述查询向量相对应的分值。
H1、根据段落F1或G1所述的电子设备,其中在执行所述待执行的动作时,采用以下公式计算所述动作得分:
Reward=W1Quality–W2Complexity
其中,Reward表示所述动作得分,W1和W2表示预设的系数,Quality表示搜索质量得分,Complexity表示搜索复杂度得分。
I1、根据段落F1或G1所述的电子设备,其中利用上一次执行所述待执行的动作时得到的候选向量,确认所述当前计算状态。
J1、根据段落F1或G1所述的电子设备,其中执行所述待执行的动作,并计算动作得分包括:
每执行多个待执行的动作后,再计算动作得分。
K1、一种装置,包括:
向量生成模块,根据查询内容生成查询向量;
向量搜索模块,在预设的向量数据库中执行向量近似匹配搜索,获取与所述查询向量最接近的候选向量;
结果获取模块,获取与所述最接近的候选向量相对应的搜索结果,
其中所述向量搜索模块在执行向量近似匹配搜索时,循环执行以下步骤,直至满足预设的截止条件:
确认当前计算状态;
根据预设的状态动作映射关系,基于所述当前计算状态,从预设的动作集中确认待执行的动作,其中所述状态动作映射关系反映不同的计算状态与动作之间的对应关系;
执行所述待执行的动作,并收集基于所执行的动作搜索到的候选向量。
L1、一种装置,包括:
训练集输入模块,将预设的训练集输入待训练的信息检索模型中,其中所述信息检索模型包括初始的状态动作映射关系,所述状态动作映射关系反映不同的计算状态与动作之间的对应关系,并且所述训练集包括多个查询向量和分别与所述查询向量相对应的检索结果候选向量;
分值计算模块,计算所述训练集中每个查询向量在所述信息检索模型中执行向量近似匹配搜索后的分值;
状态动作映射关系更新模块,对于所述信息检索模型中每种潜在状态,利用所述分值更新所述状态动作映射关系。
结语
系统在各个方面的硬件与软件的实现上并没有太大的区别;使用硬件还是软件通常是权衡了成本与效率的设计上的选择结果,但在某些情况下,选择硬件还是软件可能是比较显而易见的决定。存在可以实现在此描述的处理和/或系统和/或其它技术(例如,硬件、软件,以及/或固件)的各种承载工具,并且优选的是,可以根据使用该处理和/或系统和/或其它技术的情况来改变承载工具。例如,如果实现方确定速度和准确度最重要,则该实现方可以选择主要由硬件和/或固件承载工具来实现;如果灵活性最重要,则该实现方可以选择主要软件来实现;或者,此外,该实现方可以选择硬件、软件,以及/或固件的一些组合来实现。
前述详细描述已经通过使用框图、流程图,以及/或示例阐述了该装置和/或处理的各种实施方式。这种框图、流程图,以及/或示例包含一个或更多个功能和/或操作,并且本领域技术人员应当明白,这种框图、流程图,或示例内的每一个功能和/或操作可以单独地和/或共同地,通过各种硬件、软件、固件,或者实际上其任何组合来实现。在一个实施方式中,在此描述的主旨的几个部分可以经由专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP),或其它集成格式来实现。然而,本领域技术人员应当认识到,在此公开的实施方式的一些方面整个地或者部分地可以等同地在集成电路中实现,或者实现为运行在一个或更多个计算机上的一个或更多个计算机程序(例如,实现为运行在一个或更多个计算机系统上的一个或更多个程序),实现为运行在一个或更多个处理器上的一个或更多个程序(例如,实现为运行在一个或更多个微处理器上的一个或更多个程序),实现为固件,或者实际上实现为其任何组合,并且根据本公开,设计电路和/或编写用于软件和/或固件的代码完全处于本领域技术人员的技术范围内。另外,本领域技术人员应当清楚的是,在此描述的主题的机制能够以多种形式作为程序产品分发,并且在此描述的主题的例示性实施方式适用,而与被用于实际执行该分配的特定类型的信号承载介质无关。信号承载介质的示例包括但不限于:可记录型介质,如软盘、硬盘驱动器(HDD)、质密盘(CD)、数字通用盘(DVD)、数字磁带、计算机存储器等;和传输型介质,如数字和/或模拟通信媒介(例如,光纤线缆、波导管、有线通信链路、无线通信链路等)。
本领域技术人员应当认识到,按在此阐述的方式来描述装置和/或处理,并且此后,使用技术实践将这样描述的装置和/或处理集成到数据处理系统中是本领域内常见的。即,在此描述的装置和/或处理的至少一部分可以经由合理次数的实验而集成到数据处理系统中。本领域技术人员应当认识到的是,通常的数据处理系统通常包括以下中的一个或更多个:系统单元外壳、视频显示装置、诸如易失性和非易失性存储器的存储器、诸如微处理器和数字信号处理器的处理器、诸如操作系统、驱动器、图形用户接口,以及应用程序的计算实体、诸如触摸板或触摸屏的一个或更多个交互式装置,以及/或包括反馈回路和控制电动机的控制系统(例如,用于感测位置和/或速度的反馈;用于移动和/或调节组件和/或数量的控制马达)。通常的数据处理系统可以利用任何合适商业可获组件来实现,如通常在数据计算/通信和/或网络通信/计算系统中找到的那些。
在此描述的主题有时例示了包含在不同的其它组件内或与其相连接的不同组件。本领域技术人员能够理解的是,这样描绘的架构仅仅是示例性的,并且实际上,可以实现获得相同功能的许多其它架构。在概念意义上,用于获得相同功能的组件的任何排布结构都有效地“关联”,以获得所需要的功能。因此,在此为获得特定功能而组合的任两个组件都可以被看作彼此“相关联”,以使获得所需要的功能,而与架构或中间组件无关。同样地,这样关联的任两个组件还可以被视作彼此“可操作地连接”,或“可操作地耦接”,以获得所需要的功能,并且能够这样关联的任两个组件也可以被视作可彼此“操作地耦接”,以获得所需要的功能。可操作地耦接的具体示例包括但不限于,物理上可配合和/或物理上交互的组件和/或可无线地交互和/或无线地交互的组件和/或逻辑上交互和/或逻辑上可交互组件。
针对在此实质上使用的任何术语,本领域技术人员可以针对背景和/或应用根据情况将其理解为单数和/或复数。为清楚起见,在此阐述了各种单数/复数的改变。
本领域技术人员应当明白,一般来说,在此使用的,而且尤其是在所附权利要求书中(例如,所附权利要求书的主体)使用的术语通常旨在作为“开放式”表述(例如,表述“包括(including)”应当解释为“包括但不限于”,表述“具有(having)”应当解释为“至少具有”等)。本领域技术人员还应当明白,如果想要特定数量的权利要求列举,则这种意图将明确地在该权利要求中陈述,并且在没有这些列举的情况下,不存在这种意图。例如,为帮助理解,下面所附权利要求书可以包含使用介绍性短语“至少一个”和“一个或更多个”来介绍权利要求列举。然而,使用这种短语不应被认作,权利要求列举将包含这种介绍权利要求列举的任何特定权利要求限制于仅包含一个这种列举的发明,即使同一权利要求包括介绍性短语“一个或更多个”或“至少一个”;其对于使用为介绍权利要求列举而使用的限定来说同样成立。另外,即使明确地陈述特定数量的权利要求列举,本领域技术人员也应当认识到,这种列举通常应当被解释成,或者至少表示所陈述的数量(例如,“列举两个”的这样的具体列举在没有其它修饰语的情况下通常意指至少两个,或者两个或更多个)。而且,在使用类似于“A、B,以及C等中的至少一个”的表述的那些实例中,一般来说,这种句法结构希望本领域技术人员在意义上应当理解这种表述(例如,“具有A、B,以及C中的至少一个的系统”应当包括但不限于具有单独A、单独B、单独C、A和B一起、A和C一起、B和C一起,以及/或A、B以及C一起等的系统)。在使用类似于“A、B,或C等中的至少一个”的惯例的那些实例中,一般来说,这种句法结构希望本领域技术人员在意义上应当理解这种惯例(例如,“具有A、B,或C中的至少一个的系统”应当包括但不限于具有单独A、单独B、单独C、A和B一起、A和C一起、B和C一起,以及/或A、B以及C一起等的系统)。本领域技术人员还应当明白的是,实际上,呈现两个或更多个另选术语的任何转折词和/短语(无论处于描述、权利要求书中,还是在附图中)应当被理解成,设想包括这些术语、这些术语中的任一个,或者两个术语的可能性。例如,短语“A或B”应当被理解成,包括“A”或“B”或“A和B”的可能性。
本说明书中针对“实现方式”、“一个实现方式”、“一些实现方式”,或“其它实现方式”的引用可以意指,结合一个或更多个实现方式描述的特定特征、结构,或特性可以被包括在至少一些实现方式中,但不必被包括在所有实现方式中。前述描述中不同出现的“实现方式”、“一个实现方式”,或“一些实现方式”不必全部针对同一实现方式而引用。
虽然利用不同方法和系统描述和示出了特定示例性技术,但本领域技术人员应当明白,在不脱离要求保护的主题的情况下,可以进行各种其它修改,并且可以代替等同物。另外,在不脱离在此描述的中心概念的情况下,可以进行许多修改以使适应针对要求保护的主题的教导的特定情况。因此,要求保护的主题不限于所公开的特定示例,而是这种要求保护的主题还可以包括落入所附权利要求书及其等同物的范围内的所有实现。
尽管已经用结构特征和/或方法动作专用的语言描述了本主题,但要理解,所附权利要求书中定义的主题不必限于所描述的具体特征或动作。而是,这些具体特征和动作是作为实现该权利要求的解说性形式而公开的。
除非另外具体声明,否则在上下文中可以理解并一般地使用条件语言(诸如“能”、“能够”、“可能”或“可以”)表示特定示例包括而其他示例不包括特定特征、元素和/或步骤。因此,这样的条件语言一般并非旨在暗示对于一个或多个示例以任何方式要求特征、元素和/或步骤,或者一个或多个示例必然包括用于决定的逻辑、具有或不具有用户输入或提示、在任何特定实施例中是否要包括或要执行这些特征、元素和/或步骤。
除非另外具体声明,应理解连词(诸如短语“X、Y或Z中至少一个”)表示所列出的条目、词语等可以是X、Y或Z中的任一者、或其组合。
本公开所述和/或附图中描述的流程图中任何例行描述、元素或框应理解成潜在地表示包括用于实现该例程中具体逻辑功能或元素的一个或多个可执行指令的代码的模块、片段或部分。替换示例被包括在本公开描述的示例的范围内,其中各元素或功能可被删除,或与所示出或讨论的顺序不一致地执行,包括基本上同步地执行或按相反顺序执行,这取决于所涉及的功能,如本领域技术人也将理解的。
应当强调,可对上述示例作出许多变型和修改,其中的元素如同其他可接受的示例那样应被理解。所有这样的修改和变型在此旨在包括在本公开的范围内并且由以下权利要求书保护。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (18)
1.一种用于信息检索的方法,包括:
根据查询内容生成查询向量;
在预设的向量数据库中执行向量近似匹配搜索,获取与所述查询向量最接近的候选向量;
获取与所述查询向量最接近的候选向量相对应的搜索结果,
其中在执行向量近似匹配搜索时,循环执行以下步骤,直至满足预设的截止条件:
确认当前计算状态;
根据预设的状态动作映射关系,基于所述当前计算状态,从预设的动作集中确认待执行的动作,其中所述状态动作映射关系反映不同的计算状态与动作之间的对应关系;
执行所述待执行的动作,并收集基于所执行的动作搜索到的候选向量。
2.根据权利要求1所述的方法,其中所述预设的状态动作映射关系包括状态动作映射表格或神经网络。
3.根据权利要求1所述的方法,其中在预设的向量数据库中执行的向量近似匹配搜索为近似最近邻搜索。
4.根据权利要求1所述的方法,其中所述预设的动作集包括:在决策树中搜索、在近邻图中搜索以及结束搜索。
5.根据权利要求1所述的方法,其中所述预设的动作集包括:在决策树中搜索、在存储于计算机内存中的近邻图中搜索、在存储于计算机硬盘中的近邻图中搜索以及结束搜索。
6.根据权利要求1所述的方法,其中所述当前计算状态包括:向量间距的计算次数、在决策树中搜索的次数、所有当前候选向量与查询向量的平均间距和上次搜索是否对所述候选向量具有更新中的至少一个。
7.一种用于训练信息检索模型的方法,包括:
将预设的训练集输入待训练的信息检索模型中,其中所述信息检索模型包括初始的状态动作映射关系,所述状态动作映射关系反映不同的计算状态与动作之间的对应关系,并且所述训练集包括多个查询向量和分别与所述查询向量相对应的检索结果候选向量;
计算所述训练集中每个查询向量受到在所述信息检索模型中执行的向量近似匹配搜索后的分值;
对于所述信息检索模型中每种潜在状态,利用所述分值更新所述状态动作映射关系,
其中,当相对于所述训练集中每个查询向量在所述信息检索模型中执行向量近似匹配搜索时,循环执行以下步骤,直至满足预设的截止条件:
确认当前计算状态;
根据预设的概率选择根据预设的状态动作映射关系并基于所述当前计算状态从所述预设的动作集中选取待执行的动作,或随机从预设的动作集中选取待执行的动作;
执行所述待执行的动作,并计算动作得分;
将所述动作得分累加,以得到与所述查询向量相对应的分值。
8.根据权利要求7所述的方法,其中对于所述信息检索模型中每种潜在状态,利用所述分值更新所述状态动作映射关系包括:
从预设的动作集中确认相对于所述训练集在执行向量近似匹配搜索时平均分值最高的动作;
根据与所述每种潜在状态对应的平均分值最高的动作,更新所述状态动作映射关系。
9.根据权利要求7所述的方法,其中所述状态动作映射关系包括状态动作映射表格或神经网络。
10.根据权利要求7所述的方法,其中在所述信息检索模型中执行的向量近似匹配搜索为近似最近邻搜索。
11.根据权利要求8所述的方法,其中所述预设的动作集包括:在决策树中搜索、在近邻图中搜索以及结束搜索。
12.根据权利要求8所述的方法,其中所述预设的动作集包括:在决策树中搜索、在存储于计算机内存中的近邻图中搜索、在存储于计算机硬盘中的近邻图中搜索以及结束搜索。
13.根据权利要求7所述的方法,其中所述潜在状态包括:向量间距的计算次数、在决策树中搜索的次数、所有当前候选向量与查询向量的平均间距和上次搜索是否对所述候选向量具有更新中的至少一个。
14.根据权利要求7所述的方法,其中在执行所述待执行的动作时,采用以下公式计算所述动作得分:
Reward=W1Quality–W2Complexity
其中,Reward表示所述动作得分,W1和W2表示预设的系数,Quality表示搜索质量得分,Complexity表示搜索复杂度得分。
15.根据权利要求7所述的方法,其中利用上一次执行所述待执行的动作时得到的候选向量,确认所述当前计算状态。
16.根据权利要求7所述的方法,其中执行所述待执行的动作,并计算动作得分包括:
每执行多个待执行的动作后,再计算动作得分。
17.一种用于信息检索的电子设备,包括:
处理器;以及
存储器,耦合至所述处理器并且包含存储于其上的指令,所述指令在由所述处理器执行时使所述电子设备执行动作,所述动作包括:
根据查询内容生成查询向量;
在预设的向量数据库中执行向量近似匹配搜索,获取与所述查询向量最接近的候选向量;
获取与所述查询向量最接近的候选向量相对应的搜索结果,
其中在执行向量近似匹配搜索时,循环执行以下步骤,直至满足预设的截止条件:
确认当前计算状态;
根据预设的状态动作映射关系,基于所述当前计算状态,从预设的动作集中确认待执行的动作,其中所述状态动作映射关系反映不同的计算状态与动作之间的对应关系;
执行所述待执行的动作,并收集基于所执行的动作搜索到的候选向量。
18.根据权利要求17所述的电子设备,其中所述预设的状态动作映射关系包括状态动作映射表格或神经网络。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811109988.XA CN110941754B (zh) | 2018-09-21 | 2018-09-21 | 基于增强学习生成向量最近邻搜索策略 |
PCT/US2019/038078 WO2020060605A1 (en) | 2018-09-21 | 2019-06-20 | Approximate nearest neighbor searching strategy generating based on reinforcement learning |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811109988.XA CN110941754B (zh) | 2018-09-21 | 2018-09-21 | 基于增强学习生成向量最近邻搜索策略 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110941754A CN110941754A (zh) | 2020-03-31 |
CN110941754B true CN110941754B (zh) | 2023-11-24 |
Family
ID=67138232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811109988.XA Active CN110941754B (zh) | 2018-09-21 | 2018-09-21 | 基于增强学习生成向量最近邻搜索策略 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110941754B (zh) |
WO (1) | WO2020060605A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113742288A (zh) * | 2020-05-29 | 2021-12-03 | 伊姆西Ip控股有限责任公司 | 用于数据索引的方法、电子设备和计算机程序产品 |
CN112084300A (zh) * | 2020-08-07 | 2020-12-15 | 北京三快在线科技有限公司 | 响应信息输出方法、装置、电子设备及可读存储介质 |
CN114022934B (zh) * | 2021-11-04 | 2023-06-27 | 清华大学 | 一种基于多数原则的实时人像聚档方法、系统和介质 |
EP4390722A1 (en) * | 2022-12-19 | 2024-06-26 | Amadeus S.A.S. | Processing a search query |
CN116467494B (zh) * | 2023-06-20 | 2023-08-29 | 上海爱可生信息技术股份有限公司 | 向量数据的索引方法 |
CN116610848B (zh) * | 2023-07-17 | 2023-10-20 | 上海爱可生信息技术股份有限公司 | 基于npu优化的向量数据库检索方法及可读存储介质 |
CN117076726B (zh) * | 2023-09-14 | 2024-06-07 | 上海交通大学 | 基于光线追踪相交的近似近邻搜索方法、系统、介质及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103049474A (zh) * | 2011-10-25 | 2013-04-17 | 微软公司 | 搜索查询和文档相关数据翻译 |
US20170161271A1 (en) * | 2015-12-04 | 2017-06-08 | Intel Corporation | Hybrid nearest neighbor search tree with hashing table |
CN107368895A (zh) * | 2016-05-13 | 2017-11-21 | 扬州大学 | 一种结合机器学习和自动规划的动作知识提取方法 |
-
2018
- 2018-09-21 CN CN201811109988.XA patent/CN110941754B/zh active Active
-
2019
- 2019-06-20 WO PCT/US2019/038078 patent/WO2020060605A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103049474A (zh) * | 2011-10-25 | 2013-04-17 | 微软公司 | 搜索查询和文档相关数据翻译 |
US20170161271A1 (en) * | 2015-12-04 | 2017-06-08 | Intel Corporation | Hybrid nearest neighbor search tree with hashing table |
CN107368895A (zh) * | 2016-05-13 | 2017-11-21 | 扬州大学 | 一种结合机器学习和自动规划的动作知识提取方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2020060605A1 (en) | 2020-03-26 |
CN110941754A (zh) | 2020-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110941754B (zh) | 基于增强学习生成向量最近邻搜索策略 | |
CN108038183B (zh) | 结构化实体收录方法、装置、服务器和存储介质 | |
CN110807515A (zh) | 模型生成方法和装置 | |
US9633002B1 (en) | Systems and methods for coreference resolution using selective feature activation | |
CN112765477B (zh) | 信息处理、信息推荐的方法和装置、电子设备和存储介质 | |
WO2018210440A1 (en) | Improved data clustering | |
JP2019501466A (ja) | 検索エンジンの選択および最適化のための方法およびシステム | |
CN112489676B (zh) | 模型训练方法、装置、设备及存储介质 | |
US10217052B2 (en) | Evaluating feature vectors across disjoint subsets of decision trees | |
CN108197225B (zh) | 图像的分类方法、装置、存储介质及电子设备 | |
US20190228297A1 (en) | Artificial Intelligence Modelling Engine | |
CN112860685A (zh) | 对数据集的分析的自动推荐 | |
CN115982323A (zh) | 应用于云端在线服务的大数据分析方法及人工智能系统 | |
WO2015014157A1 (zh) | 基于移动终端的歌曲推荐方法与装置 | |
Yang et al. | Resource-aware pareto-optimal automated machine learning platform | |
Pedersen et al. | Stochastic routing with arrival windows | |
CN116822927A (zh) | 一种业务流程优化方法、装置及存储介质 | |
CN111694768B (zh) | 运算方法、装置及相关产品 | |
US11983223B2 (en) | Finite automaton construction using regular expression derivatives to simulate behavior of a backtracking engine | |
US11100407B2 (en) | Building domain models from dialog interactions | |
CN110110186A (zh) | 空间划分树与邻近图结合的向量检索技术 | |
WO2023011237A1 (zh) | 业务处理 | |
Zheng et al. | Attention-based dynamic preference model for next point-of-interest recommendation | |
US11947577B2 (en) | Auto-completion based on content similarities | |
US11782918B2 (en) | Selecting access flow path in complex queries |
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 |