WO2018040503A1 - 获取搜索结果的方法和装置 - Google Patents
获取搜索结果的方法和装置 Download PDFInfo
- Publication number
- WO2018040503A1 WO2018040503A1 PCT/CN2017/072640 CN2017072640W WO2018040503A1 WO 2018040503 A1 WO2018040503 A1 WO 2018040503A1 CN 2017072640 W CN2017072640 W CN 2017072640W WO 2018040503 A1 WO2018040503 A1 WO 2018040503A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- document
- vector
- query word
- obtaining
- documents
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
Definitions
- the present application aims to solve at least one of the technical problems in the related art to some extent.
- the method for obtaining a search result according to the embodiment of the first aspect of the present application obtains a vector corresponding to the query word and a vector corresponding to the candidate document, and obtains a search result according to the similarity between the vectors, because the vector of the word embodies the semantics of the word. Therefore, according to the similarity between the vectors, not only the search result including the vocabulary in the query word but also the search result similar to the query term can be obtained, so that the search result with wider coverage can be obtained. In addition, since it is not based on the inverted index, it is also possible to overcome the problem that the inverted index is too long in some cases.
- the apparatus for obtaining a search result according to the second aspect of the present application includes: a vector obtaining module, configured to acquire a first vector corresponding to the query word, and obtain a second vector corresponding to each candidate document; a calculation module, configured to calculate a similarity between the first vector and the second vector according to the constructed semantic vector model; and a selecting module, configured to select a preset number of candidate documents according to the similarity, As a search result.
- the embodiment of the present application further provides a non-transitory computer readable storage medium, when the instructions in the storage medium are executed by the processor, enabling the processor to perform: according to any one of the embodiments of the first aspect of the present application Methods.
- FIG. 6 is a schematic diagram of performing cosine LSH on a data point in the embodiment of the present application.
- the query word when it is a non-text form such as a voice or a picture, it can be converted into text by voice recognition or picture recognition.
- the candidate document is a document that is a candidate search result, and is an existing document. After the existing documents are acquired, the document information of the candidate document can be converted into a vector, and the vector corresponding to the candidate text is called a second vector.
- the document information is, for example, a document title.
- the method in this embodiment includes:
- the historical query word refers to the query word that the user has already queried;
- the positive example search result corresponding to the historical query word refers to the search result corresponding to a historical query word and clicked by the user;
- the positive example search result corresponding to the historical query word refers to the corresponding A historical query term that has not been clicked by the user.
- the historical data can be converted into a vector (for example, word embedding), thereby obtaining a vector corresponding to each historical data.
- a vector corresponding to the historical query word and a vector corresponding to the positive example search result can be obtained.
- the vector corresponding to the negative example search result can be used as training data.
- the training structure of the semantic vector model can be set, so that the training data is trained according to the training structure, and each parameter in the training structure is determined to obtain a semantic vector model.
- a training structure of the semantic vector model is the neural network shown in FIG. 3, based on the training data, and the layer-by-layer neural network calculation is performed according to FIG. 3, and finally the value of the loss can be calculated.
- the semantic vector model is constructed by minimizing the loss (such as calculating the gradient of loss on each parameter) and determining the parameters of the model.
- the above construction process can be completed in the training phase to use the semantic vector model for the subsequent search phase.
- the training data can be re-acquired, and the semantic vector model is reconstructed by using the new training data to realize the updating of the semantic vector model.
- S24-S26 can be referred to S11-S13, and will not be described in detail herein.
- FIG. 5 is a schematic flowchart diagram of a method for obtaining a search result according to another embodiment of the present application.
- the above candidate document may specifically refer to all existing documents, and therefore, it is necessary to separately calculate the similarity between the vector corresponding to the query word and the vector corresponding to each document in all the documents.
- S51 Perform sub-set partitioning on all existing documents, and divide all documents into different sub-collections.
- LSH The principle of LSH is: after the two adjacent data points in the original data space (ie, the embedding of the user query and the embedding of the document) are transformed by the same mapping or projection, the two data points are in the new data space. The probability of being still adjacent is large, and the probability that non-adjacent data points are mapped to the same bucket is small. If some mapping is performed on the original data, it is hoped that the two adjacent data can be mapped into the same bucket and have the same bucket number. After mapping all the data in the original data set, you get a hash table, which is scattered into different buckets of the hash table. Each bucket will fall into some raw data, and the data belonging to the same bucket will most likely be adjacent.
- S55 Select a preset number of candidate documents according to the similarity as a search result.
- each functional unit in each embodiment of the present application may be integrated into one processing module, or each unit may exist physically separately, or two or more units may be integrated into one module.
- the above integrated modules can be implemented in the form of hardware or in the form of software functional modules.
- the integrated modules, if implemented in the form of software functional modules and sold or used as stand-alone products, may also be stored in a computer readable storage medium.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提出一种获取搜索结果的方法和装置,该获取搜索结果的方法包括:获取查询词对应的第一向量,以及,获取每个候选文档对应的第二向量;根据已构建的语义向量模型,计算所述第一向量与所述第二向量之间的相似度;根据所述相似度选择预设个数的候选文档,作为搜索结果。该方法能够获取到覆盖范围更广的搜索结果。
Description
相关申请的交叉引用
本申请要求北京百度网讯科技公司于2016年8月30日提交的、发明名称为“获取搜索结果的方法和装置”的、中国专利申请号“201610779635.5”的优先权。
本申请涉及互联网技术领域,尤其涉及一种获取搜索结果的方法和装置。
目前的搜索引擎通过倒排索引获取搜索结果,但是,这种方式只能获取到包含查询词中某些词汇的文档。例如,当用户搜索“苹果手机”时,只能获取包含“苹果”或者“手机”的文档,而不能获取包含上述词汇的扩展(如“iphone”)的文档。因此,目前的搜索方式存在搜索结果覆盖范围较小的问题。
发明内容
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本申请的一个目的在于提出一种获取搜索结果的方法,该方法可以
获取到覆盖范围更广的搜索结果。
本申请的另一个目的在于提出一种获取搜索结果的装置。
为达到上述目的,本申请第一方面实施例提出的获取搜索结果的方法,包括:获取查询词对应的第一向量,以及,获取每个候选文档对应的第二向量;根据已构建的语义向量模型,计算所述第一向量与所述第二向量之间的相似度;根据所述相似度选择预设个数的候选文档,作为搜索结果。
本申请第一方面实施例提出的获取搜索结果的方法,通过获取查询词对应的向量和候选文档对应的向量,并根据向量之间的相似度得到搜索结果,由于词的向量体现了词的语义,因此根据向量之间的相似度不仅可以获取到包含查询词中词汇的搜索结果,还可以获取到与查询词语义相似的搜索结果,从而可以获取到覆盖范围更广的搜索结果。另外,由于不是根据倒排索引的方式,因此还可以克服倒排索引在一些情况下存在的倒排拉链过长等问题。
为达到上述目的,本申请第二方面实施例提出的获取搜索结果的装置,包括:向量获取模块,用于获取查询词对应的第一向量,以及,获取每个候选文档对应的第二向量;计算模块,用于根据已构建的语义向量模型,计算所述第一向量与所述第二向量之间的相似度;选择模块,用于根据所述相似度选择预设个数的候选文档,作为搜索结果。
本申请第二方面实施例提出的获取搜索结果的装置,通过获取查询词对应的向量和候选文档对应的向量,并根据向量之间的相似度得到搜索结果,由于
词的向量体现了词的语义,因此根据向量之间的相似度不仅可以获取到包含查询词中词汇的搜索结果,还可以获取到与查询词语义相似的搜索结果,从而可以获取到覆盖范围更广的搜索结果。另外,由于不是根据倒排索引的方式,因此还可以克服倒排索引在一些情况下存在的倒排拉链过长等问题。
本申请实施例还提出一种设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行:如本申请第一方面实施例任一项所述的方法。
本申请实施例还提出一种非临时性计算机可读存储介质,当所述存储介质中的指令由处理器执行时,使得处理器能够执行:如本申请第一方面实施例任一项所述的方法。
本申请实施例还提出一种计算机程序产品,当所述计算机程序产品中的指令被处理器执行时,使得处理器能够执行:如本申请第一方面实施例任一项所述的方法。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是本申请一个实施例提出的获取搜索结果的方法的流程示意图;
图2是本申请另一个实施例提出的获取搜索结果的方法的流程示意图;
图3是本申请实施例中在训练阶段的语义向量模型的一种结构示意图;
图4是本申请实施例中在搜索结果的语义向量模型的一种结构示意图;
图5是本申请另一个实施例提出的获取搜索结果的方法的流程示意图;
图6是本申请实施例中对一个数据点进行余弦LSH的示意图;
图7是本申请实施例中对两个数据点进行余弦LSH的示意图;
图8是本申请一个实施例提出的获取搜索结果的装置的结构示意图;
图9是本申请另一个实施例提出的获取搜索结果的装置的结构示意图。
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的模块或具有相同或类似功能的模块。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。相反,本申请的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
图1是本申请一个实施例提出的获取搜索结果的方法的流程示意图。
如图1所示,本实施例的方法包括:
S11:获取查询词对应的第一向量,以及,获取每个候选文档对应的第二向量。
其中,查询词(query)可以是用户以文本、语音、图片等形式输入的。
可以理解的是,当查询词是语音或图片等非文本形式时,可以通过语音识别或图片识别将其转换为文本。
在得到文本形式的查询词后,将查询词转换为向量,称为第一向量。
候选文档是作为候选搜索结果的文档,是已有文档,在获取到这些已有文档后,可以将候选文档的文档信息转换为向量,作为候选文本对应的向量,称为第二向量。文档信息例如为文档标题(document title)。
将查询词或文档信息转换为向量时,可以通过“word embedding”实现,具体可以采用word2vec工具包,里面包含了几种word embedding的方法。
S12:根据已构建的语义向量模型,计算所述第一向量与所述第二向量之间的相似度。
语义向量模型的输入是两组向量,输出是这两组向量之间的相似度。
因此,在得到第一向量和第二向量后,可以将这两个向量作为语义向量模型的输入,得到语义向量模型的输出,作为这两个向量之间的相似度。
S13:根据所述相似度选择预设个数的候选文档,作为搜索结果。
例如,预设个数为N,则可以按照相似度从大到小的顺序选择N个候选文档作为搜索结果。搜索引擎在得到搜索结果后可以反馈给用户。
本实施例中,通过获取查询词对应的向量和候选文档对应的向量,并根据向量之间的相似度得到搜索结果,由于词的向量体现了词的语义,因此根据向量之间的相似度不仅可以获取到包含查询词中词汇的搜索结果,还可以获取到
与查询词语义相似的搜索结果,从而可以获取到覆盖范围更广的搜索结果。另外,由于不是根据倒排索引的方式,因此还可以克服倒排索引在一些情况下存在的倒排拉链过长等问题。
图2是本申请另一个实施例提出的获取搜索结果的方法的流程示意图。
如上一实施例所示,在获取搜索结果时采用了语义向量模型,本实施例中将主要介绍语义向量模型的建立过程。
如图2所示,本实施例的方法包括:
S21:获取历史数据,所述历史数据包括:历史查询词、历史查询词对应的正例搜索结果和历史查询词对应的负例搜索结果。
一些实施例中,可以采用人工收集的方式对历史数据进行收集,得到历史数据。
但是,人工收集方式在效率和成本上都存在一定问题,为此,本实施例中可以从搜索引擎日志中获取历史数据。
由于搜索引擎日志中会记录历史数据,因此可以直接从搜索引擎日志中获取历史数据,从而实现历史数据的自动收集,相对于人工收集方式,可以提高效率并降低成本。
历史查询词是指用户已查询过的查询词;历史查询词对应的正例搜索结果是指对应一个历史查询词,被用户点击过的搜索结果;历史查询词对应的正例搜索结果是指对应一个历史查询词,未被用户点击过的搜索结果。
S22:获取历史数据对应的向量,作为训练数据。
在得到历史数据后,可以将历史数据转换为向量(如采用word embedding),从而得到每种历史数据对应的向量,具体的,可以得到历史查询词对应的向量、正例搜索结果对应的向量和负例搜索结果对应的向量。从而可以将上述三种向量作为训练数据。
S23:根据所述训练数据进行训练,构建语义向量模型。
其中,可以设定语义向量模型的训练结构,从而根据该训练结构对训练数据进行训练,确定该训练结构中的各参数,得到语义向量模型。
例如,语义向量模型的一种训练结构为图3所示的神经网络,基于训练数据,根据图3进行逐层神经网络计算,最终可以计算得到损失(loss)的值。通过最小化loss(如计算loss在各个参数上的梯度),确定模型各参数,从而完成语义向量模型的构建。
对图3中各层的说明如表1所示。
表1
至此,完成了语义向量模型的构建。
可以理解的是,上述的构建流程可以是在训练阶段完成的,以将语义向量模型用于后续的搜索阶段。另外,可以理解的是,随着数据的不断更新,可以重新获取训练数据,并采用新的训练数据重新构建语义向量模型,实现语义向量模型的更新。
搜索阶段的流程包括:
S24:获取查询词对应的第一向量,以及,获取每个候选文档对应的第二向量。
S25:根据已构建的语义向量模型,计算所述第一向量与所述第二向量之间的相似度。
语义向量模型在搜索阶段的结构与训练阶段的结构存在一定的差别,主要
是不需要计算损失函数,因此,与图3对应,语义向量模型在搜索阶段的一种结构如图4所示。如图4所示,语义向量模型的输入包括查询词对应的第一向量(query embedding)和候选文档对应的第二向量(title embedding),经过求和(由vsum layer执行)、非线性变换(由softsign layer执行)及计算两个向量的余弦相似度(由cosine layer执行)后,得到语义向量模型的输出值,该输出值就是上述两个向量之间的相似度,具体为余弦相似度。
S26:根据所述相似度选择预设个数的候选文档,作为搜索结果。
S24-S26中未特别说明的内容可以参见S11-S13,在此不再详细说明。
本实施例中,在上述实施例的基础上,进一步的,通过获取历史数据和对历史数据进行向量化得到训练数据,以及根据训练数据构建语义向量模型,可以实现语义向量模型的构建,以采用语义向量模型获取搜索结果。进一步的,通过在搜索引擎日志中获取历史数据,可以自动获取到历史数据,相对于人工收集方式可以提高效率并降低成本。
图5是本申请另一个实施例提出的获取搜索结果的方法的流程示意图。
上述的候选文档可以具体是指已有的所有文档,因此,需要分别计算查询词对应的向量与所有文档中每个文档对应的向量之间的相似度。
由于目前互联网中的数据量巨大,因此如果分别对应每个文档计算上述的相似度,则运算量巨大,为了降低运算量,本实施例给出如下内容。
如图5所示,本实施例的方法包括:
S51:对已有的所有文档进行子集合划分,将所有文档划分到不同的子集合中。
具体的,对应每个文档,可以先获取该文档对应的向量(如用title embedding表示),再采用余弦(cosine)局部敏感哈希(LocalitySensitive Hashing,LSH)将文档映射到不同的桶(bucket)中,从而实现将所有文档划分到不同的子集合中。
LSH的原理是:将原始数据空间中的两个相邻数据点(即用户查询的embedding和文档的embedding)通过相同的映射或投影变换(projection)后,这两个数据点在新的数据空间中仍然相邻的概率很大,而不相邻的数据点被映射到同一个桶的概率很小。如果对原始数据进行一些映射后,希望原先相邻的两个数据能够被映射到相同的桶内,具有相同的桶号。对原始数据集合中所有的数据都进行映射后,就得到了一个哈希表,这些原始数据集被分散到了哈希表的不同的桶内。每个桶会落入一些原始数据,属于同一个桶内的数据就有很大可能是相邻的。
当进行检索的时候,只需要将查询数据(即用户查询的embedding)进行哈希映射得到其桶号,然后取出该桶号对应桶内的所有数据,再进行cosine相似度计算即可查找到与查询数据相邻的数据。换句话说,通过hash function映射变换操作,将原始数据集合分成了多个子集合,而每个子集合中的数据间是相邻的且该子集合中的元素个数较小,因此将一个在超大集合内查找相邻元素的问
题转化为了在一个很小的集合内查找相邻元素的问题,从而显著降低了计算量。
具体来说,余弦LSH的哈希函数为:H(V)=sign(V·R),其中V是用户查询或文档的embedding,R是一个随机向量。V·R可以看做是将V向R上进行投影操作。利用随机向量将原始数据空间进行划分,经过多个随机向量划分后,原始空间被划分为了很多子空间,而位于每个子空间内的数据被认为具有很大可能是相邻的(即原始数据之间的cosine distance很小)。
具体示例如图6所示,如图6所示,Line1,Line2和Line3为三个随机向量,点61代表的向量与三个随机向量做投影操作,根据点61在随机向量的相对方向可以被区分为1或者0,假设点61在线的右侧为1,反之则为0。点61在图6所示的三个随机向量映射下,可以表示为1 0 0。同理,如果有更多的随机向量,数目为K,那么通过这K个随机向量,可以将原先的点映射成一个K维的0/1向量,这个K维的0/1向量就是点61所映射到的桶的编号。
S52:确定查询词属于的子集合,以及,将与查询词属于的子集合之间的距离小于或等于预设距离的子集合中的文档,确定为候选文档。
类似对文档的处理,可以先获取查询词对应的向量(如用query embedding表示),再采用余弦(cosine)局部敏感哈希(LocalitySensitive Hashing,LSH)对查询词进行映射。
另外,根据上述的点与随机向量的方向关系,可以获取每个桶的桶编号。
在计算查询词对应的桶编号与文档对应的桶编号之间的距离时,可以具体
是计算两者之间的汉明距离,从而将与查询词对应的桶编号之间的汉明距离小于或等于预设值的文档对应的桶编号对应的桶中的文档,作为候选文档。
例如,参见图7,一个文档对应点71,查询词对应点72,随机向量为5个,分别用Line1-Line5表示,按照上述对余弦LSH的描述,点71对应的桶编号为1 0 0 0 1,点72对应的桶编号为1 1 1 0 1,这两个桶编号之间的汉明距离是2,即桶编号有2位不同。在查询词对应的桶编号为1 1 1 0 1时,如果将预设值设为0,则将映射到桶编号为1 1 1 0 1的桶中的文档作为候选文档。或者,如果将预设值设为2,则由于桶编号为1 0 0 0 1与桶编号为1 1 1 0 1之间的汉明距离为2,则候选文档不仅包括1 1 1 0 1,还包括桶编号为1 0 0 0 1中的文档。当然,可以理解的是,如果还存在其他桶编号满足上述要求,候选文档还包括满足条件的其他文档。
S53:获取查询词对应的第一向量,以及,获取每个候选文档对应的第二向量。
S54:根据已构建的语义向量模型,计算所述第一向量与所述第二向量之间的相似度。
S55:根据所述相似度选择预设个数的候选文档,作为搜索结果。
S53-S55的具体内容可以参见S11-S13,在此不再详细说明。
本实施例中,在上述实施例的基础上,进一步的,通过将文档划分到子集合中,选择部分子集合中的文档作为候选文档,可以降低相似度运算时的运算
复杂度,降低运算量。
图8是本申请一个实施例提出的获取搜索结果的装置的结构示意图。
如图8所示,本实施例的装置80包括:向量获取模块81、计算模块82和选择模块83。
向量获取模块81,用于获取查询词对应的第一向量,以及,获取每个候选文档对应的第二向量;
计算模块82,用于根据已构建的语义向量模型,计算所述第一向量与所述第二向量之间的相似度;
选择模块83,用于根据所述相似度选择预设个数的候选文档,作为搜索结果。
一些实施例中,参见图9,本实施例的装置80还包括:
历史数据获取模块84,用于获取历史数据,所述历史数据包括:历史查询词、历史查询词对应的正例搜索结果和历史查询词对应的负例搜索结果;
训练数据获取模块85,用于获取历史数据对应的向量,作为训练数据;
构建模块86,用于根据所述训练数据进行训练,构建所述语义向量模型。
一些实施例中,所述历史数据获取模块84具体用于:
从搜索引擎日志中获取历史数据。
一些实施例中,参见图9,本实施例的装置80还包括:
划分模块87,用于对已有的所有文档进行子集合划分,将所有文档划分到
不同的子集合中;
确定模块88,用于确定查询词属于的子集合,以及,将与查询词属于的子集合之间的距离小于或等于预设距离的子集合中的文档,确定为候选文档。
一些实施例中,所述划分模块87具体用于:
获取所有文档中每个文档对应的向量;
对所述每个文档对应的向量进行余弦LSH,将所有文档划分到不同的桶中。
一些实施例中,所述确定模块88具体用于:
采用余弦LSH,确定查询词对应的桶编号,以及,获取文档对应的桶编号;
计算查询词对应的桶编号与文档对应的桶编号之间的汉明距离;
将与查询词对应的桶编号之间的汉明距离小于或等于预设值的文档对应的桶编号对应的桶中的文档,作为候选文档。
可以理解的是,本实施例的装置与上述方法实施例对应,具体内容可以参见方法实施例的相关描述,在此不再详细说明。
本实施例中,通过获取查询词对应的向量和候选文档对应的向量,并根据向量之间的相似度得到搜索结果,由于词的向量体现了词的语义,因此根据向量之间的相似度不仅可以获取到包含查询词中词汇的搜索结果,还可以获取到与查询词语义相似的搜索结果,从而可以获取到覆盖范围更广的搜索结果。另外,由于不是根据倒排索引的方式,因此还可以克服倒排索引在一些情况下存在的倒排拉链过长等问题。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
本申请实施例还提出一种设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行:获取查询词对应的第一向量,以及,获取每个候选文档对应的第二向量;根据已构建的语义向量模型,计算所述第一向量与所述第二向量之间的相似度;根据所述相似度选择预设个数的候选文档,作为搜索结果。
本申请实施例还提出一种非临时性计算机可读存储介质,当所述存储介质中的指令由处理器执行时,使得处理器能够执行:获取查询词对应的第一向量,以及,获取每个候选文档对应的第二向量;根据已构建的语义向量模型,计算所述第一向量与所述第二向量之间的相似度;根据所述相似度选择预设个数的候选文档,作为搜索结果。
本申请实施例还提出一种计算机程序产品,当所述计算机程序产品中的指令被处理器执行时,使得处理器能够执行:获取查询词对应的第一向量,以及,获取每个候选文档对应的第二向量;根据已构建的语义向量模型,计算所述第一向量与所述第二向量之间的相似度;根据所述相似度选择预设个数的候选文档,作为搜索结果。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另
有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块
中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (15)
- 一种获取搜索结果的方法,其特征在于,包括:获取查询词对应的第一向量,以及,获取每个候选文档对应的第二向量;根据已构建的语义向量模型,计算所述第一向量与所述第二向量之间的相似度;根据所述相似度选择预设个数的候选文档,作为搜索结果。
- 根据权利要求1所述的方法,其特征在于,还包括:获取历史数据,所述历史数据包括:历史查询词、历史查询词对应的正例搜索结果和历史查询词对应的负例搜索结果;获取历史数据对应的向量,作为训练数据;根据所述训练数据进行训练,构建所述语义向量模型。
- 根据权利要求2所述的方法,其特征在于,所述获取历史数据,包括:从搜索引擎日志中获取历史数据。
- 根据权利要求1-3任一项所述的方法,其特征在于,还包括:对已有的所有文档进行子集合划分,将所有文档划分到不同的子集合中;确定查询词属于的子集合,以及,将与查询词属于的子集合之间的距离小于或等于预设距离的子集合中的文档,确定为候选文档。
- 根据权利要求4所述的方法,其特征在于,所述对已有的所有文档进行 子集合划分,包括:获取所有文档中每个文档对应的向量;对所述每个文档对应的向量进行余弦LSH,将所有文档划分到不同的桶中。
- 根据权利要求5所述的方法,其特征在于,所述确定查询词属于的子集合,以及,将与查询词属于的子集合之间的距离小于或等于预设距离的子集合中的文档,确定为候选文档,包括:采用余弦LSH,确定查询词对应的桶编号,以及,获取文档对应的桶编号;计算查询词对应的桶编号与文档对应的桶编号之间的汉明距离;将与查询词对应的桶编号之间的汉明距离小于或等于预设值的文档对应的桶编号对应的桶中的文档,作为候选文档。
- 一种获取搜索结果的装置,其特征在于,包括:向量获取模块,用于获取查询词对应的第一向量,以及,获取每个候选文档对应的第二向量;计算模块,用于根据已构建的语义向量模型,计算所述第一向量与所述第二向量之间的相似度;选择模块,用于根据所述相似度选择预设个数的候选文档,作为搜索结果。
- 根据权利要求7所述的装置,其特征在于,还包括:历史数据获取模块,用于获取历史数据,所述历史数据包括:历史查询词、历史查询词对应的正例搜索结果和历史查询词对应的负例搜索结果;训练数据获取模块,用于获取历史数据对应的向量,作为训练数据;构建模块,用于根据所述训练数据进行训练,构建所述语义向量模型。
- 根据权利要求8所述的装置,其特征在于,所述历史数据获取模块具体用于:从搜索引擎日志中获取历史数据。
- 根据权利要求7-9任一项所述的装置,其特征在于,还包括:划分模块,用于对已有的所有文档进行子集合划分,将所有文档划分到不同的子集合中;确定模块,用于确定查询词属于的子集合,以及,将与查询词属于的子集合之间的距离小于或等于预设距离的子集合中的文档,确定为候选文档。
- 根据权利要求10所述的装置,其特征在于,所述划分模块具体用于:获取所有文档中每个文档对应的向量;对所述每个文档对应的向量进行余弦LSH,将所有文档划分到不同的桶中。
- 根据权利要求11所述的装置,其特征在于,所述确定模块具体用于:采用余弦LSH,确定查询词对应的桶编号,以及,获取文档对应的桶编号;计算查询词对应的桶编号与文档对应的桶编号之间的汉明距离;将与查询词对应的桶编号之间的汉明距离小于或等于预设值的文档对应的桶编号对应的桶中的文档,作为候选文档。
- 一种设备,其特征在于,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行:如权利要求1-6任一项所述的方法。
- 一种非临时性计算机可读存储介质,其特征在于,当所述存储介质中的指令由处理器执行时,使得处理器能够执行:如权利要求1-6任一项所述的方法。
- 一种计算机程序产品,其特征在于,当所述计算机程序产品中的指令被处理器执行时,使得处理器能够执行:如权利要求1-6任一项所述的方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201610779635.5A CN106407311B (zh) | 2016-08-30 | 2016-08-30 | 获取搜索结果的方法和装置 |
| CN201610779635.5 | 2016-08-30 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2018040503A1 true WO2018040503A1 (zh) | 2018-03-08 |
Family
ID=58000229
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2017/072640 Ceased WO2018040503A1 (zh) | 2016-08-30 | 2017-01-25 | 获取搜索结果的方法和装置 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN106407311B (zh) |
| WO (1) | WO2018040503A1 (zh) |
Cited By (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108733757A (zh) * | 2018-04-11 | 2018-11-02 | 达而观信息科技(上海)有限公司 | 文本搜索方法及系统 |
| CN110929125A (zh) * | 2019-11-15 | 2020-03-27 | 腾讯科技(深圳)有限公司 | 搜索召回方法、装置、设备及其存储介质 |
| CN110990533A (zh) * | 2019-11-29 | 2020-04-10 | 支付宝(杭州)信息技术有限公司 | 确定查询文本所对应标准文本的方法及装置 |
| CN111222313A (zh) * | 2019-12-18 | 2020-06-02 | 东软集团股份有限公司 | 一种安全措施的审核方法、装置及设备 |
| CN111339335A (zh) * | 2020-03-06 | 2020-06-26 | Oppo广东移动通信有限公司 | 图像检索方法、装置、存储介质及电子设备 |
| CN111460264A (zh) * | 2020-03-30 | 2020-07-28 | 口口相传(北京)网络技术有限公司 | 语义相似度匹配模型的训练方法及装置 |
| CN111709247A (zh) * | 2020-05-20 | 2020-09-25 | 北京百度网讯科技有限公司 | 数据集处理方法、装置、电子设备和存储介质 |
| CN111783419A (zh) * | 2020-06-12 | 2020-10-16 | 上海东普信息科技有限公司 | 地址相似度计算方法、装置、设备和存储介质 |
| CN112580325A (zh) * | 2020-12-25 | 2021-03-30 | 建信金融科技有限责任公司 | 一种快速文本匹配方法及装置 |
| CN112800315A (zh) * | 2021-01-29 | 2021-05-14 | 北京百度网讯科技有限公司 | 数据处理方法、装置、设备及存储介质 |
| CN113127712A (zh) * | 2019-12-31 | 2021-07-16 | 深圳云天励飞技术有限公司 | 一种归档方法及装置 |
| CN113407798A (zh) * | 2021-06-22 | 2021-09-17 | 深圳大学 | 度量空间划分多边界搜索性能衡量的方法及相关组件 |
| WO2021205080A1 (en) | 2020-04-11 | 2021-10-14 | IPRally Technologies Oy | System and method for performing a search in a vector space based search engine |
| CN113901783A (zh) * | 2021-11-18 | 2022-01-07 | 青岛科技大学 | 面向领域的文档查重方法及系统 |
| CN114021019A (zh) * | 2021-11-10 | 2022-02-08 | 中国人民大学 | 一种融合个性化搜索与搜索结果多样化的检索方法 |
| CN115438147A (zh) * | 2022-08-03 | 2022-12-06 | 交控科技股份有限公司 | 面向轨道交通领域的信息检索方法及系统 |
| CN112559686B (zh) * | 2020-12-11 | 2023-10-27 | 北京百度网讯科技有限公司 | 信息检索方法、装置及电子设备 |
| CN118093792A (zh) * | 2024-04-25 | 2024-05-28 | 腾讯科技(深圳)有限公司 | 对象搜索的方法、装置、计算机设备和存储介质 |
| CN120705247A (zh) * | 2025-06-26 | 2025-09-26 | 北京格普科技有限公司 | 基于语义的文本内容索引自动标识方法 |
Families Citing this family (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11188824B2 (en) | 2017-02-17 | 2021-11-30 | Google Llc | Cooperatively training and/or using separate input and subsequent content neural networks for information retrieval |
| US11373086B2 (en) | 2017-02-17 | 2022-06-28 | Google Llc | Cooperatively training and/or using separate input and response neural network models for determining response(s) for electronic communications |
| CN107688604A (zh) * | 2017-07-26 | 2018-02-13 | 阿里巴巴集团控股有限公司 | 数据应答处理方法、装置及服务器 |
| CN107491518B (zh) * | 2017-08-15 | 2020-08-04 | 北京百度网讯科技有限公司 | 一种搜索召回方法和装置、服务器、存储介质 |
| CN107491547B (zh) | 2017-08-28 | 2020-11-10 | 北京百度网讯科技有限公司 | 基于人工智能的搜索方法和装置 |
| CN110019531B (zh) * | 2017-12-29 | 2021-11-02 | 北京京东尚科信息技术有限公司 | 一种获取相似对象集合的方法和装置 |
| CN111291069B (zh) * | 2018-12-07 | 2024-03-22 | 北京搜狗科技发展有限公司 | 一种数据处理方法、装置和电子设备 |
| CN109614478B (zh) * | 2018-12-18 | 2020-12-08 | 北京中科闻歌科技股份有限公司 | 词向量模型的构建方法、关键词匹配方法及装置 |
| CN111339261A (zh) * | 2020-03-17 | 2020-06-26 | 北京香侬慧语科技有限责任公司 | 一种基于预训练模型的文档抽取方法及系统 |
| CN113010771B (zh) * | 2021-02-19 | 2023-08-22 | 腾讯科技(深圳)有限公司 | 搜索引擎中的个性化语义向量模型的训练方法及装置 |
| CN115221887A (zh) * | 2021-04-15 | 2022-10-21 | 厦门美柚股份有限公司 | 语义召回模型的训练方法及训练装置 |
| CN118094028A (zh) * | 2024-04-28 | 2024-05-28 | 北方健康医疗大数据科技有限公司 | 一种疾病搜索排序方法、系统、终端及存储介质 |
| CN119538311A (zh) * | 2025-01-22 | 2025-02-28 | 江西啄木蜂科技有限公司 | 一种适用于林业数据库的大规模嵌入索引数据脱敏方法 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20100070509A1 (en) * | 2008-08-15 | 2010-03-18 | Kai Li | System And Method For High-Dimensional Similarity Search |
| CN101710334A (zh) * | 2009-12-04 | 2010-05-19 | 大连理工大学 | 基于图像哈希的大规模图像库检索方法 |
| CN103440292A (zh) * | 2013-08-16 | 2013-12-11 | 新浪网技术(中国)有限公司 | 基于比特向量的多媒体信息检索方法和系统 |
| CN104123375A (zh) * | 2014-07-28 | 2014-10-29 | 清华大学 | 数据搜索方法及系统 |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103020226A (zh) * | 2012-12-12 | 2013-04-03 | 北京百度网讯科技有限公司 | 一种获取搜索结果的方法和装置 |
| CN105045781B (zh) * | 2015-08-27 | 2020-06-23 | 广州神马移动信息科技有限公司 | 查询词相似度计算方法及装置、查询词搜索方法及装置 |
| CN105631009A (zh) * | 2015-12-25 | 2016-06-01 | 广州视源电子科技股份有限公司 | 基于词向量相似度的检索方法和系统 |
-
2016
- 2016-08-30 CN CN201610779635.5A patent/CN106407311B/zh active Active
-
2017
- 2017-01-25 WO PCT/CN2017/072640 patent/WO2018040503A1/zh not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20100070509A1 (en) * | 2008-08-15 | 2010-03-18 | Kai Li | System And Method For High-Dimensional Similarity Search |
| CN101710334A (zh) * | 2009-12-04 | 2010-05-19 | 大连理工大学 | 基于图像哈希的大规模图像库检索方法 |
| CN103440292A (zh) * | 2013-08-16 | 2013-12-11 | 新浪网技术(中国)有限公司 | 基于比特向量的多媒体信息检索方法和系统 |
| CN104123375A (zh) * | 2014-07-28 | 2014-10-29 | 清华大学 | 数据搜索方法及系统 |
Cited By (29)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108733757A (zh) * | 2018-04-11 | 2018-11-02 | 达而观信息科技(上海)有限公司 | 文本搜索方法及系统 |
| CN110929125A (zh) * | 2019-11-15 | 2020-03-27 | 腾讯科技(深圳)有限公司 | 搜索召回方法、装置、设备及其存储介质 |
| CN110929125B (zh) * | 2019-11-15 | 2023-07-11 | 腾讯科技(深圳)有限公司 | 搜索召回方法、装置、设备及其存储介质 |
| CN110990533A (zh) * | 2019-11-29 | 2020-04-10 | 支付宝(杭州)信息技术有限公司 | 确定查询文本所对应标准文本的方法及装置 |
| CN110990533B (zh) * | 2019-11-29 | 2023-08-25 | 支付宝(杭州)信息技术有限公司 | 确定查询文本所对应标准文本的方法及装置 |
| CN111222313A (zh) * | 2019-12-18 | 2020-06-02 | 东软集团股份有限公司 | 一种安全措施的审核方法、装置及设备 |
| CN111222313B (zh) * | 2019-12-18 | 2023-08-18 | 东软集团股份有限公司 | 一种安全措施的审核方法、装置及设备 |
| CN113127712B (zh) * | 2019-12-31 | 2024-06-07 | 深圳云天励飞技术有限公司 | 一种归档方法及装置 |
| CN113127712A (zh) * | 2019-12-31 | 2021-07-16 | 深圳云天励飞技术有限公司 | 一种归档方法及装置 |
| CN111339335A (zh) * | 2020-03-06 | 2020-06-26 | Oppo广东移动通信有限公司 | 图像检索方法、装置、存储介质及电子设备 |
| CN111460264A (zh) * | 2020-03-30 | 2020-07-28 | 口口相传(北京)网络技术有限公司 | 语义相似度匹配模型的训练方法及装置 |
| WO2021205080A1 (en) | 2020-04-11 | 2021-10-14 | IPRally Technologies Oy | System and method for performing a search in a vector space based search engine |
| CN111709247A (zh) * | 2020-05-20 | 2020-09-25 | 北京百度网讯科技有限公司 | 数据集处理方法、装置、电子设备和存储介质 |
| CN111709247B (zh) * | 2020-05-20 | 2023-04-07 | 北京百度网讯科技有限公司 | 数据集处理方法、装置、电子设备和存储介质 |
| CN111783419A (zh) * | 2020-06-12 | 2020-10-16 | 上海东普信息科技有限公司 | 地址相似度计算方法、装置、设备和存储介质 |
| CN111783419B (zh) * | 2020-06-12 | 2024-02-27 | 上海东普信息科技有限公司 | 地址相似度计算方法、装置、设备和存储介质 |
| CN112559686B (zh) * | 2020-12-11 | 2023-10-27 | 北京百度网讯科技有限公司 | 信息检索方法、装置及电子设备 |
| CN112580325A (zh) * | 2020-12-25 | 2021-03-30 | 建信金融科技有限责任公司 | 一种快速文本匹配方法及装置 |
| CN112580325B (zh) * | 2020-12-25 | 2023-04-07 | 建信金融科技有限责任公司 | 一种快速文本匹配方法及装置 |
| CN112800315A (zh) * | 2021-01-29 | 2021-05-14 | 北京百度网讯科技有限公司 | 数据处理方法、装置、设备及存储介质 |
| CN112800315B (zh) * | 2021-01-29 | 2023-08-04 | 北京百度网讯科技有限公司 | 数据处理方法、装置、设备及存储介质 |
| CN113407798A (zh) * | 2021-06-22 | 2021-09-17 | 深圳大学 | 度量空间划分多边界搜索性能衡量的方法及相关组件 |
| CN113407798B (zh) * | 2021-06-22 | 2023-12-22 | 深圳大学 | 度量空间划分多边界搜索性能衡量的方法及相关组件 |
| CN114021019B (zh) * | 2021-11-10 | 2024-03-29 | 中国人民大学 | 一种融合个性化搜索与搜索结果多样化的检索方法 |
| CN114021019A (zh) * | 2021-11-10 | 2022-02-08 | 中国人民大学 | 一种融合个性化搜索与搜索结果多样化的检索方法 |
| CN113901783A (zh) * | 2021-11-18 | 2022-01-07 | 青岛科技大学 | 面向领域的文档查重方法及系统 |
| CN115438147A (zh) * | 2022-08-03 | 2022-12-06 | 交控科技股份有限公司 | 面向轨道交通领域的信息检索方法及系统 |
| CN118093792A (zh) * | 2024-04-25 | 2024-05-28 | 腾讯科技(深圳)有限公司 | 对象搜索的方法、装置、计算机设备和存储介质 |
| CN120705247A (zh) * | 2025-06-26 | 2025-09-26 | 北京格普科技有限公司 | 基于语义的文本内容索引自动标识方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN106407311B (zh) | 2020-07-24 |
| CN106407311A (zh) | 2017-02-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN106407311B (zh) | 获取搜索结果的方法和装置 | |
| CN108038183B (zh) | 结构化实体收录方法、装置、服务器和存储介质 | |
| US12393593B2 (en) | Priority-driven federated query-based data caching | |
| US11947601B2 (en) | Seeding and generating suggested content collections | |
| CN110489419A (zh) | 一种基于多层局部敏感哈希的k最近邻近似查询方法 | |
| CN104834693A (zh) | 基于深度搜索的视觉图像检索方法及系统 | |
| WO2019192120A1 (zh) | 轨迹查询方法、电子设备及存储介质 | |
| WO2023030184A1 (zh) | 一种数据检索方法及相关设备 | |
| WO2017031996A1 (zh) | 查询词相似度计算方法及装置、查询词搜索方法及装置 | |
| CN106503196A (zh) | 云环境下可扩展存储索引结构的构建和查询方法 | |
| US20140149465A1 (en) | Feature rich view of an entity subgraph | |
| CN102521364A (zh) | 一种图上两点间最短路径查询方法 | |
| CN108304585A (zh) | 一种基于空间关键字搜索的结果数据选取方法及相关装置 | |
| CN104809210B (zh) | 一种基于分布式计算框架下海量数据加权top‑k查询方法 | |
| CN103714184B (zh) | 一种遥感影像快速并行处理方法及装置 | |
| CN114791966A (zh) | 索引构建方法、装置、向量搜索方法及检索系统 | |
| CN103891244B (zh) | 一种进行数据存储和检索的方法及装置 | |
| US11809384B2 (en) | Optimized data storage for fast retrieval | |
| CN106503245B (zh) | 一种支撑点集合的选择方法及装置 | |
| CN117648495B (zh) | 一种基于云原生向量数据的数据推送方法及系统 | |
| CN106096065B (zh) | 一种多媒体对象的相似检索方法及装置 | |
| US12229179B1 (en) | Mitigating bias in multimodal models via query transformation | |
| US20250086175A1 (en) | Remote query processing for a federated query system based on predicted query processing duration | |
| CN106599178B (zh) | 一种可实现快速寻找并支持分布存储的大数据处理方法 | |
| US12204538B1 (en) | Dynamically tailored time intervals for federated query system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17844814 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 17844814 Country of ref document: EP Kind code of ref document: A1 |

