告別程式設計課,MIT展示自然語言程式設計

發表於2013-07-16

程式設計正在成為數字時代的一項基本技能,對於新時代的知識工作者來說,程式設計已不僅僅是程式設計師的必修課,而是營銷人員、業務人員甚至CEO的必修課,一些必要的程式設計知識成了人們更好地理解新技術、新服務和新商業模式的第三隻眼睛。一時間“Machine Thinking”這個技術原教旨主義的極埠號,成了管理學界的流行詞彙,就連紐約市長都宣稱要精心學習一門程式語言。但是,MIT的最新研究顯示,未來人們可以拋棄過去枯燥深澀的程式語言和開發工具,轉而使用直觀簡單的自然語言。

自然語言處理(NLP)並不是一個新鮮概念,但是最近麻省理工的研究人員最近展示了幾個在辦公軟體中實現的自然語言程式設計例項,標誌著自然語言程式設計的研究獲得了突破性的進展。

隨著我們所生活的世界的數字化程度越來越高,讓普通人,而不僅僅是程式設計師也能夠掌控並DIY數字空間的想法已經不再是個空想。IFTTT和ARB實驗室都是自然語言程式設計應用的先驅。

雖然麻省理工電腦科學與人工智慧實驗室的研究人員所演示的自然語言程式設計實驗基於現有的字處理辦公軟體平臺,但是他們的方法完全可以應用於其他的程式設計環境中。

麻省理工在自然語言程式設計方面的嘗試是激動人心的,因為這將使更多的人“懂得程式設計”,並引發更為深刻的顛覆性創新。(編者按:數字世界將重新回到被邊緣化的藝術家、思想家和冒險家的手中)

雖然很多人將美國的科技創業熱潮歸功於亞馬遜AWS雲端計算降低了創業成本,但是一個容易被忽視的更加重要的刺激因素是Ruby、PHP和Python這樣更容易學習的程式語言的流行,使得更多害怕C和Java的年輕人也能夠快速開發出應用(例如祖克伯和Facebook)。

根據麻省理工電腦科學與電子工程副教授Regina Barzilay的介紹,麻省理工的自然語言程式設計實驗得出了兩個重要結論:首先,計算任務可以被翻譯成形式化的語言。雖然人們可以使用多個變數來描述一個任務,但是研究人員通過一個圖譜結構可以為自然語言與程式語言建立對映關係,正如麻省理工新聞稿中所說的:

Kushman和Barzilay的一個關鍵發現是,任何一個正規表示式都可以完美對映到自然語言,儘管這對於程式設計師來說可能不夠簡潔。通過圖譜(Graph)這樣的數學結構,完全有可能給出一個正規表示式的所有對等的自然語言表達形式。而Kushman和Barzilay的系統只需要找到將自然語言對映到符號的一條直接路徑,就可以利用圖譜找到更加簡潔的表達方式。

第二個重要的結論相對複雜,麻省理工實驗團隊開發了一個系統能夠自動學習如何根據預先的描述處理儲存在不同檔案格式中的資料,簡單來說就是該團隊開發了一種能用自然語言開發輸入分析器的系統。輸入解析器(Input parser)判斷一個檔案的那個部分包含何種資料,如果沒有輸入解析器,一個文件只是一組由0和1構成的隨機字串而已。

雖然使用自然語言開發應用距離實用還有很長的路要走,但是麻省理工人工智慧實驗室和IFTTT這樣的創業公司為自然語言程式設計美妙未來開啟了一扇窗戶。

相關文章