物理科技生物学-PHYICA

Text2App:一个内田绫从文本描述创建安卓应用的框架

技术工程 2021-11-24 21:53:17

Text2App: A framework that creates Android apps from text descriptions Text2App根据英文提供的规范创建一个功能性的Android应用程序。功劳:Hasan等人孟加拉工程技术大学(BUET)和加州大学洛杉矶分校(UCLA)的研究人员最近开发了一个框架,可以根据文本描述创建Android应用程序。这款新应用在arX iv上预先发布的一篇论文中展示。“我们在BUET CSE系的研究小组致力于弥合人类语言和编程语言之间的差距,使计算机编程更容易理解,”进行这项研究的研究人员之一马苏姆·哈桑告诉TechXplore。“我们之前从事过基于自然语言的程序修复、基于语言的代码搜索、代码文档生成等工作。接下来,我们想知道全功能软件是否可以从自然语言规范中构建出来。”

大多数基于文本描述创建软件的现有模型都是基于端到端神经机器翻译(NMT)模型,类似于支撑谷歌翻译的模型。这些模型利用NMT框架将人类语言翻译成源代码。

虽然一些基于NMT的文本到应用翻译技术已经取得了令人鼓舞的成果,但大多数技术无法生成包含数百行代码的大型程序。为了克服这一限制,哈桑和他的同事创造了一种新的形式语言,可以捕捉应用源代码的复杂性,并以高度紧凑的形式表示出来。

哈桑说:“我们设计了一种中间形式语言,可以用一小部分令牌来表示用户指定的应用程序——少了20倍之多。“然后,我们开发了一个编译器,可以将紧凑的表示转换成实际的源代码,并训练了一个神经机器翻译模型,将自然语言翻译成这种中间格式,然后可以编译成应用程序。”

本质上,研究人员训练了一个翻译模型,以他们创建的中间语言生成表示,而不是像大多数现有的文本到应用程序技术那样创建原始源代码。通过将文本描述转换成这种正式的语言,他们的框架允许他们创建完全成熟的移动应用程序,使用以前提出的方法证明这是不可行的。

“生成长序列是当前序列生成模型的一个已知限制,”哈桑解释说。“源代码通常比自然语言长得多,目前最好的模型仍然难以在基因评级短代码片段中达到20%的准确性。这使得用当前的序列生成网络创建大型软件变得不切实际,例如由数百行代码组成的移动应用程序。”

哈桑和他的同事创建的框架被称为Text2App,可以使用英文指令创建安卓应用程序。要使用该系统,用户只需描述一个具有特定范围的移动应用程序,框架就会自动为他们创建它。Text2App的视频演示现已在GitHub上发布,网址为:https://text2app.github.io/

哈桑说。“想象一下,你想记住你祖母做意大利面的特殊食谱。你不能一步一步地记住整个食谱,你只能学习独特的步骤,并从食谱中查找其余的步骤。这将大大减少你必须花费的精力。同样,我们的中间应用程序表示只捕获用户通过自然语言指令提供的特定需求,编译器填充其余部分。”

哈桑和他的同事们最近的工作可以让研究人员重新思考程序和应用程序的生成,方法是引入一种新的方式,通过这种方式,程序可以被总结或表示,这对于人工智能技术来说更容易理解。值得注意的是,研究人员训练的人工智能模型在将自然语言转换成应用程序方面表现出了比其他技术高得多的能力。

哈桑说:“如果我们在设计编程语言或框架时考虑到人工智能,我们目前的人工智能技术可以在从人类语言生成代码方面表现得非常好。“此外,编程语言是让编译器理解的,而不是完全让人工智能理解。我们证明,仅仅依靠人工智能模型来完成像代码生成这样的复杂任务是不够的,编译器等组件的额外支持可以提供很大帮助。”

这组研究人员进行的这项研究最显著的成就是开发了一种中间形式语言,能够将文本转换成应用程序,以及一个最终创建应用程序的编译器。到目前为止,哈桑和他的同事们只探索了它的一小部分能力,但是他们现在也要求开源社区为它的进一步评估和开发做出贡献。

哈桑说:“通过更多的开发努力,Text2App可以成为一个成熟的基于自然语言的应用开发平台。“在我们的工作中,我们还展示了在大型语言模型GPT-3的帮助下,用我们的系统从令人惊讶的复杂指令创建应用程序是可能的。然而,需要更多这方面的思考,才能使其完全可靠。”

来源:由phyica.com整理转载自PH,转载请保留出处和链接!

本文链接:http://www.phyica.com/jishugongcheng/4721.html

发表评论

用户头像 游客
此处应有掌声~

评论列表

还没有评论,快来说点什么吧~