亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

【Python】文本情感分析及繪制詞云

系統(tǒng) 1761 0

碼字不易,喜歡請(qǐng)點(diǎn)贊!!!

這篇文章主要分享了使用Python來對(duì)文本數(shù)據(jù)進(jìn)行情感分析以及繪制詞云。
主要步驟包括:
1.文本預(yù)處理
2.文本分詞
3.去除停用詞(這里設(shè)置為單個(gè)詞和一些常見的停用詞)
4.詞頻統(tǒng)計(jì)
5.情感分析
6.繪制詞云

首先導(dǎo)入所需的程序辦和文本數(shù)據(jù):

            
              #帶入程序包
import pandas as pd
import re
import jieba
import collections
from wordcloud import WordCloud, ImageColorGenerator, STOPWORDS
import matplotlib.pyplot as plt
from PIL import Image

#讀取數(shù)據(jù)
path = r"data.txt"
with open(path) as f:
    data = f.read()

            
          

1.使用正則表達(dá)式對(duì)文本數(shù)據(jù)進(jìn)行預(yù)處理,這里主要去除數(shù)據(jù)的一些沒用的符號(hào)

            
              # 文本預(yù)處理
pattern = re.compile(u'\t|\n|\.|-|:|;|\)|\(|\?|"')
data = re.sub(pattern, '', data)

            
          

2.使用精準(zhǔn)模式對(duì)文本進(jìn)行分詞

            
              # 文本分詞--精確模式分詞
seg_list_exact  = jieba.cut(data,cut_all = False)

            
          

3.去除停用詞,這里主要去除了一些常見的停用詞和單個(gè)詞

            
              object_list = []
# 自定義常見去除詞庫
remove_words = [u'的', u',',u'和', u'是', u'隨著', u'對(duì)于', u'對(duì)',u'等',u'能',u'都',u'。',u' ',u'、',u'中',u'在',u'了',u'通常',u'如果',u'我們',u'需要'] 
for word in seg_list_exact:
    if word not in remove_words:
        object_list.append(word)

#去除單個(gè)詞
for i in range(len(object_list)-1,-1,-1):
    if(len(object_list[i])<2):
        object_list.pop(i)

            
          

4.詞頻統(tǒng)計(jì),并輸出出現(xiàn)次數(shù)最高的100個(gè)詞

            
               # 對(duì)分詞做詞頻統(tǒng)計(jì)
word_counts = collections.Counter(object_list)
# 獲取前100最高頻的詞
word_counts_top100 = word_counts.most_common(100) 
print(word_counts_top100) 

            
          

5.情感分析,這里展示一下簡單的文本情感分析,一般文本情感分析會(huì)統(tǒng)計(jì)文本中的積極詞和消極詞次數(shù),然后最簡單的方法就是文本中積極詞量化為1,消極詞量化為-1,然后給定權(quán)重來計(jì)算文本的情感,這里展示統(tǒng)計(jì)文本中積極詞和消極詞方法。

            
              #讀取積極、消極詞庫
negPath = r"ntusd-negative.txt"
posPath = r"ntusd-positive.txt"
pos = open(posPath, encoding='utf-8').readlines()
neg = open(negPath, encoding='utf-8').readlines()
#統(tǒng)計(jì)積極、消極詞
for i in range(len(pos)):
    pos[i] = pos[i].replace('\n','').replace('\ufeff','')
for i in range(len(neg)):
    neg[i] = neg[i].replace('\n','').replace('\ufeff','')
posNum = negNum = 0
for i in range(len(object_list)):
    if(object_list[i] in pos):
        posNum = posNum + 1
    elif(object_list[i] in neg):
        negNum = negNum + 1
print('posNum:',posNum)
print('negNum:',negNum)

            
          

6.繪制詞云,展示結(jié)果,這里直接使用的是默認(rèn)圖片,如果想改變圖片的樣式,可以通過給定Image參數(shù)。

            
              #繪制詞云
