CN114428834B - 检索方法、装置、电子设备及存储介质 - Google Patents
检索方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114428834B CN114428834B CN202111624426.0A CN202111624426A CN114428834B CN 114428834 B CN114428834 B CN 114428834B CN 202111624426 A CN202111624426 A CN 202111624426A CN 114428834 B CN114428834 B CN 114428834B
- Authority
- CN
- China
- Prior art keywords
- retrieval
- vectors
- acquiring
- phrase
- zipper
- 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
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/3332—Query translation
- G06F16/3335—Syntactic pre-processing, e.g. stopword elimination, stemming
-
- 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
- G06F16/319—Inverted lists
-
- 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/3332—Query translation
- G06F16/3338—Query expansion
-
- 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/338—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种检索方法、装置、电子设备及存储介质,涉及自然语言处理、智能搜索、深度学习等领域。具体实现方案为:获取检索内容,将检索内容通过切词得到词组集合,并将检索内容转化为语义向量;从显示召回引擎中获取词组集合中每个词组对应的倒排拉链;从向量空间中获取语义向量对应的向量结果,并将多个向量根据向量对应的文档信息进行重排序,获取多个向量对应的目标拉链;获取倒排拉链与目标拉链的交集,并获取交集对应的目标文档集合进行返回。同时具备显示召回和隐式召回的混合召回能力,显著提升了检索效果。且资源和运维成本远远小于现有的双检索系统方案。
Description
技术领域
本申请公开了一种检索方法、装置、电子设备及存储介质,涉及人工智能技术领域,具体涉及自然语言处理、智能搜索、深度学习等领域。
背景技术
检索引擎一般分为两类,一类是基于倒排索引的传统显式召回引擎,一类是基于向量空间中的近似最近邻算法的向量检索引擎。
随着大规模深度学习算法的研究不断深入,通过海量文本训练出的具备语义特征的模型被广泛地应用在检索系统当中,深度学习算法对文本的高维建模,能够理解语义语境等抽象信息,通过隐式召回进而提升检索的效果。不同于传统基于文本相关性进行显示召回的方式,隐式召回能够更深层次地理解用户需求,更智能地给出符合用户需要的结果。
但是,隐式召回也存在劣势,基于深度学习的模型进行召回,召回是向量之间距离的运算结果,结果无法理性解释,容易产生坏案例。
申请内容
本申请提供了一种检索方法、装置、电子设备及存储介质,以提高检索效果。
根据本申请的第一方面,提供了一种检索方法,包括:
响应于接收到包含检索内容的检索请求,将所述检索内容通过切词得到词组集合,并将所述检索内容转化为语义向量;
从显示召回引擎中获取所述词组集合中每个词组对应的倒排拉链;其中,所述倒排拉链包含对应词组下的多个文档信息;
从向量空间中获取所述语义向量对应的多个向量,并将所述多个向量根据向量对应的文档信息进行重排序,获取所述多个向量对应的目标拉链;
获取所述倒排拉链与所述目标拉链的交集,并获取所述交集对应的目标文档集合进行返回。
根据本申请的第二方面,提供了一种检索装置,包括:
响应模块,用于响应于接收到包含检索内容的检索请求,将所述检索内容通过切词得到词组集合,并将所述检索内容转化为语义向量;
显示召回模块,用于从显示召回引擎中获取所述词组集合中每个词组对应的倒排拉链;其中,所述倒排拉链包含对应词组下的多个文档信息;
隐式召回模块,用于从向量空间中获取所述语义向量对应的多个向量,并将所述多个向量根据向量对应的文档信息进行重排序,获取多个向量对应的目标拉链;
混合返回模块,用于获取所述倒排拉链与所述目标拉链的交集,并获取所述交集对应的目标文档集合进行返回。
根据本申请的第三方面,提供了一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面所述的方法。
根据本申请的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行第一方面所述的方法。
根据本申请的第五方面,提供了一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现第一方面所述方法的步骤。
根据本申请的技术解决了双检索系统或者单显示召回或者单隐式召回的检索系统的检索准确度不佳的问题,提高了检索引擎的检索效果。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请第一实施例的检索方法的流程示意图;
图2是根据本申请第二实施例的检索方法的流程示意图;
图3是根据本申请第三实施例的检索装置的框图;
图4是用来实现本申请实施例的检索方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
目前检索引擎一般分为具有显示召回能力的检索引擎和具有隐式召回能力的检索引擎。显式召回与隐式召回各有优缺点。
显式召回的优势:召回内容和检索的内容相关性强。
显式召回的劣势:对用户检索内容无法进行深层次理解,例如,搜索感冒了怎么办,就很难召回感冒了吃什么药,感冒了要注意什么等等相关的内容。
隐式召回的优势:能够产生对文本的深层次理解,召回显示召回很难召回的结果。
隐式召回的劣势:基于深度学习的模型进行召回,召回是向量之间距离的运算结果,结果无法理性解释,容易产生bad case(坏案例)。
相关技术中,并没有同时支持显式和隐式召回的检索引擎系统,也没有支持两种方式混合召回的系统。工业界检索引擎例如:检索引擎Lucene,支持传统显式召回,还未支持隐式召回。检索引擎Milvus:仅支持隐式向量召回,不支持显式召回。
在实际工程场景,往往是同时存在两套检索系统,分别进行显式和隐式的召回,在聚合层统一聚合。首先,这对两个检索系统的数据一致性有很高的要求,数据不一致的话,两个检索系统的数据对不上,聚合得到的结果准确性会大打折扣。另外,显示召回系统中往往也需要向量信息进行基本的相关性计算,导致数据在两个检索系统双倍存储,增加检索系统资源成本。同时维护两套系统的运维成本也远远大于一套统一的检索系统。
综上所述,为了充分利用两种不同召回方式的优势,搜索引擎需要同时支持传统的相关性显示召回和智能的语义隐式召回,并且能够将两种方式进行混合,以达到更优的检索效果,满足用户的检索需求。
本申请就是为了解决以上问题,设计的一种支持显示召回和隐式召回混合召回的检索引擎。
为解决上述技术问题,本申请提出了一种检索方法、装置、电子设备和计算机可读存储介质,可以实现混合召回,充分利用显示召回和隐式召回的优势,补齐不足,提供更优质的检索结果。
下面参照附图来描述根据本申请实施例提出的检索方法、装置、电子设备和计算机可读存储介质。
图1是根据本申请一个实施例的检索方法的流程图。需要说明的是,本申请实施例的检索方法可应用于本申请实施例的检索装置。该检索装置可被配置于电子设备上。如图1所示,该检索方法可以包括步骤S101-步骤S104。
S101,响应于接收到包含检索内容的检索请求,将检索内容通过切词得到词组集合,并将检索内容转化为语义向量。
举例来说,用户端可以通过输入框输入检索内容,例如,输入Query(即输入的检索内容)为“感冒吃什么药”。
检索引擎接收到包含检索内容为“感冒吃什么药”的检索请求之后,会将检索内容切分为多个词组(即Term):“感冒”、“吃”、“什么”和“药”,之后,对多个词组进行预处理,例如,过滤掉可省词“什么”,以获取检索关键词,即检索关键词为“感冒”、“吃”、和“药”。为了得到更佳准确的检索结果,预处理可能还有对词组进行扩展同义词操作等等。
同时,将检索内容“感冒吃什么药”转化为语义向量。
可选的,可以通过预先训练好的神经网络模型计算该检索内容的语义向量。通过神经网络模型计算检索内容的语义向量,属于自然语言处理领域的现有技术,在此不在赘述。
需要说明的是,在获取语义向量时,可以先对检索内容进行预处理,例如,查询省略词库,省略掉可省词“什么”。在通过预先训练好的神经网络模型得到语义向量。也可以,直接将检索内容输入预先训练好的神经网络模型,直接获取语义向量。在此不做限制。
S102,从显示召回引擎中获取词组集合中每个词组对应的倒排拉链,其中,倒排拉链包含对应词组下的多个文档信息。
可以理解,根据获取的词组,从显示召回引擎中获取对应的召回结果。
传统的显式召回引擎,多是基于倒排索引的。因此,根据获取的词组,在该倒排索引中获取每个词组对应的倒排拉链。
需要说明的是,在显示召回方式对应的检索引擎中,倒排拉链表示的是某个term下,文档的一个总集,通常不会记录原始文档,而是记录文档的文档信息,其中,文档信息可以是文档唯一标识(DocID)。也就是说,本申请实施例中的倒排拉链包含的文档信息为文档唯一标识。
其中,倒排索引中包含若干个索引词,每个索引词后面有一个拉链,拉链中存放包含该索引词的文档的唯一标识信息,利用这个数据结构能快速的找到包含某一个词组的所有文档。
S103,从向量空间中获取语义向量对应的多个向量,并将多个向量根据向量对应的文档信息进行重排序,获取多个向量对应的目标拉链。
可以理解,根据语义向量,从向量空间中,获取与该语义向量满足相似度关系的多个向量,即获取的向量结果包括多个向量。
隐式召回对应的向量检索引擎多是基于向量空间中的近似最近邻算法ANN(Approximate Nearest Neighbor,近似最近邻)的向量检索引擎。近似最近邻算法包括很多具体的算法,例如局部敏感的哈希算法(locality-sensitive hashing,LSH)、极度快速的近似最近邻搜索算法(Fast Library for Approximate Nearest Neighbors,EFANN)等。隐式召回对应的向量检索引擎也有通过其人工他神经网络算法,例如矢量量化方法等。
例如,需求的最近邻向量数为10,即获取与该语义向量距离相近的10个最近邻向量。
可以理解,当前多个向量的顺序是与语义向量的距离顺序。由于显示召回结果是按照文档信息的排列顺序,因此,需要对多个向量进行重新排序,即获取多个向量各自对应的文档信息,按照对应的文档信息,对多个向量进行重排序,从而得到多个向量对应的目标拉链,即目标拉链表示向量结果中多个向量对应的多个文档信息。
需要说明的是,根据隐式召回部分具体选择的ANN算法类型,部分ANN算法需要在构建向量空间的时候,需要额外保留每个向量与对应的文档所拥有的文档唯一标识之间的映射(annoy)关系,而部分ANN算法本身就支持在向量空间中,将文档唯一标识作为key对向量(faiss)进行存储,也就是说,该算法本身具有各个向量与对应的文档所拥有的文档唯一标识之间的对应关系。
S104,获取倒排拉链与目标拉链的交集,并获取交集对应的目标文档集合进行返回。
可以理解,需要获取显示召回结果与隐式召回结果的交集,根据交集获取最终的目标文档集合,即获取最终的检索结果,并返回给用户端,供用户端查看。也就是说,显示召回结果中对应的文档与隐式召回结果中对应的文档进行求交操作,得到混合召回结果。可以理解为,能够同时在显示召回结果与隐式召回结果中出现的文档,应该与用户端的检索内容更佳匹配。
需要说明的是,显示召回结果中对应的文档与隐式召回结果中对应的文档进行求交操作的前提是,显示召回对应的文档库与隐式召回对应的文档库是一致的。且求交操作时,两个部分的求交对象所表示的含义是一致的。
本申请实施例的检索方法,将检索请求中的检索内容同时处理得到用于显示召回的词组集合与用于隐式召回的语义向量。根据词组集合和语义向量并行获取显示召回结果和隐式召回结果,再将显示召回结果和隐式召回结果求交得到混合召回结果。同时具备显示召回和隐式召回的混合召回能力,相比单一召回方式更好,结果更丰富,显著提升了检索效果。且资源和运维成本远远小于现有的双检索系统方案。
图2是根据本申请一个实施例的检索方法的流程图。如图2所示,该检索方法可以包括步骤S201-S205。
S201,响应于接收到包含检索内容的检索请求,将检索内容通过切词得到词组集合,并将检索内容转化为语义向量。
需要说明的是,在本申请的实施例中,上述步骤S201的实现过程可参见上述步骤S101的实现过程的描述,在此不再赘述。
S202,将词组集合和语义向量组成检索表达式。
可以理解,只有建立显示召回对应的词组集合与隐式召回对应的语义向量之间的逻辑关系,才能将将显示召回结果与隐式召回结果混合,从而得到混合召回结果。而不是简单的将两个检索结果简单拼凑在一起进行返回,如同两个检索系统返回的检索结果。
本申请实施例中,检索表达式由逻辑表达式和若干个节点组成,逻辑表达式标识节点间的逻辑运算关系,节点对应切词后的term(词组)和转换得到的语义向量。
可选的,组成检索表达式的过程为:将词组集合中的每个词组作为一个节点,以及将语义向量作为一个节点;其中,每个节点包含节点类型属性;根据预设逻辑表达式,由多个节点构建成检索表达式。
其中,检索表达式中的每个节点不是真实的词组或者语义向量,而是每个节点的下标,且每个节点包括自己的属性。
预设逻辑表达式的示例1:(0&1&2|3)。
其中,():运算优先级,&:与操作,|:或操作,数字:节点下标。
举例说明,原始的检索内容query为“感冒吃什么药?”,切词后为:0.感冒1.吃2.什么3.药。因为‘什么’是可省词,在这里直接省略掉。假设该query的语义向量为一个四维的向量[0.1,0.2,0.3,0.4],需求的最近邻向量数为10,该语义向量作为节点4。
最终得到的逻辑表达式为:(0&1&3&4),其中,0、1、3节点均为词组节点,而4节点为语义向量节点。
该检索表达式为同时包括词组集合和语义向量的逻辑表达式,结构简单,容易实现。根据该检索表达式,同样包含了显示召回结果与隐式召回结果之间的逻辑运算关系,可以根据该逻辑运算关系将显示召回结果和隐式召回结果进行融合获取交集,最终得到与检索内容更佳匹配的目标文档。
S203,基于检索表达式,从显示召回引擎中获取词组集合中每个词组对应的倒排拉链。
可选的,获取倒排拉链的过程为:提取所述检索表达式中的节点类型属性为自然语言的词组集合;基于所述词组集合,从显示召回引擎中获取所述词组集合中每个词组对应的倒排拉链;其中,所述倒排拉链包含的文档信息为文档唯一标识。
需要说明的是,显示召回引擎中的文档的标识信息,即检索引擎内部,待检索文档的唯一标识DocID,通常是整数类型。
根据检索表达式中的节点的属性类型,直接将节点下发到对应的显示召回引擎或者向量空间,原理简单,容易实现。
S204,基于检索表达式,从向量空间中获取语义向量对应的向量结果,并将多个向量根据向量对应的文档信息进行重排序,获取多个向量对应的目标拉链。
可选的,获取多个向量对应的目标拉链的过程为:提取所述检索表达式中的节点类型属性为向量的语义向量;基于所述语义向量,从向量空间中获取所述语义向量对应的多个向量;将所述多个向量根据向量对应的文档信息进行重排序,获取所述多个向量对应的目标拉链;其中,所述文档信息为文档唯一标识。
根据检索表达式中的节点的属性类型,直接将节点下发到对应的显示召回引擎或者向量空间,原理简单,容易实现。
也就是说,在检索引擎内部,通过向量计算出隐式召回结果后,将隐式召回结果中的向量转化成向量对应的文档的唯一标识DocID拉链。
需要说明的是,向量空间中的多个向量是与显示召回引擎,即显示召回引擎中的文档总和是一致的,将文档总和中的每个文档通过自然语言处理模型转化为语义向量,从而构成向量空间。向量空间中的每个向量设有对应的标识信息,即DocID。即显示召回部分对应的文档库中每个文档的唯一标识与该文档在向量空间中对应的向量的唯一标识是一致的。
S205,基于检索表达式,将倒排拉链与目标拉链组成归并树,并获取归并树对应的目标文档集合进行返回。
采用的获取交集的方式,可以选择组成归并树的方式,其中,归并树是线段树和归并排序的合成,它利用线段树将归并排序的每一步都记录下来。
可以理解,将显示召回的倒排拉链与显示召回并进行重排序后得到的目标拉链,按照检索表达式中的逻辑运算关系进行与或非的逻辑运算,得到用户检索内容的结果集。
因为获取的倒排拉链表示的是对应文档的DocID,在进行归并处理的时候,也需要将向量结果对应的目标拉链对应的DocID进行归并处理。
根据检索表达式中的节点间的或与非的逻辑运算关系,将多个倒排拉链中的文档唯一标识与目标拉链中的文档唯一标识组成归并树,再根据获取的归并树中的多个文档的唯一标识,获取对应的多个文档,将获取的文档按照顺序反馈给用户端。
以上面提到的query“感冒吃什么药?”为例,在显示召回同时包含‘感冒’,‘吃’和‘药’这三个词组term的对应的相关文档的同时,通过向量空间找到和向量[0.1,0.2,0.3.0.4]最近邻的10个文档,也就是和‘感冒吃什么药’语义上最接近的10个文档的向量,再将这两部分文档再进行求交操作,即根据逻辑表达式(0&1&3&4)中包含的各个节点之间的逻辑运算关系得到归并树,在根据归并树中包含的DocID获取对应的目标文档,按照归并树的顺序返回给用户端。
最终得到混合召回的结果,混合召回的结果显然与用户端的检索内容更佳匹配。
本申请实施例的检索方法,获取的检索表达式支持同时下发检索内容和检索内容对应的语义向量,检索内容用来进行显示召回,语义向量用来进行隐式召回,再将显示召回的结果与隐式召回的结果进行逻辑预算,最终得到混合召回的结果。由于同时具备显示召回和隐式召回的混合召回能力,相比单一召回方式更好,结果更丰富,显著提升了检索效果。且资源和运维成本远远小于现有的双检索系统方案。
作为对上述各图所示方法的实现,本申请提供一种实施检索方法的虚拟装置的一个实施例,进一步参见图3,示出了本申请实施例提供的检索装置的结构示意图。如图3所示,该检索装置可以包括响应模块301、显示召回模块302、隐式召回模块303和混合返回模块304。
具体地,响应模块301,用于响应于接收到包含检索内容的检索请求,将检索内容通过切词得到词组集合,并将检索内容转化为语义向量;
显示召回模块302,用于从显示召回引擎中获取词组集合中每个词组对应的倒排拉链;其中,所述倒排拉链包含对应词组下的多个文档信息;
隐式召回模块303,用于从向量空间中获取语义向量对应的向量结果,并将多个向量根据向量对应的文档信息进行重排序,获取多个向量对应的目标拉链;
混合返回模块304,用于获取倒排拉链与目标拉链的交集,并获取交集对应的目标文档集合进行返回。
在本申请的一些实施例中,响应模块301在响应于接收到包含检索内容的检索请求,将检索内容通过切词得到词组集合,并将检索内容转化为语义向量时;还用于:
将词组集合和语义向量组成检索表达式。
在本申请的一些实施例中,响应模块301在将词组集合和语义向量组成检索表达式时,用于:
将词组集合中的每个词组作为一个节点,以及将语义向量作为一个节点;其中,每个节点包含节点类型属性;
根据预设逻辑表达式,由多个节点构建成检索表达式。
在本申请的一些实施例中,显示召回模块302在从显示召回引擎中获取词组集合中每个词组对应的倒排拉链时,用于:
提取检索表达式中的节点类型属性为自然语言的词组集合;
基于词组集合,从显示召回引擎中获取词组集合中每个词组对应的倒排拉链;其中,倒排拉链记录词组集合对应的第一文档集合的标识信息。
在本申请的一些实施例中,隐式召回模块303在从向量空间中获取语义向量对应的向量结果,并将多个向量根据向量对应的文档信息进行重排序,获取多个向量对应的目标拉链时;用于:
提取所述检索表达式中的节点类型属性为向量的语义向量;
基于所述语义向量,从向量空间中获取所述语义向量对应的多个向量;
将所述多个向量根据向量对应的文档信息进行重排序,获取所述多个向量对应的目标拉链;其中,所述文档信息为文档唯一标识。
在本申请的一些实施例中,混合返回模块304在获取倒排拉链与目标拉链的交集,并获取交集对应的目标文档集合进行返回时,用于:
基于检索表达式,将倒排拉链与目标拉链组成归并树;
获取归并树对应的目标文档集合进行返回。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请实施例的检索装置,获取的检索表达式支持同时下发检索内容和检索内容对应的语义向量,检索内容用来进行显示召回,语义向量用来进行隐式召回,再将显示召回的结果与隐式召回的结果进行逻辑预算,最终得到混合召回的结果。由于同时具备显示召回和隐式召回的混合召回能力,相比单一召回方式更好,结果更丰富,显著提升了检索效果。且资源和运维成本远远小于现有的双检索系统方案。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图4所示,是根据本申请实施例的检索的方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图4所示,该电子设备包括:一个或多个处理器401、存储器402,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图4中以一个处理器401为例。
存储器402即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的检索的方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的检索的方法。
存储器402作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的检索的方法对应的程序指令/模块(例如,附图3所示的响应模块301、显示召回模块302、隐式召回模块303和混合返回模块304)。处理器401通过运行存储在存储器402中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的检索的方法。
存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据检索的电子设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至检索的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
检索的方法的电子设备还可以包括:输入装置403和输出装置404。处理器401、存储器402、输入装置403和输出装置404可以通过总线或者其他方式连接,图4中以通过总线连接为例。
输入装置403可接收输入的数字或字符信息,以及产生与检索的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置404可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (6)
1.一种检索方法,包括:
响应于接收到包含检索内容的检索请求,将所述检索内容通过切词得到词组集合,并将所述检索内容转化为语义向量;
从显式召回引擎中获取所述词组集合中每个词组对应的倒排拉链;其中,所述倒排拉链包含对应词组下的多个文档信息;
从向量空间中获取所述语义向量对应的多个向量,并将所述多个向量根据向量对应的文档信息进行重排序,获取所述多个向量对应的目标拉链;
获取所述倒排拉链与所述目标拉链的交集,并获取所述交集对应的目标文档集合进行返回;
所述响应于接收到包含检索内容的检索请求,将所述检索内容通过切词得到词组集合,并将所述检索内容转化为语义向量;还包括:
将所述词组集合和所述语义向量组成检索表达式;其中,所述检索表达式由逻辑表达式和节点组成,所述逻辑表达式标识节点间的逻辑运算关系,所述节点对应所述词组和所述语义向量;
其中,所述将所述词组集合和所述语义向量组成检索表达式,包括:
将所述词组集合中的每个词组作为一个节点,以及将所述语义向量作为一个节点;其中,每个所述节点包含节点类型属性;
根据预设逻辑表达式,由多个所述节点构建成检索表达式;
其中,所述从向量空间中获取所述语义向量对应的多个向量,并将所述多个向量根据向量对应的文档信息进行重排序,获取所述多个向量对应的目标拉链;包括:
提取所述检索表达式中的节点类型属性为向量的语义向量;
基于所述语义向量,从向量空间中获取所述语义向量对应的多个向量;
将所述多个向量根据向量对应的文档信息进行重排序,获取所述多个向量对应的目标拉链;其中,所述文档信息为文档唯一标识;
其中,所述获取所述倒排拉链与所述目标拉链的交集,并获取所述交集对应的目标文档集合进行返回,包括:根据所述检索表达式中的节点间的或与非的逻辑运算关系,将多个所述倒排拉链中的文档唯一标识与所述目标拉链中的文档唯一标识组成归并树,并根据所述归并树中的多个文档的唯一标识,获取对应的多个文档,将所述获取的文档按照顺序反馈给用户端。
2.根据权利要求1所述的方法,其中,所述从显式召回引擎中获取所述词组集合中每个词组对应的倒排拉链,包括:
提取所述检索表达式中的节点类型属性为自然语言的词组集合;
基于所述词组集合,从显式召回引擎中获取所述词组集合中每个词组对应的倒排拉链;其中,所述倒排拉链包含的文档信息为文档唯一标识。
3.一种检索装置,包括:
响应模块,用于响应于接收到包含检索内容的检索请求,将所述检索内容通过切词得到词组集合,并将所述检索内容转化为语义向量;
显式召回模块,用于从显式召回引擎中获取所述词组集合中每个词组对应的倒排拉链;其中,所述倒排拉链包含对应词组下的多个文档信息;
隐式召回模块,用于从向量空间中获取所述语义向量对应的多个向量,并将所述多个向量根据向量对应的文档信息进行重排序,获取多个向量对应的目标拉链;
混合返回模块,用于获取所述倒排拉链与所述目标拉链的交集,并获取所述交集对应的目标文档集合进行返回;
其中,所述响应模块在响应于接收到包含检索内容的检索请求,将所述检索内容通过切词得到词组集合,并将所述检索内容转化为语义向量时;还用于:
将所述词组集合和所述语义向量组成检索表达式;
其中,所述检索表达式由逻辑表达式和节点组成,所述逻辑表达式标识节点间的逻辑运算关系,所述节点对应所述词组和所述语义向量;
其中,所述响应模块在将所述词组集合和所述语义向量组成检索表达式时,用于:
将所述词组集合中的每个词组作为一个节点,以及将所述语义向量作为一个节点;其中,每个所述节点包含节点类型属性;
根据预设逻辑表达式,由多个所述节点构建成检索表达式;
其中,所述隐式召回模块在从向量空间中获取所述语义向量对应的多个向量,并将所述多个向量根据向量对应的文档信息进行重排序,获取多个向量对应的目标拉链时;用于:
提取所述检索表达式中的节点类型属性为向量的语义向量;
基于所述语义向量,从向量空间中获取所述语义向量对应的多个向量;
将所述多个向量根据向量对应的文档信息进行重排序,获取所述多个向量对应的目标拉链;其中,所述文档信息为文档唯一标识;
其中,所述获取所述倒排拉链与所述目标拉链的交集,并获取所述交集对应的目标文档集合进行返回,包括:根据所述检索表达式中的节点间的或与非的逻辑运算关系,将多个所述倒排拉链中的文档唯一标识与所述目标拉链中的文档唯一标识组成归并树,并根据所述归并树中的多个文档的唯一标识,获取对应的多个文档,将所述获取的文档按照顺序反馈给用户端。
4.根据权利要求3所述的装置,其中,所述显式召回模块在从显式召回引擎中获取所述词组集合中每个词组对应的倒排拉链时,用于:
提取所述检索表达式中的节点类型属性为自然语言的词组集合;
基于所述词组集合,从显式召回引擎中获取所述词组集合中每个词组对应的倒排拉链;其中,所述倒排拉链包含的文档信息为文档唯一标识。
5.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-2中任一项所述的方法。
6.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-2中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111624426.0A CN114428834B (zh) | 2021-12-27 | 2021-12-27 | 检索方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111624426.0A CN114428834B (zh) | 2021-12-27 | 2021-12-27 | 检索方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114428834A CN114428834A (zh) | 2022-05-03 |
CN114428834B true CN114428834B (zh) | 2023-03-21 |
Family
ID=81311081
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111624426.0A Active CN114428834B (zh) | 2021-12-27 | 2021-12-27 | 检索方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114428834B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115599791B (zh) * | 2022-11-15 | 2023-03-10 | 以萨技术股份有限公司 | 一种Milvus数据库参数确定方法、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105117397A (zh) * | 2015-06-18 | 2015-12-02 | 浙江大学 | 一种基于本体的医学文档语义关联检索方法 |
CN110990695A (zh) * | 2019-11-22 | 2020-04-10 | 厦门美柚股份有限公司 | 推荐系统内容召回方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880721B (zh) * | 2012-10-15 | 2015-10-28 | 瑞庭网络技术(上海)有限公司 | 垂直搜索引擎的实现方法 |
CN107491518B (zh) * | 2017-08-15 | 2020-08-04 | 北京百度网讯科技有限公司 | 一种搜索召回方法和装置、服务器、存储介质 |
CN108280225B (zh) * | 2018-02-12 | 2021-05-28 | 北京吉高软件有限公司 | 一种语义检索方法及检索系统 |
CN111259262A (zh) * | 2020-01-13 | 2020-06-09 | 上海极链网络科技有限公司 | 一种信息检索方法、装置、设备及介质 |
-
2021
- 2021-12-27 CN CN202111624426.0A patent/CN114428834B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105117397A (zh) * | 2015-06-18 | 2015-12-02 | 浙江大学 | 一种基于本体的医学文档语义关联检索方法 |
CN110990695A (zh) * | 2019-11-22 | 2020-04-10 | 厦门美柚股份有限公司 | 推荐系统内容召回方法及装置 |
Non-Patent Citations (2)
Title |
---|
Chao Zhang 等.Referring Expression Comprehension with Semantic Visual Relationship and Word Mapping.2019,1258–1266. * |
徐峥 等.类目式文档语义特征AND-OR逻辑表达式生成方法.2021,95-103. * |
Also Published As
Publication number | Publication date |
---|---|
CN114428834A (zh) | 2022-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102591421B1 (ko) | 의도 추천 방법, 장치, 기기 및 저장매체 | |
US11790009B2 (en) | Knowledge operating system | |
CN112507715B (zh) | 确定实体之间关联关系的方法、装置、设备和存储介质 | |
US20210149980A1 (en) | Systems and method for investigating relationships among entities | |
WO2020192534A1 (zh) | 搜索方法、终端及介质 | |
CN111241282B (zh) | 文本主题生成方法、装置及电子设备 | |
EP3933657A1 (en) | Conference minutes generation method and apparatus, electronic device, and computer-readable storage medium | |
CN110955764B (zh) | 场景知识图谱的生成方法、人机对话方法以及相关设备 | |
CN110162644B (zh) | 一种图像集建立方法、装置和存储介质 | |
RU2665302C2 (ru) | Интеллектуальное уточнение поиска | |
CN111737559B (zh) | 资源排序方法、训练排序模型的方法及对应装置 | |
CN113553414B (zh) | 智能对话方法、装置、电子设备和存储介质 | |
CN112507091A (zh) | 检索信息的方法、装置、设备以及存储介质 | |
WO2021189752A1 (zh) | 搜索方法及装置 | |
KR102490712B1 (ko) | 질문 응답 로봇 생성 방법 및 장치 | |
JP7242994B2 (ja) | ビデオイベント識別方法、装置、電子デバイス及び記憶媒体 | |
CN113190687B (zh) | 知识图谱的确定方法、装置、计算机设备及存储介质 | |
CN111639228A (zh) | 视频检索方法、装置、设备及存储介质 | |
CN114860913B (zh) | 智能问答系统构建方法、问答处理方法及装置 | |
CN111967599A (zh) | 用于训练模型的方法、装置、电子设备及可读存储介质 | |
CN114428834B (zh) | 检索方法、装置、电子设备及存储介质 | |
CN111291184A (zh) | 表情的推荐方法、装置、设备及存储介质 | |
JP7241122B2 (ja) | スマート応答方法及び装置、電子機器、記憶媒体並びにコンピュータプログラム | |
CN111385188A (zh) | 对话元素的推荐方法、装置、电子设备和介质 | |
US11669530B2 (en) | Information push method and apparatus, device, and storage medium |
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 |