【教你做“数据分析”】机器学习并不高深,数据收集有手就行
A-SOUL数据组
编辑于 2021年10月15日 17:51

还在为头脑简单炒不出大活而发愁吗?还在为思想浅薄只会人云亦云、拾人牙慧、鹦鹉学舌而遭人鄙夷吗? 《教你做“数据分析”》,从另一维度解读数据分析,让你成为见解独特的黑马炒作🐕🗿🗿🗿


          那么就以b站为例,教授大家如何做和b站有关的"数据分析&#​34;吧!

下面的文章将会默认你拥有某种编程环境,如果不知道什么是环境就跳过步骤1


步骤1:获取数据

        既然我们是在学习如何做数据分析,那么毫无疑问,如何搞到数据就是一个非常关键的问题,可能这里有朋友就要提出问题了,"我没有计算机知识,我只想炒作带节奏那该怎么做呢?&#​34;。这并不是问题,我们打开搜索引擎,在输入栏里面输入"b站评论爬虫&#​34;,切记如果你用的是Google和bing必须要使用国内版,否则将无法进入最伟大的编程教学网站C**N来获取最新、最潮的爬虫代码。

        百度为我们提供了10,600,000个搜索结果,我们千万不要去主词条都是英文的网站(例如git***、stack****)。主词条是英文的话,明显就是国外的网站,而b站作为一个根正苗红的中国网站,肯定是中文论坛的文章更加好用👍。

        好了,我们现在已经有了很多的资源以供参考了

        我们复制一下这些论坛里文章的代码,如果不能正确产出结果的话,也不要气馁。毕竟任何事都不能一蹴而就,我们多试几次总会有能用的代码!

        假设你已经成功获取了评论区的数据,在没有接受专业训练的条件下,我们凭空创作也是很困难的,所以我们需要找一篇文章来进行模仿学习,只有学的多了才能写出我们自己的风格。

        【数据分析范文一例】​该文章是b站vtuber区一位知名数据分析创作者创作的文章,我们暂且东施效颦一下。

        在拜读完老师的文章,对于如何写作一篇严谨可靠的数据分析文章有了一定的了解后,我们马不停蹄的进入步骤2进行下一步的学习吧💪!


步骤2:处理数据

        拥有了海量的数据,对于文章结构如何设计有了一定的了解之后我们就可以着手处理数据了😊。

如果你没有在步骤1成功或者跳过了步骤1也不要紧,我们可以适当的制作一些数据,因为不公开数据的话大家都不知道数据的真实性,这样即使你不擅长编程也可以有数据来进行创作了!接下来的文章将会默认你拥有了一定格式的数据。

        这里存在一个问题,如果我们是自己制作的数据那该怎么办呢?因为我们自己适当创作的数据可能存在一些问题,很容易被人揪出来。那么对于这种获取难度较低的数据,我推荐大家可以通过计算器和打开对应up的动态页面,一条一条的计算出来最后的总值,这样人工计算也有效的避免了程序中存在bug。如此下来我们就可以保证第一步的数据不会出错,这也契合文章是"龙头&#​34;,"猪肚&#​34;,"凤尾&#​34;的结构,而且如果第一条数据就出破绽了的话,那么炒作生涯大概就结束了吧。

        接下来,根据我们辛勤计算的数据以及程序获取(或者自己制作的数据)就可以绘制多种多样的图像了,我们进入步骤3!

步骤3:绘制图像

      在本步骤中,我们将跟随范文的格式一步一步的进行复现。

第一步:总览图绘制

        绘制一个总览图,由于我们在步骤2:获取数据中,获取了文章开头的准确数据,我们还可以去百度上面,随便找个画图网站来进行画图。如果你精通excel那么就更好了,我们就可以像范文中的例子一样,用excel来完成部分精美的绘图了!

        如果你已经通过计算器算出了每天动态/视频的评论数字,也绘制了相应的图片,那么就可以发现你的图片和范文中的例子是差不多的,这样我们成功的完成了第一步的模仿。

如果不假设的话要一个个查关注列表,太浪费时间了

