你给需求文档,AI就能帮你开发安卓App
用自然语言生成代码不算稀奇 , 但现在 , 这项技术涉及的业务范围真是越来越广了 。
就有一个叫做Text2App的“AI” , 你“喂”给它一串文字需求 , 它就能直接给你“消化”成安卓应用!
本文插图
不信你看 。
这是输入的文字:
创建一个APP , 上面有一个视频、一个按钮 , 一个文本转语音的功能以及一个手机加速传感器 。 点击按钮 , 播放视频;摇晃手机 , 念出文字“happy Text2App” 。
整个过程除了等编译花上几分钟 , 无需别的代码操作 , 就能直接生成下面这样一个安卓应用:
不知广大程序员们尤其是安卓开发 , 看完感觉如何?
Text2App这个框架出自加州大学洛杉矶分校和孟加拉国工程技术大学 。
本文插图
它不是直接将自然语言生成源码 , 而是先生成中间语言 , 再由编译器生成源码 。
为什么要先生成中间语言呢?
本文插图
因为此前大多数根据文字描述生成程序的研究都是基于端到端的神经机器翻译 (NMT) 模型 , 类似于Google 翻译 , 将自然语言直接翻译成源码 。
虽然其中一些效果还不错 , 但大多数无法生成大一点的、上百行代码的程序 。
为了克服这个限制 , 研究人员就在这个过程发明了一个新的形式语言 (formal language)做“桥梁” 。
它能“搞懂”复杂的源码 , 并将用户给定的自然语言转换出一小部分tokens(标记) , 再形成一个简单的程序表示代码 。
最后用研究人员开发的一个编译器 , 就能把这个中间语言转换成源码 。
最理解编程语言的还是编译器 , 完全让AI来生成复杂的程序还不行 , 所以离不开编译器的大力支持 。
当然 , 生成中间语言还是靠的神经机器翻译模型 。
下面是“文字描述转换成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)——这就是上面说的中间语言:
再通过SAR编译器将中间语言转换成MIT App Inventor源码文件(.scm/.bky) , 由MIT打包成最终可用的安卓端应用程序即可 。
- 电子商务|懒人经济盛行 洗地机需求旺盛带火清洁电器赛道
- 创投圈|初创期行业的伪需求
- vivo|自拍正成为大众需求,vivo、小米、荣耀这四款就提升了专业度
- 红米手机|只有搞懂自己购机需求,才会买红米Note11系列?
- 华为荣耀|荣耀CEO赵明:荣耀已越过了对生存底线的需求,未来将对标苹果!
- 核能|假如人类只用太阳能做能源,能满足地球全人类的需求吗?
- |选手机就是要认准自己的需求,以下几款觉得值得考虑!
- 联发科|联发科公布2021第三季度财报:半导体需求强劲,利润翻番
- Facebook|不管用户的需求是什么,iQOO Z5x都能胜任吗?
- 华为鸿蒙系统|双十一购机需求重点是价格?品质好才是YYDS