社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

首个面向NLP的图深度学习工具包问世!简单易用,开发效率从此起飞!

AI科技评论 • 3 年前 • 481 次点击  

AI科技评论报道

作者 | 陈大鑫

近两年来图深度学习非常的火,频繁登上各大会议热词榜。

比如在深度学习领域的顶级会议 ICLR上,在分析了提交给该大会的论文中的高频词之后发现图深度学习赫然排在第4位,仅次于「深度学习」「强化学习」和「表征学习」。

拿NLP领域来讲,图神经网络在NLP有极为广泛的应用,比如文本分类,语义解析,自然语言生成等。

但是现阶段任务众多却分散,很少有提供多方面服务的工具包,因此研究人员使用GNNs仍然不轻松。

为了解决这一问题,来自京东硅谷研发中心 (JD.COM Silicon Valley Research Center) 的首席科学家吴凌飞博士领导的 Graph4AI 团队开发了首个面向NLP的图深度学习工具包:Graph4NLP: Deep Learning on Graphs for Natural Language Processing 。

项目地址:https://github.com/graph4ai/graph4nlp

该工具包由京东硅谷研发中心的首席科学家吴凌飞博士领导的 Graph4AI  团队7人历时一年多的时间努力完成。

其目的是为了更好让更多的NLP研究者和工业界的人能够轻松的使用GNNs,来做各种各样的NLP任务。

目前Graph4NLP的包是建立在DGL基础上,关键模块包含了文本转图结构模块(Graph Construction),、图学习模块 (Graph Representation Learning)、预测模块 (Prediction)、评估模块 (Evaluation) 和损失函数模块 (Loss)。

此外,项目还加入了一些流行的通用模型比如Graph2Seq和Graph2Tree, 从而使使用开发更加容易。同时,作者提供了大量的具体NLP任务的实例代码,供大家学习和修改使用,开发效率非常高效。

具体而言,Graph4NLP是一个简单易用的库,它可以用于图深度学习和自然语言处理(即DLG4NLP)的交叉研发。它既为数据科学家提供了 SOTA 模型的完整实现,也提供了灵活的接口,以通过整个管道支持来为研究人员和开发人员构建定制模型。

Graph4NLP基于高度优化的运行库(包括DGL)构建,具有高运行效率和很强的可扩展性。Graph4NLP的体系结构如下图所示,虚线框表示正在开发的特性。

可以看出Graph4NLP由四个不同的层组成:

1、数据层;2、模块层;3、模型层;4、应用层。

图注:Graph4NLP 整体架构

Graph4NLP 计算流如下所示:

Graph4NLP模型和应用

模型

  • Graph2Seq: 一个通用的端到端神经编码——解码模型,可以映射一个输入图到一个序列token;

  • Graph2Tree: 一个通用的端到端神经编码——解码模型,可以映射一个输入图到一个树结构

应用

本项目提出了一个复杂的NLP应用集合,并附带了详细的案例:

  • 文本分类:把句子或文档分类为适当的标签;

  • 语义解析:把自然语言翻译成机器可解释的形式意义表示。

  • 神经机器翻译:把源语言中的句子翻译成不同的目标语言。

  • 摘要:生成输入文本的更简短版本,并保留主要含义。

  • 知识图谱补全:预测知识图谱中两个现有实体之间的缺失关系。

  • 数学问题解决:自动解决数学习题,用易懂的语言提供问题的背景信息。

  • 命名实体识别:对输入文本中的实体进行相应类型的标记。

  • 问题生成:根据给定的段落和目标答案(可选)生成有效且流畅的问题。

性能

Graph4NLP 在众多NLP子任务中取得了SOTA或者接近SOTA的性能。

安装方式

当前,用户可以通过pip或者源代码两种方式安装,更详细信息可参照Github项目主页。

另外如果想详细参考本项目库,请参考作者给出的以下在线文件。

网址:http://saizhuo.wang/g4nlp/index.html

更多辅助资料

如果还想了解更多关于将图深度学习技术应用于NLP任务的知识,可以参考由作者和其他研究人员在NAACL’21 上的Deep Learning on Graphs for Natural Language Processing (DLG4NL) 的会议教程。

论文链接:https://www.aclweb.org/anthology/2021.naacl-tutorials.3.pdf

Graph4NLP  239页slides的教程:

slides链接:https://drive.google.com/file/d/1_7cPySt9Pzfd6MaqNihD4FkKI0qzf-s4/view

Graph4NLP文献综述:

https://github.com/graph4ai/graph4nlp_literature

Graph4NLP Workshops:

https://deep-learning-graphs.bitbucket.io/dlg-kdd21/index.html

由于微信公众号试行乱序推送,您可能不再能准时收到AI科技评论的推送。为了第一时间收到AI科技评论的报道, 请将“AI科技评论”设为星标账号,以及常点文末右下角的“在看”。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/115379
 
481 次点击