Text Level Graph Neural Network for Text Classification阅读笔记

该博客介绍了TextLevelGNN模型,一种改进的文本分类方法。与传统方法相比,TextLevelGNN为每篇文章单独建图,减少内存需求并共享边的权重。模型通过MPM消息传递机制更新节点表示。实验表明,窗口大小为3的效果最佳,且固定边权重和使用PMI的效果不佳。此外,作者还讨论了maxpooling与meanpooling的比较以及随机初始化节点向量的负面影响。
摘要由CSDN通过智能技术生成

[标题]
Text Level Graph Neural Network for Text Classification

[代码地址]
https://github.com/LindgeW/TextLevelGNN
(大佬复现的pytorch代码,但效果不佳)

[知识储备]
什么是TextGCN?

一、背景与概览

1.1 相关研究

  • CNN
  • RNN
  • GNN
    • 整个语料上建图,图中包含所有单词节点
    • 滑动窗口大->内存大
    • 边的权重固定,表示能力差
    • 模型结构、参数过分依赖于语料

1.2 贡献点

  • 给每一篇文章单独建图
  • 滑动窗口小->内存小
  • 相同的节点表示,以及边的权重全局共享,并更新
  • 不依赖于语料

1.3 相关工作

差不多在相关研究中

二、模型

在这里插入图片描述

2.1 建图

在这里插入图片描述对于一个text

  • l是它的长度
  • N是图的所有单词节点
  • E是图的所有边,即节点i与以他为中心的2p+1大小的窗口内的其它邻近节点有边相连
  • N和E都来自于共享的全局矩阵
  • 出现少于k次的边是公共边

2.2 MPM消息传递机制

在这里插入图片描述
对于第n个单词

  • (3):2p+1个邻近节点(包括它自己)*与它的边权重,在每一维度上取最大
  • (4):一个可学习的参数来决定保留多少原来的向量表示(N),保留多少更新过后的向量表示(M),完成更新

2.3 training object

在这里插入图片描述
对于一个句子,将其所有单词向量求和,最后映射到输出维度,使用cross entropy loss function

三、实验与评估

  • window size/p = 2
  • lr = 1e-3
  • L2 weight decay = 1e-4
  • dropout_p = 0.5
  • bs = 32
  • early stop = 10
  • glove word embeddings
    在这里插入图片描述

四、结论与个人总结

论文结论

  • window size/p = 3左右效果最好
  • window size/p = 2(?)的情况下,像比如textgcn中的20,内存小
  • 边的权重使用固定的PMI+window size设置成20,效果不好
  • 单个句子的max pooling换成mean pooling,效果不好
  • 随机初始化所有单词节点的向量表示,效果不好

个人总结

  • 和TextING一样,也可以批处理
  • 是否和word embedding一样,需要建立edge embedding,即每一条unique的eage都有unique的idx

五、参考

六、拓展

下面的对https://github.com/LindgeW/TextLevelGNN的理解和改进的思路。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值