Chiang97912 / DGCNN

Dilate Gated Convolutional Neural Network For Machine Reading Comprehension

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DGCNN

DGCNN,全名为Dilate Gated Convolutional Neural Network,即“膨胀门卷积神经网络”,顾名思义,融合了两个比较新的卷积用法:膨胀卷积、门卷积,并增加了一些人工特征和trick,最终使得模型在轻、快的基础上达到最佳的效果。

该项目使用Tensorflow实现了苏剑林的博客:基于CNN的阅读理解式问答模型:DGCNN中提出的DGCNN模型。具体的网络结构各位同学可以前往苏神博客一探究竟。

数据集

因为DGCNN属于机器阅读理解式问答系统,所以本模型可以使用SQuAD数据集(英文),同样也可以使用SOGOU问答比赛提供的数据集,但是这个项目我使用的是我自己根据WebQA处理的数据集,数据已经上传到Github。

词向量

词向量是使用gensim根据中文维基百科语料库训练的60维词向量,网上也有很多资源。这里我提供一份60维的词向量供大家使用。首先前往百度网盘,下载里面的wiki.zh.text.vector文件,然后将词向量文件放到项目中即可。

安装

git clone https://github.com/Chiang97912/DGCNN.git

使用

怎么训练DGCNN?

python train.py

怎么测试DGCNN?

python test.py

存在的问题

整体代码和苏神博客保持一致,但是存在一些细微的差别。而且目前这个项目存在过拟合现象,虽然经过多次修改,但是该问题还是存在。具体的原因个人感觉有如下几点:

  1. 数据集处理存在问题(例如切词的不准确);
  2. 苏神的模型使用很多人工特征,而该项目没有构建人工特征

问题很大概率是数据集处理方式导致的,大家如果要使用该项目的代码可以尝试一下其他数据集。

由于本人能力有限,如果有什么不对的地方欢迎大家指正!

最后

欢迎star/fork,一起改进代码!

About

Dilate Gated Convolutional Neural Network For Machine Reading Comprehension

License:MIT License


Languages

Language:Python 96.1%Language:Shell 3.9%