zoukankan      html  css  js  c++  java
  • [DeeplearningAI笔记]序列模型2.9情感分类

    5.2自然语言处理

    觉得有用的话,欢迎一起讨论相互学习~

    我的微博我的github我的B站

    吴恩达老师课程原地址

    2.9 Sentiment classification 情感分类

    • 情感分类任务简单来说是看一段文本,然后分辨这个人是否喜欢或不喜欢他们正在谈论的这段文本。
    • 情感分类 一个最大的挑战是可能标记的训练集没有那么多,但是有了词嵌入,即使只有中等大小标记的训练集也能构建一个不错的情感分类器。

    问题引入

    • 通过训练一个从x到y的映射得到一个情感分类器,只需要收集在社交媒体上顾客对你的评价,你就可以判断其对餐厅的情感是正面的还是负面的。

    简单的情感分类模型

    示例 The dessert is excellent

    1. 首先在字典中找出句中所有单词,并使用 one-hot向量 表示 ,乘以 词嵌入矩阵E ,得到单词的 嵌入向量e

      1. 如果在很大的语料库中训练 词嵌入矩阵E 比如壹佰亿的单词,这样就能获得很多知识甚至从有些不常见的词中获取,然后应用到你的问题上,即使你的标记数据集里没有这些词。
    2. 得到的 嵌入向量e 是一个具有300维特征的向量,将句子中所有单词的 嵌入向量e 进行加和或求平均,此时会得到一个300维度的特征向量,把这个特征向量送进softmax分类器,然后输出(hat{y})

      1. 其中softmax 分类器能够输出5个分类结果,从一星到五星。
      2. 而求和和平均的操作则避免模型考虑原有句子的长短。无论原先句子都多长,在 求和平均 操作后都只有300维度,即只和原有的特征定义相关。

    缺点 这个算法的缺点是没有考虑语序的问题,对于 Completely lacking in good taste,good service, and good ambience(完全没有好的味道,好的服务,好的环境) 但是这个语句中使用了很多次 good ,如果仅仅是把所有单词的 嵌入向量e 相加,你最后的特征向量会有很多 good 的特征。

    基于RNN的情感分类模型

    • Completely lacking in good taste,good service, and good ambience(完全没有好的味道,好的服务,好的环境)
    1. 首先将每一个单词使用one-hot向量进行表示
    2. 将每个单词的one-hot向量乘以 词嵌入矩阵E 得到每个单词的 词嵌入向量e
    3. 将其送入RNN中,在RNN的最后一个时间步计算一个特征表示,用来预测 (hat{y})

    优点 这样就能考虑句子中单词的顺序,对于情感分类的效果就会更好了,结合句中的短语对整个句子的情感有新的导向。

  • 相关阅读:
    元组类型内置方法
    python的两种编程模式
    Python和Python解释器
    异常处理
    文件的三种打开方式
    python解释器的安装
    编程语言的分类
    计算机基础之编程
    linux 安装postgresql
    CentOS7 部署 gitlab
  • 原文地址:https://www.cnblogs.com/cloud-ken/p/9558278.html
Copyright © 2011-2022 走看看