5 Star 13 Fork 7

liuyaox / roadmap_nlp

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
17-Sentiment_Analysis.md 18.56 KB
一键复制 编辑 原始数据 按行查看 历史
liuyaox 提交于 2020-09-13 16:43 . update

17. Sentiment Analysis

YAO's: https://github.com/liuyaox/sentiment_analysis (Keras & PyTorch)

17.1 Overview

Sentiment Analysis 按粒度可分为3种:

  • Document Level
  • Sentence Level
  • Aspect Level

其中, Aspect Level 的 Sentiment Analysis (ABSA) 按 Aspect 类型又可分为2种:

  • ATSA: Aspect-Term Sentiment Analysis

    Aspect-Term:不固定,不唯一,有很多Term共同表示同一种 Aspect,如 image, photo, picture 都是 Term。相关任务是 To group the same aspect expressions into a category,如上面三者可都归为 Image 这一 category

  • ACSA: Aspect-Category Sentiment Analysis

    Aspect-Category:表示一种 Aspect,固定而唯一,如上例中的 Image

Paper

  • Deep Learning for Sentiment Analysis : A Survey - 2018

    Chinese就喜欢看综述论文:情感分析中的深度学习

    YAO: 2017年及之前的论文综述,讲了三种粒度级别的情感分析,Related Tasks(包括Aspect Extraction, Opinion Extraction, Sentiment Composition等),带有词嵌入的情感分析,以及嘲讽 Detection,Emotion 分析等。

  • 【Great】Deep learning for Aspect-level Sentiment Classification: Survey, Vision and Challenges - ECNU2019

    综述了目前基于深度学习的Aspect Level Sentiment Classification,提供了数据集,并对比了经典的SOTA模型。

    Code: https://github.com/12190143/deep-learning-for-aspect-level-sentiment-classification-baselines (PyTorch)

    YAO:

  • 【Great】https://github.com/yw411/aspect_sentiment_classification

    Aspect-Level Sentiment Analysis 论文大全,包括ATSA和ACSA

    YAO: 值得细看和研究

    难点:Multi-Aspect时,相同Context,Attention容易重叠,极性容易一样,要从Attention方法和对象、Loss着手!

    多输入单输出,基本框架包括特征编码器+Attention,不同点在于以下6处:

    • 输入层:最简单是单输入Sentence,绝大多数是双输入,其中大多是Context与Aspect,也有Left + Aspect与Aspect + Right
    • 编码层:有些是RNN,有些是SelfAttention,还有一些是CNN
    • Attention层:
      • Attention方式:直接Attention,多次Attention,细粒度Attention,双向Attention(Aspect2Context, Context2Aspect),多层次Attention
      • Attention对象:Context与Aspect,Left,Right分别与Aspect,Context,Left,Right分别与Aspect,甚至还有Label与输入的Attention
    • 输出层:有些直接是模型输出层前的最后输出,有些还要拼接一些中间结果
    • Loss:有些是原生的交叉熵,有些还要添加额外Loss,如Aspect Alignment Loss
    • 额外内容:包括信息和约束,位置编码,词性POS,Multi-hop,情感词典,传统LSI/LDA特征,char粒度,其他结构化特征(比如user,sentence打分等)

Practice

Aspect-based Sentiment Analysis
  • 【Great】https://github.com/songyouwei/ABSA-PyTorch (PyTorch)

    Aspect Based Sentiment Analysis, PyTorch Implementations

    YAO: forked_repos_with_notes

    • 问题转化:转化为Sentence + Aspect的双输入、三种情感倾向为输出的'单标签三分类任务'
    • Loss: CrossEntropyLoss,同多分类任务,对于AEN模型,为真实分布添加均匀分布的噪声,Loss中相应多一份关于噪声的Loss
    • Metrics: accuracy指猜对Label(不管哪个Label)的样本占比,macro-f1score指各个Label分别计算f1score后求均值
  • https://github.com/lixin4ever/BERT-E2E-ABSA (PyTorch)

    Exploiting BERT for End-to-End Aspect-based Sentiment Analysis

  • https://github.com/soujanyaporia/aspect-extraction (Tensorflow)

    Aspect extraction from product reviews - window-CNN+maxpool+CRF, BiLSTM+CRF, MLP+CRF

    YAO: 注意,只是Aspect Extraction

Sentence Level Sentiment Analysis
To Be Confirmed

Competition

AI challenger 2018 餐饮行业细粒度用户评论情感分析

国内目前为止最大最全的面向餐饮领域的细分情感分析,任务类型是在 Document 中进行 Aspect-Level 的情感分析,Aspect 预先设定好!但好像又可以修改?!

训练数据Schema:<comment, aspect1, polarity1, aspect2, polarity2, ...> 注意,有多个aspect及其polarity!

搜狐2019 内容识别算法大赛

给定若干文章,从文章中识别最多三个核心实体以及对核心实体的情感态度(消极,中立,积极),任务类型是在 Document 中进行 Aspect-Level 的情感分析。

训练数据Schema:<comment, aspect1, polarity1, aspect2, polarity2, aspect3, polarity3> 注意,有最多三个 aspect 及其 polarity!

搜狐2018 内容识别大赛

对文章和图片乾分类(全部营销、部分营销和无营销),并从部分营销的文章中抽取属性营销部分的文本片段

  • 【Great】https://github.com/zhanzecheng/SOHU_competition (Keras)

    第一名解决方案,使用的模型包括:CatBoost, XGBoost, LightGBM, DNN, TextCNN, Capsule, CovLSTM, DPCNN, LSTM+GRU, LSTM+GRU+Attention, 模型技巧为:Stacking, Snapshot Ensemble, Pesudo Labeling.

    YAO:

    任务类型是 Document-Level 的文本和图片三分类,以及对部分营销的文本进行信息抽取

    Great在处理了文本和图片特征,把全部特征汇总在一起,使用传统模型和深度模型,并使用模型融合等技巧,非常实用!

BDCI 2018 汽车行业用户观点主题及情感识别比赛

任务类型在 Aspect-Level 的情感分析,Aspect 预先设定好!

训练数据Schema:<comment, aspect, polarity>,貌似只有一个 aspect!?

Article

17.2 Deep Learning

Paper

Code

Article

17.3 Topic Model

主题模型是一种非监督学习方法

Paper

Article

17.4 Rule

规则 + 数据挖掘

Article

Practice

Python
1
https://gitee.com/liuyaox/roadmap_nlp.git
git@gitee.com:liuyaox/roadmap_nlp.git
liuyaox
roadmap_nlp
roadmap_nlp
master

搜索帮助