基于bert技术的表情输入法及其装置

文档序号:1782716 发布日期:2019-12-06 浏览:5次 >En<

阅读说明:本技术 基于bert技术的表情输入法及其装置 (expression input method based on BERT technology and device thereof ) 是由 周诚 于 2019-07-25 设计创作,主要内容包括:基于BERT技术的表情输入法,包括:S1:预训练语料特征BERT模型;S2:预训练分类器模型,将多种预设定的表情进行分类,并根据特征预训练所述表情的分类;S3:当接收到用户输入的语料信息,以字词为单位进行包括分语、停用词在内的语料文字处理,并设置成语料特征BERT模型所需的输入数据格式;S4:输入至语料特征BERT模型进行特征提取,获得对应的特征向量v&lt;Sub&gt;1&lt;/Sub&gt;,v&lt;Sub&gt;2&lt;/Sub&gt;,...,v&lt;Sub&gt;k&lt;/Sub&gt;;S5:将特征向量v&lt;Sub&gt;1&lt;/Sub&gt;,v&lt;Sub&gt;2&lt;/Sub&gt;,...,v&lt;Sub&gt;k&lt;/Sub&gt;输入至预训练好的分类器模型,并得到最终所属的表情;S6:用户所需表情相对应的图片、动画等在内的表情展示信息。本发明可将表情进行分类,输入的字词可以精准匹配至其对应的表情类别,且设计了基于用户行为的表情包推荐算法,将用户最感兴趣的表情展示,避免用户过多滑屏选择,提高用户的使用体验。(the expression input method based on the BERT technology comprises the following steps: s1: pre-training a corpus feature BERT model; s2: pre-training a classifier model, classifying a plurality of preset expressions, and pre-training the classification of the expressions according to characteristics; s3: when the corpus information input by a user is received, performing corpus word processing including word segmentation and stop words by taking words as units, and setting the corpus word processing into an input data format required by a corpus characteristic BERT model; s4: inputting the data into a corpus feature BERT model for feature extraction to obtain corresponding feature vectors v1, v 2.., vk; s5: inputting the feature vectors v1, v 2.., vk into a pre-trained classifier model, and obtaining the final belonged expression; s6: and expression display information including pictures, animations and the like corresponding to the expression required by the user. The expression package recommendation method and the expression package recommendation system can classify expressions, input words can be accurately matched with the corresponding expression categories, an expression package recommendation algorithm based on user behaviors is designed, the expressions which are most interesting to users are displayed, excessive screen sliding selection of the users is avoided, and the use experience of the users is improved.)

基于BERT技术的表情输入法及其装置

技术领域

本发明涉及一种表情动图输入算法,尤其涉及基于BERT技术的表情动图 输入法及其装置。

背景技术

输入法是根据用户输入的信息进行关键字模糊匹配,猜想用户想要的输入 意图,动态弹出包括Gif等在内的表情窗口,让用户进行点击操作,发送相应 的Gif等动画表情到当前所在的应用,发送给接收方。

现有的表情输入法一般基于情感分类技术和深度学习技术来谈的。比如, 猜想用户想要的输入意图就需要用到基于情感分类技术,如何使猜想更精准就 可能用到深度学习技术。以下简单谈一下相关的技术的介绍。

一、情感分类技术

(一)基于字典的方法

利用构建的文本情感字典,并对情感词典进行极性和强度标注,进而进行 文本情感分类,如图1所示,基于词典的文本情感分析过程。

(二)基于机器学习的方法

有监督的机器学习方法:在机器学习方法中朴素贝叶斯NB(Naive Bayes)和支持向量机SVM(SupportVector Ma-c hine)是常用的监督学习算法,但是有研究指出,NB和SVM单独使用 时分别会面临独立条件假设和核函数选择方面的问题,所以Sharma等通 过使用Boosting技术整合“弱”支持向量机分类器,利用了Boos ting的分类性能,同时使用SVM作为基础分类器,研究结果表明集成分 类器在准确率上明显优于单纯的SVM分类器。

计算机在执行文本情感分析任务时通常先是对文本的每个词单独进行分析, 挖掘可能带有情感色彩的词,然后整合句子中的情感词判断句子的情感,层层 叠加,进而判断整个文本的情感极性。然而,文本中的每个词对文本情感分析 不是同等重要的,而计算机无法自动判断词语的重要性,于是Deng等根据 词语在整个文本中的重要性和表达情感的重要性这两个因素提出监督的词语权 重赋予方案。评论类的文本缺乏逻辑性,文本多呈无序性,一般的监督学习算 法处理无序文本时准确率较低,Perikos等设计了一种集成分类器,它 是基于3个分类器:第1个和第2个是统计学(朴素贝叶斯和最大熵),第3 个是基于知识的工具,对自然语言句子进行深入分析。类似地,Tripathy等将文本分别以1个词、2个词、3个词以及其组合的方式划分,然后分 别用朴素贝叶斯、最大熵、随机梯度下降和支持向量机的方法进行评论情感分 析。Tripathy等不仅对不同方法进行对比,还与组合的形式进行对比。

弱监督的深度学习方法:

神经网络模型的使用不可避免地要涉及词向量嵌入技术,即将人类语言转 换成机器语言,例如Word2Vec,Giatsoglou等将Word 2Vec提供的上下文敏感编码与词典提供的情感信息相结合。虽然词向量嵌 入技术考虑了单词的上下文,但是忽略了整体文本的情感,Tang等提出通 过在情感嵌入中将文本的情感信息连同词的情境一起编码来解决这个问题,并 开发了一个具有裁剪损失功能的神经网络自动收集情感信号。Fernández-Gavil-anes等提出新的无监督情感分析算法,该算法使用了 依存句法来判断情感的极性。在进行文本情感分析任务时,经常出现同一句子 中有情感极性不一致的多个情感词,梁斌等认为注意力机制(AttentionMechanism)能有效解决上述问题,于是将词向量注意力机制、 词性注意力机制和位置注意力机制相结合构造了多注意力卷积神经网络MAT T-CNN(Multi-ATTentionConvolution Ne uraINetworks)。

RNN是深度学习中经常用到的网络模型之一,已经在自然语言处理中广 泛应用。一般提到RNN网络模型是指循环神经网络(Recurrent N euralNetwork),是一种基于时间序列的模型,但RNN也可指 代递归神经网络(RecursiveNeural Network),是一 种注重结构层次的网络模型。刘金硕等将预训练好的词向量作为下层递归神经 网络的输入,然后将递归神经网络输出的句子向量以时序逻辑作为上层循环神 经网络的输入,有效地联合2种网络,能解决分类器正确率低下的问题。谢铁 等通过利用深度递归神经网络算法来捕获句子语义信息,并引入中文“情感训 练树图资料库”作为训练数据来发现词语情感信息。在进行文本情感分析任务 时,多数使用的数据库是评论类的短文本数据库,由于文本较短、特征比较稀 疏,传统特征抽取方法准确率较低。Sun等将深度信念网络和特征抽取方法 结合得到拓展特征抽取方法,以解决短文本抽取特征稀疏的问题。曹宇慧着力 于解决循环神经网络RNN无法学习长距离依赖信息的问题和卷积神经网络C NN的文本情感分析模型中全连接分类层不能够有效地对非线性分布的数据进 行情感分类的问题。考虑到传统方法无法获取文本语义信息的弊端,朱少杰引 入了基于深度学习的半监督RAE(RecursiveAutoEn-co ders)方法,该方法在特征维度较低时能取得较高的准确率。长期短期记 忆网络LSTM(Long ShortTerm Memory Networ k)是一种特殊的RNN,RNN无法解决长距离依赖问题,而LSTM可以 捕获文本之间的依赖关系,并能够长时间存储信息。周瑛等提出基于多注意力机制的LSTM模型,应用于华为P10闪存门的微博评论中用以分析网民情 绪。Hu等在LSTM模型的基础上建立了一个关键词词库,能帮助挖掘文本 中的潜在语言,可以进一步提高文本极性判断的正确性。Ma等提出在LST M中添加一个由目标级和句子级的注意模型组成的叠加注意机制,称为感知L STM,特别关注于利用深层神经序列模型中的常识知识。LSTM是一种有 效的链式循环神经网络,链式结构不能有效表征语言的结构层次信息,梁军等 将LSTM扩展到基于树结构的递归神经网络,用于捕获文本深层次的信息。 对语句级和篇章级的文本情感分析任务难度是不一样的,所以一般模型不具有 普适性。

但现有输入法只能显示有限的Gif表情,只有手动去更新,才能支持更多 的表情;在使用时,用户必须手动进入表情页面,选择gif表情,才能发送相 应的表情给对方,不能满足用户的个性化需求。在申请号为201610356623.1的 专利中公开了一种表情输入的方法,该发明所述的技术方案通过以下步骤:

S1实时获取用户当前输入的字符串;

S2、通过网络与远端服务器连接,并根据所获取的字符串在远端服务器中进 行模糊匹配,以获取最新的动态表情图片资源并保存到后台数据库中,所述根 据所获取的字符串在远端服务器中进行模糊匹配的具体操作为:将所获取的字 符串,根据搜索规则联想出对应的表达内容的名称,并根据该名称在远端服务 器的动态表情图片数据库中对动态表情图片进行相同或近似含义名称的匹配, 匹配所得结果后筛选出最新的动态表情图片;

S3、在界面上弹框显示最新的动态表情图片供用户选择,若用户点击动态表 情弹框则视为确认输入动态表情图片,弹框消失并自动发送动态表情图片,以 实现快速地输入最新动态表情图片,提升用户体验。

上述的表情输入是基于关键字词等模板进行匹配技术,表情包的数量非常 有限,另外,需要通过访问远端服务器时进行模糊匹配,当网络出现问题时容 易影响输入法使用受限的问题。

发明内容

本发明的第一目的在于提供一种基于BERT技术的表情输入法,以解决现有 技术中表情包的数量非常有限等技术问题。

一种基于BERT技术的表情输入法,包括:

S1:预训练语料特征BERT模型,将用户所要表达的字/词进行特征表达的特 征提取训练;

S2:预训练分类器模型,将多种预设定的表情进行分类,并根据特征预训练 所述表情的分类;并且在分类过程中加入情感分析算法,以提高分类结果;(以 上过程为离线完成)

S3:当接收到用户输入的语料信息,以“字”或“词”为单位进行包括分语、 停用词在内的语料文字处理,并设置成语料特征BERT模型所需的输入数据格式;

S4:输入至语料特征BERT模型进行特征提取,获得对应的特征向量 v1,v2,...,vk,其中k为所有语料分词后得到的总词数

S5:将特征向量v1,v2,...,vk输入至预训练好的分类器模型,并利用SoftMax函 数将特征向量的类别概率归一化,得到最终所属的表情;

S6:通过该用户使用历史表情利用User-CF或者ltem-CF展示用户所需表情 相对应的图片、动画等在内的表情展示信息。

与现有技术相比,本发明具有以下优点:

首先,区别于传统的文字聊天及表情聊天过程,只是将相关情感表达直接 (即相应表情包)直接展示于客户,该输入法将所需表情文字可直接赋予相应 表情包上,能够更加精准的表达用户所需;

其次,该输入法表情包情感类别有两百多种,基本覆盖了日常生活中的情 感场景;且将传统的文字聊天变为动图聊天,提升聊天的趣味性。

随后,本发明采用BERT技术,预训练语料特征BERT模型,将用户所要表 达的字/词进行特征表达的特征提取,而BERT模型具有更为精准的特征提取, 从而使得字/词的特征提取更全面、更精准。

还有,更精准的特征提取输入到LSTM算法,可以方便计算出该特征归属于 几百件表情分类的某一种分类概率最高,由此找到对应的表情,预先对每一种 表情设定对应显示的图片、动画或合成的图片、动画,在此过程还加入情感分 析算法,当用户输入的内容,还分析其可能想表达的情感,并针对该情感归类 分类概率最高的表情,再筛选推荐与所述表情数据精准匹配的表情图片,并将 所述表情数据与所述表情图片随机排版配置成表情包的缩略图或动图并显示在 表情输入面板中,其具有表情输入的精准性,大大提升用户的使用体验。

最后,通过该表情利用User-CF或者ltem-CF展示用户所需表情相对应的 图片、动画等在内的表情展示信息,达到较佳的展示效果,让用户有很好的表 情输入体验。并且,是针对表情包数量大以及移动端展示受限的不足,本发明 设计了基于用户行为的表情包推荐算法,提升用户的体验。

附图说明

图1为基于词典的文本情感分析过程图;

图2为该输入法的原理流程图;

图3为BERT模型输入表示的直观表示图;

图4为LSTM算法的block图;

图5为实例的原理框图;

图6A-图6C为章鱼输入法的展示效果图;

图7为BERT模型输入装置原理图。

具体实施方式

以下结合附图,具体说明本发明。

本发明公开了一种基于BERT技术的表情输入法,该输入法采用BERT(Bidirectional Encoder Representation from Transformers)方法,首先 将用户所要表达的情感进行特征表达,从而在用户输入所需表情时,能够提供 更加精准的表情;其次,利用深度学习的分类方法,将情感表达分为多种(比 如202种);最后针对表情包数量大以及移动端展示受限的不足,设计了基于 用户行为的表情包推荐算法,将用户最感兴趣的表情展示与其,避免用户过多 滑屏选择,提高用户的使用体验。区别于传统的文字聊天及表情聊天过程,只 是将相关情感表达直接(即相应表情包)直接展示于客户,该输入法将所需表 情文字可直接赋予相应表情包上,能够更加精准的表达用户所需;其次,该输 入法表情包情感类别有两百多种,基本覆盖了日常生活中的情感场景;且将传 统的文字聊天变为动图聊天,提升聊天的趣味性。

请参阅图2,其为该输入法的流程图。它包括以下步骤:

S110:预训练语料特征BERT模型,将用户所要表达的字/词进行特征表达的 特征提取训练;

S120:预训练分类器模型,将多种预设定的表情进行分类,并根据特征预训 练所述表情的分类;

S130:当接收到用户输入的语料信息,以“字”或“词”为单位进行包括分 语、停用词在内的语料文字处理,并设置成语料特征BERT模型所需的输入数据 格式;

S140:输入至语料特征BERT模型进行特征提取,获得对应的特征向量 v1,v2,...,vk,其中k为所有语料分词后得到的总词数

S150:将特征向量v1,v2,...,vk输入至预训练好的分类器模型,并利用SoftMax 函数将特征向量的类别概率归一化,从情感分类中找到最终所属的表情;

S160:通过用户使用历史表情利用User-CF或者ltem-CF展示用户所需表情 相对应的图片、动画等在内的表情展示信息。

首先介绍S130。

BERT的新语言表示模型,它代表Transformer的双向编码器表示。BERT旨 在通过联合调解所有层中的上下文来预先训练深度双向表示。因此,训练的BERT 表示可以通过一个额外的输出层进行微调,适用于广泛任务的最先进模型的构 建,BERT:即Transformer的双向编码表示来改进基于架构微调的方法。BERT 提出一种新的训练目标:遮蔽语言模型(mask language model,MLM),来克服 上文提到的单向性局限。MLM的灵感来自Cloze任务。MLM随机遮蔽模型(即为 语料特征BERT模型)输入中的一些token,目标在于仅基于遮蔽词的语境来预 测其原始词汇id。与从左到右的语言模型训练不同,MLM目标允许表征融合左右两侧的语境,从而训练一个深度双向Tansformer。除了遮蔽语言模型之外, 本专利还引入了一个“下一句预测”(next sentence prediction)任务,可 以和MLM共同预训练文本对的表示。

BERT的输入表示:输入表示(input representation)能够在一个token序 列中明确地表示单个文本句子或一对文本句子(例如,[Question,Answer])。 对于给定token,其输入表示通过对相应的token、segment和position embeddings进行求和来构造。图3是输入表示的直观表示。每一个字的表示由 Token Embedding、Segment Embedding、PositionEmbedding三个部分相加得 到。其中Token Embedding是一个简答的查表操作,SegmentEmbedding表示该 词语所属的句子,Position Embedding是对该字在句子中对应的位置的信息, 也是一个查表操作。语料特征BERT模型是由双向Transformer组成的一个特征 抽取模型。图中E表示字的embedding,T表示经过BERT编码后每个字的新的 特征表示,Trm表示Transformer特征抽取器。在训练中使用masked language model,随机mask输入中的一些tokens,然后在预训练中对它们进行预测,并 增加句子级别的任务,next sentenceprediction,随机替换一些句子,然后 利用上一句进行lsNext/NotNext的预测。通过这两项任务,使用大规模的无标 注语料对词的三种表示进行优化,得到预训练好的语料特征BERT模型。设置成 语料特征BERT模型所需的输入数据格式进一步包括:使用WordPiece嵌入和多 个(比如30,000)token的词汇表,用##表示分词,使用学习的positionalembeddings,支持的序列长度最多为512个token,

每个序列的第一个token始终是特殊分类嵌入,对应于该token的最终隐藏状 态被用作分类任务的聚合序列表示,对于非分类任务,将忽略此向量;句子对 被打包成一个序列:以两种方式区分句子,首先,用[SEP]在内特殊标记将它们 分开,其次,添加一个learned sentence A嵌入到第一个句子的每个token中, 一个sentence B嵌入到第二个句子的每个token中,

对于单个句子输入,只使用sentence A嵌入。

接着介绍S140.输入至语料特征BERT模型进行特征提取,获得对应的特征向 量v1,v2,...,vk进一步包括:

对一个句子x=x1,x2,......,xn,句子中的每一个字词使用token embedding、segment embedding、position embedding三个表示相加产生,并 使用Masked LanguageModel和Next Sentence Prediction为优化目标,对字 至少三种表示进行优化。

对于得到的字优化文本,也可以使用TextCNN模型在内的模型,进行特征 抽取,TextCNN模型是一个由多个感受的CNN并列组成的层叠模型,可以对句子 中的表示对分类有帮助的特征进行很好的抽取,对抽取出的特征进行池化操作 后,得到最终的分类特征表示。所述TextCNN由多个不同卷积层并列组成,通 过过多个大小不同的卷积核进行计算,使用多个大小不同的有利于句子语义特 征和句型特征的提取;池化层对卷积后的结果进行池化操作,提取卷积计算后 最重要的特征;将得到的字优化文本组建所述文本的语义文件,其经卷积层处 理得到特征图;将所述特征图输入池化层,经最大池化处理得到词向量并将所 述词向量串联成特征向量。以上仅公开一种特征抽取的方案,但是也可以采用 其它特征抽取的算法,在此仅做举例,并非用于局限本发明。

其次,介绍S150。将特征向量v1,v2,...,vk输入至预训练好的分类器模型,并利 用SoftMax函数将特征向量的类别概率归一化,得到最终所属的表情。分类器 模型可以是有RNN、CBOW等等,其中LSTM的效果最好。以下以LSTM为例来说 明。

LSTM算法是由于RNN的梯度消失和梯度暴增的不足提出的一种算法。且有 着短时的记忆能力。一般使用BPTT(Back Propagation Through Time)来进行 梯度的更新。LSTM网络中,将一般的RNN网络中的神经元换成了Block,其示 意图如图4所示。

一个LSTM层由多个block连接而成,如图4所示。这些block包含一个或 者多个循环连接记忆单元,也即图4中的cell,还包含其他的三个单元:输入 门(Input gate)、输出门(Output gate)和遗忘门(Forget gate)。顾名 思义,其中输入门和输出门就是输入和输出数据的,图中∫g和∫h;网络通过初始 化遗忘门的值为1,来调整是“遗忘”还是“记住”当前所输入的数据。

1.前向传播

