如何用python實現(xiàn)簡單的文本情感分析

如何用python實現(xiàn)簡單的文本情感分析,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

成都創(chuàng)新互聯(lián)公司從2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站設(shè)計制作、成都網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元曲沃做網(wǎng)站,已為上家服務(wù),為曲沃各地企業(yè)和個人服務(wù),聯(lián)系電話:18982081108

很久沒在公眾號發(fā)布新內(nèi)容,在這段時間內(nèi)沒想到有這么多python愛好者關(guān)注了我,港真的,心里很興奮激動。

今天給大家?guī)砦覄倓倢崿F(xiàn)了的簡單多文本情感分析代碼,代碼環(huán)境python3.5

原理

比如這么一句話:“這手機的畫面極好,操作也比較流暢。不過拍照真的太爛了!系統(tǒng)也不好。”


① 情感詞
要分析一句話是積極的還是消極的,最簡單最基礎(chǔ)的方法就是找出句子里面的情感詞,積極的情感詞比如:贊,好,順手,華麗等,消極情感詞比如:差,爛,壞,坑爹等。出現(xiàn)一個積極詞就+1,出現(xiàn)一個消極詞就-1。
里面就有“好”,“流暢”兩個積極情感詞,“爛”一個消極情感詞。那它的情感分值就是1+1-1+1=2. 很明顯這個分值是不合理的,下面一步步修改它。


② 程度詞
“好”,“流暢”和‘爛“前面都有一個程度修飾詞。”極好“就比”較好“或者”好“的情感更強,”太爛“也比”有點爛“情感強得多。所以需要在找到情感詞后往前找一下有沒有程度修飾,并給不同的程度一個權(quán)值。比如”極“,”無比“,”太“就要把情感分值*4,”較“,”還算“就情感分值*2,”只算“,”僅僅“這些就*0.5了。那么這句話的情感分值就是:4*1+1*2-1*4+1=3

③ 感嘆號
可以發(fā)現(xiàn)太爛了后面有感嘆號,嘆號意味著情感強烈。因此發(fā)現(xiàn)嘆號可以為情感值+2. 那么這句話的情感分值就變成了:4*1+1*2-1*4-2+1 = 1

④ 否定詞
明眼人一眼就看出最后面那個”好“并不是表示”好“,因為前面還有一個”不“字。所以在找到情感詞的時候,需要往前找否定詞。比如”不“,”不能“這些詞。而且還要數(shù)這些否定詞出現(xiàn)的次數(shù),如果是單數(shù),情感分值就*-1,但如果是偶數(shù),那情感就沒有反轉(zhuǎn),還是*1。在這句話里面,可以看出”好“前面只有一個”不“,所以”好“的情感值應(yīng)該反轉(zhuǎn),*-1。
因此這句話的準(zhǔn)確情感分值是:4*1+1*2-1*4-2+1*-1 = -1

⑤ 積極和消極分開來
再接下來,很明顯就可以看出,這句話里面有褒有貶,不能用一個分值來表示它的情感傾向。而且這個權(quán)值的設(shè)置也會影響最終的情感分值,敏感度太高了。因此對這句話的最終的正確的處理,是得出這句話的一個積極分值,一個消極分值(這樣消極分值也是正數(shù),無需使用負(fù)數(shù)了)。它們同時代表了這句話的情感傾向。所以這句評論應(yīng)該是”積極分值:6,消極分值:7“
⑥ 以分句的情感為基礎(chǔ)
再仔細(xì)一步,詳細(xì)一點,一條評論的情感分值是由不同的分句加起來的,因此要得到一條評論的情感分值,就要先計算出評論中每個句子的情感分值。這條例子評論有四個分句,因此其結(jié)構(gòu)如下([積極分值, 消極分值]):[[4, 0], [2, 0], [0, 6], [0, 1]]
以上就是使用情感詞典來進行情感分析的主要流程了,算法的設(shè)計也會按照這個思路來實現(xiàn)。

算法設(shè)計

第一步:讀取評論數(shù)據(jù),對評論進行分句。
第二步:查找對分句的情感詞,記錄積極還是消極,以及位置。
第三步:往情感詞前查找程度詞,找到就停止搜尋。為程度詞設(shè)權(quán)值,乘以情感值。
第四步:往情感詞前查找否定詞,找完全部否定詞,若數(shù)量為奇數(shù),乘以-1,若為偶數(shù),乘以1。
第五步:判斷分句結(jié)尾是否有感嘆號,有嘆號則往前尋找情感詞,有則相應(yīng)的情感值+2。
第六步:計算完一條評論所有分句的情感值,用數(shù)組(list)記錄起來。
第七步:計算并記錄所有評論的情感值。
第八步:通過分句計算每條評論的積極情感均值,消極情感均值,積極情感方差,消極情感方差。

實戰(zhàn)
這里是我參考已有代碼,結(jié)合自己需要,對代碼進行了簡單的修改。本腳本運行環(huán)境是python3.5 ,使用2.x的盆友們見諒。

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。

當(dāng)前題目:如何用python實現(xiàn)簡單的文本情感分析
標(biāo)題鏈接:http://muchs.cn/article40/iehiho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航用戶體驗、軟件開發(fā)、網(wǎng)站建設(shè)、定制網(wǎng)站、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)