CN117473071B - 数据检索方法、装置、设备及计算机可读介质 - Google Patents
数据检索方法、装置、设备及计算机可读介质 Download PDFInfo
- Publication number
- CN117473071B CN117473071B CN202311822316.4A CN202311822316A CN117473071B CN 117473071 B CN117473071 B CN 117473071B CN 202311822316 A CN202311822316 A CN 202311822316A CN 117473071 B CN117473071 B CN 117473071B
- Authority
- CN
- China
- Prior art keywords
- vector
- data
- target
- database
- word
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 239000013598 vector Substances 0.000 claims abstract description 583
- 230000009466 transformation Effects 0.000 claims description 37
- 238000012545 processing Methods 0.000 claims description 34
- 230000006870 function Effects 0.000 claims description 24
- 238000010606 normalization Methods 0.000 claims description 21
- 239000011159 matrix material Substances 0.000 claims description 20
- 238000004891 communication Methods 0.000 claims description 18
- 230000007246 mechanism Effects 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 15
- 230000004913 activation Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 7
- 230000011218 segmentation Effects 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000012549 training Methods 0.000 description 8
- 238000013528 artificial neural network Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 238000000844 transformation Methods 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 2
- 238000007621 cluster analysis Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004880 explosion Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000000547 structure data Methods 0.000 description 2
- KLDZYURQCUYZBL-UHFFFAOYSA-N 2-[3-[(2-hydroxyphenyl)methylideneamino]propyliminomethyl]phenol Chemical compound OC1=CC=CC=C1C=NCCCN=CC1=CC=CC=C1O KLDZYURQCUYZBL-UHFFFAOYSA-N 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008033 biological extinction Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 201000001098 delayed sleep phase syndrome Diseases 0.000 description 1
- 208000033921 delayed sleep phase type circadian rhythm sleep disease Diseases 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000002759 z-score normalization Methods 0.000 description 1
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/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- 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/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9035—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种数据检索方法、装置、设备及计算机可读介质。该方法包括:获取提问数据;将所述提问数据转换为第一向量;在目标向量数据库中查询与所述第一向量匹配度最高的第二向量,其中,所述目标向量数据库是预先基于大语言模型建立的;返回与所述第二向量对应的回答数据作为所述提问数据的回答。本申请利用大语言模型建立目标向量数据库,利用向量数据库允许根据向量距离或相似性快速准确地搜索和检索数据,存储与其想要的领域或行业相关的不同主题、关键字、事实、观点、来源的信息,提高文本检索、语音/视频/图像检索、个性化推荐、智能搜索、智能问答等场景的准确度和速度,解决了大模型回答不准确、回答效率低的技术问题。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种数据检索方法、装置、设备及计算机可读介质。
背景技术
随着人工智能的不断发展,以大型语言模型(LLMs),如ChatGPT和GPT4,由于其新兴能力和通用性,是全新一代知识表示和调用方式,相比以往知识图谱的方式,更加高效智能可扩展等,正在自然语言处理和人工智能领域掀起新浪潮,开启通用人工智能之门。然而,大语言模型面临的挑战是如何保障回答的问题准确可靠,回答不准确,很大程度上是大模型没有完全理解提问信息,以及没有找到与提问内容匹配度高的回答,因此,大模型回答不准确以及回答效率低是当下亟需解决的问题。
针对大模型回答不准确、回答效率低的问题,目前尚未提出有效的解决方案。
发明内容
本申请提供了一种数据检索方法、装置、设备及计算机可读介质,以解决大模型回答不准确、回答效率低的技术问题。
根据本申请实施例的一个方面,本申请提供了一种数据检索方法,包括:获取提问数据;将所述提问数据转换为第一向量;在目标向量数据库中查询与所述第一向量匹配度最高的第二向量,其中,所述目标向量数据库是预先基于大语言模型建立的,所述目标向量数据库包括有所述第二向量和对应的回答数据之间的对应关系;返回与所述第二向量对应的回答数据作为所述提问数据的回答。
可选地,所述在目标向量数据库中查询与所述第一向量匹配度最高的第二向量之前,所述方法还包括按照如下方式基于大语言模型建立所述目标向量数据库:获取目标业务领域的文本数据,其中,所述目标业务领域为所述目标向量数据库面向的应用领域;将所述文本数据进行分词,得到词序列;将每一个所述词序列嵌入到预设长度的向量空间中,得到词向量序列;将所述词向量序列输入到串联的多个transformer块中的第一个transformer块,以通过串联的多个transformer块对所述词向量序列进行特征编码处理;获取最后一个transformer块输出的向量数据作为所述文本数据的语义特征保存到所述目标向量数据库中,并将所述向量数据和文本数据之间的对应关系保存在所述目标向量数据库中,以使提问数据在所述目标向量数据库中匹配到对应的向量数据时,将与所述向量数据对应的文本数据作为所述回答数据进行返回。
可选地,所述通过串联的多个transformer块对所述词向量序列进行特征编码处理的过程中,任一transformer块的处理包括:采用多头注意力机制计算输入向量的加权和向量,其中,所述输入向量为上一个transformer块的输出向量;将所述加权和向量输入前向网络,以通过所述前向网络提取表征所述文本数据的语义信息的内容特征向量;将所述内容特征向量与输入所述前向网络的所述加权和向量进行残差连接,得到残差连接向量;将所述残差连接向量输入归一化层进行归一化,得到归一化向量;获取所述文本数据的位置编码向量,并将所述归一化向量与所述位置编码向量相加,得到具有顺序信息的多维输出向量;将所述多维输出向量作为当前transformer块的输出向量,并作为下一个transformer块的输入向量。
可选地,所述采用多头注意力机制计算输入向量的加权和向量包括:分别将所述输入向量进行查询-键-值线性变换,得到查询向量、键向量以及值向量;将所述查询向量与所有键向量进行点积运算,得到注意力权重向量;将所述注意力权重向量与所有值向量进行加权求和,得到所述加权和向量。
可选地,所述通过所述前向网络提取表征所述文本数据的语义信息的内容特征向量包括:通过第一权重矩阵和第一偏置向量对所述加权和向量进行第一线性变换,以将所述加权和向量映射到目标特征空间,得到第一中间向量;将所述中间向量输入目标激活函数,以通过所述目标激活函数引入非线性特征,得到第二中间向量;通过第二权重矩阵和第二偏置向量对所述第二中间向量进行第二线性变换,以提取表征语义信息的向量并组合得到所述内容特征向量。
可选地,所述在目标向量数据库中查询与所述第一向量匹配度最高的第二向量包括:将所述第一向量和所述目标向量数据库中的第三向量分别进行归一化,得到第一归一化向量和第二归一化向量;计算所述第一归一化向量和所述第二归一化向量之间的夹角余弦值;将所述夹角余弦值作为所述第一向量和所述第三向量的相似度;将所述相似度最高的一个所述第三向量确定为与所述第一向量匹配度最高的所述第二向量。
可选地,所述在目标向量数据库中查询与所述第一向量匹配度最高的第二向量还包括:在所述第一向量为图像的向量时,随机从所述目标向量数据库中选择一个向量作为初级节点;从所述初级节点开始,逐级寻找每一级节点中与所述第一向量的相似度最高的前k个节点,以逐层构建多层图,其中,当前层级找到的前k个节点作为前一层级的邻居节点,所述邻居节点与前一层级找到的前k个节点连接,并作为下一层级的起始点继续寻找与所述第一向量的相似度最高的前k个节点;当搜索的节点层数达到层数阈值或搜索到的节点数达到点数阈值时,将当前得到的所述多层图作为与所述第一向量匹配度最高的第二向量。
根据本申请实施例的另一方面,本申请提供了一种数据检索装置,包括:获取模块,用于获取提问数据;转换模块,用于将所述提问数据转换为第一向量;查询模块,用于在目标向量数据库中查询与所述第一向量匹配度最高的第二向量,其中,所述目标向量数据库是预先基于大语言模型建立的;回答模块,用于返回与所述第二向量对应的回答数据作为所述提问数据的回答。
根据本申请实施例的另一方面,本申请提供了一种电子设备,包括存储器、处理器、通信接口及通信总线,存储器中存储有可在处理器上运行的计算机程序,存储器、处理器通过通信总线和通信接口进行通信,处理器执行计算机程序时实现上述方法的步骤。
根据本申请实施例的另一方面,本申请还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,程序代码使处理器执行上述的方法。
本申请实施例提供的上述技术方案与相关技术相比具有如下优点:
本申请提供了一种数据检索方法,包括:获取提问数据;将所述提问数据转换为第一向量;在目标向量数据库中查询与所述第一向量匹配度最高的第二向量,其中,所述目标向量数据库是预先基于大语言模型建立的,所述目标向量数据库包括有所述第二向量和对应的回答数据之间的对应关系;返回与所述第二向量对应的回答数据作为所述提问数据的回答。本申请利用大语言模型建立目标向量数据库,利用向量数据库允许根据向量距离或相似性快速准确地搜索和检索数据,存储与其想要的领域或行业相关的不同主题、关键字、事实、观点、来源的信息,提高文本检索、语音/视频/图像检索、个性化推荐、智能搜索、智能问答等场景的准确度和速度,解决了大模型回答不准确、回答效率低的技术问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为根据本申请实施例提供的一种可选的数据检索方法硬件环境示意图;
图2为根据本申请实施例提供的一种可选的数据检索方法流程示意图;
图3为根据本申请实施例提供的一种可选的数据检索的应用架构示意图;
图4为根据本申请实施例提供的一种可选的数据检索装置框图;
图5为本申请实施例提供的一种可选的电子设备结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本申请的说明,其本身并没有特定的意义。因此,“模块”与“部件”可以混合地使用。
为了解决背景技术中提及的问题,根据本申请实施例的一方面,提供了一种数据检索方法的实施例。
可选地,在本申请实施例中,上述数据检索方法可以应用于如图1所示的由终端101和服务器103所构成的硬件环境中。如图1所示,服务器103通过网络与终端101进行连接,可用于为终端或终端上安装的客户端提供服务(如大语言模型服务、向量数据库服务、数据检索服务等),可在服务器上或独立于服务器设置数据库105,用于为服务器103提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网,终端101包括但不限于PC、手机、平板电脑等。
本申请实施例中的一种数据检索方法可以由服务器103来执行,还可以是由服务器103和终端101共同执行,如图2所示,该方法可以包括以下步骤:
步骤S202,获取提问数据;
步骤S204,将所述提问数据转换为第一向量;
步骤S206,在目标向量数据库中查询与所述第一向量匹配度最高的第二向量,其中,所述目标向量数据库是预先基于大语言模型建立的,所述目标向量数据库包括有所述第二向量和对应的回答数据之间的对应关系;
步骤S208,返回与所述第二向量对应的回答数据作为所述提问数据的回答。
通过上述步骤S202至S208,本申请利用大语言模型建立目标向量数据库,利用向量数据库允许根据向量距离或相似性快速准确地搜索和检索数据,存储与其想要的领域或行业相关的不同主题、关键字、事实、观点、来源的信息,提高文本检索、语音/视频/图像检索、个性化推荐、智能搜索、智能问答等场景的准确度和速度,解决了大模型回答不准确、回答效率低的技术问题。
在一个可选的实施例中,所述在目标向量数据库中查询与所述第一向量匹配度最高的第二向量之前,所述方法还包括按照如下方式基于大语言模型建立所述目标向量数据库:
步骤1,获取目标业务领域的文本数据,其中,所述目标业务领域为所述目标向量数据库面向的应用领域。
本申请实施例中,可以针对特定领域构建向量数据库,使得该领域的提问能够得到专业、准确的回答。要获取目标业务领域的文本数据,可以按照以下步骤:确定目标业务领域:首先,明确希望获取文本数据的业务领域。这可能是某个特定行业、领域或应用场景,例如金融、医疗、电子商务等。寻找相关数据源:在目标业务领域内,寻找可用的文本数据源。这些数据源可以是公开的数据集、在线论坛、社交媒体、新闻报道等。这些数据源通常会包含大量的文本数据,涵盖了该领域的各种话题和主题。数据采集和处理:根据找到的数据源,采用适当的方法来进行数据采集和处理。可以使用网络爬虫技术从网站上爬取数据,或者使用API接口从社交媒体平台获取数据。在采集到数据后,需要进行清洗、预处理和整理,以便后续的分析和应用。
步骤2,将所述文本数据进行分词,得到词序列。
本申请实施例中,可以将输入文本按照空格、标点等符号进行分词,得到一个词序列。
步骤3,将每一个所述词序列嵌入到预设长度的向量空间中,得到词向量序列。
本申请实施例中,将每一个词序列嵌入到预设长度的向量空间中,得到词向量序列,这是自然语言处理中的词嵌入(Word Embedding)步骤,具体的,包括以下步骤:选择词嵌入方法:有许多现有的词嵌入方法,如Word2Vec、GloVe、FastText等。这些方法都已经被证明可以有效地将词语转换为有意义的向量表示。预设向量长度:在选择词嵌入方法后,需要预设词向量的长度。这个长度通常是一个超参数,可以根据实际需求和计算资源进行调整。一般来说,更大的词向量长度可能会包含更丰富的信息,但同时也需要更多的计算资源。训练词嵌入模型:使用选择的词嵌入方法和预设的词向量长度,可以在文本数据上训练词嵌入模型。这个模型会学习将每一个词转换为对应的词向量。转换词序列:在词嵌入模型训练好后,可以使用这个模型将词序列转换为词向量序列。每一个词都会被转换为对应的词向量,因此整个词序列就被转换为了词向量序列。
步骤4,将所述词向量序列输入到串联的多个transformer块中的第一个transformer块,以通过串联的多个transformer块对所述词向量序列进行特征编码处理。
本申请实施例中,BERT、GPT等大模型都采用了Transformer架构,可以通过串联的多个transformer块对所述词向量序列进行特征编码处理,首先,初始化Transformer块,Transformer模型由多个串联的Transformer块组成。每个Transformer块都包含了一个多头自注意力机制(Multi-Head Self-Attention)和一个前馈神经网络(Feed-ForwardNeural Network)。需要初始化串联的多个Transformer块,并设定好每个块的参数。接着,输入词向量序列到第一个Transformer块:将准备好的词向量序列输入到串联的多个Transformer块中的第一个Transformer块。在第一个Transformer块中,词向量序列会经过多头自注意力机制的处理,捕获词向量之间的依赖关系,并生成新的特征表示。进一步的,通过串联的多个Transformer块进行特征编码处理:将经过第一个Transformer块处理后的特征表示,依次传递给后面的每一个Transformer块。每一个Transformer块都会进一步对特征表示进行编码和处理,捕获更高级别的特征信息。最后,获取最终的编码特征:在经过所有Transformer块的处理后,会得到最终的编码特征。这些编码特征融合了原始词向量序列中的语义信息以及Transformer块的特征提取能力,可以用于后续的任务,比如文本分类、情感分析、问答系统等。
步骤5,获取最后一个transformer块输出的向量数据作为所述文本数据的语义特征保存到所述目标向量数据库中,并将所述向量数据和文本数据之间的对应关系保存在所述目标向量数据库中,以使提问数据在所述目标向量数据库中匹配到对应的向量数据时,将与所述向量数据对应的文本数据作为所述回答数据进行返回。
本申请实施例中,向量数据库中还保存向量数据与回答数据的对应关系,进而能够在匹配到第二向量时,即可基于该对应关系快速将第二向量对应的回答数据返回,提升了数据检索的效率。
在一个可选的实施例中,所述通过串联的多个transformer块对所述词向量序列进行特征编码处理的过程中,任一transformer块的处理包括:
步骤1,采用多头注意力机制计算输入向量的加权和向量,其中,所述输入向量为上一个transformer块的输出向量。
本申请实施例中,采用多头注意力机制计算输入向量的加权和向量具体可以包括以下步骤:分别将所述输入向量进行查询-键-值线性变换,得到查询向量、键向量以及值向量;将所述查询向量与所有键向量进行点积运算,得到注意力权重向量;将所述注意力权重向量与所有值向量进行加权求和,得到所述加权和向量。
本申请实施例中,输入向量会分别通过三个线性变换,得到查询向量、键向量和值向量,然后将查询向量与所有键向量进行点积运算,得到一个注意力权重向量。接着,将注意力权重向量与所有值向量进行加权求和,得到一个加权和向量,表示该序列的语义信息。多头自注意力机制的计算过程如下:
线性变换:将输入向量序列分别进行三个线性变换,得到三个向量序列,分别是查询向量序列Q、键向量序列K和值向量序列V。
注意力权重计算:对于每个查询向量Qi,将它与所有键向量Kj进行点积运算,得到一个注意力权重向量αi=[αi1,αi2,...,αin],其中,n表示输入向量序列的长度。注意力权重向量αi表示了输入向量序列中第i个向量与其他向量的相似度,它可以通过将查询向量Qi与所有键向量Kj进行点积运算,然后对结果进行softmax归一化得到。
加权和计算:对于每个查询向量Qi,将它与所有值向量Vj进行加权求和,得到一个加权和向量Oi。具体来说,加权和向量Oi的第k个维度为:Oi[k]=Σj=1n(αij*Vj[k])+m,其中,αij表示了输入向量序列中第i个向量与第j个向量之间的相似度,Vj[k]表示了输入向量序列中第j个向量的第k个维度,m为系统维度熵阀值。
本申请实施例中,查询-键-值(query-key-value)线性变换中,对于每一个输入向量,都可以通过线性变换得到三个不同的向量:查询向量、键向量和值向量。查询向量(Query Vector)用于在后续的步骤中查找或检索信息,键向量(Key Vector)用于和查询向量进行匹配。在某种程度上,键向量表示了输入向量中的某种特征或属性,值向量(ValueVector)包含了与查询向量和键向量相关联的实际信息或特征。在注意力机制中,当查询向量与某个键向量匹配时,与之对应的值向量会被提取出来。为了实现上述的查询-键-值线性变换,需要对输入向量应用三组不同的权重矩阵(和可能的偏置向量)。每组权重矩阵都会将输入向量映射到一个新的空间,从而生成查询、键和值向量。
通过采用多头注意力机制,能够实现以下有益效果:
能够关注多个位置的信息:多头注意力机制可以允许模型同时关注输入序列中的多个位置,从而捕捉更丰富的上下文信息。
能够增强模型的表达能力:不同的头可以关注不同的特征和信息,这样多头注意力机制可以捕捉到不同的语义和关系。通过集成这些不同头的注意力结果,模型能够更全面地理解和表示输入数据。
能够提高模型的稳定性和鲁棒性:通过分散注意力到多个头上,模型可以在不同的子空间中进行计算,这样可以减少某些头可能出现的噪声或异常值对整体性能的影响。
能够提升并行计算能力:多头注意力机制可以并行计算多个头的注意力分数,这样可以提高计算效率。
总的来说,多头注意力机制能够提升模型对复杂和多样数据的理解和处理能力,使得模型在处理自然语言等任务时,能够更全面地捕捉到文本中的语义和上下文信息。
步骤2,将所述加权和向量输入前向网络,以通过所述前向网络提取表征所述文本数据的语义信息的内容特征向量。
本申请实施例中,通过所述前向网络提取表征所述文本数据的语义信息的内容特征向量具体可以包括以下步骤:通过第一权重矩阵和第一偏置向量对所述加权和向量进行第一线性变换,以将所述加权和向量映射到目标特征空间,得到第一中间向量;将所述中间向量输入目标激活函数,以通过所述目标激活函数引入非线性特征,得到第二中间向量;通过第二权重矩阵和第二偏置向量对所述第二中间向量进行第二线性变换,以提取表征语义信息的向量并组合得到所述内容特征向量。
本申请实施例中,前向网络包括两个线性变换和一个激活函数,可以进一步提取语义信息和特征。前向网络对加权和向量的处理过程可以分为以下几个步骤:
第一个线性变换:这个加权和向量会进入网络,首先经过一个线性变换。这个线性变换通常是通过一个权重矩阵和一个偏置向量来实现的,将输入向量映射到一个新的特征空间。
激活函数:经过第一个线性变换后,将得到的结果通过一个激活函数。激活函数的目的是引入非线性,使得网络可以学习并逼近复杂的函数。常用的激活函数包括ReLU、sigmoid、tanh等。
第二个线性变换:激活函数的输出再经过第二个线性变换,同样是通过一个权重矩阵和一个偏置向量来实现的。这个线性变换可以进一步提取和组合特征。
输出:最后,网络的输出可以认为是进一步提取的语义信息和特征。这些输出可以用于后续的任务,比如分类、回归等。
在第一个线性变换和第二个线性变换中,权重矩阵和偏置向量是神经网络中的重要参数。权重矩阵是用于进行线性变换的矩阵。当输入向量与权重矩阵相乘时,输入向量被映射到一个新的特征空间。权重矩阵的每个元素都表示一个特定的权重,决定了输入特征对输出的影响程度。偏置向量是一个与输出特征维度相同的向量。偏置向量的作用是对线性变换的结果进行偏移或平移。它与权重矩阵相乘的结果相加,以便在激活函数之前产生最终的线性输出。偏置向量允许网络学习更加灵活和复杂的决策边界。在神经网络训练过程中,权重矩阵和偏置向量是通过学习算法(如梯度下降)优化得到的。它们的目标是最小化损失函数,以使得网络的预测结果与实际目标尽可能接近。通过调整权重矩阵和偏置向量,神经网络可以学习到输入特征与输出特征之间的复杂关系,从而实现各种任务,如分类、回归和特征提取等。上述第一权重矩阵、第一偏置向量、第二权重矩阵以及第二偏置向量可以根据实际需求对神经网络进行训练并优化得到。
通过将加权和向量输入前向网络,能够利用前向网络提取和编码文本数据的语义信息。通过前向网络的处理,可以进一步捕捉输入数据的高级特征和内容信息,生成更具代表性的内容特征向量。这样的设计有助于模型更准确地理解和把握文本数据的含义,提升后续任务的性能。
步骤3,将所述内容特征向量与输入所述前向网络的所述加权和向量进行残差连接,得到残差连接向量。
本申请实施例中,残差连接的基本思想是将输入直接加到网络的某一层输出上。这样的连接可以帮助网络更好地学习恒等映射,使得网络在深层时也能保持良好的性能。本实施例中,将输入所述前向网络的所述加权和向量直接加到前向网络的最后一层输出上,得到残差连接向量。残差连接的目的是为了防止网络退化,加快模型的训练速度和提高模型的性能。通过将每个子层的输入和输出相加,信息可以更快地传递,有助于解决深度网络中梯度消失或梯度爆炸的问题,使模型更加稳定和高效。
步骤4,将所述残差连接向量输入归一化层进行归一化,得到归一化向量。
本申请实施例中,归一化可以通过将所述残差连接向量除以其长度来实现。具体的归一化方法有多种,如Min-Max归一化、Z-Score归一化等。归一化的目的是为了稳定模型的训练过程,加速模型的收敛,并使得模型对不同的输入数据具有更好的泛化能力。通过归一化,可以将数据调整到一定的范围内,消除数据间的尺度差异,这样可以有效地防止梯度消失或梯度爆炸的问题,提高模型的训练效率。
步骤5,获取所述文本数据的位置编码向量,并将所述归一化向量与所述位置编码向量相加,得到具有顺序信息的多维输出向量。
本申请实施例中,位置编码(Positional Encoding)是用于捕获序列数据中元素的位置信息的技术。对于文本数据,通常会将每个单词或词嵌入转换为一个向量,但这个向量本身并不包含单词在句子中的位置信息。为了获取这种位置信息,可以使用位置编码。位置编码向量通常是根据单词或词嵌入在序列中的位置计算得到的。可以采用不同的函数来生成位置编码,例如使用正弦和余弦函数。一旦得到了归一化向量和位置编码向量,就可以将它们逐元素相加。这样,每个元素都会包含原始特征信息和其在序列中的位置信息。这一相加的操作可以帮助模型更好地捕捉序列数据中的模式和结构,因为模型现在可以同时访问到特征信息和位置信息。通过上述的相加操作,会得到一个新的多维输出向量。这个输出向量不仅包含了原始输入的特征信息(通过归一化向量),还包含了每个特征在序列中的位置信息(通过位置编码向量)。这个具有顺序信息的多维输出向量可以被用作后续任务的输入,例如用于分类、回归或者其他序列生成任务。
位置编码的目的是为了捕获序列数据中元素的位置信息,并将这些信息整合到模型的特征表示中。在Transformer模型中,由于自注意力机制本身并不包含位置信息,位置编码被引入到输入嵌入中以提供位置信息。这样,模型可以感知并利用序列中单词的位置关系,从而更好地理解和处理文本数据。位置编码通常是固定或预计算的,并且在所有的训练步骤中保持不变。
步骤6,将所述多维输出向量作为当前transformer块的输出向量,并作为下一个transformer块的输入向量。
本申请实施例中,采用多个Transformer处理的目的是增强模型的表达能力和学习能力。每个Transformer块都能够对输入数据进行特征编码和处理,通过串联多个Transformer块,模型可以逐层抽象和捕获更高级别的特征表示。这种多级处理的方式有助于捕捉更复杂的模式和结构,使模型能够更深入地理解文本数据的语义和上下文信息。同时,多个Transformer块的叠加也可以增加模型的容量,使其能够处理更复杂的任务。
以上介绍了基于大语言模型建立目标向量数据库的方式,当然,还可以基于One-hot编码、TF-IDF、Word2Vec以及图嵌入(Graph Embedding)的方式来建立目标向量数据库。具体的,准备大规模的自然语言数据和知识图谱数据,并进行预处理、清洗、转换等操作,将数据转换为统一格式,提取出需要的特征,以提高数据质量和可用性。将知识图谱数据、半结构化数据、结构化数据通过上述方式提取特征值,最后将One-hot编码、TF-IDF、Word2Vec、图嵌入等形成的特征集合成新的基础向量数据保存在目标向量数据库。
在一个可选的实施例中,所述在目标向量数据库中查询与所述第一向量匹配度最高的第二向量包括:
步骤1,将所述第一向量和所述目标向量数据库中的第三向量分别进行归一化,得到第一归一化向量和第二归一化向量;
步骤2,计算所述第一归一化向量和所述第二归一化向量之间的夹角余弦值;
步骤3,将所述夹角余弦值作为所述第一向量和所述第三向量的相似度;
步骤4,将所述相似度最高的一个所述第三向量确定为与所述第一向量匹配度最高的所述第二向量。
本申请实施例中,向量数据库中的向量数据可以被用于相似度搜索,即根据给定的查询向量,从向量数据库中找到最相似的向量数据。这在图像识别、自然语言处理等领域中非常常见,例如基于图像的物体检测、相似图像搜索、基于语义的文本搜索等。相关算法如下:
将两个向量进行归一化处理,把所有高维向量映射到低维空间,使其长度为1。这可以通过将每个向量除以其长度来实现。即对于向量a和向量b,它们的长度分别为len(a)和len(b),则归一化后的向量为a'=a/len(a)和b'=b/len(b)。
计算两个归一化向量之间的夹角余弦值,即cosθ=a'·b'/(len(a')*len(b'))+m。其中,a'∙b'表示向量a'和向量b'的点积,len(a')*len(b')表示向量a'和向量b'的长度乘积,m为系统熵阀值。
将夹角余弦值作为两个向量之间的相似度。夹角余弦值越接近1,表示两个向量之间的夹角越小,相似度越高;夹角余弦值越接近0,表示两个向量之间的夹角越大,相似度越低。
在一个可选的实施例中,所述在目标向量数据库中查询与所述第一向量匹配度最高的第二向量还包括:
步骤1,在所述第一向量为图像的向量时,随机从所述目标向量数据库中选择一个向量作为初级节点;
步骤2,从所述初级节点开始,逐级寻找每一级节点中与所述第一向量的相似度最高的前k个节点,以逐层构建多层图,其中,当前层级找到的前k个节点作为前一层级的邻居节点,所述邻居节点与前一层级找到的前k个节点连接,并作为下一层级的起始点继续寻找与所述第一向量的相似度最高的前k个节点;
步骤3,当搜索的节点层数达到层数阈值或搜索到的节点数达到点数阈值时,将当前得到的所述多层图作为与所述第一向量匹配度最高的第二向量。
本申请实施例中,如果搜索的是图像,则从目标数据库中随机选择一个向量作为起始节点。将该节点标记为0级节点,然后将其加入到图中,从0级节点开始,逐层构建多层图。对于每个节点,首先在同一层中找到与其余弦相似度最高的k个节点,将它们作为其邻居节点,并将其与邻居节点之间建立连接。然后,将该节点加入到下一层,并在下一层中找到与其余弦相似度最高的k个节点,将它们作为其邻居节点,并将其与邻居节点之间建立连接。这个过程会一直进行到达预设的搜索层数或者找到足够数量的结果节点为止。
为了提高搜索效率,在搜索过程中,对于每个潜在结果节点,计算其与查询向量的余弦相似度,并与当前最优结果的相似度进行比较。如果潜在结果节点的相似度低于当前最优结果的相似度,那么就可以将其排除在搜索范围之外,从而减少搜索的时间和空间复杂度。
在一个可选的实施例中,向量数据库中的向量数据还可以被用于聚类分析,即将相似的向量数据划分到同一个簇中,从而更好地理解数据的结构和特征。例如,在客户细分中,可以将相似的客户划分到同一个簇中,从而更好地了解其需求和行为。
如图3所示为本申请提供的数据检索方案的应用架构,图3中,该应用架构分为数据层、系统层以及应用层,数据层表示了信息来源,如图像、视频、结构体数据以及半结构体数据等。系统层表示数据处理算法逻辑过程,即基于大语言模型建立向量数据库,以提供给应用层进行数据搜索和聚类分析等服务。
本申请利用大语言模型建立目标向量数据库,利用向量数据库允许根据向量距离或相似性快速准确地搜索和检索数据,存储与其想要的领域或行业相关的不同主题、关键字、事实、观点、来源的信息,提高文本检索、语音/视频/图像检索、个性化推荐、智能搜索、智能问答等场景的准确度和速度,解决了大模型回答不准确、回答效率低的技术问题。
根据本申请实施例的又一方面,如图4所示,提供了一种数据检索装置,包括:
获取模块401,用于获取提问数据;
转换模块403,用于将所述提问数据转换为第一向量;
查询模块405,用于在目标向量数据库中查询与所述第一向量匹配度最高的第二向量,其中,所述目标向量数据库是预先基于大语言模型建立的,所述目标向量数据库包括有所述第二向量和对应的回答数据之间的对应关系;
回答模块407,用于返回与所述第二向量对应的回答数据作为所述提问数据的回答。
需要说明的是,该实施例中的获取模块401可以用于执行本申请实施例中的步骤S202,该实施例中的转换模块403可以用于执行本申请实施例中的步骤S204,该实施例中的查询模块405可以用于执行本申请实施例中的步骤S206,该实施例中的回答模块407可以用于执行本申请实施例中的步骤S208。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。
可选地,该数据检索装置,还包括:向量数据库建立模块,用于:获取目标业务领域的文本数据,其中,所述目标业务领域为所述目标向量数据库面向的应用领域;将所述文本数据进行分词,得到词序列;将每一个所述词序列嵌入到预设长度的向量空间中,得到词向量序列;将所述词向量序列输入到串联的多个transformer块中的第一个transformer块,以通过串联的多个transformer块对所述词向量序列进行特征编码处理;获取最后一个transformer块输出的向量数据作为所述文本数据的语义特征保存到所述目标向量数据库中,并将所述向量数据和文本数据之间的对应关系保存在所述目标向量数据库中,以使提问数据在所述目标向量数据库中匹配到对应的向量数据时,将与所述向量数据对应的文本数据作为所述回答数据进行返回。
可选地,该向量数据库建立模块通过串联的多个transformer块对所述词向量序列进行特征编码处理的过程中,任一transformer块的处理包括:采用多头注意力机制计算输入向量的加权和向量,其中,所述输入向量为上一个transformer块的输出向量;将所述加权和向量输入前向网络,以通过所述前向网络提取表征所述文本数据的语义信息的内容特征向量;将所述内容特征向量与输入所述前向网络的所述加权和向量进行残差连接,得到残差连接向量;将所述残差连接向量输入归一化层进行归一化,得到归一化向量;获取所述文本数据的位置编码向量,并将所述归一化向量与所述位置编码向量相加,得到具有顺序信息的多维输出向量;将所述多维输出向量作为当前transformer块的输出向量,并作为下一个transformer块的输入向量。
可选地,该向量数据库建立模块,还用于:分别将所述输入向量进行查询-键-值线性变换,得到查询向量、键向量以及值向量;将所述查询向量与所有键向量进行点积运算,得到注意力权重向量;将所述注意力权重向量与所有值向量进行加权求和,得到所述加权和向量。
可选地,该向量数据库建立模块,还用于:通过第一权重矩阵和第一偏置向量对所述加权和向量进行第一线性变换,以将所述加权和向量映射到目标特征空间,得到第一中间向量;将所述中间向量输入目标激活函数,以通过所述目标激活函数引入非线性特征,得到第二中间向量;通过第二权重矩阵和第二偏置向量对所述第二中间向量进行第二线性变换,以提取表征语义信息的向量并组合得到所述内容特征向量。
可选地,该查询模块,具体用于:将所述第一向量和所述目标向量数据库中的第三向量分别进行归一化,得到第一归一化向量和第二归一化向量;计算所述第一归一化向量和所述第二归一化向量之间的夹角余弦值;将所述夹角余弦值作为所述第一向量和所述第三向量的相似度;将所述相似度最高的一个所述第三向量确定为与所述第一向量匹配度最高的所述第二向量。
可选地,该查询模块,还用于:在所述第一向量为图像的向量时,随机从所述目标向量数据库中选择一个向量作为初级节点;从所述初级节点开始,逐级寻找每一级节点中与所述第一向量的相似度最高的前k个节点,以逐层构建多层图,其中,当前层级找到的前k个节点作为前一层级的邻居节点,所述邻居节点与前一层级找到的前k个节点连接,并作为下一层级的起始点继续寻找与所述第一向量的相似度最高的前k个节点;当搜索的节点层数达到层数阈值或搜索到的节点数达到点数阈值时,将当前得到的所述多层图作为与所述第一向量匹配度最高的第二向量。
根据本申请实施例的另一方面,本申请提供了一种电子设备,如图5所示,包括存储器501、处理器503、通信接口505及通信总线507,存储器501中存储有可在处理器503上运行的计算机程序,存储器501、处理器503通过通信接口505和通信总线507进行通信,处理器503执行计算机程序时实现上述方法的步骤。
上述电子设备中的存储器、处理器通过通信总线和通信接口进行通信。所述通信总线可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
根据本申请实施例的又一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一实施例的步骤。
可选地,在本申请实施例中,计算机可读介质被设置为存储用于所述处理器执行以下步骤的程序代码:
获取提问数据;
将所述提问数据转换为第一向量;
在目标向量数据库中查询与所述第一向量匹配度最高的第二向量,其中,所述目标向量数据库是预先基于大语言模型建立的,所述目标向量数据库包括有所述第二向量和对应的回答数据之间的对应关系;
返回与所述第二向量对应的回答数据作为所述提问数据的回答。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本申请实施例在具体实现时,可以参阅上述各个实施例,具有相应的技术效果。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable LogicDevice,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文所述功能的单元来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种数据检索方法,其特征在于,包括:
获取提问数据;
将所述提问数据转换为第一向量;
在目标向量数据库中查询与所述第一向量匹配度最高的第二向量,其中,所述目标向量数据库是预先基于大语言模型建立的,所述目标向量数据库包括有所述第二向量和对应的回答数据之间的对应关系;
返回与所述第二向量对应的回答数据作为所述提问数据的回答;
所述在目标向量数据库中查询与所述第一向量匹配度最高的第二向量之前,所述方法还包括按照如下方式基于大语言模型建立所述目标向量数据库:获取目标业务领域的文本数据,其中,所述目标业务领域为所述目标向量数据库面向的应用领域;将所述文本数据进行分词,得到词序列;将每一个所述词序列嵌入到预设长度的向量空间中,得到词向量序列;将所述词向量序列输入到串联的多个transformer块中的第一个transformer块,以通过串联的多个transformer块对所述词向量序列进行特征编码处理;获取最后一个transformer块输出的向量数据作为所述文本数据的语义特征保存到所述目标向量数据库中,并将所述向量数据和文本数据之间的对应关系保存在所述目标向量数据库中,以使提问数据在所述目标向量数据库中匹配到对应的向量数据时,将与所述向量数据对应的文本数据作为所述回答数据进行返回;
所述通过串联的多个transformer块对所述词向量序列进行特征编码处理的过程中,任一transformer块的处理包括:采用多头注意力机制计算输入向量的加权和向量,其中,所述输入向量为上一个transformer块的输出向量;将所述加权和向量输入前向网络,以通过所述前向网络提取表征所述文本数据的语义信息的内容特征向量;将所述内容特征向量与输入所述前向网络的所述加权和向量进行残差连接,得到残差连接向量;将所述残差连接向量输入归一化层进行归一化,得到归一化向量;获取所述文本数据的位置编码向量,并将所述归一化向量与所述位置编码向量相加,得到具有顺序信息的多维输出向量;将所述多维输出向量作为当前transformer块的输出向量,并作为下一个transformer块的输入向量。
2.根据权利要求1所述的方法,其特征在于,所述采用多头注意力机制计算输入向量的加权和向量包括:
分别将所述输入向量进行查询-键-值线性变换,得到查询向量、键向量以及值向量;
将所述查询向量与所有键向量进行点积运算,得到注意力权重向量;
将所述注意力权重向量与所有值向量进行加权求和,得到所述加权和向量。
3.根据权利要求1所述的方法,其特征在于,所述通过所述前向网络提取表征所述文本数据的语义信息的内容特征向量包括:
通过第一权重矩阵和第一偏置向量对所述加权和向量进行第一线性变换,以将所述加权和向量映射到目标特征空间,得到第一中间向量;
将所述中间向量输入目标激活函数,以通过所述目标激活函数引入非线性特征,得到第二中间向量;
通过第二权重矩阵和第二偏置向量对所述第二中间向量进行第二线性变换,以提取表征语义信息的向量并组合得到所述内容特征向量。
4.根据权利要求1至3任一所述的方法,其特征在于,所述在目标向量数据库中查询与所述第一向量匹配度最高的第二向量包括:
将所述第一向量和所述目标向量数据库中的第三向量分别进行归一化,得到第一归一化向量和第二归一化向量;
计算所述第一归一化向量和所述第二归一化向量之间的夹角余弦值;
将所述夹角余弦值作为所述第一向量和所述第三向量的相似度;
将所述相似度最高的一个所述第三向量确定为与所述第一向量匹配度最高的所述第二向量。
5.根据权利要求1至3任一所述的方法,其特征在于,所述在目标向量数据库中查询与所述第一向量匹配度最高的第二向量还包括:
在所述第一向量为图像的向量时,随机从所述目标向量数据库中选择一个向量作为初级节点;
从所述初级节点开始,逐级寻找每一级节点中与所述第一向量的相似度最高的前k个节点,以逐层构建多层图,其中,当前层级找到的前k个节点作为前一层级的邻居节点,所述邻居节点与前一层级找到的前k个节点连接,并作为下一层级的起始点继续寻找与所述第一向量的相似度最高的前k个节点;
当搜索的节点层数达到层数阈值或搜索到的节点数达到点数阈值时,将当前得到的所述多层图作为与所述第一向量匹配度最高的第二向量。
6.一种数据检索装置,其特征在于,包括:
获取模块,用于获取提问数据;
转换模块,用于将所述提问数据转换为第一向量;
查询模块,用于在目标向量数据库中查询与所述第一向量匹配度最高的第二向量,其中,所述目标向量数据库是预先基于大语言模型建立的;
回答模块,用于返回与所述第二向量对应的回答数据作为所述提问数据的回答;
向量数据库建立模块,用于:获取目标业务领域的文本数据,其中,所述目标业务领域为所述目标向量数据库面向的应用领域;将所述文本数据进行分词,得到词序列;将每一个所述词序列嵌入到预设长度的向量空间中,得到词向量序列;将所述词向量序列输入到串联的多个transformer块中的第一个transformer块,以通过串联的多个transformer块对所述词向量序列进行特征编码处理;获取最后一个transformer块输出的向量数据作为所述文本数据的语义特征保存到所述目标向量数据库中,并将所述向量数据和文本数据之间的对应关系保存在所述目标向量数据库中,以使提问数据在所述目标向量数据库中匹配到对应的向量数据时,将与所述向量数据对应的文本数据作为所述回答数据进行返回;
所述向量数据库建立模块通过串联的多个transformer块对所述词向量序列进行特征编码处理的过程中,任一transformer块的处理包括:采用多头注意力机制计算输入向量的加权和向量,其中,所述输入向量为上一个transformer块的输出向量;将所述加权和向量输入前向网络,以通过所述前向网络提取表征所述文本数据的语义信息的内容特征向量;将所述内容特征向量与输入所述前向网络的所述加权和向量进行残差连接,得到残差连接向量;将所述残差连接向量输入归一化层进行归一化,得到归一化向量;获取所述文本数据的位置编码向量,并将所述归一化向量与所述位置编码向量相加,得到具有顺序信息的多维输出向量;将所述多维输出向量作为当前transformer块的输出向量,并作为下一个transformer块的输入向量。
7.一种电子设备,包括存储器、处理器、通信接口及通信总线,所述存储器中存储有可在所述处理器上运行的计算机程序,所述存储器、所述处理器通过所述通信总线和所述通信接口进行通信,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至5任一项所述的方法的步骤。
8.一种具有处理器可执行的非易失的程序代码的计算机可读介质,其特征在于,所述程序代码使所述处理器执行所述权利要求1至5任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311822316.4A CN117473071B (zh) | 2023-12-27 | 2023-12-27 | 数据检索方法、装置、设备及计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311822316.4A CN117473071B (zh) | 2023-12-27 | 2023-12-27 | 数据检索方法、装置、设备及计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117473071A CN117473071A (zh) | 2024-01-30 |
CN117473071B true CN117473071B (zh) | 2024-04-05 |
Family
ID=89626061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311822316.4A Active CN117473071B (zh) | 2023-12-27 | 2023-12-27 | 数据检索方法、装置、设备及计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117473071B (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107229688A (zh) * | 2017-05-12 | 2017-10-03 | 上海前隆金融信息服务有限公司 | 一种数据库水平分库分表方法及系统、服务器 |
CN108595695A (zh) * | 2018-05-08 | 2018-09-28 | 和美(深圳)信息技术股份有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN110019736A (zh) * | 2017-12-29 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 基于语言模型的问答匹配方法、系统、设备及存储介质 |
WO2021082982A1 (zh) * | 2019-10-29 | 2021-05-06 | 平安科技(深圳)有限公司 | 基于图谱化知识库的问答方法、设备、存储介质及装置 |
CN115391506A (zh) * | 2022-08-18 | 2022-11-25 | 重庆邮电大学 | 针对多段式回复的问答内容标准性检测方法及装置 |
CN115935442A (zh) * | 2022-12-09 | 2023-04-07 | 湖南天河国云科技有限公司 | 基于多智能体深度强化学习的区块链性能优化方法 |
CN116108150A (zh) * | 2022-12-19 | 2023-05-12 | 达闼科技(北京)有限公司 | 一种智能问答方法、装置、系统及电子设备 |
CN116662582A (zh) * | 2023-08-01 | 2023-08-29 | 成都信通信息技术有限公司 | 基于自然语言的特定领域业务知识检索方法及检索装置 |
CN116775847A (zh) * | 2023-08-18 | 2023-09-19 | 中国电子科技集团公司第十五研究所 | 一种基于知识图谱和大语言模型的问答方法和系统 |
CN117033394A (zh) * | 2023-10-08 | 2023-11-10 | 卓世科技(海南)有限公司 | 一种大语言模型驱动的向量数据库构建方法及系统 |
CN117056471A (zh) * | 2023-07-11 | 2023-11-14 | 数字郑州科技有限公司 | 知识库构建方法及基于生成式大语言模型的问答对话方法和系统 |
CN117076719A (zh) * | 2023-10-12 | 2023-11-17 | 北京枫清科技有限公司 | 一种基于大语言模型的数据库联合查询方法、装置和设备 |
CN117076636A (zh) * | 2023-08-18 | 2023-11-17 | 北京天威诚信电子商务服务有限公司 | 一种智能客服的信息查询方法、系统和设备 |
CN117171331A (zh) * | 2023-11-01 | 2023-12-05 | 清华大学 | 基于大型语言模型的专业领域信息交互方法、装置及设备 |
-
2023
- 2023-12-27 CN CN202311822316.4A patent/CN117473071B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107229688A (zh) * | 2017-05-12 | 2017-10-03 | 上海前隆金融信息服务有限公司 | 一种数据库水平分库分表方法及系统、服务器 |
CN110019736A (zh) * | 2017-12-29 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 基于语言模型的问答匹配方法、系统、设备及存储介质 |
CN108595695A (zh) * | 2018-05-08 | 2018-09-28 | 和美(深圳)信息技术股份有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
WO2021082982A1 (zh) * | 2019-10-29 | 2021-05-06 | 平安科技(深圳)有限公司 | 基于图谱化知识库的问答方法、设备、存储介质及装置 |
CN115391506A (zh) * | 2022-08-18 | 2022-11-25 | 重庆邮电大学 | 针对多段式回复的问答内容标准性检测方法及装置 |
CN115935442A (zh) * | 2022-12-09 | 2023-04-07 | 湖南天河国云科技有限公司 | 基于多智能体深度强化学习的区块链性能优化方法 |
CN116108150A (zh) * | 2022-12-19 | 2023-05-12 | 达闼科技(北京)有限公司 | 一种智能问答方法、装置、系统及电子设备 |
CN117056471A (zh) * | 2023-07-11 | 2023-11-14 | 数字郑州科技有限公司 | 知识库构建方法及基于生成式大语言模型的问答对话方法和系统 |
CN116662582A (zh) * | 2023-08-01 | 2023-08-29 | 成都信通信息技术有限公司 | 基于自然语言的特定领域业务知识检索方法及检索装置 |
CN116775847A (zh) * | 2023-08-18 | 2023-09-19 | 中国电子科技集团公司第十五研究所 | 一种基于知识图谱和大语言模型的问答方法和系统 |
CN117076636A (zh) * | 2023-08-18 | 2023-11-17 | 北京天威诚信电子商务服务有限公司 | 一种智能客服的信息查询方法、系统和设备 |
CN117033394A (zh) * | 2023-10-08 | 2023-11-10 | 卓世科技(海南)有限公司 | 一种大语言模型驱动的向量数据库构建方法及系统 |
CN117076719A (zh) * | 2023-10-12 | 2023-11-17 | 北京枫清科技有限公司 | 一种基于大语言模型的数据库联合查询方法、装置和设备 |
CN117171331A (zh) * | 2023-11-01 | 2023-12-05 | 清华大学 | 基于大型语言模型的专业领域信息交互方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN117473071A (zh) | 2024-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108959246B (zh) | 基于改进的注意力机制的答案选择方法、装置和电子设备 | |
CN109033068B (zh) | 基于注意力机制的用于阅读理解的方法、装置和电子设备 | |
WO2021143800A1 (en) | System and method for semantic analysis of multimedia data using attention-based fusion network | |
CN111581973B (zh) | 一种实体消歧方法及系统 | |
Cao et al. | Landmark recognition with compact BoW histogram and ensemble ELM | |
CN111597298A (zh) | 一种基于深度对抗离散哈希学习的跨模态检索方法及装置 | |
CN113157886B (zh) | 一种自动问答生成方法、系统、终端及可读存储介质 | |
CN113268609A (zh) | 基于知识图谱的对话内容推荐方法、装置、设备及介质 | |
CN113806554B (zh) | 面向海量会议文本的知识图谱构建方法 | |
Zhang et al. | Tell and guess: cooperative learning for natural image caption generation with hierarchical refined attention | |
CN113076465A (zh) | 一种基于深度哈希的通用跨模态检索模型 | |
CN111597816A (zh) | 一种自注意力命名实体识别方法、装置、设备及存储介质 | |
CN114328943A (zh) | 基于知识图谱的问题回答方法、装置、设备及存储介质 | |
CN111538803A (zh) | 待匹配的候选提问文本获取方法及装置、设备及介质 | |
CN117473071B (zh) | 数据检索方法、装置、设备及计算机可读介质 | |
US20240037335A1 (en) | Methods, systems, and media for bi-modal generation of natural languages and neural architectures | |
Liu et al. | Attention based r&cnn medical question answering system in chinese | |
Song et al. | Interaction-and-response network for distantly supervised relation extraction | |
CN113204679B (zh) | 一种代码查询模型的生成方法和计算机设备 | |
CN114550159A (zh) | 一种图像字幕生成方法、装置、设备及可读存储介质 | |
CN113569867A (zh) | 一种图像处理方法、装置、计算机设备及存储介质 | |
CN114329064A (zh) | 视频处理方法、装置、计算机设备及存储介质 | |
CN113420111A (zh) | 一种用于多跳推理问题的智能问答方法及装置 | |
CN111291788A (zh) | 一种基于神经网络的图像描述方法、系统、设备以及介质 | |
CN112749554A (zh) | 确定文本匹配度的方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |