先用knn对数据集进行预处理再利用神经网络对数据集进行分类_AAAI 2019 | 基于图卷积网络的文本分类...

acea7b0ddeb007eb556af5b8f5f09a92.png

文本分类任务是NLP领域一个重要和经典的问题,先前的工作利用CNN进行了很多尝试,但是却鲜有使用GCN来建模。作者提出了使用Text GCN来进行文本分类任务,基于词共现和文档词关系为一个语料建立一个单独的文本图,然后为语料学习Text GCN模型。该模型通过One-hot表示为词和文档初始化,然后联合学习词和文档的Embedding。实验结果表明,在没有任何外部的词Embedding和知识的情况下,本文提出的Text GCN模型在多个文本分类benchmark数据集上取得了SOAT的效果。另一方面,Text GCNT也在学习预测词和文档的Embedding,在训练数据量更少的情况下,Text GCN在文本分类任务上比SOAT的优势更明显,表现出了很好的鲁棒性。

8d5916f03eb08863f80acda5ca58e8d3.png

论文地址:https://arxiv.org/abs/1809.05679
代码地址:https://github.com/yao8839836/text_gcn

主要思想

从整个语料来构造一个大图,使用词和文档作为图的节点。然后用GCN对图进行建模,该模型可以捕获高阶的邻居节点的信息,两个词节点之间的边通过词共现信息来构建,词节点和文档节点之间的边通过词频和词文档频率来构建,进而文本分类问题就转化成了节点的分类问题。这种方法通过小部分的带标签文档可以学习强健的类别信息,学习词和文档节点之间的交互Embedding信息。

主要贡献

1.作者提出了一个新颖的文本分类方法Text GCN,这是第一个采用全部的语料作为异构图的研究,使用图神经网络联合学习词和文档的Embedding表示。
2.在没有使用预训练的Word Embedding和外部知识的情况下,在几个文本分类benchmark数据集上胜过SOAT方法,该模型也同时在学习预测词和文档的Embedding表示。

数据集

本文采用了5个数据集:20NG、R8、R52、Ohsumed和MR;进行清洗数据、分词、去停用词和去除词频小于5的词,预处理之后的数据集各项数据统计如下表所示:

aef15827e54ae041f0463809d3517c73.png

模型

GCN是一个直接在图上操作的多层神经网络,基于节点的相邻节点的属性信息引入节点的Embedding。对于一个一层的GCN,k-dim的节点特征矩阵

计算公式如下:

93ab9593adb22def3c3e0db42c2f2853.png

通过堆叠多个层来合并高阶的临近节点的信息:

ed49d49f967e8b8d0fd40baf67b2eb5e.png

本文采用包含词节点和文档节点的大型异构文本图,这样一来全局的词共现可以被明确的建模,图卷积可以被容易的使用。如下图所示,节点的数量是所有文档的数量加上语料词典中所有词的数量。其中X单位矩阵,表示每一个词或者文档采用One-hot编码作为输入,边“文档-词”基于文档中的词出现,边“词-词”基于整个语料库的词共现,权重“文档-词”基于TF-IDF,两个词之间的权重采用PMI来计算,公式如下:

6194ea803e2d836a35b68c8d5b5d4ef8.png

损失函数计算如下:

872665013a4bdd75a97664b6417b9b05.png

本文采用2曾的GCN进行训练,最大计算两阶临近节点的信息。模型的结构如下图所示:

2f7627d5d6f38bf93540cdd8f2b05e2b.png

实验结果

本文在5个被广泛使用的benchmark上分别进行了10次实验,然后对结果进行平均,实验结果如下:

8b3d6fc97bcdebbd9386e77011acd005.png

结论

本文提出了一个新颖的文本分类模型Text GCN,在整个语料上构建了异构的词和文档图,将文档的分类问题转化为节点的分类问题,该模型可以捕获全局的词共现信息并有效的利用有限的文档标注信息,一个简单的两层GCN模型就在多个benchmark取得了SOAT的效果。将来的改进方向可以放在为图增加attention机制或者开发无监督的GCN框架在大规模无标注的文本语料上进行表示学习。

4d4d7c0f837e83b2a1458d39f9c2b02b.png

扫码识别关注,获取更多论文解读

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值