小伙伴关心的问题:可爱的emoji符号(喜欢的emoji表情符号),本文通过数据整理汇集了可爱的emoji符号(喜欢的emoji表情符号)相关信息,下面一起看看。

可爱的emoji符号(喜欢的emoji表情符号)

欢迎咨询!HelloNLP2 次咨询5.0小米 算法工程师1292 次赞同去咨询先抛出问题:为什么要关注emoji表情符号?

随着社交媒体的发展,emoji符号的使用越来越普遍。一方面,emoji符号可以替代文字表达一些内容;另一方面,它能以类似图片的方式生动形象地呈现所表达的内容。

当使用emoji符号的情况越来越多时,为了更充分地理解一句话/一段话等的语义,就需要理解这句话中包含的emoji符号。举几个例子:

从上面的6个例子中可以看到,如何我们忽略了其中的表情符号,首先这句话的语义就会存在问题,其次不能知道它所表达的情感。

所以,我们不仅仅需要理解中文的语义,还需要理解emoji符号的语义。下面,在情感分析任务中,我们会提出一个较好的解决方案。

1. 简介

在NLP领域的情感分析任务中,我们需要学习emoji符号的特征。目前,应该存在以下3种方案:

文本和emoji符号都利用预训练语言模型。

文本和emoji符号通过随机初始化,在情感分析任务中学习它们的特征。

文本使用预训练语言模型,emoji符号通过随机初始化的方式进行特征学习。

第一种方案,它的效果应该是最好的,但是成本也是最高的,主要是因为它需要做一次完整的预训练语言模型,例如BERT/RoBERTa/ALBERT。

第二种方案,它解决了emoji符号的特征学习,但是由于没有利用大规模的文本数据做预训练,所以在提取文本特征和emoji符号的特征时,效果会较差于第一种方案。同时,由于不需要单独做预训练语言模型,所以成本较低。

第三种方案,它的效果基本上和第一种方案差不多。一方面,通过已有的预训练语言模型来提取文本特征;另一方面,在Fine-tune的过程中学习emoji符号的特征。这样做的好处在于不仅成本较低,而且效果很好。

通过上面的对比,可以发现第三种方案是最经济最有效的。下面我会来详细介绍下这种方法的具体实施方法。

2. 算法设计

2.1 Placeholder

由于要分别提取文本特征和emoji符号特征,所以在占位符这一块会和平常会有所区别。我们不仅仅要为文本做占位符,同时也需要为emoji符号做占位符。

文本的占位符:emoji符号的占位符:

对于上面的两种占位符,其中最大的区别来自于它们的sequence_length。emoji符号的sequence_length取决于实际项目的需要,通过统计,99.99%以上的句子中emoji符号的个数不会超过16个(这个是在我们的情感分析任务中统计了1亿条数据得到的结果)。

2.2 BERT token-vectors and Emoji token-vectors

BERT token-vectors:

与使用BERT提取文本特征方法一样,这里提取文本特征的方式如下:

Emoji token-vectors:

通过随机初始化emoji符号的特征向量,在fine-tune过程中学习它的特征。

2.3 Concat

在得到BERT的文本特征向量和emoji符号的特征向量之后,会将它们拼接在一起,得到完整的一句话/一段话的特征向量。

2.4 Downstream task

下游任务由一个TextCNN构成,它的结构如下:

这里面有一点需要注意下,在卷积过程中,卷积核的宽度需要在原有的基础上加上emoji符号的sequence_length,即sequence_length_emoji。这样做的原因很简单,句子的长度不仅仅是文本的最大长度,也要加上emoji的最大长度。

2.5 Full connection

经过TextCNN之后,得到的向量会进入一个全连接层,目的是将这个向量映射到标签上,从而得到输出的概率分布。

2.6 Output Label

获取预测的标签,这一步非常简单,即在全连接层的输出概率分布中选择概率较大的标签。

3. 实践及框架图

3.1 框架图

3.2 模型Loss和Accuracy变化曲线图

4. 代码链接

以后开放!

相关文章:

HelloNLP:基于词典的文本情感分析(附代码)

HelloNLP:文本分类 [ALBERT+TextCNN](情感分析)(附代码)

更多可爱的emoji符号(喜欢的emoji表情符号)相关信息请关注本站,本文仅仅做为展示!