CN112650399A - 表情推荐方法及装置 - Google Patents

表情推荐方法及装置 Download PDF

Info

Publication number
CN112650399A
CN112650399A CN202011534539.7A CN202011534539A CN112650399A CN 112650399 A CN112650399 A CN 112650399A CN 202011534539 A CN202011534539 A CN 202011534539A CN 112650399 A CN112650399 A CN 112650399A
Authority
CN
China
Prior art keywords
data
expression
model
parameters
voice
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.)
Granted
Application number
CN202011534539.7A
Other languages
English (en)
Other versions
CN112650399B (zh
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.)
iFlytek Co Ltd
Original Assignee
iFlytek 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 iFlytek Co Ltd filed Critical iFlytek Co Ltd
Priority to CN202011534539.7A priority Critical patent/CN112650399B/zh
Publication of CN112650399A publication Critical patent/CN112650399A/zh
Application granted granted Critical
Publication of CN112650399B publication Critical patent/CN112650399B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Abstract

本申请涉及电子技术领域,尤其涉及一种表情推荐方法及装置,该方法包括:获取输入数据,该输入数据包括用户的第一语音数据和第一语音数据对应的第一图像数据,将第一图像数据和第一语音数据输入表情生成模型,得到输出结果,该输出结果包括至少一个表情,进而向所述用户推荐该至少一个表情,本申请提供的技术方案同时利用用户的语音数据和图像数据生成表情,使得生成的表情更多样且具有个性化,从而可以向用户推荐多样且具有个性化的表情。

Description

