掌桥专利:专业的专利平台
掌桥专利
首页

确定问答系统的嵌入模型参数的方法、装置及计算设备

文献发布时间:2024-04-18 20:00:50


确定问答系统的嵌入模型参数的方法、装置及计算设备

技术领域

本发明涉及人工智能技术领域,尤其涉及一种确定问答系统的嵌入模型参数的方法、确定问答系统的嵌入模型参数的装置及计算设备。

背景技术

基于向量库和大模型的问答系统是一种基于向量表示和相似度计算的方法来进行问题回答的系统,该系统主要由嵌入模型、向量库、大语言模型组成,工作流程如下:首先,系统先将已有的文本进行分块处理,再通过嵌入模型将文本块转换为向量表示并将结果存入向量库中,当用户提出问题时,系统将用户的问题转换为向量表示,并与向量库中的向量进行相似度计算,选出相似度最高的前几个文本块,最后,大模型基于用户的问题和这些文本块生成答案并返回给用户。

问答系统的嵌入模型目前存在以下几个问题:1)缺少标注数据,该系统所使用的文本一般来自本地文档或网页,没有针对这些文本的嵌入模型搜索的标注数据,而人工标注数据不仅耗时耗力而且无法大量标注数据;2)无法选择合适的切分文本块的大小,向量库中的文本是由大文本切分成的小块文本,需要确定一个合适的分块大小来切分文本,以达到嵌入模型更好的语义匹配效果;3)无法选择合适的文本块检索数量,检索更多的文本块能够获取到更多相关的数据,但是还需要考虑大语言模型的标识(token)数量限制、对长文本的理解能力和推理的成本;4)无法选择合适的嵌入模型,对于不同的嵌入模型,需要能够确定在该系统的搜索效果,以选择更适合的嵌入模型。

因此,需要一种确定问答系统的嵌入模型参数的方法,以解决上述技术方案中存在的至少一个问题

发明内容

为此,本发明提供一种确定问答系统的嵌入模型参数的方法及确定问答系统的嵌入模型参数的装置,以解决或至少缓解上面存在的问题。

根据本发明的一个方面,提供一种确定问答系统的嵌入模型参数的方法,包括:生成测试数据集,所述测试数据集包含多个测试数据项,每个所述测试数据项分别包括查询信息和对应的预期查询结果;为嵌入模型构建多个参数组合,每个所述参数组合分别包括所述嵌入模型的分块大小参数、目标检索数量参数,其中,所述分块大小参数表征对文本内容进行向量化处理时的分块大小,所述目标检索数量参数表征需要搜索出的相似文本块的数量;对于任一所述参数组合,获取所述测试数据集中的任一测试数据项,通过所述嵌入模型基于所述参数组合,从向量库中搜索出与所述测试数据项中的查询信息相似度最高的一个或多个相似文本块;响应于搜索出的所述一个或多个相似文本块中包含所述测试数据项中的预期查询结果,确定所述查询信息对应的预期查询结果命中;确定所述测试数据集中的多个查询信息对应的预期查询结果的命中率,作为所述嵌入模型基于所述参数组合的搜索命中率;根据所述嵌入模型基于各个参数组合的搜索命中率,确定所述嵌入模型的最优参数组合。

可选地,在根据本发明的确定问答系统的嵌入模型参数的方法中,所述问答系统包括大语言模型;所述查询信息和搜索出的所述一个或多个相似文本块用于组合生成提问信息,以通过所述大语言模型基于所述提问信息生成回答信息;根据所述嵌入模型基于各个参数组合的搜索命中率,确定所述嵌入模型的最优参数组合,包括:选择符合预定条件的一个或多个参数组合作为候选参数组合,其中,所述预定条件为:分块大小参数*目标检索数量参数+所述回答信息的标识数≤标识长度阈值;根据所述嵌入模型基于各个候选参数组合的搜索命中率,从所述各个候选参数组合中选择所述嵌入模型的最优参数组合。

可选地,在根据本发明的确定问答系统的嵌入模型参数的方法中,根据所述嵌入模型基于各个参数组合的搜索命中率,确定所述嵌入模型的最优参数组合,包括:根据所述嵌入模型基于各个参数组合的搜索命中率,选择搜索命中率最高的一个或多个参数组合作为所述嵌入模型的最优参数组合。

