LSTM 在 Target Dependent Sentiment Analysis 任务中的应用
简述了LSTM在情感倾向分析中的一些应用。
什么是 Sentiment Analysis
对于一段文本,我们希望得到这段文本体现的情感倾向——它是积极的(positive)、消极的(negative)还是中性的(neutral)。得出情感倾向的过程,我们称之为 Sentiment Analysis,有时也被称为态度挖掘(opinion mining)。这项技术最为普遍的应用就是分析评论者对某个主题的态度(比如买家评价、影评等等)。
什么是 Target Dependent
在一个情感分类任务中,如果讨论的对象是个在文本中明确出现过的词,那么我们称其为 target。举个例子:
这件衣服款式挺漂亮的,但是尺码也太小了吧!
对于“款式”这个 target,其情感倾向为 positive,而对于“尺码”这个 target,其情感倾向为 negative。
需要注意的是,target 与 aspect 不同,aspect 可能没有出现在文本之中。举个例子:
他很聪明,就是有些不懂礼貌。
这里设计到两个 aspect,一个是“智商”,另一个是“品德”,而这两个词在原句中都没有出现。
我们可以简单地认为,Target-Dependent 是 Aspect-Level 的一个子集。
一些应用到了 LSTM 的神经网络模型
由于是文本序列的处理问题,当然是少不了 RNN。这里列出了部分基于 LSTM 的模型,论文原作者在 LSTM 的基础上又提出了 Target-Dependent LSTM 和 Target-Connection LSTM。
Basic LSTM
- 对于每一个时刻,输入是 word embeddings。
- 采用最后一个时刻的 LSTM 的输出作为最终语义。
Basic Bidirectional LSTM
这种模型和 Basic LSTM 没有太大的差别,只是将 word embeddings 逆序输入给每个时刻的 LSTM。这种方式可以很好地解决重心在文本结尾或者文本开头时对情感分析的影响。举个例子:
句尾:今天中午吃了北二食堂的饭菜,真是太好吃了!
在第这句话中,“太好吃”这个情感强烈的词在整句话的末尾。
句首:真棒!可以去北二食堂吃晚饭了。
在这句话中,“真棒”这个情感强烈的词在整句话的开头。
情感重心无论是在句首还是句尾,通过双向输入的方式,就能得到较好的解决。
Target-Dependent LSTM (TD-LSTM)
- \(\text{LSTM}_L,\text{LSTM}_R\) 的输出合并起来作为最终语义。
不难发现,在 Basic LSTM 的基础上多加了一个 LSTM,TD-LSTM 拥有两个 LSTM —— \(\text{LSTM}_L,\text{LSTM}_R\)
$$ input_{L} = {w_1, w_2, \cdots, w_{r-1}}\\
input_{R} = {w_n, w_{n-1}, \cdots, w_{l+1}}$$
也就是说, \({\text{LSTM}_L}\) 的输入就是从第一个单词到最后一个 target 之间的所有词,而 \({\text{LSTM}_R}\) 的输入就是从最后一个单词到第一个 target 之间的所有词。举个例子:
我搬进了C10公寓楼,环境挺好的,就是水电供应有些讨厌。
这句话包含两个 target,一个是“环境”,一个是“水电供应”。按照之前提到的式子,\({\text{LSTM}_L}\) 的输入就应当是从“我”到“水电供应”之间的所有词,而 \({\text{LSTM}_R}\) 的输入就应当是从“讨厌”到“环境”之间的所有词。
论文作者在文中提到将 target 设为 LSTM 的最后一个时刻的输入,能更充分地利用 target 的语义信息。
We favor this strategy as we believe that regarding target string as the last unit could better utilize the semantics of target string when using the composed representation for sentiment classification.
Target-Connection LSTM (TC-LSTM)
- \(v_{target}=\overline w_{target}\)
- 在 TD-LSTM 的基础上,我们将 \(v_{target}\) 与输入端的 word embeddings 连接起来,这使得每个词都与 target word 有了更为紧密的联系。
实验结果对比
数据源自原论文。
Model | Accuracy | Macro-F1 |
---|---|---|
LSTM | 0.665 | 0.647 |
TD-LSTM | 0.708 | 0.690 |
TC-LSTM | 0.715 | 0.695 |