CN117149982A - 基于人工智能的问答处理方法、装置、设备及存储介质 - Google Patents
基于人工智能的问答处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117149982A CN117149982A CN202311408403.5A CN202311408403A CN117149982A CN 117149982 A CN117149982 A CN 117149982A CN 202311408403 A CN202311408403 A CN 202311408403A CN 117149982 A CN117149982 A CN 117149982A
- Authority
- CN
- China
- Prior art keywords
- text
- answer
- question
- vector
- vectors
- 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
- 238000013473 artificial intelligence Methods 0.000 title claims abstract description 48
- 238000003672 processing method Methods 0.000 title claims abstract description 22
- 238000003860 storage Methods 0.000 title claims abstract description 16
- 239000013598 vector Substances 0.000 claims abstract description 450
- 230000004927 fusion Effects 0.000 claims abstract description 129
- 230000005484 gravity Effects 0.000 claims abstract description 77
- 238000000034 method Methods 0.000 claims abstract description 40
- 230000006870 function Effects 0.000 claims description 25
- 230000015654 memory Effects 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 18
- 238000012549 training Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 9
- 238000000605 extraction Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 20
- 238000005516 engineering process Methods 0.000 description 21
- 238000004422 calculation algorithm Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 239000008280 blood Substances 0.000 description 5
- 210000004369 blood Anatomy 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000010354 integration Effects 0.000 description 5
- 230000001172 regenerating effect Effects 0.000 description 5
- 238000009826 distribution Methods 0.000 description 4
- 239000003814 drug Substances 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000036541 health Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 235000020997 lean meat Nutrition 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 238000012384 transportation and delivery Methods 0.000 description 3
- 241001061264 Astragalus Species 0.000 description 2
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical compound [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 235000006533 astragalus Nutrition 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000003745 diagnosis Methods 0.000 description 2
- 229940079593 drug Drugs 0.000 description 2
- 210000004185 liver Anatomy 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 235000014347 soups Nutrition 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 210000004233 talus Anatomy 0.000 description 2
- 241000205585 Aquilegia canadensis Species 0.000 description 1
- 241000756943 Codonopsis Species 0.000 description 1
- 206010011224 Cough Diseases 0.000 description 1
- 239000009636 Huang Qi Substances 0.000 description 1
- 208000007502 anemia Diseases 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 235000012041 food component Nutrition 0.000 description 1
- 235000020981 healthy eating habits Nutrition 0.000 description 1
- 229910052742 iron Inorganic materials 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 210000004072 lung Anatomy 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 235000016709 nutrition Nutrition 0.000 description 1
- 230000035764 nutrition Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 235000015277 pork Nutrition 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 239000007787 solid Substances 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/335—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种基于人工智能的问答处理方法、装置、设备及存储介质;方法包括:接收被输入的问题文本;获取多个问答模型针对所述问题文本分别输出的回答文本;对所述问题文本以及多个所述回答文本分别进行编码,对应得到所述问题文本的特征向量、以及每个所述回答文本的特征向量;将所述问题文本的特征向量分别与每个所述回答文本的特征向量进行融合,对应得到多个融合向量;确定所述多个融合向量的重心;将与所述重心距离最近的融合向量对应的回答文本,作为最终输出的回答文本。通过本申请,能够以资源集约的方式提高智能问答服务的回答效果。
Description
技术领域
本申请涉及人工智能和大语言模型技术领域,尤其涉及一种基于人工智能的问答处理方法、装置、设备及存储介质。
背景技术
人工智能(AI,Artificial Intelligence)是计算机科学的一个综合技术,通过研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,例如包括自然语言处理技术以及机器学习/深度学习等几大方向,随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
其中,智能问答服务是人工智能技术的典型应用,智能问答服务是以一问一答的形式,精准的定位用户所需要的提问知识,为用户提供个性化的信息服务。然而,基于大语言模型的问答系统由于模型架构、训练语料、优化参数细节的差异,导致它们在不同问答任务上的表现往往不尽相同,并且,随着越来越多细分领域大语言模型的推出,不同大语言模型在不同领域问答任务上的性能也差异较大,导致最终的回答效果不佳。
发明内容
本申请实施例提供一种基于人工智能的问答处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品,能够以资源集约的方式提高智能问答服务的回答效果。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种基于人工智能的问答处理方法,包括:
接收被输入的问题文本;
获取多个问答模型针对所述问题文本分别输出的回答文本;
对所述问题文本以及多个所述回答文本分别进行编码,对应得到所述问题文本的特征向量、以及每个所述回答文本的特征向量;
将所述问题文本的特征向量分别与每个所述回答文本的特征向量进行融合,对应得到多个融合向量;
确定所述多个融合向量的重心;
将与所述重心距离最近的融合向量对应的回答文本,作为最终输出的回答文本。
本申请实施例提供一种基于人工智能的问答处理装置,包括:
接收模块,用于接收被输入的问题文本;
获取模块,用于获取多个问答模型针对所述问题文本分别输出的回答文本;
编码模块,用于对所述问题文本以及多个所述回答文本分别进行编码,对应得到所述问题文本的特征向量、以及每个所述回答文本的特征向量;
融合模块,用于将所述问题文本的特征向量分别与每个所述回答文本的特征向量进行融合,对应得到多个融合向量;
确定模块,用于确定所述多个融合向量的重心;
所述确定模块,还用于将与所述重心距离最近的融合向量对应的回答文本,作为最终输出的回答文本。
上述方案中,所述编码模块,还用于通过编码器对所述问题文本进行编码,得到所述问题文本的特征向量,以及用于通过所述编码器对多个所述回答文本分别进行编码,对应得到每个所述回答文本的特征向量。
上述方案中,所述编码模块,还用于调用所述编码器执行以下处理:对所述问题文本进行特征提取,得到所述问题文本的词向量以及所述问题文本的位置向量;对所述问题文本的词向量以及所述问题文本的位置向量进行融合,得到所述问题文本的特征向量。
上述方案中,所述编码模块,还用于对所述问题文本进行词编码,得到所述问题文本的词向量,以及对所述问题文本中各词语的位置进行位置编码,得到所述问题文本的位置向量。
上述方案中,所述编码模块,还用于将所述问题文本的词向量和所述问题文本的位置向量进行拼接,得到所述问题文本的特征向量;或者,用于将所述问题文本的词向量和所述问题文本的位置向量进行相加,得到所述问题文本的特征向量。
上述方案中,所述编码模块,还用于针对每个所述回答文本,调用所述编码器执行以下处理:对所述回答文本进行特征提取,得到所述回答文本的词向量以及所述回答文本的位置向量;对所述回答文本的词向量以及所述回答文本的位置向量进行融合,得到所述回答文本的特征向量。
上述方案中,所述编码模块,还用于对所述回答文本进行词编码,得到所述回答文本的词向量,以及对所述回答文本中各词语的位置进行位置编码,得到所述回答文本的位置向量。
上述方案中,所述编码模块,还用于将所述回答文本的词向量和所述回答文本的位置向量进行拼接,得到所述回答文本的特征向量;或者,用于将所述回答文本的词向量和所述回答文本的位置向量进行相加,得到所述回答文本的特征向量。
上述方案中,所述融合模块,还用于将所述问题文本的特征向量分别与每个所述回答文本的特征向量进行拼接,对应得到多个融合向量;或者,用于将所述问题文本的特征向量分别与每个所述回答文本的特征向量进行相加,对应得到多个融合向量。
上述方案中,所述确定模块,还用于从所述多个融合向量所在的向量空间中选取一个初始重心,并基于所述初始重心构建损失函数;迭代执行以下处理,直至所述损失函数收敛至预设值:分别确定每个所述融合向量与所述初始重心之间的距离,并对多个所述距离进行相加,得到总距离;当所述总距离大于所述预设值时,从所述向量空间中重新选取一个初始重心;将所述损失函数收敛时对应的初始重心,作为所述多个融合向量的重心。
上述方案中,所述确定模块,还用于针对所述多个融合向量,分别确定每个所述融合向量与所述重心之间的距离;确定所述多个融合向量中与所述重心距离最近的目标融合向量,并将所述目标融合向量对应的回答文本,作为最终输出的回答文本。
上述方案中,所述多个问答模型包括不同领域的多个语言模型,且不同的所述语言模型的模型架构、训练语料、以及参数细节至少之一存在差异。
本申请实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的基于人工智能的问答处理方法。
本申请实施例提供一种计算机可读存储介质,存储有计算机可执行指令,用于被处理器执行时,实现本申请实施例提供的基于人工智能的问答处理方法。
本申请实施例提供一种计算机程序产品,包括计算机程序或计算机可执行指令,用于被处理器执行时,实现本申请实施例提供的基于人工智能的问答处理方法。
本申请实施例具有以下有益效果:
通过将多个问答模型分别输出的回答文本连同问题文本一起进行编码,使得这些特征向量之间两两可以进行比较,降低了计算复杂度,此外,本申请实施例是从多个问题模型分别输出的多个回答文本中筛选出最平均的回答文本,而非重新生成回答文本,保证了最终筛选出的回答文本在大多数场景下可用的程度,提高了智能问答服务的回答效果,并且,本申请实施例提供的技术方案不涉及对问答模型的微调以及修改,并且可以扩展至任意数量的问答模型进行集成,从而能够实现灵活部署。
附图说明
图1是本申请实施例提供的基于人工智能的问答处理系统的架构示意图;
图2是本申请实施例提供的电子设备的结构示意图;
图3是本申请实施例提供的基于人工智能的问答处理方法的流程示意图一;
图4是本申请实施例提供的基于人工智能的问答处理方法的流程示意图二;
图5是本申请实施例提供的基于人工智能的问答处理方法的流程示意图三;
图6是本申请实施例提供的从多个大语言模型分别输出的多个回答中筛选出最优回答的示意图;
图7是本申请实施例提供的基于人工智能的问答处理方法的架构示意图;
图8是本申请实施例提供的不同大语言模型输出的回答在向量空间中的分布示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解, “一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
可以理解的是,在本申请实施例中,涉及到用户信息(例如用户输入的问题文本)等相关的数据,当本申请实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
在以下的描述中,所涉及的术语“第一\第二\...”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\...”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)大语言模型(LLM,Large Language Model):是一种基于深度学习的自然语言处理模型,它可以通过训练大量的文本数据来学习语言的规律和模式,从而生成自然流畅的文本内容。LLM通常采用类转换器(Transformer)的模型架构,LLM的训练需要大量的计算资源和海量的数据语料。目前LLM已经在自然语言生成、对话系统等领域获得了广泛应用。
2)集成学习(Ensemble Learning):是一种机器学习方法,它通过将多个基本学习器进行组合,来提高整体模型的泛化能力和预测性能。
3)K均值(K-Means)算法:是一种基于距离度量的聚类算法,通过对数据样本进行迭代分组,将相似的数据样本划分到同一个簇(Cluster)中,将不相似的数据样本划分到不同的簇中,从而实现对数据的聚类分析。
现有的基于大语言模型的问答系统由于模型架构、训练语料、优化参数细节的差异,导致它们在不同问答任务上的表现往往不尽相同。并且,随着越来越多细分领域大语言模型的推出,不同大语言模型在不同领域问答任务上的性能也差异较大,因此,申请人在实施本申请实施例的过程中发现了单一大语言模型的性能瓶颈,同时,不同的大语言模型表现出了不同的优势,并且不同大语言模型之间表现出了较强的互补性,这也进一步启发了对于多个大语言模型的集成学习思路。此外,申请人还发现:相较于重新训练或优化单一的大语言模型,对多个大语言模型进行集成学习还具有如下优势:可以避免大语言模型训练的高昂成本,并且集成学习可扩展至任意数量的大语言模型,这也就使得通用领域的大语言模型与专业领域的大语言模型的集成变得可行。
相关技术提供的多个大语言模型的集成学习方法主要包括重排序(PairRanker)和再生成(GenFuser)两个环节,通过将多个大语言模型输出的回答文本进行成对(PairWise)的对比,实现全部回答文本的重排序,再将其中前K个回答文本输入另一个大语言模型重新生成回答文本。
然而,申请人在实施本申请实施例的过程中发现,相关技术提供的方案存在以下
缺点:1)对于不同的大语言模型输出的回答文本进行了成对的语义建模,这将问题的复杂
度提升到了,其中,N为大语言模型的数量,虽然这样可以更好地建模出大语言模型
两两之间的差异,但是对于集成整体的提升效果有限;2)相关技术提供的方案除了重排序
环节之外还引入了再生成环节,这意味着集成整体最终的输出也取决于再生成环节大语言
模型的质量,这可能会造成进一步的错误传递。
针对相关技术存在的上述缺点,申请人发现:采用对多个大语言模型分别输出的
回答文本连同问题文本一起用编码器进行编码,在同一向量空间内得到回答文本和问题文
本分别对应的特征向量,这使得不同大语言模型输出的回答文本的特征向量之间可以直接
计算相似性等指标(因为它们共享同一个向量空间),从而可以避免相关技术提供的方案中的复杂度,提升了本申请实施例提供的技术方案的落地应用可行性,此外,不采用重
新生成回答文本的方式,而仅仅使用重排序阶段对不同大语言模型的回答文本进行排序得
到“最优”回答文本(例如最平均的回答文本,即与重心距离最近的融合向量对应的回答文
本),如果“最优”回答文本仍不满足下游用户需求,则可以通过集成更针对性的大语言模型
的方式加以解决,而非基于现有的回答文本进行再生成,这将提升技术方案的灵活性。
鉴于此,本申请实施例提供一种基于人工智能的问答处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品,能够以资源集约的方式提高智能问答服务的回答效果。下面对本申请实施例提供的电子设备进行说明,本申请实施例提供的电子设备可以实施为终端设备,或者实施为服务器,又或者由终端设备和服务器协同实施。下面以由服务器和终端设备协同实施本申请实施例提供的基于人工智能的问答处理方法为例进行说明。
示例的,参见图1,图1是本申请实施例提供的基于人工智能的问答处理系统的架构示意图,为实现支撑以资源集约的方式提高智能问答服务的回答效果的应用,如图1所示,基于人工智能的问答处理系统包括:服务器100、网络200以及终端设备300,其中,网络200可以是局域网或者广域网,又或者是二者的组合,终端设备300是用户关联的终端设备,在终端设备300上运行有客户端310,客户端310可以是各种类型的客户端,例如包括智能问答客户端、浏览器等,服务器100是客户端310的后台服务器。
在一些实施例中,在客户端310的人机交互界面中可以显示有搜索框,用户可以在搜索框中输入想要提问的问题文本,客户端310在接收到用户在搜索框中输入的问题文本(例如“请回答以下用药问题:金银花的功效”)后,可以通过网络200将用户输入的问题文本发送给服务器100。服务器100在接收到客户端310发送的用户输入的问题文本后,可以将该问题文本发送给多个问答模型(例如部署在服务器中的多个大语言模型),并获取多个问答模型针对该问题文本分别输出的回答文本,例如服务器100可以将该问题文本分别输入三个不同领域的大语言模型,并获取这3个大语言模型针对该问题文本分别输出的回答文本(即可以获取到3个回答文本),接着服务器100可以使用同一个编码器对该问题文本以及多个回答文本分别进行编码,对应得到问题文本的特征向量、以及每个回答文本的特征向量,随后可以将问题文本的特征向量分别与每个回答文本的特征向量进行融合(例如拼接),对应得到多个融合向量(即问题文本和回答问题的联合表示向量)。随后服务器100可以在多个融合向量所在的向量空间中确定出多个融合向量的重心(即向量空间中与多个融合向量之间的距离之和最小的位置),最后可以将与重心距离最近的融合向量对应的回答文本(即最平均的回答文本),作为最终输出的回答文本返回给客户端310,以在客户端310的人机交互界面中进行呈现。
在另一些实施例中,本申请实施例提供的技术方案也可以由终端设备单独实施,例如以图1中示出的终端设备300为例,在终端设备300上运行有客户端310,在客户端310的人机交互界面中显示有搜索框,当客户端310接收到用户在搜索框中输入的问题文本后,可以将该问题文本分别发送给在终端设备300本地存储的多个问答模型(例如不同领域的大语言模型),以获取多个问答模型针对该问题文本分别输出的回答文本,接着可以基于终端设备300自身的运算能力,使用相同的编码器对问题文本和多个回答文本分别进行编码,对应得到问题文本的特征向量,以及每个回答文本的特征向量,随后可以将问题文本的特征向量分别与每个回答文本的特征向量进行融合,对应得到多个融合向量,并确定多个融合向量的重心,最后可以将与重心距离最近的融合向量对应的回答文本,作为最终输出的回答文本在客户端310的人机交互界面中进行呈现。
在一些实施例中,本申请实施例还可以借助于云技术(Cloud Technology)实现,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、以及应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源。
示例的,图1中的服务器100可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(CDN,ContentDelivery Network)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备300可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端等,但并不局限于此。终端设备300以及服务器100可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
在另一些实施例中,本申请实施例还可以结合区块链技术实现,例如可以将用户输入的问题文本以及最终输出的回答文本存入区块链网络中,以保证数据的不可篡改以及可追溯性。
在一些实施例中,终端设备或服务器还可以通过运行各种计算机可执行指令、或计算机程序来实现本申请实施例提供的基于人工智能的问答处理方法。举例来说,计算机可执行指令可以是微程序级的命令、机器指令或软件指令。计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(Native)应用程序(APP,APPlication),即需要在操作系统中安装才能运行的程序,如智能问答APP;也可以是能够嵌入至任意APP中的小程序,即只需要下载到浏览器环境中就可以运行的程序。总而言之,上述的计算机可执行指令可以是任意形式的指令,上述计算机程序可以是任意形式的应用程序、模块或插件。
下面继续对本申请实施例提供的电子设备的结构进行说明。以电子设备为服务器为例,参见图2,图2是本申请实施例提供的电子设备的结构示意图,图2所示的电子设备包括:至少一个处理器410、存储器440、至少一个网络接口420。电子设备中的各个组件通过总线系统430耦合在一起。可理解,总线系统430用于实现这些组件之间的连接通信。总线系统430除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统430。
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器440可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器440可选地包括在物理位置上远离处理器 410的一个或多个存储设备。
存储器440包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器440旨在包括任意适合类型的存储器。
在一些实施例中,存储器440能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统441,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块442,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
在一些实施例中,本申请实施例提供的装置可以采用软件方式实现,图2示出了存储在存储器440中的基于人工智能的问答处理装置443,其可以是程序和插件等形式的软件,包括以下软件模块:接收模块4431、获取模块4432、编码模块4433、融合模块4434和确定模块4435,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。
下面将结合本申请实施例提供的服务器的示例性应用和实施,对本申请实施例提供的基于人工智能的问答处理方法进行具体说明。
示例的,参见图3,图3是本申请实施例提供的基于人工智能的问答处理方法的流程示意图,将结合图3示出的步骤进行说明。
在步骤101中,接收被输入的问题文本。
在一些实施例中,在用户关联的终端设备上可以运行有客户端,在客户端的人机交互界面中可以显示有搜索框,用户可以在搜索框中输入自己任何想要提问的问题文本。客户端在接收到用户在搜索框中输入的问题文本,且针对确认按钮的点击操作后,可以通过网络将用户输入的问题文本发送给服务器(例如客户端的后台服务器)。
在步骤102中,获取多个问答模型针对问题文本分别输出的回答文本。
这里,多个问答模型可以是不同领域的多个语言模型(例如大语言模型),其中,不同的语言模型的模型架构、训练语料、以及参数细节至少之一存在差异,也就是说,本申请实施例可以将不同领域的大语言模型进行集成,并从多个大语言模型针对同一问题文本分别输出的多个回答文本中,筛选出最优的回答文本,以提高智能问答服务的回答效果。
在一些实施例中,以问答模型为大语言模型为例,在服务器中可以集成有不同领域的多个大语言模型(例如3个大语言模型,分别为大语言模型1、大语言模型2和大语言模型3,其中,大语言模型1可以是通用领域的大语言模型,大语言模型2和大语言模型3可以是专业领域的大语言模型,例如大语言模型2可以是医疗领域的大语言模型,大语言模型3可以是健康领域的大语言模型),这些大语言模型的模型架构、训练语料以及优化参数细节可以是存在差异的,以保证不同的大语言模型针对同一问题文本输出的回答文本是不同的。服务器在接收到客户端发送的用户输入的问题文本后,可以将该问题文本分别发送给多个大语言模型,以获取多个大语言模型针对该问题文本分别输出的回答文本,例如服务器在将该问题文本分别输入上述的3个大语言模型(这3个大语言模型可以是部署在服务器中的)后,可以获取到这3个大语言模型针对该问题文本分别输出的回答文本,即3个不同的回答文本,假设分别为回答文本1、回答文本2和回答文本3,其中,回答文本1是大语言模型1输出的回答文本、回答文本2是大语言模型2输出的回答文本、回答文本3是大语言模型3输出的回答文本。
在步骤103中,对问题文本以及多个回答文本分别进行编码,对应得到问题文本的特征向量、以及每个回答文本的特征向量。
在一些实施例中,可以使用相同的编码器对问题文本以及多个回答文本分别进行编码,则参见图4,图4是本申请实施例提供的基于人工智能的问答处理方法的流程示意图,如图4所示,图3示出的步骤103可以通过图4示出的步骤1031和步骤1032实现,将结合图4示出的步骤进行说明。
在步骤1031中,通过编码器对问题文本进行编码,得到问题文本的特征向量。
在一些实施例中,可以通过以下方式实现步骤1031:调用编码器(例如词向量模型)执行以下处理:对问题文本进行特征提取,得到问题文本的词向量以及问题文本的位置向量;对问题文本的词向量以及问题文本的位置向量进行融合,得到问题文本的特征向量。
示例的,可以通过以下方式实现上述的对问题文本进行特征提取,得到问题文本的词向量以及问题文本的位置向量:对问题文本进行词编码,得到问题文本的词向量,以及对问题文本中各词语的位置进行位置编码,得到问题文本的位置向量。例如以编码器为来自转换器的双向编码器表示(BERT,Bidirectional Encoder Representations fromTransformers)模型为例,可以通过BERT模型对问题文本进行词编码,以得到问题文本的词向量,并通过BERT模型对问题文本中各词语的位置进行位置编码,得到问题文本的位置向量,该位置向量可以用于表征问题文本中各词语在问题文本中所处的位置。
需要说明的是,除了可以使用BERT模型对问题文本进行编码外,还可以采用其他类型的编码器对问题文本进行编码,本申请实施例不对编码器的类型进行具体限定。
在另一些实施例中,还可以直接将问题文本的词向量作为问题文本的特征向量,即不需要对问题文本中各词语的位置进行位置编码,也不需要对问题文本的词向量以及问题文本的位置向量进行融合,直接将问题文本的词向量作为问题文本的特征向量,本申请实施例对此不做具体限定。
示例的,可以通过以下方式实现上述的对问题文本的词向量以及问题文本的位置向量进行融合,得到问题文本的特征向量:将问题文本的词向量和问题文本的位置向量进行拼接,得到问题文本的特征向量;或者,将问题文本的词向量和问题文本的位置向量进行相加,得到问题文本的特征向量。也就是说,在得到问题文本的词向量以及问题文本的位置向量之后,可以将问题文本的词向量和问题文本的位置向量进行融合,以得到问题文本最终的特征向量,其中,融合方式可以包括:对问题文本的词向量和问题文本的位置向量进行拼接,将拼接结果作为问题文本最终的特征向量,或者,对问题文本的词向量和问题文本的位置向量进行相加,将相加结果作为问题文本最终的特征向量,如此,问题文本的特征向量可以准确地表征该问题文本。
需要说明的是,两个向量进行拼接时,向量的维度会发生变化,而两个向量进行相加时,向量的维度不会发生变化。
在步骤1032中,通过编码器对多个回答文本进行编码,对应得到每个回答文本的特征向量。
在一些实施例中,可以通过以下方式实现步骤1032:针对每个回答文本,调用编码器(例如词向量模型)执行以下处理:对回答文本进行特征提取,得到回答文本的词向量以及回答文本的位置向量;对回答文本的词向量以及回答文本的位置向量进行融合,得到回答文本的特征向量。
示例的,可以通过以下方式实现上述的对回答文本进行特征提取,得到回答文本的词向量以及回答文本的位置向量:对回答文本进行词编码,得到回答文本的词向量,以及对回答文本中各词语的位置进行位置编码,得到回答文本的位置向量。例如以多个回答文本中的回答文本1(例如大语言模型1输出的回答文本)为例,可以通过BERT模型对回答文本1进行词编码,以得到回答文本1的词向量,并通过BERT模型对回答文本1中各词语的位置进行位置编码,以得到回答文本1的位置向量,该位置向量可以用于表征回答文本1中各词语在回答文本1中所处的位置。
需要说明的是,针对其他回答文本的编码方式与回答文本1的编码方式是相同的,可以参考回答文本1的编码方式实现,本申请实施例在此不再赘述。此外,还需要说明的是,本申请实施例也可以将回答文本的词向量作为回答文本最终的特征向量,即不需要对回答文本中各词语的位置进行位置编码,也不需要对回答文本的词向量和回答文本的位置向量进行融合,直接将回答文本的词向量作为回答文本的特征向量,本申请实施例对此不做具体限定。
示例的,可以通过以下方式实现上述的对回答文本的词向量以及回答文本的位置向量进行融合,得到回答文本的特征向量:将回答文本的词向量和回答文本的位置向量进行拼接,得到回答文本的特征向量;或者,将回答文本的词向量和回答文本的位置向量进行相加,得到回答文本的特征向量。也就是说,在得到回答文本的词向量以及回答文本的位置向量之后,可以将回答文本的词向量和回答文本的位置向量进行融合,以得到回答文本最终的特征向量,其中,融合方式可以包括:对回答文本的词向量和回答文本的位置向量进行拼接,将拼接结果作为回答文本最终的特征向量,或者,对回答文本的词向量和回答文本的位置向量进行相加,将相加结果作为回答文本最终的特征向量,如此,回答文本的特征向量可以准确地表征该回答文本。
本申请实施例将问题文本和多个问答模型分别输出的回答文本用相同的编码器进行编码,因此可以得到相同维度的特征向量,即问题文本的特征向量和各个回答文本的特征向量是等长的,也就是说,这些特征向量共享统一的向量空间,如此,后续无需对这些特征向量进行对齐,提高了计算效率。
在步骤104中,将问题文本的特征向量分别与每个回答文本的特征向量进行融合,对应得到多个融合向量。
在一些实施例中,融合向量(即问题文本和回答文本的联合表示向量)的类型可以包括拼接向量和相加向量,则可以通过以下方式实现步骤104:将问题文本的特征向量分别与每个回答文本的特征向量进行拼接,对应得到多个拼接向量;或者,将问题文本的特征向量分别与每个回答文本的特征向量进行相加,对应得到多个相加向量。也就是说,在使用相同的编码器分别对问题文本以及各个回答文本进行编码,得到问题文本的特征向量、以及各个回答文本的特征向量之后,可以将问题文本的特征向量分别与每个回答文本的特征向量进行融合,得到问题文本和回答文本的联合表示向量,其中,融合方式可以包括:将问题文本的特征向量与回答文本的特征向量进行拼接,将拼接结果(即拼接向量)作为问题文本和回答文本的联合表示向量,或者,将问题文本的特征向量与回答文本的特征向量进行相加,将相加结果(即相加向量)作为问题文本和回答文本的联合表示向量,本申请实施例对此不做具体限定。
在步骤105中,确定多个融合向量的重心。
这里,重心是指向量空间(即多个融合向量所在的向量空间)中与多个融合向量之间的距离之和(即总距离)最小的位置。
在一些实施例中,可以通过以下方式实现步骤105:从多个融合向量所在的向量空间中选取(例如随机选取)一个初始重心,并基于初始重心构建损失函数;迭代执行以下处理,直至损失函数收敛至预设值(即最小化损失函数):分别确定每个融合向量与该初始重心之间的距离(例如欧式距离),并对多个距离进行相加,得到总距离;当总距离大于预设值时,从向量空间中重新选取一个初始重心,其中,重新选取的初始重心和之前选取的初始重心在向量空间中所处的位置是不同的(即对之前选取的初始重心进行调整);将损失函数收敛至预设值时对应的初始重心,作为多个融合向量的重心。也就是说,本申请实施例通过不断的迭代处理,直至在向量空间中找到一个与多个融合向量之间的距离之和最小的位置,作为多个融合向量的重心。
示例的,以问答模型为大语言模型为例,参见图8,图8是本申请实施例提供的不同大语言模型输出的回答(即回答文本)在向量空间中的分布示意图,图8中示出的多个白点分别表示多个融合向量(即一个白点表示向量空间中的一个融合向量),灰点801是多个融合向量的重心,即向量空间中与多个融合向量之间的距离之和最小的位置,例如可以采用K-Means算法来实现无监督聚类,从而找到多个融合向量的重心,其中,K-Means算法的基本思想是通过迭代寻找K个簇的一个聚类方法,使得聚类结果对应的损失函数最小,并且损失函数的定义大多是各个样本距离所属簇重心的误差平方和(即各个融合向量距离重心的误差平方和最小)。本申请实施例的目的不是对多个融合向量进行聚类,而是寻找多个融合向量的重心,因此可以将簇的数量(假设记为K)限制为1,从而可以进一步提升算法的运行效率。
在步骤106中,将与重心距离最近的融合向量对应的回答文本,作为最终输出的回答文本。
在一些实施例中,参见图5,图5是本申请实施例提供的基于人工智能的问答处理方法的流程示意图,如图5所示,图3示出的步骤106可以通过图5示出的步骤1061至步骤1063实现,将结合图5示出的步骤进行说明。
在步骤1061中,针对多个融合向量,分别确定每个融合向量与重心之间的距离。
在一些实施例中,以多个融合向量为3个融合向量为例,假设分别为融合向量1、融合向量2和融合向量3,其中,融合向量1是对问答模型1输出的回答文本1的特征向量和问题文本的特征向量进行融合得到的,融合向量2是对问答模型2输出的回答文本2的特征向量和问题文本的特征向量进行融合得到的,融合向量3是对问答模型3输出的回答文本3的特征向量和问题文本的特征向量进行融合得到的,在从这3个融合向量所在的向量空间确定出这3个融合向量的重心后,可以依次计算这3个融合向量与重心之间的距离,例如包括欧式距离、曼哈顿距离、余弦距离、杰卡德距离等。
在步骤1062中,确定多个融合向量中与重心距离最近的目标融合向量。
在一些实施例中,承接上述示例,仍以多个融合向量为3个融合向量为例,在计算出这3个融合向量分别与重心之间的距离之后,可以从这3个融合向量中筛选出距离重心最近的融合向量,以作为目标融合向量,例如假设融合向量2是这3个融合向量中距离重心最近的融合向量,则可以将融合向量2作为从这3个融合向量中筛选出的目标融合向量。
在步骤1063中,将目标融合向量对应的回答文本,作为最终输出的回答文本。
在一些实施例中,在从多个融合向量中确定出目标融合向量(即距离重心最近的融合向量)之后,服务器可以将目标融合向量对应的回答文本,作为最终输出的回答文本返回给客户端,由于目标融合向量对应的回答文本是从多个回答文本中筛选出的最“平均”的回答文本,因此可以保证回答文本在大多数场景下可用的程度,提高了智能问答服务的回答效果。
示例的,承接上述示例,仍以多个融合向量为3个融合向量为例,其中,融合向量2是从这3个融合向量中筛选出的目标融合向量,即融合向量2是这3个融合向量中距离重心最近的融合向量,则可以将融合向量2对应的回答文本(即回答文本2)作为最终输出的回答文本。
需要说明的是,本申请实施例最终输出的回答文本并非真正意义上对于问题文本最通顺、最合理、最没有事实性错误的回答文本,而是通过对多个问答模型输出的多个回答文本的集成聚类,在这些回答文本中筛选出最平均,最能代表这一簇回答文本的回答文本,从而可以保证最终输出的回答文本在大多数场景下可用的程度。
本申请实施例提供的基于人工智能的问答处理方法,通过将多个问答模型分别输出的回答文本连同问题文本一起进行编码,使得这些特征向量之间两两可以进行比较,降低了计算复杂度,此外,本申请实施例是从多个问题模型分别输出的多个回答文本中筛选出最平均的回答文本,而非重新生成回答文本,保证了最终筛选出的回答文本在大多数场景下可用的程度,提高了回答效果,并且,本申请实施例提供的技术方案不涉及对问答模型的微调以及修改,并且可以扩展至任意数量的问答模型进行集成,从而能够实现灵活部署。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
在现有的大语言模型中,由于模型架构、训练数据、训练参数细节的不同,不同的大语言模型通常会表现出不同的优缺点,换句话说,对不同的问题文本(下文中简称为问题)回答效果十分参差。但也同时观察到不同的大语言模型之间具有明显的互补性,即对于A大语言模型来说回答效果不佳的问题,B大语言模型可以输出恰当的回答文本(下文中简称为回答)。受到该互补性的启发,本申请实施例提出了一种基于人工智能的问答处理方法,如图6所示,通过将多个开源大语言模型的输出(即回答)进行集成,重排序到对于当前问题的“最优”回答,即多个大语言模型分别输出的多个回答中最“平均”的回答。
具体来说,本申请实施例可以首先分别对用户输入的问题、以及各个大语言模型针对该问题输出的回答用相同的编码器进行编码,对应得到问题的特征向量和各个回答的特征向量,接着可以将问题的特征向量分别与各个回答的特征向量进行拼接,在得到等长的向量集合后,在这些拼接向量上做无监督聚类得到这些拼接向量的重心(Centroid),然后索引到与重心之间的距离最近的拼接向量对应的回答进行输出。
需要说明的是,本申请实施例将多个大语言模型输出的回答编码到向量空间的多个点,那么,这些不同分布的点会共享同一个簇,这是因为它们本质上还是对同一问题的回答,其中可能会有不同内容,或者强调不同重点,但整体语义信息应该是接近的,而这个簇中那个最接近重心的拼接向量,就是当前簇中“最优”或者“最平衡”的解。考虑到本申请实施例提供的技术方案无需额外的训练过程,仅需对不同大语言模型生成的回答进行编码以及无监督聚类,因此具有部署成本可控、可扩展性强的优点。本申请实施例可以将通用领域和专业领域的大语言模型进行集成,实现在更多领域获得更好的、更合理的问答效果。另外,本申请实施例可以应用于医疗问答系统,将多个不同的大语言模型进行集成,实现比单一大语言模型更优的问答效果,从而提升病患的使用体验。
本申请实施例提供的技术方案可以应用于任何领域,例如包括医疗领域,其中,医疗领域的人工智能技术应用越发广泛,特别是大语言模型在医疗领域的应用也越发普及。大语言模型可以帮助医生快速获取信息并辅助其做出决策,提高医疗效率和诊断质量。例如,大语言模型可以辅助医生进行疾病诊断、治疗规划等;同时也可以帮助患者获得准确的医学信息和指导建议,减少不必要的检查与治疗成本。大语言模型还可以为医院提供智能客服服务,实现全天候24小时在线医疗服务,提升医院的服务效率与质量。同时,大语言模型还可以为病患提供个性化的健康咨询与建议,帮助病人更好地管理自身健康状况。本申请实施例提供的技术方案可以将多个大语言模型进行集成,从而提升问答系统整体的回答效果,提高用户体验。并且,本申请实施例提供的技术方案不涉及对原始大语言模型的微调以及修改,可以扩展至任意数量的大语言模型进行集成,实现灵活部署。
下面对本申请实施例提供的基于人工智能的问答处理方法进行具体说明。
示例的,参见图7,图7是本申请实施例提供的基于人工智能的问答处理方法的架构示意图,如图7所示,本申请实施例提供的技术方案主要包括两个关键步骤,分别是:1)使用统一编码器进行向量编码;2)基于K-Means的最优筛选,下面对这两个关键步骤分别进行具体说明。
1)使用统一编码器进行向量编码
在一些实施例中,对于问题以及各个大语言模型针对该问题输出的回答,为了捕
捉回答中的细微差异或与问题关联的一致性,本申请实施例可以采用语义特征向量来表示
这些文本,具体来说,对于问题(假设记为)以及不同大语言模型(例如3个大语言模型,分
别记为),可以得到这3个大语言模型针对问题分别输出的回答(即3个不同的
回答),假设分别记为,其中,,也就是说,是
大语言模型针对问题输出的回答,是大语言模型针对问题输出的回答,是大语言模型针对问题输出的回答。为了使问题以及回答在编码后可
以直接比较(即可以直接计算余弦相似性等指标),本申请实施例可以将问题和不同大语
言模型输出的回答用相同的编码器(假设记为)进行编码,因此可以得到以下
的向量表示:。因为这些特征向量共享统一的向量空间,因此后
续技术方案无需再对齐这些特征向量。在图7所示的架构图中,
分别对应方框701、方框702、方框703和方框704。
需要说明的是,本申请实施例不限制编码器的具体选择,例如可以包括但不限
于:词转向量(Word2Vec)模型、BERT模型等,以医疗场景为例,本申请实施例可以采用医学
词向量模型(例如MedBERT)对问题和对应的回答进行编码,来获取问题和回答的词向量。在
编码过程结束后,可以得到4个等维度(例如768维)的词向量。
在另一些实施例中,由于本申请实施例需要从不同大语言模型输出的多个回答中筛选出“最优”回答,因此需要将问题的特征向量分别与每个回答的特征向量进行拼接(Concatenation),对应得到多个拼接向量:
;
;
;
其中,表示对和进行拼接后得到的拼接向量,表示对
和进行拼接后得到的拼接向量,表示对和进行拼接后得到的拼接向
量,在图7所示的架构图中, 分别对应方框705、方框706和方框707。
2)基于K-Means的最优筛选
在一些实施例中,在得到每个大语言模型分别输出的回答及其问题的联合表示向量(即上述的拼接向量)后,下一步就是如何从中筛选出针对当前问题的“最优”回答。本申请实施例将选择“最优”回答建模为一个聚类问题,不同于分类或序列标注任务,聚类任务默认事先并不知道任何样本标签,仅通过样本之间的隐式关联将样本划分为若干个类别。在本申请实施例的场景中,可以默认:某个问题的多个回答本质上属于同一个类别,其在向量空间中会遵循如图8所示的分布。因此,在图8所示的聚类簇中,可以将距离重心801最近的拼接向量802对应的回答作为“最优”回答。
需要说明的是,本申请实施例中的“最优”回答并非真正意义上对于问题最通顺、最合理、最没有事实性错误的回答,而是通过对于多个大语言模型输出的回答的集成聚类,在这些回答中定位到最平均,最能代表这一簇回答的回答,从而可以保证在大多数场景中可用的程度。
示例的,本申请实施例可以采用K-Means算法来实现无监督聚类,其中,K-Means算
法的基本思想是通过迭代寻找K个簇的一个聚类方法,使得聚类结果对应的损失函数最小,
其中,损失函数的定义大多是各个样本距离所属簇重心的误差平方和。若将所有的大语言
模型分别输出的多个回答表示为 向量,大语言模型输出的回答的数量为,并且本
申请实施例默认所有大语言模型输出的多个回答归类为一个簇,因此簇的数量K=1,为该
簇中的均值向量,为该簇的重心,则K-Means阶段的目标函数如下所示:
;
其中,K-Means算法优化的具体步骤如下:
1)随机选择一个重心,记为;
2)定义损失函数:;
3)遍历迭代步数,重复以下步骤直至收敛:
a、计算每一个样本点到重心的距离;
b、根据当前簇重新计算该簇重心。
需要说明的是,表示最小值函数,表示使目标函数取最小值时的变量
值,此外,常规的K-Means算法就具有接近线性的计算复杂度以及计算效率高的特点,本申
请实施例在使用K-Means算法时将簇的数量K限制为1,进一步提升了算法的运行效率。
在K-Means算法迭代收敛后,如下式所示,可以得到距离唯一簇重心最接近的样本(即距离重心最近的拼接向量),则该样本对应的回答可以作为“最优”回答进行输出:
;
举例来说,如图6所示,对于问题“请回答一下用药问题:北芪党参煲瘦肉的功效”,3个大语言模型输出了3个不同的回答,其中,大语言模型1输出的回答是:“该方汤具有补气养血、益精填髓等作用,适用于贫血和虚弱体质的人群”,大语言模型2输出的回答是:“根据中医理论,北芪和党参具有补益气血、降脂减肥的作用。当搭配瘦肉食用时,可以增强营养价值并促进健康饮食习惯养成”,大语言模型3输出的回答是:“根据中医理论,北芪和党参具有补气养血、益肺止咳等功效;而猪肝则富含铁元素和其他营养成分对补血也有一定的帮助作用”,上述3个回答经过编码器编码后以及基于K-Means的最优筛选后,会输出第二个回答作为“最优”回答。可以看出,大语言模型1输出的回答虽然提及了该方汤的作用及适用人群,但是过于简短且缺乏成分分析;大语言模型3输出的回答分别分析了两个主要成分的作用,但是其中将「瘦肉」错误地分析为「猪肝」,故存在生成错误;而大语言模型2输出的回答则正确地分析了两种主要成分的功效。
综上所述,本申请实施例提供的技术方案具有以下有益效果:
1、相较于相关技术提供的技术方案,本申请实施例对全部候选大语言模型输出的
多个回答连同问题一起用编码器进行编码,使得这些特征向量两两之间可以比较,这就将
计算复杂度由 降低到 的线性复杂度,提升了本申请实施例提供的技术方案
的落地可行性。
2、本申请实施例从现有的多个候选回答中筛选出“最优”回答,而非重新生成回答;并且,通过对于多个大语言模型输出的多个回答的集成聚类,将候选回答中最“平均”的回答进行输出,保证了回答在大多数场景下可用的程度,也就是说,重排序的思路提升了本申请实施例提供的技术方案的灵活度。
3、本申请实施例在重排序阶段采用了无监督的K-Means算法,避免了对于标注数据的依赖,降低了标注成本。
下面继续说明本申请实施例提供的基于人工智能的问答处理装置443的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器440的基于人工智能的问答处理装置443中的软件模块可以包括:接收模块4431、获取模块4432、编码模块4433、融合模块4434和确定模块4435。
接收模块4431,用于接收被输入的问题文本;获取模块4432,用于获取多个问答模型针对问题文本分别输出的回答文本;编码模块4433,用于对问题文本以及多个回答文本分别进行编码,对应得到问题文本的特征向量、以及每个回答文本的特征向量;融合模块4434,用于将问题文本的特征向量分别与每个回答文本的特征向量进行融合,对应得到多个融合向量;确定模块4435,用于确定多个融合向量的重心;确定模块4435,还用于将与重心距离最近的融合向量对应的回答文本,作为最终输出的回答文本。
在一些实施例中,编码模块4433,还用于通过编码器对问题文本进行编码,得到问题文本的特征向量,以及用于通过编码器对多个回答文本分别进行编码,对应得到每个回答文本的特征向量。
在一些实施例中,编码模块4433,还用于调用编码器执行以下处理:对问题文本进行特征提取,得到问题文本的词向量以及问题文本的位置向量;对问题文本的词向量以及问题文本的位置向量进行融合,得到问题文本的特征向量。
在一些实施例中,编码模块4433,还用于对问题文本进行词编码,得到问题文本的词向量,以及对问题文本中各词语的位置进行位置编码,得到问题文本的位置向量。
在一些实施例中,编码模块4433,还用于将问题文本的词向量和问题文本的位置向量进行拼接,得到问题文本的特征向量;或者,将问题文本的词向量和问题文本的位置向量进行相加,得到问题文本的特征向量。
在一些实施例中,编码模块4433,还用于针对每个回答文本,调用编码器执行以下处理:对回答文本进行特征提取,得到回答文本的词向量以及回答文本的位置向量;对回答文本的词向量以及回答文本的位置向量进行融合,得到回答文本的特征向量。
在一些实施例中,编码模块4433,还用于对回答文本进行词编码,得到回答文本的词向量,以及对回答文本中各词语的位置进行位置编码,得到回答文本的位置向量。
在一些实施例中,编码模块4433,还用于将回答文本的词向量和回答文本的位置向量进行拼接,得到回答文本的特征向量;或者,将回答文本的词向量和回答文本的位置向量进行相加,得到回答文本的特征向量。
在一些实施例中,融合模块4434,还用于将问题文本的特征向量分别与每个回答文本的特征向量进行拼接,对应得到多个融合向量;或者,用于将问题文本的特征向量分别与每个回答文本的特征向量进行相加,对应得到多个融合向量。
在一些实施例中,确定模块4435,还用于从多个融合向量所在的向量空间中选取一个初始重心,并基于初始重心构建损失函数;迭代执行以下处理,直至损失函数收敛至预设值:分别确定每个融合向量与初始重心之间的距离,并对多个距离进行相加,得到总距离;当总距离大于预设值时,从向量空间中重新选取一个初始重心;将损失函数收敛时对应的初始重心,作为多个融合向量的重心。
在一些实施例中,确定模块4435,还用于针对多个融合向量,分别确定每个融合向量与重心之间的距离;确定多个融合向量中与重心距离最近的目标融合向量,并将目标融合向量对应的回答文本,作为最终输出的回答文本。
在一些实施例中,多个问答模型包括不同领域的多个语言模型,且不同的语言模型的模型架构、训练语料、以及参数细节至少之一存在差异。
需要说明的是,本申请实施例装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本申请实施例提供的基于人工智能的问答处理装置中未尽的技术细节,可以根据图3、图4、或图5任一附图的说明而理解。
本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序或计算机可执行指令,该计算机程序或计算机可执行指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机可执行指令,处理器执行该计算机可执行指令,使得该计算机设备执行本申请实施例上述的基于人工智能的问答处理方法。
本申请实施例提供一种存储有计算机可执行指令的计算机可读存储介质,其中存储有计算机可执行指令,当计算机可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的基于人工智能的问答处理方法,例如,如图3、图4、或图5示出的基于人工智能的问答处理方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可被部署为在一个电子设备上执行,或者在位于一个地点的多个电子设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个电子设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (16)
1.一种基于人工智能的问答处理方法,其特征在于,所述方法包括:
接收被输入的问题文本;
获取多个问答模型针对所述问题文本分别输出的回答文本;
对所述问题文本以及多个所述回答文本分别进行编码,对应得到所述问题文本的特征向量、以及每个所述回答文本的特征向量;
将所述问题文本的特征向量分别与每个所述回答文本的特征向量进行融合,对应得到多个融合向量;
确定所述多个融合向量的重心;
将与所述重心距离最近的融合向量对应的回答文本,作为最终输出的回答文本。
2.根据权利要求1所述的方法,其特征在于,所述对所述问题文本以及多个所述回答文本分别进行编码,对应得到所述问题文本的特征向量、以及每个所述回答文本的特征向量,包括:
通过编码器对所述问题文本进行编码,得到所述问题文本的特征向量,以及
通过所述编码器对多个所述回答文本分别进行编码,对应得到每个所述回答文本的特征向量。
3.根据权利要求2所述的方法,其特征在于,所述通过编码器对所述问题文本进行编码,得到所述问题文本的特征向量,包括:
调用所述编码器执行以下处理:
对所述问题文本进行特征提取,得到所述问题文本的词向量以及所述问题文本的位置向量;
对所述问题文本的词向量以及所述问题文本的位置向量进行融合,得到所述问题文本的特征向量。
4.根据权利要求3所述的方法,其特征在于,所述对所述问题文本进行特征提取,得到所述问题文本的词向量以及所述问题文本的位置向量,包括:
对所述问题文本进行词编码,得到所述问题文本的词向量,以及
对所述问题文本中各词语的位置进行位置编码,得到所述问题文本的位置向量。
5.根据权利要求3所述的方法,其特征在于,所述对所述问题文本的词向量以及所述问题文本的位置向量进行融合,得到所述问题文本的特征向量,包括:
将所述问题文本的词向量和所述问题文本的位置向量进行拼接,得到所述问题文本的特征向量;或者,
将所述问题文本的词向量和所述问题文本的位置向量进行相加,得到所述问题文本的特征向量。
6.根据权利要求2所述的方法,其特征在于,所述通过所述编码器对多个所述回答文本分别进行编码,对应得到每个所述回答文本的特征向量,包括:
针对每个所述回答文本,调用所述编码器执行以下处理:
对所述回答文本进行特征提取,得到所述回答文本的词向量以及所述回答文本的位置向量;
对所述回答文本的词向量以及所述回答文本的位置向量进行融合,得到所述回答文本的特征向量。
7.根据权利要求6所述的方法,其特征在于,所述对所述回答文本进行特征提取,得到所述回答文本的词向量以及所述回答文本的位置向量,包括:
对所述回答文本进行词编码,得到所述回答文本的词向量,以及
对所述回答文本中各词语的位置进行位置编码,得到所述回答文本的位置向量。
8.根据权利要求6所述的方法,其特征在于,所述对所述回答文本的词向量以及所述回答文本的位置向量进行融合,得到所述回答文本的特征向量,包括:
将所述回答文本的词向量和所述回答文本的位置向量进行拼接,得到所述回答文本的特征向量;或者,
将所述回答文本的词向量和所述回答文本的位置向量进行相加,得到所述回答文本的特征向量。
9.根据权利要求1所述的方法,其特征在于,所述将所述问题文本的特征向量分别与每个所述回答文本的特征向量进行融合,对应得到多个融合向量,包括:
将所述问题文本的特征向量分别与每个所述回答文本的特征向量进行拼接,对应得到多个融合向量;或者,
将所述问题文本的特征向量分别与每个所述回答文本的特征向量进行相加,对应得到多个融合向量。
10.根据权利要求1所述的方法,其特征在于,所述确定所述多个融合向量的重心,包括:
从所述多个融合向量所在的向量空间中选取一个初始重心,并基于所述初始重心构建损失函数;
迭代执行以下处理,直至所述损失函数收敛至预设值:分别确定每个所述融合向量与所述初始重心之间的距离,并对多个所述距离进行相加,得到总距离;当所述总距离大于所述预设值时,从所述向量空间中重新选取一个初始重心;
将所述损失函数收敛时对应的初始重心,作为所述多个融合向量的重心。
11.根据权利要求1所述的方法,其特征在于,所述将与所述重心距离最近的融合向量对应的回答文本,作为最终输出的回答文本,包括:
针对所述多个融合向量,分别确定每个所述融合向量与所述重心之间的距离;
确定所述多个融合向量中与所述重心距离最近的目标融合向量,并将所述目标融合向量对应的回答文本,作为最终输出的回答文本。
12.根据权利要求1所述的方法,其特征在于,所述多个问答模型包括不同领域的多个语言模型,且不同的所述语言模型的模型架构、训练语料、以及参数细节至少之一存在差异。
13.一种基于人工智能的问答处理装置,其特征在于,所述装置包括:
接收模块,用于接收被输入的问题文本;
获取模块,用于获取多个问答模型针对所述问题文本分别输出的回答文本;
编码模块,用于对所述问题文本以及多个所述回答文本分别进行编码,对应得到所述问题文本的特征向量、以及每个所述回答文本的特征向量;
融合模块,用于将所述问题文本的特征向量分别与每个所述回答文本的特征向量进行融合,对应得到多个融合向量;
确定模块,用于确定所述多个融合向量的重心;
所述确定模块,还用于将与所述重心距离最近的融合向量对应的回答文本,作为最终输出的回答文本。
14.一种电子设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至12任一项所述的基于人工智能的问答处理方法。
15.一种计算机可读存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令被处理器执行时,实现权利要求1至12任一项所述的基于人工智能的问答处理方法。
16.一种计算机程序产品,包括计算机程序或计算机可执行指令,其特征在于,所述计算机程序或计算机可执行指令被处理器执行时,实现权利要求1至12任一项所述的基于人工智能的问答处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311408403.5A CN117149982A (zh) | 2023-10-27 | 2023-10-27 | 基于人工智能的问答处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311408403.5A CN117149982A (zh) | 2023-10-27 | 2023-10-27 | 基于人工智能的问答处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117149982A true CN117149982A (zh) | 2023-12-01 |
Family
ID=88901028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311408403.5A Pending CN117149982A (zh) | 2023-10-27 | 2023-10-27 | 基于人工智能的问答处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117149982A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117725186A (zh) * | 2024-02-08 | 2024-03-19 | 北京健康有益科技有限公司 | 一种特定疾病饮食方案对话样本的生成方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108399169A (zh) * | 2017-02-06 | 2018-08-14 | 阿里巴巴集团控股有限公司 | 基于问答系统的对话处理方法、装置和系统及移动设备 |
CN111159367A (zh) * | 2019-12-11 | 2020-05-15 | 中国平安财产保险股份有限公司 | 一种信息处理方法及相关设备 |
CN111444329A (zh) * | 2020-06-12 | 2020-07-24 | 支付宝(杭州)信息技术有限公司 | 智能对话方法、装置和电子设备 |
-
2023
- 2023-10-27 CN CN202311408403.5A patent/CN117149982A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108399169A (zh) * | 2017-02-06 | 2018-08-14 | 阿里巴巴集团控股有限公司 | 基于问答系统的对话处理方法、装置和系统及移动设备 |
CN111159367A (zh) * | 2019-12-11 | 2020-05-15 | 中国平安财产保险股份有限公司 | 一种信息处理方法及相关设备 |
CN111444329A (zh) * | 2020-06-12 | 2020-07-24 | 支付宝(杭州)信息技术有限公司 | 智能对话方法、装置和电子设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117725186A (zh) * | 2024-02-08 | 2024-03-19 | 北京健康有益科技有限公司 | 一种特定疾病饮食方案对话样本的生成方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112242187B (zh) | 基于知识图谱表征学习的医疗方案推荐系统及方法 | |
JP7100087B2 (ja) | 情報を出力する方法および装置 | |
CN112015917A (zh) | 基于知识图谱的数据处理方法、装置及计算机设备 | |
US11966389B2 (en) | Natural language to structured query generation via paraphrasing | |
US20220114346A1 (en) | Multi case-based reasoning by syntactic-semantic alignment and discourse analysis | |
CN112084789A (zh) | 文本处理方法、装置、设备及存储介质 | |
CN115017893A (zh) | 校正通过深度学习生成的内容 | |
CN117149982A (zh) | 基于人工智能的问答处理方法、装置、设备及存储介质 | |
Norris | Machine Learning with the Raspberry Pi | |
JP2023156447A (ja) | 自然言語ソリューション | |
CN116956116A (zh) | 文本的处理方法和装置、存储介质及电子设备 | |
WO2023278980A1 (en) | Interface to natural language generator for generation of knowledge assessment items | |
CN113657086B (zh) | 词语处理方法、装置、设备及存储介质 | |
CN115271093A (zh) | 用于多任务用户界面建模的基于神经网络的多模态变换器 | |
CN116956934A (zh) | 任务处理方法、装置、设备及存储介质 | |
CN116974626A (zh) | 分析序列图生成方法、装置、设备和计算机可读存储介质 | |
US20230186117A1 (en) | Automated cloud data and technology solution delivery using dynamic minibot squad engine machine learning and artificial intelligence modeling | |
CN116821301A (zh) | 基于知识图谱的问题应答方法、装置、介质及计算机设备 | |
CN116956183A (zh) | 多媒体资源推荐方法、模型训练方法、装置及存储介质 | |
CN111581929A (zh) | 基于表格的文本生成方法及相关装置 | |
CN116431827A (zh) | 信息处理方法、装置、存储介质及计算机设备 | |
US11599725B2 (en) | Acquiring new definitions of entities | |
CN114898184A (zh) | 模型训练方法、数据处理方法、装置及电子设备 | |
CN116756554A (zh) | 对齐模型的训练方法、装置、设备、介质及程序产品 | |
CN116755683B (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 |