知识库查询方法、装置、电子设备及存储介质与流程

未命名 09-15 阅读:114 评论:0


1.本发明涉及医疗数据处理领域,尤其涉及一种知识库查询方法、装置、电子设备及存储介质。


背景技术:

2.在数字医疗领域中,将大语言模型(llm)应用到医疗机构的知识库(kb)进行结合,以实现线上医疗智能客服、线上问诊等应用场景。
3.例如,患者在家中通过智能终端向医疗机构a发起病情咨询请求,医疗机构a通过专门的线上病情问询系统(llm+kb)进行回复和解答,包括文字、语音、图片等多种形式,实现患者病情信息的收集和记录,以便医疗机构a进行后续的诊断和治疗。
4.大语言模型是一种利用深度神经网络学习自然语言的概率分布的模型,可以用于各种自然语言处理任务,能够根据给定的上下文或条件生成连贯和有意义的文本的llm。知识库是一种存储结构化或半结构化知识的数据库,可以用于提供事实性、专业或领域相关的知识。
5.在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
6.大语言模型在预训练阶段,主要使用无标注的自然语言文本数据和基于概率分布的采样或贪婪策略来选择下一个词,容易忽略了知识库的已有条件(结构化或半结构化的知识数据和检索能力),导致大语言模型对知识库内的专业领域知识的理解和利用不充分,出现大语言模型生成的查询结果的准确率较低的问题。
7.因此,如何快速地提高大语言模型充分利用目标知识库的已有条件,以提高查询结果的准确率是一个亟待解决的问题。


技术实现要素:

8.鉴于以上内容,有必要提供一种知识库查询方法,其目的在于提高大语言模型充分利用目标知识库的已有条件,以提高大语言模型的查询结果的准确率。
9.本发明提供的知识库查询方法,包括:
10.获取初始知识库的数据集中至少一个类型数据,将所述类型数据转换为对应的文本序列,基于所有的文本序列构建出目标知识库;
11.当监测到预设大语言模型接收到查询所述目标知识库的初始输入序列时,将所述初始输入序列的第一单词通过预设提示层进行特征处理,生成候选输入序列;
12.利用所述候选输入序列的第二单词替换所述初始输入序列的第一单词,以将所述初始输入序列更新为目标输入序列,计算所述目标输入序列的第一向量与所述目标知识库中各个文本序列的第二向量之间的相似度,生成相似度集合;
13.基于预设的相似度选取策略,从所述目标知识库中选取预设的数量文本序列作为根据所述目标输入序列查询得到的上下文信息,将所述目标输入序列和所述上下文信息进行组合,以对所述大语言模型进行微调并输出查询结果。
14.可选的,所述基于所有的文本序列构建出目标知识库,包括:
15.将各个文本序列写入所述初始知识库的文件中;
16.调用预设函数,在所述文件中对各个所述文本序列添加换行符,生成所述目标知识库。
17.可选的,在所述将所述初始输入序列的第一单词通过预设提示层进行特征处理,生成候选输入序列之前,所述方法还包括:
18.在所述大语言模型的第一连接层前面添加所述提示层,并定义所述提示层的学习参数,以使所述提示层获取所述大语言模型的初始输入序列。
19.可选的,所述将所述初始输入序列的第一单词通过预设提示层进行特征处理,生成候选输入序列,包括:
20.将所述初始输入序列中排序第一位的单词,作为所述第一单词;
21.将所述第一单词的向量输入所述提示层进行特征处理,生成第一特征向量;
22.融合所述第一特征向量与所述第一单词的向量,生成所述候选输入序列。
23.可选的,所述利用所述候选输入序列的第二单词替换所述初始输入序列的第一单词,以将所述初始输入序列更新为目标输入序列,包括:
24.将所述候选输入序列中排序第一位的单词,作为所述第二单词;
25.利用所述第二单词替换所述第一单词得到所述目标输入序列。
26.可选的,所述基于预设的相似度选取策略,从所述目标知识库中选取预设的数量文本序列作为根据所述目标输入序列查询得到的上下文信息,包括:
27.对所述相似度集合中各个相似度的数值按照从大到小进行排序,选取排序中前k个数值对应的文本序列选取排序中前k个数值对应的文本序列,作为根据所述目标输入序列查询得到的上下文信息。
28.可选的,所述将所述目标输入序列和所述上下文信息进行组合,以对所述大语言模型进行微调并输出查询结果,包括:
29.将所述目标输入序列和所述上下文信息填充至预置的模板中;
30.分别对所述目标输入序列和所述上下文信息在所述模板的位置进行插入标记,基于插入标记后的模板对所述大语言模型进行微调,生成所述查询结果。
31.为了解决上述问题,本发明还提供一种知识库查询装置,所述装置包括:
32.转换和构建模块,用于获取初始知识库的数据集中至少一个类型数据,将所述类型数据转换为对应的文本序列,基于所有的文本序列构建出目标知识库;
33.监测和处理模块,用于当监测到预设大语言模型接收到查询所述目标知识库的初始输入序列时,将所述初始输入序列的第一单词通过预设提示层进行特征处理,生成候选输入序列;
34.替换和计算模块,用于利用所述候选输入序列的第二单词替换所述初始输入序列的第一单词,以将所述初始输入序列更新为目标输入序列,计算所述目标输入序列的第一向量与所述目标知识库中各个文本序列的第二向量之间的相似度,生成相似度集合;
35.选取和组合模块,用于基于预设的相似度选取策略,从所述目标知识库中选取预设的数量文本序列作为根据所述目标输入序列查询得到的上下文信息,将所述目标输入序列和所述上下文信息进行组合,以对所述大语言模型进行微调并输出查询结果。
36.为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
37.至少一个处理器;以及,
38.与所述至少一个处理器通信连接的存储器;其中,
39.所述存储器存储有可被所述至少一个处理器执行的知识库查询程序,所述知识库查询程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述知识库查询方法。
40.为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有知识库查询程序,所述知识库查询程序可被一个或者多个处理器执行,以实现上述知识库查询方法。
41.相较现有技术,本发明获取初始知识库的数据集中至少一个类型数据,将类型数据转换为对应的文本序列,基于所有的文本序列构建出目标知识库;当监测到预设大语言模型接收到查询目标知识库的初始输入序列时,将初始输入序列的第一单词通过预设提示层进行特征处理,生成候选输入序列;利用候选输入序列的第二单词替换初始输入序列的第一单词,以将初始输入序列更新为目标输入序列,计算目标输入序列的第一向量与目标知识库中各个文本序列的第二向量之间的相似度,生成相似度集合;基于预设的相似度选取策略,从目标知识库中选取预设的数量文本序列作为根据目标输入序列查询得到的上下文信息,将目标输入序列和上下文信息进行组合,以对大语言模型进行微调并输出查询结果。本发明将目标知识库中的所有类型数据转换为统一的文本序列,利用额外的提示层对大语言模型的微调,实现大语言模型对目标知识库的已有条件进行充分利用,提高了大语言模型的查询结果的准确率。
42.本发明可以应用在医疗数据处理等领域中,使医疗机构的知识库能够被大语言模型充分利用,帮助医务工作者或病患快速查询得到回复和解答。
附图说明
43.图1为本发明一实施例提供的知识库查询方法的流程示意图;
44.图2为本发明一实施例提供的知识库查询装置的模块示意图;
45.图3为本发明一实施例提供的实现知识库查询方法的电子设备的结构示意图;
46.本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
47.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
48.需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求
的保护范围之内。
49.本发明可以应用在医疗数据处理等领域中,使医疗机构的知识库能够被大语言模型充分利用,帮助医务工作者或病患快速查询得到回复和解答。
50.现有技术中,大语音模型在微调阶段通常使用与目标任务相关的小规模标注数据,而忽略了与目标领域或场景相关的知识数据,导致模型缺乏对特定领域或场景的适应和优化。
51.本发明的核心思想是利用目标知识库作为额外的数据源,在不改变原始大语音模型参数的情况下,通过引入可学习的提示层(soft prompt)来实现对大语音模型的微调,从而实现大语言模型对目标知识库的已有条件进行充分利用,将大语言模型的知识和目标知识库的知识相结合,提高了大语言模型的查询结果的准确率。
52.参照图1所示,为本发明一实施例提供的知识库查询方法的流程示意图。该方法由电子设备执行。
53.本实施例中,知识库查询方法包括:
54.s1、获取初始知识库的数据集中至少一个类型数据,将所述类型数据转换为对应的文本序列,基于所有的文本序列构建出目标知识库;
55.本实施例中,初始知识库的数据集是指某个领域的数据集合,可以是医疗机构领域的数据集合。
56.本发明将以下的例子h进行全文举例说明:
57.例如,从医疗机构a的初始知识库(数据库)中获取预设数量(例如10万)的历史门诊数据,这些历史门诊数据包括以下内容:
58.1.患者基本信息:包括姓名、性别、年龄、身份证号码、联系方式等。
59.2.病历信息:包括病史、诊断结果、治疗方案、用药情况等。
60.3.检查结果:包括各种检查项目的结果,如血常规、尿常规、血糖、心电图、ct、mri等。
61.4.检验结果:包括各种检验项目的结果,如血液生化、免疫学检测、微生物检测等。
62.5.医疗费用:包括挂号费、检查费、治疗费、药品费等。
63.6.医生信息:包括医生姓名、职称、执业证书号码等。
64.7.医疗设备信息:包括医疗设备的品牌、型号、使用情况等。
65.8.医疗机构a管理信息:包括医疗机构a的名称、地址、法人代表、营业执照等。
66.这些历史门诊数据的类型包括三元组、属性图及表格等。
67.数据集也可以是其它领域的数据集合,在此并不作限定。
68.在一个实施例中,所述类型数据包括三元组、属性图节点、表格行,所述将所述类型数据转换为对应的文本序列,包括:
69.若所述类型数据为三元组,则将所述三元组中的实体和关系转换为文本序列。
70.数据集为d={d1,d2,...,dn},其中每个di是一个文档或一个数据项。需要将每个di转换为一个或多个文本序列其中每个s
ij
是一个由若干单词组成的字符串。
71.如果di是一个三元组(e1,r,e2),其中e1和e2是实体,r是关系,则将三元组转换为一个文本序列si={e1和e2的关系是r}。
72.在一个实施例中,所述方法还包括:
73.若所述类型数据为属性图节点,则将所述属性图节点中的实体、属性和值转换为文本序列。
74.如果di是一个属性图,其节点(e,a,v),其中e是实体,a是属性,v是值,则将属性图转换为一个文本序列si={e的a是v}。
75.在一个实施例中,所述方法还包括:
76.若所述类型数据为表格行,则将所述表格行中的每行的单元格值转换为文本序列。
77.如果di是一个表格行(c1,c2,...,ck),其中ck是第k列对应的单元格值,则将表格行转换为一个文本序列si={第一列:c1,第二列:c2,...,第k列:ck}。
78.为了方便后续处理,本发明将初始知识库的每个元素(如实体、属性、关系等)转换为对应的文本表示,并将初始知识库中的每条信息(如三元组、属性图节点、表格行等)转换为一个文本序列。
79.在一个实施例中,在所述基于所有的文本序列构建出目标知识库之前,所述方法还包括:
80.将所有的文本序列添加至预设列表中,得到文本序列列表。
81.在一个实施例中,所述基于所有的文本序列构建出目标知识库,包括:
82.将各个文本序列写入所述初始知识库的文件中;
83.调用预设函数,在所述文件中对各个所述文本序列添加换行符,生成所述目标知识库。
84.遍历文本序列列表中各个文本序列,将各个文本序列写入初始知识库的文件中,每个文本序列占该文件中的一行,并在行的末尾添加换行符;
85.通过调用预设函数,将初始知识库的文件进行更新,生成目标知识库。
86.在其它实施例中,可以采用多种形式来表示知识库,例如列表、字典、数据库等。为了方便后续处理,将目标知识库以列表形式存储在内存中或以文件形式存储在硬盘上。
87.延续上述的例子h,通过将医疗机构a的初始知识库的历史门诊数据和医疗数据生成文本序列,从而构建出医疗领域的目标知识库。
88.在步骤s1中,通过将初始知识库中所有类型数据转换为对应的文本序列,并基于所有文本序列构建目标知识库。可以使目标知识库中的每个元素和信息转换为统一的文本序列格式,能够方便地进行后续大语音模型进行充分处理,从而提高目标知识库的利用效率。
89.s2、当监测到预设大语言模型接收到查询所述目标知识库的初始输入序列时,将所述初始输入序列的第一单词通过预设提示层进行特征处理,生成候选输入序列;
90.大语言模型(llm)是一种利用深度神经网络学习自然语言的概率分布的模型,可以用于各种自然语言处理任务,如文本生成、文本摘要、机器翻译、问答等。
91.大语言模型通常使用大规模的无标注文本数据进行预训练(例如,通过网络学习各个领域的数据进行预训练),以捕捉通用的语言知识和规律,然后根据不同的任务进行微调,以适应特定的领域和场景。
92.提示层(soft prompt)是一种可学习的参数层,其作用是根据大语言模型接收的
初始输入序列生成一个第一特征向量(软提示向量),并将第一特征向量与初始输入序列的向量相加,从而改变大语言模型的输入表示。
93.软提示向量可以看作是一种隐式的文本前缀,能够引导大语言模型根据特定领域任务(例如上述的医疗领域)生成合适的查询结果。
94.提示层可以有多种形式,例如线性变换、多层感知机、卷积神经网络等。
95.本发明不需要改变大语言模型(原始llm)的参数,只需要引入一个额外的提示层,就可以实现对大语言模型的微调。可以大大降低系统计算开销和存储开销,同时避免灾难性遗忘现象,保留大语言模型的通用知识。
96.延续上述的例子h,医疗机构a将预训练好的大语言模型应用到医疗机构的目标知识库进行业务处理,医疗机构a对大语言模型输入初始输入序列为
‑“
什么是白血病”;
97.通过预先设置在大语言模型的第一连接层(embeddin glayer)前面的提示层,对初始输入序列中排序第一的单词“什么”进行特征处理,生成候选输入序列。
98.在一个实施例中,在所述将所述初始输入序列的第一单词通过预设提示层进行特征处理,生成候选输入序列之前,所述方法还包括:
99.在所述大语言模型的第一连接层前面添加所述提示层,并定义所述提示层的学习参数,以使所述提示层获取所述大语言模型的初始输入序列。
100.第一连接层通常是一个嵌入层,用于将输入的离散化的词语或字符转换为连续的向量表示。这个嵌入层的参数通常是需要在训练过程中进行学习的。
101.定义提示层的学习参数的维度(例如768维度),还要创建提示层的分词器和大语言模型的模型对象。
102.分词器用于将用户输入的初始输入序列(文本)进行分词,以便于后续的处理和分析。在提示层中,分词器可以帮助系统更好地理解用户的输入,从而提供更加准确和有用的提示信息。
103.在一个实施例中,所述将所述初始输入序列的第一单词通过预设提示层进行特征处理,生成候选输入序列,包括:
104.将所述初始输入序列中排序第一位的单词,作为所述第一单词;
105.将所述第一单词的向量输入所述提示层进行特征处理,生成第一特征向量;
106.融合所述第一特征向量与所述第一单词的向量,生成所述候选输入序列。
107.单词(中文单词)一般由一个或多个汉字组成,例如:感冒、药品、人类基因组计划等。
108.根据从前到后的顺序,读取初始输入序列中排序在第一(即前面第一个)的单词,作为第一单词,将处理后得到的第一特征向量与第一单词的向量进行相加,生成候选输入序列。
109.在步骤s2中,将初始输入序列的第一单词通过预设提示层进行特征处理,生成候选输入序列。可以提高输入序列的准确率和可靠性,从而提高知识库查询的效率和精度。
110.s3、利用所述候选输入序列的第二单词替换所述初始输入序列的第一单词,以将所述初始输入序列更新为目标输入序列,计算所述目标输入序列的第一向量与所述目标知识库中各个文本序列的第二向量之间的相似度,生成相似度集合;
111.本实施例中,利用候选输入序列中排序第一的单词(第二单词)对初始输入序列的
第一单词进行替换,以使将初始输入序列更新为目标输入序列;
112.从目标知识库的文件中获取各个文本序列,将大语言模型作为一个编码器,对目标输入序列和各个文本序列进行编码处理,得到目标输入序列的第一向量和各个文本序列的第二向量,计算目标输入序列的第一向量与各个文本序列的第二向量之间的相似度,将计算后得到的相似度添加到相似度列表,基于相似度列表生成相似度集合。
113.延续上述的例子h,医疗机构a对大语言模型输入初始输入序列为
‑“
什么是白血病”,通过计算目标知识库中各个文本序列与目标输入序列之间的相似度,得到相似度集合;
114.在目标知识库中可能存储有这些文本序列,分别为
‑“
白血病是一种造血系统恶性肿瘤”,“白血病的主要症状有发热、出血、贫血、感染等”,“白血病的常用治疗方法有化疗、放疗、靶向治疗和造血干细胞移植等”,。
115.在一个实施例中,所述利用所述候选输入序列的第二单词替换所述初始输入序列的第一单词,以将所述初始输入序列更新为目标输入序列,包括:
116.将所述候选输入序列中排序第一位的单词,作为所述第二单词;
117.利用所述第二单词替换所述第一单词得到所述目标输入序列。
118.读取输入序列中排序在第一(即前面第一个)的单词,作为第二单词。
119.将第二单词替换掉第一单词在初始输入序列中的位置,将替换位置后的初始输入序列作为目标输入序列。
120.利用候选输入序列中的第二单词替换初始输入序列中的第一单词,从而实现将初始输入序列更新为目标输入序列。能够提高输入序列的准确率和连贯性,为用户提供更加便捷的输入体验。可广泛应用于语音识别、自然语言处理等领域。
121.在一个实施例中,所述计算所述目标输入序列的第一向量与所述目标知识库中各个文本序列的第二向量之间的相似度,生成相似度集合,包括:
122.利用所述大语言模型对所述目标输入序列进行编码处理,得到所述目标输入序列的第一向量表示;
123.利用所述大语言模型对各个所述文本序列进行编码处理,得到各个所述文本序列对应的第二向量表示;
124.计算所述第一向量表示与各个所述第二向量表示之间相似度,将计算得到的相似度添加至相似度列表中,生成所述相似度集合。
125.在步骤s3中,计算目标输入序列的第一向量与目标知识库中各个文本序列的第二向量之间的相似度,生成相似度集合。可以有效提高文本匹配的准确率和效率,为文本处理领域提供了一种新的解决方案。
126.本发明不需要改变大语言模型(原始llm)的参数,只需要引入一个额外的提示层,就可以实现对大语言模型的微调和充分利用目标知识库的已有条件。可以大大降低系统计算开销和存储开销,同时避免灾难性遗忘现象,保留大语言模型的通用知识。
127.解决现有技术中,大语言模型在预训练阶段,主要使用无标注的自然语言文本数据和基于概率分布的采样或贪婪策略来选择下一个词,容易忽略了知识库的已有条件(结构化或半结构化的知识数据和检索能力),导致大语言模型对知识库内的专业领域知识的理解和利用不充分,出现大语言模型生成的查询结果的准确率较低的问题。
128.s4、基于预设的相似度选取策略,从所述目标知识库中选取预设的数量文本序列作为根据所述目标输入序列查询得到的上下文信息,将所述目标输入序列和所述上下文信息进行组合,以对所述大语言模型进行微调并输出查询结果。
129.本实施例中,本发明利用大语言模型本身作为编码器,将目标输入序列和目标知识库中的文本序列都转换为向量表示,并根据余弦相似度选取最相关的信息作为上下文信息。可以利用大语言模型预训练时学习到的语义知识,提高检索的准确率和效率。
130.基于相似度集合的选取策略,选取预设数量文本序列作为目标输入序列进行检索的上下文信息。
131.延续上述的例子h,医疗机构a对大语言模型输入初始输入序列为
‑“
什么是白血病”,通过从目标知识库中选取与目标输入序列相似度最高的文本序列;
132.可能这些相似度最高的文本序列分别为
‑“
白血病是一种造血系统恶性肿瘤”,“白血病的主要症状有发热、出血、贫血、感染等”,“白血病的常用治疗方法有化疗、放疗、靶向治疗和造血干细胞移植等”,从而将这些相似度最高的文本序列作为上下文信息。
133.将上下文信息和目标输入序列填充至预置的模板中进行组合,以生成完整提示(模板),根据模板的调用函数,将模板的内容生成大语言模型的查询结果。
134.在一个实施例中,所述基于预设的相似度选取策略,从所述目标知识库中选取预设的数量文本序列作为根据所述目标输入序列查询得到的上下文信息,包括:
135.对所述相似度集合中各个相似度的数值按照从大到小进行排序,选取排序中前k个数值对应的文本序列选取排序中前k个数值对应的文本序列,作为根据所述目标输入序列查询得到的上下文信息。
136.相似度集合的选取策略可以是按数值从大到小,也可以是按数值从小到大。
137.对相似度集合中各个相似度的数值按数值从高到低进行排序,从排序中选取前k个数值(例如,排序在前的10个)对应的文本序列,将这些选取后的文本序列去除末尾的换行符并添加至上下文信息列表,将该上下文信息列表作为目标输入序列进行检索的上下文信息。
138.能够快速有效地从目标知识库中选取与目标输入序列相似度最高的文本序列作为上下文信息,从而提高文本检索的准确率和效率。可广泛应用于文本检索、信息检索等领域。
139.在一个实施例中,所述方法还包括:
140.选取所述相似度集合中相似度的数值大于第一阈值对应的文本序列,作为所述目标输入序列进行检索的上下文信息。
141.在其它实施例中,相似度集合的选取策略还可以包括:选取相似度集合中相似度的数值大于第一阈值(例如,0.8)对应的文本序列,作为目标输入序列进行检索的上下文信息。
142.在一个实施例中,所述将所述目标输入序列和所述上下文信息进行组合,以对所述大语言模型进行微调并输出查询结果,包括:
143.将所述目标输入序列和所述上下文信息填充至预置的模板中;
144.分别对所述目标输入序列和所述上下文信息在所述模板的位置进行插入标记,基于插入标记后的模板对所述大语言模型进行微调,生成所述查询结果。
145.本发明利用一个预定义的模板,在上下文信息和目标输入序列之间插入预定义的标记,形成一个完整提示,并将完整提示作为大语音模型的输入,从而输出查询结果,相当于对大语音模型的初始输入序列进行多次微调(候选输入序列-目标输入序列-完整提示),才输出查询结果。
146.这样可以利用提示层生成的特征向量对在大语音模型进行微调,提高大语音模型生成的质量和准确率。
147.在一个实施例中,所述分别对所述目标输入序列和所述上下文信息在所述模板的位置进行插入标记,基于插入标记后的模板对所述大语言模型进行微调,生成所述查询结果,包括:
148.对所述目标输入序列在所述模板的位置前面插入第一标记;
149.对所述上下文信息在所述模板的位置前面插入第二标记;
150.根据所述模板的调用函数,将插入所述第一标记和所述第二标记的模板生成完整提示;
151.将所述完整提示转换为张量表示并作为所述大语言模型的输入,对所述大语言模型进行微调,生成所述查询结果。
152.先将上下文信息中的各个文本序列用分号连接,并在末尾添加句号,再将上下文信息和目标输入序列填充至预置的模板中。
153.例如,用分号连接并在末尾添加句号的方式为
‑“
白血病是一种造血系统恶性肿瘤”,“白血病的主要症状有发热、出血、贫血、感染等”,“白血病的常用治疗方法有化疗、放疗、靶向治疗和造血干细胞移植等”。
154.在模板中目标输入序列和上下文信息的位置前面插入标记,例如,插入标记为-已知信息:{context_text}问题是:{input_text};
155.从而生成插入标记后的模板为-已知信息:{“白血病是一种造血系统恶性肿瘤”,“白血病的主要症状有发热、出血、贫血、感染等”,“白血病的常用治疗方法有化疗、放疗、靶向治疗和造血干细胞移植等”},问题是:{什么是白血病}。
156.基于插入标记后的模板作为返回的完整提示,根据模板的调用函数将完整提示转换为张量表示,该张量表示作为大语言模型的输入,利用该张量表示对大语言模型进行微调,输出查询结果。
157.在步骤s4中,将上下文信息和目标输入序列填充至预置的模板中,以生成完整的提示。通过插入标记的方式,使得模板中目标输入序列和上下文信息的位置可以动态调整。该技术可以应用于大语言模型的查询结果生成中,提高模型生成文本的准确率和流畅度。
158.如图2所示,为本发明一实施例提供的知识库查询装置的模块示意图。
159.本发明所述知识库查询装置100可以安装于电子设备中。根据实现的功能,所述知识库查询装置100可以包括转换和构建模块110、监测和处理模块120、替换和计算模块130及选取和组合模块140。本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
160.在本实施例中,关于各模块/单元的功能如下:
161.转换和构建模块110,用于获取初始知识库的数据集中至少一个类型数据,将所述类型数据转换为对应的文本序列,基于所有的文本序列构建出目标知识库。
162.监测和处理模块120,用于当监测到预设大语言模型接收到查询所述目标知识库的初始输入序列时,将所述初始输入序列的第一单词通过预设提示层进行特征处理,生成候选输入序列。
163.替换和计算模块130,用于利用所述候选输入序列的第二单词替换所述初始输入序列的第一单词,以将所述初始输入序列更新为目标输入序列,计算所述目标输入序列的第一向量与所述目标知识库中各个文本序列的第二向量之间的相似度,生成相似度集合。
164.选取和组合模块140,用于基于预设的相似度选取策略,从所述目标知识库中选取预设的数量文本序列作为根据所述目标输入序列查询得到的上下文信息,将所述目标输入序列和所述上下文信息进行组合,以对所述大语言模型进行微调并输出查询结果。
165.在一个实施例中,所述基于所有的文本序列构建出目标知识库,包括:
166.将各个文本序列写入所述初始知识库的文件中;
167.调用预设函数,在所述文件中对各个所述文本序列添加换行符,生成所述目标知识库。
168.在一个实施例中,在所述将所述初始输入序列的第一单词通过预设提示层进行特征处理,生成候选输入序列之前,所述方法还包括:
169.在所述大语言模型的第一连接层前面添加所述提示层,并定义所述提示层的学习参数,以使所述提示层获取所述大语言模型的初始输入序列。
170.在一个实施例中,所述将所述初始输入序列的第一单词通过预设提示层进行特征处理,生成候选输入序列,包括:
171.将所述初始输入序列中排序第一位的单词,作为所述第一单词;
172.将所述第一单词的向量输入所述提示层进行特征处理,生成第一特征向量;
173.融合所述第一特征向量与所述第一单词的向量,生成所述候选输入序列。
174.在一个实施例中,所述利用所述候选输入序列的第二单词替换所述初始输入序列的第一单词,以将所述初始输入序列更新为目标输入序列,包括:
175.将所述候选输入序列中排序第一位的单词,作为所述第二单词;
176.利用所述第二单词替换所述第一单词得到所述目标输入序列。
177.在一个实施例中,所述基于预设的相似度选取策略,从所述目标知识库中选取预设的数量文本序列作为根据所述目标输入序列查询得到的上下文信息,包括:
178.对所述相似度集合中各个相似度的数值按照从大到小进行排序,选取排序中前k个数值对应的文本序列选取排序中前k个数值对应的文本序列,作为根据所述目标输入序列查询得到的上下文信息。
179.在一个实施例中,所述将所述目标输入序列和所述上下文信息进行组合,以对所述大语言模型进行微调并输出查询结果,包括:
180.将所述目标输入序列和所述上下文信息填充至预置的模板中;
181.分别对所述目标输入序列和所述上下文信息在所述模板的位置进行插入标记,基于插入标记后的模板对所述大语言模型进行微调,生成所述查询结果。
182.如图3所示,为本发明一实施例提供的实现知识库查询方法的电子设备的结构示意图。
183.在本实施例中,电子设备1包括,但不仅限于,可通过系统总线相互通信连接的存
储器11、处理器12、网络接口13,该存储器11中存储有知识库查询程序10,所述知识库查询程序10可被所述处理器12执行。图3仅示出了具有组件11-13以及知识库查询程序10的电子设备1,本领域技术人员可以理解的是,图3示出的结构并不构成对电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
184.其中,存储器11包括内存及至少一种类型的可读存储介质。内存为电子设备1的运行提供缓存;可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等的非易失性存储介质。在一些实施例中,可读存储介质可以是电子设备1的内部存储单元;在另一些实施例中,该非易失性存储介质也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。本实施例中,存储器11的可读存储介质通常用于存储安装于电子设备1的操作系统和各类应用软件,例如存储本发明一实施例中的知识库查询程序10的代码等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
185.处理器12在一些实施例中可以是中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述电子设备1的总体操作,例如执行与其他设备进行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行知识库查询程序10等。
186.网络接口13可包括无线网络接口或有线网络接口,该网络接口13用于在所述电子设备1与终端(图中未画出)之间建立通信连接。
187.可选的,所述电子设备1还可以包括用户接口,用户接口可以包括显示器(display)、输入单元比如键盘(keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选的,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organic light-emitting diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
188.应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
189.所述电子设备1中的所述存储器11存储的知识库查询程序10是多个指令的组合,在所述处理器12中运行时,可以实现:
190.获取初始知识库的数据集中至少一个类型数据,将所述类型数据转换为对应的文本序列,基于所有的文本序列构建出目标知识库;
191.当监测到预设大语言模型接收到查询所述目标知识库的初始输入序列时,将所述初始输入序列的第一单词通过预设提示层进行特征处理,生成候选输入序列;
192.利用所述候选输入序列的第二单词替换所述初始输入序列的第一单词,以将所述初始输入序列更新为目标输入序列,计算所述目标输入序列的第一向量与所述目标知识库中各个文本序列的第二向量之间的相似度,生成相似度集合;
193.基于预设的相似度选取策略,从所述目标知识库中选取预设的数量文本序列作为根据所述目标输入序列查询得到的上下文信息,将所述目标输入序列和所述上下文信息进
行组合,以对所述大语言模型进行微调并输出查询结果。
194.具体地,所述处理器12对上述知识库查询程序10的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
195.进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。所述计算机可读介质可以是非易失性的,也可以是非易失性的。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)。
196.所述计算机可读存储介质上存储有知识库查询程序10,所述知识库查询程序10可被一个或者多个处理器执行,本发明计算机可读存储介质具体实施方式与上述知识库查询方法各实施例基本相同,在此不作赘述。
197.在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
198.所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
199.另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
200.对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
201.因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
202.此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
203.最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