可选地,在根据本发明的确定问答系统的嵌入模型参数的方法中,通过所述嵌入模型基于所述参数组合,从向量库中搜索出与所述测试数据项中的查询信息相似度最高的一个或多个相似文本块,包括:通过所述嵌入模型基于所述参数组合中的分块大小参数,对本文内容进行向量化处理,以得到向量库;通过所述嵌入模型基于所述参数组合中的目标检索数量参数,从所述向量库中搜索出与所述测试数据项中的查询信息相似度最高的一个或多个相似文本块。

可选地,在根据本发明的确定问答系统的嵌入模型参数的方法中,为嵌入模型构建多个参数组合,包括:对于多种嵌入模型中的任一种嵌入模型,为所述嵌入模型构建多个参数组合,以便确定所述嵌入模型的最优参数组合。

可选地,在根据本发明的确定问答系统的嵌入模型参数的方法中,还包括:确定多种所述嵌入模型基于对应的最优参数组合的搜索命中率,以便选择最优嵌入模型。

可选地,在根据本发明的确定问答系统的嵌入模型参数的方法中,为嵌入模型构建多个参数组合,包括:从标识数集合中获取任一标识数,作为所述嵌入模型的分块大小参数;从获取数集合中获取任一获取数,作为所述嵌入模型的目标检索数量参数;基于所述分块大小参数和所述目标检索数量参数,得到一个参数组合,以便基于所述标识数集合和所述获取数集合,构建多个参数组合。

可选地,在根据本发明的确定问答系统的嵌入模型参数的方法中,还包括:基于标识数取值范围和标识数取值间隔,构建标识数集合;基于获取数取值范围和获取数取值间隔,构建获取数集合;其中,所述标识数取值范围大于所述获取数取值范围。

可选地,在根据本发明的确定问答系统的嵌入模型参数的方法中,生成测试数据集,包括:获取所述向量库中的任一文本块,生成随机数作为从所述文本块中获取文本的开始行数;基于所述开始行数,从所述文本块中获取第一预定行数文本作为查询信息,并将所述文本块作为所述查询信息对应的预期查询结果;基于所述查询信息和对应的所述预期查询结果,得到所述文本块对应的测试数据项;基于所述向量库中的多个文本块对应的多个测试数据项,生成测试数据集。

可选地,在根据本发明的确定问答系统的嵌入模型参数的方法中,生成测试数据集,包括:从文本内容中获取多个标题;对于任一标题,将所述标题作为查询信息,并从所述标题对应的正文内容中选择第二预定行数文本作为所述查询信息对应的预期查询结果,得到所述标题对应的测试数据项;基于所述多个标题对应的多个测试数据项,生成测试数据集。

可选地,在根据本发明的确定问答系统的嵌入模型参数的方法中,从向量库中搜索出与所述测试数据项中的查询信息相似度最高的一个或多个相似文本块,包括:将所述查询信息转换为对应的查询向量,从所述向量库中搜索出与所述查询向量相似度最高的一个或多个相似向量;将所述一个或多个相似向量转换为对应的一个或多个相似文本块。

根据本发明的一个方面,提供一种确定问答系统的嵌入模型参数的装置,包括:测试集生成模块,适于生成测试数据集,所述测试数据集包含多个测试数据项,每个所述测试数据项分别包括查询信息和对应的预期查询结果;参数构建模块,为嵌入模型构建多个参数组合,每个所述参数组合分别包括所述嵌入模型的分块大小参数、目标检索数量参数,其中,所述分块大小参数表征对文本内容进行向量化处理时的分块大小,所述目标检索数量参数表征需要搜索出的相似文本块的数量;测试模块,适于对于任一所述参数组合,获取所述测试数据集中的任一测试数据项,通过所述嵌入模型基于所述参数组合,从向量库中搜索出与所述测试数据项中的查询信息相似度最高的一个或多个相似文本块;第一确定模块,适于响应于搜索出的所述一个或多个相似文本块中包含所述测试数据项中的预期查询结果,确定所述查询信息对应的预期查询结果命中;第二确定模块,适于确定所述测试数据集中的多个查询信息对应的预期查询结果的命中率,作为所述嵌入模型基于所述参数组合的搜索命中率;参数确定模块,适于根据所述嵌入模型基于各个参数组合的搜索命中率,确定所述嵌入模型的最优参数组合。

根据本发明的一个方面,提供一种计算设备,包括:至少一个处理器;存储器,存储有程序指令,其中,程序指令被配置为适于由上述至少一个处理器执行,所述程序指令包括用于执行如上所述的确定问答系统的嵌入模型参数的方法的指令。

根据本发明的一个方面,提供一种存储有程序指令的可读存储介质,当该程序指令被计算设备读取并执行时,使得该计算设备执行如上所述的确定问答系统的嵌入模型参数的方法。

