2021-12-30 20:32:16|已瀏覽:2431次
用自然語言生成代碼不算稀奇,但現在,這項技術涉及的業務范圍真是越來越廣了。
就有一個叫做Text2App的“AI”,你“喂”給它一串文字需求,它就能直接給你“消化”成安卓應用!
創建一個APP,上面有一個視頻、一個按鈕,一個文本轉語音的功能以及一個手機加速傳感器。點擊按鈕,播放視頻;搖晃手機,念出文字“happy Text2App”。
整個過程除了等編譯花上幾分鐘,無需別的代碼操作,就能直接生成下面這樣一個安卓應用:
不知廣大程序員們尤其是安卓開發,看完感覺如何?
介于文字描述和源碼之間的“中間語言”
Text2App這個框架出自加州大學洛杉磯分校和孟加拉國工程技術大學。
它不是直接將自然語言生成源碼,而是先生成中間語言,再由編譯器生成源碼。
為什么要先生成中間語言呢?
因為此前大多數根據文字描述生成程序的研究都是基于端到端的神經機器翻譯 (NMT) 模型,類似于Google 翻譯,將自然語言直接翻譯成源碼。
雖然其中一些效果還不錯,但大多數無法生成大一點的、上百行代碼的程序。
為了克服這個限制,研究人員就在這個過程發明了一個新的形式語言 (formal language)做“橋梁”。
它能“搞懂”復雜的源碼,并將用戶給定的自然語言轉換出一小部分tokens(標記),再形成一個簡單的程序表示代碼。
最后用研究人員開發的一個編譯器,就能把這個中間語言轉換成源碼。
最理解編程語言的還是編譯器,完全讓AI來生成復雜的程序還不行,所以離不開編譯器的大力支持。
當然,生成中間語言還是靠的神經機器翻譯模型。
再通過SAR編譯器將中間語言轉換成MIT App Inventor源碼文件(.scm/.bky),由MIT打包成最終可用的安卓端應用程序即可。
功能還比較初級
正如大家所料,這個框架還是比較初級,目前描述文字需要被限定在一個固定范圍:
只能描述11種組件:文本框、按鈕、標簽、播放器、時間選擇器……
能實現的事件、操作等倒是沒有明確限制,感興趣的可以具體測測能實現多少。
目前的功能也很單一,廣大安卓開發程序員們還遠遠不用擔心AI“搶飯碗”。
不過研究人員說了,最終目的是使Text2App 成為一個成熟的基于自然語言的APP開發平臺。圖片
需要多久呢?還未可知。
本文由培訓無憂網長沙牛耳教育課程顧問老師整理發布,希望能夠對想在長沙參加安卓軟件開發培訓的學生有所幫助。更多課程信息可關注培訓無憂網電腦IT培訓頻道或添加老師微信:15033336050
注:尊重原創文章,轉載請注明出處和鏈接 http://m.dedgn.cn/news-id-11337.html 違者必究!部分文章來源于網絡由培訓無憂網編輯部人員整理發布,內容真實性請自行核實或聯系我們,了解更多相關資訊請關注手機開發頻道查看更多,了解相關專業課程信息您可在線咨詢也可免費申請試課。關注官方微信了解更多:150 3333 6050