日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > ChatGpt >内容正文

ChatGpt

AI Challenger 2018:细粒度用户评论情感分析冠军思路总结

發布時間:2024/7/5 ChatGpt 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AI Challenger 2018:细粒度用户评论情感分析冠军思路总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2018年8月-12月,由美團點評、創新工場、搜狗、美圖聯合主辦的“AI Challenger 2018全球AI挑戰賽”歷經三個多月的激烈角逐,冠軍團隊從來自全球81個國家、1000多所大學和公司的過萬支參賽團隊中脫穎而出。其中“后廠村靜靜”團隊-由畢業于北京大學的程惠閣(現已入職美團點評)單人組隊,勇奪“細粒度用戶評論情感分類”賽道的冠軍。本文系程惠閣對于本次參賽的思路總結和經驗分享,希望對大家能夠有所幫助和啟發。

背景

在2018全球AI挑戰賽中,美團點評主要負責了其中兩個頗具挑戰的主賽道賽題:細粒度用戶評論情感分析和無人駕駛視覺感知。其中NLP中心負責的細粒度用戶評論情感分析賽道,最受歡迎,參賽隊伍報名數量最多,約占整個報名團隊的五分之一。

細粒度用戶評論情感分析賽道提供了6大類、20個細分類的中文情感評論數據,標注規模難度之大,在NLP語料特別是文本分類相關語料中都屬于相當罕見,這份數據有著極其重要的科研學術以及工業應用價值。

賽題簡介

在線評論的細粒度情感分析對于深刻理解商家和用戶、挖掘用戶情感等方面有至關重要的價值,并且在互聯網行業有極其廣泛的應用,主要用于個性化推薦、智能搜索、產品反饋、業務安全等。本次比賽我們提供了一個高質量的海量數據集,共包含6大類20個細粒度要素的情感傾向。參賽人員需根據標注的細粒度要素的情感傾向建立算法,對用戶評論進行情感挖掘,組委將通過計算參賽者提交預測值和場景真實值之間的誤差確定預測正確率,評估所提交的預測算法。

1. 工具介紹

在本次比賽中,采用了自己開發的一個訓練框架,來統一處理TensorFlow和PyTorch的模型。在模型代碼應用方面,主要基于香港科技大學開源的RNet和MnemonicReader做了相應修改。在比賽后期,還加入了一個基于BERT的模型,從而提升了一些集成的效果。

2. 整體思路

整體將該問題看作20個Aspect的情感多分類問題,采用了傳統的文本分類方法,基于LSTM建模文本,End2End多Aspect統一訓練。

文本分類是業界一個較為成熟的問題,在2018年2月份,我參加了Kaggle的“作弊文本分類”比賽,當時的冠軍團隊主要依靠基于翻譯的數據增強方法獲得了成功。2018年反作弊工作中的一些實踐經驗,讓我意識到,數據是提升文本分類效果的第一關鍵。因此,我第一時間在網絡上尋找到了較大規模的大眾點評評論語料,在Kaggle比賽的時候,NLP的語言模型預訓練還沒有出現,而隨著ELMo之類模型的成功,也很期待嘗試一下預訓練語言模型在這個數據集合上的整體效果。

3. 基礎模型思路

首先,嘗試了不使用預訓練語言模型的基礎模型,基于Kaggle Toxic比賽的經驗,直接使用了當時表現最好的LSTM Encode + Pooling作為基線模型。在Kaggle的比賽中,大家實驗的普遍結果是針對中長文本的分類任務的最佳單模型,都是基于RNN(LSTM/GRU)或者部分基于RNN的模型,比如RCNN、Capsule + RNN這樣的模型,而其他的模型,比如單純的CNN結構相對表現較差,主要可能是因為RNN模型能更好地捕獲相對較長距離的順序信息。

4. 模型層面優化

在基線模型的基礎上,效仿閱讀理解常見的做法,增加了Self Attention層(計算文本到文本自身的Attention權重),并將Attention之后的輸出和原始LSTM輸出,采用Gate(RNet)或者Semantic Fusion(MnemonicReader)的方式進行融合。

5. 模型細節處理

更寬的參數更多的模型效果更好

  • LSTM效果好于GRU。
  • Hidden size 400 > 200 > 100。
  • Topk Pooling + Attention Pooling的效果好于單獨的Max或者Attention Pooling。
  • 共享層前置,Pooling層 和最后Fc層不同aspect參數獨占效果更好(來自賽后實驗,以及其他團隊經驗)。

這里推測主要原因:是這個數據集有20個Aspect,每個Aspect分4個不同的類別,所需要的參數相對較多。

三角學習率調節效果最佳

  • 參考BERT開源代碼的學習率設置帶來較大效果提升。

采用Word + Char的詞建模方式

  • 這種建模方式能結合分詞和字符粒度切分的好處,最大限度避免詞匯UNK帶來的損失。
  • 注意對比Kaggle Toxic比賽那次比賽是英文語料,對應英文,當時的實驗結果是Word + Ngram的建模效果更好,收斂更快,所以針對不同NLP任務,我們需要具體進行分析。

采用盡可能大的詞表

和其他團隊相比,我采用了更大的詞表14.4W(Jieba分詞),19.8W(Sentence Piece Unigram分詞),依靠外部大眾點評評論數據基于fastText預訓練詞向量,能夠支持更大的詞表。同時為了避免訓練過擬合,采用了只Finetune訓練中高頻的詞對低頻詞固定詞向量的處理方式。

