【NLP】中文情感分类单标签
章節(jié)
背景介紹
預(yù)處理
完整的 GitHub 項(xiàng)目代碼地址:
https://github.com/sherlcok314159/ML/blob/main/nlp/practice/sentiment.md
背景介紹
這次的任務(wù)是中文的一個(gè)評(píng)論情感去向分類(lèi):
每一行一共有三個(gè)部分,第一個(gè)是索引,無(wú)所謂;第二個(gè)是評(píng)論具體內(nèi)容;第三個(gè)是標(biāo)簽,由0,1,2組成,1代表很好,2是負(fù)面評(píng)論,0應(yīng)該是情感取向中立。
數(shù)據(jù)預(yù)處理
bert模型是可以通用的,但是不同數(shù)據(jù)需要通過(guò)預(yù)處理來(lái)達(dá)到滿(mǎn)足bert輸入的標(biāo)準(zhǔn)才行。
首先,我們創(chuàng)造一個(gè)讀入自己數(shù)據(jù)的類(lèi),名為MyDataProcessor。其實(shí),這個(gè)可以借鑒一下谷歌寫(xiě)好的例子,比如說(shuō)MrpcProcessor。
首先將DataProcessor類(lèi)復(fù)制粘貼一下,然后命名為MyDataProcessor,別忘了繼承一下DataProcessor。
接下來(lái)我們以get_train_examples為例來(lái)簡(jiǎn)單介紹一下如何讀入自己的數(shù)據(jù)。
第一步我們需要讀取文件進(jìn)來(lái),這里需要注意的是中文要額外加一個(gè)utf-8編碼。
讀取好之后,這里模仿創(chuàng)建train_data為空列表,索引值為0。
代碼主體跟其他的差不多,有區(qū)別的是我們這里并沒(méi)有用DataProcessor的_read_tsv方法,所以文件分割部分我們得自己寫(xiě)。同時(shí)因?yàn)橹形拿啃薪Y(jié)束會(huì)有換行符("\n"),需要換為空白。
至于dev和test數(shù)據(jù)集處理方式大同小異,只需要將名字換一下,這里不多贅述,這里放了處理訓(xùn)練集的完整函數(shù)。
然后get_labels方法,里面寫(xiě)具體的labels,這里是0,1,2,那么就是0,1,2,注意不要忘了帶上英文引號(hào)就行。最重要的是去main(_)方法下面添加自己定義的數(shù)據(jù)處理類(lèi)別
模型去bert官方下載中文的預(yù)訓(xùn)練模型,其他的對(duì)著改改就好,相信看過(guò)我的文本分類(lèi)(https://github.com/sherlcok314159/ML/blob/main/nlp/tasks/text.md)的剩下的都不需要多說(shuō)。跑出來(lái)的結(jié)果如下,我用的是Tesla K80,白嫖Google Colab的,用時(shí)1h17min47s。
往期精彩回顧適合初學(xué)者入門(mén)人工智能的路線(xiàn)及資料下載機(jī)器學(xué)習(xí)及深度學(xué)習(xí)筆記等資料打印機(jī)器學(xué)習(xí)在線(xiàn)手冊(cè)深度學(xué)習(xí)筆記專(zhuān)輯《統(tǒng)計(jì)學(xué)習(xí)方法》的代碼復(fù)現(xiàn)專(zhuān)輯 AI基礎(chǔ)下載機(jī)器學(xué)習(xí)的數(shù)學(xué)基礎(chǔ)專(zhuān)輯溫州大學(xué)《機(jī)器學(xué)習(xí)課程》視頻 本站qq群851320808,加入微信群請(qǐng)掃碼:
總結(jié)
以上是生活随笔為你收集整理的【NLP】中文情感分类单标签的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【NLP】5 分钟理解百度 ERNIE
- 下一篇: Outlook怎么打印日历 Outloo