表情推荐方法及装置
技术领域
本申请涉及电子技术领域,尤其涉及一种表情推荐方法及装置。
背景技术
随着移动互联网的发展,智能终端已成为人们生活中不可或缺的智能设备。作为智能终端的人口,输入法是使用频率最高的应用之一。语音识别技术的持续发展,使得语音输入法成为输入方式的主流。人们在聊天时,除了输入语音或者文字,还喜欢配上表情,使得输入和聊天变得更加生动有趣。但是,表情选择往往需要多步操作,用户翻找也比较麻烦。
目前的输入法表情推荐方案,通常是预先对表情库里面的表情打上标签,然后根据输入的文字与标签做匹配,根据匹配度为用户推荐表情。由于只利用的文本信息,且依赖于表情库,推荐的表情也仅限于表情库中的表情,缺乏多样性和个性化。
发明内容
本申请实施例提供一种表情推荐方法及装置,能够基于表情生成模型向用户推荐多样且具有个性化的表情。
第一方面,本申请实施例提供一种表情推荐方法,所述方法包括:
获取输入数据,所述输入数据包括用户的第一语音数据和所述第一语音数据对应的第一图像数据;
将所述第一图像数据和所述第一语音数据输入表情生成模型,得到输出结果,所述输出结果包括至少一个表情;
向所述用户推荐所述至少一个表情。
可选的,所述表情生成模型包括语音识别模型和生成模型;
所述将所述第一图像数据和所述第一语音数据输入表情生成模型,得到输出结果,包括:
将从所述第一语音数据中提取的目标语音特征向量输入所述语音识别模型,输出第一语义向量和第一文本数据;
将所述第一图像数据、第一噪声向量、所述第一语义向量和所述第一文本数据输入所述生成模型,输出第一表情数据,所述第一表情数据包括所述至少一个表情。
可选的,所述输出结果还包括表情插入位置,所述表情插入位置为所述第一语音数据对应的文本内容中插入表情的位置;
所述向所述用户推荐所述至少一个表情,包括:
在所述表情插入位置向所述用户推荐所述至少一个表情。
可选的,所述方法还包括:
获取多组训练数据,每组训练数据包括用户输入的第二语音数据、所述第二语音数据对应的第二图像数据、所述第二语音数据对应的第一表情数据和所述第二语音数据对应的第二文本数据;
标记所述每组训练数据的第一标签。
可选的,所述表情生成模型还包括判别模型和分类模型;
所述方法还包括:对语音识别模型进行训练,具体包括:
将从所述第二语音数据中提取的语音特征向量输入所述语音识别模型,输出第二语义向量和第三文本数据;
根据所述第三文本数据和所述第二文本数据,计算第一损失函数;
分别保持所述生成模型、所述判别模型和所述分类模型的参数不变,将所述第一损失函数最小化对应的参数更新为所述语音生成模型的参数。
可选的,所述方法还包括:
截取所述第三文本数据中第一位置之前文本数据,得到第四文本数据,所述第一位置为所述第二文本数据中插入表情的位置;
将所述第四文本数据执行特征提取操作,得到文本特征向量。
可选的,所述方法还包括:对所述生成模型和所述分类模型进行训练,具体包括:
将所述第二图像数据、第二噪声向量、所述第二语义向量和所述第三文本数据输入所述生成模型,输出第二表情数据;
将所述第一表情数据和所述第二表情数据输入所述分类模型,输出所述第二语音数据的第二标签;
根据所述第二标签和所述第一标签,计算第二损失函数;
依据所述第二损失函数,更新所述生成模型的参数和所述分类模型的参数。
可选的,所述方法还包括:对所述判别模型进行训练,具体包括:
将所述第一表情数据和所述第二表情数据输入所述判别模型,输出判别结果;
根据所述判别结果和所述第一表情数据,计算第三损失函数;
在更新所述语音生成模型的参数之后,保持所述生成模型和所述分类模型的参数不变,将所述第三损失函数最大化对应的参数更新为所述判别模型的参数。
可选的,所述依据所述第二损失函数,更新所述生成模型的参数和所述分类模型的参数,包括:
在更新所述语音生成模型的参数和所述判别模型的参数之后,保持所述判别模型的参数不变,将第四损失函数最小化所对应的第一参数和第二参数分别更新为所述生成模型的参数和所述分类模型的参数,所述第四损失函数为所述第二损失函数与第三损失函数的加权和。
第二方面,本申请实施例提供一种表情推荐装置,所述装置包括:
获取单元,用于获取输入数据,所述输入数据包括用户的第一语音数据和所述第一语音数据对应的第一图像数据;
生成单元,用于将所述第一图像数据和所述第一语音数据输入表情生成模型,得到输出结果,所述输出结果包括至少一个表情;
推荐单元,用于向所述用户推荐所述至少一个表情。
可选的,所述表情生成模型包括语音识别模型和生成模型;
所述生成单元具体用于:将从所述第一语音数据中提取的目标语音特征向量输入所述语音识别模型,输出第一语义向量和第一文本数据;将所述第一图像数据、第一噪声向量、所述第一语义向量和所述第一文本数据输入所述生成模型,输出第一表情数据,所述第一表情数据包括所述至少一个表情。
可选的,所述输出结果还包括表情插入位置,所述表情插入位置为所述第一语音数据对应的文本内容中插入表情的位置;
所述推荐单元具体用于:在所述表情插入位置向所述用户推荐所述至少一个表情。
可选的,所述获取单元还用于:获取多组训练数据,每组训练数据包括用户输入的第二语音数据、所述第二语音数据对应的第二图像数据、所述第二语音数据对应的第一表情数据和所述第二语音数据对应的第二文本数据;
所述装置还包括标记单元,用于标记所述每组训练数据的第一标签。
可选的,所述表情生成模型还包括判别模型和分类模型;
所述装置还包括训练单元,在对语音识别模型进行训练方面,
所述训练单元:用于将从所述第二语音数据中提取的语音特征向量输入所述语音识别模型,输出第二语义向量和第三文本数据;根据所述第三文本数据和所述第二文本数据,计算第一损失函数;分别保持所述生成模型、所述判别模型和所述分类模型的参数不变,将所述第一损失函数最小化对应的参数更新为所述语音生成模型的参数。
可选的,所述装置还包括截取单元和提取单元,其中,
所述截取单元,用于截取所述第三文本数据中第一位置之前文本数据,得到第四文本数据,所述第一位置为所述第二文本数据中插入表情的位置;
所述提取单元,用于将所述第四文本数据执行特征提取操作,得到文本特征向量。
可选的,在对所述生成模型和所述分类模型进行训练方面,所述训练单元还用于:将所述第二图像数据、第二噪声向量、所述第二语义向量和所述第三文本数据输入所述生成模型,输出第二表情数据;将所述第一表情数据和所述第二表情数据输入所述分类模型,输出所述第二语音数据的第二标签;根据所述第二标签和所述第一标签,计算第二损失函数;依据所述第二损失函数,更新所述生成模型的参数和所述分类模型的参数。
可选的,在对所述判别模型进行训练方面,所述训练单元具体用于:将所述第一表情数据和所述第二表情数据输入所述判别模型,输出判别结果;根据所述判别结果和所述第一表情数据,计算第三损失函数;在更新所述语音生成模型的参数之后,保持所述生成模型和所述分类模型的参数不变,将所述第三损失函数最大化对应的参数更新为所述判别模型的参数。
可选的,在依据所述第二损失函数,更新所述生成模型的参数和所述分类模型的参数方面,所述训练单元具体用于:在更新所述语音生成模型的参数和所述判别模型的参数之后,保持所述判别模型的参数不变,将第四损失函数最小化所对应的第一参数和第二参数分别更新为所述生成模型的参数和所述分类模型的参数,所述第四损失函数为所述第二损失函数与第三损失函数的加权和。
第三方面,本申请实施例提供一种电子设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行本申请实施例第一方面任一方法中的步骤的指令。
第四方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤。
第五方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
在本申请提供的技术方案通过获取输入数据,该输入数据包括用户的第一语音数据和第一语音数据对应的第一图像数据,将第一图像数据和第一语音数据输入表情生成模型,得到输出结果,该输出结果包括至少一个表情,进而向所述用户推荐该至少一个表情,本申请提供的技术方案同时利用用户的语音数据和图像数据生成表情,使得生成的表情更多样且具有个性化,从而可以向用户推荐多样且具有个性化的表情。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种系统架构的结构示意图;
图2是本申请实施例提供的一种表情生成模型的结构示意图;
图3是本申请实施例提供的一种表情推荐方法的流程示意图;
图4是本申请实施例提供的一种语音识别模型训练方法的流程示意图;
图5是本申请实施例提供的一种生成式对抗网络训练方法的流程示意图;
图6a是本申请实施例提供的一种表情推荐装置的功能单元组成框图;
图6b是本申请实施例提供的另一种表情推荐装置的功能单元组成框图;
图7是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在一些表情推荐方法中,通常需要实时监测用户使用输入法输入的上屏内容,然后将输入内容与预先建立好的表情库进行精确匹配,表情库里面的表情需要预先打上标签。具体是在用户的输入内容中出现匹配的关键词后,基于该关键词在表情库中进行表情查找,从而向用户推荐一系列表情,供用户选择是否使用推荐的表情来替代文字进行发送。
上述表情推荐方法只应用了文本信息,没有充分利用用户的语音,图像等多模态数据。并且由于是模板匹配的方式,其推荐的表情也仅限于表情库中的表情,缺乏多样性和个性化。
为解决上述缺陷,本申请实施例提供的表情推荐方法,该方法能够应用在即时通信、内容点评、用户评论等场景中。具体而言,本申请实施例的表情推荐方法能够应用在需要用户使用输入法输入的场景中。表情推荐方法获取用户当前通过输入法输入的语音数据和用户输入语音数据时采集到的用户图像数据,然后表情生成模型生成该语音数据和该图像数据对应的表情,将生成的表情推荐给用户,使得推荐给用户的表情与用户输入语音的语义相符合,并且可以将图像数据作为用户可设置的个性化项来生成基于该图像数据的个性化表情,使得推荐给用户的表情多样且具有个性化。
下面从模型训练侧和模型应用侧对本申请提供的方法进行描述:
本申请实施例提供的训练表情生成模型的方法,涉及自然语言和计算机视觉的处理,具体可以应用于数据训练、机器学习、深度学习等数据处理方法,对训练数据(如本申请中的语音数据、文本数据、图像数据及表情数据)进行符号化和形式化的智能信息建模、抽取、预处理、训练等,最终得到训练好的表情生成模型。
需要说明的是,本申请实施例提供的表情生成模型的训练方法和生成表情的方法是基于同一个构思产生的发明,也可以理解为一个系统中的两个部分,或一个整体流程的两个阶段:如模型训练阶段和模型应用阶段。
由于本申请实施例涉及大量神经网络的应用,为了便于理解,下面先对本申请实施例涉及的相关术语及神经网络等相关概念进行介绍。
(1)表情生成模型,利用图像处理、自然语言处理、机器学习和计算机图形学等相关方法,得到基于用户语音数据和图像数据生成的表情。
(2)神经网络
神经网络可以是由神经单元组成的,神经单元可以是指以xs和截距1为输入的运算单元,该运算单元的输出可以为:
Figure BDA0002851084900000051
其中,s=1、2、……n,n为大于1的自然数,Ws为xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入。激活函数可以是sigmoid函数。神经网络是将许多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
(3)深度神经网络
深度神经网络(Deep Neural Network,DNN),也称多层神经网络,可以理解为具有很多层隐含层的神经网络,这里的“很多”并没有特别的度量标准。从DNN按不同层的位置划分, DNN内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i+1层的任意一个神经元相连。虽然DNN看起来很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是如下线性关系表达式:
Figure BDA0002851084900000052
其中,
Figure BDA0002851084900000053
是输入向量,
Figure BDA0002851084900000054
是输出向量,
Figure BDA0002851084900000055
是偏移向量,W是权重矩阵(也称系数),α()是激活函数。每一层仅仅是对输入向量
Figure BDA0002851084900000056
经过如此简单的操作得到输出向量
Figure BDA0002851084900000057
由于DNN层数多,则系数W和偏移向量
Figure BDA0002851084900000058
的数量也就很多了。这些参数在DNN中的定义如下所述:以系数W为例:假设在一个三层的DNN中,第二层的第4个神经元到第三层的第2个神经元的线性系数定义为
Figure BDA0002851084900000059
上标3代表系数W所在的层数,而下标对应的是输出的第三层索引2和输入的第二层索引4。总结就是:第L-1层的第k个神经元到第L层的第j个神经元的系数定义为
Figure BDA00028510849000000510
需要注意的是,输入层是没有W参数的。在深度神经网络中,更多的隐含层让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络的也就是学习权重矩阵的过程,其最终目的是得到训练好的深度神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。
(4)循环神经网络
循环神经网络(RNN,Recurrent Neural Networks)是用来处理序列数据的。在传统的神经网络模型中,是从输入层到隐含层再到输出层,层与层之间是全连接的,而对于每一层层内之间的各个节点是无连接的。这种普通的神经网络虽然解决了很多难题,但是却仍然对很多问题却无能无力。例如,你要预测句子的下一个单词是什么,一般需要用到前面的单词,因为一个句子中前后单词并不是独立的。RNN之所以称为循环神经网路,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐含层本层之间的节点不再无连接而是有连接的,并且隐含层的输入不仅包括输入层的输出还包括上一时刻隐含层的输出。理论上,RNN能够对任何长度的序列数据进行处理。对于RNN的训练和对传统的CNN或DNN的训练一样。同样使用误差反向传播算法,不过有一点区别:即,如果将RNN进行网络展开,那么其中的参数,如W,是共享的;而如上举例上述的传统神经网络却不是这样。并且在使用梯度下降算法中,每一步的输出不仅依赖当前步的网络,还依赖前面若干步网络的状态。该学习算法称为基于时间的反向传播算法Back propagation Through Time(BPTT)。
(5)卷积神经网络
卷积神经网络(CNN,Convolutional Neuron Network)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。该特征抽取器可以看作是滤波器,卷积过程可以看作是使用一个可训练的滤波器与一个输入的图像或者卷积特征平面(feature map)做卷积。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。这其中隐含的原理是:图像的某一部分的统计信息与其他部分是一样的。即意味着在某一部分学习的图像信息也能用在另一部分上。所以对于图像上的所有位置,都能使用同样的学习得到的图像信息。在同一卷积层中,可以使用多个卷积核来提取不同的图像信息,一般地,卷积核数量越多,卷积操作反映的图像信息越丰富。卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。
(6)损失函数
在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
(7)生成式对抗网络
生成式对抗网络(GAN,Generative Adversarial Networks)是一种深度学习模型。该模型中至少包括两个模块:一个模块是生成模型(Generative Model),另一个模块是判别模型 (Discriminative Model),通过这两个模块互相博弈学习,从而产生更好的输出。生成模型和判别模型都可以是神经网络,具体可以是深度神经网络,或者卷积神经网络。GAN的基本原理如下:以生成表情的GAN为例,假设有两个网络,G(Generator)和D(Discriminator),其中G是一个生成图片的网络,它接收一个随机的噪声z,通过这个噪声生成图片,记做G(z); D是一个判别网络,用于判别一张图片是不是“真实的”。它的输入参数是x,x代表一张图片,输出D(x)代表x为真实图片的概率,如果为1,就代表100%是真实的图片,如果为0,就代表不可能是真实的图片。在对该生成式对抗网络进行训练的过程中,生成网络G的目标就是尽可能生成真实的图片去欺骗判别网络D,而判别网络D的目标就是尽量把G生成的图片和真实的图片区分开来。这样,G和D就构成了一个动态的“博弈”过程,也即“生成式对抗网络”中的“对抗”。最后博弈的结果,在理想的状态下,G可以生成足以“以假乱真”的图片G(z),而D难以判定G生成的图片究竟是不是真实的,即D(G(z))=0.5。这样就得到了一个优异的生成模型G,它可以用来生成图片。
下面介绍本申请实施例提供系统架构。
请参阅图1,图1是本申请实施例提供的一种系统架构。如图1所示,所述系统架构100 包括数据采集模块110、数据库120、训练设备130、执行设备140和客户设备150,数据采集模块110用采集训练数据,本申请实施例中的训练数据包括语音数据、文本数据、图像数据和表情数据。数据采集模块110可以将采集到的数据存储到数据库120中,训练设备10基于数据库120中维护的训练数据训练得到表情生成模型141,该表情生成模型141能够用于实现本申请实施例提供的表情推荐方法,即将用户的语音数据和图像数据输入表情生成模型 141,可得到向用户推荐的表情。本申请实施例中的表情生成模型141具体可以为神经网络。需要说明的是,在实际的应用中,所述数据库120中维护的训练数据不一定都来自于数据采集设备110的采集,也有可能是从其他设备接收得到的。另外需要说明的是,训练设备130 也不一定完全基于数据库120维护的训练数据进行表情生成模型141的训练,也有可能从云端或其他地方获取训练数据进行模型训练,上述描述不应该作为对本申请实施例的限定。
根据训练设备130训练得到的表情生成模型141可以应用于不同的系统或设备中,如应用于图1所示的执行设备140,所述执行设备140可以是终端,如手机终端,平板电脑,笔记本电脑,AR/VR,车载终端等,还可以是服务器或者云端等。在附图1中,执行设备140 配置有I/O接口142,用于与外部设备进行数据交互,用户可以通过客户设备150向I/O接口112输入数据,所述输入数据在本申请实施例中可以包括:用户输入的语音数据、图像数据或者从其本地获取的语音数据或者通过摄像头获取的图像数据。
最后,I/O接口142将处理结果,如上述得到的表情返回给客户设备150,从而提供给用户。
值得说明的是,训练设备130可以针对不同的目标或称不同的任务,基于不同的训练数据生成相应的表情生成模型141,该相应的表情生成模型141即可以用于实现上述目标或完成上述任务,从而为用户提供所需的结果。
在附图1中所示情况下,用户可以手动给定输入数据,该手动给定可以通过I/O接口142 提供的界面进行操作。另一种情况下,客户设备150可以自动地向I/O接口142发送输入数据,如果要求客户设备150自动发送输入数据需要获得用户的授权,则用户可以在客户设备 150中设置相应权限。用户可以在客户设备150查看执行设备140输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备150也可以作为数据采集端,采集如图所示输入I/O接口142的输入数据及输出I/O接口142的输出结果作为新的样本数据,并存入数据库120。当然,也可以不经过客户设备150进行采集,而是由I/O接口142直接将如图所示输入I/O接口142的输入数据及输出I/O接口142的输出结果,作为新的样本数据存入数据库120。
值得注意的是,附图1仅是本发明实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在附图1中,数据采集设备110和数据库120相对客户设备150是外部设备,在其它情况下,也可以将数据采集设备110和数据库120置于客户设备150中。
实施例一
请参阅图2,图2是本申请实施例一提供的一种表情生成模型的结构示意图。如图2所示,所述表情生成模型包括四个模块,分别是:语音识别模型、生成模型、判别模型和分类模型。
其中,语音识别模型的结构可以是基于注意力(attention)机制的编码-解码(Encode-Decode)的端到端结构。该语音识别模型的输入是所述语音数据的声学特征,具体为一个n*d的矩阵,其中n是音频的帧数,d是声学特征的维数,所述n和d均为正整数,所述语音数据的声学特征可以为语音数据的频谱特征,如MFCC或者FBank等特征,例如,输入语音有500帧,提取FBank特征是75维,那么得到一个500*75的矩阵。该语音识别模型的输出是对应语音数据的输出结果,该输出结果包括语音数据对应的文本数据和语义向量,该语义向量包含解码到应该输出表情时的语音的特征。
示例性地,所述表情生成模型还包括embedding层和RNN。所述embedding层的输入为语音识别模型识别出的文本数据,语音识别模型输出的文本数据是一个w*z的矩阵,其中w 是语音识别模型建模的字典的字数,z是文本数据的字数,所述w和z均为正整数,例如识别出的文本数据是五个字,字典一共有6000个字,那么所述embedding层的输入为6000*5,每个字由一个6000维的向量表示,该6000维向量是字id的one hot向量,例如,该字在字典中的id是5000,则6000维向量中第5000维是1,其他维均为0。然后embedding层通过压缩、降维等方法将字的one hot向量转为embedding向量。embedding层的输出是一个q*z 的矩阵,其中q是embedding向量的维数,z是上述文本数据的字数,所述q为正整数。最后,embedding层的输出作为RNN层的输入,经过RNN层后生成隐层特征。
所述生成模型可以根据语音识别模型的输出、图像数据以及随机产生的噪声数据,输出预测的表情。该生成模型的有三个输入,第一个是上述语音数据所对应的图像数据,是一个 m*q的图像,其中m*q指的是图像的大小,即图像是一个m*q的矩阵,所述m为正整数。如果数据采集设备110采集到的原始数据尺寸与m*q不同,需要归一化成m*q;第二个输入是一个随机的噪声矩阵,所述随机的噪声矩阵用于将随机噪声作为生成器的输入,引入随机输入,这样使得生成模型不会每次生成相同的结果,可以缓解模式坍塌问题;第三个输入是语音识别模块输出的文本数据和语义向量。生成模型根据输入的图像数据和噪声数据,可以生成表情数据,同时语音识别模块输出的文本和语义向量为表情的生成提供了先验条件,约束表情的生成符合当前语音输入的上下文。
所述判别模型的输入是生成模型输出的预测的表情数据和真实的表情数据。判别模型需要判别当前输入的表情数据是预测的表情数据还是真实的表情数据,如果是预测的表情数据,则输出fake,如果是真实的表情数据,则输出real。所述真实的表情数据为上述语音数据对应的表情数据,该真实的表情数据是一个m’*q’的图像,其中m’*q’指的是图像的大小,即图像是一个m’*q’的矩阵,所述m’和q’均为正整数。如果表情数据的原始尺寸与m’*q’不同,需要归一化成m’*q’。
所述分类模型的输入是生成模型输出的预测的表情数据和真实表情数据。分类模型需要对输入的数据进行分类,具体为将生成模型输出的预测的表情数据和真实表情数据输入到 expert部分的神经网络单元,其输出是一个多任务(multi-task)结构的特征信息,分别是T1、 T2、T3、T4四个分类任务。T1、T2、T3、T4可以分别对应性别,年龄,情感,意图。然后将输出multi-task结构的特征信息分别输入到Tower部分,得到性别,年龄,情感,意图的标签信息,从而使得生成的表情与用户的性别,年龄,情感,意图具有相关性,实现表情的真实性。
其中,上述生成模型、判别模型和分类模型可以构成一个生成式对抗网络,生成模型分别与判别模型和分类模型互相博弈学习,从而使得生成模型产生更好的输出。生成模型、判别模型和分类模型都可以是神经网络,具体可以是深度神经网络或卷积神经网络。
实施例二
请参阅图3,图3是本申请实施例二提供的一种表情推荐方法的流程示意图。如图3所示,该方法包括以下步骤:
S310、获取输入数据,所述输入数据包括用户的第一语音数据和所述第一语音数据对应的第一图像数据。
其中,所述第一语音数据为用户发送短信或聊天时使用语音输入法输入的语音数据,所述第一图像数据为用户使用语音输入法输入语音数据时采集到的用户图像,该用户图像可以是用户正面图像,且包含用户的面部。具体为用户在使用电子设备输入语音数据时,启动电子设备上的摄像头采集用户图像。
S320、将所述第一图像数据和所述第一语音数据输入表情生成模型,得到输出结果,所述输出结果包括至少一个表情。
其中,所述表情生成模型是已经训练好的模型,所述将所述第一图像数据和所述第一语音数据输入表情生成模型,得到输出结果,包括:
将从所述第一语音数据中提取的目标语音特征向量输入所述语音识别模型,输出第一语义向量和第一文本数据;将所述第一图像数据、第一噪声向量、所述第一语义向量和所述第一文本数据输入所述生成模型,输出第一表情数据,所述第一表情数据包括所述至少一个表情。
具体地,在获取得到所述第一语音数据后,先进行简单的声学特征提取,得到第一语音数据的目标语音特征向量,该目标语音特征向量可以是基于谱的相关特征(MFCC特征)、 FBank特征、语谱图特征中的任一种。然后将提取的目标语音特征向量输入到训练好的语音识别模型中,输出第一语音数据的第一语义向量和第一文本数据。之后将文本数据分别经过 embedding层和RNN层后得到的隐层特征与第一语义向量作为生成模型的输入。生成模型以所述隐层特征和所述第一语义向量作为先验条件,根据输入的第一图像数据、第一噪声向量生成符合第一语义数据上下文的至少一个表情。
其中,生成模型生成的表情可以是基于所述第一图像数据生成的表情,可以是从本地存储的表情,也可以是从服务器获取的表情,本申请实施例对此不做限定。
可选的,所述输出结果还包括表情插入位置,所述表情插入位置为所述第一语音数据对应的文本内容中插入表情的位置。
其中,生成模型在生成表情时,还可以根据第一文本数据和第一语义数据预测表情,即根据第一语义数据的上下文预测用户可能插入表情的位置。
S330、向所述用户推荐所述至少一个表情。
在本申请实施例中,用户在通过输入法进行输入时,电子设备可以将生成的所述至少一个表情在输入框区域的展示候选词的位置向用户进行推荐,也可以在表情展示面板上优先展示所述至少一个表情,本申请实施例对此不做限定。
可选的,所述向所述用户推荐所述至少一个表情,包括:在所述表情插入位置向所述用户推荐所述至少一个表情。
具体实现中,在用户将通过语音输入法输入的语音数据转化为文本数据发送时,可以在预测用户可能在文本内容中插入表情的位置向用户推荐所述生成模型生成的至少一个表情。
可以看出,本申请实施例提供一种表情推荐方法,通过获取输入数据,该输入数据包括用户的第一语音数据和第一语音数据对应的第一图像数据,将第一图像数据和第一语音数据输入表情生成模型,得到输出结果,该输出结果包括至少一个表情,进而向所述用户推荐该至少一个表情。由于本申请的方案多模态数据,除了文本数据,还充分利用语音数据和图像数据,同时基于生成式模型,使得生成的表情更具有多样性和个性化,不依赖于表情库,可以生成海量表情。
其中,上述将所述第一图像数据和所述第一语音数据输入表情生成模型,得到输出结果的实现可以由如图1所示的执行设备140执行,所述输入数据可以是如图1所示的客户设备 150给出的输入数据。可选的,表情的生成可以由CPU处理,也可以由CPU和GPU共同处理,也可以不用GPU,而使用其他适合用于神经网络计算的处理器,本申请不做限制。
实施例三
本申请实施例三提供一种表情生成模型的训练方法,该表情生成模型可以为实施例二中的表情生成模型。该训练方法可以对如图2所述的表情生成模型进行训练,该表情生成模型包括语音识别模型R、生成模型G、判别模型D和分类模型C。由于生成模型G、判别模型D和分类模型C之间构成一个生成式对抗网络,而语音识别模型R为生成模型G的输入,因此表情生成模型的训练可以先对语音识别模型R进行训练,然后基于训练好的语音识别模型R对该生成式对抗网络进行训练。
在本申请实施例中,在对表情生成模型进行训练之前,所述方法还包括:
获取多组训练数据,每组训练数据包括用户输入的第二语音数据、所述第二语音数据对应的第二图像数据、所述第二语音数据对应的第一表情数据和所述第二语音数据对应的第二文本数据;标记所述每组训练数据的第一标签。
所述第二语音数据可以指通过电子设备接收到的输入语音,该语音是用户在用语音输入法进行输入时的语音。所述第二图像数据可以是通过电子设备采集到的图像数据,该图像是用户在用语音输入法进行输入时采集到用户图像,例如启动智能手机的前置摄像头拍摄用户当前的图像,该图像可以是用户的正面部图像,其包含五官且画质较清晰;所述第二图像数据还可以是预先保存的用户图像,如用户相册里面的图像,或者用户自己上传的用于身份认证的图像,或者用户设置的账号头像等;所述第二图像数据也可以不限于用户本人的人像图像,可以是用户上传设置的个性化项的图像,例如用户可以上传自己喜欢的卡通人物、动物、明星等的图像,希望生成基于该图像的个性化表情。所述第二文本数据是指人工标注上述第二语音数据的内容,所述内容是将语音内容通过人工转写成对应的文字,并且对照用户实际发送的内容,在用户插入表情的位置打上标记符,例如用户在用语音输入“今天真开心”后,在识别结果“今天真开心”后插入一个笑脸表情,那么这条语音对应的文本数据是“今天真开心 <emoji>”。所述第一表情数据是指用户输入语音,等待语音识别返回的结果后,在识别结果中插入的表情图像。每一条第二语音数据都有其对应的第二图像数据、第二文本数据和第一表情数据,从而构成一组训练数据。
进一步地,获取到多组训练数据后,人工对每组训练数据打上第一标签,所述第一标签是人工结合第二语音数据、第二图像数据、第二文本数据和第一表情数据给出这组训练数据的标签。所述第一标签可以包括四个类别,分别是性别,年龄,情感,意图。所述性别指的是输入语音用户的性别;所述年龄指的是输入语音用户的年龄段,例如儿童,青年,中年,老年等;所述情感指的是输入语音用户输入语音时的情感,例如喜、怒、哀、乐等等;所述意图指的是输入语音用户输入语音时的意图,例如询问、赞美、批评、感谢等等。第一标签信息在一定程度上可以与生成的表情进行相关,例如,输入语音的用户是儿童时,则生成的表情可能是卡通形象;输入语音的用户在输入语音时的情感是喜悦,则生成的表情可能是一个笑脸图像;输入语音的用户在输入语音时的意图是赞美,则生成的表情可能是竖大拇指的图像。
在本申请实施例中,对表情生成模型进行训练时,将一组训练数据中的第二语音数据、第二图像数据、第一表情数据作为表情生成模型的输入,将该组训练数据中的第二文本数据和第一表情作为表情生成模型输出的参考,计算损失函数,得到最优的表情生成模型参数。
请参阅图4,图4是本申请实施例三提供的一种语音识别模型的训练方法,该语音识别模型R可以为实施例一中语音识别模块。该训练方法可以在如图2所示的表情生成模型的结构上实现,所述语音识别模型R可以采用神经网络模型,包括但不限于DNN、RNN、CNN 中的任意一种。在对语音识别模型R进行训练时,仅仅对语音识别模型R训练,并不对生成模型G、判别模型D和分类模型C训练,即本申请实施例在训练时,语音识别模型R的参数会改变,但是生成模型G、判别模型D和分类模型C不改变的。该方法如图4所示,包括如下步骤:
S410、将从所述第二语音数据中提取的语音特征向量输入所述语音识别模型,输出第二语义向量和第三文本数据。
其中,可以提取第二语音数据的MFCC特征或者FBank特征作为所述第二语音数据的语音特征向量,该语音特征向量为一个n*d的矩阵。将该n*d的矩阵输入所述语音识别模型R 中,得到第二语义向量c(t)和第三文本数据y(t)。其中当y(t)中包括表情时,将输出的c(t)作为生成模型G模块的输入。
S420、根据所述第三文本数据和所述第二文本数据,计算第一损失函数。
将第二语音数据对应的第二文本数据作为训练语音识别模型的标注y,构建语音识别模型R的第一损失函数。所述第一损失函数可以表示为
Figure BDA0002851084900000111
其中,Lr(R)是语音识别模块 R的损失函数,Lr(R)是一个交叉熵,其计算公式如下:
Lr(R)=Ex[-ylogR(x;θR)]
其中,所述x是第二语音数据,所述y是第二语音数据对应的第二文本数据,所述θR是语音识别模型R的参数,所述R(x;θR)表示x经过语音识别模型R后的输出。所述第二语义向量c(t)和第三文本数据y(t)的计算公式如下:
H=Encode(x)
c(t)=Attention(s(t),H)
y(t)=Decode(s(t),c(t))
其中,所述H为第二语音数据解码后的信息,注意力机制的Encode-Decode会对第二语音数据进行多次解码,t为当前解码的次数,所述s(t)为上一次解码的信息。
S430、分别保持生成模型、判别模型和分类模型的参数不变,将所述第一损失函数最小化对应的参数更新为所述语音生成模型的参数。
在本申请实施例中,保持生成模型G、判别模型D和分类模型C的参数不变,然后最小化Lr(R),将Lr(R)最小化是对应的参数θR作为训练后的语音生成模型的参数。同时Lr(R)最小化时生成相应的c(t)和y(t)可以作为生成模型G的输入。
本申请实施例三提供了一种语音识别模型的训练方法,该训练方法能够为实施例二提供训练好的语音识别模型,支持了实施例二的实现。
请参阅图5,图5是本申请实施例三提供的一种生成式对抗网络的训练方法,该生成式对抗网络包括实施例一中生成模块G、判别模型D和分类模型C。该训练方法可以在如图2 所示的表情生成模型的结构上实现,所述生成模块G、判别模型D和分类模型C均可以采用神经网络模型,包括但不限于DNN、RNN、CNN中的任意一种。在生成式对抗网络进行训练时,仅仅对生成式对抗网络训练,并不对语音识别模型R训练,即本申请实施例在训练时,生成模块G、判别模型D和分类模型C的参数会改变,但是语音识别模型R不改变。该方法如图5所示,包括如下步骤:
S510、将所述第二图像数据、第二噪声向量、所述第二语义向量和所述第三文本数据输入所述生成模型,输出第二表情数据。
其中,所述第二噪声向量是一个随机的噪声矩阵,所述第二语义向量为训练好后的语音识别模型R输出的语义向量。
可选的,所述方法还包括:截取所述第三文本数据中第一位置之前文本数据,得到第四文本数据,所述第一位置为所述第二文本数据中插入表情的位置;将所述第四文本数据执行特征提取操作,得到文本特征向量。
在本申请实施例中,所述第三文本数据中包括表情,截取所述第三文本数据中第一位置之前的文本数据对生成模型G进行训练,并以第一位置作为表情的插入位置来生成表情,从而可以使得训练好后的表情生成模型可以输出表情的插入位置。
其中,所述第四文本数据可以是一个w*z矩阵,该矩阵包括z个one hot向量。示例性地,在将第四文本数据输入所述生成模型之前,为了减少生成模型的复杂度,可以对w*z矩阵进行压缩降维。具体为将所述w*z矩阵输入embedding层,将z个每个one hot向量转为z个 embedding向量,得到一个q*z的矩阵。然后将该q*z的矩阵作为RNN层的输入,经过RNN层后生成所述文本特征向量,将该文本特征向量作为生成模型G的输入。
具体地,生成模型G根据第二图像数据、第二噪声向量生成表情数据,在生成表情的过程中以第二语义向量c(t)和隐层特征作为表情的先验条件,约束表情的生成符合第二语音数据的上下文。
具体实现中,生成模型生成的表情可以是基于所述第一图像数据生成的表情,可以是从本地存储的表情,也可以是从服务器获取的表情,本申请实施例对此不做限定。
S520、将所述第一表情数据和所述第二表情数据输入所述分类模型,输出所述第二语音数据的第二标签,将所述第一表情数据和所述第二表情数据输入所述判别模型,输出判别结果。
S530、根据所述第二标签和所述第一标签,计算第二损失函数,根据所述判别结果和所述第一表情数据,计算第三损失函数。
S540、保持所述生成模型和所述分类模型的参数不变,将所述第三损失函数最大化对应的参数更新为所述判别模型的参数。
S550、依据所述第二损失函数,更新所述生成模型的参数和所述分类模型的参数。
可选的,所述依据所述第二损失函数和所述第三损失函数,更新所述生成模型的参数和所述分类模型的参数,包括:
在更新所述语音生成模型的参数和所述判别模型的参数之后,保持所述判别模型的参数不变,将第四损失函数最小化所对应的第一参数和第二参数分别更新为所述生成模型的参数和所述分类模型的参数,所述第四损失函数为所述第二损失函数与第三损失函数的加权和。
在本申请实施例中,在更新所述语音生成模型的参数之后,可以通过构建所述生成式对抗网络的损失函数,即第四损失函数对所述生成模型G、判别模型D和分类模型C进行参数更新。所述第四损失函数可表示为:
Figure BDA0002851084900000131
其中,Lc(G,C)是生成模型G与分类模型C之间的第二损失函数,Ld(D,G)是生成模型G 与判别模型C之间的第三损失函数,α和β是超参,用于第二损失函数和第三损失函数在第四损失函数中的占比。
具体地,将第一表情数据和所述第二表情数据分别输入分类模型和判别模型中,分别得到第二标签和判别结果。然后以第一标签作为训练分类模型的标注,构建生成模型G与分类模型C之间的第二损失函数Lc(G,C);以第一表情数据作为判别模型的标注来判断所述判别结果的是否正确,并构建生成模型G与判别模型C之间的第三损失函数Ld(D,G)。
所述第二损失函数Lc(G,C)是一个交叉熵,其计算公式如下:
Figure BDA0002851084900000132
其中,xs为生成模型G的输入,包括第二语义向量c(t)、第三文本数据y(t)、第二图像数据和第二噪声向量,θC是分类模型C中expert部分的参数,θG是生成模型G的参数,θT是分类模型C中Tower部分的参数,G(xs;θG)表示xs经过生成模型G后的输出,C(G(xs;θG);θC)表示xs经过生成模型G后的输出再经过分类模型C后的输出,T(C(G(xs;θG);θC);θT)表示xs经过生成模型G后的输出再经过分类模型C中expert部分后的输出后再经过分类模型C中Tower 部分后的输出,ys表示第一标签。
所述第三损失函数Ld(D,G)第三损失函数Lc(G,C)的计算公式如下:
Figure BDA0002851084900000133
其中,所述xt为第一表情数据,θD是判别模型D的参数,θG是生成模型G的参数,D(xt;θD) 表示xt经过分类模型D后的输出,G(xs;θG)表示xs经过生成模型G后的输出。
具体实现中,训练时,保持语音识别模型R的参数不变,训练生成模型G、判别模型D和分类模型C。首先保持生成模型G和分类模型C的参数不变,最大化αLd(D,G),将最大化αLd(D,G)对应的判别模型D的参数作为训练好的判别模型D的参数,使得判别模型D能更好的分辨出真实的表情数据和通过生成模型G生成的表情数据。然后保持训练好后的判别模型 D的参数不变,最小化αLd(D,G)+βLc(G,C),将最小化αLd(D,G)+βLc(G,C)对应的生成模型G的参数作为训练好的生成模型G的参数,以及将最小化αLd(D,G)+βLc(G,C)对应的分类模型C的参数作为训练好的分类模型C的参数,从而使得生成模型G生成的表情数据更接近真实的表情数据,以致判别模型D分辨不出真实的表情数据和通过生成模型G生成的表情数据。同时,分类模型C使得生成模型G生成的表情数据,与用户的性别,年龄,情感,意图具有相关性。这样,最终优化后的模型,生成的表情数据更真实,更多样,更具有个性化。
所述实施例三中的训练方法具体可以由如图1所述的训练设备130执行,所述方法中的第二语音数据、第二图像数据、第二文本数据和第一表情数据可以是由如图1所述的数据库 120中维护的训练数据,可选的,表情的生成可以由CPU处理,也可以由CPU和GPU共同处理,也可以不用GPU,而使用其他适合用于神经网络计算的处理器,本申请不做限制。
可以看出,本申请实施例提供一种表情生成模型的训练方法,在训练过程中使用了多模态数据,充分利用了用户的语音数据和图像数据,并将基于Attention的语音识别模型与生成式对抗模型进行了结合,在训练时使用生成-对抗准则,使得训练好的表情生成模型更具有多样性和个性化,不依赖于表情库,可以生成海量表情。
实施例四
本申请实施例四提供实施例一所述方法的装置结构。如图6a所示,本申请实施例四提供一种表情推荐装置的功能单元组成框图,所述装置600包括:
获取单元610,用于获取输入数据,所述输入数据包括用户的第一语音数据和所述第一语音数据对应的第一图像数据;
生成单元620,用于将所述第一图像数据和所述第一语音数据输入表情生成模型,得到输出结果,所述输出结果包括至少一个表情;
推荐单元630,用于向所述用户推荐所述至少一个表情。
本申请提供的装置通过获取输入数据,该输入数据包括用户的第一语音数据和第一语音数据对应的第一图像数据,将第一图像数据和第一语音数据输入表情生成模型,得到输出结果,该输出结果包括至少一个表情,进而向所述用户推荐该至少一个表情,本申请提供的技术方案同时利用用户的语音数据和图像数据生成表情,使得生成的表情更多样且具有个性化,从而可以向用户推荐多样且具有个性化的表情。
在一种可能的实现方式中,所述表情生成模型包括语音识别模型和生成模型;
所述生成单元620,具体用于:
将从所述第一语音数据中提取的目标语音特征向量输入所述语音识别模型,输出第一语义向量和第一文本数据;将所述第一图像数据、第一噪声向量、所述第一语义向量和所述第一文本数据输入所述生成模型,输出第一表情数据,所述第一表情数据包括所述至少一个表情。
在一种可能的实现方式中,所述输出结果还包括表情插入位置,所述表情插入位置为所述第一语音数据对应的文本内容中插入表情的位置;
所述推荐单元630,具体用于:在所述表情插入位置向所述用户推荐所述至少一个表情。
在一种可能的实现方式中,所述获取单元610还用于:获取多组训练数据,每组训练数据包括用户输入的第二语音数据、所述第二语音数据对应的第二图像数据、所述第二语音数据对应的第一表情数据和所述第二语音数据对应的第二文本数据;
如图6b所示,是本申请实施例提供的另一种表情推荐装置600的功能单元组成框图,所述装置600还包括标记单元640,用于标记所述每组训练数据的第一标签。
在一种可能的实现方式中,所述表情生成模型还包括判别模型和分类模型;
所述装置600还包括训练单元650,在对语音识别模型进行训练方面,所述训练单元650, 用于将从所述第二语音数据中提取的语音特征向量输入所述语音识别模型,输出第二语义向量和第三文本数据;根据所述第三文本数据和所述第二文本数据,计算第一损失函数;分别保持所述生成模型、所述判别模型和所述分类模型的参数不变,将所述第一损失函数最小化对应的参数更新为所述语音生成模型的参数。
在一种可能的实现方式中,所述装置600还包括截取单元660和提取单元660,所述截取单元660用于截取所述第三文本数据中第一位置之前文本数据,得到第四文本数据,所述第一位置为所述第二文本数据中插入表情的位置;
所述提取单元660用于将所述第四文本数据执行特征提取操作,得到文本特征向量。
在一种可能的实现方式中,在对所述生成模型和所述分类模型进行训练方面,所述训练单元650还用于:将所述第二图像数据、第二噪声向量、所述第二语义向量和所述第三文本数据输入所述生成模型,输出第二表情数据;
将所述第一表情数据和所述第二表情数据输入所述分类模型,输出所述第二语音数据的第二标签;根据所述第二标签和所述第一标签,计算第二损失函数;依据所述第二损失函数,更新所述生成模型的参数和所述分类模型的参数。
在一种可能的实现方式中,在对所述判别模型进行训练方面,所述训练单元650具体用于:
将所述第一表情数据和所述第二表情数据输入所述判别模型,输出判别结果;根据所述判别结果和所述第一表情数据,计算第三损失函数;在更新所述语音生成模型的参数之后,保持所述生成模型和所述分类模型的参数不变,将所述第三损失函数最大化对应的参数更新为所述判别模型的参数。
在一种可能的实现方式中,在依据所述第二损失函数,更新所述生成模型的参数和所述分类模型的参数方面,所述训练单元650具体用于:
在更新所述语音生成模型的参数和所述判别模型的参数之后,保持所述判别模型的参数不变,将第四损失函数最小化所对应的第一参数和第二参数分别更新为所述生成模型的参数和所述分类模型的参数,所述第四损失函数为所述第二损失函数与第三损失函数的加权和。
可以理解的是,本实施例的表情推荐装置的各程序模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
上述主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所提供的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对电子设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
请参阅图7,图7是本申请实施例提供的一种电子设备的结构示意图,如图7所示,该电子设备包括存储器、通信接口和处理器,其中,该电子设备还可以包括通信总线,所述处理器、通信接口和存储器之间可以通过总线相互连接。
其中,上述处理器,用于执行所述存储器上所存放的程序时,实现以下步骤:
获取输入数据,所述输入数据包括用户的第一语音数据和所述第一语音数据对应的第一图像数据;
将所述第一图像数据和所述第一语音数据输入表情生成模型,得到输出结果,所述输出结果包括至少一个表情;
向所述用户推荐所述至少一个表情。
进一步地,处理器可以是一个通用中央处理器(Central Processing Unit,CPU)或多个CPU,单块或多块图形处理器(Graphics Processing Unit,GPU),微处理器,特定应用集成电路 (Application Specific Integrated Circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。
存储器可以是只读存储器(Read Only Memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(Random Access Memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory, CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
在一些示例中,存储器可以是独立存在,通信接口和通信总线与处理器相连接。存储器也可以和处理器集成在一起。通信总线在上述组件之间传送信息。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。
本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (12)

1.一种表情推荐方法,其特征在于,所述方法包括:
获取输入数据,所述输入数据包括用户的第一语音数据和所述第一语音数据对应的第一图像数据;
将所述第一图像数据和所述第一语音数据输入表情生成模型,得到输出结果,所述输出结果包括至少一个表情;
向所述用户推荐所述至少一个表情。
2.根据权利要求1所述的方法,其特征在于,所述表情生成模型包括语音识别模型和生成模型;
所述将所述第一图像数据和所述第一语音数据输入表情生成模型,得到输出结果,包括:
将从所述第一语音数据中提取的目标语音特征向量输入所述语音识别模型,输出第一语义向量和第一文本数据;
将所述第一图像数据、第一噪声向量、所述第一语义向量和所述第一文本数据输入所述生成模型,输出第一表情数据,所述第一表情数据包括所述至少一个表情。
3.根据权利要求1或2所述的方法,其特征在于,所述输出结果还包括表情插入位置,所述表情插入位置为所述第一语音数据对应的文本内容中插入表情的位置;
所述向所述用户推荐所述至少一个表情,包括:
在所述表情插入位置向所述用户推荐所述至少一个表情。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
获取多组训练数据,每组训练数据包括用户输入的第二语音数据、所述第二语音数据对应的第二图像数据、所述第二语音数据对应的第一表情数据和所述第二语音数据对应的第二文本数据;
标记所述每组训练数据的第一标签。
5.根据权利要求4所述的方法,其特征在于,所述表情生成模型还包括判别模型和分类模型;
所述方法还包括:对语音识别模型进行训练,具体包括:
将从所述第二语音数据中提取的语音特征向量输入所述语音识别模型,输出第二语义向量和第三文本数据;
根据所述第三文本数据和所述第二文本数据,计算第一损失函数;
分别保持所述生成模型、所述判别模型和所述分类模型的参数不变,将所述第一损失函数最小化对应的参数更新为所述语音生成模型的参数。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
截取所述第三文本数据中第一位置之前文本数据,得到第四文本数据,所述第一位置为所述第二文本数据中插入表情的位置;
将所述第四文本数据执行特征提取操作,得到文本特征向量。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:对所述生成模型和所述分类模型进行训练,具体包括:
将所述第二图像数据、第二噪声向量、所述第二语义向量和所述第三文本数据输入所述生成模型,输出第二表情数据;
将所述第一表情数据和所述第二表情数据输入所述分类模型,输出所述第二语音数据的第二标签;
根据所述第二标签和所述第一标签,计算第二损失函数;
依据所述第二损失函数,更新所述生成模型的参数和所述分类模型的参数。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:对所述判别模型进行训练,具体包括:
将所述第一表情数据和所述第二表情数据输入所述判别模型,输出判别结果;
根据所述判别结果和所述第一表情数据,计算第三损失函数;
在更新所述语音生成模型的参数之后,保持所述生成模型和所述分类模型的参数不变,将所述第三损失函数最大化对应的参数更新为所述判别模型的参数。
9.根据权利要求8所述的方法,其特征在于,所述依据所述第二损失函数,更新所述生成模型的参数和所述分类模型的参数,包括:
在更新所述语音生成模型的参数和所述判别模型的参数之后,保持所述判别模型的参数不变,将第四损失函数最小化所对应的第一参数和第二参数分别更新为所述生成模型的参数和所述分类模型的参数,所述第四损失函数为所述第二损失函数与第三损失函数的加权和。
10.一种表情推荐装置,其特征在于,所述装置包括:
获取单元,用于获取输入数据,所述输入数据包括用户的第一语音数据和所述第一语音数据对应的第一图像数据;
生成单元,用于将所述第一图像数据和所述第一语音数据输入表情生成模型,得到输出结果,所述输出结果包括至少一个表情;
推荐单元,用于向所述用户推荐所述至少一个表情。
11.一种电子设备,其特征在于,包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1-9任一项所述的方法中的步骤的指令。
12.一种计算机可读存储介质,其特征在于,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-9任一项所述的方法。
CN202011534539.7A 2020-12-22 2020-12-22 表情推荐方法及装置 Active CN112650399B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011534539.7A CN112650399B (zh) 2020-12-22 2020-12-22 表情推荐方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011534539.7A CN112650399B (zh) 2020-12-22 2020-12-22 表情推荐方法及装置

Publications (2)

Publication Number Publication Date
CN112650399A true CN112650399A (zh) 2021-04-13
CN112650399B CN112650399B (zh) 2023-12-01

Family

ID=75359344

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011534539.7A Active CN112650399B (zh) 2020-12-22 2020-12-22 表情推荐方法及装置

Country Status (1)

Country Link
CN (1) CN112650399B (zh)

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120270578A1 (en) * 2011-04-21 2012-10-25 Walking Thumbs, LLC. System and Method for Graphical Expression During Text Messaging Communications
WO2016114428A1 (ko) * 2015-01-16 2016-07-21 삼성전자 주식회사 문법 모델을 이용하여 음성인식을 수행하는 방법 및 디바이스
CN109597493A (zh) * 2018-12-11 2019-04-09 科大讯飞股份有限公司 一种表情推荐方法及装置
CN109873756A (zh) * 2019-03-08 2019-06-11 百度在线网络技术(北京)有限公司 用于发送信息的方法和装置
CN109885713A (zh) * 2019-01-03 2019-06-14 刘伯涵 基于语音情绪识别的表情图像推荐方法以及装置
EP3509011A1 (en) * 2018-01-08 2019-07-10 Samsung Electronics Co., Ltd. Apparatuses and methods for recognizing object and facial expression robust against change in facial expression, and apparatuses and methods for training
CN110297928A (zh) * 2019-07-02 2019-10-01 百度在线网络技术(北京)有限公司 表情图片的推荐方法、装置、设备和存储介质
CN110491393A (zh) * 2019-08-30 2019-11-22 科大讯飞股份有限公司 声纹表征模型的训练方法及相关装置
CN111027425A (zh) * 2019-11-28 2020-04-17 深圳市木愚科技有限公司 一种智能化表情合成反馈交互系统及方法
CN111145282A (zh) * 2019-12-12 2020-05-12 科大讯飞股份有限公司 虚拟形象合成方法、装置、电子设备和存储介质
CN111243626A (zh) * 2019-12-30 2020-06-05 清华大学 一种说话视频生成方法及系统
WO2020135194A1 (zh) * 2018-12-26 2020-07-02 深圳Tcl新技术有限公司 基于情绪引擎技术的语音交互方法、智能终端及存储介质
CN111401101A (zh) * 2018-12-29 2020-07-10 上海智臻智能网络科技股份有限公司 基于人像的视频生成系统
CN111508064A (zh) * 2020-04-14 2020-08-07 北京世纪好未来教育科技有限公司 基于音素驱动的表情合成方法、装置和计算机存储介质
CN111666588A (zh) * 2020-05-14 2020-09-15 武汉大学 一种基于生成对抗网络的情绪差分隐私保护方法

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120270578A1 (en) * 2011-04-21 2012-10-25 Walking Thumbs, LLC. System and Method for Graphical Expression During Text Messaging Communications
WO2016114428A1 (ko) * 2015-01-16 2016-07-21 삼성전자 주식회사 문법 모델을 이용하여 음성인식을 수행하는 방법 및 디바이스
EP3509011A1 (en) * 2018-01-08 2019-07-10 Samsung Electronics Co., Ltd. Apparatuses and methods for recognizing object and facial expression robust against change in facial expression, and apparatuses and methods for training
CN109597493A (zh) * 2018-12-11 2019-04-09 科大讯飞股份有限公司 一种表情推荐方法及装置
WO2020135194A1 (zh) * 2018-12-26 2020-07-02 深圳Tcl新技术有限公司 基于情绪引擎技术的语音交互方法、智能终端及存储介质
CN111401101A (zh) * 2018-12-29 2020-07-10 上海智臻智能网络科技股份有限公司 基于人像的视频生成系统
CN109885713A (zh) * 2019-01-03 2019-06-14 刘伯涵 基于语音情绪识别的表情图像推荐方法以及装置
CN109873756A (zh) * 2019-03-08 2019-06-11 百度在线网络技术(北京)有限公司 用于发送信息的方法和装置
CN110297928A (zh) * 2019-07-02 2019-10-01 百度在线网络技术(北京)有限公司 表情图片的推荐方法、装置、设备和存储介质
CN110491393A (zh) * 2019-08-30 2019-11-22 科大讯飞股份有限公司 声纹表征模型的训练方法及相关装置
CN111027425A (zh) * 2019-11-28 2020-04-17 深圳市木愚科技有限公司 一种智能化表情合成反馈交互系统及方法
CN111145282A (zh) * 2019-12-12 2020-05-12 科大讯飞股份有限公司 虚拟形象合成方法、装置、电子设备和存储介质
CN111243626A (zh) * 2019-12-30 2020-06-05 清华大学 一种说话视频生成方法及系统
CN111508064A (zh) * 2020-04-14 2020-08-07 北京世纪好未来教育科技有限公司 基于音素驱动的表情合成方法、装置和计算机存储介质
CN111666588A (zh) * 2020-05-14 2020-09-15 武汉大学 一种基于生成对抗网络的情绪差分隐私保护方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HEUNG-YEUNG SHUM等: "From Eliza to XiaoIce: challenges and opportunities with social chatbots", FRONTIERS OF INFORMATION TECHNOLOGY & ELECTRONIC ENGINEERING, pages 10 - 26 *
叶亚男等: "基于改进 CycleGan 模型和区域分割的表情动画合成", 计算机科学, pages 142 - 149 *
梁瑞刚;吕培卓;赵月;陈鹏;邢豪;张颖君;韩冀中;赫然;赵险峰;李明;陈恺;: "视听觉深度伪造检测技术研究综述", 信息安全学报, no. 02 *

Also Published As

Publication number Publication date
CN112650399B (zh) 2023-12-01

Similar Documents

Publication Publication Date Title
Agnese et al. A survey and taxonomy of adversarial neural networks for text‐to‐image synthesis
CN111243626B (zh) 一种说话视频生成方法及系统
US11900518B2 (en) Interactive systems and methods
CN112818861A (zh) 一种基于多模态上下文语义特征的情感分类方法及系统
CN112784929B (zh) 一种基于双元组扩充的小样本图像分类方法及装置
Lee et al. Photo aesthetics analysis via DCNN feature encoding
CN113268994B (zh) 基于胶囊网络的意图识别方法及装置
Huang et al. C-Rnn: a fine-grained language model for image captioning
Hu et al. Unified discrete diffusion for simultaneous vision-language generation
Agrawal et al. Image Caption Generator Using Attention Mechanism
Yeh et al. Reactive multi-stage feature fusion for multimodal dialogue modeling
CN114339450A (zh) 视频评论生成方法、系统、设备及存储介质
Nida et al. Video augmentation technique for human action recognition using genetic algorithm
Song et al. Hierarchical LSTMs with adaptive attention for visual captioning
Patel et al. Deepfake Generation and Detection: Case Study and Challenges
CN112364236A (zh) 目标对象推荐系统、方法、装置、数据处理方法及装置
CN109727091A (zh) 基于对话机器人的产品推荐方法、装置、介质及服务器
Liu et al. A multimodal approach for multiple-relation extraction in videos
CN117349402A (zh) 一种基于机器阅读理解的情绪原因对识别方法及系统
CN117234369A (zh) 数字人交互方法及系统、计算机可读存储介质、数字人设备
CN112650399B (zh) 表情推荐方法及装置
Kaddoura A Primer on Generative Adversarial Networks
Bankar et al. An analysis of text-to-image synthesis
Ouyang et al. Audio-visual emotion recognition with capsule-like feature representation and model-based reinforcement learning
CN116992493B (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
GR01 Patent grant
GR01 Patent grant