CN112905755A - 一种回复文本预测方法、装置、设备及存储介质 - Google Patents

一种回复文本预测方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112905755A
CN112905755A CN202010952913.9A CN202010952913A CN112905755A CN 112905755 A CN112905755 A CN 112905755A CN 202010952913 A CN202010952913 A CN 202010952913A CN 112905755 A CN112905755 A CN 112905755A
Authority
CN
China
Prior art keywords
machine learning
learning model
text
determining
sample set
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
Application number
CN202010952913.9A
Other languages
English (en)
Inventor
魏瑶
高俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010952913.9A priority Critical patent/CN112905755A/zh
Publication of CN112905755A publication Critical patent/CN112905755A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Machine Translation (AREA)

Abstract

本申请公开了一种回复文本预测方法、装置、设备及存储介质,所述方法包括:训练对话回复生成模型;向第一终端发送对话回复生成模型,以使所述第一终端得到回复文本;其中,所述对话回复生成模型的训练方法包括:构建预设机器学习模型,并将其确定为当前机器学习模型;将训练样本集输入当前机器学习模型,确定训练样本集对应的负对数似然值;将测试样本集输入当前机器学习模型,确定输出负样本的对数似然值;基于训练样本集对应的负对数似然值与负样本的对数似然值,确定当前机器学习模型的损失值;当损失值小于或等于预设阈值时,将当前机器学习模型确定为对话回复生成模型。本申请减少了生成通用回复的比例,提升了回复文本的质量和多样性。

Description

