An open API service indexing awesome lists of open source software.

https://github.com/rmsnow/mm-course

Multi Media Course Work, UCAS
https://github.com/rmsnow/mm-course

Last synced: over 1 year ago
JSON representation

Multi Media Course Work, UCAS

Awesome Lists containing this project

README

          

# Challenge1:跨话题迁移

## 问题分析

有研究表明:在一些话题的数据集(可被称为”通用话题“)上训练得到的模型,在一些特定话题的数据集上,泛化性能较差。例如:用社会生活话题下的数据训练模型,若直接对军事话题下的数据进行预测,则其各项分类指标表现均有很大的下降。

由此引出”跨话题迁移“的任务:

- 数据集中的新闻共包含社会生活、医药健康、文体娱乐、财经商业、教育考试、科技、军事、政治,共8种话题的新闻;
- 将社会生活、医药健康、文体娱乐、财经商业、教育考试、科技等6类话题下的数据作为训练集;将军事、政治这2类话题下的数据作为测试集;
- 通过迁移学习的相关方法,希望能够提高模型在测试集上的性能。

## 数据集划分

| | 话题 | 样本数 | 正负样本数量 | 有图片样本 |
| ------ | ------------------------------------------------------------ | ------ | -------------- | ----------- |
| 训练集 | 社会生活、医药健康、文体娱乐、财经商业、教育考试、科技 (共 6 类) | 32193 | 16119+,16704- | 19006 (59%) |
| 测试集 | 军事、政治 (共 2 类) | 1613 | 891+,722- | 1061 (66%) |

## 数据分析和预处理

### 类别分布

#### 训练集

```
【样本数量】
社会生活 20616
医药健康 6320
文体娱乐 2620
财经商业 1455
教育考试 901
科技 281

【百分比】
社会生活 0.640388
医药健康 0.196316
文体娱乐 0.081384
财经商业 0.045196
教育考试 0.027987
科技 0.008729
```

#### 测试集

```
【样本数量】
政治 1241
军事 372

【百分比】
政治 0.769374
军事 0.230626
```

### 文本预处理

1. 去除url

2. 采用`jieba`进行分词,分词后,统计最大句子长度:

```
The longest sentence has 1631 words. When WORDS = 100, the cover_rate = 0.93
The longest sentence has 1631 words. When WORDS = 120, the cover_rate = 0.96
The longest sentence has 1631 words. When WORDS = 150, the cover_rate = 0.97
The longest sentence has 1631 words. When WORDS = 200, the cover_rate = 0.98
```

在后续的文本特征提取器中,均选择最大句子长度为120(能够覆盖96%的数据样本)

## 尝试1: EANN‘s idea

> EANN: Event Adversarial Neural Networks for MultiModal Fake News Detection. KDD 2018: 849-857

### 模型架构

如图所示:在经过特征提取器的处理后,得到的特征向量分别输入到了Fake News判别器和Topic判别器,记二者的loss function分别为$L_d$、$L_t$。具体地:

- 特征提取器:为针对文本数据的BiGRU模型。
- Topic判别器:输入为8类,对应着8类话题。

整个模型的Loss Function、Objective Fuction、Optimization Strategy 如下图所示:

模型具有以下特点:

- 在迁移学习中,该方法属于对边缘分布的迁移。
- 模型属于端对端的模型,仅需一次训练。
- 该模型利用两个输出的loss,进行min-max game的对抗训练,即在“ Fake News 判得准” 和 “Topic 分得准” 之间做一个博弈。

### 性能评估

其中,BiGRU为Baseline模型,其没有进行迁移。可以看到,在利用EANN模型进行话题迁移后,性能反而有所下降。

![image-20200615175320411](/Users/snow/Library/Application Support/typora-user-images/image-20200615175320411.png)

用tsne可视化方法,将两个模型的源域(train)、目标域(test)的分布展示出来,可发现:

- 对于“BiGRU”模型,可看出:在不经过迁移时,源域、目标域的边缘分布没有对齐,这说明了跨话题迁移的必要性;
- 对于“BiGRU+EANN迁移”模型,可看出:虽然经过了EANN的迁移,但源域、目标域的边缘分布仍没有对齐,这表明EANN的迁移效果不如预期。

