首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用CNN Tensorflow对电影评论中的情感和类型进行分类

如何使用CNN Tensorflow对电影评论中的情感和类型进行分类
EN

Stack Overflow用户
提问于 2017-07-10 13:46:06
回答 2查看 251关注 0票数 0

我正在尝试对影评的情绪进行分类,并根据影评本身预测这部电影的类型。现在情感是一个二分类问题,其中的流派可以是多标签分类问题。

另一个澄清问题的例子是对句子的情绪进行分类,并预测句子的语气是快乐、讽刺、悲伤、可怜、愤怒还是恐惧。

更重要的是,我想使用Tensorflow CNN执行这种分类。我的问题是构建y_label和训练数据,以便输出帮助我检索情感和流派。例如,数据Y标签:[0,1,0,1,1,0]表示情绪为负面,情绪为讽刺和愤怒

你建议我怎么解决这个问题?

EN

回答 2

Stack Overflow用户

发布于 2017-07-10 17:28:52

基本上,在CNN的最后一层,当您将CNN输出调整为1x1xN的形式时,添加两个前馈神经网络。所以如果你有一个简单的分类问题,你可以将CNN的输出输入到一个前馈神经网络中,在这种情况下,你就有了两个这样的网络。因此,为了实现这一点,你需要具备以下条件:

  • CNN输出-feed-> Classifier#1
  • CNN输出-feed-> Classifier#2

因此,你必须分离分类,但你仍然需要反向传播它们,所以它看起来像这样:

代码语言:javascript
运行
复制
loss1 = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(prediction1, labels_1))
loss2 = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(prediction2, labels_2))

loss = loss1 + loss2 

因此,您将使用优化器“最小化”loss

票数 1
EN

Stack Overflow用户

发布于 2017-07-10 14:54:18

您可以将其视为multi-label问题,并将sentimenttone标签附加在一起。

现在,由于网络必须预测多个输出(在本例中为2个),您需要使用sigmoid而不是softmax这样的激活函数。你的预测可以用tf.round(logits)来实现。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45004514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档