“刘知远实验室”的关系抽取实验复现

最近在做文本的关系抽取,看了一篇论文(NRE论文总结:Attention-Based Bidirectional Long Short-Term Memory Networks for Relation Classification):

没有找到论文源码,我就从github上找到这份脚本(来自“刘知远实验室”):

thunlp/OpenNRE
thunlp/OpenNRE

下面便开始了我艰辛的调试脚本之路

  1. 下数据,解压时候遇到了问题
    tar解压Unexpected EOF in archive错误
  2. tensorflow-gpu==1.4.1、anaconda2(python2)、linux环境下跑脚本
    原脚本要求:TensorFlow (>=1.4.1),所以我就想装1.4.1版本的tensorflow
    tensorflow指定版本的安装及升级到最新版
      pip install tensorflow-gpu==1.4.1

装完之后想使用,发现报错了:

libcudnn.so.6:cannot open shared object file:No such file or directory

然后我在anaconda的.bashrc文件里加了一行配置环境(cudnn-6.0),完美解决。

  1. tensorflow-cpu==1.2、anaconda3(python3)、window环境下跑脚本
    我还尝试了用tensorflow1.2+anaconda3(python3)版本的跑,报错如下:
    报错1:
AttributeError: module 'tensorflow' has no attribute 'AUTO_REUSE' 

原因:tensorflow版本太低了,‘AUTO_REUSE’是1.4.0的语法。
修改:将encoder.pyselector.py里的reuse=tf.AUTO_REUSE都修改为reuse=True
没有跑通,就放假了,回老家啦~

国庆回来,刚想拾起上面的脚本仔细研读,发现作者更新了:新的脚本地址 ,我决定看新版本的脚本,因为代码量少了很多,很多,很多,如果你在看我写的学习笔记,建议上面的那些文字都不要看啦,只要看下面的就好啦~~

环境:anaconda2+tensorflow1.5+gpu+CUDA8.0

1.数据转化为json时,作者给的运行语句有些问题,应该用下面的语句:

python protobuf2json.py path(给一个路径)

2.执行:python train_demo.py nyt pcnn att时:
改报错1:'cmp' is an invalid keyword argument for this function
解决办法:
将~\OpenNRE-master\nrekit\data_loader.py中第260行的:

 self.ori_data.sort(cmp=compare_by_entities_and_relations)           

改为:cmp报错的资料

from functools import cmp_to_key#这句放在脚本文件最开始的地方
self.ori_data.sort(key=cmp_to_key(compare_by_entities_and_relations))

改报错2:No such file or directory:'_processed_data\\data\\nyt\\~
**解决办法:**创建路径~\OpenNRE-master\_processed_data\data\nyt
改报错3:'dict' object has no attribute 'iteritems'
**解决办法:**将~\OpenNRE-master\nrekit\data_loader.py中第426、433行的iteritems变为items.
3.然后脚本就跑通啦
结果:PCNN+ATTENTION时,“刘知远实验室”给出的AUC是0.3408,我实验跑出来的结果是0.1514,AUC越接近1说明模型衡量分类的能力越好,也就是说关系抽取在目前来说,做出来的效果都很差。

先这样吧,脚本和论文都没时间研读啦,我要离开一段时间了,祝我一切都好!

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
刘知远是图神经网络的介绍,该领域的学术研究者和专家。图神经网络是一种用于处理图数据的机器学习模型。与传统的神经网络不同,它可以直接对图结构进行建模和分析。传统的神经网络主要用于处理向量和矩阵数据,无法有效地处理非结构化的图数据,而图神经网络弥补了这一不足。 图神经网络的核心思想是将节点和边作为特征,并利用节点和边之间的连接关系进行信息传播和学习。它可以捕捉到节点之间的局部结构和全局拓扑信息,从而提取图的特征表示。这使得图神经网络在图分类、图节点分类、图边分类等任务上表现出色。 图神经网络中最常用的模型是图卷积网络(GCN)。GCN利用节点的邻居信息来更新节点的特征表示,通过多层的图卷积层进行信息传播和提取。其他常用的图神经网络模型还包括图注意力网络(GAT)、图自编码器(GAE)等。 除了节点和边的特征表示,图神经网络还可用于学习图级别的特征表示。这意味着它可以将整个图作为输入,输出整个图的特征表示,从而实现图分类、图生成等任务。 总之,图神经网络是一种重要的机器学习模型,可用于处理图结构的数据。它通过利用节点和边之间的连接关系和特征表示进行信息传播和学习,能够有效地提取图的特征表示,并在诸如图分类、图节点分类等任务中取得优异性能。刘知远在这一领域进行了深入的研究,为图神经网络的发展和应用做出了重要贡献。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值