假设当前时刻为t1,前一时刻为t0,网络每迭代一步,存储所有的隐层单元, 并激活每次输出;其中,N为网络中的神经元总数,wij代表从神经元i到神经元j 的权重。对于每一个LSTM block,分别用l,φ,ω代表输入门,遗忘门和输出门的 参数,c表示cells集合C的一个元素,sc表示cell c的状态值,f为门的压 缩函数,g和h代表cell的输入和输出压缩函数。则有,

输入门(Input gates):

yl=f(xl)

遗忘门(Forget gates):

yφ=f(xφ)

Cells:

sc=yφsc(t-1)+ylg(xc)

输出门(Output gates):

yω=f(xω)

Cell output:

2.反向传播

假设当前开始时间为t1,反向传播迭代过程用标准的BPTT来进行参数的更 新:

定义,

ε(t1)=ej(t1)

对于每一个LSTM block,值δ用以下公式进行计算:

Cell Output:

输出门(Output Gates):

状态值(States):

Cells:

遗忘门(Forget Gates):

输入门(Input Gates):

利用标准的BPTT,计算δ得到相应的误差值:

定义

定义

即,所述分类器模型为LSTM神经网络模型,将特征向量v1,v2,...,vk输入至预 训练好的分类器模型进一步包括:

获取特征向量v1,v2,...,vk,其做为LSTM神经网络模型的输入序列;所述LSTM 神经网络模型包括多个LSTM层,每个LSTM层由多个block连接而成,这些block 包含一个或者多个循环连接记忆单元,,还包含其他的三个单元:输入门(Input gate)、输出门(Outputgate)和遗忘门(Forget gate),遗忘门通过∫g和∫h来调整是“遗忘”还是“记住”当前所输入的数据;

通过所述LSTM神经网络模型的参数通过向前传播和/或反向传播对所述输 入序列计算得出输出Y,

通过输出Y,获得该多种预设定的表情分类中最对应的表情分类信息。

举个简单例子:到LSTM这一步,我们的问题已经是属于分类问题了,在此 简单举例说明前向后向传播的作用。假设目前有喜、怒、哀、乐四种表情,其 特征向量分别为v1,v2,v3,v4,输入到LSTM中,最终期望输出的是四种结果,即 目标输入为[1,2,3,4]。正向传播,经过那一系列的计算之后,分别会有一个实 际计算出来的结果为t1,t2,t3,t4,但是我们期望输出是[1,2,3,4],在此就产生 了误差为[1-t1,2-t2,3-t3,4-t4],所以在此就有了反向传播的过程,将误差进 行反向传播;传播结束之后,网络有了新的权重值,进行新一轮的正向传播, 继而得到新的实际输出,网络会根据设定的误差接受范围,及所网络迭代的次 数,决定什么时候训练结束;有了最优的网络权重,待输入(即客户所输入的 字词句)输入到网络中后,从而得到每种表情的分类结果。在此表情分类为202 中,训练过程都是经过上述过程(正向、反向过程),每种表情输入网络以后 都会有202中结果,哪个值最大,其表情结果即为该值所对应的结果。所以, 即为LSTM的训练过程。

当然,在整个过程中还可以考虑情感算法。比如,我们对表情类型进行多 级分类,其可以将情感做为其中某一级,针对某一情感可能涉及的表情类型归 为在该情感对应的子目录下。在表情分类训练及分续的表情分类时,一般可以 进行相应的情感算法获知该输入的内容可能表达的情感,再细化分类到对应的 表情类别下,可提升分类的准确性。

最后介绍S160:

S106:通过该表情利用User-CF或者ltem-CF展示用户所需表情相对应的图 片、动画等在内的表情展示信息。

将表情相对应的图或动画内的表情展示信息基于协同过滤的推荐。

(1)ltem-CF

基于物品的协同过滤和基于用户的协同过滤相似,它使用所有用户对物品 或者信息的偏好(评分),发现物品和物品之间的相似度,然后根据用户的历 史偏好信息,将类似的物品推荐给用户。基于物品的协同过滤可以看作是关联 规则推荐的一种退化,但由于协同过滤更多考虑了用户的实际评分,并且只是 计算相似度而非寻找频繁集,因此可以认为基于物品的协同过滤准确率较高并 且覆盖率更高。

(2)User-CF

基于用户的协同过滤推荐的基本原理是,根据所有用户对物品或者信息的 偏好(评分),发现与当前用户口味和偏好相似的“邻居”用户群,在一般的 应用中是采用计算“K-Nearest Neighboor”的算法;然后,基于这K个邻 居的历史偏好信息,为当前用户进行推荐。

基于商品的协同过滤方法很多,后续实施例中也给出一些。在此先举个例 再说明一下。用户相关或相近用户群,该用户群有表情a,表情b,...,表情n每 个表情具有若干N(比如N可以为2-4)个表情标签(主要为2-4个关键字), 譬如表情a具有标签(taga):taga1(比如:开心)、taga2(比如:笑眯眯)、 taga3(比如:姚明)…tagaN,则taga中的关键字通过BERT模型得到其相应 的特征向量:

v(taga1)=[v11,v12,...,v1m]

v(taga2)=[v21,v22,..,v2m]

v(taga3)=[v31,v32,...,v3m]

