你给需求文档,AI就能帮你开发安卓App(app开发需求文档怎么写)

丰色 发自 凹非寺
量子位 报道 | 公众号 QbitAI

自然语言生成代码不算稀奇,但现在,这项技术涉及的业务范围真是越来越广了。

就有一个叫做Text2App的“AI”,你“喂”给它一串文字需求,它就能直接给你“消化”成安卓应用

你给需求文档,AI就能帮你开发安卓App(app开发需求文档怎么写)

不信你看。

这是输入的文字:

创建一个APP,上面有一个视频、一个按钮,一个文本转语音的功能以及一个手机加速传感器。点击按钮,播放视频;摇晃手机,念出文字“happy Text2App”。

整个过程除了等编译花上几分钟,无需别的代码操作,就能直接生成下面这样一个安卓应用:

不知广大程序员们尤其是安卓开发,看完感觉如何?

介于文字描述和源码之间的“中间语言”

Text2App这个框架出自加州大学洛杉矶分校和孟加拉国工程技术大学。

你给需求文档,AI就能帮你开发安卓App(app开发需求文档怎么写)

不是直接将自然语言生成源码,而是先生成中间语言,再由编译器生成源码。

为什么要先生成中间语言呢?

你给需求文档,AI就能帮你开发安卓App(app开发需求文档怎么写)

因为此前大多数根据文字描述生成程序的研究都是基于端到端的神经机器翻译 (NMT) 模型,类似于Google 翻译,将自然语言直接翻译成源码。

虽然其中一些效果还不错,但大多数无法生成大一点的、上百行代码的程序。

为了克服这个限制,研究人员就在这个过程发明了一个新的形式语言 (formal language)做“桥梁”。

它能“搞懂”复杂的源码,并将用户给定的自然语言转换出一小部分tokens(标记),再形成一个简单的程序表示代码。

最后用研究人员开发的一个编译器,就能把这个中间语言转换成源码。

最理解编程语言的还是编译器,完全让AI来生成复杂的程序还不行,所以离不开编译器的大力支持

当然,生成中间语言还是靠的神经机器翻译模型。

下面是“文字描述转换成APP”的具体流程:

你给需求文档,AI就能帮你开发安卓App(app开发需求文档怎么写)

文字描述:

Create an app with a textbox, a button named “Speak”, and a text2speech. When the button is clicked, speak the text in the text box.

上面这段自然语言首先被格式化(例如将“Speak”转为“ ‘STRING0’:’Speak’ ”),然后交给一个有编码器和解码器的Seq2Seq神经网络翻译成简单的应用程序表示(SAR)——这就是上面说的中间语言:

<complist> <textbox> <button> string0 </button> <text2speech> </complist><code> <button1clicked> <text2speech1> <textboxtext1> </text2speech1></button1clicked> </code>

再通过SAR编译器将中间语言转换成MIT App Inventor源码文件(.scm/.bky),由MIT打包成最终可用的安卓端应用程序即可。

下面是自然语言和中间语言(SAR)自动合成的示意图,很直观:

你给需求文档,AI就能帮你开发安卓App(app开发需求文档怎么写)

功能还比较初级

正如大家所料,这个框架还是比较初级,目前描述文字需要被限定在一个固定范围

只能描述11种组件:文本框、按钮、标签、播放器、时间选择器……

能实现的事件、操作等倒是没有明确限制,感兴趣的可以具体测测能实现多少。

你给需求文档,AI就能帮你开发安卓App(app开发需求文档怎么写)

目前的功能也很单一,广大安卓开发程序员们还远远不用担心AI“抢饭碗”。

不过研究人员说了,最终目的是使Text2App 成为一个成熟的基于自然语言的APP开发平台。

需要多久呢?还未可知。

论文地址:https://arxiv.org/abs/2104.08301
完整视频及试玩链接:https://text2app.github.io/

参考链接:
https://techxplore.com/news/2021-06-text2app-framework-android-apps-text.html

— 完 —

量子位 QbitAI · 头条号签约

关注我们,第一时间获知前沿科技动态

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023年4月30日 上午9:03
下一篇 2023年4月30日 上午9:13

相关推荐

  • crm客户关系管理系统销售

    CRM客户关系管理系统销售 随着数字化时代的到来,企业对于客户关系管理(CRM)的需求也越来越强烈。CRM客户关系管理系统是一种用于管理客户关系的软件系统,可以帮助企业更好地了解客…

    科研百科 2024年8月21日
    104
  • 项目管理服务模式(全过程集成化项目管理服务模式)

    为招标单位提供优质、完善的服务是企业塑造品牌、创名牌的重要保证,服 务模式的创新更是赢得市场的重要武器。保洁服务行业提供的是多层次的综合服 务,保洁服务的探索创新有着广泛的内涵和外…

    2022年7月3日
    502
  • 河北省建设用地定额标准

    河北省建设用地定额标准 河北省建设用地定额标准是指河北省在建设用地方面制定的规范和标准,旨在确保建设用地的质量和效率。 该标准涵盖了建设用地的选址、规划、设计、施工和验收等多个方面…

    科研百科 2024年11月20日
    0
  • 项目管理系统运行报告

    项目管理系统运行报告 项目管理系统是一种用于管理项目的工具,可以帮助项目经理和团队成员更好地协调工作,提高项目效率和质量。本文将介绍我们使用的最新版本的Microsoft Proj…

    科研百科 2024年12月28日
    0
  • 科研项目运行情况汇报

    科研项目运行情况汇报 近年来,随着科技的不断发展,科研项目已经成为推动社会进步的重要力量。在这些项目中,有许多科学研究项目,旨在探索未知的领域,推动科学技术的进步。 在项目的实施过…

    科研百科 2024年11月9日
    4
  • 【第一百三十三期】潍坊市应急管理局·《政策访谈》

    潍坊广电新媒体讯4月25日上午9:00–10:00,潍坊市应急管理局党委书记王法顺走进潍坊市广播电视台新闻广播《政策访谈》直播间,解读了应急管理等政策,并就市民关心的问…

    科研百科 2023年10月2日
    152
  • 项目管理系统哪个平台好

    项目管理系统哪个平台好 项目管理系统是一种用于管理和跟踪项目的工具,能够帮助团队更好地协作,提高工作效率,减少错误和重复工作。现在有很多平台提供项目管理系统,选择哪个平台好取决于团…

    科研百科 2025年1月8日
    0
  • 不妨给牲畜办个“身份证”

      从10月1日起,浙江省德清县畜牧兽医局开始着手让所有存栏生猪挂上二代耳标,没有二代耳标将不能领取检疫证,也就无法出栏、转运和屠宰加工。9K9   据了解,浙江省德清县此次为生猪…

    科研百科 2022年6月4日
    310
  • 公安机关组织管理条例(公安机关组织管理条例最新版本)

    公安机关组织管理条例(2006年11月1日国务院第154次常务会议通过 2006年11月13日中华人民共和国国务院令第479号公布 自2007年1月1日起施行) 来源: 司法部网站…

    科研百科 2024年1月28日
    129
  • 幕墙软件计算工程量(幕墙工程管理软件)

    幕墙工程管理软件:高效管理幕墙工程的关键 幕墙工程管理软件是一种能够帮助管理人员高效管理幕墙工程的软件。幕墙工程是建筑物的重要组成部分,包括玻璃、金属和石材等建筑材料的结构和安装。…

    科研百科 2024年6月4日
    58