根据本发明的技术方案,提供了一种确定问答系统的嵌入模型参数的方法,通过生成测试数据集,为嵌入模型构建多个包含嵌入模型的分块大小参数和目标检索数量参数的参数组合,对于任一参数组合,可以获取测试数据集中的任一测试数据项,通过嵌入模型基于参数组合从向量库中搜索出与测试数据项中的查询信息相似度最高的一个或多个相似文本块,如果搜索出的一个或多个相似文本块中包含测试数据项中的预期查询结果,可以确定查询信息对应的预期查询结果命中。通过确定测试数据集中的多个查询信息对应的预期查询结果的命中率,来作为嵌入模型基于参数组合的搜索命中率。根据嵌入模型基于各个参数组合的搜索命中率,来确定嵌入模型的最优参数组合。基于此,通过生成测试数据集解决了缺少标注数据的问题,通过构建多个参数组合可以针对分块大小和目标检索数量进行多种组合测试,能更充分地了解嵌入模型在问答系统中的向量搜索效果,最终能实现为嵌入模型选择搜索效果更好的最优参数组合。

进一步地,本发明通过为多种嵌入模型分别构建对应的多个参数组合,来确定每种嵌入模型的最优参数组合,并根据多种嵌入模型基于对应的最优参数组合的搜索命中率,来从多种嵌入模型中选择最优嵌入模型。这样,便于不同嵌入模型的搜索效果,能实现从多种嵌入模型中选择出搜索效果最好的嵌入模型。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。

图1示出了根据本发明一个实施例的确定问答系统的嵌入模型参数的装置100的示意图;

图2示出了根据本发明一个实施例的计算设备200的示意图;

图3示出了根据本发明一个实施例的确定问答系统的嵌入模型参数的方法300的流程示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

图1示出了根据本发明一个实施例的确定问答系统的嵌入模型参数的装置100的示意图。根据本发明的确定问答系统的嵌入模型参数的装置100可用于确定问答系统使用的嵌入模型的最优参数组合,还可以从多种嵌入模型中选择出搜索效果最好的最优嵌入模型。

需要说明的是,问答系统包括向量库、一种或多种嵌入模型、大语言模型(即LargeLanguage Model,缩写为LLM)。向量库中可以包含多个向量和对应的文本块,其中,每个向量分别对应一个文本块。这里,向量是对应的文本块的向量表示。

如图1所示,在本发明的实施例中,确定问答系统的嵌入模型参数的装置100包括测试集生成模块110、参数构建模块120、测试模块130、第一确定模块140、第二确定模块150、参数确定模块160。其中,测试模块130分别与测试集生成模块110、参数构建模块120耦接,且测试模块130与第一确定模块140耦接。第一确定模块140、第二确定模块150、参数确定模块160依次耦接。另外,测试集生成模块110、测试模块130分别可以与向量库耦接。

在本发明的实施例中,测试模块130可以对于任一所述参数组合,获取测试数据集中的任一测试数据项,通过嵌入模型基于参数组合,从向量库中搜索出与测试数据项中的查询信息相似度最高的一个或多个相似文本块,作为搜索结果。

在一些实施例中,确定问答系统的嵌入模型参数的装置100还可以包括向量搜索模块,向量搜索模块可以与向量库、测试模块130耦接。其中,测试模块130在获取测试数据集中的任一测试数据项后,可以将任一测试数据项提供给向量搜索模块,由向量搜索模块来从向量库中搜索出与测试数据项中的查询信息相似度最高的一个或多个相似文本块。具体地,向量搜索模块可以通过嵌入模型基于参数组合,从向量库中搜索出与测试数据项中的查询信息相似度最高的一个或多个相似文本块,并可以将搜索出的一个或多个相似文本块提供给测试模块130。

需要说明的是,向量搜索模块与问答系统中的向量搜索功能一致,其可以利用嵌入模型对文本(例如查询信息)进行向量化处理以转换为对应的查询向量,并基于查询向量从向量库中搜索出与查询向量相似度最高的一个或多个相似向量,然后将一个或多个相似向量转换为对应的一个或多个相似文本块。

在另一些实施例中,向量搜索模块可以集成在测试模块130中,换言之,测试模块130可以集成问答系统中的向量搜索功能。

在本发明的实施例中,第一确定模块140可以响应于搜索出的一个或多个相似文本块中包含测试数据项中的预期查询结果,确定该查询信息对应的预期查询结果命中。

在本发明的实施例中,第二确定模块150可以确定测试数据集中的多个查询信息对应的预期查询结果的命中率,作为嵌入模型基于该参数组合的搜索命中率。

