芥末堆芥末堆

口語評(píng)分——英語學(xué)習(xí)中的機(jī)器學(xué)習(xí)算法

作者:有道口語大師技術(shù)團(tuán)隊(duì) 發(fā)布時(shí)間:

口語評(píng)分——英語學(xué)習(xí)中的機(jī)器學(xué)習(xí)算法

作者:有道口語大師技術(shù)團(tuán)隊(duì) 發(fā)布時(shí)間:

摘要:所謂口語評(píng)分,具體來說就是給定某個(gè)句子,讓用戶進(jìn)行發(fā)音,然后按照一定的標(biāo)準(zhǔn)進(jìn)行評(píng)分。通常來說有兩大類評(píng)分方法:第一,和某個(gè)特定的發(fā)音進(jìn)行比較,和給定發(fā)音越相近得分越高;第二,用普適的標(biāo)準(zhǔn)來評(píng)價(jià)用戶發(fā)音,即只要用戶讀的是正確的、地道的,就可以得到高分。

中國(guó)有數(shù)以億計(jì)的英語學(xué)習(xí)者,移動(dòng)互聯(lián)網(wǎng)已經(jīng)成為這個(gè)產(chǎn)業(yè)新的爆發(fā)點(diǎn)??谡Z學(xué)習(xí)app為學(xué)習(xí)者提供了一個(gè)更加輕松環(huán)境和低成本的投入。一方面鼓勵(lì)用戶“大聲說出來",一方面為他們提供有效的評(píng)分反饋,指出發(fā)音中的具體錯(cuò)誤,幫助他們進(jìn)行有針對(duì)性的訓(xùn)練。

有道口語大師就是這樣一款產(chǎn)品。這個(gè)號(hào)稱最有趣的英語學(xué)習(xí)APP ,由曾出品過有道詞典、有道翻譯官的團(tuán)隊(duì)傾力打造。上線一個(gè)多月,便吸引了超過100萬的用戶。除了進(jìn)階式口語訓(xùn)練體系,游戲化設(shè)計(jì)萌寵元素受到好評(píng)之外,產(chǎn)品如何實(shí)現(xiàn)用機(jī)器學(xué)習(xí)的方法來進(jìn)行口語自動(dòng)評(píng)分,也是用戶很關(guān)心的問題。

下面有道口語大師技術(shù)團(tuán)隊(duì)將對(duì)口語評(píng)分原理進(jìn)行簡(jiǎn)單的介紹,以解大家困惑。

評(píng)價(jià)標(biāo)準(zhǔn)是什么?

所謂口語評(píng)分,具體來說就是給定某個(gè)句子,讓用戶進(jìn)行發(fā)音,然后按照一定的標(biāo)準(zhǔn)進(jìn)行評(píng)分。通常來說有兩大類評(píng)分方法:第一,和某個(gè)特定的發(fā)音進(jìn)行比較,和給定發(fā)音越相近得分越高;第二,用普適的標(biāo)準(zhǔn)來評(píng)價(jià)用戶發(fā)音,即只要用戶讀的是正確的、地道的,就可以得到高分。我們認(rèn)為第二種方法是更為準(zhǔn)確合理,因?yàn)橥瑯拥囊痪湓挷豢赡苤挥袉我坏恼_的讀法,而給定的“標(biāo)準(zhǔn)”發(fā)音更無法保證是最標(biāo)準(zhǔn)的。發(fā)音存在夸張或連讀/省略,這就使基于相似度的評(píng)分,在很多場(chǎng)景下都存在偏差。所以我們的介紹會(huì)圍繞第二種評(píng)分方法展開,解釋其中運(yùn)用的技術(shù)。

從音標(biāo)到單詞

圖1 有道口語大師跟讀題示例

