就有一个叫做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)——这便是上面说的中间措辞:
<complist> <textbox> <button> string0 </button> <text2speech> </complist><code> <button1clicked> <text2speech1> <textboxtext1> </text2speech1></button1clicked> </code>
再通过SAR编译器将中间措辞转换成MIT App Inventor源码文件(.scm/.bky),由MIT打包成终极可用的安卓端运用程序即可。
下面是自然措辞和中间措辞(SAR)自动合成的示意图,很直不雅观:
功能还比较低级
正如大家所料,这个框架还是比较低级,目前描述笔墨须要被限定在一个固定例模:
只能描述11种组件:文本框、按钮、标签、播放器、韶光选择器……
能实现的事宜、操作等倒是没有明确限定,感兴趣的可以详细测测能实现多少。
目前的功能也很单一,广大安卓开拓程序员们还远远不用担心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 · 头条号签约
关注我们,第一韶光获知前沿科技动态