v(tagaN)=[vN1,vN2,..,vNm]

对taga每个关键字向量加权求平均得:

v(taga)=[v11+v21+v31,v12+v22+v32,...,vNm+vNm+vNm]/m

=[V11,V12,...,V1m]

同理有表情b有标签tagb,其每一个标签关键字经过BERT模型得到相应的 特征向量v(tagb)=[V21,V22,...,V2m],表情c有标签tagc,其每一个标签关键字经过 BERT模型得到相应词的特征向量v(tagc)=[V31,V32,...,V3m]

则可以利用余弦相似度求得表情间的相似程度:

表情a与表情b的相似程度为:cos(taga,tagb):

表情a与表情c的相似程度为:cos(taga,tagc):

表情b与表情c的相似程度为:cos(tagb,tagc):

某一表情,通过计算其若干相关表情cos值,计算上述cos值最小的为 表情最相似,可将相似表情推荐于该用户。

(3)基于内容的推荐

基于内容的推荐是在推荐引擎出现之初应用最为广泛的推荐机制,它的核 心思想是根据推荐物品或内容的元数据,发现物品或者内容的相关性,然后基 于用户以往的喜好记录,推荐给用户相似的物品。这种推荐系统多用于一些资 讯类的应用上,针对文章本身抽取一些tag作为该文章的关键词,继而可以通 过这些tag来评价两篇文章的相似度。

这种推荐系统的优点在于:

A.易于实现,不需要用户数据因此不存在稀疏性和冷启动问题。

B.基于物品本身特征推荐,因此不存在过度推荐热门的问题。

(4)基于关联规则的推荐

基于关联规则的推荐更常见于电子商务系统中,并且也被证明行之有效。 其实际的意义为购买了一些物品的用户更倾向于购买另一些物品。基于关联规 则的推荐系统的首要目标是挖掘出关联规则,也就是那些同时被很多用户购买 的物品集合,这些集合内的物品可以相互进行推荐。目前关联规则挖掘算法主 要从Apriori和FP-Growth两个算法发展演变而来。

基于关联规则的推荐系统一般转化率较高,因为当用户已经购买了频繁集 合中的若干项目后,购买该频繁集合中其他项目的可能性更高。该机制的缺点 在于:

A.计算量较大,但是可以离线计算,因此影响不大。

B.由于采用用户数据,不可避免的存在冷启动和稀疏性问题。

C.存在热门项目容易被过度推荐的问题。

本实例可以选择其中一种推荐后展示给用户该表情类型对应的图像或图片 或动画信息。

应用例

图5为一个实施例中动态表情生成方法的应用环境图。参照图5,该动态表 情生成方法应用于动态表情生成系统。该动态表情生成系统包括终端110和服 务器120。终端110和服务器120通过网络连接。终端110具体可以是移动终端, 移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。服务器120 可以用独立的服务器或者是多个服务器组成的服务器集群来实现。终端110可 在会话页面中进入表情输入面板,检测在表情输入面板中输入的字或词并采集 该数据;终端110还可获取针对字或词进行特征提取和从情感分类中找到最终 所属的表情,并筛选推荐与所述表情数据精准匹配的表情图片,并将所述表情 数据与所述表情图片随机排版配置成表情包的缩略图或动图并显示在表情输入 面板中,并且可根据各种推荐算法多个缩略图和/或动图作为会话消息展示在会 话页面中。

需要说明的是,上述的应用环境只是一个示例,在一些实施例中,终端110 还可将输入字词操作发送至服务器120,由服务器120对字或词进行特征提取和 从情感分类中找到最终所属的表情,并筛选推荐与所述表情数据精准匹配的表 情图片,并将所述表情数据与所述表情图片随机排版配置成表情包的缩略图或 动图(需要说明的是,初次使用是可以采用随机排版,随着用户使用习惯的累 积,也可以用推荐算法将用户喜好的表情推荐于用户)。最后并将合成的一个 或多个动态表情对应的表情缩略图反馈至终端110,由终端110在表情输入面板 中添加多个表情缩略图或动画,这样终端110在检测到针对表情输入板中该表 情缩略图的触发操作时,可从服务器120拉取与该表情缩略图对应的动态表情, 并将该动态表情作为会话消息展示在会话页面中。当然,终端110也可以向用 户展示多个动图,并通过各种推荐算法推荐至用户,由用户选定展示在会话页 面中。

请参阅图6A-图6C,在一个实施例中,提供了一种动态表情生成方法。本 实施例主要以该方法应用于上述图1中的终端110来举例说明。该动态表情生 成方法具体包括如下步骤:

S1,在会话页面中进入表情输入面板。

其中,会话页面是用于展示会话消息的页面,比如可以是社交应用中用于 展示会话双方发送的会话消息的页面。社交应用是基于社交网络进行网络社交 互动的应用,社交应用通常具有即时通信功能,社交应用可以是即时通信应用 等,会话消息就可以是即时会话消息。

