今年暑假在師長同學的鼓勵下,我帶著現有的語言學知識和為數不多的coding經驗,參與了卓騰語言科技(Droidtown Linguistic Tech. Co.)的暑期實習生企劃。在這裡,我不只跟著負責人Peter和實習生們看到語言學的實際應用,還獲得許多未曾想像過的知識和體驗,與各位分享。
本次實習分為前後兩部分,包含一次期中考核。前半段講解NLP/NLU和語言學的相關概念,以及體驗操作卓騰提供的工具(斷詞系統Articut、語意理解引擎Loki等)。期中考核要求實習生彙整前四周的觀念互相討論,回答問題。通過後,後半段的四周將接續前半段所學到的知識,藉由實作Discord聊天機器人將知識轉化為實際應用。
以下是我想分享的三大 takeaway:
語言是什麼?
實習的第一階段主要是介紹語言學的背景知識和發展,並帶入自然語言處理(NLP)的觀念,再逐步進入到自然語言理解(NLU)的領域。令人印象深刻的是實習第一天,Peter劈頭就問了我們「語言是什麼?」。這才發現,我在這裡要學的還多的是。在討論過程中,實習生們會提出自己的見解,而Peter會不斷的挑戰我們提出的論述,刺激我們思考、討論,畢竟真理越辯越明。Peter說他希望培育的是「知道語言是怎麼一回事的自然語言工程師」,在卓騰的期間我也確實感受到這一點。
在每一週的討論中,「語境」的觀念開始愈顯重要。這次實習我學到的一大核心觀念是「語言的使用脫離不了語境」。有了語境,我們才能夠真正從NLP進入NLU,從使用情境為出發點,一步一步教程式看得懂人話。That's where the fun really begins!
也由於今年生成式AI和ChatGPT等大型語言模型帶起一波熱潮,這次的實習也包括了許多關於「大型語言模型」LLM的討論。我們在討論的過程中看到現在主流AI技術的虛虛實實,它的強項和弱點,以及運作方式和人類「理解」語言的差異。藉由了解這些知識,我們更了解生成式AI作為一項工具該如何應用,並發揮它的優勢幫助我們,也更清楚它其實做不到哪些事,用理性的角度看待這波席捲全球的科技浪潮。
(底下分享個好玩的)
寫code遇到問題時該如何有效溝通?在卓騰實習時,Peter提供我們一個十分好用的提問框架: 問題所在、輸入資料、預期輸出、實際輸出。
先描述問題的程式碼行數,再提供你輸入的資料以及預期的輸出,最後再觀察實際的輸出有什麼樣的問題,一比較之下就可能有初步的嘗試方向。相較於一開始的「救命,我的程式跑不出來」,這樣的描述能夠清楚的表達問題所在,也能從預期行為和實際行為的差異更快找到解決問題所需的線索。
而為了看到程式哪邊有問題以及資料的變化,編譯器提供的debugger(除錯器)在此時便派上用場。Debugger就像一個時間停止器,讓開發者能夠逐行檢視程式的表現和輸入輸出值的變化。Peter也花時間為我們講解程式debug的流程和debugger的使用。在這次實習之前,我只有耳聞這項工具的存在,但從沒有實際使用過。真正學習和使用之後才發現其效用之大,真的是獲益良多!
掌握這樣的溝通技巧並學習使用除錯工具之後,我和實習夥伴們在實作時的溝通成本大大降低。遇到問題時也能夠先自己觀察程式的表現並嘗試動手解決,而不是像無頭蒼蠅一樣瞎忙、亂猜,開發工作得以進行得更加順暢愉快。
在實習的第二階段,我們利用學到的NLP/NLU知識和Loki語意理解引擎,實作一個Discord聊天機器人。我們這組決定參考夏令營營隊客服,製作營隊客服機器人 (Camp Bot)。
開發過程中,我們的討論都離不開語境。大至系統架構的設計,小至判斷語意的某行程式碼的寫法,思考的主軸都來自於「在這個語境之下,因為這句話應該是有什麼意圖,所以機器人應該要如何回覆」。值得留意的是,機器人的所有表現都可以用上面的因果關係來清楚描述,就算出錯也可以推論是語意理解的哪一個環節出了問題。這也是以語意邏輯為基礎的系統和以巨量資料推動的LLM根本上的差別—我們模型的表現具備完整的可解釋性。
藉由實作,我體驗到從頭設計並開發一套軟體、與團隊成員討論解決問題、動手操作Git/Github版本控制系統等等的經驗。除此之外,我認為這次實作最大的價值在於重複鍛鍊「以語境為出發點的思考模式」的機會。每次機器人的語意理解或回覆出現問題的時候,我們就必須重新思考語境、意圖、語句結構、程式碼之間的因果關係,並逐步修正語意推論的因果邏輯,讓機器人的表現更加合理。不得不說,看著機器人能夠正確回答問題時,真的很有成就感! 在這邊也感謝我的實習夥伴Lancy,每每和我週五一早衝台北拚機器人的開發進度,也在營隊的參考資料部分和實作上提供偌大的協助。
我們的Camp Bot機器人也有在Github上,有興趣的可以點這邊參考!
在卓騰實習的這段期間我真的學到很多。很高興有這個機會能夠認識這麼多人,集合不同的故事和經驗,體驗腦力激盪的快感。感謝同期所有實習生們和卓騰語言科技,讓我有如此寶貴又充實的體驗!
(此篇文章亦在Medium同步更新)