需要说明的是,搜索命中率可用于评估嵌入模型在问答系统中的向量搜索效果。

在本发明的实施例中,参数确定模块160可以根据嵌入模型基于各个参数组合的搜索命中率,来确定嵌入模型的最优参数组合。

在一些实施例中,本发明中的大语言模型例如可以包括ChatGPT、文心一言等模型。但,本发明不受限于大语言模型的具体种类和版本。

在一些实施例中,问答系统或者本发明的确定问答系统的嵌入模型参数的装置100,可以调用大语言模型提供的接口(Web接口)来与大语言模型进行数据交互。

在本发明的实施例中,确定问答系统的嵌入模型参数的装置100适于执行本发明的确定问答系统的嵌入模型参数的方法300。本发明的确定问答系统的嵌入模型参数的方法300将在下文中详述。其中,关于确定问答系统的嵌入模型参数的装置100中的测试集生成模块110、参数构建模块120、测试模块130、第一确定模块140、第二确定模块150、参数确定模块160的具体执行逻辑可参见下文确定问答系统的嵌入模型参数的方法300中对步骤310~360的描述。

在本发明的实施例中,测试集生成模块110可用于执行步骤310,参数构建模块120可用于执行步骤320,测试模块130可用于执行步骤330,第一确定模块140可用于执行步骤340,第二确定模块150可用于执行步骤350,参数确定模块160可用于执行步骤360。其中,测试模块130集成有向量搜索模块,或者,测试模块130可以集成问答系统中的向量搜索功能。

在一些实施例中,测试模块130(未集成向量搜索模块)可以结合向量搜索模块来执行步骤330。换言之,步骤330可以由测试模块130和向量搜索模块共同执行。

在本发明的一些实施例中,确定问答系统的嵌入模型参数的装置100可以部署在如下所述的计算设备200中,使得本发明的确定问答系统的嵌入模型参数的方法300可以在计算设备200中执行。确定问答系统的嵌入模型参数的装置100通过执行本发明的确定问答系统的嵌入模型参数的方法300,能实现为嵌入模型选择搜索效果最优的参数组合。

图2示出了根据本发明一个实施例的计算设备200的示意图。如图2所示,在基本配置中,计算设备200包括至少一个处理单元202和系统存储器204。根据一个方面,取决于计算设备的配置和类型,处理单元202可以实现为处理器。系统存储器204包括但不限于易失性存储(例如,随机存取存储器)、非易失性存储(例如,只读存储器)、闪速存储器、或者这样的存储器的任何组合。根据一个方面,系统存储器204中包括操作系统205。

根据一个方面,操作系统205例如适合于控制计算设备200的操作。此外,示例结合图形库、其他操作系统、或任何其他应用程序而被实践,并且不限于任何特定的应用或系统。在图2中通过在虚线内的那些组件示出了该基本配置。根据一个方面,计算设备200具有额外的特征或功能。例如,根据一个方面,计算设备200包括额外的数据存储设备(可移动的和/或不可移动的),例如磁盘、光盘、或者磁带。这样额外的存储在图2中是由可移动存储设备209和不可移动存储设备210示出的。

如在上文中所陈述的,根据一个方面,在系统存储器204中存储有程序模块203。根据一个方面,程序模块203可以包括一个或多个应用程序,本发明不限制应用程序的类型,例如应用程序可以包括:电子邮件和联系人应用程序、文字处理应用程序、电子表格应用程序、数据库应用程序、幻灯片展示应用程序、绘画或计算机辅助应用程序、网络浏览器应用程序等。在根据本发明的实施例中,程序模块203中包括执行本发明的确定问答系统的嵌入模型参数的方法300的多条程序指令。

在一些实施例中,程序模块203中包括确定问答系统的嵌入模型参数的装置100,确定问答系统的嵌入模型参数的装置100中包括执行本发明的确定问答系统的嵌入模型参数的方法300的多条程序指令。

根据一个方面,可以在包括分立电子元件的电路、包含逻辑门的封装或集成的电子芯片、利用微处理器的电路、或者在包含电子元件或微处理器的单个芯片上实践示例。例如,可以经由其中在图2中所示出的每个或许多组件可以集成在单个集成电路上的片上系统(SOC)来实践示例。根据一个方面,这样的SOC设备可以包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元、以及各种应用功能,其全部作为单个集成电路而被集成(或“烧”)到芯片基底上。当经由SOC进行操作时,可以经由在单个集成电路(芯片)上与计算设备200的其他组件集成的专用逻辑来对在本文中所描述的功能进行操作。还可以使用能够执行逻辑操作(例如AND、OR和NOT)的其他技术来实践本发明的实施例,所述其他技术包括但不限于机械、光学、流体、和量子技术。另外,可以在通用计算机内或在任何其他任何电路或系统中实践本发明的实施例。