表情是一种具有意思表达功能的图像,可反映发送该表情的用户的内心活 动、情绪、情感或特定语义。表情包括静态表情和动态表情。通常,静态表情 是一帧静态图片,可以是PNG(Portable Network Graphics,便携式网络图形) 的文件格式,而动态表情是一个动画,由多帧图片合成,可以是GIF(Graphics Interchange Format,图像互换格式)的文件格式。

表情输入面板是存放各个表情对应的表情缩略图的容器,用户可在表情输 入面板中添加新的表情。表情输入面板还可以包括用于容纳不同类别或不同来 源的表情对应的表情缩略图的多个页签,比如,用于容纳社交应用的开发者自 行设计的表情对应的表情缩略图的常用页签、用于容纳当前用户收藏的表情对 应的表情缩略图的收藏页签以及用于下载、保存或导入新的表情的添加页签, 等等。通常,在会话页面中,表情输入面板可以与文本输入面板来回切换,用 户可在切换至文本输入面板时在文本输入框中输入文本,并向通信对方发送文 本消息,在切换至表情输入面板时通过输入表情向通信对方发送表情消息。表 情输入面板与文本输入面板可统称为会话面板。

具体地,终端可在会话页面中展示表情输入图标,在检测到针对该表情输 入图标的触发事件时,在会话页面中展示表情输入面板,进入到表情输入面板 中。终端就可在检测到当前用户触发的针对表情输入面板中任意一个表情缩略 图的触发操作时,获取该表情缩略图对应的表情,将获取的表情发送至登录了 通信对方的登录账号的另一终端,并将获取的表情展示在当前的会话页面中。 本实施例中,针对表情缩略图的触发操作可以是点击操作、按压操作、移动操 作或滑动操作等。

在本实例中,我们采用的是向用户推荐不同的动图图框或图标,虽然实例 中未展示表情缩略图,我们合成的动图也不排除可以设置在表情缩略图标中。

S2:终端接收到用户输入“好难过”等的聊天语料,采用开放的聊天语料进 行特征提取处理:

将语料进行分词、停用词处理;

利用BERT对语料进行特征提取,其对应的特征向量为v1,v2,...,vk,其中k为 语料总数。

S3:终端经过BERT特征提取后的特征向量输入到LSTM中,并利用softmax 函数得到202种表情中对应的分类结果;

终端接收用户所输入的字、词,利用BERT对语料进行特征提取,提取出难 过相关的特征,再经过LSTM匹配出“难过”相关的情感分类。

S4:筛选推荐与所述表情数据精准匹配的表情图片,并将所述表情数据与 所述表情图片随机排版配置成表情包的缩略图或动图并显示在表情输入面板 中。(需要说明的是,初次使用是可以采用随机排版,随着用户使用习惯的累 积,也可以用推荐算法将用户喜好的表情推荐于用户)

终端针对不同的每一情感分类对应设置若干表情图片,并针对该表情图片 如何合成动图给出具体的配置方法。比如将“难过”找到匹配的图(如哭相关 图),再该些和如哭相关图按预预先设定的配置方法生成表情包的缩略图或动 图。

S5:将该些表情包的缩略图或动图以平铺排列的方式展示给用户输入界面, 当用户选定某一动图后,直接将该动图展现在会话框。针对表情包数量大以及 移动端展示受限的不足,展示用户所需表情图也可以利用User-CF或者ltem-CF 来进行推荐后展示,这样用户可第一时间选择符合自己个性的动图,尽量避免 用户进行后翻查找到该动图。

本发明还提供一种基于BERT技术的表情输入装置(请参阅图7),包括:

语料特征BERT模型110,将用户所要表达的字/词进行特征表达的特征提取 训练,接收到用户输入的语料信息进行特征提取,获得对应的特征向量v1,v2,...,vk, 其中k为所有语料分词后得到的总词数;

分类器模型120,用于将多种预设定的表情进行分类,并根据特征预训练所 述表情的分类,接收输入的将特征向量v1,v2,...,vk,利用SoftMax函数将特征向量 的类别概率归一化,从情感分类中找到最终所属的表情;

表情展示装置130,通过该表情展示用户所需表情相对应的图片、动画在内 的表情展示信息。

语料特征BERT模型110还包括:

输入数据格式预处理模块111:以字/词为单位进行包括分语、停用词在内 的语料文字处理,并设置成语料特征BERT模型所需的输入数据格式;

特征提取处理模块112:接收按预先设定的输入数据格式输入的语料文字数 据,行特征提取,获得对应的特征向量v1,v2,...,vk,其中k为所有语料分词后得到 的总词数。

分类器模型为LSTM神经网络模型,其进一步包括:

所述LSTM神经网络模型包括多个LSTM层121,每个LSTM层由多个block 连接而成,这些block包含一个或者多个循环连接记忆单元,还包含其他的三 个单元:输入门(Inputgate)、输出门(Output gate)和遗忘门(Forget gate), 遗忘门通过∫g和∫h来调整是“遗忘”还是“记住”当前所输入的数据;

向前传播/反向传播计算模块122,用于通过所述LSTM神经网络模型的参数 通过向前传播和/或反向传播对所述输入序列计算得出输出Y,

