CN114822812A - 角色对话模拟方法、装置、设备及存储介质 - Google Patents
角色对话模拟方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114822812A CN114822812A CN202210370868.5A CN202210370868A CN114822812A CN 114822812 A CN114822812 A CN 114822812A CN 202210370868 A CN202210370868 A CN 202210370868A CN 114822812 A CN114822812 A CN 114822812A
- Authority
- CN
- China
- Prior art keywords
- dialogue
- text
- result
- model
- prediction
- 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
Images
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/20—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
Abstract
本发明涉及自然语言处理技术,揭露了一种角色对话模拟方法,包括:对对话语料进行角色分类、文本清洗,得到不同角色对应的训练文本,利用构建的预训练对话模型对训练文本进行位置编码、矩阵计算以及预测计算,得到预测结果,根据预测结果计算得到的相关度结果确定是否停止训练,若停止训练,则得到对话模型;对用户输入进行文本处理,将处理后的文本输入对话模型进行计算,得到输出结果,对输出结果进行重复性筛选及采样,得到目标输出结果,根据输出结果判断句子生成是否结束,当句子生成结束时,对目标输出结果进行拼接,得到回复对话。本发明还提出一种角色对话模拟装置、电子设备以及存储介质。本发明可以提高角色智能对话模拟的灵活性。
Description
技术领域
本发明涉及自然语言处理技术领域,尤其涉及一种角色对话模拟方法、装置、电子设备及计算机可读存储介质。
背景技术
随着人工智能的快速发展,运用计算机技术在智能问答领域以及对话模拟领域中的应用逐渐增多。例如,医疗问诊领域需要对病人的身体状况、症状表现、疾病发展等信息进行针对性询问,是医生获取患者病症信息的重要来源。现如今,可以运用自然语言处理技术构建智能问诊对话系统,缓解医生与病患之间信息不对称,促进医疗资源的高效利用,针对用户,医生的对话进行模拟,是实现智能医疗问诊与疾病诊断的核心。现有技术的对话模拟系统中,常常使用的是模板问答、问答库问答的方式,存在则场景单一,角色智能对话模拟不够灵活的问题。
发明内容
本发明提供一种角色对话模拟方法、装置及计算机可读存储介质,其主要目的在于解决角色智能对话模拟不够灵活的问题。
为实现上述目的,本发明提供的一种角色对话模拟方法,包括:
获取对话语料,对所述对话语料进行角色分类、文本清洗,得到不同角色对应的训练文本;
构建预训练对话模型,并利用所述预训练对话模型对所述不同角色对应的训练文本进行位置编码,得到文本矩阵;
对所述文本矩阵进行矩阵计算及预测计算,得到预测对话,根据所述预测对话和所述训练文本计算相关度结果,并判断所述相关度结果是否大于预设阈值;
若所述相关度结果小于或等于所述阈值,则更新所述文本矩阵,并返回对所述文本矩阵进行矩阵计算及预测计算的步骤;
若所述相关度结果大于所述阈值,则停止训练,得到对话模型;
根据预设条件确定所述对话模型的角色,获取用户输入,对所述用户输入进行文本处理,得到目标文本;
将所述目标文本输入所述对话模型中,得到模型输出结果,对所述模型输出结果进行重复性筛选及采样,得到目标输出结果,并根据所述目标输出结果判断句子生成是否结束;
若句子生成未结束,则返回将所述目标文本输入所述对话模型中的步骤。
若句子生成结束,则对所述目标输出结果进行拼接,得到回复对话。
可选地,所述对所述对话语料进行角色分类、文本清洗,得到不同角色对应的训练文本,包括:
将所述对话语料输入预设的分类模型中,得到对话语料对应的角色预测结果;
根据所述角色预测结果对所述对话语料进行分类,得到每个角色对应的语料;
剔除所述每个角色对应的语料中的预设字符,得到每个角色对应的第一文本;
对所述第一文本进行语义识别,计算语义识别结果与预设文本向量的距离值,将距离值小于预设阈值的语义识别结果所对应的文本删除,得到每个角色对应的第二文本;
分别将每个角色对应的第二文本进行文本拼接,得到每个角色对应的训练文本。
可选地,所述分别将每个角色对应的第二文本进行文本拼接,得到每个角色对应的训练文本,包括:
从多个角色中选取一个角色作为目标角色,将所述目标角色对应的第二文本作为目标文本;
根据所述目标文本计算得到平均句长,并根据所述平均句长设置所述目标文本的长度,将设置好长度的目标文本进行首尾拼接,得到所述目标角色对应的训练文本。
可选地,所述构建预训练对话模型,包括:
将模型划分为四部分,第一部分为向量生成层,第二部分为第一向量处理层,第三部分为第二向量处理层,第四部分为预测层;
在所述向量生成层中添加位置编码结构及Embedding结构;
在所述第一向量处理层中添加LayerNorm结构、Masked Multi self-Attention结构以及残差连接结构;
在所述第二向量处理层中添加LayerNorm结构、Feed Forward结构以及残差连接结构;
在所述预测层中添加LayerNorm结构及预测函数。
可选地,所述对所述文本矩阵进行矩阵计算及预测计算,得到预测对话,包括:
利用所述第向量处理层对所述文本矩阵进行归一化、注意力计算以及残差计算,得到第一向量矩阵;
利用所述第二向量处理层所述文本矩阵进行归一化、前馈神经调节以及残差计算,得到第二向量矩阵;
利用所述预测层对所述第二向量矩阵进行归一化,并将归一化的结果输入预测函数中,得到预测结果,所述预测结果包括预测文字和结束符;
判断所述预测结果是预测文字还是结束符;
若所述预测结果是预测文字,则返回利用所述第向量处理层对所述文本矩阵进行归一化、注意力计算以及残差计算,得到第一向量矩阵的步骤;
若所述预测结果是结束符,则将所有的预测结果进行拼接,得到预测对话。
可选地,所述根据所述预测对话和所述训练文本计算相关度结果,包括:
获取该预测对话所对应的角色之外其他角色的训练文本,将所述其他角色的训练文本作为对比文本;
根据所述对比文本生成对比矩阵,对所述对比矩阵进行线性化处理,得到第一线性向量;
对所述第一线性向量进行特征压缩,得到第二线性向量,在所述第二线性向量中提取与所述预测对话对应的字向量的相关度,将所述相关度结果输入预设的概率输出函数中,得到相关度结果。
可选地,所述对所述模型输出结果进行重复性筛选及采样,得到目标输出结果,包括:
获取上一个结束符之后所述对话模型的所有输出结果;
将所述模型输出结果与所述所有输出结果进行重复性检测;
若出现重复的输出结果,则根据预设的重复性惩罚在所述对话模型中去除所述重复的输出结果,并利用所述对话模型重新生成模型输出结果,并返回将所述模型输出结果与所述所有输出结果进行重复性检测的步骤;
若未出现重复的输出结果,则在所述模型输出结果中进行随机采样,将采样结果作为目标输出结果。
为了解决上述问题,本发明还提供一种角色对话模拟装置,所述装置包括:
文本生成模块,用于获取对话语料,对所述对话语料进行角色分类、文本清洗,得到不同角色对应的训练文本,以及根据预设条件确定所述对话模型的角色,获取用户输入,对所述用户输入进行文本处理,得到目标文本;
文本矩阵生成模块,用于构建预训练对话模型,并利用所述预训练对话模型对所述不同角色对应的训练文本进行位置编码,得到文本矩阵;
模型训练模块,用于对所述文本矩阵进行矩阵计算及预测计算,得到预测对话,根据所述预测对话和所述训练文本计算相关度结果,并判断所述相关度结果是否大于预设阈值;若所述相关度结果小于或等于所述阈值,则更新所述文本矩阵,并返回对所述文本矩阵进行矩阵计算及预测计算的步骤;若所述相关度结果大于所述阈值,则停止训练,得到对话模型;
模型预测模块,用于将所述目标文本输入所述对话模型中,得到模型输出结果,对所述模型输出结果进行重复性筛选及采样,得到目标输出结果;
回复对话生成模块,用于对所述目标输出结果进行拼接,得到回复对话。
为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述所述的角色对话模拟方法。
为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个计算机程序,所述至少一个计算机程序被电子设备中的处理器执行以实现上述所述的角色对话模拟方法。
本发明实施例通过对对话语料进行处理,再将处理后的对话语料作为训练文本输出模型进行训练,进而得到对话模型,即通过该构建的对话模型,能够理解对话语料中对话者的特定语言场景,进而生成符合实际应用场景的对话;通过对对话模型的输出结果进行重复性筛选及采样,使生成的回复对话不局限于固定的答案,更加灵活。因此本发明提出的角色对话模拟方法、装置、电子设备及计算机可读存储介质,可以解决角色智能对话模拟不够灵活的问题。
附图说明
图1为本发明一实施例提供的角色对话模拟方法的流程示意图;
图2为本发明一实施例提供的对对话语料进行角色分类、文本清洗的流程示意图;
图3为本发明一实施例提供的对模型输出结果进行重复性筛选及采样的流程示意图;
图4为本发明一实施例提供的角色对话模拟装置的功能模块图;
图5为本发明一实施例提供的实现所述角色对话模拟方法的电子设备的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本申请实施例提供一种角色对话模拟方法。所述角色对话模拟方法的执行主体包括但不限于服务端、终端等能够被配置为执行本申请实施例提供的该方法的电子设备中的至少一种。换言之,所述角色对话模拟方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。所述服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(ContentDelivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
参照图1所示,为本发明一实施例提供的角色对话模拟方法的流程示意图。在本实施例中,所述角色对话模拟方法包括:
S1、获取对话语料,对所述对话语料进行角色分类、文本清洗,得到不同角色对应的训练文本。
本发明实施例中,所述对话语料在实际应用场景中可以为医生与患者之间的对话语料、用户与客服之间的对话语料等。
本发明实施例中,可以利用爬虫技术从网络上抓取获得大量对话语料,或者利用具有抓取功能的计算机语句(如java语句、python语句等)从预先构建的用于存储各类对话语料的存储区域中获取大量对话语料,所述存储区域包括但不限于数据库、区块链节点、网络缓存等。
本发明实施例中,请参阅图2所示,所述对所述对话语料进行角色分类、文本清洗,得到不同角色对应的训练文本,包括:
S21、将所述对话语料输入预设的分类模型中,得到对话语料对应的角色预测结果;
S22、根据所述角色预测结果对所述对话语料进行分类,得到每个角色对应的语料;
S23、剔除所述每个角色对应的语料中的预设字符,得到每个角色对应的第一文本;
S24、对所述第一文本进行语义识别,计算语义识别结果与预设文本向量的距离值,将距离值小于预设阈值的语义识别结果所对应的文本删除,得到每个角色对应的第二文本;
S25、分别将每个角色对应的第二文本进行文本拼接,得到每个角色对应的训练文本。
本发明实施例中,可以采用自然语言处理(NLP)模型对所述每个角色对应的第一文本语义识别,所述语义识别结果表现为文本向量的形式。
本发明实施例中,以医疗问诊为例,问诊文本中患者角色对应的文本可能包含有身体状况、症状信息、生活习惯、检查报告等,其中,检查报告不是对话模型训练所需要的文本,因此可以将检查报告对应的文本向量作为所述预设文本向量。通过计算所述语义识别结果和预设文本向量的距离值,判断角色对应的文本中是否含有该文本类型,距离值越小,表示向量相关度结果越高,进而相关度结果小于预设阈值,则说明该语音识别结果对应的第一文本为预设文本向量对应的文本类型。
详细地,计算所述语义识别结果和预设文本向量的距离值,可以通过如下公式:
其中,D为所述距离值,R为第i个预设文本向量,T为语义识别结果,θ为预设系数。
本发明实施例中,所述分别将每个角色对应的第二文本进行文本拼接,得到每个角色对应的训练文本,包括:
从多个角色中选取一个角色作为目标角色,将所述目标角色对应的第二文本作为目标文本;
根据所述目标文本计算得到平均句长,并根据所述平均句长设置所述目标文本的长度,将设置好长度的目标文本进行首尾拼接,得到所述目标角色对应的训练文本。
进一步地,可以通过根据平均句长对每个角色对应的第二文本进行长度统一化处理,进而进行文本的首尾拼接,得到每个角色对应的训练文本。
本发明实施例中,在生成每个角色对应的训练文本之后,还可以根据不同角色对所述训练文本设置不同的角色标签,例如,医生的对应的角色标签为doctor,患者对应的角色标签为patient,则可以在所述训练文本前拼接所述角色标签,形成角色标识。
S2、构建预训练对话模型,并利用所述预训练对话模型对所述不同角色对应的训练文本进行位置编码,得到文本矩阵。
本发明实施例中,所述预训练对话模型可以由多层单向Transformer的解码器部分构成,是一种自回归模型,所述预训练对话模型包括但不限于GPT-2(Generative Pre-training 2.0)模型。
本发明实施例中,所述构建预训练对话模型,包括:
将模型划分为四部分,第一部分为向量生成层,第二部分为第一向量处理层,第三部分为第二向量处理层,第四部分为预测层;
在所述向量生成层中添加位置编码结构及Embedding结构;
在所述第一向量处理层中添加LayerNorm结构、Masked Multi self-Attention结构以及残差连接结构;
在所述第二向量处理层中添加LayerNorm结构、Feed Forward结构以及残差连接结构;
在所述预测层中添加LayerNorm结构及预测函数。
本发明实施例中,所述Embedding结构用于将词嵌入与位置编码进行拼接,所述LayerNorm结构用于针对输入的数据进行横向特征维度的归一化,所述Masked Multiself-Attention结构用于针对输入的Embedding计算多次attention,并将计算结果进行拼接,所述残差连接结构通过残差网络结构叠加处理层中其余结构的输出结果,所述FeedForward结构即根据归一化矩阵调节前馈神经因子。
本发明实施例中,所述利用所述预训练对话模型对所述不同角色对应的训练文本进行位置编码,得到文本矩阵,包括:
将所述训练文本中的每个文字转换为字向量,得到字向量集,并对所述字向量集执行位置编码,得到定位字向量集;
将所述定位字向量集转换为定位向量矩阵,根据所述定位向量矩阵的维度,生成文本矩阵。
本发明实施例中,可采用Word2vec算法,将所述训练文本中的每个文字转换为字向量。
本发明实施例中,所述对所述字向量集执行位置编码,包括:
随机提取所述字向量集中字向量作为坐标向量,将所述坐标向量的位置作为坐标原点;
根据所述坐标原点,建立所述字向量集中每个字向量的位置向量,利用所述位置向量对所述字向量集执行位置编码。
本发明实施例中,所述字向量离所述已编码字对应的字向量越远,则所述字向量对应的位置向量的模越大。
本发明实施例中,所述文本矩阵与所述定位向量矩阵的维度一样,例如定位向量矩阵的维度为m×n,则生成的文本矩阵的维度也为m×n,本发明实施例中,可采用随机方法,生成文本矩阵。
S3、对所述文本矩阵进行矩阵计算及预测计算,得到预测对话,根据所述预测对话和所述训练文本计算相关度结果,并判断所述相关度结果是否大于预设阈值。
本发明实施例中,所述对所述文本矩阵进行矩阵计算及预测计算,得到预测对话,包括:
利用所述第向量处理层对所述文本矩阵进行归一化、注意力计算以及残差计算,得到第一向量矩阵;
利用所述第二向量处理层所述文本矩阵进行归一化、前馈神经调节以及残差计算,得到第二向量矩阵;
利用所述预测层对所述第二向量矩阵进行归一化,并将归一化的结果输入预测函数中,得到预测结果,所述预测结果包括预测文字和结束符;
判断所述预测结果是预测文字还是结束符;
若所述预测结果是预测文字,则返回利用所述第向量处理层对所述文本矩阵进行归一化、注意力计算以及残差计算,得到第一向量矩阵的步骤;
若所述预测结果是结束符,则将所有的预测结果进行拼接,得到预测对话。
本发明实施例中,所述根据所述预测对话和所述训练文本计算相关度结果,包括:
获取该预测对话所对应的角色之外其他角色的训练文本,将所述其他角色的训练文本作为对比文本;
根据所述对比文本生成对比矩阵,对所述对比矩阵进行线性化处理,得到第一线性向量;
对所述第一线性向量进行特征压缩,得到第二线性向量,在所述第二线性向量中提取与所述预测对话对应的字向量的相关度,将所述相关度结果输入预设的概率输出函数中,得到相关度结果。
本发明实施例中,所述概率输出函数可采用Softmax函数根据所述相关度进行概率计算,得到所述预测对话和所述训练文本之间的相关度结果。
若所述相关度结果小于或等于所述阈值,则执行S4、更新所述文本矩阵,并返回S3。
本发明实施例中,若所述相关度结果小于或等于所述阈值,则可以重新对输入文本进行位置编码和拼接,进而重新调节预训练的对话模型。
若所述相关度结果大于所述阈值,则执行S5、停止训练,得到对话模型。
本发明实施例中,若所述相关度结果大于所述阈值,则说明预训练对话模型预测的正确,可以不需要再更新所述文本矩阵,重新调节对话模型。
S6、根据预设条件确定所述对话模型的角色,获取用户输入,对所述用户输入进行文本处理,得到目标文本。
本发明实施例中,所述预设条件可以为输入角色指令,根据角色指令进而确定对话模型的角色。
本发明实施例中,所述对所述用户输入进行文本处理,得到目标文本的步骤与上述S1中对所述对话语料进行角色分类、文本清洗,得到不同角色对应的训练文本的步骤相似,在此不过多赘述。
S7、将所述目标文本输入所述对话模型中,得到模型输出结果,对所述模型输出结果进行重复性筛选及采样,得到目标输出结果,并根据所述目标输出结果判断句子生成是否结束。
本发明实施例中,所述将所述目标文本输入所述对话模型中,得到模型输出结果的步骤与上述S2-S3中构建预训练对话模型,并利用所述预训练对话模型对所述不同角色对应的训练文本进行位置编码,得到文本矩阵,对所述文本矩阵进行矩阵计算及预测计算的步骤相似,在此不过多赘述。
本发明实施例中,请参阅图3所示,所述对所述模型输出结果进行重复性筛选及采样,得到目标输出结果,包括:
S31、获取上一个结束符之后所述对话模型的所有输出结果;
S32、将所述模型输出结果与所述所有输出结果进行重复性检测;
若出现重复的输出结果,则执行S33、根据预设的重复性惩罚在所述对话模型中去除所述重复的输出结果,并利用所述对话模型重新生成模型输出结果,并返回S32;
若未出现重复的输出结果,则执行S34、在所述模型输出结果中进行随机采样,将采样结果作为目标输出结果。
本发明实施例中,所述惩罚规则可以为添加一个惩罚项权重参数,针对输出结果的重复性较高的token进行惩罚,减少生成概率。
本发明实施例中,所述随机采样可以为Softmax-Topk采样。
本发明实施例中,判断句子生成是否结束可以通过判断所述目标输出结果是否存在终止符来确定。
若句子生成未结束,则返回S7。
本发明实施例中,若句子生成未结束,即未检测到终止符,说明回复对话未生成完成,需要对话模型继续进行预测,直至检测到终止符,句子生成结束。
若句子生成结束,则执行S8、对所述目标输出结果进行拼接,得到回复对话。
本发明实施例中,当句子结束时,得到的模型输出结果可能为多个输出结果,未形成完整的对话,因此需要根据多个输出结果进行拼接,进而得到回复对话。
进一步地,可以通过预设的语义打分模型对多个所述目标输出结果进行打分,根据打分的结果设置每个目标输出结果的权值,根据所述权值对多个所述目标输出结果进行拼接。
本发明实施例中,所述语义打分模型包括但不限于深度语义匹配模型(DeepStructured Semantic Models,DSSM)、自然语言处理模型(Natural Language ProcessingModels,NPL)。
本发明实施例通过对对话语料进行处理,再将处理后的对话语料作为训练文本输出模型进行训练,进而得到对话模型,即通过该构建的对话模型,能够理解对话语料中对话者的特定语言场景,进而生成符合实际应用场景的对话;通过对对话模型的输出结果进行重复性筛选及采样,使生成的回复对话不局限于固定的答案,更加灵活。因此本发明提出的角色对话模拟方法,可以解决角色智能对话模拟不够灵活的问题。
如图4所示,是本发明一实施例提供的角色对话模拟装置的功能模块图。
本发明所述角色对话模拟装置100可以安装于电子设备中。根据实现的功能,所述角色对话模拟装置100可以包括文本生成模块101、文本矩阵生成模块102、模型训练模块103、模型预测模块104及回复对话生成模块105。本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
所述文本生成模块101,用于获取对话语料,对所述对话语料进行角色分类、文本清洗,得到不同角色对应的训练文本,以及根据预设条件确定所述对话模型的角色,获取用户输入,对所述用户输入进行文本处理,得到目标文本;
所述文本矩阵生成模块102,用于构建预训练对话模型,并利用所述预训练对话模型对所述不同角色对应的训练文本进行位置编码,得到文本矩阵;
所述模型训练模块103,用于对所述文本矩阵进行矩阵计算及预测计算,得到预测对话,根据所述预测对话和所述训练文本计算相关度结果,并判断所述相关度结果是否大于预设阈值;若所述相关度结果小于或等于所述阈值,则更新所述文本矩阵,并返回对所述文本矩阵进行矩阵计算及预测计算的步骤;若所述相关度结果大于所述阈值,则停止训练,得到对话模型;
所述模型预测模块104,用于将所述目标文本输入所述对话模型中,得到模型输出结果,对所述模型输出结果进行重复性筛选及采样,得到目标输出结果;
所述回复对话生成模块105,用于对所述目标输出结果进行拼接,得到回复对话。
详细地,本发明实施例中所述角色对话模拟装置100中所述的各模块在使用时采用与上述图1至图3中所述的角色对话模拟方法一样的技术手段,并能够产生相同的技术效果,这里不再赘述。
如图5所示,是本发明一实施例提供的实现角色对话模拟方法的电子设备的结构示意图。
所述电子设备1可以包括处理器10、存储器11、通信总线12以及通信接口13,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如角色对话模拟程序。
其中,所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing Unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(ControlUnit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如执行角色对话模拟程序等),以及调用存储在所述存储器11内的数据,以执行电子设备的各种功能和处理数据。
所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备的内部存储单元,例如该电子设备的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备的外部存储设备,例如电子设备上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)等。进一步地,所述存储器11还可以既包括电子设备的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备的应用软件及各类数据,例如角色对话模拟程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述通信总线12可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。
所述通信接口13用于上述电子设备与其他设备之间的通信,包括网络接口和用户接口。可选地,所述网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备与其他电子设备之间建立通信连接。所述用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。
图5仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图5示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述电子设备还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述电子设备1中的所述存储器11存储的角色对话模拟程序是多个指令的组合,在所述处理器10中运行时,可以实现:
获取对话语料,对所述对话语料进行角色分类、文本清洗,得到不同角色对应的训练文本;
构建预训练对话模型,并利用所述预训练对话模型对所述不同角色对应的训练文本进行位置编码,得到文本矩阵;
对所述文本矩阵进行矩阵计算及预测计算,得到预测对话,根据所述预测对话和所述训练文本计算相关度结果,并判断所述相关度结果是否大于预设阈值;
若所述相关度结果小于或等于所述阈值,则更新所述文本矩阵,并返回对所述文本矩阵进行矩阵计算及预测计算的步骤;
若所述相关度结果大于所述阈值,则停止训练,得到对话模型;
根据预设条件确定所述对话模型的角色,获取用户输入,对所述用户输入进行文本处理,得到目标文本;
将所述目标文本输入所述对话模型中,得到模型输出结果,对所述模型输出结果进行重复性筛选及采样,得到目标输出结果,并根据所述目标输出结果判断句子生成是否结束;
若句子生成未结束,则返回将所述目标文本输入所述对话模型中的步骤。
若句子生成结束,则对所述目标输出结果进行拼接,得到回复对话。
具体地,所述处理器10对上述指令的具体实现方法可参考附图对应实施例中相关步骤的描述,在此不赘述。
进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。所述计算机可读存储介质可以是易失性的,也可以是非易失性的。例如,所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
本发明还提供一种计算机可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序在被电子设备的处理器所执行时,可以实现:
获取对话语料,对所述对话语料进行角色分类、文本清洗,得到不同角色对应的训练文本;
构建预训练对话模型,并利用所述预训练对话模型对所述不同角色对应的训练文本进行位置编码,得到文本矩阵;
对所述文本矩阵进行矩阵计算及预测计算,得到预测对话,根据所述预测对话和所述训练文本计算相关度结果,并判断所述相关度结果是否大于预设阈值;
若所述相关度结果小于或等于所述阈值,则更新所述文本矩阵,并返回对所述文本矩阵进行矩阵计算及预测计算的步骤;
若所述相关度结果大于所述阈值,则停止训练,得到对话模型;
根据预设条件确定所述对话模型的角色,获取用户输入,对所述用户输入进行文本处理,得到目标文本;
将所述目标文本输入所述对话模型中,得到模型输出结果,对所述模型输出结果进行重复性筛选及采样,得到目标输出结果,并根据所述目标输出结果判断句子生成是否结束;
若句子生成未结束,则返回将所述目标文本输入所述对话模型中的步骤。
若句子生成结束,则对所述目标输出结果进行拼接,得到回复对话。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种角色对话模拟方法,其特征在于,所述方法包括:
获取对话语料,对所述对话语料进行角色分类、文本清洗,得到不同角色对应的训练文本;
构建预训练对话模型,并利用所述预训练对话模型对所述不同角色对应的训练文本进行位置编码,得到文本矩阵;
对所述文本矩阵进行矩阵计算及预测计算,得到预测对话,根据所述预测对话和所述训练文本计算相关度结果,并判断所述相关度结果是否大于预设阈值;
若所述相关度结果小于或等于所述阈值,则更新所述文本矩阵,并返回对所述文本矩阵进行矩阵计算及预测计算的步骤;
若所述相关度结果大于所述阈值,则停止训练,得到对话模型;
根据预设条件确定所述对话模型的角色,获取用户输入,对所述用户输入进行文本处理,得到目标文本;
将所述目标文本输入所述对话模型中,得到模型输出结果,对所述模型输出结果进行重复性筛选及采样,得到目标输出结果,并根据所述目标输出结果判断句子生成是否结束;
若句子生成未结束,则返回将所述目标文本输入所述对话模型中的步骤。
若句子生成结束,则对所述目标输出结果进行拼接,得到回复对话。
2.如权利要求1所述的角色对话模拟方法,其特征在于,所述对所述对话语料进行角色分类、文本清洗,得到不同角色对应的训练文本,包括:
将所述对话语料输入预设的分类模型中,得到对话语料对应的角色预测结果;
根据所述角色预测结果对所述对话语料进行分类,得到每个角色对应的语料;
剔除所述每个角色对应的语料中的预设字符,得到每个角色对应的第一文本;
对所述第一文本进行语义识别,计算语义识别结果与预设文本向量的距离值,将距离值小于预设阈值的语义识别结果所对应的文本删除,得到每个角色对应的第二文本;
分别将每个角色对应的第二文本进行文本拼接,得到每个角色对应的训练文本。
3.如权利要求2所述的角色对话模拟方法,其特征在于,所述分别将每个角色对应的第二文本进行文本拼接,得到每个角色对应的训练文本,包括:
从多个角色中选取一个角色作为目标角色,将所述目标角色对应的第二文本作为目标文本;
根据所述目标文本计算得到平均句长,并根据所述平均句长设置所述目标文本的长度,将设置好长度的目标文本进行首尾拼接,得到所述目标角色对应的训练文本。
4.如权利要求1所述的角色对话模拟方法,其特征在于,所述构建预训练对话模型,包括:
将模型划分为四部分,第一部分为向量生成层,第二部分为第一向量处理层,第三部分为第二向量处理层,第四部分为预测层;
在所述向量生成层中添加位置编码结构及Embedding结构;
在所述第一向量处理层中添加LayerNorm结构、Masked Multiself-Attention结构以及残差连接结构;
在所述第二向量处理层中添加LayerNorm结构、Feed Forward结构以及残差连接结构;
在所述预测层中添加LayerNorm结构及预测函数。
5.如权利要求4所述的角色对话模拟方法,其特征在于,所述对所述文本矩阵进行矩阵计算及预测计算,得到预测对话,包括:
利用所述第向量处理层对所述文本矩阵进行归一化、注意力计算以及残差计算,得到第一向量矩阵;
利用所述第二向量处理层所述文本矩阵进行归一化、前馈神经调节以及残差计算,得到第二向量矩阵;
利用所述预测层对所述第二向量矩阵进行归一化,并将归一化的结果输入预测函数中,得到预测结果,所述预测结果包括预测文字和结束符;
判断所述预测结果是预测文字还是结束符;
若所述预测结果是预测文字,则返回利用所述第向量处理层对所述文本矩阵进行归一化、注意力计算以及残差计算,得到第一向量矩阵的步骤;
若所述预测结果是结束符,则将所有的预测结果进行拼接,得到预测对话。
6.如权利要求1所述的角色对话模拟方法,其特征在于,所述根据所述预测对话和所述训练文本计算相关度结果,包括:
获取该预测对话所对应的角色之外其他角色的训练文本,将所述其他角色的训练文本作为对比文本;
根据所述对比文本生成对比矩阵,对所述对比矩阵进行线性化处理,得到第一线性向量;
对所述第一线性向量进行特征压缩,得到第二线性向量,在所述第二线性向量中提取与所述预测对话对应的字向量的相关度,将所述相关度结果输入预设的概率输出函数中,得到相关度结果。
7.如权利要求1至6中任一项所述的角色对话模拟方法,其特征在于,所述对所述模型输出结果进行重复性筛选及采样,得到目标输出结果,包括:
获取上一个结束符之后所述对话模型的所有输出结果;
将所述模型输出结果与所述所有输出结果进行重复性检测;
若出现重复的输出结果,则根据预设的重复性惩罚在所述对话模型中去除所述重复的输出结果,并利用所述对话模型重新生成模型输出结果,并返回将所述模型输出结果与所述所有输出结果进行重复性检测的步骤;
若未出现重复的输出结果,则在所述模型输出结果中进行随机采样,将采样结果作为目标输出结果。
8.一种角色对话模拟装置,其特征在于,所述装置包括:
文本生成模块,用于获取对话语料,对所述对话语料进行角色分类、文本清洗,得到不同角色对应的训练文本,以及根据预设条件确定所述对话模型的角色,获取用户输入,对所述用户输入进行文本处理,得到目标文本;
文本矩阵生成模块,用于构建预训练对话模型,并利用所述预训练对话模型对所述不同角色对应的训练文本进行位置编码,得到文本矩阵;
模型训练模块,用于对所述文本矩阵进行矩阵计算及预测计算,得到预测对话,根据所述预测对话和所述训练文本计算相关度结果,并判断所述相关度结果是否大于预设阈值;若所述相关度结果小于或等于所述阈值,则更新所述文本矩阵,并返回对所述文本矩阵进行矩阵计算及预测计算的步骤;若所述相关度结果大于所述阈值,则停止训练,得到对话模型;
模型预测模块,用于将所述目标文本输入所述对话模型中,得到模型输出结果,对所述模型输出结果进行重复性筛选及采样,得到目标输出结果;
回复对话生成模块,用于对所述目标输出结果进行拼接,得到回复对话。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任意一项所述的角色对话模拟方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述的角色对话模拟方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210370868.5A CN114822812A (zh) | 2022-04-11 | 2022-04-11 | 角色对话模拟方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210370868.5A CN114822812A (zh) | 2022-04-11 | 2022-04-11 | 角色对话模拟方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114822812A true CN114822812A (zh) | 2022-07-29 |
Family
ID=82534483
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210370868.5A Pending CN114822812A (zh) | 2022-04-11 | 2022-04-11 | 角色对话模拟方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114822812A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115081004A (zh) * | 2022-08-22 | 2022-09-20 | 北京瑞莱智慧科技有限公司 | 数据处理方法、相关装置及存储介质 |
CN115098665A (zh) * | 2022-08-25 | 2022-09-23 | 北京聆心智能科技有限公司 | 一种对话数据扩展方法、装置及设备 |
CN115293132A (zh) * | 2022-09-30 | 2022-11-04 | 腾讯科技(深圳)有限公司 | 虚拟场景的对话处理方法、装置、电子设备及存储介质 |
CN115422335A (zh) * | 2022-09-01 | 2022-12-02 | 美的集团(上海)有限公司 | 与对话系统的交互方法和对话系统的训练方法 |
CN116561259A (zh) * | 2023-07-07 | 2023-08-08 | 北京中关村科金技术有限公司 | 会话分割模型的测试方法、装置、设备及介质 |
CN116662520A (zh) * | 2023-07-21 | 2023-08-29 | 六合熙诚(北京)信息科技有限公司 | 一种适应于心理角色场景模拟的多轮对话生成方法 |
CN117556026A (zh) * | 2024-01-11 | 2024-02-13 | 阿里云计算有限公司 | 数据生成方法、电子设备及存储介质 |
CN115422335B (zh) * | 2022-09-01 | 2024-05-03 | 美的集团(上海)有限公司 | 与对话系统的交互方法和对话系统的训练方法 |
-
2022
- 2022-04-11 CN CN202210370868.5A patent/CN114822812A/zh active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115081004A (zh) * | 2022-08-22 | 2022-09-20 | 北京瑞莱智慧科技有限公司 | 数据处理方法、相关装置及存储介质 |
CN115081004B (zh) * | 2022-08-22 | 2022-11-04 | 北京瑞莱智慧科技有限公司 | 数据处理方法、相关装置及存储介质 |
CN115098665A (zh) * | 2022-08-25 | 2022-09-23 | 北京聆心智能科技有限公司 | 一种对话数据扩展方法、装置及设备 |
CN115422335A (zh) * | 2022-09-01 | 2022-12-02 | 美的集团(上海)有限公司 | 与对话系统的交互方法和对话系统的训练方法 |
CN115422335B (zh) * | 2022-09-01 | 2024-05-03 | 美的集团(上海)有限公司 | 与对话系统的交互方法和对话系统的训练方法 |
CN115293132A (zh) * | 2022-09-30 | 2022-11-04 | 腾讯科技(深圳)有限公司 | 虚拟场景的对话处理方法、装置、电子设备及存储介质 |
CN115293132B (zh) * | 2022-09-30 | 2022-12-30 | 腾讯科技(深圳)有限公司 | 虚拟场景的对话处理方法、装置、电子设备及存储介质 |
CN116561259A (zh) * | 2023-07-07 | 2023-08-08 | 北京中关村科金技术有限公司 | 会话分割模型的测试方法、装置、设备及介质 |
CN116561259B (zh) * | 2023-07-07 | 2023-09-05 | 北京中关村科金技术有限公司 | 会话分割模型的测试方法、装置、设备及介质 |
CN116662520A (zh) * | 2023-07-21 | 2023-08-29 | 六合熙诚(北京)信息科技有限公司 | 一种适应于心理角色场景模拟的多轮对话生成方法 |
CN117556026A (zh) * | 2024-01-11 | 2024-02-13 | 阿里云计算有限公司 | 数据生成方法、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114822812A (zh) | 角色对话模拟方法、装置、设备及存储介质 | |
CN112667800A (zh) | 关键词生成方法、装置、电子设备及计算机存储介质 | |
CN113722483B (zh) | 话题分类方法、装置、设备及存储介质 | |
CN113807973B (zh) | 文本纠错方法、装置、电子设备及计算机可读存储介质 | |
CN113821622B (zh) | 基于人工智能的答案检索方法、装置、电子设备及介质 | |
CN112988963A (zh) | 基于多流程节点的用户意图预测方法、装置、设备及介质 | |
CN115392237B (zh) | 情感分析模型训练方法、装置、设备及存储介质 | |
CN112507663A (zh) | 基于文本的判断题生成方法、装置、电子设备及存储介质 | |
CN114840684A (zh) | 基于医疗实体的图谱构建方法、装置、设备及存储介质 | |
CN116450829A (zh) | 医疗文本分类方法、装置、设备及介质 | |
CN116468025A (zh) | 电子病历结构化方法、装置、电子设备及存储介质 | |
CN116821373A (zh) | 基于图谱的prompt推荐方法、装置、设备及介质 | |
CN116665878A (zh) | 改善累计误差的智能问诊方法、装置、设备及存储介质 | |
CN114548114B (zh) | 文本情绪识别方法、装置、设备及存储介质 | |
CN116341646A (zh) | Bert模型的预训练方法、装置、电子设备及存储介质 | |
CN114610855A (zh) | 对话回复生成方法、装置、电子设备及存储介质 | |
CN115169330B (zh) | 中文文本纠错及验证方法、装置、设备及存储介质 | |
CN111680513B (zh) | 特征信息的识别方法、装置及计算机可读存储介质 | |
CN112632240B (zh) | 基于知识库导向的网络文本生成方法、装置及存储介质 | |
CN114462411B (zh) | 命名实体识别方法、装置、设备及存储介质 | |
CN116702761A (zh) | 文本纠错方法、装置、设备及存储介质 | |
CN116431810A (zh) | 剪枝范式的病症片段抽取方法、装置、设备及存储介质 | |
CN116644758A (zh) | 基于医疗的意图识别模型训练方法、装置、设备及介质 | |
CN116663503A (zh) | 基于自注意力权重图的句子纠错方法、装置、设备及介质 | |
CN116579349A (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 |