第二步:成员分类评论总数

        我们将总的数据按成员分类一下,由于这一步我们也是通过计算器加出来的完美数据,所以这一步也不会出错,连续两步的正确数据已经足够让你的读者相信你的可靠性了!

        

        这时候有的读者就要提出疑问了:"我是来学炒作的,你教了一堆费力不讨好做真数据的办法简直太蠢了,有什么用呢?"这就是新手与宗师的差距了!我们看看范文中的图,乍一看数据准确,太有说服力了,接着又进行了一个斗虫,似乎没有任何破绽。但是我们打开我们计算的密密麻麻的小本本就可以看见,范文的这张图似乎没有考虑发布的条数不同这就是"数据分析&#​34;的第一要义,选择性的发布事实!只有这样的处理,才能让你抓住读者的眼球,继续阅读下去。

第三步:首次评论时间

        我们从另一个维度首次评论的时间再切割一次数据,这个时候通过前两步的铺垫,我们就可以进一步对数据进行魔改表示了。

        在本步中,范文中抛出了一个高深的概念"河流图&#​34;,似乎非常专业,同时在辅以对图片的解释,一下子就在读者心目中立住了高深莫测的数据分析高手形象,同时,这也是范文的一个点睛之笔。

        我们来做一道常识题就可以知道宗师的内功有多么深厚了。

        假设你有5瓶水,一个空的水缸,接着第一天倒进去一瓶,第二天倒进去一瓶,以此类推。侧面反映了持续有新水加入了水缸         ·其中最后一瓶水上升的比例相较以往的比例不是很明显         ·第一瓶水倒进去之后,水的改变比例最大,目前稳定在20%上下         假设你有5瓶水,一个空的水缸,接着第一天倒进去半瓶,第二天倒进去半瓶,以此类推。侧面反映了持续有新水加入了水缸         ·其中最后一瓶水上升的比例相较以往的比例不是很明显         ·第一瓶水倒进去之后,水的改变比例最大,目前稳定在10%上下

        不难看出,如何划分,可以显著的影响你的结论。这就是第二奥义了,通过错误的处理数据来得出你想要的结论。

第四步:粉丝评论数量

        在粉丝评论数量上再次切分数据,这里就比较简单了,没什么可说的。不过我们可以丢出几个倒霉蛋当乐子,让他们好好的被恶心一下,这也是我们炒作生涯的一部分。

第五步:评论区词云

        重头戏来了,在上面几步渐进的操作之下,读者已经对我们的创作结果深信不疑了。接下来我们自己创造的数据就可以发挥作用了。

        如何制作一个词云呢?

        我们要切分词汇,然后统计词汇的数量交给相关的程序或者/网站来绘图。

        在步骤1中我们获取了大量的查资料经验,这明显不是问题了,真正的问题是如何切分词汇。机器显然不会汉语,那我们就要找一个词典交给机器,让他"学习&#​34;一下汉语里都有什么词汇,然后去每个句子里把词汇找出来。那么对于一个比较复杂、新生的网络用语系统,网络上似乎没有现成的词典去让我们获得。

        这就是思维定势了,我们无法获得机器切分的正确数据,但是我们可以自己创造数据,比如随便写几个

篡改:160,数据:200,炒作:800,4001:1000

然后还有一个问题,如果去此团体数据组的专栏,就会发现他们的词云似乎“高清一点”,词也多一点,但是我们编这么多太辛苦了,少编几个差不多得了,应该没人看得出来😛。

第六步:粉丝昵称与等级

        在第一步中我们知道,一个一个去访问b站用户的页面去查东西是很麻烦的,但基于读者对我们的信任,我们这里也就可以直接创造了,毕竟这个东西没人做过,都是印象流

        至于词云差不多编一下也就ok了同第五步

第七步:战争统计

        虽然我们并不会画图也没有米去找画师,但是我们通过骗取他人信任来白嫖制作精美的二创图片来使用,这样既省了钱又能找人一起和你背锅分担火力。

第八步:情感分析

接下来是一位小伙伴对范文的质疑

正负向评论质疑 

收集Asoul相关的数据并做出分析,实际上是⼀件很有趣的事情。我曾经在各种各样的专栏/视频中看到过此类内 容。其中,就算有的作者在⽅法上犯了错误,在数据处理上⼿段不严谨,在结果上不够好,也未必会招致Asoul粉 丝们的批评。盖因作者们撰写此类专栏的⽬的,⽆⾮是应⽤⾃⼰所学的知识图⼀乐。然⽽,介于该⽂作者有造假数 据的恶劣⾏径在先,我也就少不得在这⾥撕破脸⽪,好好说⼀说他这个“正负向评论模型”了。 