情感分类模块123,用于通过输出Y获得该多种预设定的表情分类中最对应 的表情分类信息。

展示装置130进一步包括:

图片/动图形成模块131:用于该输入对应的最终表情分类数据,筛选推荐 与所述表情数据精准匹配的表情图片,并将所述表情数据与所述表情图片随机 排版配置成表情包的缩略图或动图并显示在表情输入面板中.

推荐模块132:用于将所述缩略图或动图通过推荐算法推荐至用户终端。

对于表情推荐,具体可以用以下方法来实施:

第一种方法,根据用户使用该种表情的次数对用户直接展现该表情,也即 在“喜”这种类型的表情中,用户所使用“小黄人头像”的表情次数最多,将 此表情可推荐展示于用户;

第二种方法,通过协同过滤的方法:简单示例如下。

基于用户的协同过滤方法,其中有用户A,用户B,用户C;表情a,表情b, 表情c,接收用户输入的点击次数,每个用户对每个表情的使用情况如下表所 示(即点击次数)。

表情a 表情b 表情n
用户A 8 5 3
用户B 7 10 2
用户C 4 2 1

则在此,用户相似度可利用欧式距离、聚类等方法的其他求距离相似度方 法,在此利用欧式距离进行举例说明。欧式距离公式如下:在n维空间,点集 合x与点集和y之间的距离为d(x,y):

计算用户与相邻用户之间的距离;找到其中距离最小的相邻用户,再把该 相邻用户使用的表情推荐给该所述用户.

以用户A为例,来具体说明用户A的小推荐计算过程。

则对于用户A(userA)和用户B(userB)有:

对于用户A(userA)和用户C(userC)有:

对于用户B(userB)和用户C(userC)有:

所以可将用户A使用过的表情推荐于用户B,或可以将用户B使用过的表情推荐 于用户A。

如果使用聚类的方法,对用户A,用户B及用户N使用聚类的方法,得知具 有相同喜好商品(在此为使用用户表情)的用户,可此类用户使用过的表情推 荐于此类用户。

基于商品的协同过滤方法,在此表情a,表情b,...,表情n每个表情具有2-4 个表情标签(主要为2-4个关键字),譬如表情a具有标签(taga):开心、笑眯 眯、姚明,则taga中的关键字通过BERT模型得到其相应的特征向量:

v(开心)=[v11,v12,...,v1m]

v(笑眯眯)=[v21,v22,..,v2m]

v(呲牙)=[v31,v32,...,v3m]

对taga每个关键字向量加权求平均得:

v(taga)=[v11+v21+v31,v12+v22+v32,...,v1m+v2m+v3m]/m

=[V11,V12,...,V1m]

同理有表情b有标签tagb,其每一个标签关键字经过BERT模型得到相应的 特征向量v(tagb)=[V21,V22,...,V2m],表情c有标签tagc,其每一个标签关键字经过 BERT模型得到相应词的特征向量v(tagc)=[V31,V32,...,V3m]

则可以利用余弦相似度求得表情间的相似程度:

表情a与表情b的相似程度为:cos(taga,tagb):

表情a与表情c的相似程度为:cos(taga,tagc):

表情b与表情c的相似程度为:cos(tagb,tagc):

在实际的应用中,计算上述cos值最小的为表情最相似,可将相似表情推 荐于该用户。

在上述表情相似度计算方法中,还可以利用聚类等其他相似度方法,最终 将得到结果相似的表情,推荐于该用户。

一种计算机设备,其具体可以是图5中的终端110。该计算机设备包括该计 算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显 示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易 失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理 器执行时,可使得处理器实现动态表情生成方法。该内存储器中也可储存有计 算机程序,该计算机程序被处理器执行时,可使得处理器执行动态表情生成方 法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备 的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的 按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。计算机设备 的摄像头可以是前置摄像头或后置摄像头,计算机设备的声音采集装置可以是 麦克风。

本领域技术人员可以理解,仅仅是与本申请方案相关的部分结构,并不构 成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包 括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布 置。在一个实施例中,本申请提供的动态表情生成装置可以实现为一种计算机 程序的形式,计算机程序可在上计算机设备上运行。计算机设备的存储器中可 存储组成该动态表情生成装置的各个程序模块,各个程序模块构成的计算机程 序使得处理器执行本说明书中描述的本申请各个实施例的动态表情生成方法中 的步骤。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器 存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述动态表 情生成方法的步骤。此处动态表情生成方法的步骤可以是上述各个实施例的动 态表情生成方法中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序, 计算机程序被处理器执行时,使得处理器执行上述动态表情生成方法的步骤。 此处动态表情生成方法的步骤可以是上述各个实施例的动态表情生成方法中的 步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程, 是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易 失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施 例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据 库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存 储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可 擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或 者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态 RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、 增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线 (Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总 线动态RAM(RDRAM)等。

以上应用了具体个例对本发明进行阐述,只是用于帮助理解本发明,并不用 以限制本发明。对于本发明所属技术领域的技术人员,依据本发明的思想,还 可以做出若干简单推演、变形或替换。

24页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种数据处理方法、装置、设备及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类