具體來說,目前的語音識別技術可以怎樣幫助學習者提高口語呢?
秦龍:主要是兩種方式,第壹種的目的是幫助用戶改善發音:軟件給出壹個句子,用戶讀句子,機器會通過語音識別技術來判斷妳發音對不對,給出壹個評分。
第二種方式,目前的語言學習軟件,包括 Duolingo 在內,做得都還不夠好:理想狀況下,在創建的場景下,學習者和電子設備應該可以實現自由對話,語音識別技術不但能夠識別發音是否標準,還能進行語義理解,判斷學習者的詞匯句法是否正確,這和Siri的技術有些相似,但具體如何在 Duolingo 中實現,我們還在研究中。
目前 Duolingo 網頁端已經可以做到的是:在創建的場景中,引導用戶先用文字翻譯句子,再把翻譯後的外語讀出來,機器會分別就文字翻譯和口語發音兩方面的水準進行打分。
Duolingo 目前提供超過40種語言課程,甚至包括克林貢語。語音識別技術支持其中多少種?
秦龍:目前已支持的語言有10種(英語、西班牙語、法語、德語、意大利語、葡萄牙語、荷蘭語、丹麥語、瑞典語、土耳其語),已在開發中即將上線的還有烏克蘭語和挪威語。Duolingo 在英語語音識別中投入最多,它的識別結果和打分也最準確,因為英語是目前 Duolingo 上學習人數最多的語言,占到全部流量的30-40%。
團隊目前有多少人?每種語言的語音識別需不需要開發者本身懂這種語言?
秦龍:Duolingo 語音識別團隊目前由我壹個人負責。我本人只會中文和英文,所以剛開始接觸的時候也有些忐忑。最後衡量語音識別效果的是客觀評測,所以開發者其實並不必須掌握語言本身,但對每種語言的是深入理解對開發是有很大幫助的,在細節的處理上會更準確壹些。
能不能給非技術背景的讀者解釋壹下,多語種語音識別的難度究竟在哪裏?Duolingo 每開發壹種新語言的成本如何?
秦龍:難度主要來自三方面。壹是數據非常龐雜:來自網頁端、平板、手機端的語音質量都不相同;男女老少,甚至不同文化程度的人有不同的語言習慣;朗讀和自然對話的語音數據不同;室內錄音和室外錄音也數據也不同......要將這些情況全部考慮進去,做出準確的識別結果,需要相當大的開發量。
二是不同語言有不同元素,比如中文的特點是有平仄聲調,德語的特點是可以把不同詞匯組在壹起生成壹個新詞,因此詞匯量異常的大,開發時需要根據每種語言的特點做相應調整。
三是多語種數據庫本身有很大的維護成本。
目前世界上識別語言最多的技術應該來自Google,覆蓋了40多種語言,Siri 和微軟也都能識別20多種。
就 Duolingo 來說,開發英語識別這部分用了2-3個月,其他壹些小語種(西、德、法、意)在數據到位的情況下,用2-3個星期就完成了。
Duolingo 作為壹家創業型公司,整個公司負責語音識別技術的也只有妳壹個人,沒有科技巨頭們那麽多的資源,又要開發多種語言,怎麽應對這種壓力呢?
秦龍:我們的訣竅主要是:利用壹切可以利用的免費資源。比如,我們會利用公開的Google API 在Chrome 版本的 Duolingo 中使用,省去壹部分開發資源;我們還會利用 Google Voice Search 的語音識別,不過因為我們識別需要服務於語言學習的目的,而不是搜索目的,所以使用時會在後端做壹些調整;另外,我們還會抓取壹些開源詞典的發音,並根據 Duolingo 的需求做壹些剪裁和修改。