先说结论:此模型应该归结到为行艺术领域而非机器学习领域。 

1. 情感倾向分析模型:文不对题 

        该⽂作者利⽤两千余条⾃⼰标注的数据训练了⼀个⼆分类模型,可以识别评论区中的评论情感是正向的或负向的。

        稍微有⾃然语⾔处理常识的⼈都应该知道,随着当今模型效果越来越好,训练模型所需要的数据也越来越多。⽐如最先进的GPT-3模型,总共⽤了45TB的语⾔数据来训练。那45TB是什么概念呢?换算在这:1TB=1024GB=1024 * 1024MB。⽽⼀本两百万字的⽹络⼩说,⼤⼩在5MB左右。所以,区区两千条数据是⽆论如何都不可能从头训练⼀ 个好的情感倾向分析模型的。 

        要想⽤这两千条数据做些有意义的事,只有⼀种可能:把别⼈训练好的模型拿过来,⽤这点数据微调(fine-tune)⼀下。但须知,你微调所得的模型效果,很⼤程度上取决于别⼈训练完成的模型。所以,在这种时候,深度学习⼯程师就要问⾃⼰⼀个问题:别⼈的模型到底适不适合我的场景? 

        ⾄少在Asoul这⾥,答案是否定的。 

        让我们随便搜索⼀下情感倾向分析,这是从百度智能云相关⻚⾯找到的模型定义: 

对包含主观信息的⽂本进⾏情感倾向性判断,为⼝碑分析、话题监控、舆情分析等应⽤提供帮助。还可使⽤ EasyDL定制训练平台,结合业务场景深度定制⾼精度情感倾向分析服务

        ⼝碑分析,话题监控,舆情分析。从该⻚⾯的应⽤场景标签可以看到,此类模型⼀般⽤于电商平台,它的⽬的是帮 助商家迅速找出⽤户对商品的接受程度,发掘⽤户对商品的正负反馈,乃⾄于“把握⽤户对热点信息的情感倾向性 变化”(此点存疑,因为没有找到实际的合作案例)。所以,如果你应⽤百度智能云平台的预训练模型进⾏微调, 他们能给你的原型模型,也⽆⾮就是⽤来做“汽⻋、餐饮、酒店等相关评论情感倾向性分析”的。 

        那该⽂作者拿这个模型去⼲嘛呢? 

        分析虚拟偶像评论区。 

        ⽽且是号称亚⽂化巴别塔,⿊话满地的A-soul评论区。 

        这种⾏为,就好像是在制做⾐服时,把螺丝⼑当剪⼑⽤。 

        螺丝⼑能不能裁剪布料呢?能。效果好不好呢?

        不好。 螺丝⼑只会做出没⼈愿意穿的烂⾐服。 

        类似的,这种⾏为⼜好像是⽤阅读理解思维去解⾼数题,最终只会得零分。 

        正如我们将会看到的,这种模型的训练过程及结果中充满了违和感与割裂感。四个字: ⽂不对题。

2.电商模型 VS A-SOUL评论区:解析失败 

        俗话说,光说不练假把式。所以,我们也标注了正向和负向的评论,训练了⼀个类似的模型。但是,不同于该⽂作 者的语焉不详,我会在这⾥尽量清晰地描述整个过程。 

        1. 数据抽取 

                我们从九⽉⼆⼗三号之前,asoul五⼈+官⽅的所有动态中,抽取了七千余条主评论。每条动态抽取的评论数 和此条动态的评论总数成⽐例。这样可以保证数据集的数据分布和Asoul评论区的数据分布近似。 

        2. 数据标注 

                在这七千余条评论中,我们⼿动标出了1253条正向评论,1253条负向评论。正负向评论数据数⽬相等,这样 可以防⽌类别不均衡(class imbalance)的情况出现,并且可以获得更好的结果。以下为标注规则:

