用python實現簡單的文字情感分析

2021-08-15 11:10:52 字數 1158 閱讀 6726

情感分析就是分析一句話說得是很主觀還是客觀描述,分析這句話表達的是積極的情緒還是消極的情緒。

原理:比如這麼一句話:「這手機的畫面極好,操作也比較流暢。不過拍照真的太爛了!系統也不好。」

① 情感詞

要分析一句話是積極的還是消極的,最簡單最基礎的方法就是找出句子裡面的情感詞,積極的情感詞比如:贊,好,順手,華麗等,消極情感詞比如:差,爛,壞,坑爹等。出現乙個積極詞就+1,出現乙個消極詞就-1。

裡面就有「好」,「流暢」,「好」兩個積極情感詞,「爛」乙個消極情感詞。那它的情感分值就是1+1-1+1=2. 很明顯這個分值是不合理的,下面一步步修改它。

② 程度詞

「好」,「流暢」和『爛「前面都有乙個程度修飾詞。」極好「就比」較好「或者」好「的情感更強,」太爛「也比」有點爛「情感強得多。所以需要在找到情感詞後往前找一下有沒有程度修飾,並給不同的程度乙個權值。比如」極「,」無比「,」太「就要把情感分值*4,」較「,」還算「就情感分值*2,」只算「,」僅僅「這些就*0.5了。那麼這句話的情感分值就是:4*1+1*2-1*4+1=3

③ 感嘆號

可以發現太爛了後面有感嘆號,嘆號意味著情感強烈。因此發現嘆號可以為情感值+2,或者-2. 那麼這句話的情感分值就變成了:4*1+1*2-1*(4+2)+1 = 1//在原作的基礎上修改

④ 否定詞

明眼人一眼就看出最後面那個」好「並不是表示」好「,因為前面還有乙個」不「字。所以在找到情感詞的時候,需要往前找否定詞。比如」不「,」不能「這些詞。而且還要數這些否定詞出現的次數,如果是單數,情感分值就*-1,但如果是偶數,那情感就沒有反轉,還是*1。在這句話裡面,可以看出」好「前面只有乙個」不「,所以」好「的情感值應該反轉,*-1。

因此這句話的準確情感分值是:4*1+1*2-1*4-2+1*-1 = -1

⑤ 積極和消極分開來

⑥ 以分句的情感為基礎

以上就是使用情感詞典來進**感分析的主要流程了,演算法的設計也會按照這個思路來實現。

演算法設計

第二步:查詢對分句的情感詞,記錄積極還是消極,以及位置。

第三步:往情感詞前查詢程度詞,找到就停止搜尋。為程度詞設權值,乘以情感值。

第四步:往情感詞前查詢否定詞,找完全部否定詞,若數量為奇數,乘以-1,若為偶數,乘以1。

第五步:判斷分句結尾是否有感嘆號,有嘆號則往前尋找情感詞,有則

相應的情感值+2。補充是在情感詞加2

用python實現乙個簡單加密文字的程式

這個加密文字的程式需要以下使用者輸入 1.要加密的文字text 2.正整數prime而有效的prime值包括 1,3,5,7,9,11,15,17,19,21,23,25 3.正整數number和字母移動位置n,其中n由下式給出 primer position of each letter numb...

用Python實現簡單的Web Server

python 2中 httpserver模組被合併到python 3的http.server模組。它支援目錄瀏覽,指定埠,指定繫結位址等。方法一 直接在命令列呼叫http.server模組 python m http.server 8080 bind 127.0.0.18080 web伺服器端口號,...

用python實現簡單翻頁

一般情況下資料庫資料量太大的時候,不宜全部讀取到記憶體中。所以這裡做乙個簡單的上下翻頁的程式。usr bin python coding utf 8 author fmspider time 2018 5 28 13 54 function 翻頁 import pymysql 執行sql語句獲取資料...