AAAI&KDD:带你了解“神经网络的代码生成”与“开放学术图谱”

RitterLiu 2019-11-25

AAAI&KDD:带你了解“神经网络的代码生成”与“开放学术图谱”

来源:AI TIME 论道

本文约2500字,建议阅读9分钟。

清北学霸现场分享最新的科研成果。

AAAI&KDD:带你了解“神经网络的代码生成”与“开放学术图谱”

激辩学术论题,探寻科学真谛!

2019年11月20日,第二期AI Time PhD在冬日寒冷的北京擦出了学术的火花。现场来自各大高校的学子与嘉宾一同认真聆听、仔细记录、热烈讨论。

AAAI&KDD:带你了解“神经网络的代码生成”与“开放学术图谱”

本期活动邀请到了北京大学计算机软件与理论专业的孙泽宇博士生,清华大学计算机系张帆进博士,两位学霸现场与大家分享了他们最新的科研成果。

后台私信回复“191123”获取学霸分享PPT

AAAI&KDD:带你了解“神经网络的代码生成”与“开放学术图谱”

清华大学计算机系刘知远副教授、北京邮电大学张忠宝副教授作为本次特邀的神秘嘉宾亲临现场带来了精彩的指导与点评,也与现场的同学们一起探究与讨论。未能到达现场的观众也通过观看微信群文字直播、远程提问以及查看现场照片流的形式参与了本次分享活动。

AAAI&KDD:带你了解“神经网络的代码生成”与“开放学术图谱”

AAAI&KDD:带你了解“神经网络的代码生成”与“开放学术图谱”

《基于神经网络的代码自动生成》

人工智能让程序员自危:代码自动生成

在人工智能时代,非计算机领域的从业人员可能面临失业,那么计算机领域的从业人员——程序员是否也会面对失业的威胁呢?孙泽宇博士最近发表在2019AAAI的“基于神经网络的代码自动生成”工作或许让这种威胁成为可能。

AAAI&KDD:带你了解“神经网络的代码生成”与“开放学术图谱”

代码自动生成任务是指给定相关自然语言描述,机器自动根据此描述生成对应的目标代码。现有直观的方法主要是利用循环神经网络(seq2seq模型)进行代码生成。然而,这种常用于机器翻译领域任务的seq2seq模型在执行代码自动生成任务时主要存在两个问题:

  • 无法解决代码生成任务的长依赖性问题,一串代码通常依赖于很久以前出现的代码,例如,变量引用可能依赖于变量定义等;
  • 无法解决代码生成任务的语法规则问题,原因在于编程代码中有着严格、丰富的语法结构信息。

针对这两大挑战,孙泽宇博士提出了一种基于语法结构的卷积神经网络模型算法,充分利用生成目标代码中的抽象语法树信息进行代码的自动生成任务。

具体而言,算法包含三方面信息的输入,分别是原始的自然语言描述信息,部分已经生成的抽象代码语法树信息和代码语法树中的父子节点连接位置信息。每一通道的信息对应各自相应的卷积网络结构进行表示学习,然后利用池化层与注意力机制层将这三方面信息进行融合,最后通过感知器模型以概率的形式预测代码的语法规则。

AAAI&KDD:带你了解“神经网络的代码生成”与“开放学术图谱”

作者采用炉石传说(卡牌游戏)数据进行实验,生成的代码效果如下图所示,可以明显看到机器学习到的代码(Generated code)与真值(Reference code)一模一样。可以预见,在不久的将来程序员也会逃离“不断调试代码”的苦海,让智能的机器自动生成代码更好地去辅助自己的工作。

AAAI&KDD:带你了解“神经网络的代码生成”与“开放学术图谱”

啊,问题在哪里

问答思辨环节

AAAI&KDD:带你了解“神经网络的代码生成”与“开放学术图谱”

两位特邀嘉宾分别对上述工作表达了自己的看法与疑问。刘知远老师认为,泽宇的分享还可以补充两点:一是对其他学者已有工作的描述,二是对自己的科研成果进行创新点介绍。张忠宝老师认为在讲述自己工作时如果能够引入一个更生动的例子或许效果会更好,并且希望讲者能够与现场观众进行“眼神交流”,有针对性地解决听众的疑惑。

AAAI&KDD:带你了解“神经网络的代码生成”与“开放学术图谱”

《开放学术图谱(OAG):面向大规模异构网络的实体连接》

张帆进博士分享了自己2019年发表在KDD的“开放学术图谱(Open Academic Graph,OAG):面向大规模异构网络的实体链接”工作。匹配不同数据源中的相同实体是构建开放知识图谱的根基,并且实体对齐是数据集成的关键一个步骤。作者在两个不同的亿级学术图谱(微软MAG和清华AMiner)进行实体链接对齐工作。

