CN116795971A - 一种基于生成式语言模型的人机对话场景构建系统 - Google Patents
一种基于生成式语言模型的人机对话场景构建系统 Download PDFInfo
- Publication number
- CN116795971A CN116795971A CN202310974465.6A CN202310974465A CN116795971A CN 116795971 A CN116795971 A CN 116795971A CN 202310974465 A CN202310974465 A CN 202310974465A CN 116795971 A CN116795971 A CN 116795971A
- Authority
- CN
- China
- Prior art keywords
- node
- machine
- content
- user
- module
- 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
- 238000010276 construction Methods 0.000 title claims abstract description 15
- 238000012545 processing Methods 0.000 claims abstract description 72
- 230000003993 interaction Effects 0.000 claims abstract description 17
- 210000002569 neuron Anatomy 0.000 claims description 40
- 230000006870 function Effects 0.000 claims description 31
- 238000012549 training Methods 0.000 claims description 25
- 238000000034 method Methods 0.000 claims description 23
- 238000013528 artificial neural network Methods 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 18
- 238000007726 management method Methods 0.000 claims description 15
- 239000013598 vector Substances 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 9
- 125000004122 cyclic group Chemical group 0.000 claims description 8
- 230000001960 triggered effect Effects 0.000 claims description 4
- 238000003058 natural language processing Methods 0.000 description 36
- 238000011835 investigation Methods 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于生成式语言模型的人机对话场景构建系统,属于人机交互技术领域。本发明包括场景预设模块、脚本生成模块、用户意图处理模块、路由逻辑处理模块、数据生成与处理模块以及知识库节点处理模块;以上模块根据用户预设场景描述信息,生成机器节点的脚本,根据用户回复内容,判断是否存在相似性用户意图,并进行归并或生成新的用户意图,根据预设信息和语言模型确定下一次交互中的机器内容和用户内容,并形成路由链,基于生成式语言模型生成机器内容,判断是否存在相似性意图,并形成机器节点和用户意图的路由链,触发离散知识点输出节点内容,并实现流程记忆回归,从而搭建出通用的封闭式人机对话场景。
Description
技术领域
本发明涉及人机交互技术领域,具体为一种基于生成式语言模型的人机对话场景构建系统。
背景技术
随着人工智能技术的不断发展,人机交互已经成为了一个越来越重要的研究领域。在人机交互中,对话系统是一个重要的研究方向。对话系统是指能够进行人机对话的计算机程序,通过对话系统,用户可以与计算机进行自然语言交互,从而实现各种实用功能。
然而,传统的对话系统往往需要大量的人工干预和手动设计,难以满足实际应用的需求。尤其是对于复杂的对话场景,传统的对话系统难以胜任。因此,如何实现智能化的对话场景构建和自动化的对话内容生成,成为了当前人机交互领域的一个研究热点。
发明内容
本发明的目的在于提供一种基于生成式语言模型的人机对话场景构建系统,以解决上述背景技术中提出的问题。
为了解决上述技术问题,本发明提供如下技术方案:
一种基于生成式语言模型的人机对话场景构建系统,系统包括场景预设模块、脚本生成模块、用户意图生成模块、数据生成与处理模块、路由逻辑处理模块以及循环处理与知识库管理模块;
场景预设模块接收和定义对话场景的整体背景和目标,并记为预设信息;
脚本生成模块根据场景预设模块的预设信息获得机器开始节点信息及脚本,脚本为机器内容;将机器内容通过NLP语义模型预测场景内其他节点信息,并根据置信度分值判断是否存在相似性的机器节点,并进行节点脚本信息归递或生成新的机器节点;
用户意图生成模块根据场景预设模块的预设信息和脚本生成模块的机器内容请求生成式预训练语言模型预测获得用户回复内容,用户回复内容为用户内容,将用户内容通过NLP语义模型判断是否存在相似性用户意图,并进行归并或生成新的用户意图;
数据生成与处理模块用于创建和定义脚本生成模块的机器节点下用户意图;
路由逻辑处理模块根据场景预设模块的预设信息、脚本生成模块的机器内容和用户意图生成模块的用户内容,请求生成式预训练语言模型获取下一次交互中的机器内容或用户内容,判断是否存在相似性机器节点,最后形成机器节点与用户意图的路由链;
循环处理与知识库管理模块根据场景预设模块、脚本生成模块、用户意图生成模块、数据生成与处理模块、路由逻辑处理模块提供的的数据生成与处置流程,进行循环处理,无限制的重复数据生成与处置流程,完成场景生成;再通过定义结束节点,结束对话过程;
场景预设模块的输出端与脚本生成模块的输入端相连接;脚本生成模块的输出端与用户意图生成模块的输入端相连接;用户意图生成模块的输出端与数据生成与处理模块的输入端相连接;数据生成与处理模块的输出端与路由逻辑处理模块的输入端相连接;路由逻辑处理模块的输出端与知识库节点处理模块的输入端相连接。
进一步的,脚本生成模块包括节点信息获取单元、相似性节点判断单元和节点生成与归并单元;
节点信息获取单元基于场景预设模块的预设信息,获得机器开始节点信息及机器内容;将机器开始节点信息输入相似性节点判断单元的NLP语义模型,通过机器开始节点信息预测场景内其他节点信息,判断是否存在相似性机器节点;若未存在相似性节点,则生成机器节点;若存在相似性节点,则将本节点脚本信息归递到相似性节点脚本的下一个序列,并将结果输至节点生成与归并单元;节点脚本信息归递就是将脚本标记到相应节点的下一个序列。
进一步的,相似性节点判断与脚本生成单元包括:
将机器开始节点信息输入NLP语义模型,通过节点信息预测场景内其他节点信息,根据置信度分值,判断是否存在相似性机器节点;其中置信度通过softmax函数计算得出,在NLP语义模型中,给定一个输入样本,通过前向传播计算出每个类别的得分,然后使用softmax函数将它们转换为概率;softmax函数的公式如下:
其中,j表示数据编号,取值为1到n,xi表示第i个类别的得分,n表示类别总数;softmax函数将得分转换为概率,使得所有概率之和为1;
根据样本预测返回的置信度,设定一个业务阈值A,若置信度小于业务阈值A,则未存在相似性节点,生成机器节点A;若置信度大于等于业务阈值A,则存在相似性节点,将本节点脚本信息归递到相似性节点脚本的下一个序列。
进一步的,前向传播计算包括:
首先,将输入样本表示为向量X=[x1,x2,...,xn],其中n是输入的特征数量,x1表示第1个样本特征,x2表示第2个样本特征,以此类推xn表示第n个样本特征;
对于每一层的神经网络,从输入层开始到输出层结束,计算加权和,计算公式为:
其中l为神经网络的层数,m(l-1)表示第l-1层的神经元数量,i表示第l-1层中的每个神经元的索引,范围从1到m(l-1),是连接第l-1层的第i个神经元和第l层的第j个神经元的权重,/>表示第l-1层中第i个神经元的输出结果,/>表示第l层中第j个神经元的偏置项,/>表示第l层中第j个神经元的加权和;
根据公式:计算每一层的所有神经元输出结果,其中/>为激活函数,将加权和/>输入进行处理得到第l层中第j个神经元的输出/>
神经网络的最终输出结果为最后一层的输出:其中/>表示第L层的第1个神经元的输出,/>表示第L层的第2个神经元的输出,以此类推/>表示第L层的第k个神经元的输出,L是输出层的索引,k是输出的类别数量;最后将神经网络的最终输出结果作为每个类别的得分xi。
进一步的,用户意图生成模块包括用户回复生成单元、用户意图相似性判断单元和用户意图生成与归并单元;
用户回复生成单元基于场景预设模块的预设信息与脚本生成模块的机器内容请求生成式预训练语言模型预测获得用户回复内容;用户意图相似性判断单元将用户内容输入NLP语义模型判断是否存在相似性用户意图;若未存在相似性意图,则生成用户意图,否则归并至相似性意图,并将判断结果输至用户意图生成与归并单元。
进一步的,用户意图相似性判断单元包括:
将用户回复内容输入NLP语义模型,根据置信度分值,判断是否存在相相似性意图;其中置信度通过softmax函数计算得出,在NLP语义模型中,给定一个输入样本,通过前向传播计算出每个类别的得分,然后使用softmax函数将它们转换为概率;
根据样本预测返回的置信度,设定一个业务阈值B,若置信度小于业务阈值B,则未存在相似性意图,生成用户意图;若置信度大于等于业务阈值B,则归并至相似性意图,并将判断结果输至用户意图生成与归并单元。
进一步的,路由逻辑处理模块包括路由链形成一单元和路由链形成二单元:
路由链形成一单元首先由脚本生成模块生成机器内容A1和机器节点A,通过用户意图生成模块生成用户内容A和用户意图A;
通过数据生成与处理模块完成机器节点A下用户意图A的创建与定义;
再通过脚本生成模块将预设信息、机器内容A1和用户内容A信息请求生成式预训练语言模型,获得机器内容A2;
将机器内容A2输入NLP语义模型,通过节点信息预测场景内其他节点信息,根据置信度分值,判断是否存在相似性机器节点;
在这个过程中若存在相似性节点,则将本节点脚本信息归递到相似性节点脚本的下一个序列;否则执行脚本生成模块的节点生成与归并单元的步骤,在此列举存在相似性节点,即判断机器内容A2和机器内容A1的相似性,若机器内容A2和机器内容A1相似,则将相似的机器内容A2归递到相似性机器节点A的节点信息中;
形成机器节点A→用户意图A→机器节点A路由链;
路由链形成二单元首先通过用户意图生成模块将预设信息、机器内容A1信息、用户内容A信息和机器内容A2信息请求生成式预训练语言模型,获得用户内容B;将用户内容B输入NLP语义模型判断是否存在相似性用户意图;若未存在相似性意图,则生成用户意图B,否则归并相似意图;
通过数据生成与处理模块完成机器节点A下用户意图B的创建与定义;
再通过脚本生成模块将预设信息、机器内容A1信息、用户内容A信息、机器内容A2和用户内容B请求生成式预训练语言模型,获得机器内容B1;
将机器内容B1输入NLP语义模型判断是否存在相似性机器节点;
若未存在相似性节点,则生成机器节点B,否则归并到相同节点下脚本序列;
形成机器节点A→用户意图B→机器节点B路由链。
进一步的,循环处理与知识库管理模块包括循环处理单元、结束节点管理单元和离散知识库节点单元;
循环处理单元根据场景预设模块、脚本生成模块、用户意图生成模块、数据生成与处理模块、路由逻辑处理模块提供的的数据生成与处置流程,进行循环处理,无限制地重复生成场景并进行对话交互,达到场景生成的目的;结束节点管理单元定义任意一个非开始节点为结束节点,在交互过程中,进入结束节点即对话过程的结束;
离散知识库节点单元定义任意一个非开始和结束节点为离散知识库节点,这些节点可以置于流程链之外,并通过用户回复语义触发离散知识点,输出节点内容;在节点内容输出结束后,下一轮对话中,默认回到上次离开的流程节点,完成知识库节点回归流程记忆。
生成式预训练语言模型预测的基本流程为:
将输入的文本序列表示为词嵌入向量;对于每个时间步t,且从序列的第一个词开始;所述输入的文本序列可以是预设信息和机器内容,或预设信息、机器内容和用户内容;
输入词嵌入向量x(t),x(t)表示在时间步t的输入词嵌入向量;
将向量表示的文本序列输入到神经网络中进行处理,计算公式为:
h(t)=f(W·x(t)+U·h(t-1)+b)
其中h(t)表示在时间步t的隐藏状态,携带着之前序列信息的累积;W输入到神经网络中的权重矩阵,用于将输入词嵌入向量与之前的隐藏状态进行加权求和;U表示神经网络中的循环权重矩阵,用于将之前的隐藏状态与当前隐藏状态进行循环计算;b表示偏置项,对应于隐藏状态更新公式中的偏置项;f表示激活函数;
根据公式y(t)=g(V·h(t)+c),对神经网络的输出层进行计算,其中V和c是输出层的权重矩阵和偏置项,g是softmax函数,用于将输出转化为概率分布;
根据y(t)的概率分布,选择概率最高的词汇作为下一个生成的词汇,并将其添加到生成的文本序列中,生成的文本序列可以是机器内容或用户内容。
与现有技术相比,本发明所达到的有益效果是:能够将大量的文本数据进行分类和分组,通过对已有的文本数据进行分析和比较,找出它们之间的相似性和差异性,然后将相似的文本数据归为一类,形成一个聚类,实现将大量的文本数据快速分类,提高对话场景搭建的效率和准确性;将语义相似的机器节点合并,减少对话场景中的重复节点,由于节点数量的减少,同时也降低路由链数量,进而规避了开放式对话产生话题数量冗余的问题,实现对话场景的效率和准确性的提升;将语义相似人的回复意图进行合并或筛选,使得最终的节点逻辑路由中包含的意图数量更少,避免因意图数量过多而导致的对话场景复杂度过高、效率和准确性下降的问题;在人机对话场景中,根据用户的输入和场景预设,将对话逻辑引导到正确的节点上进行处理的过程,能够根据用户的输入和场景预设,自动判断下一步的对话逻辑,并将对话引导到正确的节点上进行处理,在场景中,节点逻辑路由的作用是确保对话逻辑的正确性和准确性,避免用户输入错误或场景预设不完善导致对话流程中断或出现错误;在特定的场景下,用户只能选择预设好的话题进行对话,在对话中有明确的目的和话题,对话流程和逻辑已经预设好,用户只需按照预设的流程进行对话即可,如果用户提出了不符合预设逻辑的话题,具备引导和提示调整用户的对话方向,让对话回到预设的逻辑上,能够提高对话的效率和准确性,避免用户提出无关话题或者跑题,从而节省时间和提高用户体验。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是本发明一种基于生成式语言模型的人机对话场景构建系统的模块示意图;
图2是本发明一种基于生成式语言模型的人机对话场景构建系统的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本发明提供技术方案:
一种基于生成式语言模型的人机对话场景构建系统,系统包括场景预设模块、脚本生成模块、用户意图生成模块、数据生成与处理模块、路由逻辑处理模块以及循环处理与知识库管理模块;
场景预设模块接收和定义对话场景的整体背景和目标,并记为预设信息;
脚本生成模块根据场景预设模块的预设信息获得机器开始节点信息及脚本,脚本为机器内容;将机器内容通过NLP语义模型预测场景内其他节点信息,并根据置信度分值判断是否存在相似性的机器节点,并进行节点脚本信息归递或生成新的机器节点;
用户意图生成模块根据场景预设模块的预设信息和脚本生成模块的机器内容请求生成式预训练语言模型预测获得用户回复内容,用户回复内容为用户内容,将用户内容通过NLP语义模型判断是否存在相似性用户意图,并进行归并或生成新的用户意图;
数据生成与处理模块用于创建和定义脚本生成模块的机器节点下用户意图;
路由逻辑处理模块根据场景预设模块的预设信息、脚本生成模块的机器内容和用户意图生成模块的用户内容,请求生成式预训练语言模型获取下一次交互中的机器内容或用户内容,判断是否存在相似性机器节点,最后形成机器节点与用户意图的路由链;
循环处理与知识库管理模块根据场景预设模块、脚本生成模块、用户意图生成模块、数据生成与处理模块、路由逻辑处理模块提供的的数据生成与处置流程,进行循环处理,无限制的重复数据生成与处置流程,完成场景生成;再通过定义结束节点,结束对话过程;
场景预设模块的输出端与脚本生成模块的输入端相连接;脚本生成模块的输出端与用户意图生成模块的输入端相连接;用户意图生成模块的输出端与数据生成与处理模块的输入端相连接;数据生成与处理模块的输出端与路由逻辑处理模块的输入端相连接;路由逻辑处理模块的输出端与知识库节点处理模块的输入端相连接。
脚本生成模块包括节点信息获取单元、相似性节点判断单元和节点生成与归并单元;
节点信息获取单元基于场景预设模块的预设信息,获得机器开始节点信息及机器内容;将机器开始节点信息输入相似性节点判断单元的NLP语义模型,通过机器开始节点信息预测场景内其他节点信息,判断是否存在相似性机器节点;若未存在相似性节点,则生成机器节点;若存在相似性节点,则将本节点脚本信息归递到相似性节点脚本的下一个序列,并将结果输至节点生成与归并单元;节点脚本信息归递就是将脚本标记到相应节点的下一个序列。
相似性节点判断与脚本生成单元包括:
将机器开始节点信息输入NLP语义模型,通过节点信息预测场景内其他节点信息,根据置信度分值,判断是否存在相似性机器节点;其中置信度通过softmax函数计算得出,在NLP语义模型中,给定一个输入样本,通过前向传播计算出每个类别的得分,然后使用softmax函数将它们转换为概率;softmax函数的公式如下:
其中,j表示数据编号,取值为1到n,xi表示第i个类别的得分,n表示类别总数;softmax函数将得分转换为概率,使得所有概率之和为1;
根据样本预测返回的置信度,设定一个业务阈值A,若置信度小于业务阈值A,则未存在相似性节点,生成机器节点A;若置信度大于等于业务阈值A,则存在相似性节点,将本节点脚本信息归递到相似性节点脚本的下一个序列。
前向传播计算包括:
首先,将输入样本表示为向量X=[x1,x2,...,xn],其中n是输入的特征数量,x1表示第1个样本特征,x2表示第2个样本特征,以此类推xn表示第n个样本特征;
对于每一层的神经网络,从输入层开始到输出层结束,计算加权和,计算公式为:
其中l为神经网络的层数,m(l-1)表示第l-1层的神经元数量,i表示第l-1层中的每个神经元的索引,范围从1到m(l-1),是连接第l-1层的第i个神经元和第l层的第j个神经元的权重,/>表示第l-1层中第i个神经元的输出结果,/>表示第l层中第j个神经元的偏置项,/>表示第l层中第j个神经元的加权和;
根据公式:计算每一层的所有神经元输出结果,其中/>为激活函数,将加权和/>输入进行处理得到第l层中第j个神经元的输出/>
神经网络的最终输出结果为最后一层的输出:其中表示第L层的第1个神经元的输出,/>表示第L层的第2个神经元的输出,以此类推/>表示第L层的第k个神经元的输出,L是输出层的索引,k是输出的类别数量,最后将神经网络的最终输出结果作为每个类别的得分xi。
假设有一个三层的神经网络,每层分别有两个神经元,其中输入层的输入样本为[x1,x2],输出层的输出结果为[y1,y2,y3],表示三个类别的概率值。
使用softmax函数将输出层的结果转换为概率值,具体公式如下:
softmax(yi)=exp(yi)/sum(exp(yj)),j=1,2,3
其中,yi表示第i个类别的得分,exp表示自然指数函数,sum表示求和操作。
假设输出层的结果为[1.2,-0.5,0.8],则softmax函数的计算过程如下:
exp(1.2)=3.32,exp(-0.5)=0.61,exp(0.8)=2.23;
sum(exp(yj))=exp(1.2)+exp(-0.5)+exp(0.8)=6.16,
softmax(y1)=exp(1.2)/sum(exp(yj))=3.32/6.16=0.54,
softmax(y2)=exp(-0.5)/sum(exp(yj))=0.61/6.16=0.10,
softmax(y3)=exp(0.8)/sum(exp(yj))=2.23/6.16=0.36。
因此,输出层的结果可以表示为[0.54,0.10,0.36],表示样本属于三个类别的概率分别为54%、10%、36%。
用户意图生成模块包括用户回复生成单元、用户意图相似性判断单元和用户意图生成与归并单元;
用户回复生成单元基于场景预设模块的预设信息与脚本生成模块的机器内容请求生成式预训练语言模型预测获得用户回复内容;用户意图相似性判断单元将用户内容输入NLP语义模型判断是否存在相似性用户意图;若未存在相似性意图,则生成用户意图,否则归并至相似性意图,并将判断结果输至用户意图生成与归并单元;
用户意图相似性判断单元包括:
将用户回复内容输入NLP语义模型,根据置信度分值,判断是否存在相相似性意图;其中置信度通过softmax函数计算得出,在NLP语义模型中,给定一个输入样本,通过前向传播计算出每个类别的得分,然后使用softmax函数将它们转换为概率;
根据样本预测返回的置信度,设定一个业务阈值B,若置信度小于业务阈值B,则未存在相似性意图,生成用户意图;若置信度大于等于业务阈值B,则归并至相似性意图,并将判断结果输至用户意图生成与归并单元。
路由逻辑处理模块包括路由链形成一单元和路由链形成二单元:
路由链形成一单元首先由脚本生成模块生成机器内容A1和机器节点A,通过用户意图生成模块生成用户内容A和用户意图A;
通过数据生成与处理模块完成机器节点A下用户意图A的创建与定义;
再通过脚本生成模块将预设信息、机器内容A1和用户内容A信息请求生成式预训练语言模型,获得机器内容A2;
将机器内容A2输入NLP语义模型,通过节点信息预测场景内其他节点信息,根据置信度分值,判断是否存在相似性机器节点;
在这个过程中若存在相似性节点,则将本节点脚本信息归递到相似性节点脚本的下一个序列;否则执行脚本生成模块的节点生成与归并单元的步骤,在此列举存在相似性节点,即判断机器内容A2和机器内容A1的相似性,若机器内容A2和机器内容A1相似,则将相似的机器内容A2归递到相似性机器节点A的节点信息中;
形成机器节点A→用户意图A→机器节点A路由链;
路由链形成二单元首先通过用户意图生成模块将预设信息、机器内容A1信息、用户内容A信息和机器内容A2信息请求生成式预训练语言模型,获得用户内容B;将用户内容B输入NLP语义模型判断是否存在相似性用户意图;若未存在相似性意图,则生成用户意图B,否则归并相似意图;
通过数据生成与处理模块完成机器节点A下用户意图B的创建与定义;
再通过脚本生成模块将预设信息、机器内容A1信息、用户内容A信息、机器内容A2和用户内容B请求生成式预训练语言模型,获得机器内容B1;
将机器内容B1输入NLP语义模型判断是否存在相似性机器节点;
若未存在相似性节点,则生成机器节点B,否则归并到相同节点下脚本序列;
形成机器节点A→用户意图B→机器节点B路由链。
循环处理与知识库管理模块包括循环处理单元、结束节点管理单元和离散知识库节点单元;
循环处理单元根据场景预设模块、脚本生成模块、用户意图生成模块、数据生成与处理模块、路由逻辑处理模块提供的的数据生成与处置流程,进行循环处理,无限制地重复生成场景并进行对话交互,达到场景生成的目的;结束节点管理单元定义任意一个非开始节点为结束节点,在交互过程中,进入结束节点即对话过程的结束;
离散知识库节点单元定义任意一个非开始和结束节点为离散知识库节点,这些节点可以置于流程链之外,并通过用户回复语义触发离散知识点,输出节点内容;在节点内容输出结束后,下一轮对话中,默认回到上次离开的流程节点,完成知识库节点回归流程记忆。
生成式预训练语言模型预测的基本流程为:
将输入的文本序列表示为词嵌入向量;对于每个时间步t,且从序列的第一个词开始;所述输入的文本序列可以是预设信息和机器内容,或预设信息、机器内容和用户内容;
输入词嵌入向量x(t),x(t)表示在时间步t的输入词嵌入向量;
将向量表示的文本序列输入到神经网络中进行处理,计算公式为:
h(t)=f(W·x(t)+U·h(t-1)+b)
其中h(t)表示在时间步t的隐藏状态,携带着之前序列信息的累积;W输入到神经网络中的权重矩阵,用于将输入词嵌入向量与之前的隐藏状态进行加权求和;U表示神经网络中的循环权重矩阵,用于将之前的隐藏状态与当前隐藏状态进行循环计算;b表示偏置项,对应于隐藏状态更新公式中的偏置项;f表示激活函数;
根据公式y(t)=g(V·h(t)+c),对神经网络的输出层进行计算,其中V和c是输出层的权重矩阵和偏置项,g是softmax函数,用于将输出转化为概率分布;
根据y(t)的概率分布,选择概率最高的词汇作为下一个生成的词汇,并将其添加到生成的文本序列中,生成的文本序列可以是机器内容或用户内容。
如图2所示,一个标准对话循环内的数据模拟过程如下:
S1.输入场景整体预设信息。
S2.基于输入的预设信息,获得机器开始节点信息及脚本A1。
S2.1.将机器开始节点信息输入NLP(Natural Language Processing)语义模型,通过节点信息预测场景内其他节点信息,根据置信度分值,判断是否存在相似性机器节点。
S2.2.若未存在相似性节点,则生成机器节点A;若存在相似性节点,则将本节点脚本信息归递到相似性节点脚本的下一个序列,举例:节点a(脚本1,脚本2,脚本3.....),在交互过程中,首次触发到节点a,输出脚本1,再次触发到节点a,输出脚本2,以此类推。
S3.将预设信息+机器内容A1请求生成式预训练语言模型(Generative Pre-trained Transformer)预测获得用户回复内容A
S3.1.将用户内容A输入NLP(Natural Language Processing)语义模型判断是否存在相似性用户意图。
S3.2.若未存在相似性意图,则生成用户意图A,否则归并至相似性意图。
S4.完成机器节点A下用户意图A的创建与定义。
S5.将预设信息+机器内容A1+用户内容A信息请求生成式预训练语言模型(Generative Pre-trained Transformer),获得机器内容A2。
S5.1.将机器内容A2输入NLP(Natural Language Processing)语义模型,通过节点信息预测场景内其他节点信息,根据置信度分值,判断是否存在相似性机器节点。
S5.2.在这个过程中存在相似性节点,则将本节点脚本信息归递到相似性节点脚本的下一个序列,否则执行s2.2步骤,在此列举存在相似性节点,即机器内容A2≈机器内容A1=机器节点A;
S5.3.形成机器节点A→用户意图A→机器节点A路由链。
S6.将预设信息+机器内容A1信息+用户内容A信息+机器内容A2信息请求生成式预训练语言模型(Generative Pre-trained Transformer),获得用户内容B。
S6.1.将用户内容B输入NLP(Natural Language Processing)语义模型判断是否存在相似性用户意图。
S6.2.若未存在相似性意图,则生成用户意图B,否则归并相似意图,在此列举未存在相似性意图。
S7.完成机器节点A下用户意图B的创建与定义。
S8.将预设信息+机器内容A1信息+用户内容A信息+机器内容A2+用户内容B请求生成式预训练语言模型(Generative Pre-trained Transformer),获得机器内容B1。
S8.1.将机器内容B1输入NLP(Natural Language Processing)语义模型判断是否存在相似性机器节点。
S8.2.若未存在相似性节点,则生成机器节点B,否则归并到相同节点下脚本序列n+1。
S9.形成机器节点A→用户意图B→机器节点B路由链。
本实施例中,生成式预训练语言模型(Generative Pre-trained Transformer)的部署:
使用云端服务器作为生成式语言模型的部署环境,同时具备计算能力和高度的可扩展性。
部署Ubuntu操作系统,并安装Python、TensorFlow、Flask、Gunicorn、Nginx、Docker。
集成模型到应用程序:使用RESTful API接口来集成生成式语言模型到应用程序中。通过编写Python Flask应用程序实现,以提供HTTP RESTful API接口;
编写开始内容生成接口addStartNode,通过content(场景描述信息)获得StartNode(开始节点内容);
编写用户内容生成接口preHumanAnswer(用户回复内容),通过content(场景描述信息),StartNode(开始节点内容),获得preHumanAnswer(用户回复内容);
编写机器内容生成接口preBotAnswer(机器回复内容),通过content(场景描述信息),StartNode(开始节点内容),preHumanAnswer(用户回复内容),获得preBotAnswer(机器回复内容)。
NLP(Natural Language Processing)语义引擎的部署:
使用云端服务器作为生成式语言模型的部署环境,同时具备计算能力和高度的可扩展性。
部署Ubuntu操作系统,并安装Python、Gensim、Flask、scikit-learn、Nginx、Docker。
集成模型到应用程序:使用RESTful API接口来集成生成式语言模型到应用程序中。通过编写Python Flask应用程序实现,以提供HTTP RESTful API接口。
编写样本预测接口Samples,预测样本置信度,若置信度<m,则创建新意图A,若置信度>m,则将样本归并到最高意图,m的数值可按业务需要校正调整。
置信度通过softmax函数计算得出;
需要说明的是,这里的NLP需要设定两个场景,场景1用于机器回复内容聚类,场景2用于用户回复内容聚类,在功能和业务逻辑部分完全相同。
为了更好的描述下面的业务过程,在此代入实际数据模拟流程内容的生成:
1.content=‘我需要做一份关于个人收入的调研,需要收集被调查对象年龄,性别,职业,收入4个问题’;
2.通过addStartNode接口,获得StartNode=‘您好,我是调研专员,请问您能抽出一些时间回答几个问题吗?’;
3.通过样本预测接口[00],将StartNode作为样本,请求场景1,获得置信度=0;
4.由于置信度<0.6,则:
5.通过addIntention接口获得botIntention=n1;
6.通过用户内容生成接口preHumanAnswer,将content=‘我需要做一份关于个人收入的调研,需要收集被调查对象年龄,性别,职业,收入4个问题’,StartNode=‘您好,我是调研专员,请问您能抽出一些时间回答几个问题吗?’获得preHumanAnswer1=‘可以’,preHumanAnswer2=‘我没时间’,....
7.通过样本预测接口Samples,将preHumanAnswer1作为样本,请求场景2,获得置信度=0;
8.由于置信度<0.6,则:
9.通过addIntention接口获得humanIntention=i1;
10.设定节点路由关系n1→i1;
11.通过机器内容生成接口preBotAnswer,将content=‘我需要做一份关于个人收入的调研,需要收集被调查对象,年龄,性别,职业,收入4个问题’,StartNode=‘您好,我是调研专员,请问您能抽出一些时间回答几个问题吗?’humanIntention=‘可以’;获得preHumanAnswer1=‘请问您今年年龄多少?’;
12.执行步骤7,按这个方法循环7→11;
需要说明的是知识库节点(离散节点)的特殊处理;
知识库节点是在对话过程中,用户主动问到触发,且设立了回答内容的节点,特征是用户若未主动问到,该节点不会触发;
用户可以定义任意非开始和结束的机器节点作知识库节点;
当用户在流程链的任意位置回复的内容,其Samples样本在NLP场景2中表现置信度>0.6,则不受节点位置约束可通过i→n关系得到节点内容;
当n节点信息传达结束后,用户回复任意Samples样本,则回到上一轮的中断流程节点继续交互;
需要说明的是结束节点的特殊处理,用户可以定义任意非开始和结束的机器节点做结束节点,当进入结束节点后,当前会话中止,同时形成对话记录作数据存储。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于生成式语言模型的人机对话场景构建系统,其特征在于:所述系统包括场景预设模块、脚本生成模块、用户意图生成模块、数据生成与处理模块、路由逻辑处理模块以及循环处理与知识库管理模块;
所述场景预设模块接收和定义对话场景的整体背景和目标,并记为预设信息;
所述脚本生成模块根据场景预设模块的预设信息获得机器开始节点信息及脚本,所述脚本为机器内容;将机器内容通过NLP语义模型预测场景内其他节点信息,并根据置信度分值判断是否存在相似性的机器节点,并进行节点脚本信息归递或生成新的机器节点;
所述用户意图生成模块根据场景预设模块的预设信息和脚本生成模块的机器内容请求生成式预训练语言模型预测获得用户回复内容,所述用户回复内容为用户内容,将用户内容通过NLP语义模型判断是否存在相似性用户意图,并进行归并或生成新的用户意图;
所述数据生成与处理模块用于创建和定义脚本生成模块的机器节点下用户意图;
所述路由逻辑处理模块根据场景预设模块的预设信息、脚本生成模块的机器内容和用户意图生成模块的用户内容,请求生成式预训练语言模型获取下一次交互中的机器内容或用户内容,判断是否存在相似性机器节点,最后形成机器节点与用户意图的路由链;
所述循环处理与知识库管理模块根据场景预设模块、脚本生成模块、用户意图生成模块、数据生成与处理模块、路由逻辑处理模块提供的的数据生成与处置流程,进行循环处理,无限制的重复数据生成与处置流程,完成场景生成;再通过定义结束节点,结束对话过程;
所述场景预设模块的输出端与所述脚本生成模块的输入端相连接;所述脚本生成模块的输出端与所述用户意图生成模块的输入端相连接;所述用户意图生成模块的输出端与所述数据生成与处理模块的输入端相连接;所述数据生成与处理模块的输出端与所述路由逻辑处理模块的输入端相连接;所述路由逻辑处理模块的输出端与所述知识库节点处理模块的输入端相连接。
2.根据权利要求1所述的一种基于生成式语言模型的人机对话场景构建系统,其特征在于:所述脚本生成模块包括节点信息获取单元、相似性节点判断单元和节点生成与归并单元;
所述节点信息获取单元基于场景预设模块的预设信息,获得机器开始节点信息及机器内容;将机器开始节点信息输入相似性节点判断单元的NLP语义模型,通过机器开始节点信息预测场景内其他节点信息,判断是否存在相似性机器节点;若未存在相似性节点,则生成机器节点;若存在相似性节点,则将本节点脚本信息归递到相似性节点脚本的下一个序列,并将结果输至节点生成与归并单元;所述节点脚本信息归递就是将脚本标记到相应节点的下一个序列。
3.根据权利要求2所述的一种基于生成式语言模型的人机对话场景构建系统,其特征在于:所述相似性节点判断与脚本生成单元包括:
将机器开始节点信息输入NLP语义模型,通过节点信息预测场景内其他节点信息,根据置信度分值,判断是否存在相似性机器节点;其中置信度通过softmax函数计算得出,在NLP语义模型中,给定一个输入样本,通过前向传播计算出每个类别的得分,然后使用softmax函数将它们转换为概率;softmax函数的公式如下:
其中,j表示数据编号,取值为1到n,xi表示第i个类别的得分,n表示类别总数;softmax函数将得分转换为概率,使得所有概率之和为1;
根据样本预测返回的置信度,设定一个业务阈值A,若置信度小于业务阈值A,则未存在相似性节点,生成机器节点A;若置信度大于等于业务阈值A,则存在相似性节点,将本节点脚本信息归递到相似性节点脚本的下一个序列。
4.根据权利要求3所述的一种基于生成式语言模型的人机对话场景构建系统,其特征在于:所述前向传播计算包括:
首先,将输入样本表示为向量X=[x1,x2,...,xn],其中n是输入的特征数量,x1表示第1个样本特征,x2表示第2个样本特征,以此类推xn表示第n个样本特征;
对于每一层的神经网络,从输入层开始到输出层结束,计算加权和,计算公式为:
其中l为神经网络的层数,m(l-1)表示第l-1层的神经元数量,i表示第l-1层中的每个神经元的索引,范围从1到m(l-1),是连接第l-1层的第i个神经元和第l层的第j个神经元的权重,/>表示第l-1层中第i个神经元的输出结果,/>表示第l层中第j个神经元的偏置项,/>表示第l层中第j个神经元的加权和;
根据公式:计算每一层的所有神经元输出结果,其中/>为激活函数,将加权和/>输入进行处理得到第l层中第j个神经元的输出/>神经网络的最终输出结果为最后一层的输出:/>其中/>表示第L层的第1个神经元的输出,/>表示第L层的第2个神经元的输出,以此类推/>表示第L层的第k个神经元的输出,L是输出层的索引,k是输出的类别数量;最后将神经网络的最终输出结果作为每个类别的得分xi。
5.根据权利要求3所述的一种基于生成式语言模型的人机对话场景构建系统,其特征在于:所述用户意图生成模块包括用户回复生成单元、用户意图相似性判断单元和用户意图生成与归并单元;
所述用户回复生成单元基于场景预设模块的预设信息与脚本生成模块的机器内容请求生成式预训练语言模型预测获得用户回复内容;所述用户意图相似性判断单元将用户内容输入NLP语义模型判断是否存在相似性用户意图;若未存在相似性意图,则生成用户意图,否则归并至相似性意图,并将判断结果输至用户意图生成与归并单元。
6.根据权利要求5所述的一种基于生成式语言模型的人机对话场景构建系统,其特征在于:所述用户意图相似性判断单元包括:
将用户回复内容输入NLP语义模型,根据置信度分值,判断是否存在相相似性意图;其中置信度通过softmax函数计算得出,在NLP语义模型中,给定一个输入样本,通过前向传播计算出每个类别的得分,然后使用softmax函数将它们转换为概率;
根据样本预测返回的置信度,设定一个业务阈值B,若置信度小于业务阈值B,则未存在相似性意图,生成用户意图;若置信度大于等于业务阈值B,则归并至相似性意图,并将判断结果输至用户意图生成与归并单元。
7.根据权利要求6所述的一种基于生成式语言模型的人机对话场景构建系统,其特征在于:所述路由逻辑处理模块包括路由链形成一单元和路由链形成二单元:
所述路由链形成一单元首先由脚本生成模块生成机器内容A1和机器节点A,通过用户意图生成模块生成用户内容A和用户意图A;
通过数据生成与处理模块完成机器节点A下用户意图A的创建与定义;
再通过脚本生成模块将预设信息、机器内容A1和用户内容A信息请求生成式预训练语言模型,获得机器内容A2;
将机器内容A2输入NLP语义模型,通过节点信息预测场景内其他节点信息,根据置信度分值,判断是否存在相似性机器节点;
在这个过程中若存在相似性节点,则将本节点脚本信息归递到相似性节点脚本的下一个序列;否则执行脚本生成模块的节点生成与归并单元的步骤,在此列举存在相似性节点,即判断机器内容A2和机器内容A1的相似性,若机器内容A2和机器内容A1相似,则将相似的机器内容A2归递到相似性机器节点A的节点信息中;
形成机器节点A→用户意图A→机器节点A路由链;
所述路由链形成二单元首先通过用户意图生成模块将预设信息、机器内容A1信息、用户内容A信息和机器内容A2信息请求生成式预训练语言模型,获得用户内容B;将用户内容B输入NLP语义模型判断是否存在相似性用户意图;若未存在相似性意图,则生成用户意图B,否则归并相似意图;
通过数据生成与处理模块完成机器节点A下用户意图B的创建与定义;
再通过脚本生成模块将预设信息、机器内容A1信息、用户内容A信息、机器内容A2和用户内容B请求生成式预训练语言模型,获得机器内容B1;
将机器内容B1输入NLP语义模型判断是否存在相似性机器节点;
若未存在相似性节点,则生成机器节点B,否则归并到相同节点下脚本序列;
形成机器节点A→用户意图B→机器节点B路由链。
8.根据权利要求7所述的一种基于生成式语言模型的人机对话场景构建系统,其特征在于:所述循环处理与知识库管理模块包括循环处理单元、结束节点管理单元和离散知识库节点单元;
所述循环处理单元根据场景预设模块、脚本生成模块、用户意图生成模块、数据生成与处理模块、路由逻辑处理模块提供的的数据生成与处置流程,进行循环处理,无限制地重复生成场景并进行对话交互,达到场景生成的目的;所述结束节点管理单元定义任意一个非开始节点为结束节点,在交互过程中,进入结束节点即对话过程的结束;
所述离散知识库节点单元定义任意一个非开始和结束节点为离散知识库节点,这些节点可以置于流程链之外,并通过用户回复语义触发离散知识点,输出节点内容;在节点内容输出结束后,下一轮对话中,默认回到上次离开的流程节点,完成知识库节点回归流程记忆。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310974465.6A CN116795971A (zh) | 2023-08-04 | 2023-08-04 | 一种基于生成式语言模型的人机对话场景构建系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310974465.6A CN116795971A (zh) | 2023-08-04 | 2023-08-04 | 一种基于生成式语言模型的人机对话场景构建系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116795971A true CN116795971A (zh) | 2023-09-22 |
Family
ID=88042327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310974465.6A Pending CN116795971A (zh) | 2023-08-04 | 2023-08-04 | 一种基于生成式语言模型的人机对话场景构建系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116795971A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117251553A (zh) * | 2023-11-15 | 2023-12-19 | 知学云(北京)科技股份有限公司 | 基于自定义插件和大语言模型的智能学习交互方法 |
-
2023
- 2023-08-04 CN CN202310974465.6A patent/CN116795971A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117251553A (zh) * | 2023-11-15 | 2023-12-19 | 知学云(北京)科技股份有限公司 | 基于自定义插件和大语言模型的智能学习交互方法 |
CN117251553B (zh) * | 2023-11-15 | 2024-02-27 | 知学云(北京)科技股份有限公司 | 基于自定义插件和大语言模型的智能学习交互方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111368609B (zh) | 基于情绪引擎技术的语音交互方法、智能终端及存储介质 | |
Zadeh et al. | Memory fusion network for multi-view sequential learning | |
WO2021047286A1 (zh) | 文本处理模型的训练方法、文本处理方法及装置 | |
CN110609891B (zh) | 一种基于上下文感知图神经网络的视觉对话生成方法 | |
CN106649704B (zh) | 一种智能对话控制方法和系统 | |
CN112131890A (zh) | 一种会话意图智能识别模型的构建方法、装置及设备 | |
CN113326374B (zh) | 基于特征增强的短文本情感分类方法及系统 | |
JP2020061173A (ja) | 回答学習装置、回答学習方法、回答生成装置、回答生成方法、及びプログラム | |
US20240233877A1 (en) | Method for predicting reactant molecule, training method, apparatus, and electronic device | |
CN113536144B (zh) | 一种社交网络信息的传播规模预测方法、装置 | |
Windiatmoko et al. | Developing facebook chatbot based on deep learning using rasa framework for university enquiries | |
CN111191450A (zh) | 语料清洗方法、语料录入设备及计算机可读存储介质 | |
CN110516035A (zh) | 一种混合模块的人机交互方法和系统 | |
CN115497465B (zh) | 语音交互方法、装置、电子设备和存储介质 | |
Huang et al. | Length adaptive recurrent model for text classification | |
CN116795971A (zh) | 一种基于生成式语言模型的人机对话场景构建系统 | |
Windiatmoko et al. | Developing FB chatbot based on deep learning using RASA framework for university enquiries | |
CN113095085A (zh) | 文本的情感识别方法、装置、电子设备和存储介质 | |
CN110889505A (zh) | 一种图文序列匹配的跨媒体综合推理方法和系统 | |
CN111178082A (zh) | 一种句向量生成方法、装置及电子设备 | |
CN113297355A (zh) | 基于对抗插值序列标注数据增强方法、装置、设备及介质 | |
CN113539261A (zh) | 人机语音交互方法、装置、计算机设备和存储介质 | |
CN115809669B (zh) | 一种对话管理方法和电子设备 | |
CN116401364A (zh) | 语言模型的训练方法、电子设备、存储介质及产品 | |
Pragst et al. | Comparative study of sentence embeddings for contextual paraphrasing |
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 |