目前比較流行的口語學(xué)習(xí)類軟件,都會(huì)給用戶提供單詞級(jí)別的評(píng)分反饋,但事實(shí)上,口語評(píng)分的內(nèi)部實(shí)現(xiàn)是在比單詞更小的單位——音標(biāo)上進(jìn)行的。我們?cè)谇懊嫣岬竭^,口語評(píng)分是將用戶的發(fā)音和普適的標(biāo)準(zhǔn)比較來進(jìn)行評(píng)價(jià),這個(gè)“普適”的標(biāo)準(zhǔn),是通過對(duì)成千上萬的標(biāo)準(zhǔn)發(fā)音數(shù)據(jù)進(jìn)行訓(xùn)練得到的,而音標(biāo)就是我們訓(xùn)練和比較的單元。為什么選擇音標(biāo)而不是單詞呢?首先,對(duì)于任何機(jī)器學(xué)習(xí)的算法來說,有足夠多的訓(xùn)練樣本都是至關(guān)重要的;其次,英語中有數(shù)十萬計(jì)的單詞,如果選擇單詞作為評(píng)分的單元,我們就需要對(duì)每個(gè)單詞都收集到足夠多的樣本,這是非常困難的。而音標(biāo)就不同了,標(biāo)準(zhǔn)的英語國(guó)際音標(biāo)只有48個(gè)符號(hào),因而我們只要對(duì)每個(gè)音標(biāo)符號(hào)收集數(shù)據(jù),就可以進(jìn)行模型的訓(xùn)練了。

強(qiáng)制對(duì)齊

接下來的問題就變成了:我們要如何將一個(gè)完整的句子劃分成音標(biāo)級(jí)別的數(shù)據(jù)呢?這里我們通常使用的是強(qiáng)制對(duì)齊的技術(shù)。強(qiáng)制對(duì)齊(Forced Alignment),是指給定音頻和文本,確定每個(gè)單詞(音素)的起止位置的過程。如下圖所示:我們給定一段波形,并給定該音頻對(duì)應(yīng)的文本She had a dark suit in greasy washwater all year. 通過強(qiáng)制對(duì)齊,能夠得到每個(gè)音素(即我們通常所說的音標(biāo),使用的符號(hào)和標(biāo)準(zhǔn)國(guó)際音標(biāo)略有差別)在原音頻中所處的位置。

圖2 強(qiáng)制對(duì)齊(Forced Alignment)

音頻強(qiáng)制對(duì)齊的實(shí)現(xiàn)中最常用的方法是Viterbi解碼,這是一個(gè)動(dòng)態(tài)規(guī)劃的算法。簡(jiǎn)單來說就是我們將音頻切分成一個(gè)個(gè)長(zhǎng)度很短的幀(我們稱之為一個(gè)采樣),幀的長(zhǎng)度通常取到5~10ms之間,因?yàn)槲覀冋J(rèn)為在這樣短的時(shí)間內(nèi)音頻的各種特征基本不會(huì)發(fā)生改變。我們對(duì)一個(gè)音頻的每個(gè)采樣進(jìn)行特征抽取,再和標(biāo)準(zhǔn)音標(biāo)的特征進(jìn)行相似度計(jì)算,用bi(Ot)來表示第t個(gè)采樣和第i個(gè)音標(biāo)模型的相似度。我們用δt(i)代表在采樣t的時(shí)刻當(dāng)前音頻到達(dá)音標(biāo)i的最大概率δt(i),則我們可以利用公式,由第t個(gè)采樣推算出第t+1個(gè)時(shí)刻的結(jié)果δt+1(i)。解碼過程中,t從0開始不斷遞增,直到音頻結(jié)束,最終得到各個(gè)音標(biāo)i對(duì)應(yīng)的δN(i)。

