原標題:專訪 | 先聲教育CTO秦龍:有限的算法與無限的新意
「在教育領域做好,不是說要把某一個特定算法做到極致,而是如何把相對成熟的技術與教育的結合做好。」
《連線》雜志在總結 2017 年人工智能領域學術研究現狀時,提到了一個擔憂,即當前大多數人工智能技術的發展都極度依賴極少數核心創新算法的支持,換句話說,算法這事,也會有「僧多粥少」的問題。的確,神經網絡不是卷積神經網絡就是循環神經網絡,處理的對象總逃不過語音、圖像、文本,而順理成章的應用思路也就智能音箱、人臉識別這么幾個。因此尚未完全成規模的淺灘市場里已經擠進了太多的重磅鯊魚型選手,藍海好像只是一個幻覺,海水一直是深紅色。
我帶著對這一觀點的認同接觸到了秦龍,先聲教育 CTO,然后感受到了這家名字里面甚至沒出現「智能」或者「科技」字樣的公司帶來的驚喜:工程師們堪稱「鬼斧神工」地把我們如數家珍的算法變出了花樣,然后給出了一個既充分利用了現階段的技術發展水平,同時具有不錯的可擴展性的發展路徑。
換句話說,他們的算法既能夠順利落地,在當下解決實打實的需求,手握日均千萬次的服務請求,同時一旦那些個 AI 算法今天畫過的餅明天真的能充饑了,也能用同樣的思路再提高一個臺階挑戰更復雜的問題。
這就是「算法的新意」的重要性。
第一個新意來自對語音識別的逆向思維。
我們印象里的語音識別任務,是存在「用戶就是上帝」的準則的:用戶說話會帶著天南地北的口音,所以開發語音輸入法的團隊要收集大量方言數據讓模型「見多識廣」;用戶總是離著麥克風很遠就開始發號施令,所以開發智能音箱的團隊要布置麥克風陣列來解決「雞尾酒會問題」。就算在標準數據集上,算法早就追上然后碾壓了人類,我們一樣會以「不會變通」,「不解決實際問題」為理由淡化它們的成就。
那么,有沒有可能換一種思路,找一個不是「算法遷就善變的人類」,而是「人類模仿標準的算法」的情景,把不會出錯、不搞特殊化的算法放在正確答案的位置,不知疲倦地給人類「找茬」?
先聲告訴我們:有,這個答案叫做口語測評。

我帶著雅思口語 8 分的自信試用了「句子跟讀」功能,被算法輕松抓出了三處心服口服的錯誤:
開頭的升降調錯誤,來自我「詞匯量不足情緒來湊」的習慣性夸張語調。 中間的標紅來自吞音連讀,就像寫慣了行書的人被強迫寫正楷總是偷漏筆劃。 特別扎心的是結尾那個「bad」:原來我發開元音不張嘴這個當年雅思主考官指出過的壞習慣,至今也沒改掉!
是的,你可以批評 AI 不能「靈活應變」,卻需要承認它永遠「盡職盡責」,它或許做起小工「宛如智障」,但變身為老師卻「有模有樣」。
口語測評背后的神經網絡和機器聽寫、智能音箱無異,都是基于 lstm RNN 的語音識別模型。評測過程里,系統會把聲音切割到音素(phoneme)級別,首先判斷「有沒有」,即語音片段中是否含有所有音素,給出完整度得分;然后判斷「對不對」,逐個對發音、重音(stress)位置以及語音語調的正確性進行軟分類,給出準確度打分;最后在句子層面,對照單詞時長的分布信息、詞之間的停頓、總體的語速,給出流利度得分。經過這一整個流程,因此,這個音素級別的模型能夠給你詳細到音素水平的修改意見,字斟句酌地和你推敲發音。

這里展示的僅僅是一個有確定性答案的客觀題,再難一些的非確定性答案半開放性題目也可以類似處理。先聲的業務針對 K12(Kindergarten to Grade 12,學齡前到高中)展開,其中非常典型的問題是中考的口頭作文:

相比于跟讀,口頭作文還要在語音識別后加上自然語言處理程序,判斷考生是否覆蓋題目所要求的要點:除了在考生的答案里尋找標準答案關鍵詞之外,也要用詞嵌入(word embedding)尋找近義詞和詞組,比如標準答案是「Basketball is good for health.」,考生用了「Playing basketball is a healthy habit.」也一樣應該得分。
第二個新意來自對機器翻譯的另類利用。
其實「平行語料」并不一定局限于兩種語言,只要是有對應關系的語句對,都可以用「編碼器-解碼器」的機器翻譯思路來解。在學界,這個思路被擴展到了問答系統的設計,而先聲選擇了另一個奇妙的語言對:「有語法錯誤的句子」和「改掉了語法錯誤的正確句子」。于是,作文批改就這樣變成了一個簡化版的機器翻譯問題。
之所以說是簡化版,是因為作文批改中通常涉及的改動范圍都比較小,沒有機器翻譯中由于不同語言的語法結構差異而產生的長句校準問題。所以,批改不需要注意力機制、甚至不需要非常消耗計算資源的深度神經網絡,哪怕是傳統的統計機器翻譯(SMT),也能取得不錯的效果。