日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python 豆瓣评论分析方法_基于Python的豆瓣影评分析——数据预处理

發布時間:2024/8/1 python 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 豆瓣评论分析方法_基于Python的豆瓣影评分析——数据预处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、數據抓取

利用python軟件,抓取豆瓣網上關于《向往的生活》的影視短評,進行網頁爬蟲,爬蟲代碼如下:import requests

import re

cookies=[cookie1,cookie2,cookie3]

url1='https://movie.douban.com/subject/26873657/comments?start='? #《向往的生活 第1季》豆瓣短評網址

url2='https://movie.douban.com/subject/27602222/comments?start='

#《向往的生活 第2季》豆瓣短評網址

url3='https://movie.douban.com/subject/30441625/comments?start='

#《向往的生活 第3季》豆瓣短評網址

urls=[url1,url2,url3]

comments=[]

for i in range(0,3):

print(urls[i])

for n in range(0,500, 20):

#獲取目標網頁

url = urls[i] +str(n) + '&limit=20&sort=new_score&status=P'

# print(url)

# print(n)

#打開目錄,并獲取內容

html =requests.get(url, cookies=cookies[i])

# print(html)

#print(html.text)

#篩選數據

data =re.findall('(.*?)', html.text)

for j inrange(len(data)):

comments.append(data[j])

print(comments)

with open('E:/熱心市民與好好先生/me/畢設/數據/data.txt','w',encoding='utf-8')as f:

#f.writelines(comments)

for comment incomments:

f.write(comment+"\n")

由于豆瓣網設有爬蟲限制頻率,所以抓取《向往的生活》三季的1468條數據作為訓練數據集,并保存為txt文件。訓練集的部分數據如下:

部分訓練集

二、數據預處理

由于原始的影評文本中可能存在與情感分析任務無關的內容以及軟件無法識別的特殊字符表情,因此要對文本進行預處理操作。數據預處理分為中文分詞和去除停用詞兩個步驟。

(1)中文分詞

中文分詞就是將一整句中文文本,經過切分形成單個單獨詞語的過程,本文采取的中文分詞工具為jieba分詞,詞與詞之間用空格隔開。import jieba? #Python載入包

def preHandler(sentence):

seg_list=jieba.cut(sentence)

f_stop=open('stopwords.txt','r')

try:

f_stop_text=f_stop.read()

finally:

f_stop.close()

f_stop_seg_list=f_stop_text.split('\n')

words=[]

for word inseg_list:

ifnot(word.strip() in f_stop_seg_list):

words.append(word)

return words

fw=open('E:/熱心市民與好好先生/me/畢設/數據/predata.txt','w', encoding='utf-8')

with open('E:/熱心市民與好好先生/me/畢設/數據/data.txt','r', encoding='utf-8') as f:

for line inf.readlines():

line=line.strip()

word=preHandler(line)

fw.write("".join(i for i in word)+"\n")

fw.close()

(2)去除停用詞

為有效提高運行時間,節省儲存空間,我們將采取去除停用詞的方法,本文采取的停用詞都是感情色彩較弱或不具有感情色彩的詞匯。數據在進行上述兩個步驟之后,形成的txt文件部分內容如下:

數據預處理部分結果

三、描述性統計

將預處理得到的數據導入到Python中,手動去除幾個出現頻率高但不包含情感的詞匯后,把文本中出現頻率較高的關鍵詞,在視覺效果上給予突出,形成關鍵詞云層。繪制詞云圖Python代碼如下:def random_color_func(word=None, font_size=None,position=None, orientation=None, font_path= None, random_state=None):

h = randint(0, 0)

s = int(0 * 0 /255.0)

l = int(0 *float(randint(60, 120)) / 255.0)

return"hsl({}, {}%, {}%)".format(h, s, l)

with open(r'predata.txt','r',encoding="utf-8") asfile1:

content ="".join(file1.readlines())

images = Image.open("ci.png") #讀取背景圖片,

maskImages = np.array(images)

wc = WordCloud(font_path="msyh.ttc",

background_color="white",

mask=maskImages,

max_words=1000,

max_font_size=300,

#color_func=random_color_func

).generate(content)

plt.imshow(wc)

plt.axis("off")

wc.to_file('laomao.png')

plt.show()

文本評論中“喜歡”、“綜藝”和“生活”屬于用戶共同的話題,文字越大表明用戶的情感越強烈,綜合以上信息,可得大多數人認為《向往的生活》這一綜藝是好看的,大多數用戶是喜歡的,節目中的大華也得到了一致好評。但詞云圖中也出現了“抄襲”、“尷尬”這些話題,說明有一部分評論者認為節目存在抄襲現象,相處模式比較尷尬,這就為創作者提供了很好的改進來源。創作者在節目原創部分有待提高,劇本和嘉賓相處模式可以更加流暢。

影視評論詞云圖

總結

以上是生活随笔為你收集整理的python 豆瓣评论分析方法_基于Python的豆瓣影评分析——数据预处理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。