「英語流利說」是如何進行比對評分的?
最近同事介紹了」英語流利說「這個應用,試用了一下,感覺還不錯,以積分沖榜的方式,很容易調動積極性,讓學習充滿樂趣。剛做了個小實驗,用一台手機對流利說的對話進行錄音,然後回放,結果評分並不是很高,不知道這種比對評分是一種什麼機制實現的?
App:https://itunes.apple.com/cn/app/liu-li-shuo-hui-da-fen-zhi/id597364850?ls=1mt=8
看了幾個回答,感覺有必要澄清一下。
關於評分機制是否「準確」
在衡量一個機器口語評分系統是否足夠靠譜的時候,「準確率」並不適用。因為對口語好壞的評價是主觀的,往往沒有絕對的對錯。學術界一般採用比如相關性(比如皮爾森相關係數),一致性(比如Kappa coefficient)來衡量自動打分系統的性能。簡單說來,這些指標都是量化衡量機器打分是否足夠接近人的打分;通常,我們也會用平均的人與人之間的相關性、一致性來做為參照。在我們的測試中,流利說的打分系統的人機相關性、一致性已經超過了人與人之間的平均相關性、一致性。從這個角度看,流利說的評分機制是足夠「準確」的。
關於錄音回放評分不高
首先標準錄音回放評分不高並不能說明打分不科學,相反,這反應了某種程度上的「智能」(能夠區分真人錄音還是轉錄)。具體來說,流利說打分系統利用的是人直接通過手機的錄音數據做訓練的,而錄音回放經過了放音,錄音的過程,這些額外的信道引入的畸變(channel distrotrtion)自然會影響分數。
關於打分使用的演算法
學術界關於自動口語評分的演算法的研究可以追溯到90年代初。目前工業界採用的主流的跟讀口語評分方法主要是基於隱馬爾可夫模型 (Hidden Markov Model) 的語音識別引擎,利用其似然分數值 (likelihood score) 以及其他相關的信息做為評分依據。其中,最經典的GOP (Goodness of Pronunciation) 方法是由麻省理工大學的Silke Witt在他的博士論文中提出。之後的評分方法大都與GOP演算法相似,或者是由它衍生出來。流利說使用的打分演算法也正是以GOP演算法為基礎的。
此類方法都基於語音識別,但是和語音識別任務有很大區別的。在語音識別任務中,一段語音對應的文字(內容)是事先不知道的,需要由語音識別系統「猜」出來;而在打分系統中,一段語音對應的文字是事先知道的,系統需要做的是對這段語音做一個發音上的評價。
GOP演算法的基本思想正是利用了事先知道的文字信息,把語音和它對應的文字做一次強制對齊 (force alignment),並把強制對齊得到的似然分數值與在不知道對應文字情況下得到的似然分數值做一個比較,利用這個似然比(likelihood ratio)做為發音好壞的評價。
關於GOP演算法的技術細節,有相關背景的童鞋可以參看Witt的論文。直觀的來說,這類演算法計算的是輸入語音對應於已知文字的可能性,如果可能性越高,說明發音越標準。這種可能性的計算是基於語音識別中的聲學模型(acoutisc model) 的,而聲學模型往往是通過大量的母語發音人的錄音訓練而成。英語流利說打分引擎中使用的聲學模型是訓練中使用了數千美國人近萬小時的錄音。也就是說,我們的打分引擎「聽」過了幾千美國人近萬小時的錄音,從中總結出了統計特徵與規律,並利用這些規律對流利說用戶的錄音進行發音的評分。因此,一些認為流利說的打分只是做「波形比對」的看法是偏頗的;非要說「比對」的話,實際使用的比對是待打分語音與已知文字,和基於大量數據的統計模型的匹配程度的對比。
流利說的打分演算法在GOP演算法基礎上,做了很多改進與創新,打分並不是噱頭,是我們的核心競爭力之一:)
在這裡舉一個例子——之前的口語評分系統大都是在PC(電腦)上運行,或者是在線的(需要網路連接才能完成)。為了讓大家可以隨時隨地在手機和其他移動設備上練習(不論是否有網路),也為了幫助大家節約網路流量,我們在技術上做了很多研發和創新,實現了一個佔用資源很少的離線打分引擎。也就是說,用戶在使用流利說到時候,無論是否有網路連接,都可以使用口語評分功能(且不消耗任何流量),真正讓用戶「隨時隨地練習口語」並獲得即時反饋成為可能。學了它家的懂你課程,評分真的捉摸不透有段時間難度非常大,連讀發音不標準比如 there are and very 這種都基本拿不到分最好笑的是有一篇speaking我過了6天,為了校準發音,通過測試,每個句子我都跟讀結果只拿了一顆星(必須兩顆星以上才能解鎖下一單元)最後一天我真的累了,再也沒有逐句跟讀,只是聽了一遍直接測試,居然拿到了兩顆星不知道它是不是最後慈悲為懷降低了難度還是說它家口語得分其實要靠運氣,你不知道哪句你發音能蒙到最好狀態拿個80分跟你練了多少遍沒有必然關係
關於流利說的評分技術,現從以下幾個方面做出回應,解釋一下「準確性」、「打分使用的演算法」、「評分局限性」等問題。
一、準確性
關於評分機制是否足夠準確,學術界一般用相關性(比如皮爾森相關係數*)、一致性(比如Kappa coefficient*)來衡量。簡單說來,選擇一種指標,量化衡量機器打分是否足夠接近人的打分。通常,我們也會用平均的人與人之間的相關性、一致性來做為參照。在流利說的測試中,打分系統的人機相關性、一致性已經超過了人與人之間的平均相關性、一致性。從這個角度看,流利說的評分機制是足夠「準確」的。
另外,流利說打分系統是利用人直接通過手機錄音的數據做訓練的。舉個例子,如果回放標準錄音,系統打出的分不會很高。也就是說,系統可以明確區分真實語音輸入和轉錄,
二、打分使用的演算法
學術界關於自動口語評分的演算法的研究可以追溯到90年代初。目前工業界採用的主流的跟讀口語評分方法主要是基於隱馬爾可夫模型 (Hidden Markov Model) *的語音識別引擎,利用其似然分數值 (likelihood score) *以及其他相關的信息做為評分依據。
其中,最經典的GOP (Goodness of Pronunciation) *方法是由麻省理工大學的在他的博士論文中提出。之後的評分方法大都與GOP演算法相似,或者是由它衍生出來。
流利說使用的打分演算法也正是以GOP演算法為基礎的。此類方法都基於語音識別,但是和語音識別任務有很大區別的。
在語音識別任務中,一段語音對應的文字(內容)是事先不知道的,需要由語音識別系統「猜」出來;而在打分系統中,一段語音對應的文字是事先知道的,系統需要做的是對這段語音做一個發音上的評價。
GOP演算法的基本思想正是利用了事先知道的文字信息,把語音和它對應的文字做一次強制對齊 (force alignment),並把強制對齊得到的似然分數值與在不知道對應文字情況下得到的似然分數值做一個比較,利用這個似然比(likelihood ratio)做為發音好壞的評價。
三、「隨時隨地練口語」的實現
之前市面上大部分口語評分系統都是在電腦上運行或者是在線的(需要網路連接才能完成)。
為了讓大家可以隨時隨地在手機和其他移動設備上練習(不論是否有網路),也為了幫助大家節約網路流量,我們在技術上做了很多研發和創新,實現了一個佔用資源很少的離線打分引擎。
也就是說,用戶在使用流利說到時候,無論是否有網路連接,都可以使用口語評分功能(且不消耗任何流量),真正讓用戶「隨時隨地練習口語」,並且獲得即時反饋成為可能。同時,評分與反饋綜合考量了英語學習的各個方面。
四、評分局限性
目前,流利說的評分系統仍存在很多局限性。
1.受採集條件影響
用戶可能在各種條件下使用流利說,環境背景音、雜訊等,都會干擾系統對語音的判斷。系統就像人的耳朵,對於遠距離傳來的聲音、嘈雜環境下傳來的聲音、響度高低起伏的聲音,都會出現識別不清的情況,從而影響評分。目前,這還是無法完全克服的問題。
2.受硬體設備影響
由於用戶使用的硬體設備,主要是手機,質量不等,在一些較高端或者搭載高質量音效卡上的設備上,系統的語音識別效果會更好。
3.受個人發音習慣影響
個人發音習慣、口音等均會成為影響系統評分的因素。
蘋果副總裁 Philip W. Schiller 訪問流利說時曾測試產品的評分系統,作為波士頓人,他居然只得了83分。眾人分析原因才發現,原來是波士頓口音里輔音「r」在母音後面是不發音的,這一個小小的口音被系統識別出來了。這也證明,流利說的評分顆粒度已經比較精準了。
當然,對於評分技術的完善,流利說還有很長一段路要走。
相關索引:
1.皮爾森相關係數 https://zh.wikipedia.org/wiki/%E7%9A%AE%E5%B0%94%E9%80%8A%E7%A7%AF%E7%9F%A9%E7%9B%B8%E5%85%B3%E7%B3%BB%E6%95%B0
2.Kappa coefficient
https://en.wikipedia.org/wiki/Cohen%27s_kappa3.隱馬爾可夫模型 (Hidden Markov Model)
https://en.wikipedia.org/wiki/Hidden_Markov_model4.似然分數值 (likelihood score)
https://en.wikipedia.org/wiki/Likelihood_function5.GOP (Goodness of Pronunciation)
https://pdfs.semanticscholar.org/43ce/931dc1a3af1dc9ff9212cab59b92854ab06a.pdf
其實所謂的評分只是噱頭而已,說白了英語流利說的口語評分機制就是個英文語音識別系統
而語音識別系統的原理就是把聲音記錄下來後,進行頻譜分析,也就是做FFT運算,並與已經存入的信號的頻譜特徵值比較(允許一定的誤差),如果相符,就立即反應。
說的簡單點就是人念的詞語聲音的波形頻譜錄入後會和應用資料庫里已有的聲音頻譜進行比較,選取與之波形最接近的漢字打出。此類就是常見的語音識別輸出漢字(如訊飛語點的語音識別功能)
而英語流利說的英文識別原理其實也和這個一樣,只不過它是在接收某句英文語音的聲音頻譜後與資料庫里標準原句中聲音頻譜進行比對,如果你的聲音頻譜和資料庫的頻譜某個地方相差不大,即視你念得發音為準,便顯示為綠色,若某個單詞兩者頻譜某個地方相差較大,即視你念得發音為不準,便顯示為紅色。這是念單句時的情況。念對話的時候沒有告訴你哪個單詞念得准還是不準,但是多了評分機制,這評分其實也跟單句的道理一樣,分析對比頻譜,對屬於與資料庫標準頻譜相比在正常差異範圍內的頻譜佔總頻譜的比重來打分。
所以說歸根結底它也就是基於語音識別系統的一款偽評分英語口語學習軟體。
我自己現在也在用英語流利說,感覺有些時候我某個單詞的發音前後兩次都沒怎麼改變,但卻一次正確一次錯誤。而且我在該應用的評論里看到一條評論說他同事美國人,一口標準美式發音,但是玩了玩英語流利說的挑戰,才得了50分……真假姑且不表,反正這個評分是肯定不夠規範嚴謹的。上面說的都是泛泛而談,從技術上,英語流利說使用了http://cmusphinx.sourceforge.net/提供的PocketSphinx來實現語音識別,評分的演算法使用了動態規劃演算法,求最大順序公共子串的問題;還有一個關鍵點在於語音識別數據模型的生成,貌似英語流利說實現的不是離線的語音識別,可能是在線的
「最經典的GOP (Goodness of Pronunciation) 方法是由麻省理工大學的Silke Witt在他的博士論文中提出。」——在一樓文字後面貼心地附上了Sikle Witt的論文,論文封面寫著作者所在學校為紐納姆學院(Newnham College),而Newnham College是劍橋的一所學院,呃,而且是一個女子學院。那麼問題來了,Silke Witt博士,究竟是男是女,究竟是畢業於Newnham College,還是MIT?
不準,讀了3000分鐘的經驗總結。有些人一隻比較容易高分,比如口齒伶俐的,而聲線粗厚的,你就等死吧。你如果用beats耳機,還可以加分。至於連讀,重低音,弱讀,吞因之類,算了吧
通過測試數千美國人近萬小時總結的規律,然後根據語音強對比得出分數。似乎是有道理的。1. 那麼這些規律,已經存在【連讀有3類、省讀有4類等,劍橋出版社已經有書籍《interchange》總結出來了】,為什麼還要聽近萬小時? 2. 規律總結出來,同事還需要聲音強匹配,那麼這些規律似乎是沒有使用吶?【之所以問這些問題,是因為:讀句子,若一個詞一個詞的蹦出來,分數高到88以上;但是,當連讀、省讀都像外國人時,分數卻在88以下】。這其中仍然可以改進的地方!
我也不懂,我雅思考了6.5,它測試以後告訴我在初級水平
我想知道英語流利說用的是別家的語音評測技術還是自己開發的?
樓上的只是說了軟體使用的基礎原理,肯定不算錯。但是,要有實用價值還是有很多很多的開發工作要做的,這就是不同應用效果好壞的差別之所在。其實無需拘泥於具體的評分,只要你覺得說的越準確實是分數越高就行了。這類軟體演算法一定有個適用範圍,拿特殊用例來測試並沒有太大意義。至少到目前為止,我覺得的流利說的效果是很不錯的。
為了驗證英語流利說App智能打分系統對語調的判斷能力,選取了「你的語調正確嗎」小課程的陳述句章節。英語中的陳述句通常用降調,App示範語音也使用了降調。我使用了四種不同語調來考驗App,無法看出分數與所用語調之間的相關性。各種語調的得分幾乎相同。 測試過程見秒拍視頻。
測試英語流利說對語調的智能打分-rchrdyan的秒拍
我托福一戰110二戰112昨天測了一下告訴我我托福水平在91到101保持微笑ing
我試了一下,英語流利說實現的是離線的語音識別。由於是在需要識別某句子時才把這個句子內的單詞設成識別範圍,所以識別的很快並且識別率高。
語音評測技術是評分軟體的核心,科大訊飛算是語音界的翹楚了,唯一通過國家語委對中英口語的評定,只是不清楚哪些軟體採用該核心。
我也在找這塊資料
無論評分標準如何,這個軟體確實非常調動說的積極性,也會讓學習者精力集中,這點就很值得推薦。我
誰知道英語流利說用的是哪家的語音評測技術?
這個評分機制顯然是不準的。結果是有問題的。我和同事都裝了英語流利說,兩台手機放在一起,一台按錄音鍵,另一台按播放原音,放出來聽著也是一模一樣的原音,可就這樣還是只打了六七十分,就從這點,就知道它的打分有多不靠譜了。這種對話練習當然有它的作用在,引入評分機制可以更好玩,但這分數真心不能當回事。確實是「偽評分」。
推薦閱讀:
※英語口語中常用俚語都有哪些?日常交流的信息中都有哪些常用縮寫?
※怎麼練出較快的英語語速?
※She used to sit reading .... 這裡為啥是reading呢?
※為什麼所有「o」在英音中發 /?/ 的,美音中都是 /ɑ?/?
※雅思口語考試要怎麼準備?