譯者 | 朱先忠?
審校 | 孫淑娟?
本文將展示各種流行機(jī)器學(xué)習(xí)模型和嵌入技術(shù)對(duì)馬其頓餐廳評(píng)論情感分析的有效性,探索并比較幾種經(jīng)典的機(jī)器學(xué)習(xí)模型以及包括神經(jīng)網(wǎng)絡(luò)和Transformers在內(nèi)的現(xiàn)代深度學(xué)習(xí)技術(shù)。實(shí)驗(yàn)表明,采用最新OpenAI嵌入的微調(diào)Transformers模型和深度學(xué)習(xí)模型遠(yuǎn)遠(yuǎn)優(yōu)于其他方法。?
雖然用于自然語(yǔ)言處理的機(jī)器學(xué)習(xí)模型傳統(tǒng)上側(cè)重于如英語(yǔ)和西班牙語(yǔ)等流行語(yǔ)言;但是,在不太常用語(yǔ)言的發(fā)展方面其相關(guān)機(jī)器學(xué)習(xí)模型的研究與應(yīng)用要少得多。另一方面,隨著新冠肺炎疫情導(dǎo)致電子商務(wù)的興起,馬其頓語(yǔ)等不太常見的語(yǔ)言也通過(guò)在線評(píng)論產(chǎn)生了大量數(shù)據(jù)。這為開發(fā)和訓(xùn)練馬其頓餐廳評(píng)論情感分析的機(jī)器學(xué)習(xí)模型提供了機(jī)會(huì);成功的話,這可以幫助企業(yè)更好地了解客戶情感并改善相關(guān)服務(wù)。在這項(xiàng)研究中,我們解決了這個(gè)問題帶來(lái)的挑戰(zhàn),并探索和比較了馬其頓餐廳評(píng)論中用于分析情緒的各種情感分析模型,從經(jīng)典的隨機(jī)森林到現(xiàn)代深度學(xué)習(xí)技術(shù)和Transformers等。?
首先,我們給出本文內(nèi)容的提綱:?
- 挑戰(zhàn)和數(shù)據(jù)預(yù)處理?
- 創(chuàng)建向量嵌入
- LASER嵌入?
- 多語(yǔ)言通用文本編碼器?
- OpenAI Ada v2?
- 機(jī)器學(xué)習(xí)模型
- 隨機(jī)森林?
- XGBoost?
- 支持向量機(jī)?
- 深度學(xué)習(xí)?
- Transformers?
- 結(jié)果和討論?
- 未來(lái)的工作?
- 結(jié)論?
預(yù)處理數(shù)據(jù)?
語(yǔ)言是一種獨(dú)特的人類交流工具,如果沒有適當(dāng)?shù)奶幚砑夹g(shù),計(jì)算機(jī)無(wú)法解釋語(yǔ)言。為了讓機(jī)器能夠分析和理解語(yǔ)言,我們需要以可計(jì)算處理的方式表示復(fù)雜的語(yǔ)義和詞匯信息。實(shí)現(xiàn)這一點(diǎn)的一種流行方法是使用向量表示。近年來(lái),除了特定語(yǔ)言的表示模型之外,還出現(xiàn)了多語(yǔ)言模型。這些模型可以捕獲大量語(yǔ)言上文本的語(yǔ)義上下文。?
然而,對(duì)于使用西里爾(Cyrillic)文字的語(yǔ)言,由于互聯(lián)網(wǎng)上的用戶經(jīng)常使用拉丁文字來(lái)表達(dá)自己,從而產(chǎn)生了由拉丁文字和西里爾文字組成的混合數(shù)據(jù);這樣一來(lái),就產(chǎn)生了一個(gè)額外的挑戰(zhàn)。為了應(yīng)對(duì)這一挑戰(zhàn),我使用了一家當(dāng)?shù)夭宛^的數(shù)據(jù)集,其中包含大約500條評(píng)論——其中包含拉丁語(yǔ)和西里爾語(yǔ)腳本。數(shù)據(jù)集還包括一小部分英語(yǔ)評(píng)論,這將有助于評(píng)估混合數(shù)據(jù)的表現(xiàn)。此外,在線文本可能包含需要?jiǎng)h除的符號(hào),如表情符號(hào)。因此,在執(zhí)行任何文本嵌入之前,預(yù)處理是至關(guān)重要的步驟。?
注意到,數(shù)據(jù)集包含了分布幾乎相等的正負(fù)類。為了刪除表情符號(hào),我使用了Python庫(kù)emoji,它可以輕松刪除表情符號(hào)和其他符號(hào)。?
對(duì)于西里爾文和拉丁文的問題,我將所有文本轉(zhuǎn)換為一種或另一種,這樣機(jī)器學(xué)習(xí)模型就可以在兩者上進(jìn)行測(cè)試,以比較性能。我使用“cyrtranslit”庫(kù)執(zhí)行此任務(wù)。它支持大多數(shù)西里爾字母,如馬其頓語(yǔ)、保加利亞語(yǔ)、烏克蘭語(yǔ)等。?
圖1:轉(zhuǎn)換輸出的結(jié)果?
對(duì)于我使用的嵌入模型,通常不需要?jiǎng)h除標(biāo)點(diǎn)符號(hào)、停止單詞和進(jìn)行其他文本清理。這些模型被設(shè)計(jì)用于處理自然語(yǔ)言文本,包括標(biāo)點(diǎn)符號(hào),并且當(dāng)句子保持完整時(shí),通常能夠更準(zhǔn)確地捕捉句子的意思。這樣,文本的預(yù)處理就完成了。?
矢量嵌入?
目前,沒有大規(guī)模的馬其頓語(yǔ)言描述模型可用。然而,我們可以使用基于馬其頓語(yǔ)文本訓(xùn)練的多語(yǔ)言模型。當(dāng)前,有幾種這樣的模型可用,但對(duì)于這項(xiàng)任務(wù),我發(fā)現(xiàn)LASER和多語(yǔ)言通用句子編碼器是最合適的選擇。?
LASER?
LASER(Language-Agnostic Sentence Representations)是一種生成高質(zhì)量多語(yǔ)言句子嵌入的語(yǔ)言不可知方法。LASER模型基于兩階段過(guò)程。其中,第一階段是對(duì)文本進(jìn)行預(yù)處理,包括標(biāo)記化、小寫和應(yīng)用句子。這部分是特定于語(yǔ)言的;第二階段涉及使用多層雙向LSTM將預(yù)處理的輸入文本映射到固定長(zhǎng)度的嵌入。?
在一系列基準(zhǔn)數(shù)據(jù)集上,LASER已經(jīng)被證明優(yōu)于其他流行的句子嵌入方法,如fastText和InferSent。此外,LASER模型是開源的,免費(fèi)提供,使每個(gè)人都可以輕松訪問。?
使用LASER創(chuàng)建嵌入是一個(gè)簡(jiǎn)單的過(guò)程:?
多語(yǔ)言通用句子編碼器?
多語(yǔ)言通用句子編碼器(MUSE)是由Facebook開發(fā)的用于生成句子嵌入的預(yù)訓(xùn)練模型。MUSE旨在將多種語(yǔ)言的句子編碼到一個(gè)公共空間中。?
該模型基于深度神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)使用“編碼器-解碼器”架構(gòu)來(lái)學(xué)習(xí)句子與其在高維空間中的對(duì)應(yīng)嵌入向量之間的映射。MUSE是在一個(gè)大規(guī)模的多語(yǔ)言語(yǔ)料庫(kù)上訓(xùn)練的,其中包括維基百科的文本、新聞文章和網(wǎng)頁(yè)。?
OpenAI Ada v2?
2022年底,OpenAI宣布了他們?nèi)碌淖钕冗M(jìn)嵌入模型text-embedding-ada-002(https://openai.com/blog/new-and-improved-embedding-model/)。由于此模型基于GPT-3構(gòu)建,因此具有多語(yǔ)言處理能力。為了比較西里爾文和拉丁語(yǔ)評(píng)論的結(jié)果,我決定在兩個(gè)數(shù)據(jù)集上運(yùn)行了模型:?
機(jī)器學(xué)習(xí)模型?
本節(jié)將探討用于預(yù)測(cè)馬其頓餐廳評(píng)論中情緒的各種機(jī)器學(xué)習(xí)模型。從傳統(tǒng)的機(jī)器學(xué)習(xí)模型到深度學(xué)習(xí)技術(shù),我們將研究每個(gè)模型的優(yōu)缺點(diǎn),并比較它們?cè)跀?shù)據(jù)集上的性能。?
在運(yùn)行任何模型之前,應(yīng)該先對(duì)數(shù)據(jù)進(jìn)行分割,以便針對(duì)每種嵌入類型進(jìn)行訓(xùn)練和測(cè)試。這可以通過(guò)sklearn庫(kù)輕松完成。?
隨機(jī)森林?
圖2:隨機(jī)森林分類的簡(jiǎn)化表示。構(gòu)建100個(gè)決策樹,并將結(jié)果作為每個(gè)決策樹的結(jié)果之間的多數(shù)表決進(jìn)行計(jì)算?
隨機(jī)森林是一種廣泛使用的機(jī)器學(xué)習(xí)算法,它使用決策樹集合對(duì)數(shù)據(jù)點(diǎn)進(jìn)行分類。該算法通過(guò)在完整數(shù)據(jù)集的子集和特征的隨機(jī)子集上訓(xùn)練每個(gè)決策樹來(lái)工作。在推理過(guò)程中,每個(gè)決策樹都會(huì)生成一個(gè)情緒預(yù)測(cè),最終的結(jié)果是通過(guò)對(duì)所有樹進(jìn)行多數(shù)投票獲得的。這種方法有助于防止過(guò)度擬合,并可導(dǎo)致更穩(wěn)健和準(zhǔn)確的預(yù)測(cè)結(jié)果。?
XGBoost?
圖3:基于boosting算法的順序過(guò)程。每個(gè)下一個(gè)決策樹都基于上一個(gè)決策的殘差(誤差)進(jìn)行訓(xùn)練?
XGBoost(極限梯度增強(qiáng))是一種強(qiáng)大的集成方法,主要用于表格數(shù)據(jù)。與隨機(jī)森林算法模型一樣,XGBoost也使用決策樹對(duì)數(shù)據(jù)點(diǎn)進(jìn)行分類,但方法不同。XGBoost不是一次訓(xùn)練所有樹,而是以順序的方式訓(xùn)練每棵樹,從上一棵樹所犯的錯(cuò)誤中學(xué)習(xí)。這個(gè)過(guò)程被稱為“增強(qiáng)”,這意味著將弱模型結(jié)合起來(lái),形成一個(gè)更強(qiáng)的模型。雖然XGBoost主要使用表格數(shù)據(jù)產(chǎn)生了很好的結(jié)果,但使用向量嵌入測(cè)試該模型也會(huì)很有趣。?
支持向量機(jī)?
圖4:支持向量分類的簡(jiǎn)化表示。在具有1024個(gè)輸入特征的這種情緒分析的情況下,超平面將是1023維?
支持向量機(jī)(SVM)是一種用于分類和回歸任務(wù)的流行且強(qiáng)大的機(jī)器學(xué)習(xí)算法。它的工作原理是找到將數(shù)據(jù)分成不同類的最佳超平面,同時(shí)最大化類之間的邊界。SVM對(duì)高維數(shù)據(jù)特別有用,可以使用核函數(shù)處理非線性邊界。?
深度學(xué)習(xí)?
圖5:此問題中使用的神經(jīng)網(wǎng)絡(luò)的簡(jiǎn)化表示?
深度學(xué)習(xí)是一種先進(jìn)的機(jī)器學(xué)習(xí)方法,它利用由多層和神經(jīng)元組成的人工神經(jīng)網(wǎng)絡(luò)。深度學(xué)習(xí)網(wǎng)絡(luò)在文本和圖像數(shù)據(jù)方面表現(xiàn)出色。使用Keras庫(kù)實(shí)現(xiàn)這些網(wǎng)絡(luò)是一個(gè)很簡(jiǎn)單的過(guò)程。?
在此,使用了具有兩個(gè)隱藏層和校正線性單元(ReLU)激活函數(shù)的神經(jīng)網(wǎng)絡(luò)。輸出層包含一個(gè)具有S形激活函數(shù)的神經(jīng)元,使網(wǎng)絡(luò)能夠?qū)Ψe極或消極情緒進(jìn)行二元預(yù)測(cè)。二元交叉熵?fù)p失函數(shù)與S形激活配對(duì)以訓(xùn)練模型。此外,Dropout被用于幫助防止過(guò)度擬合和改進(jìn)模型的泛化。我用各種不同的超參數(shù)進(jìn)行了測(cè)試,發(fā)現(xiàn)這種配置最適合這個(gè)問題。?
通過(guò)以下函數(shù),我們可以可視化模型的訓(xùn)練。?
圖6:示例訓(xùn)練輸出?
Transformers?
圖7:BERT大型語(yǔ)言模型的預(yù)訓(xùn)練和微調(diào)過(guò)程。(BERT原始論文地址:https://arxiv.org/pdf/1810.04805v2.pdf)?
微調(diào)Transformers是自然語(yǔ)言處理中的一種流行技術(shù),涉及調(diào)整預(yù)先訓(xùn)練的變換器模型以適應(yīng)特定任務(wù)。Transformers,如BERT、GPT-2和RoBERTa,在大量文本數(shù)據(jù)上進(jìn)行了預(yù)訓(xùn)練,能夠?qū)W習(xí)語(yǔ)言中的復(fù)雜模式和關(guān)系。然而,為了在特定任務(wù)(如情緒分析或文本分類)上表現(xiàn)良好,需要根據(jù)任務(wù)特定數(shù)據(jù)對(duì)這些模型進(jìn)行微調(diào)。?
對(duì)于這些類型的模型,不需要我們之前創(chuàng)建的向量表示,因?yàn)樗鼈冎苯犹幚順?biāo)記(直接從文本中提?。?。在馬其頓語(yǔ)的情緒分析任務(wù)中,我使用了bert-base-multilingual-uncased,這是BERT模型的多語(yǔ)言版本。?
??HuggingFace??使微調(diào)Transformers成為一項(xiàng)非常簡(jiǎn)單的任務(wù)。首先,需要將數(shù)據(jù)加載到Transformers數(shù)據(jù)集中。然后將文本標(biāo)記化,最后訓(xùn)練模型。
因此,我們成功地調(diào)整了BERT進(jìn)行情緒分析。?
實(shí)驗(yàn)結(jié)果與討論?
圖8:所有模型的結(jié)果大對(duì)比?
實(shí)驗(yàn)證明,馬其頓餐廳評(píng)論的情緒分析結(jié)果是很有希望的,從上圖中可見,其中有幾個(gè)模型獲得了很高的準(zhǔn)確性和F1分?jǐn)?shù)。實(shí)驗(yàn)表明,深度學(xué)習(xí)模型和變換器的性能優(yōu)于傳統(tǒng)的機(jī)器學(xué)習(xí)模型,如隨機(jī)森林和支持向量機(jī),盡管相差不大。使用新OpenAI嵌入的Transformers和深度神經(jīng)網(wǎng)絡(luò)成功打破了0.9精度的障礙。?
OpenAI嵌入模型textembedding-ada-002成功地極大提高了從經(jīng)典ML模型獲得的結(jié)果,尤其是在支持向量機(jī)上。本研究中的最佳結(jié)果是在深度學(xué)習(xí)模型上嵌入西里爾文文本。?
一般來(lái)說(shuō),拉丁語(yǔ)文本的表現(xiàn)比西里爾語(yǔ)文本差。盡管我最初假設(shè)這些模型的性能會(huì)更好,但考慮到拉丁語(yǔ)中類似單詞在其他斯拉夫語(yǔ)言中的流行,以及嵌入模型是基于這些數(shù)據(jù)訓(xùn)練的事實(shí),這些發(fā)現(xiàn)并不支持這一假設(shè)。?
未來(lái)的工作?
在未來(lái)的工作中,收集更多的數(shù)據(jù)以進(jìn)一步訓(xùn)練和測(cè)試模型是非常有價(jià)值的,尤其是在審查主題和來(lái)源更為多樣化的情況下。此外,嘗試將元數(shù)據(jù)(例如審閱者的年齡、性別、位置)或時(shí)間信息(例如審閱時(shí)間)等更多特征納入模型可能會(huì)提高其準(zhǔn)確性。最后,將分析擴(kuò)展到其他不太常用的語(yǔ)言,并將模型的性能與馬其頓評(píng)論中訓(xùn)練的模型進(jìn)行比較,這也將是很有意思的。?
結(jié)論?
這篇文章展示了各種流行機(jī)器學(xué)習(xí)模型和嵌入技術(shù)對(duì)馬其頓餐廳評(píng)論情感分析的有效性。探索并比較了幾種經(jīng)典的機(jī)器學(xué)習(xí)模型,如隨機(jī)森林和SVM,以及包括神經(jīng)網(wǎng)絡(luò)和Transformers在內(nèi)的現(xiàn)代深度學(xué)習(xí)技術(shù)。結(jié)果表明,采用最新OpenAI嵌入的微調(diào)Transformers模型和深度學(xué)習(xí)模型優(yōu)于其他方法,驗(yàn)證準(zhǔn)確率高達(dá)90%。?
譯者介紹?
朱先忠,51CTO社區(qū)編輯,51CTO專家博客、講師,濰坊一所高校計(jì)算機(jī)教師,自由編程界老兵一枚。?
原文標(biāo)題:??From Decision Trees to Transformers: Comparing Sentiment Analysis Models for Macedonian Restaurant Reviews??,作者:Danilo Najkov