根据一个方面,计算设备200还可以具有一个或多个输入设备212,例如键盘、鼠标、笔、语音输入设备、触摸输入设备等。还可以包括输出设备214,例如显示器、扬声器、打印机等。前述设备是示例并且也可以使用其他设备。计算设备200可以包括允许与其他计算设备218进行通信的一个或多个通信连接216。合适的通信连接216的示例包括但不限于:RF发射机、接收机和/或收发机电路;通用串行总线(USB)、并行和/或串行端口。

如在本文中所使用的术语计算机可读介质包括计算机存储介质。计算机存储介质可以包括以任何用于存储信息(例如,计算机可读指示、数据结构、或程序模块)的方法或技术来实现的易失性的和非易失性的、可移动的和不可移动的介质。系统存储器204、可移动存储设备209、和不可移动存储设备210都是计算机存储介质的示例(即,存储器存储)。计算机存储介质可以包括随机存取存储器(RAM) 、只读存储器(ROM)、电可擦只读存储器(EEPROM)、闪速存储器或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光存储、盒式磁带、磁带、磁盘存储器或其他磁存储设备、或者可用于存储信息并且可以由计算设备200访问的任何其他制品。根据一个方面,任何这样的计算机存储介质都可以是计算设备200的一部分。计算机存储介质不包括载波或其他经传播的数据信号。

根据一个方面,通信介质是由计算机可读指令、数据结构、程序模块、或者经调制的数据信号(例如,载波或其他传输机制)中的其他数据实施的,并且包括任何信息传递介质。根据一个方面,术语“经调制的数据信号”描述了具有一个或多个特征集或者以将信息编码在信号中的方式改变的信号。作为示例而非限制,通信介质包括诸如有线网络或直接有线连接之类的有线介质,以及诸如声学、射频(RF)、红外线的、以及其他无线介质之类的无线介质。

在根据本发明的实施例中,计算设备200被配置为执行根据本发明的确定问答系统的嵌入模型参数的方法300。计算设备200包括一个或多个处理器、以及存储有程序指令的一个或多个可读存储介质,当程序指令被配置为由一个或多个处理器执行时,使得计算设备200执行本发明实施例中的确定问答系统的嵌入模型参数的方法300。

图3示出了根据本发明一个实施例的确定问答系统的嵌入模型参数的方法300的流程示意图。确定问答系统的嵌入模型参数的方法300适于在计算设备(例如前述计算设备200)中执行,具体可以在计算设备200的确定问答系统的嵌入模型参数的装置100中执行。通过执行本发明的确定问答系统的嵌入模型参数的方法300,能实现为嵌入模型选择搜索效果最优的参数组合。

需要说明的是,本发明实施例中的问答系统可以包括向量库、一种或多种嵌入模型、大语言模型。向量库中可以包含多个向量和对应的文本块,其中,每个向量分别对应一个文本块。这里,向量是对应的文本块的向量表示。

如图3所示,确定问答系统的嵌入模型参数的方法300始于步骤310。

在步骤310中,生成测试数据集,测试数据集包含多个测试数据项,每个测试数据项分别包括查询信息和对应的预期查询结果。这里,预期查询结果可以是文本块。

在一些实施例中,可以通过以下方式来生成测试数据集。

获取向量库中的任一文本块(即,任一向量对应的文本块),为该文本块生成随机数,将该随机数作为从文本块中获取文本的开始行数。基于开始行数,从该文本块中获取第一预定行数文本作为查询信息,并将该文本块作为查询信息对应的预期查询结果。在一个实施例中,第一预定行数文本的长度需大于等于最小长度阈值。最小长度阈值例如可以为15个单词或者20个汉字,但,本发明对最小长度阈值不进行限制。

然后,基于查询信息和对应的预期查询结果,得到文本块对应的测试数据项。

这样,基于向量库中的多个文本块对应的多个测试数据项,可以生成测试数据集。

下面是文本块的一个示例。

深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字、图像和声音等数据的解释有很大的帮助。它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。深度学习是一个复杂的机器学习算法,在语音和图像识别方面取得的效果,远远超过先前相关技术。

对于上述文本块,例如可以从该文本块中获取其中2行来作为查询信息。

