本篇文章主要运用了机器学习以及Python爬虫以及nlp以及lda主题分析相关的操作内容
本文主要展示实战分析相关内容,关于理论的相关介绍不做过多展开
机器学习根据我的个人理解就是建立相关的模型,利用已有的数据对模型进行相关的训练,不断的丰富模型的准确度和适用范围。从而更加有效高效的解决问题
Python爬虫是利用网页的url链接,使用Python的相关库对网页进行解析并抓取相关的内容,从而便于进一步的分析处理
NLP主题分析和lDA主题分析都是常用的文本分析的方法,通过这两种方法可以对文本所含情感进行处理和分析
NLP(Natural Language Processing)中文是自然语言处理。本文使用的NLP主要用于情感分析,基于统计和深度学习的方法对文本进行分类。这种处理复杂中文文本的方法可以在客户编号,满意度和意见反馈等方面提供有助于市场活动和产品设计的数据
LDA分析(Latent Dirichlet Allocation).主要是用来推测文档的主题分布,将文档的主题以概率分布的形式给出。通过抽取他们的主题分布,便可以根据主题分布进行聚类或者文本分类
本文选取视频《苏炳添纪录片——为生命而奔跑》为例进行实战
实证分析部分:
(一)snownlp文本分析
1. Python爬虫
本项目在pycharm中实现。使用到的第三方库有requests,bs4,pandas,jieba.posseg,pyecharts等等。
首先要得到b站弹幕的xml文件,b站的xml网址有一个固定的格式,所以只需要获得到视频的oid值就可以了。打开b站视频连接,按住F12,通过审查元素的方式来得到弹幕的视频链接的oid值。首先点击审查元素的Network,然后点击XHR,最后在name列表中找到一数字开头的八位数的文件就是要获取的值。
获取到弹幕的xml文件,对数据进行处理和保存首先导入requests库使用request.get方法访问弹幕url获取页面数据HTML。
图4-2:弹幕oid信息储存网页信息显示
然后导入Beautifulsoup库,使用LXML解析器解析页面, 向指定视频页面发送访问请求。收到服务器的响应之后,自动爬取视频页面的标题页面码,通过页面码对指定的弹幕页面发送请求。服务器响应之后会爬取视频的弹幕信息并保存,这样就可以抓取到所有隐藏在标签里的弹幕内容。然后进行解析弹幕,将弹幕网址时间整理字典顶最后加和成列表。
收集了1月31号~2月10号11天的弹幕,总共的弹幕数量为1.1万条数据,通过构建时间序列循环抓取不同天数的弹幕保存成txt文件,然后再利用Python将txt文件转化成csv文件,以便后续的数据处理。
具体代码详见附录一。
2.数据预处理
首先将爬渠道的数据导入到pandas观察数据的初步内容。
弹幕导入
使用info查看数据是否存在缺失值。在describe前面加上include,从而让弹幕的统计分析也显示出来,具体代码如下:
http://data.info()
data.describe(include=['object','float']).T
数据探索完毕之后,首先使用snownlp这个库对