查看完整文档: https://zhuanlan.zhihu.com/p/30468509
针对评论网站上的用户评论进行细粒度的情感分析,区别于传统的粗粒度的情感分类(判断一句话的表达情感的正/负性),评论者在一句话中往往会提到多个角度,并在每个角度都抱有不同的观点内容与正/负极性
- 举例:金拱门快餐的食品质量一般,但是服务很周到
- 抽取结果:食品质量 → 一般;服务 → 周到,这里 “食品质量” 与 “服务” 是两个不同的角度(aspect,也叫opinion target),前一个角度对应的情感词(opinion word)是 “一般”,极性为负(negative),后一个角度对应的情感词为 “周到”,极性为正(positive)
- 问题抽象:其实可以看作一个类似于分词问题的 “序列标注” 问题,如下图所示,给出分词后的输入序列,输出两个同等长度的 BIO 序列,一个作为角度词抽取的输出序列结果,一个作为情感词抽取的输出序列结果,这里 BIO 标记为序列标注问题的惯用标记法,“B” 即为欲标记的目标内容的开始词,“I” 为欲标记内容的中间词(或结尾词),“O” 为不标记的内容
另外,将这个问题抽象成序列标注问题还有一个很大的缺点,就是角度词和情感词的抽取是单独的,不是成对匹配的,即就算抽取出两个角度词和两个情感词,也不能将每个情感词对应到每个角度词上,万一两个情感词说的都是同一个角度呢,比如 “美国记者我不知道,但是香港记者啊最快且最吼”,这个问题暂时不知道其他的解决办法
- 刚从 keras 转到 tensorflow(极其智障的做法,一定要先学 tf 再学 keras),实践一下
- 实践一下序列标注这类 seq2seq 类问题的操作方式
- 探索一下文本上的细粒度情感分析
SemEval 2014 ( Restaurant ) :这是一个标注数据集,看到很多论文都在用,实验使用了Restaurant 的那一部分数据,数据内容是用户在网上对餐厅的评价 从数据示例看,数据集只提供了角度词(aspectTerm)的抽取结果,没有情感词的抽取结果,训练加测试数据总共3841条,需要人工标注情感词结果(WTF...)不过还好我拿到了别人标注过的一个结果,提供者是南洋理工大学的 Wang Wenya (感激不尽),目前 state-of-art 的 Coupled Multi-Layer Attentions for Co-Extraction of Aspect and Opinion Terms(AAAI 2017)的作者