NLP-文本分类实战-Text Level GNN-20newsgroup

Text Level Graph Neural Network for Text Classificationhttps://arxiv.org/pdf/1910.02356.pdf

一、文章概述

1.1 模型图

图1:单一文本的图形结构“他为您感到非常骄傲。” 为了便于显示,在此图中,我们为节点“非常”设置了p = 2(节点和边用红色表示),而其他节点设置了p = 1(蓝色表示)。 在实际情况下,会话期间的p值是唯一的。 图中的所有参数均来自全局共享表示矩阵,该矩阵显示在图的底部。

1.2构图方式

其中N和E是图的节点集和边集,而N中的单词表示和E中的边权重均取自全局共享矩阵。 p表示连接到图形中每个单词的相邻单词的数量。 此外,我们将训练集中出现次数少于k次的边缘统一映射到“公共”边缘,以使参数得到充分训练。

1.3消息传递

卷积可以从局部特征中提取信息(LeCun等,1989)。 在图域中,卷积是通过频谱方法(Bruna等人,2014; Henaff等人,2015)或非频谱方法(Duvenaud等人,2015)实现的。 本文采用一种称为消息传递机制(MPM)的非频谱方法(Gilmer et al。,2017)进行卷积。 MPM首先从相邻节点收集信息,并根据其原始表示形式和所收集的信息来更新其表示形式,定义为:

其中Mn∈R d是节点n从其邻居收到的消息; max是归约函数,它将每个维上的最大值组合在一起以形成新的向量作为输出。 N p n表示代表原始文本中n的最近p个单词的节点; ean∈R 1是从节点a到节点n的边缘权重,可以在训练过程中进行更新; rn∈R d表示节点n的前一个表示。 ηn∈R 1是节点n的可训练变量,指示应保留rn的信息量。 r 0 n表示节点n的更新表示。

MPM使节点的表示受邻域影响,这意味着这些表示可以从上下文中获取信息。 因此,即使对于多义词,上下文中的确切含义也可以通过来自邻居的加权信息的影响来确定。 此外,文本级图的参数取自全局共享矩阵,这意味着表示也可以像其他基于图的模型一样带入全局信息。

 

1.4文本表示

最后,使用文本中所有节点的表示来预测文本的标签:

1.5训练损失

训练的目的是使地面真实标签与预测标签之间的交叉熵损失最小:

 

二、参数设置

我们将节点表示的维数设置为300,并使用随机向量或Glove进行初始化(Pennington等,2014)。 将第2.1节中讨论的k设置为2。我们使用Adam优化器(Kingma和Ba,2014),初始学习率为10-3,而L2权重衰减设置为10-4。 在密集层之后应用保持概率为0.5的压降。 我们的模型的批量大小为32。如果验证损失连续10个周期没有减少,我们将停止训练。

对于基准模型,我们使用其原始文件或实施中的默认参数设置。 对于使用预训练词嵌入的模型,我们使用了300维GloVe词嵌入。

 

三、代码

3.1代码结构

先运行preprocess.py,再运行train.py

temp中有Google-vectors-negative.bin文件需要提前下载

链接:https://pan.baidu.com/s/1lCp-A3yrmxS4VOy1bnrEog 
提取码:plcy

 

3.2config.py

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值