AAAI&KDD:带你了解“神经网络的代码生成”与“开放学术图谱”

这两个不同数据源的学术图谱主要包括出版地点、论文、作者三种不同实体。张帆进的工作分别实现这三种实体的正确链接与对齐,如下图所示,红色实线表明错误对齐,绿色实线表明正确对齐,绿色虚线表明未能对齐。在进行这两个不同数据的对齐过程中,主要面临三个挑战:

  • 实体异构:实体类型不同以及实体属性不一致;
  • 实体歧义:同名消歧问题;
  • 数据规模大:每种数据源中有上亿级别的论文出版物。

AAAI&KDD:带你了解“神经网络的代码生成”与“开放学术图谱”

针对以上挑战,作者介绍了一个实体匹配框架LinKG。如下图所示,此框架主要包括三个匹配模块,分别用于匹配不同类型的实体:

  • 为了匹配基于单词序列的实体(如出版地点),该框架采用了一种基于长短时记忆网络(LSTM)的方法来捕获单词依赖性。
  • 为了匹配大规模实体(如论文),该框架利用局部敏感哈希(LSH)和卷积神经网络(CNN)来实现大规模和精确匹配。
  • 为了匹配具有歧义的实体(如作者),作者提出异构图注意力网络来建模不同类型的实体。

AAAI&KDD:带你了解“神经网络的代码生成”与“开放学术图谱”

基于上述框架LinKG,作者最终生成和发布了OAG数据集,其中包含来自这两个图谱的出版地点,论文和作者数据以及相应的匹配关系,大约有3万个出版地点匹配关系,9000万个论文匹配关系和170万个作者匹配关系。OAG现在由大约7亿个实体和20亿个关系组成,是迄今为止最大的、公开可用的异构学术图(https://www.openacademic.ai/oag/)。OAG可以用于多种研究课题,如:网络数据挖掘(论文引用关系网络,作者合作关系网络等),文献内容挖掘,同名作者消歧和学术图谱对齐等。

AAAI&KDD:带你了解“神经网络的代码生成”与“开放学术图谱”

互动起来

两位老师分别对上述工作表达了自己的看法与疑问。

张忠宝老师认为上述工作的核心价值是在于,面对海量的真实学术图谱领域数据,将实体匹配与对齐工作做到目前最好的性能。对此,张老师给予了充分肯定;但是针对其中所面临的挑战,以及工作的可扩展性,张老师表达了自己的疑惑。

AAAI&KDD:带你了解“神经网络的代码生成”与“开放学术图谱”

刘知远老师认为作者的工作有些工程化,针对文章中实体对齐任务是否探索过作者自己原创的算法,提出了疑问。

此外,刘知远老师对AI Time PhD系列活动给予了很高的评价,认为这个平台给国内的博士生提供了一个分享与交流的机会,希望国内的博士生都能够更自信地去“捍卫”自己的科研成果,并对自己的整个博士课题框架有个清晰的规划。

最后,刘老师针对现场观众的提问关于科研工作中“性别问题”给出了自己的看法,认为计算机领域更能够体现出性别的平等,计算机这个行业在未来与其他学科的结合会更紧密,不同性别的科研工作者可以发挥各自的优势。

AAAI&KDD:带你了解“神经网络的代码生成”与“开放学术图谱”

短短两小时的热烈讨论,带来的是思想的碰撞和无穷的回味!在本次活动结束之后,仍有许多现场观众意犹未尽,同嘉宾就相关学术问题进行交流。

正如AI Time的两位志愿者所讲:AI Time PhD为博士生们提供了一个展示自己的舞台,但不止于此的是,它还为广大学子提供了一个接触顶级科研工作者的渠道,为广大的科研工作者提供了一个平等交流的平台,这也正是AI Time所承担的使命与责任。

AAAI&KDD:带你了解“神经网络的代码生成”与“开放学术图谱”

你是否还意犹未尽呢?期待下次见!

后台私信回复“191123”获取学霸分享PPT

参考文献:

[1]Sun Z, Zhu Q, Mou L, et al. A grammar-based structural cnn decoder for code generation[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2019, 33: 7055-7062.

[2] Zhang F, Liu X, Tang J, et al. OAG: Toward Linking Large-scale Heterogeneous Entity Graphs[C]//Proceedings of the Twenty-Fifth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. 2019, 25: 2585-2595.

编辑:黄继彦

校对:林亦霖

— 完 —

关注清华-青岛数据科学研究院官方微信公众平台“THU数据派”及姊妹号“数据派THU”获取更多讲座福利及优质内容。

相关推荐