一种基于大语言模型的上下文构造方法与流程

未命名 10-08 阅读:88 评论:0


1.本发明涉及人机对话领域,特别涉及一种基于大语言模型的上下文构造方法。


背景技术:

2.基于大语言模型(llm,large language model)的对话机器人,需要具备记忆功能,才能实现多轮对话。智能助理(intelligent assistant)是基于大语言模型的对话机器人的一个特殊应用场景。智能助理不仅需要实现用户问答过程,还需要判断用户意图,从而帮助用户执行某种任务。这个任务可能较为复杂,需要用户和机器进行多轮沟通;也有可能需要执行一个需要等待的操作,等执行完毕后再通知用户。但是,随着智能助手与用户的对话轮次逐渐增加,对话中涉及的内容过多,而且会将不同任务的信息混合到一个长对话中。这会导致智能助手无法准确判断用户当前的任务,从而导致出现指令理解错误。
3.大模型每次进行问答时,是通过嵌入上下文(context)来实现对于之前聊天内容的记忆,但是这个嵌入是有限制的,具体取决于模型的能力(例如:gpt-3.5-turbo模型,当前最多能带入4千个token,约2千个汉字)。为了实现长期记忆以进行多轮对话,通常的处理方法,包括设置对话轮数限制,或者使用向量库来检索最相似问题。例如微软的new bing,会限制用户每次对话的上限(例如20次)。当对话数超过这一上限时,需要用户重启一个新的对话。而类似langchain等大语言模型的框架,则提供了更多选择,包括通过对之前对话进行总结(summary),或者嵌入与用户问题最为相似(通常使用向量相似度等方法)的历史对话。但是,langchain等框架,在构造智能助理时,也限定了具体的对话类型(在langchain中,每种对话类型提供了相应的chain),包括:问答型助理(qa型的llm chain)、多轮对话型助理(conversation chain)等。这也造成了智能助理能力的局限性,因为针对不同任务,需要提前指定是哪种chain。
4.当前这些方法,能够满足大部分人机询问类(qa,question and answer)对话的需求,但是难以在智能助理的场景发挥作用。因为智能助理不仅需要回答问题,而且还需要帮助用户完成交待的任务,所以需要特别精确地将对话进行分析,识别出自己需要执行的操作。除此之外,还需要将不同的对话记录,甚至于时间跨度在多天以上的对话记录与特定的任务进行关联,从而使语言模型能够正确理解每个任务的细节,进而才能做出正确的决策。
5.因此,现有技术仍需要改进。


技术实现要素:

6.本专利申请的技术方案旨在解决基于llm的智能助理,由于长期记忆缺乏逻辑而影响用户体验和使用效率的问题。
7.为实现上述目的,本发明采用下述技术方案:本发明提供一种基于大语言模型的上下文构造方法,包括下列步骤:s1:提供一历史对话集合,所述历史对话集合包括若干条对话i;s2:针对所述历史对话集合中的每条对话i,基于时间顺序赋予时效权重si;
s3:识别用户新输入对话的主题j;s4:计算当前对话的主题j与所述历史对话集合中的每条所述对话i的相关性,得到每条所述对话i相对于当前对话的主题j的主题相关性系数cij;s5:筛选出所述主题相关性系数cij中高于阈值的若干对话i,构建最接近对话集合;s6:基于所述最接近对话集合中每条所述对话i的时效权重si和主题相关性系数cij,计算得到每条对话i的综合权重dij;s7:筛选出所述综合权重dij较高的若干对话i,并构建对应当前对话主题j的上下文;s8:将所述上下文与用户的新输入对话共同输入至大语言模型,并向用户输出大语言模型返回的答复结果;s9:本次对话结束后,记录本次对话的内容,将其逐条向量化存储至所述历史对话集合中。
8.进一步的,基于时间顺序赋予时效权重si,包括:s21:获取所述历史对话集合中的每条对话i的对话时间;s22:对每条对话i赋予时效权重si;其中,距离当前时间越近的对话i,其时效权重si值越高。
9.进一步的,识别用户输入的新对话的主题j,包括:识别用户输入的新对话主题为闲聊主题;或,识别用户输入的新对话主题为有效主题;或,识别用户输入的新对话主题为指正错误主题。
10.进一步的,计算当前对话的主题j的表示向量和所述历史对话集合中的每条所述对话i的表示向量的相似度和/或距离,获得每条所述对话i相对于当前对话主题j的主题相关性系数cij;相关系数筛选时所用到的阈值设定,采用基于分位数的方法进行初始设定,例如:将所有的cij值按大小排序,选择90%分位数的值作为阈值,这意味着最相关的10%的对话会被选中;然后,根据系统在实际使用中的表现进行调整(例如,如果系统经常错过相关对话,可以考虑降低阈值;如果系统返回太多不相关的对话,可以考虑提高阈值)。
11.进一步的,若识别到用户输入的新对话主题为闲聊主题,则跳过s4至s8。
12.进一步的,若识别到用户输入的新对话主题为指正错误主题,则将所述历史对话集合中距离用户输入的新对话在时间上最近的一次对话中的全部对话内容记录至系统日志中,并进行特殊符号标识。
13.进一步的,筛选出所述述综合权重dij较高的若干对话i,并构建对应当前对话主题j的上下文,包括:s71:获取当前选用的大语言模型容许输入的总字符长度lt;s72:对用户输入的对话语义压缩为提示词,计算提示词的字符长度lp;语义压缩方法依据具体的任务场景而定,面向常规任务的智能助理采用传统的文本摘要技术,如面向特殊领域,采用基于该领域语料进行特定的预训练transformer模型;s73:将总字符长度减去提示词的字符长度,即获得可构建上下文的字符长度lc;s74:判断所述最接近对话集合中的全部对话的长度lh是否大于可构建上下文的
字符长度lc;若lh>lc,则结合最接近对话集合中每条对话i的综合权重dij及相应的每条对话i的字符长度li,采用近似算法选取最接近对话集合中的部分对话向量i构建上下文;若lh≤lc,则选取最接近对话集合中的每条对话i构建上下文。
14.进一步的,若lh>lc,则获取最接近对话集合中每条对话i的综合权重dij及相应的每条对话i的字符长度li,计算每条对话i的比例权重qi=dij/li,优先选取比例权重qi更高的对话i,直至可构建上下文的字符长度lc被填满。
15.进一步的,识别用户新输入对话的主题j包括:采用一个规模较小的预训练语言模型识别新输入对话并给出主题分类,或,使用分类器对新输入对话进行分类。
16.进一步的,使用多种对话主题j的示例作为输入、使用机器学习算法对分类器进行训练,所述机器学习算法包括支持向量机、决策树、随机森林及神经网络中的一种或多种。
17.进一步的,若识别用户输入的新对话主题为有效主题,则在s5中具体包括下列步骤:判定是否存在所述主题相关性系数cij中高于阈值的对话i;若是,则筛选出对应的对话i并构建最接近对话集合;否则,记录当前对话的主题j为新主题,跳过s4至s7,并将上下文定义为空。
18.本发明的有益效果在于:在对话过程中通过判断任务类型,将对话进行精准的筛选,再插入到上下文中。这种方法能够帮助智能助理背后的大语言模型,能够精确获得当前要执行的任务,以及这些任务的背景信息,从而能够快速准确地执行任务,提供人机交互的效率。
附图说明
19.图1是本发明的整体处理流程图;图2是本发明对用户输入进行分类处理部分的流程图;图3是本发明上下文构建策略部分的流程图。
具体实施方式
20.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
21.如图1所示,本发明提供一种基于大语言模型的上下文构造方法,接下来以如下的例子对发明内容进行说明,本发明包括下列步骤:s1:提供一历史对话集合,所述历史对话集合包括:若干对话i11~i1n:1周前,用户询问了关于纳斯达克的整体走势;对话i21~i2n:3天前,用户询问了关于特斯拉股票的pe(市盈率)指标。
22.s2:针对上述的对话i10~i1n,赋予时间权重s
i10
~s
i1n
,针对上述的对话i
20
~i
2n
,赋予时间权重s
i20
~s
i2n
;其中时间权重随着时间变化,距离当前时间越远的对话,时间权重越低;s3:用户新输入了对话,内容为:“我想知道macd指标应该如何解读?另外,今天外
s9:本次对话结束后,记录本次对话的内容,将其逐条向量化存储至所述历史对话集合中。
30.对话结束的判定可以由如下规则判定,若用户之后又询问了与前面内容无关的新主题,例如:“你知道今天的足球比赛结果吗?
”ꢀ
或用户超过十分钟未输入新的对话,则系统判定该次对话结束。
31.此外,若识别用户输入的新对话主题为有效主题,但在历史记录中并不存在主题相关性系数高于筛选阈值的对话,则记录当前对话的主题为新主题,跳过s4至s7,不再尝试构建上下文,而是将上下文定义为空后直接输入系统。
32.以上,采用本发明提供的上下文嵌入方法,能够在对话过程中通过判断任务类型,将历史对话进行精准的筛选并插入到上下文中,这种方法能够帮助智能助理背后的大语言模型精确理解当前要执行的任务及这些任务的背景信息,从而能够快速准确地执行任务,提高人机交互的效率,具备显著的有益效果。

