该回购包含用于修剪依赖树的纸张图卷积的Pytorch代码改善关系提取。
本文/代码通过修剪依赖树引入图形卷积神经网络(GCN),以提取关系提取。还引入了一种特殊的树修剪技术,称为中心修剪,以消除树木中的无关信息,同时最大程度地维护相关信息。与诸如基于LSTM的各种模型之类的序列模型相比,该GCN模型利用依赖性结构来桥接远程单词,因此改善了长期关系的性能。与以前的递归模型(例如Treelstm)相比,该GCN模型的性能更好,同时是平行的电动器,因此更有效。
有关模型体系结构的概述,请参见下文:

该代码要求您可以访问Tacred数据集(需要LDC许可证)。 Tacred数据集目前定于2018年12月通过LDC公开发布。有关早期访问此数据的可能性,请通过yuhao.zhang ~at~ stanford.edu我们联系。拥有Tacred数据后,请将JSON文件放在目录dataset/tacred下。为了完整性,我们仅在此存储库中包括来自Tacred数据集的示例数据文件。
首先,从斯坦福NLP Group网站下载和开启拉链手套向量,with:
chmod +x download.sh; ./download.sh
然后用以下方式准备词汇和初始单词向量
python prepare_vocab.py dataset/tacred dataset/vocab --glove_dir dataset/glove
这将在DIR dataset/vocab中将词汇和单词向量写为numpy矩阵。
要训练图形卷积神经网络(GCN)模型,请运行:
bash train_gcn.sh 0
模型检查点和日志将保存到./saved_models/00 。
要训练上下文化的GCN(C-GCN)模型,请运行:
bash train_cgcn.sh 1
模型检查点和日志将保存到./saved_models/01 。
有关使用其他参数的详细信息,例如修剪距离K,请参阅train.py 。
要在测试集上进行评估,请运行:
python eval.py saved_models/00 --dataset test
默认情况下,这将使用best_model.pt文件。使用--model checkpoint_epoch_10.pt指定模型检查点文件。
重新加载预据审计的模型并进行芬太尼,运行:
python train.py --load --model_file saved_models/01/best_model.pt --optim sgd --lr 0.001
本文还包括与位置感知注意力LSTM(PA-LSTM)模型的比较。要复制相应的结果,请参阅此回购。
@inproceedings{zhang2018graph,
author = {Zhang, Yuhao and Qi, Peng and Manning, Christopher D.},
booktitle = {Empirical Methods in Natural Language Processing (EMNLP)},
title = {Graph Convolution over Pruned Dependency Trees Improves Relation Extraction},
url = {https://nlp.stanford.edu/pubs/zhang2018graph.pdf},
year = {2018}
}
此软件包中包含的所有工作均根据Apache许可证版本2.0授予许可。请参阅随附的许可证文件。