強(qiáng)制對(duì)齊是語音識(shí)別的一種特殊的、簡(jiǎn)化了的情況,由于它的簡(jiǎn)單性,強(qiáng)制對(duì)齊通常具有較高的準(zhǔn)確率(音素級(jí)別準(zhǔn)確率可達(dá)90%,單詞級(jí)別可達(dá)95%以上)。使用強(qiáng)制對(duì)齊,我們就可以對(duì)我們收集到的標(biāo)準(zhǔn)發(fā)音的數(shù)據(jù)進(jìn)行處理:根據(jù)音頻和它對(duì)應(yīng)的文本進(jìn)行強(qiáng)制對(duì)齊,得到每個(gè)音標(biāo)對(duì)應(yīng)的片段;對(duì)各個(gè)音標(biāo)收集到的樣本抽取特征并進(jìn)行訓(xùn)練。通過對(duì)大量數(shù)據(jù)進(jìn)行強(qiáng)制對(duì)齊,我們對(duì)每個(gè)音標(biāo)得到一個(gè)模型,該模型將用于后續(xù)的打分流程。

語音識(shí)別

有了音標(biāo)的模型,打分的過程就不難想到了。我們將用戶的發(fā)音也切分成一個(gè)一個(gè)的音標(biāo),再將這每個(gè)片段分別和對(duì)應(yīng)的音標(biāo)模型進(jìn)行比較,如果該片段表現(xiàn)的特征和我們?cè)跇?biāo)準(zhǔn)發(fā)音數(shù)據(jù)上訓(xùn)練得到的特征很相像,那么用戶的發(fā)音就是地道的、準(zhǔn)確的;反之,用戶就很可能讀錯(cuò)了這個(gè)音標(biāo)。我們將一個(gè)單詞的各個(gè)音標(biāo)的得分綜合起來得到一個(gè)單詞的得分,再將各個(gè)單詞的得分總和起來,就得到了整個(gè)句子的得分。同時(shí)我們通過各個(gè)音標(biāo)的得分,也可以很容易地知道用戶的哪些單詞可能讀錯(cuò)了,進(jìn)一步將這些信息反饋給用戶(如圖1所示)。

強(qiáng)制對(duì)齊可以達(dá)到很高的準(zhǔn)確率,但這必須要滿足一個(gè)前提:我們給定的文本和音頻必須是匹配的。具體來說,如果一個(gè)用戶把I am a student讀成了I was a student,我們?cè)谔幚韜as所對(duì)應(yīng)的音頻片段時(shí),會(huì)錯(cuò)誤地將它和am對(duì)應(yīng)的音標(biāo)模型進(jìn)行比對(duì),那么很可能造成后續(xù)的a和student也無法對(duì)齊到正確的位置,從而影響打分的準(zhǔn)確性。為了避免這樣的情況,通常我們?cè)谶M(jìn)行強(qiáng)制對(duì)齊之前,還會(huì)增加一個(gè)語音識(shí)別的步驟,即先判斷用戶真正讀的句子是什么,再用該結(jié)果去進(jìn)行強(qiáng)制對(duì)齊。對(duì)上面的例子而言,我們用was對(duì)應(yīng)的音標(biāo)模型去和was的音頻片段進(jìn)行對(duì)比,那么后面的兩個(gè)單詞還是可以得到正確的切分結(jié)果。同時(shí)我們根據(jù)語音識(shí)別的結(jié)果,又可以發(fā)現(xiàn)部分用戶讀錯(cuò)的單詞數(shù)據(jù)(am->was)并反饋給用戶。

1、本文是 芥末堆網(wǎng)原創(chuàng)文章,轉(zhuǎn)載可點(diǎn)擊 芥末堆內(nèi)容合作 了解詳情,未經(jīng)授權(quán)拒絕一切形式轉(zhuǎn)載,違者必究;
2、如果你也從事教育,并希望被芥末堆報(bào)道,請(qǐng)您 填寫信息告訴我們。
來源: 芥末堆
芥末堆商務(wù)合作:王老師 18710003484
  • 口語評(píng)分——英語學(xué)習(xí)中的機(jī)器學(xué)習(xí)算法 分享二維碼