技术特征:
1.一种知识库查询方法,其特征在于,所述方法包括:获取初始知识库的数据集中至少一个类型数据,将所述类型数据转换为对应的文本序列,基于所有的文本序列构建出目标知识库;当监测到预设大语言模型接收到查询所述目标知识库的初始输入序列时,将所述初始输入序列的第一单词通过预设提示层进行特征处理,生成候选输入序列;利用所述候选输入序列的第二单词替换所述初始输入序列的第一单词,以将所述初始输入序列更新为目标输入序列,计算所述目标输入序列的第一向量与所述目标知识库中各个文本序列的第二向量之间的相似度,生成相似度集合;基于预设的相似度选取策略,从所述目标知识库中选取预设的数量文本序列作为根据所述目标输入序列查询得到的上下文信息,将所述目标输入序列和所述上下文信息进行组合,以对所述大语言模型进行微调并输出查询结果。2.如权利要求1所述的知识库查询方法,其特征在于,所述基于所有的文本序列构建出目标知识库,包括:将各个文本序列写入所述初始知识库的文件中;调用预设函数,在所述文件中对各个所述文本序列添加换行符,生成所述目标知识库。3.如权利要求1所述的知识库查询方法,其特征在于,在所述将所述初始输入序列的第一单词通过预设提示层进行特征处理,生成候选输入序列之前,所述方法还包括:在所述大语言模型的第一连接层前面添加所述提示层,并定义所述提示层的学习参数,以使所述提示层获取所述大语言模型的初始输入序列。4.如权利要求1所述的知识库查询方法,其特征在于,所述将所述初始输入序列的第一单词通过预设提示层进行特征处理,生成候选输入序列,包括:将所述初始输入序列中排序第一位的单词,作为所述第一单词;将所述第一单词的向量输入所述提示层进行特征处理,生成第一特征向量;融合所述第一特征向量与所述第一单词的向量,生成所述候选输入序列。5.如权利要求1或4所述的知识库查询方法,其特征在于,所述利用所述候选输入序列的第二单词替换所述初始输入序列的第一单词,以将所述初始输入序列更新为目标输入序列,包括:将所述候选输入序列中排序第一位的单词,作为所述第二单词;利用所述第二单词替换所述第一单词得到所述目标输入序列。6.如权利要求1所述的知识库查询方法,其特征在于,所述基于预设的相似度选取策略,从所述目标知识库中选取预设的数量文本序列作为根据所述目标输入序列查询得到的上下文信息,包括:对所述相似度集合中各个相似度的数值按照从大到小进行排序,选取排序中前k个数值对应的文本序列选取排序中前k个数值对应的文本序列,作为根据所述目标输入序列查询得到的上下文信息。7.如权利要求1所述的知识库查询方法,其特征在于,所述将所述目标输入序列和所述上下文信息进行组合,以对所述大语言模型进行微调并输出查询结果,包括:将所述目标输入序列和所述上下文信息填充至预置的模板中;分别对所述目标输入序列和所述上下文信息在所述模板的位置进行插入标记,基于插
入标记后的模板对所述大语言模型进行微调,生成所述查询结果。8.一种知识库查询装置,其特征在于,所述装置包括:转换和构建模块,用于获取初始知识库的数据集中至少一个类型数据,将所述类型数据转换为对应的文本序列,基于所有的文本序列构建出目标知识库;监测和处理模块,用于当监测到预设大语言模型接收到查询所述目标知识库的初始输入序列时,将所述初始输入序列的第一单词通过预设提示层进行特征处理,生成候选输入序列;替换和计算模块,用于利用所述候选输入序列的第二单词替换所述初始输入序列的第一单词,以将所述初始输入序列更新为目标输入序列,计算所述目标输入序列的第一向量与所述目标知识库中各个文本序列的第二向量之间的相似度,生成相似度集合;选取和组合模块,用于基于预设的相似度选取策略,从所述目标知识库中选取预设的数量文本序列作为根据所述目标输入序列查询得到的上下文信息,将所述目标输入序列和所述上下文信息进行组合,以对所述大语言模型进行微调并输出查询结果。9.一种电子设备,其特征在于,所述电子设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的知识库查询程序,所述知识库查询程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一项所述的知识库查询方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有知识库查询程序,所述知识库查询程序可被一个或者多个处理器执行,以实现如权利要求1至7任一项所述的知识库查询方法。

技术总结
本发明涉及医疗数据处理领域,揭露一种知识库查询方法,包括:将类型数据转换为文本序列并构建出目标知识库;将初始输入序列通过预设提示层进行特征处理,生成候选输入序列;利用候选输入序列的第二单词替换初始输入序列的第一单词生成目标输入序列,计算目标输入序列与目标知识库中各个文本序列的相似度生成相似度集合;从相似度集合选取预设数量文本序列作为上下文信息,将目标输入序列和上下文信息组合,以对大语言模型微调并输出查询结果。本发明应用在医疗数据处理领域中,将目标知识库中的所有类型数据转换为统一的文本序列,利用提示层实现了大语言模型充分利用对目标知识库的已有条件,提高了大语言模型的查询结果的准确率。的准确率。的准确率。


技术研发人员:王俊
受保护的技术使用者:平安科技(深圳)有限公司
技术研发日:2023.06.20
技术公布日:2023/9/14
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