《無問西東》豆瓣短評分析
原文鏈接:《無問西東》豆瓣短評分析
微信公眾號:機器學習養成記 搜索添加微信公眾號:chenchenwings
電影《無問西東》講述了四代人清華人,在矛盾與期待中不斷找尋自我、砥礪前行的故事。上映後得到了廣泛的關注,也引發了強烈的討論。本文首先通過爬蟲技術,從豆瓣上獲得相關短評內容與打分,然後觀察打分分布,劃分正負偏好,最後進行分詞與關鍵詞提取,觀察正向、負向偏好之間關鍵詞差異。」
爬取豆瓣短評
尋找鏈接
首先在瀏覽器打開豆瓣主頁,搜索無問西東電影,可以看到下面的短評板塊,點擊「更多短評」可以進入短評的專屬頁面,此頁面是一個GET類的url:「https://movie.douban.com/subject/6874741/comments?start=0&limit=20&sort=new_score&status=P&percent_type=」,點擊「後頁」,觀察url的變化情況,可以發現每一頁顯示20條短評,通過改變url中start取值,可以轉換到不同的頁數,即第二頁短評url中start參數取值為20,因此,我們就找到了需要爬取的內容鏈接。
定位標籤
使用Chrome開發者工具,發現短評的內容在p標籤中,打分信息較為複雜,首先要找到class_=comment-item的div標籤,再找到裡面class=rating的span標籤,並根據標籤內容進行分數對應。
代碼實現
豆瓣做了相關限制,非登錄狀態下只能獲取每個電影的前220條。因此這裡以抓取前220頁短評內容為例,獲取短評內容及打分。
將文本與打分信息生成dataframe,並保存為csv文件,方便後續使用。
打分分布情況
得到了220條短評的打分數據,首先通過繪製柱狀圖,觀察各分數的比例分布。
可以看到,打2分的最多,其次為4分。這裡我們假設,4分、5分為正向偏好,1分、2分為負向偏好,3分為中立,下面分別對正向偏好和負向偏好做關鍵詞提取,觀察兩者間差別。
分詞與關鍵詞提取
分詞
中文分詞分為基於規則和基於統計兩大類,jieba分詞包結合了兩類方法,可以較方便的實現分詞。在分詞的同時,進行刪除停用詞的操作。
關鍵詞提取
jieba實現了TF-IDF和TextRank兩種關鍵詞提取演算法,指定關鍵詞個數、詞性,可返回關鍵詞和相應權重。
第一列代表了負向偏好的關鍵詞和權重,第二列代表了正向偏好和權重。可以看到,正負向偏好的關鍵詞有一定差異,負向偏好關鍵詞有「難看」,「看不下去」,「可惜」,「不行」等明顯否定傾向的詞,而正向偏好關鍵詞有「喜歡」,「好看」等可以反映出正向評論的詞。
後續操作
如上只是對於評價內容做了簡單的分析,自然語言分析分為許多方向並用廣泛應用。後續還可以進行如下操作豐富對此文本的分析:
1,畫詞雲,直觀看出正負向偏好關鍵詞的差異。
2.對正負向評論分別進行文本相似性分析。
3.通過機器學習演算法,訓練此向量,進行情感分析。
推薦文章:
用機器學習更快了解用戶(翻譯)
k折交叉驗證(R語言)
聚類(二):k-means演算法(R&python)
小案例(一):商業街抽獎
小案例(二):麵包是不是變輕了
小案例(三):調查問卷
小案例(四):銷售額下滑
微信公眾號:機器學習養成記 搜索添加微信公眾號:chenchenwings
http://weixin.qq.com/r/CEjawvrE_aeGrb6h9x0a (二維碼自動識別)
掃描二維碼,關注我們。
如需轉載,請在開篇顯著位置註明作者和出處,並在文末放置機器學習養成記二維碼和添加原文鏈接。
快來關注我們吧!
推薦閱讀:
※python爬蟲之圖片下載APP1.0
※三種 Python 網路內容抓取工具與爬蟲
※爬蟲工程師?
※跟繁瑣的命令行說拜拜!Gerapy分散式爬蟲管理框架來襲!
※簡單爬蟲的通用步驟