本文提出了一种新的综合性的模型结构:CASCADE(ContextuAl SarCAsm DEtector),它充分利用了每条文本的上下文信息,包括:
- 文本的用户信息(用户文体风格信息+用户个性信息);
- 文本的主题信息。
CASCADE模型的大致流程如下:
- 构建用户嵌入:首先利用每个用户的历史文本得到用户的写作风格嵌入和用户个性嵌入,并利用典型相关分析(CCA)将两个向量融合到一起得到用户嵌入;
- 构建主题嵌入:首先根据主题将文本进行分割,然后利用Paragraph Vector得到每个主题的嵌入;
- 构建文本嵌入:用textCNN得到文本嵌入;
- 将文本嵌入、用户嵌入和主题嵌入拼接起来,作为一个文本的整体综合嵌入。
1. 模型结构详解
1.1 构建用户嵌入
用户(user)是指发布该post的用户,用户信息主要分为用户的文体风格(Stylometric,该特征常用来分析文章的作者,即Authorship Analysis,)和用户的个性化(Personality,可使用Personality分析人的行为)。
-
建模用户文体风格流程:
注意,每条post后要加一个特殊标志。 -
建模用户个性流程:
Specifically, the CNN is pre-trained on a benchmark corpus developed by Matthews and Gilliland (1999) which contains 2, 400 essays and is labeled with the Big-Five personality traits, i.e., Openness, Conscientiousness, Extraversion, Agreeableness, and Neuroticism (OCEAN)。用这个预训练的CNN来提取用户个性化信息,其中词向量使用的是预训练的FastText训练出来的词向量。 -
最后将文体风格矩阵和用户个性化矩阵,使用典型相关性矩阵(CCA)融合降维为User Embeddings。
For each user ui, the objective of CCA is to find the linear projections of both embedding vectors that have a maximum correlation. 如下:
u i ⃗ = ( d i ⃗ ) T A 1 + ( p i ⃗ ) T A 2 \vec{u_i} = (\vec{d_i})^TA_1+(\vec{p_i})^TA_2 ui=(di)TA1+(pi)TA2
CCA:它可以捕捉到不同视图(D和P)之间的最大信息从而生成一个联合表示(U)。
简单相关系数描述两组变量的相关关系的缺点:只是孤立考虑单个X与单个Y间的相关,没有考虑X、Y变量组内部各变量间的相关。两组间有许多简单相关系数,使问题显得复杂,难以从整体描述。典型相关是简单相关、多重相关的推广。典型相关是研究两组变量之间相关性的一种统计分析方法。也是一种降维技术。
典型相关分析的实质就是在两组随机变量中选取若干个有代表性的综合指标(变量的线性组合), 用这些指标的相关关系来表示原来的两组变量的相关关系。
CCA详解
1.2 构建主题嵌入
1.3 预测
2. 实验结果
使用的数据集是SARC(Reddit)
从实验结果可以看出:
- 用户个性嵌入很重要;
- CCA的融合方法比简单的concatenate有效很多;
- 从可视化的图中,可以看出用户嵌入很有判别力,是CASCADE效果提升的关键。