看看男人日女人,亚洲欧美日韩日本国产三,国产精品欧美日韩区二区,妓女影库妓女网在线视频

你給需求文檔,AI就能幫你開發(fā)安卓App(app開發(fā)需求文檔怎么寫)

豐色 發(fā)自 凹非寺
量子位 報(bào)道 | 公眾號 QbitAI

自然語言生成代碼不算稀奇,但現(xiàn)在,這項(xiàng)技術(shù)涉及的業(yè)務(wù)范圍真是越來越廣了。

就有一個(gè)叫做Text2App的“AI”,你“喂”給它一串文字需求,它就能直接給你“消化”成安卓應(yīng)用!

你給需求文檔,AI就能幫你開發(fā)安卓App(app開發(fā)需求文檔怎么寫)

不信你看。

這是輸入的文字:

創(chuàng)建一個(gè)APP,上面有一個(gè)視頻、一個(gè)按鈕,一個(gè)文本轉(zhuǎn)語音的功能以及一個(gè)手機(jī)加速傳感器。點(diǎn)擊按鈕,播放視頻;搖晃手機(jī),念出文字“happy Text2App”。

整個(gè)過程除了等編譯花上幾分鐘,無需別的代碼操作,就能直接生成下面這樣一個(gè)安卓應(yīng)用:

不知廣大程序員們尤其是安卓開發(fā),看完感覺如何?

介于文字描述和源碼之間的“中間語言”

Text2App這個(gè)框架出自加州大學(xué)洛杉磯分校和孟加拉國工程技術(shù)大學(xué)。

你給需求文檔,AI就能幫你開發(fā)安卓App(app開發(fā)需求文檔怎么寫)

不是直接將自然語言生成源碼,而是先生成中間語言,再由編譯器生成源碼。

為什么要先生成中間語言呢?

你給需求文檔,AI就能幫你開發(fā)安卓App(app開發(fā)需求文檔怎么寫)

因?yàn)榇饲按蠖鄶?shù)根據(jù)文字描述生成程序的研究都是基于端到端的神經(jīng)機(jī)器翻譯 (NMT) 模型,類似于Google 翻譯,將自然語言直接翻譯成源碼。

雖然其中一些效果還不錯(cuò),但大多數(shù)無法生成大一點(diǎn)的、上百行代碼的程序。

為了克服這個(gè)限制,研究人員就在這個(gè)過程發(fā)明了一個(gè)新的形式語言 (formal language)做“橋梁”。

它能“搞懂”復(fù)雜的源碼,并將用戶給定的自然語言轉(zhuǎn)換出一小部分tokens(標(biāo)記),再形成一個(gè)簡單的程序表示代碼。

最后用研究人員開發(fā)的一個(gè)編譯器,就能把這個(gè)中間語言轉(zhuǎn)換成源碼。

最理解編程語言的還是編譯器,完全讓AI來生成復(fù)雜的程序還不行,所以離不開編譯器的大力支持。

當(dāng)然,生成中間語言還是靠的神經(jīng)機(jī)器翻譯模型。

下面是“文字描述轉(zhuǎn)換成APP”的具體流程:

你給需求文檔,AI就能幫你開發(fā)安卓App(app開發(fā)需求文檔怎么寫)

文字描述:

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”轉(zhuǎn)為“ ‘STRING0’:’Speak’ ”),然后交給一個(gè)有編碼器和解碼器的Seq2Seq神經(jīng)網(wǎng)絡(luò)翻譯成簡單的應(yīng)用程序表示(SAR)——這就是上面說的中間語言:

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

再通過SAR編譯器將中間語言轉(zhuǎn)換成MIT App Inventor源碼文件(.scm/.bky),由MIT打包成最終可用的安卓端應(yīng)用程序即可。

下面是自然語言和中間語言(SAR)自動(dòng)合成的示意圖,很直觀:

你給需求文檔,AI就能幫你開發(fā)安卓App(app開發(fā)需求文檔怎么寫)

功能還比較初級

正如大家所料,這個(gè)框架還是比較初級,目前描述文字需要被限定在一個(gè)固定范圍

只能描述11種組件:文本框、按鈕、標(biāo)簽、播放器、時(shí)間選擇器……

能實(shí)現(xiàn)的事件、操作等倒是沒有明確限制,感興趣的可以具體測測能實(shí)現(xiàn)多少。

你給需求文檔,AI就能幫你開發(fā)安卓App(app開發(fā)需求文檔怎么寫)

目前的功能也很單一,廣大安卓開發(fā)程序員們還遠(yuǎn)遠(yuǎn)不用擔(dān)心AI“搶飯碗”。

不過研究人員說了,最終目的是使Text2App 成為一個(gè)成熟的基于自然語言的APP開發(fā)平臺。

需要多久呢?還未可知。

論文地址:https://arxiv.org/abs/2104.08301
完整視頻及試玩鏈接:https://text2app.github.io/

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

— 完 —

量子位 QbitAI · 頭條號簽約

關(guān)注我們,第一時(shí)間獲知前沿科技動(dòng)態(tài)

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
在線咨詢
分享本頁
返回頂部
县级市| 盘锦市| 陈巴尔虎旗| 华池县| 大名县| 黄石市| 栾城县| 洞口县| 简阳市| 汉沽区| 合肥市| 平利县| 罗城| 调兵山市| 诏安县| 宾阳县| 资中县| 定兴县| 鄯善县| 隆林| 潢川县| 来安县| 肃北| 邛崃市| 南阳市| 辽宁省| 治多县| 旌德县| 城口县| 蛟河市| 凤山县| 四子王旗| 梅州市| 南皮县| 永修县| 东阿县| 广宁县| 龙川县| 鲁山县| 长汀县| 公主岭市|