Python Cemotion庫快速進(jìn)行文本情感分析
臨近畢業(yè)答辯,有些人畢設(shè)還沒怎么寫,找我?guī)兔仔r完成知乎問答爬取和情感分析功能。爬蟲一小時左右就寫好并爬取完數(shù)據(jù)存到CSV里,但情感分析怎么能幾小時內(nèi)完成。我研究方向是CV,對NLP的了解只限于transfomer和常用模型的名詞,但四年的室友我還是得幫個忙。
我首先想到的是否有現(xiàn)成的Python庫可以調(diào)用,因為趕時間所以不能涉及自定義詞典、模型訓(xùn)練等花費時間長的工作,能直接用幾行代碼得出預(yù)測值。最后鎖定了SnowNLP和Cemotion。SnowNLP用的是經(jīng)典機(jī)器學(xué)習(xí)的貝葉斯算法,但已經(jīng)有七年沒有更新了;Cemotion使用的是深度學(xué)習(xí)RNN模型,最近更新時間也比較近。在未經(jīng)訓(xùn)練的情況下簡單試用后Cemotion的預(yù)測準(zhǔn)確率略高于SnowNLP。

Cemotion通過pip安裝即可,但涉及TensorFlow等庫且要下載RNN模型,我在Colab環(huán)境上下載模型花了47s,建議使用國內(nèi)鏡像安裝。
安裝好之后就通過pandas讀取CSV文件中的回答并對其進(jìn)行情感分析,將結(jié)果寫入新的CSV文件中。完整代碼如下:
幾個小時完成的情感分析過于粗糙,預(yù)測值和個人對回答的實際感受有些誤差,但應(yīng)付畢設(shè)應(yīng)該足夠,之后就是對這些數(shù)據(jù)放到web頁面可視化。
最后希望畢設(shè)不要趕ddl才寫,真的對延畢無所謂嗎。
標(biāo)簽: