基于图深度学习的自然语言处理方法和应用

🚀 优质资源分享 🚀

学习路线指引(点击解锁) 知识定位 人群定位
🧡 Python实战微信订餐小程序 🧡 进阶级 本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。
💛Python量化交易实战💛 入门级 手把手带你打造一个易扩展、更安全、效率更高的量化交易系统

file


导读: 本次分享的内容为图深度学习在自然语言处理领域的方法与应用,主要内容和素材都来自于我们Graph4NLP团队的一篇调研文章:Graph Neural Networks for Natural Language Processing:A Survery,以及我们团队所开发的Graph4NLP的python开源库和教程。主要包括以下几大方面内容:

  • DLG4NLP背景与发展
  • DLG4NLP方法和模型
  • DLG4NLP典型的应用
  • DLG4NLP Python开源库

01 DLG4NLP背景与发展

我将首先阐述一下为什么需要图结构来处理NLP任务,然后介绍一下传统的图方法在NLP里面的应用,最后引出图神经网络并且简单介绍图深度学习的基础理论。

1. 为什么需要图来处理NLP任务

file

我们知道图结构数据是由节点和边组成的数据类型,在生活的方方面面都可以看到,尤其在大数据时代,比如互联网、社交网络、金融的交易网。还有可以表示成图结构的蛋白质等化学物质。我们也可以用图结构来表示逻辑关系的程序脚本。从图像领域来看,有表示图像里物体间相互交互关系的图结构。

file

同样在NLP的领域里,我们也会发现很多很多可以表示为图结构的数据。比如针对一个句子,如果我们想表示这个句子里的句法信息的话,可以建立一个dependency graph或者constituency graph;如果我们想捕捉句子的语义信息的话,可以建立一个AMR graph或者IE graph;如果我们把程序语言也看作一种自然语言的话,我们可以构建出捕捉程序逻辑关系的SQL graph。

2. 传统图方法在NLP任务的应用

file

传统NLP领域的表征方法一般分为3种:

第一种采用词袋来表征文本,该方法依靠统计每个词在句子或文档里的频率,但是这种方式无法捕捉词语之间顺序或者无法捕捉词语之间的语义信息。

第二种把文本表示成序列,相对于词袋会捕捉更多的序列信息,并且会包含词对之间的前后关系,典型方法有Word2vec和Glove。

第三种把文本表示成图,比较常见的有dependency graph和constituency graph等。当我们把一个文本表示成图后,就不再局限于前后位置的序列关系,我们可以捕捉到任意两个位置之间的关系,除了位置关系、语法关系,我们还可以捕捉语义关系。所以当我们对句子的文本表示越彻底越全面时,对表征学习任务帮助越大。

file

现在把自然语言表示成图结构已经不是一件新鲜事情,早在深度学习之前就有算法去这么做。例如采用Random Walk算法和Graph Matching算法计算文本之间的相似性。虽然传统方法表征成了图结构,但是对语言的处理具有比较大的局限性。

其一是没有后续特征的提取环节,其二解决的任务比较有限,比如句子生成,词与句子分类,尤其对于预处理模型同时求多个任务时,需要应用图深度学习来解决图特征提取环节。

3. 图深度学习基础理论

file

图神经网络的核心思想是依靠邻居节点的表征向量对目标节点的影响,不断地更新和学习每个节点的隐式表征。不同的图神经网络之间的差异在于所定义的邻居节点对目标节点的影响方式和信息传递的方式不同。图神经网络既可以计算节点的表征向量node embedding,也可

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值