正向:⼩作⽂/祝贺/发病/  负向:提建议/冲运营/冲AU/对各种事情不满/冲Asoul五⼈/纯路⼈发⾔/ 

        3. 模型训练 

                我们使⽤了百度智能提供的,EasyDL零⻔槛AI开发平台上的情感倾向分析模型进⾏微调。具体步骤是:上传 正负向评论->点击按钮->完事。我对这个平台的评价是,做的够傻⽠,但是很不⼈性化,看不到测试集的详细 结果。⽂档也写的不够周密。不过⼯单回应很快,服务态度很好。 

        4. 模型结果 

                此平台会⾃动从上传的数据中分出训练集与测试集。测试集的结果如下:

        5. 错误判断结果分析 

                模型准确率乍⼀看不错。但是在分析了判断错误的例⼦之后,你就会发现,这个模型远远没有学到它该学的东 ⻄。AU特有的反转句式它基本没办法识别,复杂的评论⾃然也不⾏。⽽关键词汇,如“⼩妹”,“梁⽊”,“冲”, “纯路⼈”,“铸币”,“⻋⻋”,模型全都没有办法理解。毕竟,它只是⼀个电商评论分析软件,⽽你只给了它区区两千余条语料,⼜怎么能奢求它学到什么东⻄呢?在这种情况下,妄图⽤此铸币模型分析AU那复杂⼜混乱评 的评论区⾥的情感倾向,只能说是不⾃量⼒。

3. 致命缺陷:正负向评论定义与中性评价 

        1. 正负向评论定义 

                如果你仔细看看我们的标注规则,那你很快就会发现,正负向的概念其实是有问题的。我个⼈理解的正向评论 是希望Asoul好,充满善意的。这种情况下,就算是提建议,温和地冲⼯具⼈,也应该是正向评价。反之,希 望Asoul早点解散的,应该算负向评价。 相对的,百度智能的模型则倾向于把提建议的评论算作负向评论(哪怕建议是温和的,因为电商要靠这个反馈 来提升商品质量) 以上两种不同标准产⽣的分歧,其根源在于,Asoul是虚拟偶像团体,不是电商。还是那句话: 电商预训练模型不能直接微调之后就⽣硬地搬到Asoul评论区来⽤。 

        2. 中性评论 

                这⾥还有另⼀个⼤问题:情感中性的评论怎么办呢? 百度智能的电商模型忽视了这⼀点,因为电商只关注⾃⼰的产品好在哪,坏在哪。⾄于某些不温不⽕的评论, 关注度就没那么⾼。 那,在虚拟主播评论区也是这样的吗? 错误的,评论区⾥不光有正向评论,负向评论。中性评论也占⾮常⾮常⼤的⼀部分。⽐如猫中毒评论区⾥,连下棋都有。这种中性评论显然不会包含在两千条训练集⾥,电商评论区也显然不会有⼈下棋玩。但是在分析整个评论区时,它们⼜是真实存在的。这种情况下,模型会对中性评论做出的反应完全 就是未知数,没⼈能预测结果。 该⽂作者给出了评论区⾥正向和负向评论的⽐例。但是,如果你考虑到其中包含了⽆数被错误分类的中性评 论,你就会发觉,他的结果其实没什么意义,因为误差实在太⼤了。 

4. 最终评价——不可燃的数据垃圾 

        综上,不论该⽂作者花没花钱跑这个模型,他都浪费时间弄出了⼀个不可燃的数据垃圾。而且这一过程还没有任何技术含量可言,只有毫无意义的鼠标点击,不如把鼠标耐久度用来去玩暗黑2重制版。

        其实上面说的你不要往心里去,只要我们脸皮够厚的话,那么就可以只学会用简单模型随便得出一个结论来装高手了。


好了,经过了一番艰苦的学习之后,我们就学会了数据分析以及机器学习

我们可以马上去进行一次大炒特炒了!


        下面是一些小伙伴的评价:

        千鹤穹华觉得他在做数据分析,那就是在做数据分析的样子,为什么你知道吗?因为跟着饭圈鹦鹉学舌,捏造事实的炒作狗做的报告,就像是一个癌症晚期患者说的话一样,他都已经这样了,你为什么不顺从他?你总要给人最后一段时间一个好的回忆吧,最后的时光了有可能。祝千鹤穹华以后未来可期,向监管机构造假数据,早日跟若子去当室友。 -Violet锐评千鹤穹华

        “在文章造假暴露的第一时刻,千鹤穹华的好友马上在贴吧发帖表示不知情并与其切割。而据他好友以及相关人士称,千鹤穹华之前也算得上是一位纯良。然而仅仅是两月时间,究竟是怎样的境遇让一位纯良堕落至此,我们不得而知”

                                                                                                                -ASOULWIKI事件留档

        办公室政治的人才,擅长在各种刁钻的角度恶心人。他有兴趣的话可以给他介绍几个竞争激烈的公司,别埋没了人才。                                                                                           -匿