在一些实施例中,还可以通过以下方式来生成测试数据集。

从文本内容中获取多个标题。在一个实施例中,文本内容可以是具有目录的文档,例如PDF文档。通过从文档中获取目录,进而可以从目录中获取多个标题,任一标题可作为查询信息。这里,在一个实施例中,可以利用相关工具(例如PyMuPDF工具)来从文档中获取目录,但,本发明不受限于工具的具体种类。

随后,对于任一标题,将该标题作为查询信息,并从标题对应的正文内容中选择第二预定行数文本作为查询信息对应的预期查询结果,基于查询信息和对应的预期查询结果,可以得到该标题对应的测试数据项。

进而,可以基于多个标题对应的多个测试数据项,生成测试数据集。

需要说明的是,可以使用上述任一种方式来生成测试数据集,也可以组合使用上述实施例中提供的两种方式来生成测试数据集。并且,本发明不受限于上述实施例提供的生成测试数据集的具体方式。

在步骤320中,为嵌入模型构建多个参数组合。每个参数组合分别包括嵌入模型的分块大小参数、目标检索数量参数。

在本发明的实施例中,分块大小参数表征对文本内容进行向量化处理(以得到向量库)时的分块大小。目标检索数量参数表征需要(从向量库中)搜索出的相似文本块的数量。文本内容例如是各类文档。

需要说明的是,这里的向量化处理是指:将文本内容(大文本块)切分成文本块(小文本块),然后,将切分后的文本块转换为对应的向量的过程。基于分块大小参数可以将文本内容切分成与分块大小参数相对应大小的文本块。

接下来,对于任一参数组合,可以执行以下步骤330~350。

在步骤330中,获取测试数据集中的任一测试数据项,通过嵌入模型基于参数组合,从向量库中搜索出与测试数据项中的查询信息相似度最高的一个或多个相似文本块,作为搜索结果。

在本发明的实施例中,通过嵌入模型基于参数组合,从向量库中搜索出与测试数据项中的查询信息相似度最高的一个或多个相似文本块的具体方式如下。

通过嵌入模型基于参数组合中的分块大小参数,来对本文内容(例如文档)进行向量化处理以得到向量库。具体地,基于分块大小参数对本文内容进行向量化处理的方式为:基于分块大小参数将文本内容(大文本块)切分成与分块大小参数相对应大小的文本块(小文本块),然后,将切分后的文本块转换为对应的向量,并将向量和对应的文本块存储到向量库中。

进而,可以通过嵌入模型基于参数组合中的目标检索数量参数,从向量库中搜索出与测试数据项中的查询信息相似度最高的一个或多个相似文本块(也即,目标检索数量个相似文本块)。

可以理解的是,步骤330中的向量库是基于参数组合中的分块大小参数对本文内容进行向量化处理得到的。基于参数组合中的分块大小参数从向量库中搜索出的是与分块大小参数对应大小的相似文本块。

在一些实施例中,在通过嵌入模型基于参数组合中的分块大小参数,对本文内容进行向量化处理之前,可以先检查基于分块大小参数对本文内容进行向量化处理得到的向量库是否存在,如果不存在,再执行构建向量库的步骤:通过嵌入模型基于参数组合中的分块大小参数,对本文内容进行向量化处理以得到向量库。

在一些实施例中,从向量库中搜索出与测试数据项中的查询信息相似度最高的一个或多个相似文本块的具体方式如下:通过嵌入模型将查询信息转换为对应的查询向量,(基于目标检索数量参数)从向量库中搜索出与查询向量相似度最高的一个或多个相似向量;将一个或多个相似向量转换为对应的一个或多个相似文本块。

下面是关于查询信息、查询向量、两个相似向量和对应的两个相似文本块的示例。

查询信息:什么是深度学习?

查询向量:[0.4457394480705261, -0.10722091794013977, ......]

相似向量(1):[ 1.0664916038513184, 0.03477246314287186, ......]

相似向量(2):[0.38642147183418274, 0.4371371567249298, ......]

相似文本块(1):深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字、图像和声音等数据的解释有很大的帮助。它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。深度学习是一个复杂的机器学习算法,在语音和图像识别方面取得的效果,远远超过先前相关技术。

相似文本块(2):深度学习在搜索技术、数据挖掘、机器学习、机器翻译、自然语言处理、多媒体学习、语音、推荐和个性化技术,以及其他相关领域都取得了很多成果。深度学习使机器模仿视听和思考等人类的活动,解决了很多复杂的模式识别难题,使得人工智能相关技术取得了很大进步。

