CN117992599A - 基于大语言模型的问答方法、装置及计算机设备 - Google Patents
基于大语言模型的问答方法、装置及计算机设备 Download PDFInfo
- Publication number
- CN117992599A CN117992599A CN202410409687.8A CN202410409687A CN117992599A CN 117992599 A CN117992599 A CN 117992599A CN 202410409687 A CN202410409687 A CN 202410409687A CN 117992599 A CN117992599 A CN 117992599A
- Authority
- CN
- China
- Prior art keywords
- question
- text
- prompt
- answer
- texts
- 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
- 238000000034 method Methods 0.000 title claims abstract description 201
- 230000008569 process Effects 0.000 claims abstract description 131
- 239000013598 vector Substances 0.000 claims description 91
- 239000012634 fragment Substances 0.000 claims description 43
- 238000012545 processing Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 16
- 230000015654 memory Effects 0.000 claims description 9
- 238000013473 artificial intelligence Methods 0.000 abstract description 14
- 230000000694 effects Effects 0.000 abstract description 10
- 230000000875 corresponding effect Effects 0.000 description 133
- 238000010276 construction Methods 0.000 description 17
- 238000012546 transfer Methods 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000003058 natural language processing Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000012549 training Methods 0.000 description 6
- 238000004140 cleaning Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008707 rearrangement Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013136 deep learning model Methods 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
- 238000010801 machine learning Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 208000024891 symptom Diseases 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种基于大语言模型的问答方法、装置及计算机设备,属于人工智能技术领域。所述方法包括:基于多个第一问题获取多个第二问题,采用不同的召回方式,分别获取每个第二问题的多个第一提示文本和多个第二提示文本。不同的召回方式具有不同的召回效果,从不同召回效果下的多个提示文本中,基于每个提示文本与第一问题之间的相关度,获取该第一问题的参考文本,能够获取到更加准确且与第一问题更加相关的参考文本。调用大语言模型对该准确性和相关性更高的参考文本进行处理,以得到第一问题的答案,能够提高大语言模型的准确性,从而使大语言模型输出的答案与第一问题更加相关。
Description
技术领域
本申请涉及人工智能技术领域,特别涉及一种基于大语言模型的问答方法、装置及计算机设备。
背景技术
在个人文档助手、企业知识库问答和客服应用等场景下,通常通过检索增强生成方式来使用大语言模型,以提高大语言模型所生成的答案的质量。其中,检索增强生成方式是指从外部知识库中获取与问题相关的信息,将该信息与问题组合成文本后,输入到大语言模型中,使大语言模型基于该问题和与该问题相关的信息生成答案。
由于用户对大语言模型所输出的答案的准确性以及答案与对应问题的相关性的要求不断提高,因此,亟需一种基于大语言模型的问答方法,以提高大语言模型的准确性,从而使大语言模型输出的答案与第一问题更加相关。
发明内容
本申请提供了一种基于大语言模型的问答方法、装置及计算机设备,用于提高大语言模型的准确性,从而使大语言模型输出的答案与第一问题更加相关。所述技术方案如下。
第一方面,提供了一种基于大语言模型的问答方法,该方法包括:基于第一问题和多个第一问答对,获取多个第二问题,第一问答对是用户在问答过程中位于第一问题之前的问答对,多个第二问题与第一问题语义相同但表达方式不同;针对多个第二问题,分别按照第一召回方式获取每个第二问题的多个第一提示文本,按照第二召回方式获取每个第二问题的多个第二提示文本,第一召回方式与第二召回方式不同;基于每个第一提示文本与第一问题之间的相关度以及每个第二提示文本与第一问题之间的相关度,从多个第二问题的多个第一提示文本和多个第二问题的多个第二提示文本中,获取第一问题的参考文本,相关度指示提示文本与问题之间的相关程度;调用大语言模型对第一问题、多个第一问答对和第一问题的参考文本进行处理,输出第一问题的答案。
本申请实施例提供的基于大语言模型的问答方法,基于多个第一问题获取多个第二问题,采用不同的召回方式,分别获取每个第二问题的多个第一提示文本和多个第二提示文本。不同的召回方式具有不同的召回效果,从不同召回效果下的多个提示文本中,基于每个提示文本与第一问题之间的相关度,获取该第一问题的参考文本,能够获取到更加准确且与第一问题更加相关的参考文本。调用大语言模型对该准确性和相关性更高的参考文本进行处理,以得到第一问题的答案,能够提高大语言模型的准确性,从而使大语言模型输出的答案与第一问题更加相关。
在一些实施例中,该基于第一问题和多个第一问答对,获取多个第二问题包括下述至少一项:基于目标语法结构,对第一问题进行调整;基于多个第一问答对,获取第一问题中的指代词所指代的对象,将第一问题中的指代词替换为对象;拼接第一问题和多个第一问答对中与第一问题相关的内容;调用大语言模型对第一问题和多个第一问答对进行处理。上述过程获取多个第二问题,后续根据该多个第二问题召回提示文本,与只根据第一问题召回提示文本相比,能够召回更多的提示文本。
在一些实施例中,该按照第一召回方式获取每个第二问题的多个第一提示文本包括:对于任一第二问题,针对第一知识库中的任一第一文本,若第一文本包含第二问题,则获取第二问题在第一文本中的重要度,重要度指示第二问题在第一文本中的重要程度;将第一知识库中重要度最大的第一数量的第一文本作为第二问题的多个第一提示文本。由于该重要度指示第二问题在第一文本中的重要程度,因此,根据该重要度获取多个第一提示文本,能够提高第一提示文本与第二问题之间的相关性。
在一些实施例中,该按照第二召回方式获取每个第二问题的多个第二提示文本包括:对于任一第二问题,针对第二知识库中的任一第二文本,获取第二文本与第二问题之间的相似度,相似度指示第二问题对应的向量与第二文本对应的向量之间的相似程度;将第二知识库中相似度最大的第二数量的第二文本作为第二问题的多个第二提示文本。由于相似度指示第二问题对应的向量与第二文本对应的向量之间的相似程度,因此,根据该相似度获取多个第二提示文本,能够提高第二提示文本与第二问题之间的相关性。
在一些实施例中,该基于每个第一提示文本与第一问题之间的相关度以及每个第二提示文本与第一问题之间的相关度,从多个第二问题的多个第一提示文本和多个第二问题的多个第二提示文本中,获取第一问题的参考文本包括:基于每个第一提示文本与第一问题之间的相关度以及每个第二提示文本与第一问题之间的相关度,从多个第二问题的多个第一提示文本中获取第一问题的至少一个第三提示文本,从多个第二问题的多个第二提示文本中获取第一问题的至少一个第四提示文本;基于第一问题的至少一个第三提示文本和第一问题的至少一个第四提示文本,获取参考文本。上述过程从与第二问题相关的多个提示文本中,基于这多个提示文本与第一问题的相关度,获取与第一问题之间的相关度较大的多个提示文本。由于上述第二问题本身就与第一问题相关,因此,与第二问题相关的多个提示文本本身就与第一问题相关,而通过上述过程,能够进一步提高提示文本与第一问题之间的相关性。
在一些实施例中,每个第一提示文本与第一问题之间的相关度的获取过程包括:针对任一第一提示文本,将第一提示文本的来源对应的权重获取为第一提示文本的重要度的权重;基于第一提示文本的重要度和第一提示文本的重要度的权重,获取第一提示文本与第一问题之间的相关度。由于在不同的业务需求下,不同来源的第一提示文本的可信度不同,因此,根据第一提示文本的来源获取第一提示文本的重要度对应的权重,能够使第一提示文本更加符合业务需求。
在一些实施例中,该每个第二提示文本与第一问题之间的相关度的获取过程包括:针对任一第二提示文本,将第二提示文本的来源对应的权重获取为第二提示文本的相似度的权重;基于第二提示文本的相似度和第二提示文本的相似度的权重,获取第二提示文本与第一问题之间的相关度。由于在不同的业务需求下,不同来源的第二提示文本的可信度不同,因此,根据第二提示文本的来源获取第二提示文本的相似度对应的权重,能够使第二提示文本更加符合业务需求。
在一些实施例中,该基于第一问题的至少一个第三提示文本和第一问题的至少一个第四提示文本,获取参考文本包括:将第一问题的至少一个第三提示文本和第一问题的至少一个第四提示文本拼接为参考文本;或,调用大语言模型对第一问题的至少一个第三提示文本和第一问题的至少一个第四提示文本进行处理,得到第一问题的至少一个第五提示文本;将第一问题的至少一个第五提示文本拼接为参考文本。
在一些实施例中,该第一文本的获取过程包括:获取多个第一原始文本;针对每个第一原始文本,获取第一原始文本的标题结构,标题结构指示第一原始文本内所包含的标题以及标题之间的关系;针对每个第一原始文本中的多个文本段,获取每个文本段的关键词;针对每个文本段,组合文本段、文本段的关键词和文本段所属的标题,得到文本段对应的第一文本。上述过程除了获取第一原始文本的文本段外,还获取了每个文本段的关键词和该文本段所属的标题,能够为后续的召回提供更多信息,从而提高提示文本的准确性和相关性。每个文本段的关键词和该文本段所属的标题可以统称为该文本段的元数据。
在一些实施例中,该获取多个第一原始文本包括:获取多个第二问答对,多个第二问答对是不同用户的问答过程中的问答对;调用大语言模型对多个第二问答对进行处理,得到第一原始文本。
在一些实施例中,该第二文本的获取过程包括:获取多个第二原始文本;针对每个第二原始文本中的多个问答片段,获取每个问答片段的主要问题、主要问题对应的答案和主要问题对应的向量,问答片段包括多个第三问答对,多个第三问答对是不同用户的问答过程中的问答对,主要问题指示问答片段的询问意图;针对每个问答片段,组合问答片段、问答片段的主要问题、主要问题对应的答案和主要问题对应的向量,得到问答片段对应的第二文本。上述过程提取了问答片段中的主要问题,在后续召回过程中第二问题只需和该主要问题进行比对即可,与第二问题和整个问答片段进行比对相比,能够提高召回的效率。
在一些实施例中,该获取每个问答片段的主要问题包括:针对每个问答片段,调用大语言模型对问答片段进行处理,得到问答片段的主要问题。
在一些实施例中,该方法还包括:基于第一问题和多个第一问答对,获取第一问题的类别;按照第二召回方式获取每个第二问题的多个第二提示文本包括:对于任一第二问题,针对第二知识库中与第一问题的类别相符的任一第二文本,获取第二文本与第二问题之间的相似度,相似度指示第二问题对应的向量与第二文本对应的向量之间的相似程度;将第二知识库中相似度最大的第二数量的第二文本作为第二问题的多个第二提示文本。上述过程先获取第一问题的类别,再从与第一问题的类别相符的第二文本中获取第二提示文本,与从第二知识库的所有第二文本中获取第二提示文本相比,能够提高获取第二提示文本的效率,还能提高第二提示文本与第一问题的相关性。
第二方面,提供了一种基于大语言模型的问答装置,该装置包括:问题获取模块,用于基于第一问题和多个第一问答对,获取多个第二问题,第一问答对是用户在问答过程中位于第一问题之前的问答对,多个第二问题与第一问题语义相同但表达方式不同;提示文本获取模块,用于针对多个第二问题,分别按照第一召回方式获取每个第二问题的多个第一提示文本,按照第二召回方式获取每个第二问题的多个第二提示文本,第一召回方式与第二召回方式不同;参考文本获取模块,用于基于每个第一提示文本与第一问题之间的相关度以及每个第二提示文本与第一问题之间的相关度,从多个第二问题的多个第一提示文本和多个第二问题的多个第二提示文本中,获取第一问题的参考文本,相关度指示提示文本与问题之间的相关程度;答案获取模块,用于调用大语言模型对第一问题、多个第一问答对和第一问题的参考文本进行处理,输出第一问题的答案。
在一些实施例中,该问题获取模块用于执行下述至少一项:基于目标语法结构,对第一问题进行调整;基于多个第一问答对,获取第一问题中的指代词所指代的对象,将第一问题中的指代词替换为对象;拼接第一问题和多个第一问答对中与第一问题相关的内容;调用大语言模型对第一问题和多个第一问答对进行处理。
在一些实施例中,该提示文本获取模块包括:重要度获取单元,用于对于任一第二问题,针对第一知识库中的任一第一文本,若第一文本包含第二问题,则获取第二问题在第一文本中的重要度,重要度指示第二问题在第一文本中的重要程度;第一提示文本获取单元,用于将第一知识库中重要度最大的第一数量的第一文本作为第二问题的多个第一提示文本。
在一些实施例中,该提示文本获取模块包括:相似度获取单元,用于对于任一第二问题,针对第二知识库中的任一第二文本,获取第二文本与第二问题之间的相似度,相似度指示第二问题对应的向量与第二文本对应的向量之间的相似程度;第二提示文本获取单元,用于将第二知识库中相似度最大的第二数量的第二文本作为第二问题的多个第二提示文本。
在一些实施例中,该参考文本获取模块包括:提示文本获取单元,用于基于每个第一提示文本与第一问题之间的相关度以及每个第二提示文本与第一问题之间的相关度,从多个第二问题的多个第一提示文本中获取第一问题的至少一个第三提示文本,从多个第二问题的多个第二提示文本中获取第一问题的至少一个第四提示文本;参考文本获取单元,用于基于第一问题的至少一个第三提示文本和第一问题的至少一个第四提示文本,获取参考文本。
在一些实施例中,该提示文本获取单元用于:针对任一第一提示文本,将第一提示文本的来源对应的权重获取为第一提示文本的重要度的权重;基于第一提示文本的重要度和第一提示文本的重要度的权重,获取第一提示文本与第一问题之间的相关度。
在一些实施例中,该提示文本获取单元用于:针对任一第二提示文本,将第二提示文本的来源对应的权重获取为第二提示文本的相似度的权重;基于第二提示文本的相似度和第二提示文本的相似度的权重,获取第二提示文本与第一问题之间的相关度。
在一些实施例中,该参考文本获取单元用于:将第一问题的至少一个第三提示文本和第一问题的至少一个第四提示文本拼接为参考文本;或,调用大语言模型对第一问题的至少一个第三提示文本和第一问题的至少一个第四提示文本进行处理,得到第一问题的至少一个第五提示文本;将第一问题的至少一个第五提示文本拼接为参考文本。
在一些实施例中,该装置包括第一文本获取模块,该第一文本获取模块包括:第一原始文本获取单元,用于获取多个第一原始文本;标题结构获取单元,用于针对每个第一原始文本,获取第一原始文本的标题结构,标题结构指示第一原始文本内所包含的标题以及标题之间的关系;关键词获取单元,用于针对每个第一原始文本中的多个文本段,获取每个文本段的关键词;第一文本获取单元,用于针对每个文本段,组合文本段、文本段的关键词和文本段所属的标题,得到文本段对应的第一文本。
在一些实施例中,该第一原始文本获取单元用于:获取多个第二问答对,多个第二问答对是不同用户的问答过程中的问答对;调用大语言模型对多个第二问答对进行处理,得到第一原始文本。
在一些实施例中,该装置包括第二文本获取模块,该第二文本获取模块包括:第二原始文本获取单元,用于获取多个第二原始文本;主要问题获取单元,用于针对每个第二原始文本中的多个问答片段,获取每个问答片段的主要问题、主要问题对应的答案和主要问题对应的向量,问答片段包括多个第三问答对,多个第三问答对是不同用户的问答过程中的问答对,主要问题指示问答片段的询问意图;第二文本获取单元,用于针对每个问答片段,组合问答片段、问答片段的主要问题、主要问题对应的答案和主要问题对应的向量,得到问答片段对应的第二文本。
在一些实施例中,该主要问题获取单元用于:针对每个问答片段,调用大语言模型对问答片段进行处理,得到问答片段的主要问题。在一些实施例中,该装置还包括:类别获取模块,用于基于第一问题和多个第一问答对,获取第一问题的类别;该第二提示文本获取单元用于:对于任一第二问题,针对第二知识库中与第一问题的类别相符的任一第二文本,获取第二文本与第二问题之间的相似度,相似度指示第二问题对应的向量与第二文本对应的向量之间的相似程度;将第二知识库中相似度最大的第二数量的第二文本作为第二问题的多个第二提示文本。
第三方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器用于存储至少一段计算机程序,所述至少一段计算机程序由所述处理器加载并执行以实现上述第一方面或者第一方面的各种可选实现方式中提供的基于大语言模型的问答方法所执行的操作。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储至少一段计算机程序,所述至少一段计算机程序由处理器加载并执行以实现上述第一方面或者第一方面的各种可选实现方式中提供的基于大语言模型的问答方法所执行的操作。
第五方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述第一方面或者第一方面的各种可选实现方式中提供的基于大语言模型的问答方法所执行的操作。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种基于大语言模型的问答系统的结构示意图;
图2是本申请实施例提供的一种基于大语言模型的问答方法流程图;
图3是本申请实施例提供的一种知识库文本的示意图;
图4是本申请实施例提供的一种提示词模板的示意图;
图5是本申请实施例提供的一种基于大语言模型的问答系统的运行流程图;
图6是本申请实施例提供的一种知识库更新方法流程图;
图7是本申请实施例提供的另一种基于大语言模型的问答方法流程图;
图8是本申请实施例提供的一种第二提示文本获取方法流程图;
图9是本申请实施例提供的一种基于大语言模型的问答装置的结构框图;
图10是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。
本申请中术语“至少一个”是指一个或多个,“多个”的含义是指两个或两个以上。
需要说明的是,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息、问答对等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等,如文档类的文本和会话类的文本等)以及信号,均为已去除个人信息的、经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本申请中涉及到的第一问题、第一问答对和知识库中的文本都是在充分授权的情况下获取的。
本申请实施例所使用的大语言模型涉及人工智能领域的自然语言处理技术。人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、预训练模型技术、操作/交互系统、机电一体化等。其中,预训练模型又称大语言模型、基础模型,经过微调后可以广泛应用于人工智能各大方向下游任务。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
自然语言处理(Nature Language Processing,NLP)领域中的自然语言处理是计算机科学领域与人工智能领域中的重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理涉及自然语言,即人们日常使用的语言,与语言学研究密切;同时涉及计算机科学和数学。人工智能领域模型训练的重要技术,预训练模型,即是从NLP领域的大语言模型(Large Language Model,LLM)发展而来。经过微调,大语言模型可以广泛应用于下游任务。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
图1是本申请实施例提供的一种基于大语言模型的问答系统的结构示意图,参见图1,该基于大语言模型的问答系统包括终端101、服务器102和知识库103,该知识库103用于为该问答系统提供与该问答系统所接收的问题相关的文本(知识)。图1所示的基于大语言模型的问答系统中的终端、服务器和知识库的数量仅为举例,例如,终端、服务器和知识库的数量可以为多个,本申请实施例并不对终端、服务器和知识库的数量进行限定。
上述问答系统用于为用户提供问答服务,该问答服务可以是智能客服服务、在线教育服务和智能医疗服务等,本申请实施例对此不作限定。在问答过程中,用户与该问答系统之间能够按照一问一答的形式进行连续问答,该连续问答所产生的多个问答对能够存储在服务器102中。需要说明的是,该第一问题和多个问答对均为已去除个人信息的、经用户授权或者经过各方充分授权的。
其中,终端101通过网络与服务器102进行通信,知识库103可以集成在服务器102上,也可以放在云上或其他服务器上。上述问答过程中,可以是终端101与服务器102之间进行交互,例如,用户通过终端101输入第一问题,终端101向服务器102发送该第一问题。上述问答过程中,也可以是服务器102中不同的模块或应用程序之间进行交互,例如,该服务器102在运行某一应用程序的过程中报错,则该服务器102收集报错信息,基于该报错信息生成第一问题。服务器102根据该第一问题,从知识库103中获取与该第一问题相关的参考文本,该参考文本也可以称为支撑材料。服务器102调用大语言模型对该第一问题和该第一问题的参考文本进行处理,得到该第一问题的答案,向终端101返回该答案。
其中,终端101是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、智能语音交互设备、智能家电、车载终端等,但并不局限于此。服务器102是独立的物理服务器,也能够是多个物理服务器构成的服务器集群或者分布式系统,还能够是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、大数据和人工智能平台等基础云计算服务的云服务器。大语言模型是一种规模巨大、参数众多的深度学习模型,能够从大规模的数据集中学习语言结构、语法知识和语义,从而根据输入的问题输出答案。
图2是本申请实施例提供的一种基于大语言模型的问答方法流程图,如图2所示,在本申请实施例中,以服务器执行本申请实施例提供的基于大语言模型的问答方法为例进行说明。该方法包括以下步骤。
201、服务器基于第一问题和多个第一问答对,获取多个第二问题,其中,第一问答对是用户在问答过程中位于第一问题之前的问答对,多个第二问题与第一问题语义相同但表达方式不同。
其中,第一问题是问答过程中待使用大语言模型进行回答的问题,多个第一问答对可以是用户在问答过程中位于第一问题之前的预设数量的多个问答对,也可以是用户在问答过程中位于第一问题之前预设时长内的多个问答对,还可以是用户在问答过程中位于第一问题之前的所有问答对,本申请实施例对此不作限定。
本申请实施例中,服务器获取第一问题和多个第一问答对所包含的信息,或者,服务器获取第一问题和多个第一问答对所包含的语义,基于该信息或语义,采用不同的表达方式,对该第一问题进行调整,得到多个第二问题。根据与第一问题语义相同的多个第二问题,执行后续从知识库中获取提示文本的步骤,与仅根据第一问题获取提示文本相比,能够避免遗漏相关的提示文本,从而召回更多与第一问题相关的提示文本。召回是指从知识库中获取与第一问题相关的文本。
需要说明的是,该第一问题和多个第一问答对均为已去除个人信息的、经用户授权或者经过各方充分授权的。
202、服务器针对多个第二问题,分别按照第一召回方式获取每个第二问题的多个第一提示文本,按照第二召回方式获取每个第二问题的多个第二提示文本,其中,第一召回方式与第二召回方式不同。
其中,不同的召回方式能够产生不同的召回效果,该召回效果指示召回的提示文本与第二问题之间的相关程度、召回的提示文本的准确程度或召回的提示文本的数量。与仅采用单一的召回方式相比,采用不同的召回方式能够综合不同召回效果下的多个提示文本,从而同时满足不同的召回要求,以提高本申请实施例提供的基于大语言模型的问答方法的适用性。
在一些实施例中,不同的召回方式从不同的知识库中获取提示文本,例如,第一召回方式为字面召回方式,该字面召回方式用于从第一知识库中获取多个第一提示文本,能够基于第二问题的字面内容,从第一知识库中找出包含该第二问题的多个第一文本,再从多个第一文本中获取多个第一提示文本,该文本可以被称为知识片段。第二召回方式为向量召回方式,该向量召回方式用于从第二知识库中获取多个第二提示文本,能够基于第二问题对应的向量,从第二知识库中找出多个第二文本,再从多个相应的文本中获取多个第二提示文本。该第二文本包含与该第二问题对应的向量相似的向量。该第一知识库用于存储第一文本,该第一文本也称为文档类知识,如图3中的第一文本(文档类知识)所示,该第一文本包括文本段、标题列表和该文本段的关键词,标题列表指示该文本段所属的标题。在一些实施例中,该第一文本还包括上述文本段所对应的向量、标题列表中的标题所对应的向量或上述文本段的关键词所对应的向量。该第二知识库用于存储第二文本,该第二文本也称为会话类知识,如图3中的第二文本(会话类知识)所示,该第二文本包括格式化的会话(问答对)、独立问题、该独立问题对应的答案、主题以及该会话类文本对应的向量,其中,独立问题或主题均能够指示该第二文本的询问意图,该第二文本包括独立问题和/或主题,该第二文本对应的向量是独立问题对应的向量和/或主题对应的向量。在一些实施例中,该第二文本对应的向量是通过文本嵌入模型或大语言模型将独立问题或主题转换为向量得到。
需要说明的是,该提示文本均为已去除个人信息的、经用户授权或者经过各方充分授权的。
203、服务器基于每个第一提示文本与第一问题之间的相关度以及每个第二提示文本与第一问题之间的相关度,从多个第二问题的多个第一提示文本和多个第二问题的多个第二提示文本中,获取第一问题的参考文本,该相关度指示提示文本与问题之间的相关程度。
其中,提示文本的相关度越大,说明该提示文本与第一问题之间的相关程度越高,提示文本的相关度越小,说明该提示文本与第一问题之间的相关程度越低。第一问题的参考文本是与第一问题相关的提示文本,可以称为支撑材料。大语言模型能够基于该参考文本,学习到与该第一问题相关的知识,从而输出更加准确且与该第一问题更加相关的答案。
204、服务器调用大语言模型对第一问题、多个第一问答对和第一问题的参考文本进行处理,输出第一问题的答案。
本申请实施例中,服务器将第一问题、多个第一问答对和第一问题的参考文本添加到prompt(提示词)模板中,得到待输入到大语言模型中的文本,调用大语言模型对该文本进行处理,输出第一问题的答案。图4是本申请实施例提供的一种prompt模板的示意图,图4中采用分隔符将该prompt模板分隔为不同的板块,在分隔符上下还有各个板块的开始标签和结束标签。例如,图4中的参考文本板块中是该第一问题的参考文本,该参考文本的上下各有一条分隔符,上方的分隔符之上有“参考文本开始”的标签,下方的分隔符之下有“参考文本结束”的标签。除该参考文本板块外,该prompt模板还包括问题板块,该问题板块包括第一问题和多个第一问答对。在一些实施例中,该prompt模板还包括提示词板块,该提示词板块包括提示词,该提示词是与第一问题相关的指令,如图4中,该提示词为“现在开始,你将全程扮演XX角色,……,提供简洁的回答,不允许添加编造成分。”,省略号表示提示词中对大语言模型的更多提示和说明。
本申请实施例中,大语言模型从上述输入到大语言模型中的文本中,识别第一问题、多个第一问答对和第一问题的参考文本,获取该第一问题和多个第一问答对所包含的信息或语义,基于该信息或语义,理解该第一问题的询问意图。基于该询问意图,从该第一问题的参考文本和大语言模型内部的知识库中,获取与该询问意图相关的信息。基于该相关的信息和大语言模型本身的学习经验,生成第一问题的多个候选答案。综合考虑每个候选答案的逻辑性、连贯性、流畅性和与第一问题的相关性等,从这多个候选答案中选择一个答案,输出该答案。
在本申请实施例中,基于多个第一问题获取多个第二问题,采用不同的召回方式,分别获取每个第二问题的多个第一提示文本和多个第二提示文本。不同的召回方式具有不同的召回效果,从不同召回效果下的多个提示文本中,基于每个提示文本与第一问题之间的相关度,获取该第一问题的参考文本,能够获取到更加准确且与第一问题更加相关的参考文本。调用大语言模型对该准确性和相关性更高的参考文本进行处理,以得到第一问题的答案,能够提高大语言模型的准确性,从而使大语言模型输出的答案与第一问题更加相关。
图5是本申请实施例提供的一种基于大语言模型的问答系统的运行流程图,如图5所示,该基于大语言模型的问答系统的运行流程图包括两部分,分别是知识库的离线构建部分和该问答系统的在线运行部分。下面以客服服务场景为例,结合图5中知识库的离线构建部分,对本申请实施例中将文本写入知识库的过程进行说明。需要说明的是,该知识库的离线构建可以由上述服务器执行,也可以由其他计算机设备执行,本申请实施例对此不作限定,下面以该服务器执行知识库的离线构建过程为例进行说明。需要说明的是,写入知识库的文本均为已去除个人信息的、经用户授权或者经过各方充分授权的。
如图5所示,知识库的离线构建部分包括第一知识库的构建部分和第二知识库的构建部分,第一知识库用于为第一召回方式提供第一文本,第一知识库中第一文本的来源包括客服使用的知识库、企业提供的帮助中心以及从客服历史回复中总结的知识性文档等。第二知识库用于为第二召回方式提供第二文本,第二知识库中第二文本的来源包括人工总结的问答对知识库、热门问题聚类后生成并经过人工核验的问答对、客服与用户的会话等。
本申请实施例是以不同的召回方式对应不同的知识库为例进行说明的,在一些实施例中,不同的召回方式能够对应相同的知识库,本申请实施例对此不作限定。
如图5所示,第一知识库的构建部分包括将文档类的文本写入第一知识库的过程和将多个第二问答对转换为文档类的文本后写入第一知识库的过程。本申请实施例是以第一知识库的构建过程包括上述两种写入过程为例进行说明的,在一些实施例中,第一知识库的构建过程可以包括上述两种写入过程中的任一种。
图5中知识库的离线构建部分的分支A用于说明将文档类的文本写入第一知识库的过程,参见图5中的分支A,该过程包括下述步骤A1至A7。
A1、服务器获取多个第一原始文本。
其中,第一原始文本为文档类的文本,可以是客服使用的知识库中的文档,也可以是企业提供的帮助中心中的文档等。该第一原始文本为已去除个人信息的、经用户授权或者经过各方充分授权的。
上述获取多个第一原始文本的方式可以是服务器获取其他计算机设备发送的多个第一原始文本,也可以是服务器获取预先存储的多个第一原始文本,本申请实施例对服务器获取第一原始文本的方式不作限定。
A2、服务器对多个第一原始文本进行数据清洗和数据去重。
其中,数据清洗包括基于预设文本库,识别并删除多个第一原始文本中的敏感词、停用词和机器消息等,该预设文本库包括多个敏感词、停用词和机器消息等。数据去重包括识别并删除多个第一原始文本中的重复文本。上述数据清洗和数据去重工作可以由该服务器执行,也可以由其他计算机设备执行,本申请实施例对此不作限定。
通过对多个第一原始文本进行数据清洗和数据去重,能够去除多个第一原始文本中的敏感词,使剩余的多个第一原始文本能够符合相关规定,还能够去除多个第一原始文本中的停用词、机器消息和重复文本,从而减小服务器的负载压力,提高服务器的处理效率。
A3、针对每个剩余的第一原始文本,服务器获取该第一原始文本的标题结构,该标题结构指示该第一原始文本内所包含的标题以及标题之间的关系。
其中,针对每个剩余的第一原始文本,该第一原始文本内所包含的标题包括主标题和多级子标题,标题之间的关系是指主标题和多级子标题之间的从属关系。
本申请实施例中,针对每个剩余的第一原始文本,服务器基于标题规则,识别该第一原始文本中的主标题和多级子标题,得到该第一原始文本所包含的标题。该标题规则指示第一原始文本中的标题的标识方式,例如,在预设符号或标题号后的文本为该第一原始文本中的标题。针对每个主标题,将该主标题与下一主标题之间的多个一级子标题作为从属于该主标题的多个子标题,针对每个一级子标题,将该一级子标题与下一一级子标题之间的多个二级子标题作为从属于该一级子标题的多个子标题,以此类推,得到该第一原始文本内所包含的标题之间的关系。
在一些实施例中,该剩余的第一原始文本以markdown(轻量级标记语言)文件格式存储。在markdown文件格式中,标题规则为用“#”来标识主标题,用“##”来标识二级子标题,以此类推。例如,“#标题1”指示标题1为主标题,“##标题2”指示标题2为一级子标题。服务器基于该标题规则,识别该第一原始文本中的多个主标题。针对每个主标题,服务器基于该标题规则,识别该主标题与下一主标题之间的多个一级子标题,将该多个一级子标题作为从属于该主标题的多个子标题,以此类推,得到该第一原始文本内所包含的标题以及标题之间的关系。
A4、服务器对该第一原始文本进行分片,得到该第一原始文本的多个文本段。
服务器对该第一原始文本进行分片的方式包括很多种,可选地,服务器按照预设行数对该第一原始文本进行分片,如将每预设行数的文本划分为该第一原始文本的一个文本段,或者,服务器按照预设段数对该第一原始文本进行分片,如将每预设段数的文本划分为该第一原始文本的一个文本段,再或者,服务器按照该第一原始文本的标题结构对该第一原始文本进行分片,如将每个预设级子标题下的文本划分为该第一原始文本的一个文本段,本申请实施例对此不作限定。
A5、针对每个第一原始文本中的多个文本段,服务器获取每个文本段的关键词。
在一些实施例中,服务器调用LLM对每个文本段进行处理,得到每个文本段的关键词。在另一些实施例中,服务器基于预设关键词词库,获取每个文本段的关键词,该预设关键词词库包括多个关键词。在获取每个文本段的关键词的过程中,服务器对每个文本段进行分词处理,得到每个文本段的多个词语。针对任一词语,将该词语与预设关键词词库中的多个关键词一一进行匹配,若该词语与预设关键词词库中的某一关键词相同,则将该词语作为对应文本段的关键词之一。
A6、针对每个文本段,服务器组合该文本段、该文本段的关键词和该文本段所属的标题,得到该文本段对应的第一文本。
本申请实施例中,针对每个文本段,服务器按照图3中文档类知识的格式,组合该文本段、该文本段的关键词和该文本段所属的标题,得到该文本段对应的第一文本。其中,该文本段所属的标题包括该文本段所属的最低一级的子标题以及该子标题所属的标题,不同文本段所属的标题可能相同。例如,某三级子标题下有两个文本段,则这两个文本段所属的标题均为:主标题、一级子标题、二级子标题和三级子标题。
在一些实施例中,针对任一文本段,服务器调用编码模型(文本嵌入模型或大语言模型等)对该文本段进行处理,得到该文本段所对应的向量,或者,服务器调用编码模型对该文本段所属的标题进行处理,得到该文本段所属的标题所对应的向量,或者,服务器调用编码模型对该文本段的关键词进行处理,得到该文本段的关键词所对应的向量。该编码模型用于将文本转换为向量。组合上述向量、该文本段、该文本段的关键词和该文本段所属的标题,得到该文本段对应的第一文本。
A7、服务器将多个第一文本写入第一知识库。
在一些实施例中,上述第一知识库为弹性搜索(ElasticSearch,ES)知识库,在将第一文本写入第一知识库时,将该第一文本中的文本段、该文本段所属的标题和该文本段的关键词按照ES的不同fields(字段)写入索引。在ES知识库中,索引相当于关系数据库中的数据库,fields相当于关系数据库中的列。
上述图5中知识库的离线构建部分的分支A详细介绍了将文档类的文本写入第一知识库的过程,下面结合图5中知识库的离线构建部分的分支B,对将多个第二问答对转换为文档类的文本后写入第一知识库的过程进行说明。
B1、服务器获取多个第二问答对,该多个第二问答对是不同用户的问答过程中的问答对。
其中,多个第二问答对是一段客服会话中的多个问答对,该客服会话由客服和不同用户在历史问答过程中的会话拼接得到。该多个第二问答对为已去除个人信息的、经用户授权或者经过各方充分授权的。
上述步骤B1中服务器获取多个第二问答对的过程与上述步骤A1中服务器获取多个第一原始文本的过程同理,本申请实施例在此不作赘述。
B2、服务器调用大语言模型对该多个第二问答对进行处理,得到第一原始文本,即将多个第二问答对转换为知识性文档。
在一些实施例中,服务器调用LLM对该多个第二问答对进行处理,得到第一原始文本,该第一原始文本包括标题结构。在一些实施例中,以markdown等文件格式存储该第一原始文本。
本申请实施例是以服务器基于多个第二问答对,获取一个第一原始文本为例进行说明的,在一些实施例中,服务器能够基于多个第二问答对,获取多个第一原始文本。
上述步骤B1至B2是服务器获取从客服历史回复中总结的知识性文档的过程。
B3、服务器对多个第一原始文本进行数据清洗和数据去重。
B4、针对每个剩余的第一原始文本,服务器获取该第一原始文本的标题结构,该标题结构指示该第一原始文本内所包含的标题以及标题之间的关系。
B5、服务器对该第一原始文本进行分片,得到该第一原始文本的多个文本片段。
B6、针对每个第一原始文本中的多个文本段,服务器获取每个文本段的关键词。
B7、针对每个文本段,服务器组合该文本段、该文本段的关键词和该文本段所属的标题,得到该文本段对应的第一文本。
B8、服务器将多个第一文本写入第一知识库。
上述步骤B3至B8与上述步骤A2至A7同理,本申请实施例在此不作赘述。
针对上述知识库的离线构建部分的分支A,若上述分支A的构建过程中包括获取每个文本段所对应的向量、每个文本段所属的标题所对应的向量或每个文本段的关键词所对应的向量,则通过上述分支A构建的知识库能够被用于进行向量召回,分支B同理。
图5中知识库的离线构建部分的分支A和分支B详细介绍了第一知识库中第一文本的获取过程,下面结合图5中知识库的离线构建部分的分支C和分支D,对第二知识库中第二文本的获取过程进行说明。
第二知识库的构建部分包括两种将多个第三问答对写入第二知识库的过程,其中,图5中分支C的多个第三问答对是一段客服会话中的多个问答对(该客服会话可以与上述步骤B1中的客服会话相同,也可以不同),图5中分支D的多个第三问答对是问答对数据库中的问答对。本申请实施例是以第二知识库的构建过程包括上述两种写入过程为例进行说明的,在一些实施例中,第二知识库的构建过程可以包括上述两种写入过程中的任一种。
图5中知识库的离线构建部分的分支C用于说明将客服会话写入第二知识库的过程,参见图5中的分支C,该过程包括下述步骤C1至C8。
C1、服务器获取多个第二原始文本,该第二原始文本包括多个第三问答对,该多个第三问答对是不同用户的问答过程中的问答对。
其中,每个第二原始文本都是一段客服会话,属于会话类的文本,上述步骤C1中服务器获取多个第二原始文本的过程与上述步骤A1中服务器获取多个第一原始文本的过程同理,本申请实施例在此不再赘述。该第二原始文本为已去除个人信息的、经用户授权或者经过各方充分授权的。
C2、服务器获取多个第二原始文本的类别,即进行会话分类。
其中,第二原始文本的类别指示该第二原始文本所属的领域、该第二原始文本所属的业务或该第二原始文本所针对的对象等,本申请实施例对此不作限定。例如,在智能客服服务场景中,该类别为客服服务对应的多个产品或客服服务对应的多个业务等。在在线教育服务场景中,该类别为科目或受教育程度等。在在线医疗服务场景中,该类别为症状、疾病或科室等。
在一些实施例中,服务器调用会话分组模型对每个第二原始文本进行处理,得到多个第二原始文本的类别,从而将多个第二原始文本分类到不同的组。其中,会话分组模型是以多段客服会话和每段客服会话的类别为训练数据进行训练得到,能够基于客服会话,输出该客服会话的类别。
需要说明的是,上述步骤C2为可选步骤。
C3、服务器对多个第一原始文本进行数据清洗和数据去重。
上述步骤C3与上述步骤A2同理,本申请实施例在此不作赘述。
C4、针对每个剩余的第二原始文本,服务器对该第二原始文本进行分片和格式化处理,得到该第二原始文本的多个问答片段。
服务器对该第二原始文本进行分片的方式包括很多种,可选地,服务器按照会话轮次对该第二原始文本进行分片,每个会话轮次对应该第二原始文本中的一个询问意图,每个询问意图对应多个第三问答对。该会话轮次能够基于第二原始文本的语义或该第二原始文本的内容得到。或者,服务器按照预设问答对个数对该第二原始文本进行分片,如将每预设问答对个数的第三问答对划分为一个问答片段,再或者,服务器按照不同用户对该第二原始文本进行分片,如将每个用户的多个第三问答对划分为一个问答片段,本申请实施例对此不作限定。
上述步骤C4中,服务器还对第二原始文本中的多个第三问答对进行格式化处理,即基于目标格式,对多个第三问答对进行调整,得到格式化后的多个第三问答对。以某一第三问答对为例,该第三问答对为“用户名1:没有找到文件传输窗口怎么办;客服名1:点击搜索栏,输入文件传输进行搜索”,目标格式为“【用户】:XXX;【客服】:XXX”,则将该第三问答对调整为“【用户】:没有找到文件传输窗口怎么办;【客服】:点击搜索栏,输入文件传输进行搜索”。通过上述格式化处理,能够统一问答对格式,从而提高服务器对第二原始文本中的多个第三问答对进行识别的效率。
需要说明的是,服务器可以先对第二原始文本进行分片,再对该第二原始文本进行格式化处理,服务器也可以先对该第二原始文本进行格式化处理,再对该第二原始文本进行分片,本申请实施例对此不作限定。
C5、针对每个剩余的第二原始文本中的多个问答片段,服务器获取每个问答片段的主要问题和该主要问题对应的答案,每个问答片段包括多个第三问答对,该主要问题指示该问答片段的询问意图。
其中,任一问答片段的主要问题为该问答片段的独立问题和/或主题,独立问题或主题均能够指示该问答片段的询问意图,任一问答片段的独立问题、独立问题对应的答案和主题可以统称为该问答片段的元数据。
在一些实施例中,针对每个问答片段,服务器按照预设特征规则,从该问答片段中获取独立问题以及该独立问题对应的答案。其中,预设特征规则为与该第二原始文本对应的业务相关的特征规则,该特征规则是下述至少一项特征规则的组合。第一项,若该问答片段中的某一部分文本包含预设业务词库中的任一关键词或短语,则将该部分文本作为该问答片段的独立问题,该预设业务词库包括多个与上述业务相关的关键词或短语。第二项,若该问答片段中的某一部分文本的字数在预设字数范围内,则将该部分文本作为该问答片段的独立问题。第三项,若该问答片段中某一部分文本的标点符号包括问号,则将该部分文本作为该问答片段的独立问题。其中,上述某一部分文本可以是该问答片段中的一句话,也可以是该问答片段中相邻两个分号之间的文本,本申请实施例对此不作限定。上述独立问题对应的答案可以是上述作为独立问题的那部分文本在该问答片段中对应的答案,也可以是按照上述预设业务规则,从该问答片段中获取的答案,还可以是服务器调用LLM对该问答片段和该问答片段的独立问题进行处理,得到的答案,本申请实施例对此不作限定。
上述实施例是以服务器获取每个问答片段的独立问题以及该独立问题对应的答案为例进行说明的,在一些实施例中,针对每个问答片段,服务器调用LLM对该问答片段进行处理,得到该问答片段的主题。在另一些实施例中,服务器获取每个问答片段的独立问题、该独立问题对应的向量和该问答片段的主题,本申请实施例对此不作限定。
通过将主题和/或独立问题作为嵌入文本,能够在用户再次提出相似问题时,使该相似问题的嵌入向量与主题和/或独立问题对应的向量更相似,从而更容易召回相关提示文本。
C6、服务器获取每个主要问题对应的向量。
上述步骤C6中,若上述步骤C5获取的是每个问答片段的独立问题,则服务器将每个问答片段的独立问题作为该问答片段的嵌入文本(待转换为向量的文本),调用文本嵌入模型或大语言模型对该独立问题进行处理,得到该独立问题对应的向量。若上述步骤C5获取的是每个问答片段的主题,则服务器将每个问答片段的主题作为该问答片段的嵌入文本,调用文本嵌入模型或大语言模型对该主题进行处理,得到该主题对应的向量。若上述步骤C5获取的是每个问答片段的独立问题和主题,则服务器将每个问答片段的独立问题和主题作为该问答片段的嵌入文本,调用文本嵌入模型或大语言模型对该独立问题和主题进行处理,得到该独立问题对应的向量和该主题对应的向量。
C7、针对每个问答片段,服务器组合该问答片段、该问答片段的主要问题、该主要问题对应的答案和该主要问题对应的向量,得到该问答片段对应的第二文本。
上述步骤C7中,若上述步骤C5获取的是每个问答片段的独立问题以及该独立问题对应的答案,则针对每个问答片段,服务器按照图3中会话类知识的格式,组合该问答片段、该问答片段的独立问题、该独立问题对应的答案和该独立问题对应的向量,得到该问答片段对应的第二文本。若上述步骤C5获取的是每个问答片段的主题,则针对每个问答片段,服务器按照图3中会话类知识的格式,组合该问答片段、该问答片段的主题和该主题对应的向量,得到该问答片段对应的第二文本。若上述步骤C5获取的是每个问答片段的独立问题、该独立问题对应的答案以及该问答片段的主题,则针对每个问答片段,服务器按照图3中会话类知识的格式,组合该问答片段、该问答片段的独立问题、该独立问题对应的答案、该问答片段的主题、该独立问题对应的向量和该主题对应的向量,得到该问答片段对应的第二文本。
C8、服务器将多个第二文本写入第二知识库。
在一些实施例中,若服务器执行了上述步骤C2中获取第二文本的类别的步骤,则将不同类别的多个第二文本写入第二知识库的不同表中。
在一些实施例中,上述第二知识库为向量知识库。在向量知识库中,将每个第二文本中的向量作为该第二文本的索引,在基于该向量知识库进行召回时,通过该作为索引的向量(主要问题对应的向量),召回相关的第二文本。
上述图5中知识库的离线构建部分的分支C详细介绍了将客服会话写入第二知识库的过程,下面结合图5中知识库的离线构建部分的分支D,对将问答对数据库中的问答对写入第二知识库的过程进行说明。
D1、服务器获取多个第三问答对,该多个第三问答对是问答对数据库中的多个问答对。
其中,问答对数据库中的问答对属于会话类的文本,可以是人工根据相关业务总结的问答对,也可以是服务器或其他计算机设备对热门问题进行聚类后生成的问答对,本申请实施例对此不作限定。该多个第三问答对为已去除个人信息的、经用户授权或者经过各方充分授权的。
在一些实施例中,该多个第三问答对包括一个标准问题、该标准问题的多个相似问题和这些问题的答案,该多个相似问题与第一问题语义相同但表达方式不同。
D2、针对每个第三问答对,服务器获取该第三问答对中的问题对应的向量。
本申请实施例中,服务器将每个第三问答对中的问题作为该第三问答对的嵌入文本,调用文本嵌入模型或大语言模型对该第三问答对中的问题进行处理,得到该第三问答对中的问题对应的向量。
D3、针对每个第三问答对,服务器组合该第三问答对和该第三问答对中的问题对应的向量,得到该第三问答对对应的第二文本。
本申请实施例中,针对每个第三问答对,服务器按照图3中会话类知识的格式,组合该第三问答对和该第三问答对中的问题对应的向量,得到该第三问答对对应的第二文本。
D4、服务器将多个第二文本写入第二知识库。
上述步骤D4与上述步骤C8同理,本申请实施例在此不作赘述。
上述分支C和分支D对应图8中将多个第二文本写入第二知识库(如向量知识库)的过程。
随着业务的更新换代,问题的答案也可能会随之改变。以软件为例,随着软件版本的迭代,软件的功能也会发生变化,针对同一问题,客服的回复也会随之改变。为了保证大语言模型的准确性,服务器响应于定时更新任务被触发,拉取更新后的数据,如图6所示,针对上述任一知识库,按照上述图5中知识库离线构建部分的过程,将更新后的数据写入该知识库。该更新后的数据可以是当前时间点之前预设时长内的数据,包括文档类的文本、会话类的文本或问答对数据库中的问答对。对于会话类的文本,若第二知识库中已有相同的独立问题或主题,则将第二知识库中的独立问题或主题替换为更新后的独立问题或主题,对于问答对数据库中问答对的处理过程同理。
上述图5中知识库的离线构建部分说明了知识库中的文本的获取过程,图7是本申请实施例提供的一种基于大语言模型的问答方法的流程图,该问答方法中的召回过程是在线运行的,下面以客服服务场景为例,结合图5中的在线运行部分和图7,对本申请实施例提供的基于大语言模型的问答方法进行说明。如图7所示,以服务器执行本申请实施例提供的基于大语言模型的问答方法为例,该方法包括以下步骤。
701、服务器获取第一问题和多个第一问答对,第一问答对是用户在问答过程中位于第一问题之前的问答对。
本申请实施例中,服务器获取其他计算机设备发送的第一问题,从预先存储的文件中获取该第一问题的多个第一问答对,或者,服务器基于报错信息,生成第一问题,从预先存储的文件中获取该第一问题的多个第一问答对,例如,报错信息为“找不到文件传输窗口”,服务器可以调用大语言模型对该报错信息进行处理,得到第一问题为“如何找到文件传输窗口”。
在一些实施例中,除第一问题和多个第一提示文本外,服务器还基于第一问题和多个第一问答对,获取第一问题的类别。其中,第一问题的类别可以是该第一问题所属的业务、该第一问题的字数所属的字数范围和该第一问题所针对的对象等,本申请实施例对此不作限定。该第一问题的类别的划分方式与上述步骤C2中第二文本的类别的划分方式相同。
服务器获取第一问题的类别的方式包括多种,可选地,服务器调用会话分组模型对第一问题进行处理,得到第一问题的类别,或者,服务器对该第一问题和多个第一问答对进行分词处理,得到与该第一问题相关的多个词语。针对每个词语,服务器获取该词语所属的词库的类别,将该词库的类别作为该词语的类别,将这多个词语的类别中,对应的词语数量最多的类别作为该第一问题的类别。通过获取第一问题的类别,能够提高服务器的召回效率。
702、服务器基于第一问题和多个第一问答对,获取多个第二问题,多个第二问题与第一问题语义相同但表达方式不同。
如图5中在线运行部分所示,服务器基于第一问题和多个第一问答对,获取多个第二问题的过程包括下述至少一项。
第一项,服务器基于目标语法结构,对该第一问题进行调整,得到该第一问题对应的多个第二问题,不同的目标语法结构对应不同的第二问题,该目标语法结构指示第一问题中的不同成分所在的位置,该不同成分包括主语、谓语和宾语等。本申请实施例中,服务器对该第一问题进行识别,得到该第一问题所包含的不同成分的字段,将该不同成分的字段填充到目标语法结构的相应位置中,得到该目标语法结构下的第二问题。例如,目标语法结构为“主语+谓语+宾语”,第一问题为“第一问题如何被服务器接收”,基于该目标语法结构进行调整得到的第二问题为“服务器如何接收第一问题”。
第二项,服务器基于多个第一问答对,获取该第一问题中的指代词所指代的对象,将该第一问题中的指代词替换为该对象,得到该第一问题对应的多个第二问题。本申请实施例中,服务器对第一问题和多个第一问答对进行语义识别,得到该第一问题和多个第一问答对所针对的对象,识别该第一问题中的指代词,将该指代词替换为该对象。或者,服务器对第一问题和多个第一问答对进行分词处理,得到该第一问题和多个第一问答对所对应的多个词语。对这多个词语进行词性识别,得到该多个词语中的名词和该第一问题中的指代词。用该多个词语的名词中出现次数最多的名词替换第一问题中的指代词,得到第二问题。例如,第一问题为“怎么通过它传输文件呢”,多个第一问答对为“【用户】:怎么传输文件;【客服】:用文件传输窗口进行传输;【用户】:没有找到文件传输窗口怎么办;【客服】:点击搜索栏,输入文件传输进行搜索;……”,通过上述方式,能够从多个第一问答对中提取出“文件传输窗口”,用该“文件传输窗口”替换第一问题中的指代词“它”,得到第二问题“怎么通过文件传输窗口传输文件呢”。
上述第一项和第二项是对第一问题和多个第一问答对进行改写。
第三项,服务器从多个第一问答对中获取与第一问题相关的内容,拼接该第一问题和该多个第一问答对中与该第一问题相关的内容,得到该第一问题对应的多个第二问题。本申请实施例中,服务器对第一问题和多个第一问答对进行语义识别,得到该多个第一问答对中与第一问题相关的内容,拼接该第一问题和该相关的内容,得到第二问题。或者,服务器获取第一问题中的关键词,基于该关键词,从多个第一问答对中获取与第一问题相关的内容,拼接该第一问题和该相关的内容,得到第二问题。例如,第一问题为“如何通过文件传输窗口传输文件”,服务器从多个第一问答对中获取与文件传输窗口相关的内容,如“如何打开文件传输窗口”。将第一问题与该相关的内容拼接到一起,得到第二文本“如何打开文件传输窗口,通过文件传输窗口传输文件”。
第四项,服务器调用大语言模型对第一问题和多个第一问答对进行处理,得到该第一问题对应的多个第二问题。
第五项,服务器获取由第一问题和多个第一问答对组成的问答片段所对应的独立问题。该独立问题的获取方式与上述步骤C5中独立问题的获取方式同理,本申请实施例在此不再赘述。
上述过程获取多个第二问题,后续根据该多个第二问题召回提示文本,与只根据第一问题召回提示文本相比,能够召回更多的提示文本。
在一些实施例中,如图5所示,服务器将上述多个第二问题添加到查询列表中,基于该查询列表执行后续分别从第一知识库和第二知识库中召回提示文本的步骤。
703、对于任一第二问题,针对第一知识库中的任一第一文本,若该第一文本包含该第二问题,则服务器获取该第二问题在该第一文本中的重要度,该重要度指示第二问题在第一文本中的重要程度。
其中,该第二问题在该第一文本中的重要度取决于该第二问题在该第一文本中出现的次数和/或该第二问题在该第一文本中出现的位置。该第二问题在该第一文本中出现的次数越多,该第二问题在该第一文本中的重要度越大,该第二问题在该第一文本中出现的位置越重要,该第二问题在该第一文本中的重要度越大。例如,当该第二问题出现在该第一文本的标题中时,该第二问题在该第一文本中的重要度比当该第二问题出现在该第一文本的文本段中时的重要度大。再例如,当该第二问题出现在该第一文本中文本段的开头时,该第二问题在该第一文本中的重要度比当该第二问题出现在该第一文本中文本段的中间位置时的重要度大。
本申请实施例中,针对任一第二问题,服务器从第一知识库的多个第一文本中找出包含该第二问题的多个第一文本。针对每个包含该第二问题的第一文本,服务器基于该第二问题在该第一文本中出现的次数和/或该第二问题在该第一文本中出现的位置,获取该第二问题在该第一文本中的重要度。
上述实施例是以重要度取决于该第二问题在该第一文本中出现的次数和/或该第二问题在该第一文本中出现的位置为例进行说明的,在一些实施例中,该重要度取决于该第二问题在该第一文本的不同字段中出现的次数和/或该第二问题在该第一文本的不同字段中出现的位置。针对该第一文本中的每个字段,服务器获取该字段的权重,基于该第二问题在该字段中出现的次数和/或该第二问题在该字段中出现的位置,获取该第二问题在该字段中的重要度。服务器基于该第一文本中每个字段的权重,对第二问题在该字段中的重要度进行加权求和,得到该第二问题在该第一文本中的重要度。
上述两个实施例是以在第一知识库中获取包含该第二问题的第一文本为例进行说明的,由于第一文本包含该第二问题,因此,该第一文本与该第二问题的相关性更强。在一些实施例中,服务器对该第二问题进行分词,得到与该第二问题相关的多个词语。对于每个词语,针对第一知识库中的任一第一文本,若该第一文本包含该词语,则服务器获取该词语在该第一文本中的重要度,该重要度指示该词语在该第一文本中的重要程度。服务器获取与该第二问题相关的多个词语各自的权重,基于与该第二问题相关的多个词语各自的权重,对该多个词语各自在第一文本中的重要度进行加权求和,得到该第二问题在该第一文本中的重要度。其中,词语在第一文本中的重要度的获取过程与上述两个实施例中第二问题在第一文本中的重要度的获取过程同理,本申请实施例在此不做赘述。
在一些实施例中,若不同的第二问题召回了相同的第一文本,则在后续排序过程中只用其中一个第一文本参与排序,排序时,该第一文本的重要度取决于多个第一文本各自的重要度,例如,服务器能够将这些相同的第一文本的平均重要度作为该第一文本的重要度,或,将这些相同的第一文本中最大的重要度作为该第一文本的重要度,或,将这些相同的第一文本中最小的重要度作为该第一文本的重要度,本申请实施例对此不作限定。
在一些实施例中,上述第一知识库为ES知识库,该ES知识库采用倒排索引方式存储多个第一文本,相应的,第一文本的重要度可以称为倒排索引分数。
704、服务器将第一知识库中重要度最大的第一数量的第一文本作为该第二问题的多个第一提示文本。
本申请实施例中,服务器按照第一文本的重要度对该第二问题的多个第一文本进行排序,将其中重要度最大的第一数量的第一文本作为该第二问题的多个第一提示文本。
上述步骤703至704是针对多个第二问题,服务器按照第一召回方式获取每个第二问题的多个第一提示文本的一种可能实现方式,采用该第一召回方式召回的第一提示文本包含第二问题或第二问题的部分内容,与第二问题相关的可能性较高。
705、对于任一第二问题,服务器针对第二知识库中的任一第二文本,获取该第二文本与该第二问题之间的相似度,该相似度指示该第二问题对应的向量与该第二文本对应的向量之间的相似程度。
本申请实施例中,服务器调用文本嵌入模型对该第二问题进行处理,得到该第二文本对应的向量。针对第二知识库中的任一第二文本,服务器计算该第二问题对应的向量与该第二文本对应的向量之间的相似度,将该第二问题对应的向量与该第二文本对应的向量之间的相似度作为该第二问题与该第二文本之间的相似度。
在一些实施例中,对于任一第二问题,针对第二知识库中与第一问题的类别相符的任一第二文本,服务器获取第二文本与第二问题之间的相似度,相应地,对于第二知识库中与第一问题的类别相符的表,针对该表中的任一第二文本,获取该第二文本与第二问题之间的相似度。通过获取与第一问题的类别相符的第二提示文本,能够提高服务器的召回效率,召回的第二提示文本也与第一问题更加相关。
在一些实施例中,上述第二问题对应的向量与该第二文本对应的向量之间的相似度为该两个向量之间的余弦相似度。
706、服务器将第二知识库中相似度最大的第二数量的第二文本作为该第二问题的多个第二提示文本。
本申请实施例中,服务器按照第二文本的相似度对该第二问题的多个第二文本进行排序,将其中相似度最大的第二数量的第二文本作为该第二问题的多个第二提示文本。
上述从第二知识库中获取该第二问题的多个第二提示文本的过程可以参考图8。参见图8,该第二知识库中的多个第二文本包括客服会话对应的第二文本和问答对数据库中的问答对对应的第二文本。针对客服会话对应的第二文本,服务器或其他计算机设备通过编码模型(如简单对比学习句子嵌入(Simple Contrastive Learning of SentenceEmbeddings,SimCSE)和m3e等文本嵌入模型),对该第二文本中的独立问题和/或主题进行离线编码,将该独立问题和/或主题对应的向量以及该第二文本存入第二知识库。针对问答对数据库中的问答对对应的第二文本,服务器或其他计算机设备通过编码模型,对该第二文本中的问题进行离线编码,将问题对应的向量和该第二文本存入第二知识库。在基于第一问题获取多个第二问题后,针对任一第二问题,服务器计算该第二问题对应的向量与第二知识库中的每个向量之间的相似度,获取第二知识库中相似度最大的第二数量的向量,基于该第二数量的向量,获取第二数量的向量对应的第二数量的第二文本。
上述步骤705至706是针对多个第二问题,服务器按照第二召回方式获取每个第二问题的多个第二提示文本的一种可能方式,第一召回方式与第二召回方式不同,通过该第二召回方式进行召回,能够召回较多的第二提示文本。
上述步骤703至706即为图5中获取召回结果(粗排)的过程,该召回结果包括多个第一提示文本和多个第二提示文本。
需要说明的是,服务器可以先执行步骤703和704,再执行步骤705和706,也可以先执行步骤705和706,再执行步骤703和704,本申请实施例对此不作限定。
707、服务器获取每个第一提示文本与第一问题之间的相关度,该相关度指示该第一提示文本与第一问题之间的相关程度。
其中,该第一提示文本与第一问题之间的相关度综合考量了不同方面的因素,每一方面的因素对应一个权重,服务器基于不同方面的因素的权重,对第一提示文本在不同方面的因素中的评分进行加权求和,得到该第一提示文本与第一问题之间的相关度。上述不同方面的因素包括第一提示文本所属的业务和第一提示文本的重要度等。第一提示文本的重要度的权重取决于与该第一问题相关的业务需求以及该第一提示文本的来源。该业务需求可以是在文档类的文本和会话类的文本中,更加信赖会话类的文本等,本申请实施例对此不作限定。该第一提示文本的来源包括来帮助中心的文档类数据、来自不同业务的客服知识库的文档类数据和来自不同业务的客服会话类数据等。
本申请实施例中,针对任一第一提示文本,服务器将该第一提示文本的来源对应的权重获取为该第一提示文本的重要度的权重。服务器基于该第一提示文本的重要度和该第一提示文本的重要度的权重、该第一提示文本在其他因素中的评分以及其他因素对应的权重,对该第一提示文本的重要度以及该第一提示文本在不同因素下的评分进行加权求和,得到该第一提示文本与该第一问题之间的相关度。上述过程从与第二问题相关的多个第一提示文本中,基于这多个第一提示文本与第一问题的相关度,获取与第一问题之间的相关度较大的多个第一提示文本。由于上述第二问题本身就与第一问题相关,因此,与第二问题相关的多个第一提示文本本身就与第一问题相关,而通过上述过程,能够进一步提高第一提示文本与第一问题之间的相关性。
708、服务器获取每个第二提示文本与该第一问题之间的相关度,该相关度指示该第二提示文本与第一问题之间的相关程度。
上述步骤708与上述步骤707同理,针对任一第二提示文本,服务器将该第二提示文本的来源对应的权重获取为该第二提示文本的相似度的权重。服务器基于该第二提示文本的相似度和该第二提示文本的相似度的权重、该第二提示文本在其他因素中的评分以及其他因素对应的权重,对该第二提示文本的相似度以及该第二提示文本在不同因素下的评分进行加权求和,得到该第二提示文本与该第一问题之间的相关度。
上述过程从与第二问题相关的多个第二提示文本中,基于这多个第二提示文本与第一问题的相关度,获取与第一问题之间的相关度较大的多个第二提示文本。由于上述第二问题本身就与第一问题相关,因此,与第二问题相关的多个第二提示文本本身就与第一问题相关,而通过上述过程,能够进一步提高第二提示文本与第一问题之间的相关性。
需要说明的是,服务器可以先执行步骤707,再执行步骤708,也可以先执行步骤708,再执行步骤707,本申请实施例对此不作限定。
709、服务器基于每个第一提示文本与该第一问题之间的相关度,从多个第二问题的多个第一提示文本中获取该第一问题的至少一个第三提示文本。
本申请实施例中,服务器按照每个第一提示文本与第一问题之间的相关度,对多个第二问题的多个第一提示文本进行排序,将其中相关度最大的至少一个第一提示文本作为上述至少一个第三提示文本。
需要说明的是,该第三提示文本的个数取决于大语言模型的窗口的大小、每个第三提示文本的数据量的大小以及对响应速度的考量,该响应速度指示大语言模型基于输入的文本来获取答案所消耗的时长。该大语言模型的窗口越大,大语言模型能够接收的文本的数据量越大,窗口越小,大语言模型能够接收的文本的数据量越小,对于相同的大语言模型,输入的文本的数据量越大,响应速度越慢,获取答案所消耗的时长越长。
710、服务器基于每个第二提示文本与该第一问题之间的相关度,从多个第二问题的多个第二提示文本中获取该第一问题的至少一个第四提示文本。
上述步骤710即为图8中对多个第二提示文本进行业务重排的过程。
该步骤710与上述步骤709同理,本申请实施例在此不再赘述。
需要说明的是,服务器可以先执行步骤709,再执行步骤710,也可以先执行步骤710,再执行步骤709,本申请实施例对此不作限定。
上述步骤707至710即为图5中业务重排(精排)的过程,即对多个第一提示文本重新排序,以获取至少一个第三提示问题,对多个第二提示文本重新排序,以获取至少一个第四提示文本的过程。
711、服务器基于第一问题的至少一个第三提示文本和第一问题的至少一个第四提示文本,获取参考文本。
在一些实施例中,服务器将第一问题的至少一个第三提示文本和第一问题的至少一个第四提示文本拼接为参考文本,在另一些实施例中,服务器调用大语言模型对第一问题的至少一个第三提示文本和第一问题的至少一个第四提示文本进行处理,得到第一问题的至少一个第五提示文本,将第一问题的至少一个第五提示文本拼接为参考文本。
上述步骤707至711是基于每个第一提示文本与第一问题之间的相关度以及每个第二提示文本与第一问题之间的相关度,从多个第二问题的多个第一提示文本和多个第二问题的多个第二提示文本中,获取第一问题的参考文本的一种可能实现方式。
712、服务器调用大语言模型对第一问题、多个第一问答对和第一问题的参考文本进行处理,输出第一问题的答案。
上述步骤712即为图5和图8中将第一问题、多个第一问答对和第一问题的参考文本输入到大语言模型中,大语言模型输出第一问题的答案的过程。
该步骤712与上述步骤204同理,本申请实施例在此不再赘述。
本申请实施例中,基于多个第一问题获取多个第二问题,采用不同的召回方式,分别获取每个第二问题的多个第一提示文本和多个第二提示文本。不同的召回方式具有不同的召回效果,从不同召回效果下的多个提示文本中,基于每个提示文本与第一问题之间的相关度,获取该第一问题的参考文本,能够获取到更加准确且与第一问题更加相关的参考文本。调用大语言模型对该准确性和相关性更高的参考文本进行处理,以得到第一问题的答案,能够提高大语言模型的准确性,从而使大语言模型输出的答案与第一问题更加相关。
图9是本申请实施例提供的一种基于大语言模型的问答装置的结构框图。该装置用于执行上述基于大语言模型的问答方法执行时的步骤,参见图9,基于大语言模型的问答装置包括以下模块。
问题获取模块901,用于基于第一问题和多个第一问答对,获取多个第二问题,第一问答对是用户在问答过程中位于第一问题之前的问答对,多个第二问题与第一问题语义相同但表达方式不同;
提示文本获取模块902,用于针对多个第二问题,分别按照第一召回方式获取每个第二问题的多个第一提示文本,按照第二召回方式获取每个第二问题的多个第二提示文本,第一召回方式与第二召回方式不同;
参考文本获取模块903,用于基于每个第一提示文本与第一问题之间的相关度以及每个第二提示文本与第一问题之间的相关度,从多个第二问题的多个第一提示文本和多个第二问题的多个第二提示文本中,获取第一问题的参考文本,相关度指示提示文本与问题之间的相关程度;
答案获取模块904,用于调用大语言模型对第一问题、多个第一问答对和第一问题的参考文本进行处理,输出第一问题的答案。
在一些实施例中,该问题获取模块901用于执行下述至少一项:
基于目标语法结构,对第一问题进行调整;
基于多个第一问答对,获取第一问题中的指代词所指代的对象,将第一问题中的指代词替换为对象;
拼接第一问题和多个第一问答对中与第一问题相关的内容;
调用大语言模型对第一问题和多个第一问答对进行处理。
在一些实施例中,该提示文本获取模块902包括:
重要度获取单元,用于对于任一第二问题,针对第一知识库中的任一第一文本,若第一文本包含第二问题,则获取第二问题在第一文本中的重要度,重要度指示第二问题在第一文本中的重要程度;
第一提示文本获取单元,用于将第一知识库中重要度最大的第一数量的第一文本作为第二问题的多个第一提示文本。
在一些实施例中,该提示文本获取模块902包括:
相似度获取单元,用于对于任一第二问题,针对第二知识库中的任一第二文本,获取第二文本与第二问题之间的相似度,相似度指示第二问题对应的向量与第二文本对应的向量之间的相似程度;
第二提示文本获取单元,用于将第二知识库中相似度最大的第二数量的第二文本作为第二问题的多个第二提示文本。
在一些实施例中,该参考文本获取模块903包括:
提示文本获取单元,用于基于每个第一提示文本与第一问题之间的相关度以及每个第二提示文本与第一问题之间的相关度,从多个第二问题的多个第一提示文本中获取第一问题的至少一个第三提示文本,从多个第二问题的多个第二提示文本中获取第一问题的至少一个第四提示文本;
参考文本获取单元,用于基于第一问题的至少一个第三提示文本和第一问题的至少一个第四提示文本,获取参考文本。
在一些实施例中,该提示文本获取单元用于:
针对任一第一提示文本,将第一提示文本的来源对应的权重获取为第一提示文本的重要度的权重;
基于第一提示文本的重要度和第一提示文本的重要度的权重,获取第一提示文本与第一问题之间的相关度。
在一些实施例中,该提示文本获取单元用于:
针对任一第二提示文本,将第二提示文本的来源对应的权重获取为第二提示文本的相似度的权重;
基于第二提示文本的相似度和第二提示文本的相似度的权重,获取第二提示文本与第一问题之间的相关度。
在一些实施例中,该参考文本获取单元用于:
将第一问题的至少一个第三提示文本和第一问题的至少一个第四提示文本拼接为参考文本;或,
调用大语言模型对第一问题的至少一个第三提示文本和第一问题的至少一个第四提示文本进行处理,得到第一问题的至少一个第五提示文本;
将第一问题的至少一个第五提示文本拼接为参考文本。
在一些实施例中,该装置还包括第一文本获取模块,该第一文本获取模块包括:
第一原始文本获取单元,用于获取多个第一原始文本;
标题结构获取单元,用于针对每个第一原始文本,获取第一原始文本的标题结构,标题结构指示第一原始文本内所包含的标题以及标题之间的关系;
关键词获取单元,用于针对每个第一原始文本中的多个文本段,获取每个文本段的关键词;
第一文本获取单元,用于针对每个文本段,组合文本段、文本段的关键词和文本段所属的标题,得到文本段对应的第一文本。
在一些实施例中,该第一原始文本获取单元用于:
获取多个第二问答对,多个第二问答对是不同用户的问答过程中的问答对;
调用大语言模型对多个第二问答对进行处理,得到第一原始文本。
在一些实施例中,该装置还包括第二文本获取模块,该第二文本获取模块包括:
第二原始文本获取单元,用于获取多个第二原始文本;
主要问题获取单元,用于针对每个第二原始文本中的多个问答片段,获取每个问答片段的主要问题、主要问题对应的答案和主要问题对应的向量,问答片段包括多个第三问答对,多个第三问答对是不同用户的问答过程中的问答对,主要问题指示问答片段的询问意图;
第二文本获取单元,用于针对每个问答片段,组合问答片段、问答片段的主要问题、主要问题对应的答案和主要问题对应的向量,得到问答片段对应的第二文本。
在一些实施例中,该主要问题获取单元用于:
针对每个问答片段,调用大语言模型对问答片段进行处理,得到问答片段的主要问题。
在一些实施例中,该装置还包括:
类别获取模块,用于基于第一问题和多个第一问答对,获取第一问题的类别;
该第二提示文本获取单元用于:
对于任一第二问题,针对第二知识库中与第一问题的类别相符的任一第二文本,获取第二文本与第二问题之间的相似度,相似度指示第二问题对应的向量与第二文本对应的向量之间的相似程度;
将第二知识库中相似度最大的第二数量的第二文本作为第二问题的多个第二提示文本。
需要说明的是:上述实施例提供的装置在执行上述基于大语言模型的问答方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
在本申请实施例中,计算机设备能够被配置为终端或者服务器,当计算机设备被配置为终端时,可以由终端作为执行主体来实施本申请实施例提供的技术方案,当计算机设备被配置为服务器时,可以由服务器作为执行主体来实施本申请实施例提供的技术方案,也可以通过终端和服务器之间的交互来实施本申请提供的技术方案,本申请实施例对此不作限定。
图10是本申请实施例提供的一种计算机设备的结构示意图,该计算机设备1000可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(CentralProcessing Units,CPU)1001和一个或一个以上的存储器1002,其中,该存储器1002中存储有至少一段计算机程序,该至少一段计算机程序由该处理器1001加载并执行以实现上述各个方法实施例提供的基于大语言模型的问答方法。当然,该计算机设备还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该计算机设备还可以包括其他用于实现设备功能的部件,在此不做赘述。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一段计算机程序,该至少一段计算机程序由计算机设备的处理器加载并执行以实现上述实施例的方法中计算机设备所执行的操作。例如,所述计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、光盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
在一些实施例中,本申请实施例所涉及的计算机程序可被部署在一个计算机设备上执行,或者在位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行,分布在多个地点且通过通信网络互连的多个计算机设备可以组成区块链系统。
本申请实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行上述各种可选实现方式中提供的基于大语言模型的问答方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (17)
1.一种基于大语言模型的问答方法,其特征在于,所述方法包括:
基于第一问题和多个第一问答对,获取多个第二问题,所述第一问答对是用户在问答过程中位于所述第一问题之前的问答对,所述多个第二问题与所述第一问题语义相同但表达方式不同;
针对所述多个第二问题,分别按照第一召回方式获取每个第二问题的多个第一提示文本,按照第二召回方式获取每个第二问题的多个第二提示文本,所述第一召回方式与所述第二召回方式不同;
基于每个所述第一提示文本与所述第一问题之间的相关度以及每个所述第二提示文本与所述第一问题之间的相关度,从所述多个第二问题的多个第一提示文本和所述多个第二问题的多个第二提示文本中,获取所述第一问题的参考文本,所述相关度指示提示文本与问题之间的相关程度;
调用大语言模型对所述第一问题、所述多个第一问答对和所述第一问题的参考文本进行处理,输出所述第一问题的答案。
2.根据权利要求1所述的方法,其特征在于,所述基于第一问题和多个第一问答对,获取多个第二问题包括下述至少一项:
基于目标语法结构,对所述第一问题进行调整;
基于所述多个第一问答对,获取所述第一问题中的指代词所指代的对象,将所述第一问题中的指代词替换为所述对象;
拼接所述第一问题和所述多个第一问答对中与所述第一问题相关的内容;
调用所述大语言模型对所述第一问题和所述多个第一问答对进行处理。
3.根据权利要求1所述的方法,其特征在于,所述按照第一召回方式获取每个第二问题的多个第一提示文本包括:
对于任一第二问题,针对第一知识库中的任一第一文本,若所述第一文本包含所述第二问题,则获取所述第二问题在所述第一文本中的重要度,所述重要度指示所述第二问题在所述第一文本中的重要程度;
将所述第一知识库中重要度最大的第一数量的第一文本作为所述第二问题的多个第一提示文本。
4.根据权利要求1所述的方法,其特征在于,所述按照第二召回方式获取每个第二问题的多个第二提示文本包括:
对于任一第二问题,针对第二知识库中的任一第二文本,获取所述第二文本与所述第二问题之间的相似度,所述相似度指示所述第二问题对应的向量与所述第二文本对应的向量之间的相似程度;
将所述第二知识库中相似度最大的第二数量的第二文本作为所述第二问题的多个第二提示文本。
5.根据权利要求1所述的方法,其特征在于,所述基于每个所述第一提示文本与所述第一问题之间的相关度以及每个所述第二提示文本与所述第一问题之间的相关度,从所述多个第二问题的多个第一提示文本和所述多个第二问题的多个第二提示文本中,获取所述第一问题的参考文本包括:
基于每个所述第一提示文本与所述第一问题之间的相关度以及每个所述第二提示文本与所述第一问题之间的相关度,从所述多个第二问题的多个第一提示文本中获取所述第一问题的至少一个第三提示文本,从所述多个第二问题的多个第二提示文本中获取所述第一问题的至少一个第四提示文本;
基于所述第一问题的至少一个第三提示文本和所述第一问题的至少一个第四提示文本,获取所述参考文本。
6.根据权利要求5所述的方法,其特征在于,每个所述第一提示文本与所述第一问题之间的相关度的获取过程包括:
针对任一第一提示文本,将所述第一提示文本的来源对应的权重获取为所述第一提示文本的重要度的权重;
基于所述第一提示文本的重要度和所述第一提示文本的重要度的权重,获取所述第一提示文本与所述第一问题之间的相关度。
7.根据权利要求5所述的方法,其特征在于,所述每个所述第二提示文本与所述第一问题之间的相关度的获取过程包括:
针对任一第二提示文本,将所述第二提示文本的来源对应的权重获取为所述第二提示文本的相似度的权重;
基于所述第二提示文本的相似度和所述第二提示文本的相似度的权重,获取所述第二提示文本与所述第一问题之间的相关度。
8.根据权利要求5所述的方法,其特征在于,所述基于所述第一问题的至少一个第三提示文本和所述第一问题的至少一个第四提示文本,获取所述参考文本包括:
将所述第一问题的至少一个第三提示文本和所述第一问题的至少一个第四提示文本拼接为所述参考文本;或,
调用所述大语言模型对所述第一问题的至少一个第三提示文本和所述第一问题的至少一个第四提示文本进行处理,得到所述第一问题的至少一个第五提示文本;
将所述第一问题的至少一个第五提示文本拼接为所述参考文本。
9.根据权利要求3所述的方法,其特征在于,所述第一文本的获取过程包括:
获取多个第一原始文本;
针对每个第一原始文本,获取所述第一原始文本的标题结构,所述标题结构指示所述第一原始文本内所包含的标题以及标题之间的关系;
针对每个第一原始文本中的多个文本段,获取每个所述文本段的关键词;
针对每个所述文本段,组合所述文本段、所述文本段的关键词和所述文本段所属的标题,得到所述文本段对应的第一文本。
10.根据权利要求9所述的方法,其特征在于,所述获取多个第一原始文本包括:
获取多个第二问答对,所述多个第二问答对是不同用户的问答过程中的问答对;
调用所述大语言模型对所述多个第二问答对进行处理,得到所述第一原始文本。
11.根据权利要求4所述的方法,其特征在于,所述第二文本的获取过程包括:
获取多个第二原始文本;
针对每个第二原始文本中的多个问答片段,获取每个所述问答片段的主要问题、所述主要问题对应的答案和所述主要问题对应的向量,所述问答片段包括多个第三问答对,所述多个第三问答对是不同用户的问答过程中的问答对,所述主要问题指示所述问答片段的询问意图;
针对每个所述问答片段,组合所述问答片段、所述问答片段的主要问题、所述主要问题对应的答案和所述主要问题对应的向量,得到所述问答片段对应的第二文本。
12.根据权利要求11所述的方法,其特征在于,所述获取每个所述问答片段的主要问题包括:
针对每个所述问答片段,调用所述大语言模型对所述问答片段进行处理,得到所述问答片段的主要问题。
13.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述第一问题和所述多个第一问答对,获取所述第一问题的类别;
所述按照第二召回方式获取每个第二问题的多个第二提示文本包括:
对于任一第二问题,针对第二知识库中与所述第一问题的类别相符的任一第二文本,获取所述第二文本与所述第二问题之间的相似度,所述相似度指示所述第二问题对应的向量与所述第二文本对应的向量之间的相似程度;
将所述第二知识库中相似度最大的第二数量的第二文本作为所述第二问题的多个第二提示文本。
14.一种基于大语言模型的问答装置,其特征在于,所述装置包括:
问题获取模块,用于基于第一问题和多个第一问答对,获取多个第二问题,所述第一问答对是用户在问答过程中位于所述第一问题之前的问答对,所述多个第二问题与所述第一问题语义相同但表达方式不同;
提示文本获取模块,用于针对所述多个第二问题,分别按照第一召回方式获取每个第二问题的多个第一提示文本,按照第二召回方式获取每个第二问题的多个第二提示文本,所述第一召回方式与所述第二召回方式不同;
参考文本获取模块,用于基于每个所述第一提示文本与所述第一问题之间的相关度以及每个所述第二提示文本与所述第一问题之间的相关度,从所述多个第二问题的多个第一提示文本和所述多个第二问题的多个第二提示文本中,获取所述第一问题的参考文本,所述相关度指示所述提示文本与问题之间的相关程度;
答案获取模块,用于调用大语言模型对所述第一问题、所述多个第一问答对和所述第一问题的参考文本进行处理,输出所述第一问题的答案。
15.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器用于存储至少一段计算机程序,所述至少一段计算机程序由所述处理器加载并执行权利要求1至13任一项权利要求所述的基于大语言模型的问答方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储至少一段计算机程序,所述至少一段计算机程序用于执行权利要求1至13任一项权利要求所述的基于大语言模型的问答方法。
17.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至13任一项权利要求所述的基于大语言模型的问答方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410409687.8A CN117992599A (zh) | 2024-04-07 | 2024-04-07 | 基于大语言模型的问答方法、装置及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410409687.8A CN117992599A (zh) | 2024-04-07 | 2024-04-07 | 基于大语言模型的问答方法、装置及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117992599A true CN117992599A (zh) | 2024-05-07 |
Family
ID=90896350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410409687.8A Pending CN117992599A (zh) | 2024-04-07 | 2024-04-07 | 基于大语言模型的问答方法、装置及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117992599A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020074205A (ja) * | 2020-01-27 | 2020-05-14 | 日本電信電話株式会社 | 回答候補生成装置、回答候補生成方法、及びプログラム |
CN111339268A (zh) * | 2020-02-19 | 2020-06-26 | 北京百度网讯科技有限公司 | 实体词识别方法和装置 |
CN112214593A (zh) * | 2020-11-05 | 2021-01-12 | 腾讯科技(深圳)有限公司 | 问答处理方法、装置、电子设备及存储介质 |
WO2021139297A1 (zh) * | 2020-07-28 | 2021-07-15 | 平安科技(深圳)有限公司 | 基于Transformer模型的问答方法、问答装置及存储装置 |
CN114416927A (zh) * | 2022-01-24 | 2022-04-29 | 招商银行股份有限公司 | 智能问答方法、装置、设备及存储介质 |
US20230036072A1 (en) * | 2019-06-24 | 2023-02-02 | Zeyu GAO | AI-Based Method and System for Testing Chatbots |
CN116756278A (zh) * | 2023-05-15 | 2023-09-15 | 阿里巴巴(中国)有限公司 | 机器问答方法以及装置 |
CN117290492A (zh) * | 2023-11-27 | 2023-12-26 | 深圳市灵智数字科技有限公司 | 知识库问答方法、装置、电子设备及存储介质 |
-
2024
- 2024-04-07 CN CN202410409687.8A patent/CN117992599A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230036072A1 (en) * | 2019-06-24 | 2023-02-02 | Zeyu GAO | AI-Based Method and System for Testing Chatbots |
JP2020074205A (ja) * | 2020-01-27 | 2020-05-14 | 日本電信電話株式会社 | 回答候補生成装置、回答候補生成方法、及びプログラム |
CN111339268A (zh) * | 2020-02-19 | 2020-06-26 | 北京百度网讯科技有限公司 | 实体词识别方法和装置 |
WO2021139297A1 (zh) * | 2020-07-28 | 2021-07-15 | 平安科技(深圳)有限公司 | 基于Transformer模型的问答方法、问答装置及存储装置 |
CN112214593A (zh) * | 2020-11-05 | 2021-01-12 | 腾讯科技(深圳)有限公司 | 问答处理方法、装置、电子设备及存储介质 |
CN114416927A (zh) * | 2022-01-24 | 2022-04-29 | 招商银行股份有限公司 | 智能问答方法、装置、设备及存储介质 |
CN116756278A (zh) * | 2023-05-15 | 2023-09-15 | 阿里巴巴(中国)有限公司 | 机器问答方法以及装置 |
CN117290492A (zh) * | 2023-11-27 | 2023-12-26 | 深圳市灵智数字科技有限公司 | 知识库问答方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110337645B (zh) | 可适配的处理组件 | |
CN111708873A (zh) | 智能问答方法、装置、计算机设备和存储介质 | |
US9542441B1 (en) | Using web ranking to resolve anaphora | |
US20220405484A1 (en) | Methods for Reinforcement Document Transformer for Multimodal Conversations and Devices Thereof | |
KR20180048624A (ko) | 질의 응답 시스템의 훈련 장치 및 그것을 위한 컴퓨터 프로그램 | |
CN112214593A (zh) | 问答处理方法、装置、电子设备及存储介质 | |
US10896377B2 (en) | Categorizing concept terms for game-based training in cognitive computing systems | |
US11556573B2 (en) | Semantic cluster formation in deep learning intelligent assistants | |
WO2019116253A1 (en) | Supporting evidence retrieval for complex answers | |
CN111930914A (zh) | 问题生成方法和装置、电子设备以及计算机可读存储介质 | |
CN116561538A (zh) | 问答评分方法、问答评分装置、电子设备及存储介质 | |
Haffar et al. | Use of indexed Arabic text in e-learning system | |
CN115221294A (zh) | 对话处理方法、装置、电子设备及存储介质 | |
CN115827819A (zh) | 一种智能问答处理方法、装置、电子设备及存储介质 | |
US11188844B2 (en) | Game-based training for cognitive computing systems | |
CN116541493A (zh) | 基于意图识别的交互应答方法、装置、设备、存储介质 | |
CN116662502A (zh) | 基于检索增强的金融问答文本生成方法、设备及存储介质 | |
CN114722174A (zh) | 提词方法和装置、电子设备及存储介质 | |
US11893347B2 (en) | Contrastive meta-learning for zero-shot learning | |
CN117932022A (zh) | 一种智能问答方法、装置、电子设备及存储介质 | |
CN117992599A (zh) | 基于大语言模型的问答方法、装置及计算机设备 | |
WO2023098971A1 (en) | Method and apparatus for self-supervised extractive question answering | |
CN114297353A (zh) | 数据处理方法、装置、存储介质及设备 | |
Sharma et al. | Prashn: University Voice Assistant | |
CN112749553A (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 |