最開始,預計情感相關的詞匯相對較少,不需要較大的詞表,但是實驗過程中發現更大的詞表相對地能夠提升性能,前提是利用較多的外部數據去比較好的刻畫訓練數據中低頻詞的向量。在理論上,我們可以采用一個盡可能大的詞表在預測過程中去盡可能的減少UNK的存在(有論文的結論是對應UNK不同的詞賦于不同隨機向量效果,好于一個固定的UNK向量。這里類似,如果我們賦予一個基于無監督外部數據,通過語言模型訓練得到的向量則效果更好)。

6. 預訓練語言模型

這部分是模型效果提升的關鍵,這里采用了ELMo Loss。在簡單嘗試了官方的ELMo版本之后,感覺速度相對比較慢,為此,采用了自己實現的一個簡化版的ELMo,實質上只使用了ELMo的Loss部分。

在當前雙層LSTM Encoder的基礎上,采用了最小代價的ELMo引入,也就是對當前模型的第一層LSTM進行基于ELMo Loss的預訓練,而Finetune的時候,模型結構和之前完全不變,只是第一層LSTM以及詞向量部分采用的ELMo預訓練的初始化結果,另外在ELMo的訓練過程中,也采用了基于fastText的詞向量參數初始化。這個設計使得ELMo訓練以及Finetune訓練的收斂,都加快了很多,只需要大概1小時的ELMo訓練,就能在下游任務產生明顯受益。值得一提的是,ELMo和Self Attention的搭配在這個數據集合效果非常好。

7. 模型集成

為了取得更好的模型多樣性,采用了多種粒度的分詞方式,在Jieba分詞的主要模型基礎上,同時引入了基于SentencePiece的多種粒度分詞。SentencePiece分詞能帶來更短的句子長度,但是分詞錯誤相對Jieba略多,容易過擬合,因此采用了只Finetune Char向量,固定詞向量的策略來避免過擬合。多種粒度的分詞配合Word + Char的建模方式帶來了很好的模型多樣性。

此外,模型維度的多樣性來源自RNet結構和MnemonicReader結構,以及BERT模型的結構的不同。

在模型選擇的時候選取了平均F1值最優的輪次模型,集成的時候采用了按Aspect效果分開加權集成的方式(權重來自Valid數據的F1分值排序)。基于以上的多樣性策略,只需要7個單模型集成就能取得較好的效果。

8. 關于BERT

在實驗中基于Char的BERT單模型,在本次比賽中并沒有取得比ELMo更好的效果,受限于512的長度和只基于Char的限制,目前看起來BERT模型在這個數據集合更容易過擬合,Train Loss下降較快,對應Valid Loss效果變差。相信通過適當的優化BERT模型能取得更好的效果。

9. 后續優化

  • F1的優化是一個有意思的方向。本次比賽中,沒有對此做特殊處理,考慮到F1是一個全局優化值,如果基于Batch強化學習,每個Batch可能很難擬合稀有樣本分布。
  • BERT的進一步優化。因為BERT出現之前,基于Transformer的模型在長文本分類效果大都是差于基于LSTM的模型的,所以如果我們按照BERT的Loss去預訓練基于LSTM而不是Transformer的模型,在分類問題層面的效果如何?另外,在這個數據集合基于Transformer的BERT,能否取得比ELMo更好的分類效果?

對話AI Challenger 2018冠軍:程惠閣

Q:談談對本次參賽的感受?

程惠閣:作為一個多年的算法從業者,我真實的感受到在AI時代,技術更新非常之快,比如席卷而來的ELMo、BERT等預訓練語言模型在工業界影響力之大。包括美團在內的很多公司都快速跟進并上線,而且取得了很好收益,因此技術人員時刻保持學習的心態是非常重要的。

而比賽和工作存在很大的不同,比賽相對更加單純明確,比賽可以使我在最短時間去學習實驗驗證一些新的技術,而在標準數據集合驗證有效的模型策略,往往在工作中也有實際的價值。對于比賽以及工作中的模型開發,我覺得比較重要的一點首先要做好細致的模型驗證部分,在此基礎上逐步開發迭代模型才有意義。比如在這次比賽中,我從一開始就監控了包括整體以及各個Aspect的包括F1、AUC、Loss等等各項指標。

Q:對學習算法的新同學有哪些建議?

程惠閣:如果有時間,可以系統地學習一些名校的深度學習相關的課程,還有很重要的一點,就是實踐,我們可以參加去學校項目或者去大公司實習,當然也可以利用AI Challenger、Kaggle這樣的競賽平臺進行實踐。

Q:為什么會選擇參加細粒度用戶評論情感分類這個賽道?

程惠閣:因為我之前參加過類似的比賽,并且做過文本分類相關的工作,對這個賽道的賽題也比較感興趣。

Q:本次比賽最有成就感的事情是什么?

程惠閣:不斷迭代提升效果帶來的成就感吧,特別是簡化版ELMo帶來的效果提升。

Q:參賽過程中,有哪些收獲和成長?

程惠閣:作為一個TensorFlow重度用戶,我學會了使用PyTorch并且體驗到PyTorch帶來的優雅與高效。體驗到了預訓練語言模型的威力。在比賽中和比賽后,我也收獲了很多志同道合的朋友,和他們的交流學習,也幫助我提高了很多。

更重要的是,因為這次比賽,我加入了美團點評這個大家庭,入職這段時間,讓我真切地感受到美團點評為了提升用戶體驗,為了讓用戶吃的更好,生活更好,在技術方面做了大量的投入。

總結

以上是生活随笔為你收集整理的AI Challenger 2018:细粒度用户评论情感分析冠军思路总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。