在步骤340中,如果搜索出的一个或多个相似文本块中包含测试数据项中的预期查询结果,则确定该查询信息对应的预期查询结果命中。换言之,响应于搜索出的一个或多个相似文本块中包含测试数据项中的预期查询结果,确定查询信息对应的预期查询结果命中。

在本发明的实施例中,通过判断搜索出的一个或多个相似文本块中是否包含测试数据项中的预期查询结果(也即,查询信息对应的预期查询结果),如果包含,可以响应于搜索出的一个或多个相似文本块中包含测试数据项中的预期查询结果,确定该查询信息对应的预期查询结果命中。也即,该测试数据项命中。

如果不包含搜索出的一个或多个相似文本块中不包含测试数据项中的预期查询结果,则确定该查询信息对应的预期查询结果未命中。也即,该测试数据项未命中。

在步骤350中,确定测试数据集中的多个查询信息对应的预期查询结果的命中率,作为嵌入模型基于该参数组合的搜索命中率。

需要说明的是,搜索命中率可用于评估嵌入模型在问答系统中的向量搜索效果。

在本发明的实施例中,对于测试数据集中的多个测试数据项,通过确定多个测试数据项中的多个查询信息对应的预期查询结果是否命中,将命中预期查询结果的测试数据项的数量除以测试数据项的总数量,可以得出嵌入模型基于该参数组合的搜索命中率。

之后,在步骤360中,可以根据嵌入模型基于各个参数组合的搜索命中率,来确定嵌入模型的最优参数组合。

在一些实施例中,可以根据嵌入模型基于各个参数组合的搜索命中率,选择搜索命中率最高的一个或多个参数组合作为嵌入模型的最优参数组合。但是,本发明不受限于这里选择最优参数组合的方式。在其他实施例中,在参考嵌入模型基于各个参数组合的搜索命中率的基础上,可以结合预定条件或者根据实际情况来选择嵌入模型的最优参数组合。

在一些实施例中,本发明通过为多种嵌入模型分别构建对应的多个参数组合,来确定每种嵌入模型的最优参数组合,以便从多种嵌入模型中选择最优嵌入模型。具体方式如下:对于多种嵌入模型中的任一种嵌入模型,为该嵌入模型构建多个参数组合,并且,针对该嵌入模型,通过执行上述步骤330~360可以确定该嵌入模型的最优参数组合。通过确定多种嵌入模型基于对应的最优参数组合的搜索命中率,并根据多种嵌入模型基于对应的最优参数组合的搜索命中率,来从多种嵌入模型中选择最优嵌入模型。

例如,可以从多种嵌入模型基于对应的最优参数组合的搜索命中率中,选择搜索命中率最高的嵌入模型作为最优嵌入模型。

需要说明的是,搜索命中率用于评估嵌入模型在问答系统中的向量搜索效果。通过选择搜索命中率最高的嵌入模型作为最优嵌入模型,最终选择的最优嵌入模型可以是搜索效果最好的嵌入模型。这样,本发明能实现从多种嵌入模型中选择出搜索效果最好的嵌入模型。

在一些实施例中,步骤320中可以通过以下方式来为嵌入模型构建多个参数组合。

基于标识数取值范围和标识数取值间隔,构建包含多个标识数的标识数集合。这里,标识数是指块标识数,具体是指文本块包含的标识数。标识即token,标识数也即是文本块包含的token数量。标识数集合中的任一标识数可作为嵌入模型的分块大小参数。还需要说明的是,在大型语言模型中,token通常指的是一个离散的文本单元,它可以是单词、标点符号、数字或其他语言元素。

基于获取数取值范围和获取数取值间隔,构建包含多个获取数的获取数集合。其中,标识数取值范围大于获取数取值范围。需要说明的是,获取数是指获取的文本块数量,获取数集合中的任一获取数可作为嵌入模型的目标检索数量参数。

从标识数集合中获取任一标识数,作为嵌入模型的分块大小参数。

从获取数集合中获取任一获取数,作为嵌入模型的目标检索数量参数。

基于分块大小参数和目标检索数量参数,可以得到一个参数组合。这样,基于标识数集合和获取数集合可以构建得到多个参数组合。

也就是说,上述实施例中的分块大小参数可以是标识数。上述实施例中的目标检索数量参数可以是获取数。

在一些实施例中,标识数取值范围可以是100~1000,标识数取值间隔可以是100。基于此,构建得到的标识数集合可以为{100,200,300,400…1000}。

在一些实施例中,获取数取值范围可以是1~10,获取数取值间隔可以是1。基于此,构建得到的获取数集合可以为{1,2,3,4…10}。

