圖片來源: 

AWS

去年5月,AWS研究團隊已經針對較少量訓練資料的領域,用遷移學習的方法,使自然語言理解系統的錯誤率減少了平均14%,最近,AWS宣布在第33屆美國人工智慧學會舉辦的研討會中,將會針對訓練資料較少的情況,提出一項利用Alexa數百萬的未標註資料,將自然語言理解(NLU)模型錯誤率,再降低8%的新方法

開發一套自然語言理解系統,通常需要數千個例句樣本當作訓練資料,收集和手動標註這些資料相當耗時且昂貴,對於小型的開發商而言,是一項麻煩的工作,像是現在Alexa已經具備超過70,000個第三方開發商提供的技能。提升訓練效能的一項方法,就是遷移學習,遷移學習即是將具有已標註過的數據的神經網路,針對相對稀疏的數據新領域再訓練的方法,在AWS之前的論文中,是利用基本的遷移學習程序,來減少NLU系統的錯誤率。

為了能夠有效改善NLU模型,AWS研究團隊訓練了一套神經網路,來產生詞向量(embedding),該詞向量在高維度的空間中,用點表示詞彙,因此,相似功能的詞彙就會被分為同一群,原先AWS採用市面上知名的詞向量模型ELMo(Embeddings from Language Models),但是,為了讓該NLU系統能夠用於Alexa這種即時的語音助理應用,AWS簡化了產生詞向量的網路,將執行速度提升60%,並將修改過的詞向量模型稱之為ELMoL(ELMo Light)。

詞向量通常會將共同出現的詞彙分成一群,由於兩個共同出現的詞彙有更多的共通點,這兩個詞彙在詞向量中的距離就會越近,因此,詞向量就直接能夠抓取字義相似度的資訊,不需要人工手動標註訓練資訊。

大部分的詞向量網路都是透過龐大的文字資料預先訓練,也就是說,龐大的資料量確保了字義相似度的可靠性,而現在許多自然語言理解系統,就是用預先訓練的詞向量,AWS過去也是用現成的詞向量方案Fasttext,但是,AWS團隊發現,比起現成的預先訓練詞向量提供多元化文字,傳送給Alexa的請求,存在更多語言的規律,若針對這些請求的文字,訓練一個詞向量網路,將能夠更有效地利用這些規則,並且AWS也有足夠的資料能夠產生一個可靠的詞向量網路。

詞向量模型ELMo和Fasttext的差異在於對於上下文的敏感度,例如,以bark這個詞彙來說,在狗的叫聲(bark)很大聲和這棵樹的樹皮(bark)很堅硬兩個句子中,用ELMo模型應該會回傳不同的詞向量,為了有效的處理上下文資訊,AWS的ELMoL模型用雙向長短時記憶(bi-LSTMs),來預測句子中下一個出現的字,也因為Alexa接收的語言文字較統一,AWS相信可以從一層bi-LSTMs中,萃取出足夠的表現水平,也能讓執行的速度大幅地提升。

在ELMo和ELMoL的網路中,AWS用2.5億筆未標註的Alexa請求資料來訓練詞向量層,當所有的詞向量訓練完成後,再用Alexa現存的另外400萬筆未標註資料,訓練兩個標準NLU任務的網路,第一個任務是要分類用戶的意圖,第二個則是Slot的標示,也就是系統決定要連結到哪個實體概念(entity),通用用途的網路訓練完成之後,AWS會透過遷移學習技術,利用有限資料再訓練網路,進而訓練模型執行新的任務。

在這次的實驗中,研究團隊比較了用Fasttext、ELMo和ELMoL不同詞向量模型的NLU網路,就如同AWS的預期,ELMo的表現最好,但是ELMoL的表現緊追在後,能夠有效降低NLU系統錯誤率,又能應用在即時回覆的系統上。


Advertisement

更多 iThome相關內容