技术特征:
1.一种基于大语言模型的上下文构造方法,其特征在于,包括下列步骤:s1:提供一历史对话集合,所述历史对话集合包括若干条对话i;s2:针对所述历史对话集合中的每条对话i,基于时间顺序赋予时效权重si;s3:识别用户新输入对话的主题j;s4:计算当前对话的主题j与所述历史对话集合中的每条所述对话i的相关性,得到每条所述对话i相对于当前对话的主题j的主题相关性系数cij;s5:筛选出所述主题相关性系数cij中高于阈值的若干对话i,构建最接近对话集合;s6:基于所述最接近对话集合中每条所述对话i的时效权重si和主题相关性系数cij,计算得到每条对话i的综合权重dij;s7:筛选出所述综合权重dij较高的若干对话i,并构建对应当前对话主题j的上下文;s8:将所述上下文与用户的新输入对话共同输入至大语言模型,并向用户输出大语言模型返回的答复结果;s9:本次对话结束后,记录本次对话的内容,将其逐条向量化存储至所述历史对话集合中。2.根据权利要求1所述的基于大语言模型的上下文构造方法,其特征在于,基于时间顺序赋予时效权重si,包括:s21:获取所述历史对话集合中的每条对话i的对话时间;s22:对每条对话i赋予时效权重si;其中,距离当前时间越近的对话i,其时效权重si值越高。3.根据权利要求1所述的基于大语言模型的上下文构造方法,其特征在于,识别用户输入的新对话的主题j,包括:识别用户输入的新对话主题为闲聊主题;或,识别用户输入的新对话主题为有效主题;或,识别用户输入的新对话主题为指正错误主题。4.根据权利要求1所述的基于大语言模型的上下文构造方法,其特征在于,计算当前对话的主题j的表示向量和所述历史对话集合中的每条所述对话i的表示向量的相似度和/或距离,获得每条所述对话i相对于当前对话主题j的主题相关性系数cij。5.根据权利要求3所述的基于大语言模型的上下文构造方法,其特征在于,若识别到用户输入的新对话主题为闲聊主题,则跳过s4至s7,并将上下文定义为空。6.根据权利要求3所述的基于大语言模型的上下文构造方法,其特征在于,若识别到用户输入的新对话主题为指正错误主题,则将所述历史对话集合中距离用户输入的新对话在时间上最近的一次对话中的全部对话内容记录至系统日志中,并进行特殊符号标识。7.根据权利要求1所述的基于大语言模型的上下文构造方法,其特征在于,筛选出所述述综合权重dij较高的若干对话i,并构建对应当前对话主题j的上下文,包括:s71:获取当前选用的大语言模型容许输入的总字符长度lt;s72:对用户输入的对话进行语义压缩,形成长度更短的提示词,计算提示词的字符长度lp;s73:将总字符长度减去提示词的字符长度,即获得可构建上下文的字符长度lc;s74:判断所述最接近对话集合中的全部对话的长度lh是否大于可构建上下文的字符
长度lc;若lh>lc,则结合最接近对话集合中每条对话i的综合权重dij及相应的每条对话i的字符长度li,采用近似算法选取最接近对话集合中的部分对话向量i构建上下文;若lh≤lc,则选取最接近对话集合中的每条对话i构建上下文。8.根据权利要求1所述的基于大语言模型的上下文构造方法,其特征在于,识别用户新输入对话的主题j包括:采用大语言模型识别新输入对话并给出主题分类,或,使用分类器对新输入对话进行分类;使用多种对话主题j的示例作为输入、使用机器学习算法对分类器进行训练,所述机器学习算法包括支持向量机、决策树、随机森林及神经网络中的一种或多种。9.根据权利要求1所述的基于大语言模型的上下文构造方法,其特征在于,当用户新输入的对话的主题与前次对话的主题不一致时,或,新输入的对话与前次对话时长超过阈值时,判定前次对话结束。10.根据权利要求3所述的基于大语言模型的上下文构造方法,其特征在于,若识别用户输入的新对话主题为有效主题,则在s5中具体包括下列步骤:判定是否存在所述主题相关性系数cij中高于阈值的对话i;若是,则筛选出对应的对话i并构建最接近对话集合;否则,记录当前对话的主题j为新主题,跳过s4至s7,并将上下文定义为空。

技术总结
本发明涉及人机对话领域,特别涉及一种基于大语言模型的上下文构造方法,在对话过程中通过判断任务类型,将对话进行精准的筛选,再插入到上下文中。这种方法能够帮助智能助理背后的大语言模型,能够精确获得当前要执行的任务,以及这些任务的背景信息,从而能够快速准确地执行任务,提供人机交互的效率,具备显著的有益效果。的有益效果。的有益效果。


技术研发人员:吕亮 赵桐 闵凯 张雷
受保护的技术使用者:北京珊瑚礁科技有限公司
技术研发日:2023.08.28
技术公布日:2023/10/5
版权声明

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

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

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

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

分享:

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

相关推荐