Every Document Owns Its Structure: Inductive Text Classification via Graph Neural Networks论文理解
[标题]
《Every Document Owns Its Structure: Inductive Text Classification via Graph Neural Networks》
[代码地址]
tensorflow: https://github.com/CRIPAC-DIG/TextING
pytorch: https://github.com/beiweixiaoxu/TextING-pytorch
[知识储备]
什么是GNN(Graph Neural Networks)?
什么是transductive learning 和 inductive learning?
目录
- 一、背景与概览
- 1.1 相关研究
- 1.2 贡献点
- 1.3 相关工作
- 二、模型
- 2.1 Graph Construction
- 2.2 Graph-based Word Interaction
- 2.3 Readout Function
- 2.4 training object
- 2.5 Model Variant
- 三、实验与评估
- 四、结论与个人总结
- 五、参考
- 六、拓展
- 数据预处理
- 模型
- GraphLayer
- ReadoutLayer
一、背景与概览
1.1 相关研究
文本分类主要依赖于特征的建模。传统方法有朴素贝叶斯、k近邻、支持向量机,但特征工程耗费很大;深度学习方法有RNN、CNN、TextCNN、TextRNN、TextRCNN,但缺乏长距离或者是非连续的单词交互;为了解决序列模型的缺陷,图卷积神经网络方法有TextGCN,但之前的方法中,1. 单词之间的上下文关系被忽略了 2. 在训练过程中,测试样本也被构建成图,这导致它们天生具有传导性(transductive),不容易进行归纳学习(inductive)。(意思是:TextGCN把test data作为unlabeled data和train data一起构建成图,在训练过程中就利用了test data的特征,这是transductive learning;而inductive learning也同样是这样做的,但一起构建成图的哪些unlabeled data只是单纯的不带标签的数据,而不是test data,真正的test data并不参与训练,而是另外进行预测)
1.2 贡献点
- 使用GNN,每篇文章是单独的图,单词之间的上下文关系可被学习
- inductive learning而非transductive learning
- SOTA
1.3 相关工作
基本都在相关研究中
二、模型
2.1 Graph Construction
和textgcn不同,其图中没有句子节点,而都是单词节点,图的符号表示如下:
其中,V是单词节点的集合, E是边的集合,和textgcn一样,使用固定大小的窗口,描述了单词之间的共线信息(可能也用的是PMI指标)
看到这里觉得单词的上下文关系似乎依然没有解决?
2.2 Graph-based Word Interaction
Gated Graph Neural Networks的过程,这里的A是邻接矩阵,公式(1)是GCN的内容,在此基础上,借由门控机制的思想,引入z(更新门)和r(重置门),来做进一步的计算。图没看懂…
2.3 Readout Function
公式(6)是图中的attentin layer,但似乎是每一个单词(hvh_vhv)有一个(由自己x一个参数而来的)权重(sigmoid(f1(hv))sigmoid(f_1(h_v))sigmoid(f1(hv)))。
公式(7)是图中的 average pooling 和 max pooling,但不知道为什么 average pooling在图重是Sum…
2.4 training object
得到了document的向量表示,拿去分类。
2.5 Model Variant
缝合怪似乎又出现了。
a multichannel branch TextING-M利用投票机制,第一个voter就是上述TEXTING模型,第二个voter是TextGCN,具体看代码。
三、实验与评估
超参数
- lr=0.01
- dropout=0.5
- word interaction step:视数据集而定
- sliding window size:视数据集而定
使用glove embedding
四、结论与个人总结
- 词向量使用glove
- 图中不存在句子节点,所以句子和单词之间没有联系
- 单词和单词之间依然是使用滑动的窗口,但没有使用PMI指标
- GNN感觉和GCN差不多,但文中用的是GGNN
- 如何批处理?--------->需要把feature和adj都padding成 ?x max_length x dim 和 ? x max_length x max_length的规格
- 句子向量表示通过pooling得到
五、参考
如何理解 inductive learning 与 transductive learning? - CharlesFeng的回答 - 知乎
https://www.zhihu.com/question/68275921/answer/529156908
tf.reduce_sum( ) 函数用法
numpy中pad函数的常用方法
六、拓展
下面是部分代码的理解。
数据预处理
以R8数据集的训练集为例,通过preprocess_adj
和preprocess_features
把train_adj和train_feature分别padding成(4937, 291, 291)和(4937, 291, 300)维度的矩阵,同时还有一个train_mask(4937, 291, 1),对于第i个句子而言,train_mask[i]这一行只在前"句子长度"的位置上为1.
模型
GraphLayer
- h(t−1)Wah^(t-1)W_ah(t−1)Wa
Every Document Owns Its Structure: Inductive Text Classification via Graph Neural Networks论文理解相关推荐
- 阅读笔记(Every Document Owns Its Structure: Inductive Text Classification via Graph Neural Networks)
Every Document Owns Its Structure: Inductive Text Classification via Graph Neural Networks (每个文档都有自己 ...
- Every Document Owns Its Structure: Inductive Text Classification via GNN (TextING)
文章目录 摘要 引言 文本分类方法 TextING构建思路和创新点 方法 构图 基于图的词交互 读出函数 模型变种 实验 数据集 对比模型 实验设置 结果 参考文献 摘要 文本分类是自然语言的基础 ...
- 【笔记】Every Document Owns Its Structure Inductive Text Classifification via
[笔记]Every Document Owns Its Structure: Inductive Text Classifification via Graph Neural Networks 一.背 ...
- 《Bag of Tricks for Node Classification with Graph Neural Networks》阅读笔记
论文地址:Bag of Tricks for Node Classification with Graph Neural Networks 一.概述 本文作者总结了前人关于图上半监督节点分类任务的常用 ...
- GNN Tricks《Bag of Tricks of Semi-Supervised Classification with Graph Neural Networks》
Wang Y. Bag of Tricks of Semi-Supervised Classification with Graph Neural Networks[J]. arXiv preprin ...
- SEMI-SUPERVISED CLASSIFICATION WITH GRAPH CONVOLUTIONAL NETWORKS 论文/GCN学习笔记
1 前置知识:卷积与CNN 该内容在论文中并没有涉及,但理解卷积和CNN对于GCN的理解有帮助,因为GCN是将CNN推广到新的数据结构:graph上面. 1.1与1.2的内容均来自视频:https:/ ...
- Node Classification with Graph Neural Networks(使用GNN进行节点分类)
文章目录 Setup 准备数据集 处理和可视化数据集 拆分数据集为分层训练集和测试集 训练和评估的实现 Feedforward Network(FFN) 构建一个Baseline神经网络模型 为bas ...
- 基于CNN的动态手势识别:Real-time Hand Gesture Detection and Classification Using Convolutional Neural Networks
Real-time Hand Gesture Detection and Classification Using Convolutional Neural Networks论文解读 1. 概述 2. ...
- paper reading:[renormalization]Semi-supervised Classification with Graph Convolutional Networks
paper reading:[Renormalization Trick] Semi-supervised classification with graph convolutional networ ...
最新文章
- [整合] 解决 Dell T640 安装显卡后风扇转速不降低
- 一键自动发布ipa(更新svn,拷贝资源,压缩资源,加密图片资源,加密数据文件,加密lua脚本,编译代码,ipa签名,上传ftp)...
- strtotime()加半个小时_椰子鸡这样做太好吃了,一滴水不用加,鲜香嫩滑,做法非常简单...
- 【Vue】详解 SFC 与 vue-loader
- cloudflare免费设置_Cloudflare 入门教程:使用 Cloudflare 免费 CDN 加速 amp; 保护自己的网站...
- 如何判断 linux内核 中 如何判断 条件编译
- delphi 分析抓取html,delphi网页数据抓取
- 高斯过程回归,得到预测标签和不确定度度
- TwinCAT软件部分参数介绍
- gke google_使用ExternalDNS扩展GKE
- Java内存Happen-Before
- Townscaper for Mac 城市建造模拟
- redis单点故障方案
- 拼多多——多多的数字组合
- 安装sulley注意点
- 根据当前日期获取本周、本月、本季度相关日期
- 《SysML精粹》学习记录--第六章
- 微信视频气泡 android,变变微信聊天气泡
- 不到 20 人的 IT 公司该去吗?
- 【豆瓣达人总结】做爱做的事,看有趣的人
热门文章
- wireshark抓包后查看数据报时的过滤规则/过滤语法及举例说明
- win10 C盘满 清理终极大法
- linux系统手柄模拟器下载,Switch Amiibo模拟器(Windows|Linux PC + JoyControl + Bluetooth)...
- 微信测试号中token和url的设置
- CentOS 7 下的软件安装方法及策略
- 飞机专家调查发现坐飞机 机首、机翼和机尾最安全
- 云计算企业级小架构部署应用综合练习-二- Ansible 部署 Elastic Stack(ELK)
- 数年沉寂之后,VR/AR产业开始起飞!
- K8s学习(二)——核心组件
- 【沃顿商学院学习笔记】宏观经济学——11全球治理Global Governance
- 阅读笔记(Every Document Owns Its Structure: Inductive Text Classification via Graph Neural Networks)