程序员的“福音”来了:AI辅助人类写代码 靠谱吗?( 四 )

王巍表示 , 人的自然语言(如法语)是一个由字和词组成的序列 , 通过统计模型分析 , 能够根据上文来预测下文出现的概率 , 可以将其理解为更高级的联想输入法或

江苏新闻

打字提示 。 而面向机器的编程语言 , 一方面是一个由代码组成的序列 , 另一方面也有其内在的代码组织结构 , 通过对这两者的建模 , 在程序员输入代码的过程中 , 可以利用人工智能技术识别其意图并预测其可能将要输入的代码 , 从而辅助程序员简化新写代码的工作量 。 另外 , 通过模式识别 , 在程序员修改一部分代码时 , AI可以识别出现有代码中其他需要做类似修改的相关代码模块 , 甚至直接提供代码更新方案的选项 , 从而大大减少程序员修改代码的工作量 。

在AI术语中 , 预测下文或代码属于序列的学习和预测 , 而递归神经网络则是实现序列建模的一种解决方法 。 长短期记忆网络(LSTM)是目前比较流行的一种递归神经网络 , 谷歌在论文利用LSTM来对已有的代码建模 , 从而识别和预测复杂、动态的代码编辑序列 。


推荐阅读