博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
emoji情感分类器
阅读量:6915 次
发布时间:2019-06-27

本文共 1118 字,大约阅读时间需要 3 分钟。

1、简单的baseline

构建数据集:

小的数据集(X,Y)其中,X包含127个句子(字符串),Y包含0-4之间的标签,代表表情符号

训练数据集(127个),测试(56个实例)之间分割数据集

训练集:句子用词嵌入的平均值表示,算法使用,dense,

z = W*x+b

y = softmax(z)

 

像adore和love 有类似的嵌入,所以该算法甚至可以正确地概括一个它从未见过的词,如心,亲爱的,心爱的,也类似与爱,但是没有不快乐的正确答案,这种算法忽略了次序,所以不善于理解不快乐词汇,

结论:即使有127个训练样本,也可以获得一个好的模型,因为词向量较好的泛化型

      没有关注词序,所以这部电影不好并且不令人愉快,表现不佳

建立一个LSTM模型,将词序列作为输入,该模型将能够考虑词序,将继续使用预先训练的词嵌入来表示单词,但会将他们输入到LSTM中,其工作是预测最合适的表情符号

 

2.2、小批量

使用小批量数据,训练kears,大多数深度学习框架要求同一个小批量中的所有序列具有相同的长度,这是允许矢量化工作的原因,使用填充,设置最大序列长度,

2.3、 嵌入层

在keras中,嵌入矩阵表示为“图层”,并将正整数(与单词对应的索引)映射到固定大小的密集向量(嵌入向量)。

该Embedding()图层将大小的整数矩阵(批量大小,最大输出长度)作为输入,对应与转换为索引列表(整数)的句子

该图层输出为(批量大小,最大输出长度,词向量维度)

 

sentences_to_indices()

2.4、定义函数Emojify_v2,输入是shape(m,max_len),输出是概率值,大小为(m,c=5)

输入参数为:input_shape,word_to_vec_map,word_to_indedx

输出:model 

关键点:Input、LSTM、Dropout、Dense、softmax

 

注意点:

1、NLP任务的训练集小,则使用词嵌入可以显著帮助

2、keras(以及大多深度学习框架)中训练模型的一些重要细节

  要使用小批量,序列需要填充,以便小批量的所有样本具有相同的长度

  一个Embeding()图层可以用预测值初始化,这些值可以是固定,也可以是在数据集上进一步训练的,但是,如果标记数据集很小,则通常不值得尝试大量的预先训练的嵌入集

  LSTM()有一个标志,return_sequences 来决定是否返回每个隐藏的状态或者仅返回最后一个状态

  您可以立即使用Dropout(),LSTM()以调整网络

 

转载于:https://www.cnblogs.com/lxw003/p/8631836.html

你可能感兴趣的文章
犀牛书阅读手记
查看>>
web项目的WEB-INF目录使用说明
查看>>
GitHub Page+Hexo+nexT 搭建个人博客
查看>>
请求和响应
查看>>
除了画佩奇我们还要玩点更高级的
查看>>
手把手教你写一个Java的orm框架(3)
查看>>
EMQ X Meetup-深圳站
查看>>
ZooKeeper系列(1)--分布式系统的基石
查看>>
浮动布局和清除浮动
查看>>
关于slice()、substr()、substring()方法
查看>>
['1','2','3'].map(parseInt)的返回值是什么?
查看>>
引入iconfont图标-微信小程序
查看>>
权限(适用于初学者)
查看>>
startService过程
查看>>
内容创业转舵
查看>>
leetcode 120 三角形最小路径和
查看>>
圣杯布局进阶版-flex布局实现
查看>>
《速度与激情》范迪塞尔代言!雅迪和高端“死磕”到底
查看>>
LLDB 知多少
查看>>
淘宝、网易移动端 px 转换 rem 原理,Vue-cli 实现 px 转换 rem
查看>>