my_wordcloud = WordCloud(
    background_color='white',  # 設(shè)置背景顏色
    # mask=img,  # 背景圖片
    max_words=200,  # 設(shè)置最大顯示的詞數(shù)
    stopwords=STOPWORDS,  # 設(shè)置停用詞
    # 設(shè)置字體格式,字體格式 .ttf文件需自己網(wǎng)上下載,最好將名字改為英文,中文名路徑加載可能會(huì)出現(xiàn)問題。
    font_path='simhei.ttf',
    max_font_size=100,  # 設(shè)置字體最大值
    random_state=50,  # 設(shè)置隨機(jī)生成狀態(tài),即多少種配色方案
    ##提高清晰度
    width=1000,height=600,
    min_font_size=20,
).generate_from_frequencies(word_counts)

# 顯示生成的詞云圖片
plt.imshow(my_wordcloud)
plt.axis('off')
plt.show()

            
          

【Python】文本情感分析及繪制詞云_第1張圖片
自定義背景圖:
【Python】文本情感分析及繪制詞云_第2張圖片

            
              img = plt.imread(r"C:\Users\vivalavida\Desktop\pp.jpg")
#繪制詞云
my_wordcloud = WordCloud(
    background_color='white',  # 設(shè)置背景顏色
    mask=img,  # 背景圖片
    max_words=200,  # 設(shè)置最大顯示的詞數(shù)
    stopwords=STOPWORDS,  # 設(shè)置停用詞
    # 設(shè)置字體格式,字體格式 .ttf文件需自己網(wǎng)上下載,最好將名字改為英文,中文名路徑加載可能會(huì)出現(xiàn)問題。
    font_path='simhei.ttf',
    max_font_size=100,  # 設(shè)置字體最大值
    random_state=50,  # 設(shè)置隨機(jī)生成狀態(tài),即多少種配色方案
    ##提高清晰度
    width=1000,height=600,
    min_font_size=20,
).generate_from_frequencies(word_counts)

# 顯示生成的詞云圖片

plt.imshow(my_wordcloud, interpolation='bilinear')
plt.axis('off')
plt.show()

            
          

結(jié)果:
【Python】文本情感分析及繪制詞云_第3張圖片
圖片保存到本地:

            
              my_wordcloud.to_file(r"wordcloud1.png")

            
          

保存到本地之后圖片質(zhì)量熱別高:
【Python】文本情感分析及繪制詞云_第4張圖片


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 欧美日韩一区二区高清免费视频 | 午夜在线成人 | 国产成+人+综合+亚洲不卡 | 久久综合亚洲一区二区三区 | 日本二区视频 | 香蕉视频网站免费观视频 | 久热精品视频在线播放 | 国产日韩在线播放 | 乱人伦中文视频在线 | 老太太毛片 | 涩涩免费播放观看在线视频 | 久草最新视频 | 久操视频免费看 | 免费看欧美一级特黄α大片 | h片免费看 | 国产欧美成人 | 久久爱伊人一区二区三区小说 | 中文字幕在线看视频一区二区三区 | 婷婷四色| 国产精品午夜在线观看 | 日韩欧美亚洲国产一区二区三区 | 久草香蕉在线视频 | 久久久久久久爱综合 | 国产精品嘿咻嘿咻在线播放 | 伊人久久综在合线亚洲91 | 九九精品视频在线观看九九 | 四虎在线精品免费高清在线 | 久久久久免费精品国产 | 欧美xxx网站| 在线观看免费av网站 | 日本不卡免费在线 | 日本一级特黄大一片免 | 国产色综合久久无码有码 | 狠狠色婷婷狠狠狠亚洲综合 | 国产精品入口麻豆 | 亚洲视频日韩 | 国产日韩在线播放 | 日韩特黄 | 波多野结衣精品一区二区三区 | 亚洲图片一区 | 在线成人欧美 |