### 原因分析

由于训练集中只有 6 类 Topic 的数据,因此模型没有学到对军事、政治这两类 Topic 进行分类的能力。可能的解决方案:

>
>
> Domain-Adversarial Training of Neural Networks. J. Mach. Learn. Res. 17: 59:1-59:35 (2016)

采用DANN论文中的处理,更改其loss function为:

其中,可以仅利用测试集的topic label(不使用fake label,因此不存在数据泄露问题),这样模型就可以学到对军事、政治这两类 Topic 进行分类的能力。

## 尝试2:Two Branches‘ Idea

>
>
> Integrating Semantic and Structural Information with Graph Convolutional Network for Controversy Detection. ACL 2020 accepted.

### 模型架构

如图所示,模型的训练流程如下:

1. 训练 Related Branch 的Topic 分类器,分类损失最小化
2. 训练 Unrelated Branch 的 Topic 分类器,分类损失最大化
3. 固定前两步中两个分支的参数,在特征融合(此处为直接拼接)后,再进行 Fake News 判别器的训练

### 预训练语料

采用了上图中的 imbalanced 8 topics 与 balanced 3 topics 两种方式。

### 性能评估

![image-20200616002935141](/Users/snow/Library/Application Support/typora-user-images/image-20200616002935141.png)

可以看到:

- 经过Two Branches迁移后,模型的各项指标均有所上升
- 用平衡的3分类的预训练语料,能够取得更好的效果
- Related Branch、Unrelated Branch均有一定的迁移效果,且Unrelated Branch的迁移效果更好

### 迁移效果可视化

用tsne可视化方法,将各模型的源域(train)、目标域(test)的分布展示出来,可发现:

![image-20200616003208429](/Users/snow/Library/Application Support/typora-user-images/image-20200616003208429.png)

- EANN迁移过后,边缘分布没有对齐
- Unrelated Branch 迁移过后:1. 边缘分布对齐有适当提升;2. 目标域的类内分布更加紧凑(测试集数据,橙色点)

将各模型的测试集的决策面展示出来:

![image-20200616003348350](/Users/snow/Library/Application Support/typora-user-images/image-20200616003348350.png)

可发现:Unrelated Branch 迁移过后:测试集(目标域)的正负样本,类内分布都更加紧凑,因此分类效果有所提升。

## 关于跨主题迁移的思考

想要用 Topic 的迁移对 Fake News 的判别产生促进,究竟是要对 Topic “分得准” 还是 “分不准”?

- EANN、DANN:这两种模型是在 Fake News “判得准” 和 Topic“分得准” 之间做博弈

- Related Branch,Unrelated Branch:二者中 Unrelated Branch 略优,但Related Branch 仍有良好的效果

由此,似乎“分得准”和“分不准”都有一定的作用。

# Challenge 2: 情感信息挖掘

## 设计动机

Fake News的文本、图片,往往均具有强烈的煽动性,容易引发人们的情绪反应。

> [1] DEAN: Learning Dual Emotion for Fake News Detection on Social Media. arXiv 2019.
>
> [2] Exploiting Multi-domain Visual Information for Fake News Detection. ICDM 2019.

### 模型架构

设计情感引导的多模态融合模型,如上图所示。其能够动态地捕捉蕴含情感信息丰富,且情感信号有助于Fake News判别的模态。

### 文本模态的情感信息

#### 特征提取

![image-20200616004125699](/Users/snow/Library/Application Support/typora-user-images/image-20200616004125699.png)

共提取55维特征,如上表所示。

#### 情感特征分类

![image-20200616004228147](/Users/snow/Library/Application Support/typora-user-images/image-20200616004228147.png)

采用Random Forest模型进行分类,能够达到0.660的准确率,证明情感特征具有一定的可分性。

# 总结与收获

在本次课程设计中,主要在“跨主题迁移”上投入了很多精力,复现并尝试了Fake News及相关领域中,比较重要的两篇论文中的迁移方法,并对其迁移效果进行了评估,对表现出的性能进行了一定的分析。个人的论文阅读能力、代码实践能力、解决分析问题的能力,均得到了有效的锻炼!