下面,以部分标识数分别作为分块大小参数,以部分获取数分别作为目标检索数量参数,通过以下二维表来展示嵌入模型基于各个参数组合的搜索命中率。

如上表所示,以标识数400作为分块大小参数,以获取数4作为目标检索数量参数的情况下,嵌入模型基于参数组合[400,4]的搜索命中率为70%。

在一些实施例中,查询信息和步骤330中搜索出的一个或多个相似文本块可用于组合生成提问信息,以通过大语言模型基于提问信息生成回答信息。也就是说,问答系统可以基于查询信息和搜索出的一个或多个相似文本块来组合生成提问信息,并将提问信息输入大语言模型,通过大语言模型可以基于提问信息生成对应的回答信息并输出。

在一些实施例中,可以通过以下方式来确定嵌入模型的最优参数组合。

首先,选择符合预定条件的一个或多个参数组合作为候选参数组合。在一个实施例中,预定条件可以为:分块大小参数*目标检索数量参数+回答信息的标识数≤标识长度阈值。

例如,标识长度阈值为2048,回答信息的标识数为1000,则分块大小参数*目标检索数量参数≤1048,根据上述二维表可以得到符合该预定条件的多个候选参数组合:[100,4]、[200, 4]、[300, 3]、[400, 2]。

接下来,可以根据嵌入模型基于各个候选参数组合的搜索命中率,来从各个候选参数组合中选择嵌入模型的最优参数组合。

在一些实施例中,可以根据嵌入模型基于各个候选参数组合的搜索命中率中,选择搜索命中率最高的候选参数组合来作为嵌入模型的最优参数组合。

在一些实施例中,可以结合实际情况来从各个候选参数组合中选择嵌入模型的最优参数组合。需要说明的是,在一些情况下,文本块的标识数越小命中率越高,但是,通过大语言模型基于提问信息(基于查询信息和搜索出的一个或多个相似文本块组合生成的提问信息)生成的回答信息可能会缺失部分信息,需要结合文本内容(文档)的特点来选择较为合适的标识数来作为分块大小参数,例如,如果文档内容大部分段落都比较短,200字以内的段落较多,则可选择候选参数组合[200, 4]来作为最优参数组合。如果为了避免搜索出的文本块较短而导致大语言模型的回答信息缺失,可适当选择较大的标识数来作为分块大小参数。

根据本发明的确定问答系统的嵌入模型参数的方法,通过生成测试数据集,为嵌入模型构建多个包含嵌入模型的分块大小参数和目标检索数量参数的参数组合,对于任一参数组合,可以获取测试数据集中的任一测试数据项,通过嵌入模型基于参数组合从向量库中搜索出与测试数据项中的查询信息相似度最高的一个或多个相似文本块,如果搜索出的一个或多个相似文本块中包含测试数据项中的预期查询结果,可以确定查询信息对应的预期查询结果命中。通过确定测试数据集中的多个查询信息对应的预期查询结果的命中率,来作为嵌入模型基于参数组合的搜索命中率。根据嵌入模型基于各个参数组合的搜索命中率,来确定嵌入模型的最优参数组合。基于此,通过生成测试数据集解决了缺少标注数据的问题,通过构建多个参数组合可以针对分块大小和目标检索数量进行多种组合测试,能更充分地了解嵌入模型在问答系统中的向量搜索效果,最终能实现为嵌入模型选择搜索效果更好的最优参数组合。

进一步地,本发明通过为多种嵌入模型分别构建对应的多个参数组合,来确定每种嵌入模型的最优参数组合,并根据多种嵌入模型基于对应的最优参数组合的搜索命中率,来从多种嵌入模型中选择最优嵌入模型。这样,便于不同嵌入模型的搜索效果,能实现从多种嵌入模型中选择出搜索效果最好的嵌入模型。

这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。

在程序代码在可编程计算机上执行的情况下,移动终端一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的确定问答系统的嵌入模型参数的方法。

以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。

在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。

本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。

除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。

相关技术
  • 车载摄像机测距方法及装置、存储介质和电子设备
  • 电子设备的显示控制方法、装置、电子设备和存储介质
  • 电子设备控制方法及装置、电子设备及存储介质
  • 数据分布存储方法、装置、存储介质及电子设备
  • 存储清理方法、装置、电子设备及存储介质
  • 测距方法、测距装置、电子设备及计算机可读取存储介质
  • 飞行时间测距方法、飞行时间测距装置、电子设备及计算机可读存储介质
技术分类

06120116545791