1. 介绍
本文主要介绍论文Improving Twitter Sentiment Classification Using Topic-Enriched Multi-Prototype Word Embeddings. In Proceedings of AAAI的思路
1.1 词嵌入的问题
- 大多数学习词嵌入的方法(数据来源:twitter), 忽略了推文的主题
例如:
- Monday before I leave Singapore, I am going to post something that might be offensive. (NEGATIVE)
- #Patriots Tom Brady wins AFC offensive player of the week for 22nd time… http://t.co/WlFHyQ0I – #NFL(POSITIVE)
上述两条推文中的“offensive”表现出不同情绪极性,因为它们的主题不同。
- 每个词只有一个词嵌入与之对应,但一个词可以有多种含义(基于不同的语境)
2.2 论文主要贡献
-
使用神经网络构建模型。 模型通过结合本地上下文(n-gram)和全局上下文(情感和主题分布)来学习词嵌入。(词嵌入问题1解决方案)
-
其次,我们扩展模型以学习每个单词的多个嵌入,从而提供更好的性能。 (词嵌入问题2解决方案)
-
最后,通过使用不同的单词表示来集成我们提出的模型和当前最佳模型,可以进一步提高性能。
2. 学习主题丰富的词嵌入
模型:
不同模型结构以及训练的具体细节可以查看论文Yafeng Ren, Yue Zhang, Meishan Zhang, and Donghong Ji. 2016. Improving Twitter Sentiment Classification Using Topic-Enriched Multi-Prototype Word Embeddings. In Proceedings of AAAI.
思路整理:
3. 学习多个原型嵌入
思路整理:
-
为了学习多个原型嵌入,我们首先通过简单地使用频率阈值来识别多义词,该阈值设置为原型数p的三倍。
-
对于每个高频词的实例,我们计算一个“环境向量” Env
E n v = [ ∑ i ∈ c o n t e x t L i ∗ i f d w i ; g t o p i c ] Env = [\sum_{i \in context } L_i*ifd_{w_i};g^{topic} ] Env=[∑i∈contextLi∗ifdwi;gtopic] -
使用k-means聚类(k = 10)
d ( E n v 1 , E n v 2 ) = 1 − E n v 1 ∗ E n v 2 ∣ ∣ E n v 1 ∣ ∣ ∗ ∣ ∣ E n v 2 ∣ ∣ d(Env_1,Env2) = 1 - \frac{Env_1*Env_2}{||Env_1||*||Env_2||} d(Env1,Env2)=1−∣∣Env1∣∣∗∣∣Env2∣∣Env1∗Env2 -
减少类簇(如果两个聚类中心比较接近,则合并)
使用:
- 输入一个词w
- 计算w的环境向量Env
- 与该词的几个聚类中心比较,找到最接近的,选择该词向量作为输入