CN116244418A - 问题解答方法、装置、电子设备及计算机可读存储介质 - Google Patents
问题解答方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN116244418A CN116244418A CN202310525663.4A CN202310525663A CN116244418A CN 116244418 A CN116244418 A CN 116244418A CN 202310525663 A CN202310525663 A CN 202310525663A CN 116244418 A CN116244418 A CN 116244418A
- Authority
- CN
- China
- Prior art keywords
- sub
- question
- model
- class
- data
- 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.)
- Granted
Links
Images
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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供一种问题解答方法、装置、电子设备及计算机可读存储介质,至少应用于人工智能领域和信息搜索领域,其中,方法包括:获取待解答问题;通过预先训练的问题拆解模型对待解答问题进行问题拆解,得到待解答问题对应的多个子问题;问题拆解模型是采用第一数量的监督数据和第二数量的弱监督数据作为样本数据进行训练后得到的模型;通过搜索引擎对每一子问题进行查询,得到多个子问题对应的参考信息集合;基于参考信息集合中的参考信息,对待解答问题进行解答,得到待解答问题的解答结果。通过本申请,能够极大的降低问题解答过程中的资源消耗。
Description
技术领域
本申请实施例涉及互联网领域,涉及但不限于一种问题解答方法、装置、电子设备及计算机可读存储介质。
背景技术
随着ChatGPT(Chat Generative Pre-trained Transformer)的技术革新,国内外越来越多的企业开展ChatGPT类项目的探索,大部分模型在算法的使用上都会存在着事实错误和事实捏造(Fact Fabrication),缺乏依据的逻辑或事实错误,且丰富度和条理性不足等问题,容易给用户造成误导。
针对这个问题,目前业界大部分搜索引擎使用ChatGPT类技术提升搜索能力时,通常采用思维链(Chain of Thought)的方式,或者,是通过搜索引擎对用户的问题进行检索得到搜索结果,在回答问题时,让模型根据搜索结果进行答案的生成,以此来提升推理准确性。
但是,思维链的方式需要构造大批量带有推理过程的样本,构造难度大,人工成本高;且需要保证参考样例和当前问题分布一致、类别一致、推理过程类似,一旦遇到跨类别的样本问题,则输出效果会很差。而通过搜索引擎检索搜索结果的方式,整个问题的子问题拆解和回答过程均为串行,耗时较长;且当自身模型较大时,整体计算量过大,无法独立进行问题拆解。由此可见,相关技术中的方案均存在样本构造难度大、计算量大的问题,从而需要提供较大的计算资源才能够实现有效的问题解答过程,显然会造成较大的资源消耗。
发明内容
本申请实施例提供一种问题解答方法、装置、电子设备及计算机可读存储介质,至少能够应用于人工智能领域和信息搜索领域,能够极大的降低问题解答过程中的资源消耗。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种问题解答方法,包括:获取待解答问题;所述待解答问题的问题复杂度大于复杂度阈值;通过预先训练的问题拆解模型对所述待解答问题进行问题拆解,得到所述待解答问题对应的多个子问题;其中,所述问题拆解模型是采用第一数量的监督数据和第二数量的弱监督数据作为样本数据进行训练后得到的模型;所述第一数量小于所述第二数量,且所述第一数量与所述第二数量之间具有特定比例;通过搜索引擎对每一所述子问题进行查询,得到所述多个子问题对应的参考信息集合;将所述待解答问题和所述参考信息集合输入至预设的自然语言处理模型中,通过所述自然语言处理模型基于所述参考信息集合中的参考信息,对所述待解答问题进行解答,得到所述待解答问题的解答结果。
本申请实施例提供一种问题解答装置,所述装置包括:获取模块,用于获取待解答问题;所述待解答问题的问题复杂度大于复杂度阈值;问题拆解模块,用于通过预先训练的问题拆解模型对所述待解答问题进行问题拆解,得到所述待解答问题对应的多个子问题;其中,所述问题拆解模型是采用第一数量的监督数据和第二数量的弱监督数据作为样本数据进行训练后得到的模型;所述第一数量小于所述第二数量,且所述第一数量与所述第二数量之间具有特定比例;查询模块,用于通过搜索引擎对每一所述子问题进行查询,得到所述多个子问题对应的参考信息集合;问题解答模块,用于将所述待解答问题和所述参考信息集合输入至预设的自然语言处理模型中,通过所述自然语言处理模型基于所述参考信息集合中的参考信息,对所述待解答问题进行解答,得到所述待解答问题的解答结果。
在一些实施例中,所述装置还包括:监督数据获取模块,用于获取多个第一类问题文本和多个第二类问题文本;所述第一类问题文本与所述第二类问题文本的数据来源不同;获取预设的筛选阈值;基于所述筛选阈值,对所述多个第一类问题文本和所述多个第二类问题文本进行数据筛选,得到筛选后的第一类问题文本和筛选后的第二类问题文本;将所述筛选后的第一类问题文本和筛选后的第二类问题文本,确定为所述监督数据。
在一些实施例中,所述筛选阈值包括:文本复杂度阈值和交互频次阈值;所述监督数据获取模块还用于:按照所述文本复杂度阈值,对所述多个第一类问题文本和所述多个第二类问题文本进行复杂度筛选,得到复杂度筛选后的至少一个第一类问题文本和复杂度筛选后的至少一个第二类问题文本;按照所述交互频次阈值,对所述复杂度筛选后的至少一个第一类问题文本进行交互频次筛选,得到交互频次筛选后的第一类问题文本;对所述复杂度筛选后的至少一个第二类问题文本进行表述筛选,得到表述筛选后的第二类问题文本;将所述交互频次筛选后的第一类问题文本,确定为所述筛选后的第一类问题文本;将所述表述筛选后的第二类问题文本,确定为所述筛选后的第二类问题文本。
在一些实施例中,所述装置还包括:问题分类体系构造模块,用于构造问题分类体系;所述问题分类体系包括多个一级分类和与每一所述一级分类对应的多个二级分类;每一所述二级分类对应一个二级分类标识;在每得到一个监督数据时,确定所述监督数据对应的目标一级分类标识和目标二级分类标识;并将所述监督数据划分至所述问题分类体系中与所述目标二级分类标识对应的二级分类中;通过划分后得到的所述问题分类体系,对所述监督数据进行类别平衡分析,得到类别平衡分析结果;基于所述类别平衡分析结果,更新所述问题分类体系。
在一些实施例中,所述问题分类体系构造模块还用于:获取每一所述一级分类对应的多个二级分类中每一二级分类中的监督数据的数量;对每一所述一级分类对应的全部二级分类中的监督数据的数量进行求和,得到相应一级分类的监督数据数量和;确定全部一级分类的监督数据数量和之间的比值;基于所述比值对全部监督数据进行类别平衡分析,得到类别平衡分析结果;其中,所述类别平衡分析结果包括:全部一级分类的类别平衡和全部一级分类的类别不平衡。
在一些实施例中,所述问题分类体系构造模块还用于:响应于所述类别平衡分析结果为所述类别不平衡,基于所述比值确定待扩充数量的目标一级分类;获取所述目标一级分类对应的多个目标二级分类和每一所述目标二级分类下的监督数据的数量;基于每一所述目标二级分类下的监督数据的数量,确定待扩充数量的目标二级分类;获取所述待扩充数量的目标二级分类下的新的监督数据;通过所述新的监督数据更新所述问题分类体系。
在一些实施例中,所述装置还包括:第一弱监督数据获取模块,用于获取第一原始问题和与所述第一原始问题对应的至少一个要求信息;将所述第一原始问题和所述至少一个要求信息输入至零样本学习模型中,通过所述零样本学习模型基于所述至少一个要求信息对所述第一原始问题进行问题拆解,得到多个第一拆解子问题;将所述第一原始问题与所述多个第一拆解子问题确定为所述弱监督数据。
在一些实施例中,所述装置还包括:第二弱监督数据获取模块,用于获取第二原始问题和所述第二原始问题的问题类型;基于所述问题类型,获取与所述第二原始问题具有相同类型的至少一个参考问题;将所述第二原始问题和所述至少一个参考问题输入至少样本学习模型中,通过所述少样本学习模型基于所述至少一个参考问题对所述第二原始问题进行问题拆解,得到多个第二拆解子问题;将所述第二原始问题与所述多个第二拆解子问题确定为所述弱监督数据。
在一些实施例中,所述第二弱监督数据获取模块还用于:获取预先构造的问题分类体系;所述问题分类体系包括多个一级分类和与每一所述一级分类对应的多个二级分类;每一所述二级分类对应一个二级分类标识;基于所述第二原始问题的问题类型查询所述问题分类体系,得到与所述第二原始问题的问题类型对应的二级分类标识;从所述二级分类标识对应的二级分类中获取至少一个问题,并将获取的问题确定为所述参考问题。
在一些实施例中,所述装置还包括:模块训练模块,用于通过以下方式训练所述问题拆解模型:将由所述监督数据和所述弱监督数据构成的样本数据,输入至所述问题拆解模型中;通过所述问题拆解模型的编码器对所述样本数据进行数据编码处理,得到文本编码向量;通过所述问题拆解模型的解码器对所述文本编码向量进行解码处理,得到所述样本数据中的样本问题对应的多个样本子问题;基于所述样本数据中的标注子问题,对所述多个样本子问题进行自动摘要评价,得到所述问题拆解模型在不同自动摘要评价指标下的评价值;基于所述评价值对所述问题拆解模型中的模型参数进行修正,得到训练后的问题拆解模型。
在一些实施例中,所述查询模块还用于:获取每一所述子问题中的查询词;将每一所述子问题的查询词输入至所述搜索引擎,通过所述搜索引擎查询每一所述查询词,得到相应子问题对应的参考信息;对全部子问题对应的参考信息进行汇总,得到所述参考信息集合。
在一些实施例中,所述装置还包括:问题预处理模块,用于在获取到所述待解答问题之后,对所述待解答问题进行问题预处理,得到预处理后的待解答问题;并将所述预处理后的待解答问题输入至所述问题拆解模型中,通过所述问题拆解模型对所述预处理后的待解答问题进行问题拆解,得到所述多个子问题;问题后处理模块,用于在得到所述多个子问题之后,对所述多个子问题进行问题后处理,得到后处理后的多个子问题;并将所述后处理后的多个子问题输入中所述搜索引擎中。
本申请实施例提供一种电子设备,包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现上述的问题解答方法。
本申请实施例提供一种计算机程序产品,该计算机程序产品包括可执行指令,可执行指令存储在计算机可读存储介质中;其中,电子设备的处理器从计算机可读存储介质中读取可执行指令,并执行可执行指令时,实现上述的问题解答方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行所述可执行指令时,实现上述的问题解答方法。
本申请实施例具有以下有益效果:一方面,通过预先训练的问题拆解模型对待解答问题进行问题拆解,得到待解答问题对应的多个子问题;其中,该问题拆解模型是采用第一数量的监督数据和第二数量的弱监督数据作为样本数据进行训练后得到的模型。如此,由于第一数量小于第二数量,即监督数据小于弱监督数据的数量,从而实现通过小量人工标注的监督数据以及大量无需人工标注的弱监督数据,即可实现对问题拆解模型的训练,极大的降低了样本数据的构造难度和构造成本,提高样本数据的构造效率。另一方面,通过搜索引擎对每一子问题进行查询,得到多个子问题对应的参考信息集合;并将待解答问题和参考信息集合输入至预设的自然语言处理模型中,通过自然语言处理模型基于参考信息集合中的参考信息,对待解答问题进行解答,得到待解答问题的解答结果。如此,多个子问题的查询过程可以并行进行,且基于查询的参考信息集合中的参考信息确定最终的解答结果,从而不仅能够提高问题解答的效率,降低问题解答过程中的资源消耗,还能够保证所得到解答结果的准确性。
附图说明
图1是本申请实施例提供的问题解答系统的一个可选的架构示意图;
图2是本申请实施例提供的电子设备的结构示意图;
图3是本申请实施例提供的问题解答方法的一个可选的流程示意图;
图4是本申请实施例提供的监督数据的获取方法的流程示意图;
图5是本申请实施例提供的数据筛选的实现流程示意图;
图6是本申请实施例提供的类别平衡分析的实现流程示意图;
图7是本申请实施例提供的更新问题分类体系的实现流程示意图;
图8是本申请实施例提供的弱监督数据的获取方法的流程示意图;
图9是本申请实施例提供的问题拆解模型的训练方法的流程示意图;
图10是传统的答案生成模型和思维链的工作方式示意图;
图11是相关技术中通过模型根据搜索结果进行生成的self-ask工作方式流程图;
图12是相关技术中模型根据搜索结果进行生成的self-ask结合搜索引擎的工作方式流程图;
图13是本申请实施例提供的问题解答方法的系统框架图;
图14是本申请实施例提供的问题分类体系示意图;
图15是本申请实施例提供的基于few-shot技术构造弱监督数据的示意图;
图16是本申请实施例提供的transformer模型结构示意图;
图17是本申请实施例提供的GPT模型演进示意图;
图18是本申请实施例的问题拆解系统所使用不同模型的实验效果对比图;
图19是本申请实施例提供的无问题拆解和有问题拆解的答复丰富度对比图;
图20是本申请实施例提供的无问题拆解和有问题拆解的答案条理性对比图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。除非另有定义,本申请实施例所使用的所有的技术和科学术语与属于本申请实施例的技术领域的技术人员通常理解的含义相同。本申请实施例所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
针对ChatGPT回答问题时,存在幻觉(hallucination)、虚构(confabulation)、丰富度差、条理性差和缺乏依据的逻辑或事实错误。针对这个问题,目前业界大部分搜索引擎使用ChatGPT类技术提升搜索能力时,会借用搜索已有能力找到参考文献,模型生成答案时在参考文献中总结出答案(即带有参考的答案),替代原有的模型端到端生成答案;但是对于ChatGPT类项目,当用户问题为事实类问题时,或复杂超长的用户问题,搜索系统无法准确给出针对用户问题的搜索参考文献。
对于此问题,通过定义问题类别和知识点拆解,使用人工标注+弱监督生成的方式构造问题拆解样本,训练问题拆解模型。生成的每个子问题具有独立知识点,且互相语义独立不重复,且涵盖所有原始问题所需知识。通过子任务请求搜索系统获得针对每个子问题的参考文献,汇总后作为整体参考文献给到ChatGPT类模型进行答案推理,大大提升事实类问题和复杂超长类问题时,ChatGPT类模型的答案准确度、丰富度、条理性,降低模型的幻觉和虚构问题。
本申请实施例提供的问题解答方法,首先,获取待解答问题;待解答问题的问题复杂度大于复杂度阈值;然后,通过预先训练的问题拆解模型对待解答问题进行问题拆解,得到待解答问题对应的多个子问题;其中,问题拆解模型是采用第一数量的监督数据和第二数量的弱监督数据作为样本数据进行训练后得到的模型;第一数量小于第二数量,且第一数量与第二数量之间具有特定比例;再然后,通过搜索引擎对每一子问题进行查询,得到多个子问题对应的参考信息集合;最后,将待解答问题和参考信息集合输入至预设的自然语言处理模型中,通过自然语言处理模型基于参考信息集合中的参考信息,对待解答问题进行解答,得到待解答问题的解答结果。如此,由于第一数量小于第二数量,即监督数据小于弱监督数据的数量,从而实现通过小量人工标注的监督数据以及大量无需人工标注的弱监督数据,即可实现对问题拆解模型的训练,极大的降低了样本数据的构造难度和构造成本,提高样本数据的构造效率。并且多个子问题的查询过程可以并行进行,且基于查询的参考信息集合中的参考信息确定最终的解答结果,从而不仅能够提高问题解答的效率,降低问题解答过程中的资源消耗,还能够保证所得到解答结果的准确性。
这里,首先说明本申请实施例的问题解答设备的示例性应用,该问题解答设备是用于实现问题解答方法的电子设备。在一种实现方式中,本申请实施例提供的问题解答设备(即电子设备)可以实施为终端,也可以实施为服务器。在一种实现方式中,本申请实施例提供的问题解答设备可以实施为笔记本电脑,平板电脑,台式计算机,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备,智能机器人,智能家电和智能车载设备等任意的具备数据处理功能和问题解答功能的终端;在另一种实现方式中,本申请实施例提供的问题解答设备还可以实施为服务器,其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(CDN,Content Delivery Network)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。下面,将说明问题解答设备实施为服务器时的示例性应用。
参见图1,图1是本申请实施例提供的问题解答系统的一个可选的架构示意图,本申请实施例以问题解答方法应用于任意类型的聊天应用为例进行说明。当聊天应用在运行过程中接收到用户输入的待解答问题时,聊天应用需要对用户的待解答问题进行解答,此时,可以采用本申请实施例提供的问题解答方法生成待解答问题的解答结果,并通过聊天应用向用户输出该解答结果。本申请实施例中,问题解答系统10中至少包括终端100、网络200和服务器300。其中,服务器300可以是聊天应用的服务器。服务器300可以构成本申请实施例的问题解答设备。终端100通过网络200连接服务器300,网络200可以是广域网或者局域网,又或者是二者的组合。
本申请实施例中,终端100上运行有聊天应用,在进行问题解答时,终端接收用户通过语音或者文本形式输入的待解答问题,并将待解答问题封装至问答请求中,将问答请求通过网络200发送给服务器300。服务器300响应于问答请求,通过预先训练的问题拆解模型对待解答问题进行问题拆解,得到待解答问题对应的多个子问题;其中,问题拆解模型是采用第一数量的监督数据和第二数量的弱监督数据作为样本数据进行训练后得到的模型;第一数量小于第二数量,且第一数量与第二数量之间具有特定比例;然后,通过搜索引擎对每一子问题进行查询,得到多个子问题对应的参考信息集合;最后,将待解答问题和参考信息集合输入至预设的自然语言处理模型中,通过自然语言处理模型基于参考信息集合中的参考信息,对待解答问题进行解答,得到待解答问题的解答结果。服务器300在得到待解答问题的解答结果之后,可以将待解答问题的解答结果转换成问题解答语音,并将问题解答语音发送给终端100,以实现在终端上输出该问题解答语音。服务器300在得到待解答问题的解答结果之后,还可以直接将待解答问题的解答结果对应的解答文本发送给终端100,由终端100直接在当前界面上显示解答文本,或者,由终端100对解答文本进行语音转换,得到问题解答语音并输出问题解答语音。
在一些实施例中,问题解答方法还可以通过终端来实现,也就是说,终端100上安装有聊天应用,用户通过聊天应用的客户端输入待解答问题。在终端通过客户端接收到待解答问题后,终端通过预先训练的问题拆解模型对待解答问题进行问题拆解,得到待解答问题对应的多个子问题;然后,终端通过搜索引擎对每一子问题进行查询,得到多个子问题对应的参考信息集合;或者,将问题拆解后得到的多个子问题发送给搜索引擎的服务器,通过搜索引擎的服务器对每一子问题进行查询,得到多个子问题对应的参考信息集合;最后,终端将待解答问题和参考信息集合输入至预设的自然语言处理模型中,通过自然语言处理模型基于参考信息集合中的参考信息,对待解答问题进行解答,得到待解答问题的解答结果。
本申请实施例所提供的问题解答方法还可以基于云平台并通过云技术来实现,例如,上述服务器300可以是云端服务器。通过云端服务器训练问题拆解模型和自然语言处理模型;或者,通过云端服务器对待解答问题进行问题拆解,得到待解答问题对应的多个子问题,以及,通过云端服务器对每一子问题进行查询,得到多个子问题对应的参考信息集合;通过云端服务器基于参考信息集合中的参考信息,对待解答问题进行解答,得到待解答问题的解答结果。
在一些实施例中,还可以具有云端存储器,可以将问题拆解模型的模型参数以及自然语言处理模型的模型参数存储至云端存储器中,或者,还可以将待解答问题和解答结果存储至云端存储器中。这样,在接收到针对任意待解答问题的问答请求时,可以从云端存储器中直接获取到问题拆解模型的模型参数以及自然语言处理模型的模型参数,并基于获取到的模型参数调用训练好的问题拆解模型和自然语言处理模型对待解答问题进行解答,得到相应的解答结果。
这里需要说明的是,云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,其可以通过云计算来实现。
图2是本申请实施例提供的电子设备的结构示意图,图2所示的电子设备可以是问题解答设备,问题解答设备包括:至少一个处理器310、存储器350、至少一个网络接口320和用户接口330。问题解答设备中的各个组件通过总线系统340耦合在一起。可理解,总线系统340用于实现这些组件之间的连接通信。总线系统340除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统340。
处理器310可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口330包括使得能够呈现媒体内容的一个或多个输出装置331,以及一个或多个输入装置332。
存储器350可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器350可选地包括在物理位置上远离处理器310的一个或多个存储设备。存储器350包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器350旨在包括任意适合类型的存储器。在一些实施例中,存储器350能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统351,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;网络通信模块352,用于经由一个或多个(有线或无线)网络接口320到达其他计算设备,示例性的网络接口320包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,UniversalSerial Bus)等;输入处理模块353,用于对一个或多个来自一个或多个输入装置332之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的装置可采用软件方式实现,图2示出了存储在存储器350中的一种问题解答装置354,该问题解答装置354可以是电子设备中的问题解答装置,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块3541、问题拆解模块3542、查询模块3543和问题解答模块35445,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的装置可以采用硬件方式实现,作为示例,本申请实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的问题解答方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,ComplexProgrammable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable GateArray)或其他电子元件。
本申请各实施例提供的问题解答方法可以由电子设备来执行,其中,该电子设备可以是服务器也可以是终端,即本申请各实施例的问题解答方法可以通过服务器来执行,也可以通过终端来执行,或者也可以通过服务器与终端之间交互执行。
图3是本申请实施例提供的问题解答方法的一个可选的流程示意图,下面将结合图3示出的步骤进行说明,如图3所示,方法包括以下步骤S101至步骤S105:
步骤S101,获取待解答问题;待解答问题的问题复杂度大于复杂度阈值。
这里,待解答问题可以是文本形式的问题。用户可以通过聊天应用输入待解答问题,可以以语音形式输入待解答问题,聊天应用的服务器对用户输入的语音形式的待解答问题进行语义识别,得到待解答问题的语音识别结果,并基于语音识别结果将语音形式的待解答问题转换为文本形式的待解答问题。或者,用户也可以直接在聊天应用的客户端输入文本形式的待解答问题。
本申请实施例中,待解答问题可以是事实类和复杂问题,待解答问题的复杂度大于或等于复杂度阈值。待解答问题的复杂度大于或等于复杂度阈值,是指待解答问题的长度大于或等于长度阈值,或者,待解答问题中涉及到的内容的数量大于数量阈值。
步骤S102,通过预先训练的问题拆解模型对待解答问题进行问题拆解,得到待解答问题对应的多个子问题。
这里,问题拆解模型是采用第一数量的监督数据和第二数量的弱监督数据作为样本数据进行训练后得到的模型;第一数量小于所述第二数量,且第一数量与第二数量之间具有特定比例。
监督数据是指通过人工标注后得到的数据,监督数据的数量小于弱监督数据的数量。监督数据中包括样本问题和样本拆解问题,样本拆解问题是指对样本问题进行问题拆解后得到的子问题。可以通过人工标注的方式对筛选出的样本问题进行拆解,得到多个拆解后的子问题。
弱监督数据是指基于人工智能技术,通过开源的大型生成语言模型(例如,ChatGPT等模型)生成的样本问题和样本拆解问题。本申请实施例中,弱监督数据可以通过任意一种生成语言模型来构造,且构造时可以采用任意一种能够准确生成合法问题的生成方式来实现。举例来说,可以基于zero-shot技术和few-shot技术,采用ChatGPT模型,生成不同的弱监督数据。
本申请实施例中,由于监督数据需要人工进行标注,对人工成本要求较高,而弱监督数据可以通过生成语言模型快速的构造,因此,监督数据的数量可以远小于弱监督数据的数量。但是,为了保证采用监督数据和弱监督数据构成的样本数据能够对问题拆解模型进行准确的训练,则也需要保证监督数据的数量,因此,监督数据对应的第一数量与弱监督数据对应的第二数量之间具有特定比例。该特定比例可以基于问题拆解模型的模型参数和问题拆解模型的训练任务来预先确定。
在一些实施例中,在获取到待解答问题之后,可以对待解答问题进行问题预处理,得到预处理后的待解答问题;并将预处理后的待解答问题输入至问题拆解模型中,通过问题拆解模型对预处理后的待解答问题进行问题拆解,得到多个子问题。
这里,预处理可以是对待解答问题进行错别字纠错、语义歧义消除以及多轮对话带来的指代消解问题的处理。此外,针对一些不适合进行拆解的问题,如涉及安全和低俗的问题,则可以对这些问题进行删除。
在一些实施例中,在得到多个子问题之后,还可以对多个子问题进行问题后处理,得到后处理后的多个子问题;并将后处理后的多个子问题输入中搜索引擎中。
这里,后处理可以是对问题拆解模型输出的子问题进行清洗,提升精度。对于拆解出来的多个子问题进行重复问题识别,并将重复问题进行去重,以减少下游搜索引擎检索压力。另外,对于一些表述有问题的子问题,可以通过对该子问题以过滤或者补全的方式进行结果完善。
步骤S103,通过搜索引擎对每一子问题进行查询,得到多个子问题对应的参考信息集合。
本申请实施例中,可以将每一子问题输入至搜索引擎中进行查询和搜索,得到对应的搜索结果,其中,搜索结果中的内容构成该子问题对应的参考信息。针对多个子问题进行分别查询和搜索,对应得到多个参考信息。因此,可以将多个参考信息进行汇总,得到参考信息集合。这里,参考信息集合中包括多个不同的参考信息。
在一些实施例中,对于不同的子问题,查询到的参考信息可以相同也可以不同。当不同的子问题查询到的参考信息相同时,可以对相同的参考信息进行剔除,只在参考信息集合中包括相同参考信息中的一个参考信息,也就是说,对重复的参考信息进行去重处理,从而实现对参考信息集合中的内容的精简。
在一些实施例中,对每一子问题进行查询可以通过以下方式实现:首先,获取每一子问题中的查询词;然后,将每一子问题的查询词输入至搜索引擎,通过搜索引擎查询每一查询词,得到相应子问题对应的参考信息;最后,对全部子问题对应的参考信息进行汇总,得到参考信息集合。
这里,查询词是指子问题中的关键词,可以通过对每一子问题进行文本识别,得到该子问题中的关键词。这样,基于关键词在搜索引擎中进行查询,能够极大的提高查询的效率。本申请实施例中,可以采用任意一种文本识别方法识别到子问题中的关键词。例如,可以对子问题先进行分词处理,得到多个词语,然后确定每一词语在该子问题中的词性,最后将具有特定词性的词语确定为该子问题的关键词。
需要说明的是,对于同一个子问题,可以具有一个或多个关键词。当任一子问题的关键词的数量为多个时,可以同时基于多个关键词在搜索引擎中进行查询和搜索,从而提高查询和搜索的效率和准确率。
步骤S104,将待解答问题和参考信息集合输入至预设的自然语言处理模型中,通过自然语言处理模型基于参考信息集合中的参考信息,对待解答问题进行解答,得到待解答问题的解答结果。
这里,预设的自然语言处理模型为一种问答模型,该问题模型用于对参考信息集合中的参考信息进行分析和总结,得到与该待解答问题对应的解答结果。也就是说,可以将待解答问题和参考信息集合输入至预设的自然语言处理模型中,通过自然语言处理模型以参考信息集合中的参考信息为参考,总结出用于解答待解答问题的答案。
本申请实施例提供的问题解答方法,一方面,通过预先训练的问题拆解模型对待解答问题进行问题拆解,得到待解答问题对应的多个子问题;其中,该问题拆解模型是采用第一数量的监督数据和第二数量的弱监督数据作为样本数据进行训练后得到的模型。如此,由于第一数量小于第二数量,即监督数据小于弱监督数据的数量,从而实现通过小量人工标注的监督数据以及大量无需人工标注的弱监督数据,即可实现对问题拆解模型的训练,极大的降低了样本数据的构造难度和构造成本,提高样本数据的构造效率。另一方面,通过搜索引擎对每一子问题进行查询,得到多个子问题对应的参考信息集合;并将待解答问题和参考信息集合输入至预设的自然语言处理模型中,通过自然语言处理模型基于参考信息集合中的参考信息,对待解答问题进行解答,得到待解答问题的解答结果。如此,多个子问题的查询过程可以并行进行,且基于查询的参考信息集合中的参考信息确定最终的解答结果,从而不仅能够提高问题解答的效率,降低问题解答过程中的资源消耗,还能够保证所得到解答结果的准确性。
在一些实施例中,监督数据是指通过人工标注后得到的数据,可以通过人工来定义监督数据的获取方式,由服务器按照该获取方式获取相应的监督数据。本申请实施例再提供一种上述监督数据的获取方法,图4是本申请实施例提供的监督数据的获取方法的流程示意图,该监督数据的获取方法可以由服务器执行,如图4所示,方法包括以下步骤S201至步骤S204:
步骤S201,获取多个第一类问题文本和多个第二类问题文本;第一类问题文本与第二类问题文本的数据来源不同。
这里,可以获取完全不同的两个来源处的问题文本,通过不同来源的问题文本来构造监督数据,从而扩大监督数据的数据多样性,避免相同数据或相似数据构造的监督数据,在对问题拆解模型进行训练时,造成模型收敛速度较快且模型训练不准确的问题。举例来说,可以获取搜索引擎中的用户问题文本和社区问答中的问题文本,或者还可以获取用户推荐信息的评论中的问题文本等。
步骤S202,获取预设的筛选阈值。
在一些实施例中,筛选阈值包括:文本复杂度阈值和交互频次阈值。
步骤S203,基于筛选阈值,对多个第一类问题文本和多个第二类问题文本进行数据筛选,得到筛选后的第一类问题文本和筛选后的第二类问题文本。
参见图5,图5示出了步骤S203可以通过以下步骤S2031至步骤S2035实现:
步骤S2031,按照文本复杂度阈值,对多个第一类问题文本和多个第二类问题文本进行复杂度筛选,得到复杂度筛选后的至少一个第一类问题文本和复杂度筛选后的至少一个第二类问题文本。
这里,可以将复杂度大于文本复杂度阈值的第一类问题文本,确定为筛选出的第一类问题文本,从而形成复杂度筛选后的至少一个第一类问题文本;将复杂度大于文本复杂度阈值的第二类问题文本,确定为筛选出的第二类问题文本,从而形成复杂度筛选后的至少一个第二类问题文本。如此,基于文本复杂度阈值对多个第一类问题文本和多个第二类问题文本进行复杂度筛选,能够筛选出复杂的问题文本。
步骤S2032,按照交互频次阈值,对复杂度筛选后的至少一个第一类问题文本进行交互频次筛选,得到交互频次筛选后的第一类问题文本。
这里,交互频次是指该第一类问题文本被用户交互的频次,例如,该第一类问题文本被用户浏览的次数、查询的次数、浏览的时长和点击的次数等。可以在复杂度筛选后的至少一个第一类问题文本中,将交互频次大于交互频次阈值第一类问题文本,确定为筛选出的第一类问题文本,从而形成交互频次筛选后的第一类问题文本。
步骤S2033,对复杂度筛选后的至少一个第二类问题文本进行表述筛选,得到表述筛选后的第二类问题文本。
这里,表述筛选是指对第二类问题文本进行文本清晰度、文本内容准确性进行判断的筛选方式。在实现的过程中,可以在复杂度筛选后的至少一个第二类问题文本中,对每一第二类问题文本进行文本识别,从而对文本的语义是否清晰、是否存在歧义、内容是否准确等进行分析,得到分析结果,然后按照分析结果,将语义清晰、内容准确的第二类问题文本筛选出,得到表述筛选后的第二类问题文本。
步骤S2034,将交互频次筛选后的第一类问题文本,确定为筛选后的第一类问题文本。
步骤S2035,将表述筛选后的第二类问题文本,确定为筛选后的第二类问题文本。
步骤S204,将筛选后的第一类问题文本和筛选后的第二类问题文本,确定为监督数据。
请继续参照图4,在一些实施例中,在每得到一个监督数据时,可以将该监督数据添加至预先构造的问题分类体系中,从而基于该问题分类体系确定是否继续获取新的监督数据,以及确定获取哪些类型的监督数据。因此,方法还可以包括以下步骤S205至步骤S208:
步骤S205,构造问题分类体系;问题分类体系包括多个一级分类和与每一一级分类对应的多个二级分类;每一一级分类唯一对应一个一级分类标识,每一二级分类唯一对应一个二级分类标识。
步骤S206,在每得到一个监督数据时,确定监督数据对应的目标一级分类标识和目标二级分类标识;并将监督数据划分至问题分类体系中与目标二级分类标识对应的二级分类中。
步骤S207,通过划分后得到的问题分类体系,对监督数据进行类别平衡分析,得到类别平衡分析结果。
这里,类别平衡分析是指分析问题分类体系中不同类型的分类标识下的监督数据的数量是否平衡,也就是说,分析是否存在某一个或多个二级分类下的监督数据的数量,远大于或远小于其他某一个或多个二级分类下的监督数据的数量。
参见图6,图6示出了步骤S207可以通过以下步骤S2071至步骤S2074实现:
步骤S2071,获取每一一级分类对应的多个二级分类中每一二级分类中的监督数据的数量。
步骤S2072,对每一一级分类对应的全部二级分类中的监督数据的数量进行求和,得到相应一级分类的监督数据数量和。
这里,可以计算每一个一级分类的监督数据的数量和,由于一级分类下具有多个二级分类,因此,可以通过计算该多个二级分类下的全部的监督数据的数量,即对该多个二级分类中的监督数据的数量进行求和,即可计算出相应一级分类的监督数据数量和。
步骤S2073,确定全部一级分类的监督数据数量和之间的比值。
步骤S2074,基于比值对全部监督数据进行类别平衡分析,得到类别平衡分析结果。
这里,类别平衡分析结果包括:全部一级分类的类别平衡和全部一级分类的类别不平衡。
步骤S208,基于类别平衡分析结果,更新问题分类体系。
参见图7,图7示出了步骤S208可以通过以下步骤S2081至步骤S2085实现:
步骤S2081,响应于类别平衡分析结果为类别不平衡,基于比值确定待扩充数量的目标一级分类。
本申请实施例中,当全部一级分类的类别不平衡时,将具有最小比值的一级分类确定为待扩充数量的目标一级分类。
步骤S2082,获取目标一级分类对应的多个目标二级分类和每一目标二级分类下的监督数据的数量。
步骤S2083,基于每一目标二级分类下的监督数据的数量,确定待扩充数量的目标二级分类。
这里,可以将具有最少监督数据数量的目标二级分类确定为待扩充数量的目标二级分类,或者,将监督数据的数量小于特定数量阈值的目标二级分类确定为待扩充数量的目标二级分类。
步骤S2084,获取待扩充数量的目标二级分类下的新的监督数据。
这里,新的监督数据是指与该目标二级分类具有相同类别的监督数据。
步骤S2085,通过新的监督数据更新问题分类体系。
本申请实施例中,在得到新的监督数据之后,可以将新的监督数据添加至问题分类体系中的相应的二级分类中。
在一些实施例中,弱监督数据是指基于人工智能技术,通过开源的大型生成语言模型生成的样本问题和样本拆解问题,本申请实施例还提供一种上述弱监督数据的获取方法,图8是本申请实施例提供的弱监督数据的获取方法的流程示意图,如图8所示,方法包括以下步骤S301至步骤S303:
步骤S301,获取第一原始问题和与第一原始问题对应的至少一个要求信息。
这里,第一原始问题可以是任意的具有一定复杂度和通顺性的待解答问题。要求信息是指要求零样本学习模型对第一原始问题进行问题拆解时,需要满足的约束条件。举例来说,要求信息可以是“要求拆解出回答这个问题的知识点,围绕这些知识点构造子问题”、“拆解出来的子问题,需要简洁精炼(尽量不超过15个字),让搜索引擎容易理解”、“拆解出来的子问题,不能超过3条”、“拆解出来的子问题,不能有指代依赖,不能有语义的重复”等。
要求信息可以是预先人工定义的信息,可以在获取第一原始问题时,同第一原始问题一起输入至零样本学习模型中。
步骤S302,将第一原始问题和至少一个要求信息输入至零样本学习模型中,通过零样本学习模型基于至少一个要求信息对第一原始问题进行问题拆解,得到多个第一拆解子问题。
本申请实施例中,零样本学习模型对第一原始问题进行问题拆解时,是按照要求信息来进行,也就是说,问题拆解过程以及问题拆解后得到的多个第一拆解子问题,需要符合要求信息对应的约束条件。
在一些实施例中,零样本学习模型可以是基于零样本(zero-shot)技术实现语言构造能力的大型生成语言模型。
步骤S303,将第一原始问题与多个第一拆解子问题确定为弱监督数据。
本申请实施例中,在得到第一拆解子问题之后,第一原始问题构成弱监督数据中的样本问题,第一拆解子问题构成弱监督数据中的样本拆解问题。样本问题和样本拆解问题组合后构成一条弱监督数据。
请继续参见图8,在另一些实施例中,弱监督数据的获取方法还可以包括以下步骤S304至步骤S307,步骤S304至步骤S307示出了另一种构造弱监督数据的方法:
步骤S304,获取第二原始问题和第二原始问题的问题类型。
这里,第二原始问题也可以是任意的具有一定复杂度和通顺性的待解答问题。第二原始问题可以是问题分类体系中的任一二级分类中的一个问题。在获取到第二原始问题之后,可以从问题分类体系中查询该第二原始问题的问题类型。在查询的过程中,可以首先确定该第二原始问题属于哪一二级分类,然后获取该二级分类对应的问题类型,将该问题类型确定为第二原始问题的问题类型。
步骤S305,基于问题类型,获取与第二原始问题具有相同类型的至少一个参考问题。
这里,参考问题是与第二原始问题具有相同问题类型的问题。本申请实施例中,可以从预先构建的问题分类体系中获取与第二原始问题具有相同类型的至少一个参考问题。
在一些实施例中,可以通过以下方式获取参考问题:首先,获取预先构造的问题分类体系;问题分类体系包括多个一级分类和与每一一级分类对应的多个二级分类;每一二级分类对应一个二级分类标识;然后,基于第二原始问题的问题类型查询问题分类体系,得到与第二原始问题的问题类型对应的二级分类标识;最后,从二级分类标识对应的二级分类中获取至少一个问题,并将获取的问题确定为参考问题。也就是说,可以查询问题分类体系,得到该第二原始问题所属的二级分类,然后,在该二级分类中获取至少一个问题作为第二原始问题的参考问题。这样,由于是从预先构建的问题分类体系中查询参考问题,而每一二级分类中存储的多个问题具有相同的问题类型,因此,能够保证所获取的参考问题的问题类型与第二原始问题的问题类型相同。
步骤S306,将第二原始问题和至少一个参考问题输入至少样本学习模型中,通过少样本学习模型基于至少一个参考问题对第二原始问题进行问题拆解,得到多个第二拆解子问题。
本申请实施例中,少样本学习模型对第二原始问题进行问题拆解时,是按照参考问题来进行拆解学习,从而按照与参考问题相同的拆解方式,对第二原始问题进行问题拆解,也就是说,问题拆解过程学习和参考了参考问题的拆解方式。
在一些实施例中,少样本学习模型可以是基于少样本(few-shot)技术实现语言构造能力的大型生成语言模型。
步骤S307,将第二原始问题与多个第二拆解子问题确定为弱监督数据。
本申请实施例中,在得到第二拆解子问题之后,第二原始问题构成弱监督数据中的样本问题,第二拆解子问题构成弱监督数据中的样本拆解问题。样本问题和样本拆解问题组合后构成一条弱监督数据。
基于上述实施例,本申请实施例再提供一种问题拆解模型的训练方法,图9是本申请实施例提供的问题拆解模型的训练方法的流程示意图,问题拆解模型的训练方法可以通过模型训练模块来执行。其中,模型训练模块可以是问题解答设备(即电子设备)中的模块,即模型训练模块可以是服务器也可以是终端;或者,也可以是独立于问题解答设备的另一设备,即模型训练模块是区别于上述用于实现问题解答方法的服务器和终端之外的其他电子设备。如图9所示,方法包括以下步骤:
步骤S401,将由监督数据和弱监督数据构成的样本数据,输入至问题拆解模型中。
本申请实施例中,样本数据包括监督数据和弱监督数据,监督数据与弱监督数据混合之后,同时用于对问题拆解模型进行训练。
需要说明的是,监督数据和弱监督数据中均包括样本问题和样本拆解问题,样本拆解问题是对样本问题进行问题拆解之后得到的子问题,样本拆解问题的数量为一个或多个。
步骤S402,通过问题拆解模型的编码器对样本数据进行数据编码处理,得到文本编码向量。
本申请实施例中,问题拆解模型可以使用大型生成式语言模型,该大型生成式语言模型可以是遵循GPT架构的语言模型。在一些实施例中,大型生成式语言模型还可以是具有预训练参数版本的语言模型,预训练参数的参数量级从十亿级别到千亿级别不等。这样,可以基于具有预训练参数版本的语言模型中的预训练参数,采用本申请实施例的监督数据和弱监督数据,对大型生成式语言模型进行高效的训练。
在一些实施例中,GPT架构的语言模型的基础结构单元可以是transformer模块,transformer模块主要包含编码器(encoder)和解码器(decoder)两部分。本申请实施例中,可以通过编码器对样本数据进行数据编码处理,得到文本编码向量。
步骤S403,通过问题拆解模型的解码器对文本编码向量进行解码处理,得到样本数据中的样本问题对应的多个样本子问题。
本申请实施例中,可以通过问题拆解模型(即一种GPT架构的语言模型)中的transformer模块的解码器对文本编码向量进行解码处理,得到样本数据中的样本问题对应的多个样本子问题。
步骤S404,基于样本数据中的标注子问题,对多个样本子问题进行自动摘要评价,得到问题拆解模型在不同自动摘要评价指标下的评价值。
这里,在得到多个样本子问题之后,可以基于样本数据中的标注子问题,对多个样本子问题进行自动摘要评价。自动摘要评价是指在不同自动摘要评价指标下,评估问题拆解后得到的样本子问题与样本数据中的标注子问题之间的差异,从而得到相应的分值,以衡量问题拆解后得到的样本子问题与样本数据中的标注子问题之间的“相似度”。
本申请实施例中,不同自动摘要评价指标可以包括ROUGE-N和ROUGE-L指标,其中ROUGE(Recall-Oriented Understudy for Gisting Evaluation)是评估自动文摘以及机器翻译的一组指标。
步骤S405,基于评价值对问题拆解模型中的模型参数进行修正,得到训练后的问题拆解模型。
本申请实施例提供的问题拆解模型的训练方法,基于预先构建的监督数据和弱监督数据,对问题拆解模型进行训练,由于监督数据和弱监督数据的构造成本较低,因此,降低了整个问题拆解模型的训练成本;并且,通过大量的弱监督数据来对问题拆解模型进行微调(因为问题拆解模型可以是具有预训练参数版本的语言模型),从而解决few-shot样本跨类别失效问题,进而使得训练后的问题拆解模型能够实现对任意问题类型的待解答问题进行准确的问题拆解。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
随着ChatGPT的技术革新,国内外越来越多的企业和院校开展ChatGPT类项目的探索,大部分模型算法的使用上都会存在着事实错误和事实捏造,缺乏依据的逻辑或事实错误,丰富度和条理性不足等问题,容易给用户造成误导。
解决上述问题的一种简单手段是通过思维链。传统的答案生成模型,答案生成过程是端到端生成答案,思维链的方式是将问题的推理过程分解成一系列相关的子问题或子主题,这些子问题或子主题应该是有逻辑关系的,通过解决一些列子问题或子主题,并按照逻辑串联,即可获取最终答案,如图10所示,是传统的答案生成模型和思维链的工作方式示意图。在ChatGPT中,通过小样本(few-shot)的形式,将思维链的逻辑推理过程放到答案中,提示模型按照few-shot指定的模式来输出推理过程,而不仅仅是最终答案。实验表明思维链提示使大型语言模型能够处理复杂的算术、常识和符号推理任务。
另外一种手段是通过搜索引擎结果来提升推理准确性。通过搜索引擎对用户问题进行检索,找到有事实依据的文章和片段等搜索结果,在回答问题时,让模型根据搜索结果进行生成,并且生成的答案如果来自于搜索的某篇文章,需要带上该文章的参考引用;用此方式大大增加了ChatGPT答案的可信度,如图11所示,是相关技术中通过模型根据搜索结果进行生成的self-ask工作方式流程图。或者,通过few-shot形式提示模型按照问题指定形式进行作答。在问题提示中将复杂问题或推理类问题自行分解成若干子问题,该过程类似思维链的问题过程拆解,通过让模型回复这些子问题即可获得最终的答案;其中,每个子问题需要模型自行拆解,每个子问题的答案需要通过搜索引擎来获取答案,如从搜索引擎在线应用程序编程接口(API,Application Programming Interface)获取特征片段,或从搜索引擎中获取位于最首位的问答答案等。通过多轮的中间问题生成以及与搜索引擎的交互,获得所有子问题和相关的答案后,通过ChatGPT模型进行最终的推理生成,获取最终的答案。整体过程逻辑同思维链类似,但是是通过拆解问题,显式地一步一步推理来获取答案,且每一步推理都通过搜索引擎找到可信的答案,如图12所示,是相关技术中模型根据搜索结果进行生成的self-ask结合搜索引擎的工作方式流程图。
然而,思维链的方案至少存在以下问题:微调模型方式的思维链方案,需要构造大批量带有推理过程的样本,构造难度大,人工成本高;few-shot方式的思维链方案,需要保证参考样例和当前问题分布一致、类别一致、推理过程类似,一旦遇到跨类别样本问题,输出效果会很差;依靠模型自身进行推理,无显式拆解过程,容易造成思维链错误。而self-ask拆解存在的问题是:同样面临类似思维链一样的痛点,需要通过few-shot的方式,同样需要保持类别和分布一致性,仍然面临样本构造问题;另外,串行耗时较大,整个子问题拆解和回答过程均为串行,耗时较长;且当自身模型较大时,整体计算量过大,无法独立进行问题拆解子任务。
基于此,本申请实施例要解决的关键问题在于:
第一,小成本构造样本:通过样本问题工程(prompt工程),选取优质样本问题,通过少量人工精标类别数据+拆解数据,同时请求ChatGPT API获取大量弱监督数据,小成本构造问题拆解样本。第二,通过大量弱监督数据微调,解决few-shot样本跨类别失效问题:通过ChatGPT API获取弱监督数据作为样本数据后,使用开源大型语言模型(LLM,LargeLanguage Model)微调,可以解决任一问题类型的问题拆解任务。第三,整体运行可并行:问题独立小模型拆解,拆解后子问题答案获取过程可并行,资源消耗小。
本申请实施例的问题解答方法能应用到大部分基于ChatGPT类项目中,例如基于LLM的搜索系统、基于LLM的聊天机器人(chatbot)系统、基于LLM的语音聊天系统等。
本申请实施例可以帮助上述系统,实现用户问题需要外部知识增强或复杂问题需要拆解后推理解决的情况。在这些情况下,本申请实施例可以将用户问题拆解成多个独立知识点的子问题,通过回答多个子问题,最终汇总成完整答案,提升答案准确性,降低大模型端到端推理导致的事实错误和事实捏造问题。同时,提升答案丰富度和条理性,提升用户体验。
图13是本申请实施例提供的问题解答方法的系统框架图,如图13所示,整个问题拆解系统131的主要作用是将复杂问题130(Prompt)做拆分和改写,拆解成若干简单独立的查询词(Query),提供到下游搜索引擎132进行检索。搜索引擎132将检索到的资料输入到问答模型133(例如,可以是GPT语言模型)作为参考,提升问答模型133回答问题的精准度和时效性。整个问题拆解系统131可以划分成三层:预处理层1311、模型层1312和后处理层1313,下面分别进行介绍。
对于预处理层1311,问题拆解系统131输入的是用户的问题(对应上述待解答问题),该问题可以是用户生成内容(UGC,User Generated Content),即用户原创内容,而UGC数据存在大量的噪声,例如,错别字、歧义,以及多轮对话带来的指代消解问题。此外,针对一些不适合进行拆解的问题,如涉及安全和低俗的问题,预处理模块也需要具备拒绝识别的能力。
对于模型层1312,该层主要承担问题拆解的工作,通过借助大型生成式语言模型的能力,可以将复杂问题拆解成若干“简单子问题”。例如,问题“本人某末流211大学,英语水平一般,准备食品考研,麻烦问一下A大学和B大学谁的考研难度低?”,可以拆解成两个查询词“A大学食品考研难度”和“B大学食品考研难度”。下文将从样本构造和模型训练两块介绍问题拆解的解决思路。
对于后处理层1313,后处理层主要对模型的输出结果做最终的清洗,提升精度。对于拆解出来的各个子问题中的重复问题,需要进行去重,从而减少下游搜索引擎的检索压力。对于一些表述有问题的子问题,可以通过过滤或者补全的方式进行结果完善。
下面对本申请实施例中的样本构造过程进行说明。其中,样本数据包括监督数据和弱监督数据。
对于监督数据的获取,可以通过人工标注,获取高质量的精标数据。此环节的关键点是,让标注的问题数据分布尽量的广泛以及具有代表性。本申请实施例引入了两大类数据进行标注,如表1所示。
表1
另外,为了刻画问题的数据分布合理性,本申请实施例还构造了问题分类体系,如图14所示,是本申请实施例提供的问题分类体系示意图,方便进行更多的数据挖掘和类别平衡的工作。本申请实施例共设计了8个大类和160个小类形成分类树体系,并在标注的时候,将问题划分到该体系中的某个叶子节点中。
对于弱监督数据的构造,考虑到互联网上已经有众多开源的千亿规模大型生成语言模型(例如,ChatGPT),本申请实施例可通过这些模型的zero-shot和few-shot的能力,构造问题拆解的弱监督数据。zero-shot是指在自然语言处理中,模型可以在没有接受过特定任务的训练数据的情况下,对该任务进行预测或执行。这意味着模型可以在没有事先接受过特定任务的训练的情况下,对新的任务进行处理,而不需要重新训练或微调模型。这种能力是由于模型在训练过程中学习到了通用的语言表示和语义知识,使得模型可以推广到新的任务和领域。但是zero-shot的关键在于问题的设计,本申请实施例对比了多种不同的问题,并分别作了人工评估。表2是本申请实施例基于zero-shot技术对比不同问题的效果说明。
表2
此外,本申请实施例也进行了few-shot的探索,相对zero-shot技术,few-shot需要在问题中提供若干的样例数据(即参考问题),让模型能够准确地识别需求。在few-shot学习中,样例的选择非常重要,因为问题的复杂度有限,所以本申请实施例需要选择跟当前问题类似的问题进行样例构造,以达到更好的few-shot预测的效果。在上文获取监督数据中,已经进行了问题类型标注,对于同类型的问题,问题拆解思路往往类似。因此,本申请实施例可以通过利用同类的问题作为few-shot的样例。如图15所示,是本申请实施例提供的基于few-shot技术构造弱监督数据的示意图,其中,图15中文本151即参考问题,基于few-shot技术构造弱监督数据就是基于输入的参考问题构造与该参考问题属于相同类型的新的问题。如图15所示,当用户问“理解解析”类的问题时,few-shot使用的参考问题都是“理解解析”类的问题;当用户问“推荐”类问题时,few-shot使用的参考问题都是“推荐”类问题。
下面对问题拆解系统中的模型层中的模型的训练过程进行说明。
由于问题拆解任务属于文本生成的问题,需要使用文本生成模型进行建模。目前效果较好的大型生成式语言模型,基本上遵循的都是GPT的架构,且涌现了许多预训练参数版本,参数量级从十亿级别到千亿级别不等。GPT的基础结构单元是transformer模块,主要包含编码器(encoder)和解码器(decoder)两部分。
图16是本申请实施例提供的transformer模型结构示意图,其中,编码器为双向attention,提供给对源语言的理解能力;解码器为单向attention,保证只看到前文,逐字生成目标语言。图17是GPT模型演进示意图,GPT模型是基于transformer的解码器构建的语言模型,共演进了3个版本:GPT1、GPT2和GPT3。GPT3相对前面的版本,除了训练语料规模和模型参数的增加,还在模型结构上做了一些微调,即将transformer-decoder中稠密的attention机制改成稀疏attention的形式,以加速模型训练。本申请实施例的问题拆解系统使用基于GPT模块构建的TEG-HY-6.7B模型和开源Bloom_6.7B模型进行实验对比。
在实验指标方面,主要使用生成模型中常见的ROUGE-N和ROUGE-L指标。但是,由于自然语言的多样性,机器评价指标只能作为一个模型稳定性的参考,最终实验效果依然需要人工评估生成的精度。图18是本申请实施例的问题拆解系统所使用不同模型的实验效果对比图,表3是问题拆解系统所使用不同模型的版本介绍。
表3
在问题拆解系统中的模型层所使用的生成模型的微调过程中,本申请实施例也对比了不同问题的效果,参见以下表4。
表4
从表4可以看出,通过对问题进行改进,在TEG_GPT_6.7B和BLoom_6.7B模型下,都有不同程度的精度提升。有效说明了采用更符合模型表达习惯的问题方式,能够让模型在微调过程中训练得更好。
基于以上实施例,本申请实施例将问题拆解系统上线,有效增强了下游问答系统的回答效果。整体来看,问答系统在加入问题拆解系统对应的问题拆解模块后,主要有两个好处:答案丰富度更高,且答案组织更有条理。
对于答案丰富度提升,可以参见图19,图19是本申请实施例提供的无问题拆解和有问题拆解的答复丰富度对比图,可以看出,有问题拆解时的答案丰富度相对于无问题拆解时的答复丰富度更高。
对于答案条理性提升,可以参见图20,图20是本申请实施例提供的无问题拆解和有问题拆解的答案条理性对比图,可以看出,有问题拆解时的答案条理性相对于无问题拆解时的答案条理性更高。
可以理解的是,在本申请实施例中,涉及到用户信息的内容,例如,用户的待解答问题,以及待解答问题的解答结果等信息,如果涉及与用户信息或企业信息相关的数据,当本申请实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据收集处理在实例应用时应该严格根据相关国家法律法规的要求,获取个人信息主体的知情同意或单独同意,并在法律法规及个人信息主体的授权范围内,开展后续数据使用及处理行为。
下面继续说明本申请实施例提供的问题解答装置354实施为软件模块的示例性结构,在一些实施例中,如图2所示,问题解答装置354包括:获取模块3541,用于获取待解答问题;所述待解答问题的问题复杂度大于复杂度阈值;问题拆解模块3542,用于通过预先训练的问题拆解模型对所述待解答问题进行问题拆解,得到所述待解答问题对应的多个子问题;其中,所述问题拆解模型是采用第一数量的监督数据和第二数量的弱监督数据作为样本数据进行训练后得到的模型;所述第一数量小于所述第二数量,且所述第一数量与所述第二数量之间具有特定比例;查询模块3542,用于通过搜索引擎对每一所述子问题进行查询,得到所述多个子问题对应的参考信息集合;问题解答模块3544,用于将所述待解答问题和所述参考信息集合输入至预设的自然语言处理模型中,通过所述自然语言处理模型基于所述参考信息集合中的参考信息,对所述待解答问题进行解答,得到所述待解答问题的解答结果。
在一些实施例中,所述装置还包括:监督数据获取模块,用于获取多个第一类问题文本和多个第二类问题文本;所述第一类问题文本与所述第二类问题文本的数据来源不同;获取预设的筛选阈值;基于所述筛选阈值,对所述多个第一类问题文本和所述多个第二类问题文本进行数据筛选,得到筛选后的第一类问题文本和筛选后的第二类问题文本;将所述筛选后的第一类问题文本和筛选后的第二类问题文本,确定为所述监督数据。
在一些实施例中,所述筛选阈值包括:文本复杂度阈值和交互频次阈值;所述监督数据获取模块还用于:按照所述文本复杂度阈值,对所述多个第一类问题文本和所述多个第二类问题文本进行复杂度筛选,得到复杂度筛选后的至少一个第一类问题文本和复杂度筛选后的至少一个第二类问题文本;按照所述交互频次阈值,对所述复杂度筛选后的至少一个第一类问题文本进行交互频次筛选,得到交互频次筛选后的第一类问题文本;对所述复杂度筛选后的至少一个第二类问题文本进行表述筛选,得到表述筛选后的第二类问题文本;将所述交互频次筛选后的第一类问题文本,确定为所述筛选后的第一类问题文本;将所述表述筛选后的第二类问题文本,确定为所述筛选后的第二类问题文本。
在一些实施例中,所述装置还包括:问题分类体系构造模块,用于构造问题分类体系;所述问题分类体系包括多个一级分类和与每一所述一级分类对应的多个二级分类;每一所述二级分类对应一个二级分类标识;在每得到一个监督数据时,确定所述监督数据对应的目标一级分类标识和目标二级分类标识;并将所述监督数据划分至所述问题分类体系中与所述目标二级分类标识对应的二级分类中;通过划分后得到的所述问题分类体系,对所述监督数据进行类别平衡分析,得到类别平衡分析结果;基于所述类别平衡分析结果,更新所述问题分类体系。
在一些实施例中,所述问题分类体系构造模块还用于:获取每一所述一级分类对应的多个二级分类中每一二级分类中的监督数据的数量;对每一所述一级分类对应的全部二级分类中的监督数据的数量进行求和,得到相应一级分类的监督数据数量和;确定全部一级分类的监督数据数量和之间的比值;基于所述比值对全部监督数据进行类别平衡分析,得到类别平衡分析结果;其中,所述类别平衡分析结果包括:全部一级分类的类别平衡和全部一级分类的类别不平衡。
在一些实施例中,所述问题分类体系构造模块还用于:响应于所述类别平衡分析结果为所述类别不平衡,基于所述比值确定待扩充数量的目标一级分类;获取所述目标一级分类对应的多个目标二级分类和每一所述目标二级分类下的监督数据的数量;基于每一所述目标二级分类下的监督数据的数量,确定待扩充数量的目标二级分类;获取所述待扩充数量的目标二级分类下的新的监督数据;通过所述新的监督数据更新所述问题分类体系。
在一些实施例中,所述装置还包括:第一弱监督数据获取模块,用于获取第一原始问题和与所述第一原始问题对应的至少一个要求信息;将所述第一原始问题和所述至少一个要求信息输入至零样本学习模型中,通过所述零样本学习模型基于所述至少一个要求信息对所述第一原始问题进行问题拆解,得到多个第一拆解子问题;将所述第一原始问题与所述多个第一拆解子问题确定为所述弱监督数据。
在一些实施例中,所述装置还包括:第二弱监督数据获取模块,用于获取第二原始问题和所述第二原始问题的问题类型;基于所述问题类型,获取与所述第二原始问题具有相同类型的至少一个参考问题;将所述第二原始问题和所述至少一个参考问题输入至少样本学习模型中,通过所述少样本学习模型基于所述至少一个参考问题对所述第二原始问题进行问题拆解,得到多个第二拆解子问题;将所述第二原始问题与所述多个第二拆解子问题确定为所述弱监督数据。
在一些实施例中,所述第二弱监督数据获取模块还用于:获取预先构造的问题分类体系;所述问题分类体系包括多个一级分类和与每一所述一级分类对应的多个二级分类;每一所述二级分类对应一个二级分类标识;基于所述第二原始问题的问题类型查询所述问题分类体系,得到与所述第二原始问题的问题类型对应的二级分类标识;从所述二级分类标识对应的二级分类中获取至少一个问题,并将获取的问题确定为所述参考问题。
在一些实施例中,所述装置还包括:模块训练模块,用于通过以下方式训练所述问题拆解模型:将由所述监督数据和所述弱监督数据构成的样本数据,输入至所述问题拆解模型中;通过所述问题拆解模型的编码器对所述样本数据进行数据编码处理,得到文本编码向量;通过所述问题拆解模型的解码器对所述文本编码向量进行解码处理,得到所述样本数据中的样本问题对应的多个样本子问题;基于所述样本数据中的标注子问题,对所述多个样本子问题进行自动摘要评价,得到所述问题拆解模型在不同自动摘要评价指标下的评价值;基于所述评价值对所述问题拆解模型中的模型参数进行修正,得到训练后的问题拆解模型。
在一些实施例中,所述查询模块还用于:获取每一所述子问题中的查询词;将每一所述子问题的查询词输入至所述搜索引擎,通过所述搜索引擎查询每一所述查询词,得到相应子问题对应的参考信息;对全部子问题对应的参考信息进行汇总,得到所述参考信息集合。
在一些实施例中,所述装置还包括:问题预处理模块,用于在获取到所述待解答问题之后,对所述待解答问题进行问题预处理,得到预处理后的待解答问题;并将所述预处理后的待解答问题输入至所述问题拆解模型中,通过所述问题拆解模型对所述预处理后的待解答问题进行问题拆解,得到所述多个子问题;问题后处理模块,用于在得到所述多个子问题之后,对所述多个子问题进行问题后处理,得到后处理后的多个子问题;并将所述后处理后的多个子问题输入中所述搜索引擎中。
需要说明的是,本申请实施例装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
本申请实施例提供了一种计算机程序产品,该计算机程序产品包括可执行指令,该可执行指令是一种计算机指令;该可执行指令存储在计算机可读存储介质中。当电子设备的处理器从计算机可读存储介质读取该可执行指令,处理器执行该可执行指令时,使得该电子设备执行本申请实施例上述的方法。
本申请实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图3示出的方法。
在一些实施例中,存储介质可以是计算机可读存储介质,例如,铁电存储器(FRAM,Ferromagnetic Random Access Memory)、只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read Only Memory)、带电可擦可编程只读存储器(EEPROM,Electrically Erasable Programmable Read Only Memory)、闪存、磁表面存储器、光盘、或光盘只读存储器(CD-ROM,Compact Disk-Read Only Memory)等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。作为示例,可执行指令可被部署为在一个电子设备上执行,或者在位于一个地点的多个电子设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个电子设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (15)
1.一种问题解答方法,其特征在于,所述方法包括:
获取待解答问题;所述待解答问题的问题复杂度大于复杂度阈值;
通过预先训练的问题拆解模型对所述待解答问题进行问题拆解,得到所述待解答问题对应的多个子问题;其中,所述问题拆解模型是采用第一数量的监督数据和第二数量的弱监督数据作为样本数据进行训练后得到的模型;所述第一数量小于所述第二数量,且所述第一数量与所述第二数量之间具有特定比例;
通过搜索引擎对每一所述子问题进行查询,得到所述多个子问题对应的参考信息集合;
将所述待解答问题和所述参考信息集合输入至预设的自然语言处理模型中,通过所述自然语言处理模型基于所述参考信息集合中的参考信息,对所述待解答问题进行解答,得到所述待解答问题的解答结果。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:通过以下方式获取所述监督数据:
获取多个第一类问题文本和多个第二类问题文本;所述第一类问题文本与所述第二类问题文本的数据来源不同;
获取预设的筛选阈值;
基于所述筛选阈值,对所述多个第一类问题文本和所述多个第二类问题文本进行数据筛选,得到筛选后的第一类问题文本和筛选后的第二类问题文本;
将所述筛选后的第一类问题文本和筛选后的第二类问题文本,确定为所述监督数据。
3.根据权利要求2所述的方法,其特征在于,所述筛选阈值包括:文本复杂度阈值和交互频次阈值;
所述基于所述筛选阈值,对所述多个第一类问题文本和所述多个第二类问题文本进行数据筛选,得到筛选后的第一类问题文本和筛选后的第二类问题文本,包括:
按照所述文本复杂度阈值,对所述多个第一类问题文本和所述多个第二类问题文本进行复杂度筛选,得到复杂度筛选后的至少一个第一类问题文本和复杂度筛选后的至少一个第二类问题文本;
按照所述交互频次阈值,对所述复杂度筛选后的至少一个第一类问题文本进行交互频次筛选,得到交互频次筛选后的第一类问题文本;
对所述复杂度筛选后的至少一个第二类问题文本进行表述筛选,得到表述筛选后的第二类问题文本;
将所述交互频次筛选后的第一类问题文本,确定为所述筛选后的第一类问题文本;
将所述表述筛选后的第二类问题文本,确定为所述筛选后的第二类问题文本。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
构造问题分类体系;所述问题分类体系包括多个一级分类和与每一所述一级分类对应的多个二级分类;每一所述二级分类对应一个二级分类标识;
在每得到一个监督数据时,确定所述监督数据对应的目标一级分类标识和目标二级分类标识;并将所述监督数据划分至所述问题分类体系中与所述目标二级分类标识对应的二级分类中;
通过划分后得到的所述问题分类体系,对所述监督数据进行类别平衡分析,得到类别平衡分析结果;
基于所述类别平衡分析结果,更新所述问题分类体系。
5.根据权利要求4所述的方法,其特征在于,所述通过划分后得到的所述问题分类体系,对所述监督数据进行类别平衡分析,得到类别平衡分析结果,包括:
获取每一所述一级分类对应的多个二级分类中每一二级分类中的监督数据的数量;
对每一所述一级分类对应的全部二级分类中的监督数据的数量进行求和,得到相应一级分类的监督数据数量和;
确定全部一级分类的监督数据数量和之间的比值;
基于所述比值对全部监督数据进行类别平衡分析,得到类别平衡分析结果;其中,所述类别平衡分析结果包括:全部一级分类的类别平衡和全部一级分类的类别不平衡。
6.根据权利要求5所述的方法,其特征在于,所述基于所述类别平衡分析结果,更新所述问题分类体系,包括:
响应于所述类别平衡分析结果为所述类别不平衡,基于所述比值确定待扩充数量的目标一级分类;
获取所述目标一级分类对应的多个目标二级分类和每一所述目标二级分类下的监督数据的数量;
基于每一所述目标二级分类下的监督数据的数量,确定待扩充数量的目标二级分类;
获取所述待扩充数量的目标二级分类下的新的监督数据;
通过所述新的监督数据更新所述问题分类体系。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:通过以下方式获取所述弱监督数据:
获取第一原始问题和与所述第一原始问题对应的至少一个要求信息;
将所述第一原始问题和所述至少一个要求信息输入至零样本学习模型中,通过所述零样本学习模型基于所述至少一个要求信息对所述第一原始问题进行问题拆解,得到多个第一拆解子问题;
将所述第一原始问题与所述多个第一拆解子问题确定为所述弱监督数据。
8.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:通过以下方式获取所述弱监督数据:
获取第二原始问题和所述第二原始问题的问题类型;
基于所述问题类型,获取与所述第二原始问题具有相同类型的至少一个参考问题;
将所述第二原始问题和所述至少一个参考问题输入至少样本学习模型中,通过所述少样本学习模型基于所述至少一个参考问题对所述第二原始问题进行问题拆解,得到多个第二拆解子问题;
将所述第二原始问题与所述多个第二拆解子问题确定为所述弱监督数据。
9.根据权利要求8所述的方法,其特征在于,所述基于所述问题类型,获取与所述第二原始问题具有相同类型的至少一个参考问题,包括:
获取预先构造的问题分类体系;所述问题分类体系包括多个一级分类和与每一所述一级分类对应的多个二级分类;每一所述二级分类对应一个二级分类标识;
基于所述第二原始问题的问题类型查询所述问题分类体系,得到与所述第二原始问题的问题类型对应的二级分类标识;
从所述二级分类标识对应的二级分类中获取至少一个问题,并将获取的问题确定为所述参考问题。
10.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
通过以下方式训练所述问题拆解模型:
将由所述监督数据和所述弱监督数据构成的样本数据,输入至所述问题拆解模型中;
通过所述问题拆解模型的编码器对所述样本数据进行数据编码处理,得到文本编码向量;
通过所述问题拆解模型的解码器对所述文本编码向量进行解码处理,得到所述样本数据中的样本问题对应的多个样本子问题;
基于所述样本数据中的标注子问题,对所述多个样本子问题进行自动摘要评价,得到所述问题拆解模型在不同自动摘要评价指标下的评价值;
基于所述评价值对所述问题拆解模型中的模型参数进行修正,得到训练后的问题拆解模型。
11.根据权利要求1所述的方法,其特征在于,所述通过搜索引擎对每一所述子问题进行查询,得到所述多个子问题对应的参考信息集合,包括:
获取每一所述子问题中的查询词;
将每一所述子问题的查询词输入至所述搜索引擎,通过所述搜索引擎查询每一所述查询词,得到相应子问题对应的参考信息;
对全部子问题对应的参考信息进行汇总,得到所述参考信息集合。
12.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
在获取到所述待解答问题之后,对所述待解答问题进行问题预处理,得到预处理后的待解答问题;并将所述预处理后的待解答问题输入至所述问题拆解模型中,通过所述问题拆解模型对所述预处理后的待解答问题进行问题拆解,得到所述多个子问题;
在得到所述多个子问题之后,对所述多个子问题进行问题后处理,得到后处理后的多个子问题;并将所述后处理后的多个子问题输入中所述搜索引擎中。
13.一种问题解答装置,其特征在于,所述装置包括:
获取模块,用于获取待解答问题;所述待解答问题的问题复杂度大于复杂度阈值;
问题拆解模块,用于通过预先训练的问题拆解模型对所述待解答问题进行问题拆解,得到所述待解答问题对应的多个子问题;其中,所述问题拆解模型是采用第一数量的监督数据和第二数量的弱监督数据作为样本数据进行训练后得到的模型;所述第一数量小于所述第二数量,且所述第一数量与所述第二数量之间具有特定比例;
查询模块,用于通过搜索引擎对每一所述子问题进行查询,得到所述多个子问题对应的参考信息集合;
问题解答模块,用于将所述待解答问题和所述参考信息集合输入至预设的自然语言处理模型中,通过所述自然语言处理模型基于所述参考信息集合中的参考信息,对所述待解答问题进行解答,得到所述待解答问题的解答结果。
14.一种电子设备,其特征在于,包括:
存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至12任一项所述的问题解答方法。
15.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于引起处理器执行所述可执行指令时,实现权利要求1至12任一项所述的问题解答方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310525663.4A CN116244418B (zh) | 2023-05-11 | 2023-05-11 | 问题解答方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310525663.4A CN116244418B (zh) | 2023-05-11 | 2023-05-11 | 问题解答方法、装置、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116244418A true CN116244418A (zh) | 2023-06-09 |
CN116244418B CN116244418B (zh) | 2023-09-01 |
Family
ID=86628130
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310525663.4A Active CN116244418B (zh) | 2023-05-11 | 2023-05-11 | 问题解答方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116244418B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116737912A (zh) * | 2023-08-15 | 2023-09-12 | 北京中关村科金技术有限公司 | 复杂问题处理方法、装置、设备及介质 |
CN116824278A (zh) * | 2023-08-29 | 2023-09-29 | 腾讯科技(深圳)有限公司 | 图像内容分析方法、装置、设备和介质 |
CN117454142A (zh) * | 2023-12-26 | 2024-01-26 | 北京奇虎科技有限公司 | 数据生成方法、装置、存储介质以及电子设备 |
CN117453899A (zh) * | 2023-12-26 | 2024-01-26 | 浙江智港通科技有限公司 | 一种基于大模型的智能对话系统、方法与电子设备 |
CN117787421A (zh) * | 2024-02-23 | 2024-03-29 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 一种基于思维链确定问题答案的方法和装置、电子设备 |
CN117787421B (zh) * | 2024-02-23 | 2024-05-31 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 一种基于思维链确定问题答案的方法和装置、电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649868A (zh) * | 2016-12-30 | 2017-05-10 | 首都师范大学 | 问答匹配方法及装置 |
CN111814836A (zh) * | 2020-06-12 | 2020-10-23 | 武汉理工大学 | 基于类不平衡算法的车辆行驶行为检测方法及装置 |
CN113988064A (zh) * | 2021-11-19 | 2022-01-28 | 国网江苏省电力有限公司营销服务中心 | 一种半自动实体标注监督方法 |
CN115292466A (zh) * | 2022-08-09 | 2022-11-04 | 中国电信股份有限公司 | 问答系统实现方法、装置、设备、介质及程序 |
CN115797904A (zh) * | 2022-10-10 | 2023-03-14 | 浙江零跑科技股份有限公司 | 一种智能驾驶视觉感知中多场景多任务的主动学习方法 |
-
2023
- 2023-05-11 CN CN202310525663.4A patent/CN116244418B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649868A (zh) * | 2016-12-30 | 2017-05-10 | 首都师范大学 | 问答匹配方法及装置 |
CN111814836A (zh) * | 2020-06-12 | 2020-10-23 | 武汉理工大学 | 基于类不平衡算法的车辆行驶行为检测方法及装置 |
CN113988064A (zh) * | 2021-11-19 | 2022-01-28 | 国网江苏省电力有限公司营销服务中心 | 一种半自动实体标注监督方法 |
CN115292466A (zh) * | 2022-08-09 | 2022-11-04 | 中国电信股份有限公司 | 问答系统实现方法、装置、设备、介质及程序 |
CN115797904A (zh) * | 2022-10-10 | 2023-03-14 | 浙江零跑科技股份有限公司 | 一种智能驾驶视觉感知中多场景多任务的主动学习方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116737912A (zh) * | 2023-08-15 | 2023-09-12 | 北京中关村科金技术有限公司 | 复杂问题处理方法、装置、设备及介质 |
CN116737912B (zh) * | 2023-08-15 | 2023-10-20 | 北京中关村科金技术有限公司 | 复杂问题处理方法、装置、设备及介质 |
CN116824278A (zh) * | 2023-08-29 | 2023-09-29 | 腾讯科技(深圳)有限公司 | 图像内容分析方法、装置、设备和介质 |
CN116824278B (zh) * | 2023-08-29 | 2023-12-19 | 腾讯科技(深圳)有限公司 | 图像内容分析方法、装置、设备和介质 |
CN117454142A (zh) * | 2023-12-26 | 2024-01-26 | 北京奇虎科技有限公司 | 数据生成方法、装置、存储介质以及电子设备 |
CN117453899A (zh) * | 2023-12-26 | 2024-01-26 | 浙江智港通科技有限公司 | 一种基于大模型的智能对话系统、方法与电子设备 |
CN117453899B (zh) * | 2023-12-26 | 2024-03-29 | 浙江智港通科技有限公司 | 一种基于大模型的智能对话系统、方法与电子设备 |
CN117454142B (zh) * | 2023-12-26 | 2024-04-16 | 北京奇虎科技有限公司 | 数据生成方法、装置、存储介质以及电子设备 |
CN117787421A (zh) * | 2024-02-23 | 2024-03-29 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 一种基于思维链确定问题答案的方法和装置、电子设备 |
CN117787421B (zh) * | 2024-02-23 | 2024-05-31 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 一种基于思维链确定问题答案的方法和装置、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116244418B (zh) | 2023-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110692050B (zh) | 语义图中元关系的自适应评估 | |
CN116244418B (zh) | 问题解答方法、装置、电子设备及计算机可读存储介质 | |
Do et al. | Developing a BERT based triple classification model using knowledge graph embedding for question answering system | |
Cayoglu et al. | Report: The process model matching contest 2013 | |
CA2802887C (en) | Systems of computerized agents and user-directed semantic networking | |
WO2018200135A1 (en) | Intent-based organisation of apis | |
CN112106056A (zh) | 构造虚构的话语树来提高回答聚敛性问题的能力 | |
Pan et al. | Large language models and knowledge graphs: Opportunities and challenges | |
CN103440314A (zh) | 一种基于Ontology的语义检索方法 | |
US11797281B2 (en) | Multi-language source code search engine | |
US20230096118A1 (en) | Smart dataset collection system | |
Jiang et al. | Application intelligent search and recommendation system based on speech recognition technology | |
Cuzzola et al. | Evolutionary fine-tuning of automated semantic annotation systems | |
Paulheim | Machine learning with and for semantic web knowledge graphs | |
Simperl et al. | Combining human and computation intelligence: the case of data interlinking tools | |
Sarkar et al. | NLP algorithm based question and answering system | |
Di Pierro et al. | Lpg-based knowledge graphs: A survey, a proposal and current trends | |
Booshehri et al. | An ontology enrichment approach by using DBpedia | |
Jiang et al. | Development of an ontology-based semantic retrieval method for construction project risk management | |
Sadman et al. | ADCR: An Adaptive TOOL to select” Appropriate Developer for Code Review” based on Code Context | |
Lee et al. | Mining Stack Overflow for API class recommendation using DOC2VEC and LDA | |
Hyde et al. | Automated code generation by local search | |
WO2015140592A1 (en) | Repository and recommendation system for computer programs | |
Noura et al. | OntoSpect: IoT Ontology Inspection by Concept Extraction and Natural Language Generation | |
Jiang et al. | Ontology-based semantic retrieval for risk management of construction project |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40087302 Country of ref document: HK |