CN117473057A - 问答处理方法、系统、设备和存储介质 - Google Patents
问答处理方法、系统、设备和存储介质 Download PDFInfo
- Publication number
- CN117473057A CN117473057A CN202311376183.2A CN202311376183A CN117473057A CN 117473057 A CN117473057 A CN 117473057A CN 202311376183 A CN202311376183 A CN 202311376183A CN 117473057 A CN117473057 A CN 117473057A
- Authority
- CN
- China
- Prior art keywords
- knowledge
- question
- text
- model
- knowledge base
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 16
- 238000000034 method Methods 0.000 claims abstract description 58
- 238000012549 training Methods 0.000 claims description 90
- 238000012163 sequencing technique Methods 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 14
- 230000015654 memory Effects 0.000 claims description 12
- 238000012545 processing Methods 0.000 abstract description 30
- 230000000694 effects Effects 0.000 abstract description 10
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 12
- 239000003814 drug Substances 0.000 description 11
- 238000013528 artificial neural network Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 5
- 230000004069 differentiation Effects 0.000 description 5
- 208000024891 symptom Diseases 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 239000006187 pill Substances 0.000 description 4
- 241000405414 Rehmannia Species 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 239000004615 ingredient Substances 0.000 description 3
- 210000003734 kidney Anatomy 0.000 description 3
- 241001619461 Poria <basidiomycete fungus> Species 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 210000000952 spleen Anatomy 0.000 description 2
- 239000007858 starting material Substances 0.000 description 2
- 102100033814 Alanine aminotransferase 2 Human genes 0.000 description 1
- 101710096000 Alanine aminotransferase 2 Proteins 0.000 description 1
- 238000001467 acupuncture Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 229940079593 drug Drugs 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000000955 prescription drug Substances 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000002560 therapeutic procedure Methods 0.000 description 1
- 239000003053 toxin Substances 0.000 description 1
- 231100000765 toxin Toxicity 0.000 description 1
- 238000013519 translation 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/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种问答处理方法、系统、设备和存储介质,涉及人工智能技术领域。主要技术方案包括:获取用户请求,利用用户请求得到针对目标垂直领域的第一问题文本;从目标垂直领域的知识库中获取与第一问题文本满足预设相关度要求的N个知识,N为正整数;利用N个知识和第一问题文本构建第二问题文本;利用问答模型针对第二问题文本生成答复文本,问答模型基于大语言模型实现。本申请能够提升大语言模型在垂直领域的问答任务上的效果。
Description
技术领域
本申请涉及人工智能技术领域,特别涉及一种问答处理方法、系统、设备和存储介质。
背景技术
LLM(Large Language Model,大语言模型)是指使用巨大规模的文本数据训练并基于深度学习得到的大型自然语言处理模型,可以理解语言文本的含义或生成自然语言文本。LLM可以处理多种自然语言任务,如文本分类、问答、翻译等。LLM在规模和能力上大大高于传统语言模型,LLM包含数十亿级别、数百亿级别、甚至更多的参数。
在问答任务上,LLM虽然在一般领域很强大,但在诸如医疗等垂直领域的问答任务上往往表现很差。
发明内容
有鉴于此,本申请提供了一种问答处理方法、系统、设备和存储介质,用以提升LLM在垂直领域的问答任务上的效果。
根据本申请的第一方面,提供了一种问答处理方法,应用于目标垂直领域,所述方法包括:
获取用户请求,利用所述用户请求得到针对所述目标垂直领域的第一问题文本;
从所述目标垂直领域的知识库中获取与所述第一问题文本满足预设相关度要求的N个知识,所述N为正整数;
利用所述N个知识和所述第一问题文本构建第二问题文本;
利用问答模型针对所述第二问题文本生成答复文本,所述问答模型基于大语言模型实现。
根据本申请实施例中一可实现的方式,从所述目标垂直领域的知识库中获取与所述第一问题文本满足预设相关度要求的N个知识包括:
获取所述第一问题文本的嵌入表示;
利用所述第一问题文本的嵌入表示与所述目标垂直领域的知识库中各知识的嵌入表示之间的相关度,确定对应相关度满足预设相关度要求的N个知识。
根据本申请实施例中一可实现的方式,所述第一问题文本的嵌入表示和所述各知识的嵌入表示是利用所述目标垂直领域的语言模型获取的,其中所述垂直领域的语言模型的规模小于所述大语言模型的规模。
根据本申请实施例中一可实现的方式,利用所述第一问题文本的嵌入表示与所述目标垂直领域的知识库中各知识的嵌入表示之间的相关度,确定对应相关度满足预设相关度要求的N个知识包括:
计算所述第一问题文本的嵌入表示与所述知识库中各知识的嵌入表示之间的距离,确定对应距离小于或等于预设距离阈值的N个知识,或者确定对应距离按照从小到大的顺序排在前N个的知识;或者,
将所述第一问题文本的嵌入表示和所述知识库中各知识的嵌入表示输入排序模型,利用排序模型得到所述知识库中与所述第一问题文本之间的嵌入表示相关度排在前N个的知识。
根据本申请实施例中一可实现的方式,所述排序模型采用如下方式预先训练得到:
获取包括多个正样本对和负样本对的第一训练数据,各样本对包括问题样本和知识样本,所述知识样本来源于所述目标垂直领域的知识库;
利用所述第一训练数据训练排序模型,其中,所述排序模型利用样本对中问题样本的嵌入表示和知识样本的嵌入表示,预测样本对中知识样本的排序得分;所述训练的目标包括:最大化同一问题样本对应的正样本对中知识样本的排序得分与对应的负样本对中知识样本的排序得分之间的差异。
根据本申请实施例中一可实现的方式,所述排序模型采用如下方式预先训练得到:
获取包括多个训练样本的第二训练数据,所述训练样本包括问题样本以及为所述知识库中与该问题样本之间的相关度排在前N个的知识打上的标签;
利用所述第二训练数据训练排序模型,其中,所述排序模型利用问题样本的嵌入表示和所述知识库中各知识的嵌入表示,预测所述知识库中各知识的标签;所述训练的目标包括:最小化预测得到的各知识的标签与在训练样本中被标注的标签之间的差异。
根据本申请实施例中一可实现的方式,利用所述N个知识和所述第一问题文本构建第二问题文本包括:
利用预设的问题模板,将所述N个知识和所述第一问题文本进行组装生成第二问题文本。
根据本申请实施例中一可实现的方式,所述方法还包括:
利用所述知识库检测所述答复文本是否正确,如果否,则利用所述知识库对所述第二问题文本进行修正;
利用问答模型重新针对修正后的第二问题文本生成答复文本。
根据本申请实施例中一可实现的方式,利用所述知识库检测所述答复文本是否正确包括:将所述答复文本与所述知识库中的各知识进行比对,若所述答复文本与所述知识库中的知识存在不一致,则确定所述答复文本不正确;
利用所述知识库对所述第二问题文本进行修正包括:将所述知识库中与所述答复文本不一致的知识添加入所述第二问题文本。
根据本申请的第二方面,提供了一种问答处理方法,应用于医疗领域,所述方法包括:
获取用户请求,所述用户请求包括针对医疗领域的第一问题文本;
从医疗领域的知识库中获取与所述第一问题文本满足预设相关度要求的N个医学知识,所述N为正整数;
利用所述N个医学知识和所述第一问题文本构建第二问题文本;
利用问答模型针对所述第二问题文本生成答复文本,所述问答模型基于大语言模型实现。
根据本申请的第三方面,提供了一种问答处理方法,应用于目标垂直领域,所述方法包括:
获取来自用户设备的用户请求,其中所述用户请求为文本或语音;
针对所述用户请求执行如上第一方面所述的方法,得到答复文本;
向所述用户设备返回针对所述用户请求的响应,所述响应是利用所述答复文本得到的,其中所述响应为文本或语音。
根据本申请的第四方面,提供了一种问答处理系统,应用于目标垂直领域,所述系统包括:
问题获取单元,被配置为获取用户请求,利用所述用户请求得到针对所述目标垂直领域的第一问题文本;
知识获取单元,被配置为从所述目标垂直领域的知识库中获取与所述第一问题文本满足预设相关度要求的N个知识,所述N为正整数;
问题重构单元,被配置为利用所述N个知识和所述第一问题文本构建第二问题文本;
答复生成单元,被配置为利用问答模型针对所述第二问题文本生成答复文本,所述问答模型基于大语言模型实现。
根据本申请的第五方面,提供了一种电子设备,该电子设备包括:
一个或者多个处理器,和
存储程序的存储器,程序包括指令,指令在由处理器执行时使处理器执行上述第一方面、第二方面或第三方面的方法。
根据本申请的第六方面,提供了一种存储有程序的计算机可读存储介质,程序包括指令,指令在由计算装置的一个或者多个处理器执行时,致使计算装置执行上述第一方面、第二方面或第三方面的方法。
根据本申请提供的具体实施例,本申请申请了以下技术效果:
1)本申请引入了目标垂直领域的知识库,利用知识库中与用户请求得到的第一问题文本相关的知识重新构建第二问题文本,以使得LLM能够从第二问题文本中获得在目标垂直领域的相关知识,相比较单纯利用第一问题文本,生成的答复文本更优,提高了LLM在目标垂直领域的问答任务上的效果。
2)本申请不需要对LLM进行重新训练,因此也无需为了LLM的训练需求,针对目标垂直领域构建数量巨大的训练样本,极大地节省了人工成本、时间成本、计算资源和迭代时间。
3)本申请通过目标垂直领域的语言模型将第一问题文本和已有知识库中的知识映射到相同的语义空间,得到与第一问题文本的相关性满足预设相关性要求的若干知识,既充分利用了已有知识库,也提高了知识的召回率和相关性。
4)本申请利用知识库中的N个知识与第一问题文本,构建新的问题文本输入基于大语言模型实现的问答模型,实现了适配目标垂直领域的第二问题文本的自动构建,无需人工依据第一问题文本编写适配目标垂直领域的指令,效率更高且智能化程度也更高。
当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为适用于本申请实施例的系统架构图;
图2为本申请实施例提供的问答处理方法的流程图;
图3为本申请实施例提供的一种排序模型的训练方法流程图;
图4为本申请实施例提供的另一种排序模型的训练方法流程图;
图5为本申请实施例提供的应用于医疗领域的一个问答处理方法的优选流程图;
图6为本申请实施例提供的问答处理系统的示意性框图;
图7为本申请实施例提供的电子设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
若想要LLM在垂直领域的问答任务具有较好的效果,目前已有的方式主要是通过构造垂直领域的训练数据后,在通用LLM的基础上继续对LLM进行训练,从而实现LLM在垂直领域上的微调。但这种方式往往需要人工或者半人工地在垂直领域上构建上万乃至更多数量的问答对作为训练数据,才能达到较好的效果。一方面,人力成本和时间成本巨大;另一方面,继续对LLM进行训练也需要耗费大量的计算资源,且训练难度较大。
本申请则提出了一种全新的技术思路。为了方便对本申请实施例的理解,首先对本申请适用的系统架构进行描述。图1示出了可以应用本申请实施例的示例性系统架构,如图1中所示,该系统架构包括位于服务端的问答处理系统、网络和用户设备。
若用户存在针对特定垂直领域的问题,则可以针对该垂直领域进行提问。具体地,可以通过用户设备向服务端发送用户请求。在本申请实施例中将用户所针对的特定垂直领域称为目标垂直领域。其中该用户请求可以以文本的形式输入,也可以以语音的形式输入。
网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
服务端的问答处理系统接收到来自用户设备的用户请求后,采用本申请实施例中提供的问答处理方法生成答复文本,其中会涉及到对目标垂直领域的知识库、LLM等的利用,最后利用答复文本得到针对所述用户请求的响应以返回给用户设备。其中上述响应也可以采用文本或语音的形式。
若采用语音的形式,则在服务器端还会包含相应的语音处理部分,例如语音识别、语音合成等模块,本申请对此不做限制。
其中用户设备可以包括但不限于诸如:智能移动终端、智能家居设备、可穿戴式设备、PC(Personal Computer,个人计算机)等。其中智能移动设备可以包括诸如手机、平板电脑、笔记本电脑、PDA(Personal Digital Assistant,个人数字助理)、互联网汽车等。智能家居设备可以包括智能电视、智能冰箱等等。可穿戴式设备可以包括诸如智能手表、智能眼镜、虚拟现实设备、增强现实设备、混合现实设备(即可以支持虚拟现实和增强现实的设备)等等。
问答处理系统设置为独立的服务器,也可以设置于同一个服务器或服务器群组,还可以设置于独立的或者同一云服务器。云服务器又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(VPS,VirtualPrivate Server)服务中存在的管理难度大,服务扩展性弱的缺陷。除此之外,问答处理系统还可以设置于具有较强计算能力的计算机终端。
应该理解,图1中的用户设备、问答处理系统和网络的数目仅仅是示意性的。根据实现需要,可以具有任意数目的用户设备、问答处理系统和网络。
图2为本申请实施例提供的问答处理方法的流程图,该方法可以由图1所示系统架构中的问答处理系统执行。如图2中所示,该方法可以包括以下步骤:
步骤201:获取用户请求,利用该用户请求得到针对目标垂直领域的第一问题文本。
步骤203:从该目标垂直领域的知识库中获取与第一问题文本满足预设相关度要求的N个知识,N为正整数。
步骤205:利用上述N个知识和第一问题文本构建第二问题文本。
步骤207:利用问答模型针对第二问题文本生成答复文本,其中问答模型基于LLM实现。
通过上述流程,本申请引入了目标垂直领域的知识库,利用知识库中与用户请求得到的第一问题文本相关的知识重新构建第二问题文本,以使得LLM能够从第二问题文本中获得在目标垂直领域的相关知识,相比较单纯利用第一问题文本,生成的答复文本更优,提高了LLM在目标垂直领域的问答任务上的效果。
下面分别对上述流程中的各步骤进行具体描述。需要说明的是,本申请实施例中涉及的“第一”、“第二”等限定并不具备大小、顺序和数量等方面的限制,仅仅用以在名称上加以区分。例如“第一问题文本”和“第二问题文本”用以在名称上区分两个问题文本。再例如,“第一训练数据”和“第二训练数据”用以在名称上区分两套训练数据,等等。
首先结合实施例对上述步骤201即“获取用户请求,利用该用户请求得到针对目标垂直领域的第一问题文本”进行详细描述。
在问答场景下,用户可以在问答处理系统提供的服务中输入问题。该问答处理系统向诸如PC、笔记本电脑、手机等具备显示屏的设备提供界面,例如可以针对不同的垂直领域提供不同的界面,也可以在同一界面针对不同的垂直领域提供不同的输入组件,或者,该问答处理系统仅针对单一的垂直领域。
再或者,问答处理系统可以通过诸如智能音箱等具备语音功能的设备提供服务,用户通过语音的方式输入问题,也可以通过语音的方式切换所针对的垂直领域。
在本申请实施例中,将用户输入问题所针对的垂直领域称为目标垂直领域。所谓垂直领域是社会分工精细化的产物,各行各业垂直延伸下去都存在各自的垂直领域,垂直领域也可以理解为特定的专业领域。例如,医疗领域、教育领域、汽车领域、电商领域等等。垂直领域是相对于通用领域提出的,通用领域通常是包含各种领域的,训练数据来自于各种领域,现有的LLM就是针对通用领域得到的。
用户可以直接输入问题文本,为了与后续重新构造的问题相区别,在此称为第一问题文本,用户设备将第一问题文本携带在用户请求中发送给服务端的问答处理系统。服务端的问答处理系统接收到用户请求后,从中解析得到第一问题文本。
用户也可以通过语音的方式输入问题,用户设备将语音携带在用户请求中发送给服务端的问答处理系统。服务端的问答处理系统接收到用户请求后,经过语音识别得到第一问题文本。
下面结合实施例对上述步骤203即“从该目标垂直领域的知识库中获取与第一问题文本满足预设相关度要求的N个知识”进行详细描述。
本申请实施例中引入了目标垂直领域的知识库,该知识库中包含了目标垂直领域中的多个知识。知识的类型可以包括三元组知识、文档知识等。其中三元组知识可以从目标垂直领域的知识图谱中得到,通常采用“头实体,实体关系,尾实体”这种三元组形式。文档知识可以是诸如条目类的知识、段落类的知识、句子类的知识等等。还可以采用其他类型,在此不做一一列举。
作为其中一种可实现的方式,可以利用第一问题文本在目标垂直领域的知识库中进行检索匹配,确定文本相似度满足预设相关度要求的N个知识。其中,文本相似度可以采用诸如TF(term frequency,词频)-IDF(inverse document frequency,逆文档率)、杰拉德相似度、海明距离,等等任意的文本相似度计算方式。
然而,上述基于文本相似度的方式可能存在召回率低、相关性误差大等问题。因此,本申请实施例提供了一种更优选的实施方式,可以获取第一问题文本的嵌入(Embedding)表示,利用第一问题文本的嵌入表示与目标垂直领域的知识库中各知识的嵌入表示之间的相关度,确定对应相关度满足预设相关度要求的N个知识,N为正整数。
在此需要说明的是,本申请实施例中涉及的“嵌入表示”中的“表示”也可以称为“表征”,指的是一种特征表达,本申请实施例中主要反映的是文本特征的表达。
上述第一问题文本的嵌入表示和知识库中各知识的嵌入表示可以采用同一语义空间。在本申请实施例中,可以利用目标垂直领域的语言模型来获得第一问题文本的嵌入表示和知识库中各知识的嵌入表示。
目标垂直领域的语言模型规模通常远小于LLM,是利用目标垂直领域的语料预先训练得到的,能够对该目标垂直领域的文本进行很好地理解。在输入文本的情况下,目标垂直领域的语言模型输出该文本的嵌入表示。
其中,目标垂直领域的语言模型可以基于诸如BERT(Bidirectional EncoderRepresentation from Transformers,基于转换的双向编码表示)、XLNet、GPT(GenerativePre-Training,生成式预训练)模型、T5模型等预先训练得到。也可以是基于上述模型的扩展模型预先训练得到,例如RoBERTa(A Robustly Optimized BERT Approach,一种鲁棒优化的BERT模型)模型、GPT-2模型、GPT-3模型等。
上述目标垂直领域的语言模型的训练方式鉴于目前已经存在大量技术,本申请实施例并不加以特别限制。例如,可以使用无监督自回归的方式进行训练。将目标垂直领域的文本样本中随机mask(掩码)部分内容,由目标垂直领域的语言模型提取文本样本的嵌入表示后,依据嵌入表示预测被mask部分的内容,训练目标是最小化预测结果与被mask部分原始内容之间的差异。还可以采用其他训练方式,在此不做一一列举。
本申请实施例中可以利用目标垂直领域的语言模型预先获取知识库中各知识的嵌入表示。在获取第一问题文本后,利用目标垂直领域的语言模型获取第一问题文本的嵌入表示,然后利用该第一问题文本的嵌入表示和已经预先得到的知识库中各知识的嵌入表示,确定对应相关度满足预设相关度要求的N个知识。这样能够更好地提高效率。
对于知识库中的文档知识而言,利用目标垂直领域的语言模型对文档中的各Token(元素)进行嵌入处理,得到文档知识的嵌入表示。其中,各Token可以包括字符、起始符和分隔符。
对于知识库中的三元组知识而言,可以将三元组中的头实体、实体关系和尾实体进行拼接,利用目标垂直领域的语言模型对拼接得到的文本序列中各Token进行嵌入处理,得到三元组知识的嵌入表示。
其中目标垂直领域的语言模型的嵌入处理可以包括词嵌入,还可以进一步包括位置嵌入等。词嵌入,即将各Token进行词向量编码,得到词向量表示。位置嵌入,即将各Token在序列中的位置进行编码,得到位置的表示。
通过目标垂直领域的语言模型将第一问题文本和已有知识库中的知识映射到相同的语义空间,得到与第一问题文本的相关性满足预设相关性要求的若干知识,既充分利用了已有知识库,也提高了知识的召回率和相关性。
在利用第一问题文本的嵌入表示与目标垂直领域的知识库中各知识的嵌入表示之间的相关度,确定对应相关度满足预设相关度要求的N个知识时,可以采用但不限于以下两种方式:
第一种方式:计算第一问题文本的嵌入表示与知识库中各知识的嵌入表示之间的距离,确定对应距离小于或等于预设距离阈值的N个知识,或者确定对应距离按照从小到大的顺序排在前N个的知识。
这种方式可以看做是通过向量距离的方式分别计算第一问题文本的嵌入表示与知识库中各知识的嵌入表示之间的相关度,依据相关度来选取N个知识。
其中,嵌入表示之间的距离可以采用诸如余弦距离、欧式距离等等。预设的距离阈值可以采用经验值或者实验值。
第二种方式:将第一问题文本的嵌入表示和知识库中各知识的嵌入表示输入排序模型,利用排序模型得到知识库中与第一问题文本之间的嵌入表示相关度排在前N个的知识。
其中排序模型可以采用排序神经网络的方式构建,也可以采用多标签分类神经网络构建。下面分别进行描述。
若排序模型采用排序神经网络的方式构建,则可以将第一问题文本的嵌入表示和知识库中知识的嵌入表示输入排序模型,排序模型分别利用第一问题文本的嵌入表示和各知识的嵌入表示,预测各知识的排序得分。例如,排序模型可以利用第一问题文本的嵌入表示和知识的嵌入表示经过softmax(归一化指数函数)映射为该知识的排序得分,据此可以得到知识库中各知识的排序得分。然后依据各知识的排序得分从高到低的顺序,输出排在前N个的知识。
这种情况下,该排序模型的训练方法可以如图3中所示,包括如下步骤:
步骤301:获取包括多个正样本对和负样本对的第一训练数据,各样本对包括问题样本和知识样本,知识样本来源于目标垂直领域的知识库。
在本实施例中,可以预先构建一些问题作为问题样本,从该知识库中与该问题样本最相关的N个知识中,选择知识作为知识样本分别与该问题样本构成正样本对;从除了该N个知识之外的其他知识中,选择知识作为知识样本与该问题样本构成负样本对。
举个例子,假设用户构建问题1,该知识库中与该问题a最相关的10个知识中,随机选择3个知识a、b、c,构成正样本对表示为:
正样本对1:(问题1,知识a)
正样本对2:(问题1,知识b)
正样本对3:(问题1,知识c)
从除了这10个知识之外的其他知识从随机选择3个知识d、e、f,构成负样本对表示为:
负样本对1:(问题1,知识d)
负样本对2:(问题1,知识b)
负样本对3:(问题1,知识c)
通过上述方式,可以构造出大量正样本对和负样本对,从而构成第一训练数据。
步骤303:利用第一训练数据训练排序模型,其中,排序模型利用样本对中问题样本的嵌入表示和知识样本的嵌入表示,预测样本对中知识样本的排序得分;训练的目标包括:最大化同一问题样本对应的正样本对中知识样本的排序得分与对应的负样本对中知识样本的排序得分之间的差异。
作为其中一种可实现的方式,排序模型可以将样本对中问题样本的嵌入表示和知识样本的嵌入表示进行拼接,利用拼接后的嵌入表示经过Softmax映射,得到该样本对中知识样本的排序得分。其中,问题样本的嵌入表示和知识样本的嵌入表示同样可以使用目标垂直领域的语言模型得到,可以参见之前实施例中的相关记载,在此不做赘述。
本实施例中排序模型采用了对比学习的方式进行训练,即尽拉远正、负样本对之间的距离。因此,采用的训练目标是最大化同一问题样本对应的正样本对中知识样本的排序得分与对应的负样本对中知识样本的排序得分之间的差异。举个例子,对于正样本对1和负样本对1而言,训练目标是尽可能最大化知识a的排序得分与知识d的排序得分之间的差异。
在训练过程中,可以依据上述训练目标构造损失函数,在每一轮迭代中利用损失函数的取值,采用诸如梯度下降等方式更新排序模型的模型参数,直至满足预设的训练结束条件。其中训练结束条件可以包括诸如损失函数的取值小于或等于预设的损失函数阈值,迭代次数达到预设的次数阈值等。
若排序模型采用多标签分类神经网络,实际上是将排序任务转化为了标签分类任务。排序模型利用第一问题文本的嵌入表示和知识库中各知识的嵌入表示,分别对各知识进行分类,依据分类结果为各知识打上标签。例如,分为两类,将与第一问题文本的嵌入表示相关度排在前N个的知识作为一类,打上标签1;其余作为另一类,打上标签0。相应地,通过排序模型对各知识预测的标签,就能够得到知识库中与第一问题文本之间的嵌入表示相关度排在前N个的知识。
这种情况下,该排序模型的训练方法可以如图4中所示,包括如下步骤:
步骤401:获取包括多个训练样本的第二训练数据,其中训练样本包括问题样本以及为知识库中与该问题样本之间的相关度排在前N个的知识打上的标签。
在本实施例中,可以预先构建一些问题作为问题样本,将该知识库中与该问题样本最相关的N个知识打上一类标签,例如标签1;将除了该N个知识之外的其他知识打上另一类标签,例如标签2。
该标签的目的就是为了区分哪些知识是与问题样本之间的相关度排在前N个的知识,也可以采用其他打标签的方式。
步骤403:利用第二训练数据训练排序模型,其中,排序模型利用问题样本的嵌入表示和知识库中各知识的嵌入表示,预测知识库中各知识的标签;训练的目标包括:最小化预测得到的各知识的标签与在训练样本中被标注的标签之间的差异。
作为其中一种可实现的方式,排序模型可以将问题样本的嵌入表示和知识库中各知识的嵌入表示进行诸如注意力(Attention)机制的处理后,利用注意力机制处理后各知识的嵌入表示预测各知识的标签。其中,问题样本的嵌入表示和各知识的嵌入表示同样可以使用目标垂直领域的语言模型得到,可以参见之前实施例中的相关记载,在此不做赘述。
本实施例中采用的训练目标是尽可能使得对各知识预测的标签与训练样本中被标注的标签一致,即最小化预测得到的各知识的标签与在训练样本中被标注的标签之间的差异。
在训练过程中,可以依据上述训练目标构造损失函数,在每一轮迭代中利用损失函数的取值,采用诸如梯度下降等方式更新排序模型的模型参数,直至满足预设的训练结束条件。其中训练结束条件可以包括诸如损失函数的取值小于或等于预设的损失函数阈值,迭代次数达到预设的次数阈值等。
下面结合实施例对图2所示流程中的步骤205即“利用上述N个知识和第一问题文本构建第二问题文本”进行详细描述。
作为其中一种可实现的方式,可以预先设置一些问题模板,本步骤中利用预设的问题模板,将N个知识和第一问题文本进行组装生成第二问题文本。
例如问题模板可以采用:
参考以下知识:【知识1】,【知识2】,……【知识N】,回答问题:【第一问题文本】。
上述“【】”表示待填充的槽位,其中的文字表示该槽位的属性,指示用以填充什么内容。通过上述问题模板,将已经确定出的N个知识和第一问题文本分别填入上述问题模板中的各槽位,从而得到一个新的问题,在本申请实施例中称为第二问题文本。
需要说明的是,上述问题模板可以根据实际需求、具体领域、经验等灵活设置,在本实施例中仅仅是列举一个例子以帮助理解。在上述问题模板中还可以包括诸如答复该问题的方式、要求等其他内容。
构建得到的第二问题文本中,第一问题文本表达的是用户需求,即用户提出的问题。N个知识表达的是在目标垂直领域中累积的与用户提出的问题相关的领域知识,能够为基于LLM实现的问答模型提供参考,从而使得LLM能够充分参考与用户提出的问题相关的领域知识,从而生成更优的答案。
本申请实施例中采用的问答模型基于LLM实现,即是以LLM作为基础模型。这里的问答模型是已有的面向通用领域的通用模型。本申请实施例提供的方法中,在目标垂直领域达到更优效果而不需要对LLM进行重新训练,因此也无需为了LLM的训练需求,针对目标垂直领域构建数量巨大的训练样本,极大地节省了人工成本、时间成本、计算资源和迭代时间。
本申请实施例提供的上述方法可以应用于多种垂直领域,例如教育领域、医疗领域、汽车领域、电商领域等等。在此以医疗领域为例,对一个优选实施例的流程进行描述。
当目标垂直领域为医疗领域时,相应地,目标垂直领域的知识库包含医学知识。如果采用更细粒度的领域,例如中医领域,则目标垂直领域的知识库包含中医领域,例如包含一些中医经络、针灸、方药、治法、治则等等知识。采用本申请实施例提供的方法可以对医疗领域累积的医学知识进行充分利用。如图5中所示,可以采用如下步骤具体实现:
在步骤500中,预先利用医疗领域的语言模型G,获取医疗领域的知识库F中各知识f的嵌入表示G(f)。
医疗领域的知识库中包含了医疗领域中的多个知识。知识的类型可以包括三元组知识、文档知识等。其中三元组知识可以从医疗领域的知识图谱中得到,通常采用“头实体,实体关系,尾实体”这种三元组形式。例如“茯苓,治疗,脾虚”,其中“茯苓”和“脾虚”分别为头实体和尾实体,“治疗”为两个实体之间的关系。语言模型G可以将三元组中的头实体、实体关系和尾实体进行拼接,对拼接得到的文本序列中各Token进行嵌入处理,得到三元组知识的嵌入表示。其中,各Token可以包括字符、起始符和分隔符等。
文档知识可以是诸如方药、疗法等等。还可以采用其他类型,在此不做一一列举。可以利用语言模型G对文档中的各Token进行嵌入处理,得到文档知识的嵌入表示。
预先获取的知识库F中各知识f的嵌入表示G(f)可以预先存储于服务器端的存储空间或数据库,以便于获取到用户请求后,能够直接从服务器端的存储空间或数据库中获取各知识f的嵌入表示G(f),从而提高效率。
医疗领域的语言模型G可以使用已有的大量的医疗电子化资源,例如医疗基础知识、药剂、专著理论、临床案例及注解、养生保健资料等等,采用诸如无监督自回归的方法预先训练得到。
在步骤501中,获取用户请求,并利用该用户请求得到针对医疗领域的第一问题文本q。
在步骤502中,利用医疗领域的语言模型G,获取第一问题文本q的嵌入表示G(q)。
在步骤503中,将第一问题文本q的嵌入表示G(q)和医疗领域的知识库F中各知识f的嵌入表示G(f)提供给排序模型,利用排序模型得到对应嵌入表示与G(q)最相关的N个知识,表示为f1,f2,…fN。
在步骤504中,利用预设的问题模板将确定出的最相关的N个知识和第一问题文本q进行组装,得到第二问题文本I(q)。
举个例子,假设用户针对的是中医领域,可以采用如下问题模板:
“从中医的角度,并鉴于以下中医知识:【f1】,【f2】,…,【fN】,回答问题。要求对问题给出一步步的详细过程,涉及到症状或四诊结果的,进行详细的中医分析辨证,涉及到治疗的,根据辨证结果进行治法的分析介绍,涉及到开方的,根据辨证和治法开出中医方子,并给出详细的方解。问题:【q】。”
在步骤505中,将第二问题文本I(q)提交给基于LLM实现的问答模型,得到答复文本。
可以进一步利用该答复文本生成针对用户请求的响应,并返回给用户。用户就能够获取到针对第一问题文本的答复。
通过图5所示流程,能够在问答任务中充分利用医疗领域已有的知识库,利用知识库中与用户请求得到的第一问题文本相关的医学知识重新构建第二问题文本,以使得LLM能够从第二问题文本中获得在医疗领域的相关知识,相比较单纯利用第一问题文本,生成的答复文本更优,提高了LLM在医疗领域的问答任务上的效果。
并且不需要对LLM进行在目标垂直领域上的重新训练,因此也无需为了LLM的训练需求,针对目标垂直领域构建数量巨大的训练样本(医疗领域,尤其是例如中医之类的特定领域,可供利用的样本数据数量是很难达到LLM需要的量级的),极大地节省了人工成本、时间成本、计算资源和迭代时间。
另外,通过医疗领域的语言模型将第一问题文本和已有知识库中的知识映射到相同的语义空间,得到与第一问题文本的相关性满足预设相关性要求的若干知识,既充分利用了医疗领域已有的知识库,也提高了知识的召回率和相关性。
本实施例中的流程仅是一种优选的实施方式,其他实现或具体细节可以参见针对图2所示流程的实施例中的相关记载,在此不做赘述。
更进一步地,在本申请实施例中图2所示流程的步骤207之后,或者图5所示流程的步骤505之后,还可以进一步利用知识库检测答复文本是否正确,如果是,则可以利用生成的答复文本向用户返回响应。如果否,则可以利用知识库对第二问题文本进行修正,然后利用问答模型重新针对修正后的第二问题文本生成答复文本。
作为其中一种可实现的方式,在利用知识库检测答复文本是否正确时,可以将答复文本与知识库中的各知识进行比对,如果答复文本与知识库中的某知识存在不一致的情况,则确定答复文本不正确。举个例子,用户在针对某病情询问吃什么药物时,生成的答复文本包括“六味地黄丸,具备清热解毒的功效”等内容,但经过与知识库中的知识进行比对,发现与其中一个三元组“六味地黄丸,功效,滋阴补肾”不一致,也就是说针对六味地黄丸的功效上存在严重矛盾,说明答复文本是错误的。
这种情况很可能是由于第二问题文本中缺失了一条知识“六味地黄丸,功效,滋阴补肾”所导致的,因此,可以将知识库中与答复文本存在不一致的知识添加至第二问题文本。例如在原来的第二问题文本中添加一个新的知识“六味地黄丸,功效,滋阴补肾”,然后添加该知识后的第二问题文本再次提供给问答模型来生成答复文本。
除了采用上述将答复文本在知识库中的知识进行比对的方式来判断答复文本的正确性之外,也可以采用其他方式。例如利用知识库构建推断模型,利用推断模型来确定答复文本的正确性,等等。
另外,可以继续对答复文本进行是否正确的检测以及修正,直至答复文本正确或者达到预设的检测次数。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
根据另一方面的实施例,提供了一种问答处理系统。图6示出根据一个实施例的问答处理系统的示意性框图。如图6所示,该装置600包括:问题获取单元601、知识获取单元602、问题重构单元603和答复生成单元604,还可以进一步包括第一训练单元605或第二训练单元606,还可以包括问题修正单元607。其中各组成单元的主要功能如下:
问题获取单元601,被配置为获取用户请求,利用用户请求得到针对目标垂直领域的第一问题文本。
若用户请求为文本形式,则问题获取单元601可以直接从中解析得到第一问题文本。若用户请求为语音形式,则用户请求可以首先经由语音识别系统进行语音识别后,从识别得到的文本中解析得到第一问题文本。
知识获取单元602,被配置为从目标垂直领域的知识库中获取与第一问题文本满足预设相关度要求的N个知识,N为正整数。
问题重构单元603,被配置为利用N个知识和第一问题文本构建第二问题文本。
答复生成单元604,被配置为利用问答模型针对第二问题文本生成答复文本,问答模型基于大语言模型LLM实现。
作为其中一种可实现的方式,知识获取单元602可以具体被配置为利用第一问题文本在目标垂直领域的知识库中进行检索匹配,确定文本相似度满足预设相关度要求的N个知识。其中,文本相似度可以采用诸如TF-IDF、杰拉德相似度、海明距离,等等任意的文本相似度计算方式。
作为另一种更优选的实现的方式,知识获取单元602可以具体被配置为获取第一问题文本的嵌入表示;利用第一问题文本的嵌入表示与目标垂直领域的知识库中各知识的嵌入表示之间的相关度,确定对应相关度满足预设相关度要求的N个知识。
作为其中一种可实现的方式,第一问题文本的嵌入表示和各知识的嵌入表示是利用目标垂直领域的语言模型获取的,其中垂直领域的语言模型的规模小于LLM的规模。
其中,知识获取单元602可以采用但不限于以下两种方式确定对应相关度满足预设相关度要求的N个知识:
第一种方式:计算第一问题文本的嵌入表示与知识库中各知识的嵌入表示之间的距离,确定对应距离小于或等于预设距离阈值的N个知识,或者确定对应距离按照从小到大的顺序排在前N个的知识。
第二种方式:将第一问题文本的嵌入表示和知识库中各知识的嵌入表示输入排序模型,利用排序模型得到知识库中与第一问题文本之间的嵌入表示相关度排在前N个的知识。
其中排序模型可以采用排序神经网络的方式构建,也可以采用多标签分类神经网络构建。下面分别进行描述。
若排序模型采用排序神经网络的方式构建,则知识获取单元602可以将第一问题文本的嵌入表示和知识库中知识的嵌入表示输入排序模型,排序模型分别利用第一问题文本的嵌入表示和各知识的嵌入表示,预测各知识的排序得分。例如,排序模型可以利用第一问题文本的嵌入表示和知识的嵌入表示经过softmax映射为该知识的排序得分,据此可以得到知识库中各知识的排序得分。然后依据各知识的排序得分从高到低的顺序,输出排在前N个的知识。
这种情况下,排序模型可以由第一训练单元605预先训练得到。作为其中一种可实现的方式,第一训练单元605可以被配置为:获取包括多个正样本对和负样本对的第一训练数据,各样本对包括问题样本和知识样本,知识样本来源于目标垂直领域的知识库;利用第一训练数据训练排序模型,其中,排序模型利用样本对中问题样本的嵌入表示和知识样本的嵌入表示,预测样本对中知识样本的排序得分;训练的目标包括:最大化同一问题样本对应的正样本对中知识样本的排序得分与对应的负样本对中知识样本的排序得分之间的差异。
若排序模型采用多标签分类神经网络,实际上是将排序任务转化为了标签分类任务。排序模型利用第一问题文本的嵌入表示和知识库中各知识的嵌入表示,分别对各知识进行分类,依据分类结果为各知识打上标签。例如,分为两类,将与第一问题文本的嵌入表示相关度排在前N个的知识作为一类,打上标签1;其余作为另一类,打上标签0。相应地,通过排序模型对各知识预测的标签,就能够得到知识库中与第一问题文本之间的嵌入表示相关度排在前N个的知识。
这种情况下,排序模型可以由第二训练单元606预先训练得到。作为其中一种可实现的方式,第二训练单元606可以被配置为:获取包括多个训练样本的第二训练数据,训练样本包括问题样本以及为知识库中与该问题样本之间的相关度排在前N个的知识打上的标签;利用第二训练数据训练排序模型,其中,排序模型利用问题样本的嵌入表示和知识库中各知识的嵌入表示,预测知识库中各知识的标签;训练的目标包括:最小化预测得到的各知识的标签与在训练样本中被标注的标签之间的差异。
作为其中一种可实现的方式,问题重构单元603可以被配置为:利用预设的问题模板,将N个知识和第一问题文本进行组装生成第二问题文本。
更进一步地,问题修正单元607可以被配置为:利用目标垂直领域的知识库检测答复文本是否正确,如果否,则利用目标垂直领域的知识库对第二问题文本进行修正。答复生成单元604利用问答模型重新针对修正后的第二问题文本生成答复文本。
作为其中一种可实现的方式,问题修正单元607可以被具体配置为:将答复文本与目标垂直领域的知识库中的各知识进行比对,若答复文本与目标垂直领域的知识库中的知识存在不一致,则确定答复文本不正确,将知识库中与答复文本不一致的知识添加入第二问题文本。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
另外,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,程序包括指令,所述指令在由计算装置的一个或者多个处理器执行时,执行时前述方法实施例中任一项所述的方法的步骤。
本申请还提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现前述方法实施例中任一项所述的方法的步骤。
本申请实施例提供的电子设备可以如图7中所示,包括一个或多个处理器701,还包括存储一个或多个程序的存储器702,被上述一个或多个处理器701执行以实现本发明上述实施例中所示的方法流程和/或系统操作。
各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器701可以对在电子设备内执行的指令进行处理。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。
处理器701可包括一个或多个单核处理器或多核处理器。处理器701可包括任何一般用途处理器或专用处理器(如图像处理器、应用处理器基带处理器等)的组合。
存储器702即为本申请所提供的计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及单元,例如本申请实施例中的如图2或图5中所示的问答处理方法对应的程序指令/单元。处理器701通过运行存储在存储器702中的非瞬时软件程序、指令以及单元,从而执行诸如上述方法实施例中如图2或图5中所示的问答处理方法。
该电子设备还可以包括:输入装置703和输出装置704。处理器701、存储器702、输入装置703和输出装置704可以通过总线或者其他方式连接,图7中以通过总线连接为例。
输入装置703可接收输入的数字或字符信息,以及产生与问答处理系统的用户设置以及功能控制有关的信号输入。输出装置704可以将图2或图5中所示的问答处理方法所产生的结果输出至与该电子设备连接的其他装置。
上述程序(也称作软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用面向对象的编程语言、汇编或机器语言来实施这些计算程序。
随着时间、技术的发展,介质含义越来越广泛,计算机程序的传播途径不再受限于有形介质,还可以直接从网络下载等。可以采用一个或多个计算机可读的存储介质的任意组合。计算机可读存储介质可以采用但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
以上对本申请所提供的技术方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本申请的限制。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换等,均应包含在本申请的保护范围之内。
Claims (14)
1.一种问答处理方法,应用于目标垂直领域,其特征在于,所述方法包括:
获取用户请求,利用所述用户请求得到针对所述目标垂直领域的第一问题文本;
从所述目标垂直领域的知识库中获取与所述第一问题文本满足预设相关度要求的N个知识,所述N为正整数;
利用所述N个知识和所述第一问题文本构建第二问题文本;
利用问答模型针对所述第二问题文本生成答复文本,所述问答模型基于大语言模型实现。
2.根据权利要求1所述的方法,其特征在于,从所述目标垂直领域的知识库中获取与所述第一问题文本满足预设相关度要求的N个知识包括:
获取所述第一问题文本的嵌入表示;
利用所述第一问题文本的嵌入表示与所述目标垂直领域的知识库中各知识的嵌入表示之间的相关度,确定对应相关度满足预设相关度要求的N个知识。
3.根据权利要求2所述的方法,其特征在于,所述第一问题文本的嵌入表示和所述各知识的嵌入表示是利用所述目标垂直领域的语言模型获取的,其中所述垂直领域的语言模型的规模小于所述大语言模型的规模。
4.根据权利要求2所述的方法,其特征在于,利用所述第一问题文本的嵌入表示与所述目标垂直领域的知识库中各知识的嵌入表示之间的相关度,确定对应相关度满足预设相关度要求的N个知识包括:
计算所述第一问题文本的嵌入表示与所述知识库中各知识的嵌入表示之间的距离,确定对应距离小于或等于预设距离阈值的N个知识,或者确定对应距离按照从小到大的顺序排在前N个的知识;或者,
将所述第一问题文本的嵌入表示和所述知识库中各知识的嵌入表示输入排序模型,利用排序模型得到所述知识库中与所述第一问题文本之间的嵌入表示相关度排在前N个的知识。
5.根据权利要求4所述的方法,其特征在于,所述排序模型采用如下方式预先训练得到:
获取包括多个正样本对和负样本对的第一训练数据,各样本对包括问题样本和知识样本,所述知识样本来源于所述目标垂直领域的知识库;
利用所述第一训练数据训练排序模型,其中,所述排序模型利用样本对中问题样本的嵌入表示和知识样本的嵌入表示,预测样本对中知识样本的排序得分;所述训练的目标包括:最大化同一问题样本对应的正样本对中知识样本的排序得分与对应的负样本对中知识样本的排序得分之间的差异。
6.根据权利要求4所述的方法,其特征在于,所述排序模型采用如下方式预先训练得到:
获取包括多个训练样本的第二训练数据,所述训练样本包括问题样本以及为所述知识库中与该问题样本之间的相关度排在前N个的知识打上的标签;
利用所述第二训练数据训练排序模型,其中,所述排序模型利用问题样本的嵌入表示和所述知识库中各知识的嵌入表示,预测所述知识库中各知识的标签;所述训练的目标包括:最小化预测得到的各知识的标签与在训练样本中被标注的标签之间的差异。
7.根据权利要求1至6中任一项所述的方法,其特征在于,利用所述N个知识和所述第一问题文本构建第二问题文本包括:
利用预设的问题模板,将所述N个知识和所述第一问题文本进行组装生成第二问题文本。
8.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
利用所述知识库检测所述答复文本是否正确,如果否,则利用所述知识库对所述第二问题文本进行修正;
利用问答模型重新针对修正后的第二问题文本生成答复文本。
9.根据权利要求8所述的方法,其特征在于,利用所述知识库检测所述答复文本是否正确包括:将所述答复文本与所述知识库中的各知识进行比对,若所述答复文本与所述知识库中的知识存在不一致,则确定所述答复文本不正确;
利用所述知识库对所述第二问题文本进行修正包括:将所述知识库中与所述答复文本不一致的知识添加入所述第二问题文本。
10.一种问答处理方法,应用于医疗领域,其特征在于,所述方法包括:
获取用户请求,所述用户请求包括针对医疗领域的第一问题文本;
从医疗领域的知识库中获取与所述第一问题文本满足预设相关度要求的N个医学知识,所述N为正整数;
利用所述N个医学知识和所述第一问题文本构建第二问题文本;
利用问答模型针对所述第二问题文本生成答复文本,所述问答模型基于大语言模型实现。
11.一种问答处理方法,应用于目标垂直领域,其特征在于,所述方法包括:
获取来自用户设备的用户请求,其中所述用户请求为文本或语音;
针对所述用户请求执行如权利要求1至9中任一项所述的方法,得到答复文本;
向所述用户设备返回针对所述用户请求的响应,所述响应是利用所述答复文本得到的,其中所述响应为文本或语音。
12.一种问答处理系统,应用于目标垂直领域,其特征在于,所述系统包括:
问题获取单元,被配置为获取用户请求,利用所述用户请求得到针对所述目标垂直领域的第一问题文本;
知识获取单元,被配置为从所述目标垂直领域的知识库中获取与所述第一问题文本满足预设相关度要求的N个知识,所述N为正整数;
问题重构单元,被配置为利用所述N个知识和所述第一问题文本构建第二问题文本;
答复生成单元,被配置为利用问答模型针对所述第二问题文本生成答复文本,所述问答模型基于大语言模型实现。
13.一种电子设备,其特征在于,所述电子设备包括:
一个或者多个处理器,和
存储程序的存储器,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据权利要求1至11中任一项所述的方法。
14.一种存储有程序的计算机可读存储介质,所述程序包括指令,所述指令在由计算装置的一个或者多个处理器执行时,致使所述计算装置执行根据权利要求1至11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311376183.2A CN117473057A (zh) | 2023-10-23 | 2023-10-23 | 问答处理方法、系统、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311376183.2A CN117473057A (zh) | 2023-10-23 | 2023-10-23 | 问答处理方法、系统、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117473057A true CN117473057A (zh) | 2024-01-30 |
Family
ID=89623073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311376183.2A Pending CN117473057A (zh) | 2023-10-23 | 2023-10-23 | 问答处理方法、系统、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117473057A (zh) |
-
2023
- 2023-10-23 CN CN202311376183.2A patent/CN117473057A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109033068B (zh) | 基于注意力机制的用于阅读理解的方法、装置和电子设备 | |
CN112131366B (zh) | 训练文本分类模型及文本分类的方法、装置及存储介质 | |
CN111125309A (zh) | 自然语言处理方法、装置及计算设备、存储介质 | |
CN112988979B (zh) | 实体识别方法、装置、计算机可读介质及电子设备 | |
CN114565104A (zh) | 语言模型的预训练方法、结果推荐方法及相关装置 | |
CN110517767B (zh) | 辅助诊断方法、装置、电子设备及存储介质 | |
US20240152770A1 (en) | Neural network search method and related device | |
CN113761153A (zh) | 基于图片的问答处理方法、装置、可读介质及电子设备 | |
CN115438674B (zh) | 实体数据处理、实体链接方法、装置和计算机设备 | |
CN113761190A (zh) | 文本识别方法、装置、计算机可读介质及电子设备 | |
CN113657105A (zh) | 基于词汇增强的医学实体抽取方法、装置、设备及介质 | |
CN113707299A (zh) | 基于问诊会话的辅助诊断方法、装置及计算机设备 | |
CN111666376A (zh) | 一种基于段落边界扫描预测与词移距离聚类匹配的答案生成方法及装置 | |
CN114281957A (zh) | 自然语言数据查询方法、装置、电子设备及存储介质 | |
CN116541493A (zh) | 基于意图识别的交互应答方法、装置、设备、存储介质 | |
US11532387B2 (en) | Identifying information in plain text narratives EMRs | |
CN111931503B (zh) | 信息抽取方法及装置、设备、计算机可读存储介质 | |
CN114282528A (zh) | 一种关键词提取方法、装置、设备及存储介质 | |
CN113704393A (zh) | 关键词提取方法、装置、设备及介质 | |
CN116561271A (zh) | 问答处理方法及装置 | |
CN117473057A (zh) | 问答处理方法、系统、设备和存储介质 | |
CN114519397B (zh) | 基于对比学习的实体链接模型的训练方法、装置、设备 | |
US11989520B2 (en) | System and method for morality assessment | |
CN117009532B (zh) | 语义类型识别方法、装置、计算机可读介质及电子设备 | |
CN116562305B (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 |