位置:编程技术网 > 产品设计 > 正文 >

这款基于人工智能自动完成软件是Gmail的编码器智能编写软件

2019年08月15日 13:03来源:未知手机版

水文与水资源工程专业,北京热,撒冷作品集

在过去的一年中,AI已经认真提高了生成书面文字的能力。通过扫描庞大的文本数据集,机器学习软件可以生成从短篇小说到歌词的各种令人信服的样本。现在,使用名为Deep TabNine的新程序将这些相同的技术应用于编码世界。

Deep TabNine就是所谓的编码自动完成器。程序员可以将它作为附件安装在他们选择的编辑器中,当他们开始编写时,它会建议如何继续每一行,一次提供小块。您可以将其视为Gmail的智能撰写功能,但需要考虑代码。

机器学习可以认真提高编码助手的能力

滑铁卢大学的计算机科学本科学生Jacob Jackson创建了Deep TabNine,他说这种软件并不新鲜,但机器学习已经大大改善了它的功能。 这对我来说解决了一个问题, 他告诉The Verge。

杰克逊于去年2月开始研究该软件的原始版本TabNine,然后于11月推出。但本月早些时候,他发布了一个更新版本,该版本使用由研究实验室OpenAI设计的深度学习文本生成算法GPT-2来提高其能力。这一更新给编程人员留下了深刻印象,他们称Twitter上的 惊人 , 疯狂 和 绝对令人兴奋 。

一位用户Franck Nijhof是一位在闲暇时间从事开源家庭自动化软件工作的IT经理,他说,他不仅对Deep TabNine感到惊讶 - 他还是以一种愉快的方式感到害怕。 我使用Deep TabNine的第一个小时没有用[因为]我不停地惊讶地试图绕过它, Nijhof通过电子邮件告诉The Verge。他一直在问自己, 它怎么知道的?但是怎么样?

像这样的自动完成工具并不新鲜,但Nijhof说Deep TabNine的建议更准确。 我过去曾尝试过一些聪明的 普遍 ,但它们很烦人而且没有帮助, 他说。 TabNine无疑是一个改变游戏规则的人。

深度学习自动完成https://t.co/WenacHVj7z非常酷!很久以前我在char-rnn的时候尝试过相关的想法,但当时它并不是很有用。随着新玩具(GPT-2)和更多的关注,这可能会开始工作得很好。

杰克逊说,该软件提供了更好的建议,因为它可以预测。大多数自动填充程序必须解析用户已编写的内容以提出建议,通过代码处理,就像您将使用数学公式中的步骤一样。相比之下,Deep TabNine依赖于机器学习的能力来查找数据中的统计模式以进行预测。

与文本生成算法在大量书籍,文章和电影脚本数据集上进行训练的方式相同,Deep TabNine对来自编码库GitHub的200万个文件进行了培训。它在这些数据中找到模式,并使用它们来建议在任何给定的代码行中可能出现的内容,无论是变量名还是函数。

杰克逊说,使用深度学习创建自动完成软件有几个优点。一开始,它可以轻松添加对新语言的支持。他说,你只需要将更多的训练数据放入Deep TabNine的漏斗中,它就会挖出模式。这意味着Deep TabNine支持大约22种不同的编码语言,而大多数替代方案只使用一种。

(Deep TabNine支持的完整语言列表如下:Python,JavaScript,Java,C ++,C,PHP,Go,C#,Ruby,Objective-C,Rust,Swift,TypeScript,Haskell,OCaml,Scala,Kotlin,Perl ,SQL,HTML,CSS和Bash。)

最重要的是,由于深度学习的分析能力,Deep TabNine提出的建议具有很高的整体质量。并且因为软件不会查看用户自己的代码来提出建议,所以它可以从单词go开始帮助完成项目,而不是等待用户编写的代码中的某些提示。

DEEP TABNINE也存在问题

当然,该软件并不完美。它在其建议中出错,对所有类型的编码都没有用。像黑客新闻和r / program subreddit这样的各种编程漏洞的用户已经讨论了它的优点并提供了一些混合的评论(尽管它们大多倾向于正面)。正如您对编码器构建的编码工具所期望的那样,人们对于它们与现有编辑器和工作流程的精确程度有很多关系。

本文地址:http://www.reviewcode.cn/chanpinsheji/66766.html 转载请注明出处!

今日热点资讯