该学哪一门课?让用户评论数据告诉你!

作者: 飘荡的鱼头头头头头大 | 来源:发表于2017-03-03 23:03 被阅读266次

为了保证每周找点事做(争取每周写一篇),我决定对我最近在学习数据分析的某在线平台下手,研究分析下该平台收费课程的质量。我是一个在线学习重度爱好者,哪个平台都试过,也上了十几门的课,最大的感受就是线上课程的质量很重要,如果质量差的话很容易半途而废,我依稀记得在某平台上上了一门老师讲PPT的课(没错,就是某某大学的R语言课程),上着上着就睡着了......

那么,用什么标准来衡量一门课程的好坏呢?判断一门课程质量好坏的方法有很多,这一次我打算从用户评分和评论入手。因为这次研究的对象是单一平台,没有涉及到其他平台,所以这次研究重点是该平台内课程的横向对比,找出比较受欢迎的课程和好评比较多的课程。

该平台目前有13门收费课程,其中有10门课程可以在介绍页面看到用户的评论信息,具体是长这个样子的:

课程信息包括了平均打分,学习时长,技能要求
五星好评自然被放在第一页

我先把这些评论信息全部抓取了下来,汇总成一个数据集,当然了在抓取信息的时候遇到了不少困难,比如这些数据是动态js生成的,好在最后都解决了。不过有一点值得吐槽。拿其中一门课举例,该课程页面上说一共有1000多条评论,可以“view all reviews”,但是我跑完数据发现总共才300多条,然后我去页面上又手动确认了下,的确普通用户能看到公开评论也就三百多条。

评论信息

评论星级

每门课程评论打分直方图

在这张图表我们可以看到“android basics”和“front-end web developer”是最热门的两门课,评论数量相对其他课程比较多。“predictive analytics for business”由于是刚出的新课,所以评论人数相对较少。

星级百分比分布

第二张图表是每个课程的每个星级所占的百分比。比如某门课打一星的人数占了这门课程总人数的多少,然后我把所有的课程做了一个对比。整体我们可以清晰地看到,大多数的人都打了五星,比重非常之高(当然,不排除平台本身为了证明课程的优秀,所以筛选出了较多五星比重的课程,所以只有课程之间的比较才相对有意义)。四星三星两星和一星比重相对递减。根据观察,我们可以发现几个特殊值:在五星中,上过android basics这门课程的人,打五星比重最高,是所有课程中五星比重最高的。而predictive analytics这门课,打2星的人群所占比重相对其他课程较高,这个和这门课程评论里有蛮多反响不是很好的评论的现象是一致的。

评论情感分析

因为抓取下来所有课程合起来有三四千条评论,我不可能每一条去看,所以我就采用了文本情感分析的方法。文本分析情感主要有字典匹配法和机器学习,我采用了前者,因为这些评论还是比较接近social dictionary的。具体的方法就是我先从unc下载了两个数据集,分别是positive words(积极词汇)和negative words(消极词汇)集。再把现在有的每个评论拆成单独的词汇,对词汇在positive words 和 negative words中进行匹配计数,最后计算得到每门课程评论中积极和消极词汇所占的百分比。

积极情感词汇率

我们可以看到,android basics在评论积极情感方面表现依旧突出,积极情感词汇所占的比重最高,其次是machine learning,我们又看到了predictive analytics for business排在了最后。

消极情感词汇率

在消极情感方面,predictive analytics for business毫无意外的排名第一,看来差评的确有点多。令人比较惊讶的是,machine learning出现在了第三的位置,说明这门课大家的感受有点两集分化的趋势。android basics的消极情感词汇出现率是最低的,再一次证明了大家对它的喜欢程度。

总结和展望

我通过对某平台课程分析,从评分和评论两个方向研究了平台上10门课程的情况,发现android basics是表现最为优异的课程,欢迎程度较高好,好评率也高,而刚新上的predictive analytics for business反响则有些差强人意。

这次文本分析采用了字典匹配法,希望在未来能够利用机器学习法更加精确的分析情感,希望接下来有机会多学习一下这方面的知识。另外,对pandas的使用还是不够熟练,虽然能通过搜索,查阅文档找到自己需要的操作方法,但是效率太低,后期还是要加强学习,特别是建立一个框架,能够提高处理数据集的速度。最后,因为这次数据集我觉得用户主观性比较大,而且可能有平台本身的筛选干扰(为了更好的来表现课程好),不一定能够反应实际情况,仅作参考。

参考文章

An introduction to text analysis with Python

相关文章

  • 该学哪一门课?让用户评论数据告诉你!

    为了保证每周找点事做(争取每周写一篇),我决定对我最近在学习数据分析的某在线平台下手,研究分析下该平台收费课程的质...

  • 2019年智能门锁企业融资情况概览(全)

    你最看好哪一家企业?原因是?欢迎在下方评论区留言。 注: 该表格数据信息来自企查查,如有疏漏欢迎留言补充。

  • 2018-10-27

    让用户输入姓名 语文 数学 英语 三门课的成绩,然后给用户显示:xx,你的成绩,平均成绩代码 效果

  • 最近半年很少画画,仅有的几张彩铅及素描图……

    如果有缘的你看见了,可否评论区告诉我你最喜欢哪一张

  • 001--SaaS平台心得

    1.当我谈SaaS,我该谈些什么? 门店信息存储B端用户扩展C端用户扩展权限分配限制数据脱敏处理 2.数据存储 门...

  • 学会提出好问题

    《学会提问》读书笔记 大学的时候是学新闻学,记得有一门“新闻评论”的课老师说,你要多读文章,看别人的观点看多了,自...

  • React响应用户输入学习笔记——慕课网

    React响应用户输入学习笔记——慕课网 React响应用户输入慕课网视频:传送门 第1章 数据逻辑与UI的结合 ...

  • 作业

    让用户输入姓名,语数英三门课成绩,然后给用户显示;xx,你的总成绩为xx分,平均成绩为xx分

  • #笔记3-1

    #作业要求: 让用户输入姓名 语文 数学 英语 三门课的成绩,然后给用户显示:XX,你的总成绩为XX分,平均成绩为...

  • 2018-10-25 求总分,平均分

    让用户输入姓名 语文 数学 英语 三门课的成绩,然后给用户显示:XX,你的总成绩为XX分,平均成绩为XX分。

网友评论

    本文标题:该学哪一门课?让用户评论数据告诉你!

    本文链接:https://www.haomeiwen.com/subject/rmmrgttx.html