用自然语言描述一下功能,平台自动创建出你需要的大型安卓应用程序
孟加拉国工程技术大学(BUET)和加州大学洛杉矶分校(UCLA)的研究人员最近开发了一个框架,可以从文本描述中创建出Android应用程序。
"我们BUET CSE系的研究小组致力于弥合人类语言和编程语言之间的差距,以使计算机编程更容易理解。”研究人员之一Masum Hasan告诉TechXplore,"我们以前曾致力于基于自然语言的程序修复,基于语言的代码搜索,代码文档生成等。在延续工作中,我们想知道是否可以从自然语言规范中建立起功能齐全的软件。"
大多数现有的基于文本描述创建软件的模型是基于端到端的神经机器翻译(NMT)模型,类似于支撑谷歌翻译的模型。这些模型利用NMT框架,将人类语言翻译成源代码。
虽然一些基于NMT的 文本 to 应用程序的翻译技术已经取得了可喜进展,但它们中的大多数无法生成具有数百行代码的大型程序。为了突破这一限制,Hasan和同事们创造了一种新的形式语言,以高度紧凑的语言形式表示出应用程序源代码的复杂性。
Hasan说:"我们设计了一种中间形式语言,可以用少部分指令表示用户指定的应用程序——行数不足源代码的1/20。"然后我们开发了一个编译器,可以将紧凑的表示法转换成实际的源代码,并训练一个神经网络机器翻译模型,将自然语言翻译成这种中间格式,然后编译成应用程序。"
从本质上讲,研究人员先训练了一个翻译模型来生成中间语言表示,而不是像大多数现有的文本to应用程序的技术那样创建原始源代码。通过将文本描述转换为过渡正式语言,他们的框架允许创建完全成熟的移动应用,而以前提出的方法被证明是不可行的。
Hasan和同事创建的框架,被称为Text2App,可以使用英语的指令创建安卓应用程序。要使用该系统,用户只需要描述具有特定功能的移动应用程序,框架就会自动为他们创建。
Text2App的视频演示现在可以在GitHub上找到,网址是:https://text2app.github.io/
"想象一下,你想记住你祖母的意大利面的特殊配方。与其一步一步地记住整个食谱,你可以只学习关键步骤,然后从食谱中查找细节。这将大大减少你所要花费的精力。同样,我们的中间应用表示法只捕捉到用户通过自然语言指令提供的具体要求,其余的由编译器来填补。"
"通过更多开发,Text2App可以成为一个成熟的基于自然语言的应用开发平台。我们还表明,在大型语言模型GPT-3的帮助下,用我们的系统从令人惊讶的复杂指令中创建应用程序是可能的。"
https://techxplore.com/news/2021-06-text2app-framework-android-apps-text.html