一种回复文本预测方法、装置、设备及存储介质
技术领域
本申请涉及人工智能技术领域,尤其涉及一种回复文本预测方法、装置、设备及存储介质。
背景技术
近年来,基于SEQ2SEQ的对话回复生成模型取得了很好的性能。其通常将对话回复生成当作是一个序列到序列的任务:给定一个对话输入文本,对话生成模型需要根据输入生成一个高质量的回复。然而,一些研究发现使用MLE算法训练的SEQ2SEQ对话模型通常会有一些其他影响用户体验的问题,即模型容易生成通用回复的问题。
现有的回复生成模型大多采用基于RNN的Seq2Seq模型。seq2seq模型是以编码(Encode)和解码(Decode)为代表的架构方式,seq2seq模型是根据输入序列X来生成输出序列Y,在翻译、文本自动摘要和机器人自动问答以及一些回归预测任务上有着广泛的运用。以encode和decode为代表的seq2seq模型,encode意思是将输入序列转化成一个固定长度的向量,decode意思是将输入的固定长度向量解码成输出序列。
尽管现有的方法取得了很好的效果,但现有的基于SEQ2SEQ模型的聊天生成系统的缺点是,模型使用MLE进行模型的优化,这导致了模型会生成很多高频的通用回复,这些回复往往没有意义且很短。针对直播售货平台,通过机器人生成文本来促进评论互动是很常见的做法。但是目前SEQ2SEQ生成回复的方式最大弊端是容易产生通用性评论,这大大折损了用户的互动意愿、主播的成就感以及平台的可信度。
因此,有必要提供一种回复文本预测方法、装置、设备及存储介质,减少了模型生成通用回复的比例,提升了回复文本的质量和多样性。
发明内容
本申请提供了一种回复文本预测方法、装置、设备及存储介质,可以有效减少模型生成通用回复的比例,提升回复文本的质量和多样性。
一方面,本申请提供了一种回复文本预测方法,所述方法包括:
训练用于回复对话的对话回复生成模型;
向第一终端发送所述对话回复生成模型,以使所述第一终端将接收的第二终端发送的目标文本,输入所述对话回复生成模型,得到回复文本;所述目标文本为所述第二终端响应于在目标显示界面的输入操作确定的文本;
其中,所述训练用于回复对话的对话回复生成模型包括:
构建预设机器学习模型,并将所述预设机器学习模型确定为当前机器学习模型;
将训练样本集输入所述当前机器学习模型,确定所述训练样本集对应的负对数似然值;
将测试样本集输入所述当前机器学习模型,确定输出负样本的对数似然值;
基于所述训练样本集对应的负对数似然值与所述负样本的对数似然值,确定所述当前机器学习模型的损失值;
当所述损失值小于或等于预设阈值时,将所述当前机器学习模型确定为所述对话回复生成模型。
另一方面提供了一种回复文本预测装置,所述装置包括:
对话回复生成模型确定模块,用于训练用于回复对话的对话回复生成模型;
模型发送模块,用于向第一终端发送所述对话回复生成模型,以使所述第一终端将接收的第二终端发送的目标文本,输入所述对话回复生成模型,得到回复文本;所述目标文本为所述第二终端响应于在目标显示界面的输入操作确定的文本;
其中,所述对话回复生成模型确定模块包括:
预设机器学习模型构建模块,用于构建预设机器学习模型,并将所述预设机器学习模型确定为当前机器学习模型;
训练样本集的负对数似然值确定子模块,用于将训练样本集输入所述当前机器学习模型,确定所述训练样本集对应的负对数似然值;
负样本的对数似然值确定子模块,用于将测试样本集输入所述当前机器学习模型,确定输出负样本的对数似然值;
损失值确定子模块,用于基于所述训练样本集对应的负对数似然值与所述负样本的对数似然值,确定所述当前机器学习模型的损失值;
对话回复生成模型确定子模块,用于当所述损失值小于或等于预设阈值时,将所述当前机器学习模型确定为所述对话回复生成模型。
另一方面提供了一种回复文本预测设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如上所述的回复文本预测方法。
另一方面提供了一种计算机存储介质,所述计算机存储介质存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如上所述的回复文本预测方法。
另一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述所述的回复文本预测方法。
本申请提供的回复文本预测方法、装置、设备及存储介质,具有如下技术效果:
本申请在对话回复生成模型的训练过程中,通过训练样本集对应的负对数似然值与所述负样本的对数似然值来确定模型的损失值,当所述损失值小于或等于预设阈值时,将所述当前机器学习模型确定为所述对话回复生成模型;由此确定的模型应用于第一终端时,针对第二终端发送的目标文本,可以减少生成通用回复的比例,提升了回复文本的质量和多样性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本申请实施例提供的一种回复文本预测系统的示意图;
图2是本申请实施例提供的一种回复文本预测方法的流程示意图;
图3是本申请实施例提供的一种确定所述训练样本集对应的负对数似然值的方法的流程示意图;
图4是本申请实施例提供的一种Attention机制的原理示意图;
图5是本申请实施例提供的确定输出负样本的对数似然值的方法的流程示意图;
图6是本申请实施例提供的确定所述当前机器学习模型的损失值的方法的流程示意图;
图7是现有技术的对话回复模型生成的对话回复显示界面;
图8是本申请的方法生成的对话回复模型生成的对话回复显示界面;
图9是另一种回复文本预测方法的流程示意图;
图10是本申请实施例提供的一种确定所述当前机器学习模型的损失值的方法的流程示意图;
图11是本申请实施例提供的一种回复文本预测装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
其中,机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习等技术。本申请涉及一种回复文本预测方法,通过构建对话回复生成模型,针对目标文本预测对应的回复文本。
请参阅图1,图1是本申请实施例提供的一种回复文本预测系统的示意图,如图1所示,该回复文本预测系统可以至少包括第一终端01、第二终端02和服务器03。
具体的,本说明书实施例中,所述第一终端01可以包括智能手机、台式电脑、平板电脑、笔记本电脑、数字助理、智能可穿戴设备等类型的实体设备,也可以包括运行于实体设备中的软体,例如一些服务商提供给用户的网页页面,也可以为该些服务商提供给用户的应用。具体的,所述第一终端01可以用于应用对话回复生成模型,生成回复文本。
具体的,本说明书实施例中,所述第二终端02可以包括智能手机、台式电脑、平板电脑、笔记本电脑、数字助理、智能可穿戴设备等类型的实体设备,也可以包括运行于实体设备中的软体,例如一些服务商提供给用户的网页页面,也可以为该些服务商提供给用户的应用。具体的,所述第二终端02可以用于向第一终端01发送目标文本,所述目标文本可以为用户提出的问题。
具体的,本说明书实施例中,所述服务器03可以包括一个独立运行的服务器,或者分布式服务器,或者由多个服务器组成的服务器集群。服务器03可以包括有网络通信单元、处理器和存储器等等。具体的,所述服务器03可以用于训练对话回复生成模型。
以下介绍本申请的一种回复文本预测方法,图2是本申请实施例提供的一种回复文本预测方法的流程示意图,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图2所示,所述方法可以包括:
S201:服务器训练用于回复对话的对话回复生成模型。
在本说明书实施例中,所述服务器训练用于回复对话的对话回复生成模型可以包括:
S20101:所述服务器构建预设机器学习模型,并将所述预设机器学习模型确定为当前机器学习模型;
在本说明书实施例中,所述预设机器学习模型可以为基于循环神经网络(RNN)的序列到序列(简称SEQ2SEQ)模型。模型由一个编码器Encoder和一个解码器Decoder组成。编码器用来分析输入序列,解码器用来生成输出序列。两个循环神经网络是共同训练的。
SEQ2SEQ属于encoder-decoder结构的一种,基本思想就是利用两个RNN,一个RNN作为encoder,另一个RNN作为decoder。encoder负责将输入序列压缩成指定长度的向量,这个向量就可以看成是这个序列的语义,这个过程称为编码;获取语义向量最简单的方式就是直接将最后一个输入的隐状态作为语义向量C。也可以对最后一个隐含状态做一个变换得到语义向量,还可以将输入序列的所有隐含状态做一个变换得到语义变量。
而decoder则负责根据语义向量生成指定的序列,这个过程也称为解码,最简单的方式是将encoder得到的语义变量作为初始状态输入到decoder的RNN中,得到输出序列。上一时刻的输出会作为当前时刻的输入,而且其中语义向量C只作为初始状态参与运算。
在本说明书实施例中,SEQ2SEQ可替换为变分自编码器(Variational Auto-Encoder,VAE),在VAE中,它的Encoder有两个,一个用来计算均值,一个用来计算方差;它本质上就是在我们常规的自编码器的基础上,对encoder的结果(在VAE中对应着计算均值的网络)加上了“高斯噪声”,使得结果decoder能够对噪声有鲁棒性;而那个额外的KL loss(目的是让均值为0,方差为1),事实上就是相当于对encoder的一个正则项,使encoder的输出均有零均值。
RNN可以学习概率分布,然后进行预测,比如我们输入t时刻的数据后,预测t+1时刻的数据,比较常见的是字符预测例子或者时间序列预测。为了得到概率分布,一般会在RNN的输出层使用softmax激活函数,就可以得到每个分类的概率。
对于RNN,对于某个序列,对于时刻t,它的词向量输出概率为P(xt|x1,x2,...,xt-1),则softmax层每个神经元的计算如下:
Figure BDA0002677616260000081
其中ht是隐含状态,它与上一时刻的状态及当前输入有关,即ht=f(ht-1,xt);那么整个序列的概率就为:
Figure BDA0002677616260000082
而对于encoder-decoder模型,设有输入序列x1,x2,...,xT,输出序列y1,y2,...,yT,输入序列和输出序列的长度可能不同。那么其实就需要根据输入序列去得到输出序列可能输出的词概率,于是有下面的条件概率,x1,x2,...,xT发生的情况下,y1,y2,...,yT发生的概率等于p(yt|v,y1,y2,...,yt-1)连乘,如下公式所示。其中v表示x1,x2,...,xT对应的隐含状态向量,它其实可以等同表示输入序列。
Figure BDA0002677616260000083
此时,ht=f(ht-1,yt-1,v),decode编码器中隐含状态与上一时刻状态、上一时刻输出和状态v都有关(这里不同于RNN,RNN是与当前时刻的输入相关,而decode编码器是将上一时刻的输出输入到RNN中。于是decoder的某一时刻的概率分布可用下式表示:
p(yt|v,y1,y2,...,yt-1)=g(ht,yt-1,v)
所以对于训练样本,我们要做的就是在整个训练样本下,所有样本的p(y1,y2,...,yT|x1,...,xT)概率之和最大。对应的对数似然条件概率函数为
Figure BDA0002677616260000091
使之最大化,θ则是待确定的模型参数。
S20103:所述服务器将训练样本集输入所述当前机器学习模型,确定所述训练样本集对应的负对数似然值;
在本说明书实施例中,所述训练样本集中每个训练样本均包括输入文本和输出文本,所述当前机器学习模型包括编码器和解码器;如图3所示,所述服务器将训练样本集输入所述当前机器学习模型,确定所述训练样本集对应的负对数似然值可以包括:
S201031:所述服务器将每个输入文本输入所述编码器,得到语义向量;
S201033:所述服务器将所述语义向量输入所述解码器,得到输出序列;
在本说明书实施例中,所述服务器将所述语义向量输入所述解码器,得到输出序列包括:
所述服务器采用注意力机制在当前解码时刻获取所述编码器端的语义向量;
所述服务器根据所述编码器端的语义向量构造上下文向量;
所述服务器基于所述上下文向量,确定所述输出序列。
S201035:所述服务器基于所述输出序列,构建目标时刻的生成词分布函数;
S201037:所述服务器将分布中概率为目标概率的词作为当前时刻生成的词;
S201039:所述服务器根据所述当前时刻生成的词的集合,构建生成文本;
S2010311:所述服务器根据每个输出文本与对应的生成文本,确定所述训练样本集对应的负对数似然值。
在本说明书实施例中,所述服务器将每个输入文本输入所述编码器,得到语义向量的步骤之前,所述方法还可以包括:
所述服务器通过切词算法将每个输入文本进行切词处理,得到输入文本序列;
所述服务器将所述输入文本序列中每个词向量转换为目标维度的词向量;
相应的,所述服务器将每个输入文本输入所述编码器,得到语义向量包括:
所述服务器将所述输入文本序列中每个目标维度的词向量输入所述编码器,得到所述输入文本序列的隐向量;
所述服务器将所述输入文本序列的隐向量作为所述语义向量。
在本说明书实施例中,可以将长短期记忆网络(Long Short Term Memory)作为编码器,循环神经网络(Recurrent Neural Network,RNN)是一种用于处理序列数据的神经网络。长短期记忆(Long short-term memory,LSTM)是一种特殊的RNN,主要是为了解决长序列训练过程中的梯度消失和梯度爆炸问题。简单来说,就是相比普通的RNN,LSTM能够在更长的序列中有更好的表现。相比RNN只有一个传递状态ht,LSTM有两个传输状态,一个Ct(cell state),和一个ht(hidden state)。(RNN中的ht对于LSTM中的Ct)。
LSTM是解决循环神经网络RNN结构中存在的“梯度消失”问题而提出的,是一种特殊的循环神经网络。最常见的一个例子就是:当我们要预测“the clouds are in the(...)”的时候,这种情况下,相关的信息和预测的词位置之间的间隔很小,RNN会使用先前的信息预测出词是“sky”。但是如果想要预测“I grew up in France...I speak fluent(...)”,语言模型推测下一个词可能是一种语言的名字,但是具体是什么语言,需要用到间隔很长的前文中France,在这种情况下,RNN因为“梯度消失”的问题,并不能利用间隔很长的信息,然而,LSTM在设计上明确避免了长期依赖的问题,这主要归功于LSTM精心设计的“门”结构(输入门、遗忘门和输出门)消除或者增加信息到细胞状态的能力,使得LSTM能够记住长期的信息。
其中对于传递下去的Ct改变得很慢,通常输出的Ct是上一个状态传过来的Ct-1加上一些数值。而ht则在不同节点下往往会有很大的区别。
在本说明书实施例中,定义输入文本x={x1,x2,…,xn}为输入文本序列的One-hot向量表示,One-hot也是一个0,1向量,大小为词表维度,表示其中一个词的时候这个词就是1,其余位置为0。
在直播间场景下x就是用户的一句评论如上文说到的“请问衣服适合小个子女生吗”,此处xt是用户评论的每个词,分别是“请问”、“衣服”、“适合”、“小个子”、“女生”、“吗”;具体如何切词根据所选用的切词算法;切完词后将训练集中出现过的词建立一个列表,得到词表。
在本说明书实施例中,可以采用分词工具“结巴”(Jieba)进行分词操作,该分词工具支持四种分词模式:
(1)精确模式,试图将句子最精确地切开,适合文本分析。
(2)全模式,把句子中所有的可以成词的词语都扫描出来,速度非常快,但是不能解决歧义。
(3)搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。
(4)paddle模式,利用PaddlePaddle深度学习框架,训练序列标注(双向GRU)网络模型实现分词;同时支持词性标注。
jieba.cut方法接受四个输入参数:需要分词的字符串;cut_all参数用来控制是否采用全模式;HMM参数用来控制是否使用HMM模型;use_paddle参数用来控制是否使用paddle模式下的分词模式,paddle模式采用延迟加载方式,通过enable_paddle接口安装paddlepaddle-tiny,并且import相关代码;
jieba.cut_for_search方法接受两个参数:需要分词的字符串;是否使用HMM模型。该方法适合用于搜索引擎构建倒排索引的分词,粒度比较细。
待分词的字符串可以是unicode或UTF-8字符串、GBK字符串。注意:不建议直接输入GBK字符串,可能无法预料地错误解码成UTF-8。
jieba.cut以及jieba.cut_for_search返回的结构都是一个可迭代的generator,可以使用for循环来获得分词后得到的每一个词语(unicode),或者用jieba.lcut以及jieba.lcut_for_search直接返回list;jieba.Tokenizer(dictionary=DEFAULT_DICT)新建自定义分词器,可用于同时使用不同词典。jieba.dt为默认分词器,所有全局分词相关函数都是该分词器的映射。
在本说明书实施例中,LSTM网络中可以增加残差网络提升模型性能。残差网络很好地解决了深度神经网络的退化问题,并在ImageNet和CIFAR-10等图像任务上取得了非常好的结果,同等层数的前提下残差网络也收敛得更快。
在本说明书实施例中,LSTM网络可以替换成Transformer网络,Transformer作为seq2seq,也是由经典的Encoder-Decoder模型组成。
(1)Encoder结构:
输入序列X经过word embedding和positional encoding做直接加和后,作为Encoder部分的输入。输入向量经过一个multi-head self-attention层后,做一次residual connection(残差连接)和Layer Normalization(层归一化,下文中简称LN),输入到下一层position-wise feed-forward network中。之后再进行一次残差连接+LN,输出到Decoder部分;
(2)、Decoder结构:
输出序列Y经过word embedding和positional encoding做直接加和后,作为Decoder部分的输入。以翻译任务为例,假设要进行一个中译英任务。现在有一段中文序列X,对应的英文序列Y。在翻译出某个单词Yt时,并非只是用中文序列X翻译,而是用中文序列X加已经翻译出来的英文序列(y1,y2,……yt-1)进行翻译,所以也要将已经翻译出来的英文序列输入其中。
Decoder部分的输入向量首先经过一层multi-head self-attention,进行一次残差连接+LN,再经过一层multi-head context-attention,进行一次残差连接+LN,最后再经过一层position-wise feed-forward network,进行一次残差连接+LN后,输出至线性层。
在本说明书实施例中,y={y1,y2,…,ym}为相应的输出文本序列,在直播间里就是机器人生成的对应x的回复,例如针对“请问衣服适合小个子女生吗”这句话的回复:“这是适合女生的衣服”和“您多高?我们主播只有1米57哦,我们的衣服都适合小个子女生”。此处我们使用θ表示SEQ2SEQ模型的参数集合,则Pθ(y|x)表示模型的生成分布。在训练过程中,输入序列的每个One-hot向量xt首先会被映射到一个固定维度的词向量空间变成
Figure BDA0002677616260000121
然后使用LSTM网络作为编码器并且将
Figure BDA0002677616260000122
作为编码器的输入得到输入序列的隐变量表示
Figure BDA0002677616260000131
Figure BDA0002677616260000132
编码就是将自然语言映射到低维向量表示。具体做法如这个公式所示就是使用了一个LSTM网络作为编码器。
在本说明书实施例中,固定维度是自定义的,此处可以设置为512,也可以是1024;映射是将高维的one-hot向量变成低维向量,方便模型计算。
在解码器解码的t时间步,解码器的输入yt首先被映射到词向量
Figure BDA0002677616260000133
接着,我们构造一个上下文向量ct用于捕捉输入序列的信息。具体地,我们使用注意力机制来在当前解码时刻获取编码器端的信息,即计算上下文的表示向量ct
Figure BDA0002677616260000134
其中at是注意力分布,其通过计算得到:
Figure BDA0002677616260000135
其中Wa为模型参数,
Figure BDA0002677616260000136
为解码器当前输出。其中,T是矩阵转置符号。
注意力分布是一个概率分布,相当于对编码器得到的每个向量赋予了一个权重,权重越大越值得注意;如图4所示,Attention机制是将Source中的构成元素想象成是由一系列的<Key,Value>数据对构成,此时给定Target中的某个元素Query,通过计算Query和各个Key的相似性或者相关性,得到每个Key对应Value的权重系数,然后对Value进行加权求和,即得到了最终的Attention数值。所以本质上Attention机制是对Source中元素的Value值进行加权求和,而Query和Key用来计算对应Value的权重系数。即可以将其本质思想改写为如下公式:
Figure BDA0002677616260000137
其中,Lx=||Source||代表Source的长度,公式含义即如上所述。上文所举的机器翻译的例子里,因为在计算Attention的过程中,Source中的Key和Value合二为一,指向的是同一个东西,也即输入句子中每个单词对应的语义编码。至于Attention机制的具体计算过程,如果对目前大多数方法进行抽象的话,可以将其归纳为两个过程:第一个过程是根据Query和Key计算权重系数,第二个过程根据权重系数对Value进行加权求和。而第一个过程又可以细分为两个阶段:第一个阶段根据Query和Key计算两者的相似性或者相关性;第二个阶段对第一阶段的原始分值进行归一化处理。
最后通过一个线性变换以及Softmax函数得到t时刻的生成词分布:
P(yt|y<t,x)=Softmax(Woct+bo)其中Wo和bo为模型参数。最终选取分布中概率最大的词为当前时刻生成的词。
对于基础模型的训练,可以使用标准的最大似然估计(Maximum likelihoodestimation,MLE)作为优化目标并且通过梯度下降算法(SGD)来最小化数据的负对数似然:
Figure BDA0002677616260000141
上式中y<t表示序列{y0,y1,...,yt-1},其中y0是一个自定义的开始符号<BOS>,代表一个句子的开端;y是指模型生成的回复文本。
在本说明书实施例中,最大似然估计就是利用已知的样本结果信息,反推最具有可能(最大概率)导致这些样本结果出现的模型参数值;换句话说,极大似然估计提供了一种给定观察数据来评估模型参数的方法,即:“模型已定,参数未知”。似然函数P(x|θ)中x是已知确定的,θ是变量,最大似然估计是求参数θ,使似然函数P(x0|θ)最大。
S20105:所述服务器将测试样本集输入所述当前机器学习模型,确定输出负样本的对数似然值。
在本说明书实施例中,所述服务器构建预设机器学习模型的步骤之前,所述方法还可以包括:
所述服务器构建通用样本集。
在本说明书实施例中,所述服务器构建通用样本集可以包括:
所述服务器对所述训练样本集中每个训练样本进行测试,得到通用样本集。
在本说明书实施例中,如图5所示,所述服务器将测试样本集输入所述当前机器学习模型,确定输出负样本的对数似然值可以包括:
S201051:所述服务器将所述测试样本集输入所述当前机器学习模型,确定输出结果,所述输出结果包括通用文本和非通用文本。
S201053:所述服务器根据所述通用文本集,确定所述输出结果中的通用文本。
S201055:当所述通用文本在所述输出结果中的数量比例大于预设比例阈值时,所述服务器将所述通用文本标记为负样本。
在本说明书实施例中,所述负样本可以为通用回复文本;通用回复文本是指通用的无意义的回复,如上文提到的“适合女生的衣服”或更常见的“我不知道你在说什么”,“哈哈”等等。这些语句大多无意义且影响了平台可信度以及用户的互动意愿。其中,预设比例阈值rthres可以设置为0.01,如果模型在测试样本集上的通用回复比例大于这个阈值则会被当作负样本,并对其进行抑制。那么“这是适合女生的衣服”被抑制后,更富有信息量的回复,如“您多高?我们主播只有1米57哦,我们的衣服都适合小个子女生”则可被展示给用户。模型训练算法如下所示:
输入:模型参数θ,阈值rthres,训练数据集Dtrain
For(xpos,ypos)in Dtraindo
模型生成回复ysample
计算生成回复的通用回复比例rsample
If rsample>rthres then
更新负样本:
Figure BDA0002677616260000151
更新正样本:
Figure BDA0002677616260000152
End if
End for
其中,xpos为输入文本序列中第pos个单词,ypos为输出文本序列中第pos个单词,ysample为训练样本的输出序列中单词。
S201057:所述服务器确定输出所述负样本的对数似然值。
在本说明书实施例中,所述服务器确定输出所述负样本的对数似然值可以包括:
所述服务器基于经验风险最小化准则,构建输出负样本的期望风险函数;
所述服务器基于所述负样本的期望风险函数,确定所述负样本的对数似然值。
在本说明书实施例中,可以通过构建通用样本集和测试样本集,确定模型输出负样本的对数似然值;并基于此构建模型的损失值,从而减少模型生成通用回复的比例。
在本说明书实施例中,可以通过负训练框架确定输出所述负样本的对数似然值。负训练框架总共包含两个步骤。给定一个训练的模型,我们将每个训练样本进行测试,然后根据模型的测试输出来确认训练样本是否为负样本。这些负样本将会用于模型的负训练监督信号;如上文提到的回复“这是适合女生的衣服”。
负训练来源于经验风险最小化(Empirical Bayes Risk Minimization)理论。通常,其训练目标是最小化模型输出负样本的期望风险:
Figure BDA0002677616260000161
其中,c(x,y)是一个二值化的监督信号,如果样本为负样本则为1,否则为0。其中x为输入文本,y为输出文本。
在本说明书实施例中,负样本的期望风险值越小越好,可以将期望风险值设置为小于预设风险阈值。
在本说明书实施例中,可以通过策略梯度算法来计算LNEG的导数,从而确定出负样本的最小期望风险值,计算公式如下:
Figure BDA0002677616260000162
其中x为输入文本,y为输出文本。
与LMLE不同的是,LMLE是最大化训练数据的对数似然值,而LNEG是最小化负样本的对数似然值。
S20107:所述服务器基于所述训练样本集对应的负对数似然值与所述负样本的对数似然值,确定所述当前机器学习模型的损失值。
在本说明书实施例中,如图6所示,所述服务器基于所述训练样本集对应的负对数似然值与所述负样本的对数似然值,确定所述当前机器学习模型的损失值可以包括:
S201071:所述服务器确定所述训练样本集对应的负对数似然值的超参数;
S201073:所述服务器计算所述训练样本集对应的负对数似然值与所述超参数的乘积,得到目标数值;
在本说明书实施例中,超参数可以根据实际情况进行设定,例如可以设置为0.1。
S201075:所述服务器计算所述负样本的对数似然值与所述目标数值之和,得到所述当前机器学习模型的损失值。
在本说明书实施例中,可以将LMLE与LNEG进行结合,得到模型的最终损失值,计算公式如下:
LNEG+POS=LNEGPOSLMLE
其中,λPOS为超参数,此处我们设为0.1。
S20109:当所述损失值小于或等于预设阈值时,所述服务器将所述当前机器学习模型确定为所述对话回复生成模型。
在本说明书实施例中,所述服务器基于所述训练样本集对应的负对数似然值与所述负样本的对数似然值,确定所述当前机器学习模型的损失值的步骤之后,所述方法还包括:
当所述损失值大于所述预设阈值时,所述服务器对所述当前机器学习模型的参数进行更新以得到更新后机器学习模型,并将所述更新后机器学习模型重新确定为所述当前机器学习模型;重复步骤:所述服务器将训练样本集输入所述当前机器学习模型,确定所述训练样本集对应的负对数似然值。
在本说明书实施例中,所述当所述通用文本在所述输出结果中的数量比例大于预设比例阈值时,所述服务器将所述通用文本标记为负样本的步骤之后,所述方法还包括:
所述服务器删除所述训练样本集中所述负样本对应的训练样本,得到更新的训练样本集;
相应的,当所述损失值大于所述预设阈值时,所述服务器对所述当前机器学习模型的参数进行更新以得到更新后机器学习模型,并将所述更新后机器学习模型重新确定为所述当前机器学习模型;重复步骤:所述服务器将训练样本集输入所述当前机器学习模型,确定所述训练样本集对应的负对数似然值包括:
当所述损失值大于所述预设阈值时,所述服务器对所述当前机器学习模型的参数进行更新以得到更新后机器学习模型,并将所述更新后机器学习模型重新确定为所述当前机器学习模型;重复步骤:所述服务器将所述更新的训练样本集输入所述当前机器学习模型,确定所述训练样本集对应的负对数似然值。
S203:所述服务器向第一终端发送所述对话回复生成模型。
在本说明书实施例中,所述服务器可以为第一终端的后台服务器,第一终端可以为直播平台中主播的终端。
S205:所述第二终端响应于在目标显示界面的输入操作,确定目标文本。
在本说明书实施例中,第二终端可以为直播平台中的观众的终端。目标显示界面可以为直播应用程序的显示界面,用户可以在目标显示界面中通过语音或文字输入问题,即目标文本。
S207:所述第二终端向所述第一终端发送所述目标文本。
在本说明书实施例中,目标文本可以为第二终端侧用户向第一终端提出的问题;例如当第一终端为主播端,第二终端为观众端时,观众可以通过第二终端向主播提出问题;第一终端根据提问回答问题。
S209:所述第一终端将所述目标文本,输入所述对话回复生成模型,得到回复文本;所述目标文本为所述第二终端响应于在目标显示界面的输入操作确定的文本。
在本说明书实施例中,所述第一终端将所述目标文本,输入所述对话回复生成模型,得到回复文本的步骤之后,所述方法还可以包括:
所述第一终端向所述第二终端发送所述回复文本;
所述第二终端在目标显示界面展示所述回复文本。
在本说明书实施例中,第二终端的目标显示界面可以同时展示目标文本和回复文本,还可以展示其他终端用户发送的文本信息。
在本说明书实施例中,所述方法还可以包括:
所述第一终端在预设界面展示所述目标文本与所述回复文本。
在本说明书实施例中,第一终端的预设界面可以为直播应用程序的显示界面。
在本说明书实施例中,可以将上述实施例中的通用文本替换成恶意文本,从而实现抑制回复文本中的恶意文本。
以下结合终端中的网络直播应用程序说明本申请的回复文本预测方法。
在网络直播过程中,用户通常会针对产品提出一系列问题,而主播通常没有过多精力进行人工回复,这时就会用到聊天机器人(包含对话回复生成模型),对用户的问题进行智能回复;现有技术中基于SEQ2SEQ的对话回复生成模型通常容易生成通用回复。例如,针对一个卖衣服的直播平台,以下分别将现有技术和本申请的技术方案应用于终端的网络直播应用程序中,得到的对话回复结果如图7-8所示;图7为采用现有技术的对话回复模型生成的对话回复显示界面;图8为采用本申请的方法生成的对话回复模型生成的对话回复显示界面;显然,图7的通用回复缺乏信息量,无法准确地回答用户的问题,降低了用户的体验;而图8的回复具有丰富的信息量,更真实,可有效防止聊天机器人生成一些通用或恶意的回复导致产品的可信度问题,使得回复更具有真实性、多样性,提高了用户的互动意愿和主播的成就感,同时提高了产品的可信度。
由以上本说明书实施例提供的技术方案可见,本说明书实施例在对话回复生成模型的训练过程中,通过训练样本集对应的负对数似然值与所述负样本的对数似然值来确定模型的损失值,当所述损失值小于或等于预设阈值时,将所述当前机器学习模型确定为所述对话回复生成模型;由此确定的模型应用于第一终端时,针对第二终端发送的目标文本,可以减少生成通用回复的比例,提升了回复文本的质量和多样性。
以下以服务器为执行主体介绍本说明书一种回复文本预测方法的具体实施例,图9是本申请实施例提供的一种回复文本预测方法的流程示意图,具体的,结合图9所示,所述方法可以包括:
S901:训练用于回复对话的对话回复生成模型。
其中,所述训练用于回复对话的对话回复生成模型包括:
S90101:构建预设机器学习模型,并将所述预设机器学习模型确定为当前机器学习模型;
S90103:将训练样本集输入所述当前机器学习模型,确定所述训练样本集对应的负对数似然值;
在本说明书实施例中,所述训练样本集中每个训练样本均包括输入文本和输出文本,所述当前机器学习模型包括编码器和解码器;所述将训练样本集输入所述当前机器学习模型,确定所述训练样本集对应的负对数似然值包括:
S901031:将每个输入文本输入所述编码器,得到语义向量;
在本说明书实施例中,所述将每个输入文本输入所述编码器,得到语义向量的步骤之前,所述方法包括:
通过切词算法将每个输入文本进行切词处理,得到输入文本序列;
将所述输入文本序列中每个词向量转换为目标维度的词向量。
相应的,所述将每个输入文本输入所述编码器,得到语义向量包括:
将所述输入文本序列中每个目标维度的词向量输入所述编码器,得到所述输入文本序列的隐向量;
将所述输入文本序列的隐向量作为所述语义向量。
S901033:将所述语义向量输入所述解码器,得到输出序列;
S901035:基于所述输出序列,构建目标时刻的生成词分布函数;
S901037:将分布中概率为目标概率的词作为当前时刻生成的词;
S901039:根据所述当前时刻生成的词的集合,构建生成文本;
S9010311:根据每个输出文本与对应的生成文本,确定所述训练样本集对应的负对数似然值。
S90105:将测试样本集输入所述当前机器学习模型,确定输出负样本的对数似然值;
在本说明书实施例中,所述构建预设机器学习模型的步骤之前,所述方法还包括:
构建通用样本集;
所述将测试样本集输入所述当前机器学习模型,确定输出负样本的对数似然值包括:
S901051:将所述测试样本集输入所述当前机器学习模型,确定输出结果,所述输出结果包括通用文本和非通用文本;
S901053:根据所述通用文本集,确定所述输出结果中的通用文本;
S901055:当所述通用文本在所述输出结果中的数量比例大于预设比例阈值时,将所述通用文本标记为负样本;
S901057:确定输出所述负样本的对数似然值。
在本说明书实施例中,所述当所述通用文本在所述输出结果中的数量比例大于预设比例阈值时,将所述通用文本标记为负样本的步骤之后,所述方法还包括:
删除所述训练样本集中所述负样本对应的训练样本,得到更新的训练样本集;
相应的,当所述损失值大于所述预设阈值时,对所述当前机器学习模型的参数进行更新以得到更新后机器学习模型,并将所述更新后机器学习模型重新确定为所述当前机器学习模型;重复步骤:将训练样本集输入所述当前机器学习模型,确定所述训练样本集对应的负对数似然值包括:
当所述损失值大于所述预设阈值时,对所述当前机器学习模型的参数进行更新以得到更新后机器学习模型,并将所述更新后机器学习模型重新确定为所述当前机器学习模型;重复步骤:将所述更新的训练样本集输入所述当前机器学习模型,确定所述训练样本集对应的负对数似然值。
S90107:基于所述训练样本集对应的负对数似然值与所述负样本的对数似然值,确定所述当前机器学习模型的损失值;
在本说明书实施例中,如图10所示,所述基于所述训练样本集对应的负对数似然值与所述负样本的对数似然值,确定所述当前机器学习模型的损失值包括:
S901071:确定所述训练样本集对应的负对数似然值的超参数。
S901073:计算所述训练样本集对应的负对数似然值与所述超参数的乘积,得到目标数值。
S901075:计算所述负样本的对数似然值与所述目标数值之和,得到所述当前机器学习模型的损失值。
S90109:当所述损失值小于或等于预设阈值时,将所述当前机器学习模型确定为所述对话回复生成模型。
在本说明书实施例中,所述基于所述训练样本集对应的负对数似然值与所述负样本的对数似然值,确定所述当前机器学习模型的损失值的步骤之后,所述方法还可以包括:
当所述损失值大于所述预设阈值时,对所述当前机器学习模型的参数进行更新以得到更新后机器学习模型,并将所述更新后机器学习模型重新确定为所述当前机器学习模型;重复步骤:将训练样本集输入所述当前机器学习模型,确定所述训练样本集对应的负对数似然值。
S903:向第一终端发送所述对话回复生成模型,以使所述第一终端将接收的第二终端发送的目标文本,输入所述对话回复生成模型,得到回复文本;所述目标文本为所述第二终端响应于在目标显示界面的输入操作确定的文本。
本申请实施例还提供了一种回复文本预测装置,如图11所示,所述装置包括:
对话回复生成模型确定模块1110,用于训练用于回复对话的对话回复生成模型;
模型发送模块1120,用于向第一终端发送所述对话回复生成模型,以使所述第一终端将接收的第二终端发送的目标文本,输入所述对话回复生成模型,得到回复文本;所述目标文本为所述第二终端响应于在目标显示界面的输入操作确定的文本;
其中,所述对话回复生成模型确定模块1110可以包括:
预设机器学习模型构建模块11101,用于构建预设机器学习模型,并将所述预设机器学习模型确定为当前机器学习模型;
训练样本集的负对数似然值确定子模块11102,用于将训练样本集输入所述当前机器学习模型,确定所述训练样本集对应的负对数似然值;
负样本的对数似然值确定子模块11103,用于将测试样本集输入所述当前机器学习模型,确定输出负样本的对数似然值;
损失值确定子模块11104,用于基于所述训练样本集对应的负对数似然值与所述负样本的对数似然值,确定所述当前机器学习模型的损失值;
对话回复生成模型确定子模块11105,用于当所述损失值小于或等于预设阈值时,将所述当前机器学习模型确定为所述对话回复生成模型。
在一些实施例中,所述装置还可以包括:
更新模块,用于当所述损失值大于所述预设阈值时,对所述当前机器学习模型的参数进行更新以得到更新后机器学习模型,并将所述更新后机器学习模型重新确定为所述当前机器学习模型;重复步骤:将训练样本集输入所述当前机器学习模型,确定所述训练样本集对应的负对数似然值。
在一些实施例中,所述训练样本集中每个训练样本均包括输入文本和输出文本,所述当前机器学习模型包括编码器和解码器;所述训练样本集的负对数似然值确定子模块可以包括:
语义向量确定单元,用于将每个输入文本输入所述编码器,得到语义向量;
输出序列确定单元,用于将所述语义向量输入所述解码器,得到输出序列;
分布函数构建单元,用于基于所述输出序列,构建目标时刻的生成词分布函数;
当前时刻生成词确定单元,用于将分布中概率为目标概率的词作为当前时刻生成的词;
生成文本确定单元,用于根据所述当前时刻生成的词的集合,构建生成文本;
负对数似然值确定单元,用于根据每个输出文本与对应的生成文本,确定所述训练样本集对应的负对数似然值。
在一些实施例中,所述装置还可以包括:
输入文本序列确定模块,用于通过切词算法将每个输入文本进行切词处理,得到输入文本序列;
目标维度的词向量确定模块,用于将所述输入文本序列中每个词向量转换为目标维度的词向量。
在一些实施例中,所述语义向量确定单元可以包括:
隐向量确定子单元,用于将所述输入文本序列中每个目标维度的词向量输入所述编码器,得到所述输入文本序列的隐向量;
语义向量确定子单元,用于将所述输入文本序列的隐向量作为所述语义向量。
在一些实施例中,所述装置还可以包括:
通用样本集构建模块,用于构建通用样本集。
在一些实施例中,所述负样本的对数似然值确定子模块可以包括:
输出结果确定单元,用于将所述测试样本集输入所述当前机器学习模型,确定输出结果,所述输出结果包括通用文本和非通用文本;
通用文本确定单元,用于根据所述通用文本集,确定所述输出结果中的通用文本;
负样本标记单元,用于当所述通用文本在所述输出结果中的数量比例大于预设比例阈值时,将所述通用文本标记为负样本;
负样本的对数似然值确定单元,用于确定输出所述负样本的对数似然值。
在一些实施例中,所述装置还可以包括:
删除模块,用于删除所述训练样本集中所述负样本对应的训练样本,得到更新的训练样本集。
在一些实施例中,所述更新模块可以包括:
更新单元,用于当所述损失值大于所述预设阈值时,对所述当前机器学习模型的参数进行更新以得到更新后机器学习模型,并将所述更新后机器学习模型重新确定为所述当前机器学习模型;重复步骤:将所述更新的训练样本集输入所述当前机器学习模型,确定所述训练样本集对应的负对数似然值。
在一些实施例中,所述损失值确定子模块可以包括:
超参数确定单元,用于确定所述训练样本集对应的负对数似然值的超参数;
目标数值确定单元,用于计算所述训练样本集对应的负对数似然值与所述超参数的乘积,得到目标数值;
损失值确定单元,用于计算所述负样本的对数似然值与所述目标数值之和,得到所述当前机器学习模型的损失值。
所述的装置实施例中的装置与方法实施例基于同样地发明构思。
本申请实施例还提供了一种回复文本预测系统,所述系统包括服务器、第一终端和第二终端;
所述服务器,用于训练用于回复对话的对话回复生成模型;具体用于构建预设机器学习模型,并将所述预设机器学习模型确定为当前机器学习模型;以及将训练样本集输入所述当前机器学习模型,确定所述训练样本集对应的负对数似然值;以及将测试样本集输入所述当前机器学习模型,确定输出负样本的对数似然值;以及基于所述训练样本集对应的负对数似然值与所述负样本的对数似然值,确定所述当前机器学习模型的损失值;以及当所述损失值小于或等于预设阈值时,将所述当前机器学习模型确定为所述对话回复生成模型。
所述第一终端,用于将目标文本输入所述对话回复生成模型,得到回复文本。
所述第二终端,用于响应于在目标显示界面的输入操作,确定目标文本;以及向所述第一终端发送所述目标文本。
本申请实施例提供了一种回复文本预测设备,该设备包括处理器和存储器,该存储器中存储有至少一条指令或至少一段程序,该至少一条指令或至少一段程序由该处理器加载并执行以实现如上述方法实施例所提供的回复文本预测方法。
本申请的实施例还提供了一种计算机存储介质,所述存储介质可设置于终端之中以保存用于实现方法实施例中一种回复文本预测方法相关的至少一条指令或至少一段程序,该至少一条指令或至少一段程序由该处理器加载并执行以实现上述方法实施例提供的回复文本预测方法。
可选地,在本说明书实施例中,存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书实施例所述存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据所述设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的回复文本预测方法。
由上述本申请提供的回复文本预测方法、装置、设备或存储介质的实施例可见,本申请在对话回复生成模型的训练过程中,通过训练样本集对应的负对数似然值与所述负样本的对数似然值来确定模型的损失值,当所述损失值小于或等于预设阈值时,将所述当前机器学习模型确定为所述对话回复生成模型;由此确定的模型应用于第一终端时,针对第二终端发送的目标文本,可以减少生成通用回复的比例,提升了回复文本的质量和多样性。
需要说明的是:上述本申请实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种回复文本预测方法,其特征在于,所述方法包括:
训练用于回复对话的对话回复生成模型;
向第一终端发送所述对话回复生成模型,以使所述第一终端将接收的第二终端发送的目标文本,输入所述对话回复生成模型,得到回复文本;所述目标文本为所述第二终端响应于在目标显示界面的输入操作确定的文本;
其中,所述训练用于回复对话的对话回复生成模型包括:
构建预设机器学习模型,并将所述预设机器学习模型确定为当前机器学习模型;
将训练样本集输入所述当前机器学习模型,确定所述训练样本集对应的负对数似然值;
将测试样本集输入所述当前机器学习模型,确定输出负样本的对数似然值;
基于所述训练样本集对应的负对数似然值与所述负样本的对数似然值,确定所述当前机器学习模型的损失值;
当所述损失值小于或等于预设阈值时,将所述当前机器学习模型确定为所述对话回复生成模型。
2.根据权利要求1所述的方法,其特征在于,所述基于所述训练样本集对应的负对数似然值与所述负样本的对数似然值,确定所述当前机器学习模型的损失值的步骤之后,所述方法还包括:
当所述损失值大于所述预设阈值时,对所述当前机器学习模型的参数进行更新以得到更新后机器学习模型,并将所述更新后机器学习模型重新确定为所述当前机器学习模型;重复步骤:将训练样本集输入所述当前机器学习模型,确定所述训练样本集对应的负对数似然值。
3.根据权利要求1所述的方法,其特征在于,所述训练样本集中每个训练样本均包括输入文本和输出文本,所述当前机器学习模型包括编码器和解码器;所述将训练样本集输入所述当前机器学习模型,确定所述训练样本集对应的负对数似然值包括:
将每个输入文本输入所述编码器,得到语义向量;
将所述语义向量输入所述解码器,得到输出序列;
基于所述输出序列,构建目标时刻的生成词分布函数;
将分布中概率为目标概率的词作为当前时刻生成的词;
根据所述当前时刻生成的词的集合,构建生成文本;
根据每个输出文本与对应的生成文本,确定所述训练样本集对应的负对数似然值。
4.根据权利要求3所述的方法,其特征在于,所述将每个输入文本输入所述编码器,得到语义向量的步骤之前,所述方法包括:
通过切词算法将每个输入文本进行切词处理,得到输入文本序列;
将所述输入文本序列中每个词向量转换为目标维度的词向量;
相应的,所述将每个输入文本输入所述编码器,得到语义向量包括:
将所述输入文本序列中每个目标维度的词向量输入所述编码器,得到所述输入文本序列的隐向量;
将所述输入文本序列的隐向量作为所述语义向量。
5.根据权利要求1所述的方法,其特征在于,所述构建预设机器学习模型的步骤之前,所述方法还包括:
构建通用样本集;
所述将测试样本集输入所述当前机器学习模型,确定输出负样本的对数似然值包括:
将所述测试样本集输入所述当前机器学习模型,确定输出结果,所述输出结果包括通用文本和非通用文本;
根据所述通用文本集,确定所述输出结果中的通用文本;
当所述通用文本在所述输出结果中的数量比例大于预设比例阈值时,将所述通用文本标记为负样本;
确定输出所述负样本的对数似然值。
6.根据权利要求4所述的方法,其特征在于,所述当所述通用文本在所述输出结果中的数量比例大于预设比例阈值时,将所述通用文本标记为负样本的步骤之后,所述方法还包括:
删除所述训练样本集中所述负样本对应的训练样本,得到更新的训练样本集;
相应的,当所述损失值大于所述预设阈值时,对所述当前机器学习模型的参数进行更新以得到更新后机器学习模型,并将所述更新后机器学习模型重新确定为所述当前机器学习模型;重复步骤:将训练样本集输入所述当前机器学习模型,确定所述训练样本集对应的负对数似然值包括:
当所述损失值大于所述预设阈值时,对所述当前机器学习模型的参数进行更新以得到更新后机器学习模型,并将所述更新后机器学习模型重新确定为所述当前机器学习模型;重复步骤:将所述更新的训练样本集输入所述当前机器学习模型,确定所述训练样本集对应的负对数似然值。
7.根据权利要求1所述的方法,其特征在于,所述基于所述训练样本集对应的负对数似然值与所述负样本的对数似然值,确定所述当前机器学习模型的损失值包括:
确定所述训练样本集对应的负对数似然值的超参数;
计算所述训练样本集对应的负对数似然值与所述超参数的乘积,得到目标数值;
计算所述负样本的对数似然值与所述目标数值之和,得到所述当前机器学习模型的损失值。
8.一种回复文本预测装置,其特征在于,所述装置包括:
对话回复生成模型确定模块,用于训练用于回复对话的对话回复生成模型;
模型发送模块,用于向第一终端发送所述对话回复生成模型,以使所述第一终端将接收的第二终端发送的目标文本,输入所述对话回复生成模型,得到回复文本;所述目标文本为所述第二终端响应于在目标显示界面的输入操作确定的文本;
其中,所述对话回复生成模型确定模块包括:
预设机器学习模型构建模块,用于构建预设机器学习模型,并将所述预设机器学习模型确定为当前机器学习模型;
训练样本集的负对数似然值确定子模块,用于将训练样本集输入所述当前机器学习模型,确定所述训练样本集对应的负对数似然值;
负样本的对数似然值确定子模块,用于将测试样本集输入所述当前机器学习模型,确定输出负样本的对数似然值;
损失值确定子模块,用于基于所述训练样本集对应的负对数似然值与所述负样本的对数似然值,确定所述当前机器学习模型的损失值;
对话回复生成模型确定子模块,用于当所述损失值小于或等于预设阈值时,将所述当前机器学习模型确定为所述对话回复生成模型。
9.一种回复文本预测设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如权利要求1-7任一所述的回复文本预测方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如权利要求1-7任一所述的回复文本预测方法。
CN202010952913.9A 2020-09-11 2020-09-11 一种回复文本预测方法、装置、设备及存储介质 Pending CN112905755A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010952913.9A CN112905755A (zh) 2020-09-11 2020-09-11 一种回复文本预测方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010952913.9A CN112905755A (zh) 2020-09-11 2020-09-11 一种回复文本预测方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN112905755A true CN112905755A (zh) 2021-06-04

Family

ID=76110962

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010952913.9A Pending CN112905755A (zh) 2020-09-11 2020-09-11 一种回复文本预测方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112905755A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113609280A (zh) * 2021-08-05 2021-11-05 云南大学 基于元学习的多领域对话生成方法、装置、设备及介质
CN114840671A (zh) * 2022-04-29 2022-08-02 北京百度网讯科技有限公司 对话生成方法、模型的训练方法、装置、设备及介质
CN115129838A (zh) * 2022-06-08 2022-09-30 阿里巴巴(中国)有限公司 模型训练、对话数据处理方法、装置、设备及存储介质
CN116059646A (zh) * 2023-04-06 2023-05-05 深圳尚米网络技术有限公司 一种交互式专家指导系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110162621A (zh) * 2019-02-22 2019-08-23 腾讯科技(深圳)有限公司 分类模型训练方法、异常评论检测方法、装置及设备
CN110188331A (zh) * 2019-06-03 2019-08-30 腾讯科技(深圳)有限公司 模型训练方法、对话系统评价方法、装置、设备及存储介质
CN110689038A (zh) * 2019-06-25 2020-01-14 深圳市腾讯计算机系统有限公司 神经网络模型的训练方法、装置和医学图像处理系统
CN111143535A (zh) * 2019-12-27 2020-05-12 北京百度网讯科技有限公司 用于生成对话模型的方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110162621A (zh) * 2019-02-22 2019-08-23 腾讯科技(深圳)有限公司 分类模型训练方法、异常评论检测方法、装置及设备
CN110188331A (zh) * 2019-06-03 2019-08-30 腾讯科技(深圳)有限公司 模型训练方法、对话系统评价方法、装置、设备及存储介质
CN110689038A (zh) * 2019-06-25 2020-01-14 深圳市腾讯计算机系统有限公司 神经网络模型的训练方法、装置和医学图像处理系统
CN111143535A (zh) * 2019-12-27 2020-05-12 北京百度网讯科技有限公司 用于生成对话模型的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TIANXING HE ETC.: "Negative Training for Neural Dialogue Response Generation", ARXIV:1903.02134V5, pages 1 - 15 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113609280A (zh) * 2021-08-05 2021-11-05 云南大学 基于元学习的多领域对话生成方法、装置、设备及介质
CN113609280B (zh) * 2021-08-05 2023-10-13 云南大学 基于元学习的多领域对话生成方法、装置、设备及介质
CN114840671A (zh) * 2022-04-29 2022-08-02 北京百度网讯科技有限公司 对话生成方法、模型的训练方法、装置、设备及介质
CN115129838A (zh) * 2022-06-08 2022-09-30 阿里巴巴(中国)有限公司 模型训练、对话数据处理方法、装置、设备及存储介质
CN116059646A (zh) * 2023-04-06 2023-05-05 深圳尚米网络技术有限公司 一种交互式专家指导系统
CN116059646B (zh) * 2023-04-06 2023-07-11 深圳尚米网络技术有限公司 一种交互式专家指导系统

Similar Documents

Publication Publication Date Title
CN108536679B (zh) 命名实体识别方法、装置、设备及计算机可读存储介质
CN111312245B (zh) 一种语音应答方法、装置和存储介质
CN112905755A (zh) 一种回复文本预测方法、装置、设备及存储介质
CN110222164B (zh) 一种问答模型训练方法、问题语句处理方法、装置及存储介质
US20180329884A1 (en) Neural contextual conversation learning
CN112069302B (zh) 会话意图识别模型的训练方法、会话意图识别方法及装置
CN110472242B (zh) 一种文本处理方法、装置和计算机可读存储介质
CN110234018B (zh) 多媒体内容描述生成方法、训练方法、装置、设备及介质
US11475225B2 (en) Method, system, electronic device and storage medium for clarification question generation
CN112214591B (zh) 一种对话预测的方法及装置
CN110457661B (zh) 自然语言生成方法、装置、设备及存储介质
CN111753076B (zh) 对话方法、装置、电子设备及可读存储介质
CN113392640B (zh) 一种标题确定方法、装置、设备及存储介质
CN110069611B (zh) 一种主题增强的聊天机器人回复生成方法及装置
CN114973229B (zh) 文本识别模型训练、文本识别方法、装置、设备及介质
CN114880991B (zh) 知识图谱问答问句实体链接方法、装置、设备及介质
CN113988300A (zh) 一种题目结构推理方法及系统
CN117271745A (zh) 一种信息处理方法、装置及计算设备、存储介质
CN115186147A (zh) 对话内容的生成方法及装置、存储介质、终端
CN110955765A (zh) 智能助理的语料构建方法、装置、计算机设备和存储介质
CN116913278B (zh) 语音处理方法、装置、设备和存储介质
CN117473951A (zh) 文本处理方法、装置及存储介质
CN109918484B (zh) 对话生成方法和装置
CN117235523A (zh) 一种语言生成模型改进方法、系统、设备及存储介质
CN111813907A (zh) 一种自然语言问答技术中的问句意图识别方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40045995

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination