37DATA

文本数据的挖掘分析-入门

什么是文本挖掘

在现今数据爆炸、信息质量良莠不齐的互联网时代,我们无时无刻不身处在互联网社会化媒体的“信息洪流”之中。社会化媒体上的信息对现实世界中的每个人都有重大影响 社会化媒体是我们间接了解现实客观世界和主观世界的一面窗户,我们每时每刻都在受到它的影响。大致上,可以把这些信息按认知程度分为三个大类:数据、信息、知识。

举个例子~

每到春节期间,买火车票和机票离开一线城市的人暴增 —— 数据

再匹配这些人的身份证信息,发现这些人都是从一线城市回到自己的老家 回老家跟家人团聚 —— 信息

一起过春节是中国的习俗 —— 知识

上面的例子是显而易见的,但是在实际业务中,有很多不是那么显而易见的信息,比如:

每周末流量会有规律性的上升或者下降,这是为什么?

国庆长假,使用 iPad 购物比例比平时要高,这是为什么?

……

因此需要进行进一步挖掘分析才能获得相关问题的信息或知识。所以文本挖掘的意义就是从数据中寻找有价值的信息,来发现或者解决一些实际问题

Image

文本挖掘的相关算法

  • 关键词提取:对长文本的内容进行分析,输出能够反映文本关键信息的关键词。

  • 文本摘要:许多文本挖掘应用程序需要总结文本文档,以便对大型文档或某一主题的文档集合做出简要概述。

  • 文本聚类:聚类是未标注文本中获取隐藏数据结构的技术,常见的有 K均值聚类和层次聚类。

  • 文本分类:文本分类使用监督学习的方法,以对未知数据的分类进行预测的机器学习方法。

  • 文本主题模型 LDA:LDA(Latent Dirichlet Allocation)是一种文档主题生成模型,也称为一个三层贝叶斯概率模型,包含词、主题和文档三层结构。

  • 观点抽取:对文本(主要针对评论)进行分析,抽取出核心观点,并判断极性(正负面),主要用于电商、美食、酒店、汽车等评论进行分析。

  • 情感分析:对文本进行情感倾向判断,将文本情感分为正向、负向、中性。用于口碑分析、话题监控、舆情分析。

文本挖掘的步骤

Image

  • 数据收集:例如爬虫~

  • 文本预处理:在主要的处理以前对数据进行的一些处理,剔除掉无用的噪音信息

  • 分析挖掘与可视化:对数值型数据进行描述性的统计分析,它属于较为常规的数据分析,能揭示出一些问题,做到知其然

  • 搭建模型:针对需要的分析目的进行模型算法选择与搭建

  • 模型评估:测试评估模型的准确性

文本挖掘分析

挖掘案例:基于虎嗅网4w+文章的文本挖掘分析

一、分析目的:

  1. 对虎嗅网内容运营方面的分析:例如对发文量、收藏量、评论量等方面的描述性分析;

  2. 通过文本分析,对互网行业的一些人、企业和细分领域进行分析;

  3. 展现文本挖掘在数据分析领域的实用价值

二、分析方法:

  1. 工具:python

  2. 分词、关键词提取:jieba

  3. 可视化:excel、seaborn,plotly...

三、数据采集:

爬虫采集了部分虎嗅网主页的文章 时间区间为2012.05~2017.11,共计41,121篇。采集的字段为文章标题、发布时间、收藏量、评论量、正文内容、作者名称、作者自我简介、作者发文量,然后人工提取4个特征,主要是时间特征(时点和周几)和内容长度特征(标题字数和文章字数)。

Image

四、数据预处理

        1.文本分词

中文分词是中文文本处理的一个基础步骤,也是中文人机自然语言交互的基础模块。不同于英文的是,中文句子中没有词的界限,因此在进行中文自然语言处理时,通常需要先进行分词,分词效果将直接影响词性、句法树等模块的效果。当然分词只是一个工具,场景不同,要求也不同。

      • 基于词典分词算法:

  1. 原理:字符串匹配分词算法。该算法是按照一定的策略将待匹配的字符串和一个已建立好的“充分大的”词典中的词进行匹配,若找到某个词条,则说明匹配成功,识别了该词。 

  2. 相关算法:正向最大匹配法、逆向最大匹配法和双向匹配分词法 

  3. 现状:应用最广泛、分词速度最快的。很长一段时间内研究者都在对基于字符串匹配方法进行优化,比如最大长度设定、字符串存储和查找方式以及对于词表的组织结构,比如采用TRIE索引树、哈希索引等。

  • 基于统计的机器学习算法:

  1. 原理:以CRF为例,基本思路是对汉字进行标注训练,不仅考虑了词语出现的频率,还考虑上下文,具备较好的学习能力,因此其对歧义词和未登录词的识别都具有良好的效果。 

  2. 相关算法:HMM、CRF、SVM、深度学习等算法 

常见的分词器都是使用机器学习算法和词典相结合,一方面能够提高分词准确率,另一方面能够改善领域适应性。

至于其他语种,例如英文文本与特殊的处理流程:word length、stop list、lemmatisation(am、is、are=be)、part of speech(根据词性筛选)等。

常用的分词软件:jieba,例如对句子“定位理论认为营销的终极战场在于消费者心智”进行分词:

    • 精确模式:

  1. 原理:试图将句子最精确地切开,适合文本分析 

  2. 分词结果:定位/理论/定位理论/认为/营销/的/终极/战场/终极战场/在/于/在于/消费者/心智/消费者心智

  • 搜索引擎模式

  1. 原理:把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义

  2. 分词结果:定位理论/认为/营销/的/终极战场/在于/消费者心智

  • 全模式:

  1. 原理:在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。eg. 定位、理论、定位理论

  2. 分词结果:定位,理论,定位理论,认为,营销,的,终极,战场,终极战场,在于,消费者心智,消费者,心智

2. 去除停用词

去除那些因为使用的过于频繁而导致包含有用信息过少的词语

主要包括三大类:

    • 标点符号:, 。!/、*+-

    • 特殊符号:❤❥웃유♋☮✌☏☢☠✔☑♚▲♪等

    • 无意义的虚词:“the”、“a”、“an”、“that”、“你”、“我”、“他们”、“想要”、“打开”、“可以”等

3. 去除高频词、稀有词

针对后续主题词提取模型时使用,主要是为了排除对区隔主题意义不大的词汇,最终得到类似于停用词的效果

4. 计算Bigrams

句子从头到尾两个字(或更多)组成新词,目的是探测文本中的新词

Image

五、描述性统计分析

1. 时间趋势变化:在抽取时间内,以季度为单位,观察发文数量随时间的变化趋势

Image

  • 起伏波动不大,在均值1800上下波动。一头(2012年第二季)一尾(2017年第四季)因为没有统计完全,所以发文数量较小。

Image

  • 评论量的变化不愠不火,起伏不大,但收藏量一直在攀升中,尤其是在2017年的第二季达到峰值。 

  • 收藏量在一定程度上反映了文章的干货程度和价值性,读者认为有价值的文章才会去保留和收藏,反复阅读,这说明虎嗅的文章质量在不断提高,或读者的数量在增长。

2.时间规律变化:从时间维度里提取出“周”和“时段”的信息,做文章分布数量的在“周”和“时”上的交叉分析

Image

    • 色块颜色上的由暖到冷表征数值的由大变小 

    • “6时~19时”和“周一~周五”围成的矩形,发文时间主要集中在工作日的白天。 

    • 周一到周五期间, 6时~7时这个时间段是发文的高峰,说明虎嗅的内容运营人员倾向于在工作日的清晨发布文章,这也符合它的人群定位—TMT领域从业、创业者、投资人,他们中的许多人有晨读的习惯,喜欢在赶地铁、坐公交的过程中阅读虎嗅讯息。 

    • 发文高峰还有9时-11时这个高峰,是为了提前应对读者午休时间的阅读

    • 还有17时~18时,提前应对读者下班时间的阅读。

3.相关性分析:探索文章的评论量、收藏量和标题字数、文章字数是否存在统计学意义上的相关性关系

Image

    • 横轴是文章字数,纵轴是标题字数,评论数大小由六角星的大小和颜色所反映,颜色越暖,数值越大,五角星越大,数值越大。 

    • 文章评论量较大的文章,绝大部分分布于由文章字数6000字、标题字数20字所构成的区域内。

    • 虎嗅网上的商业资讯文章大都具有原创、深度的特点,文章篇幅中长,意味着能把事情背后的来龙去脉论述清楚,而且标题要能够吸引人,引发读者的大量阅读,合适长度标题和正文篇幅才能做到这一点。

4.共线性分析:城市之间两两同时出现的频率,在一定程度上反映出城市间经济、文化、政策等方面的相关关系,共现频次越高,说明二者之间的联系紧密程度越高

六、文本挖掘

1.关键词提取

    • 词频统计TF:

    1. 原理:某一个给定的词语在该文件中出现的次数

    2. 这个数字通常会被归一化(一般是词频除以文章总词数), 以防止它偏向长的文件。(同一个词语在长文件里可能会比短文件有更高的词频,而不管该词语重要与否。)

    3. Image

    4. 缺点:只关注本文档,忽略了整体语料的情况

  • 词频-逆向文件频率统计TF-IDF:

    1. 原理:TF与IDF的乘积,用以评估一字/词对于一个文件集或一个语料库中的其中一份文件的重要程度,字/词的重要性会随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。如果某个单词在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。比词频更能体现关键词对文本的重要性。

    2. IDF:某一特定词语的IDF,可以由总文件数目除以包含该词语的文件的数目,再将得到的商取对数得到。如果包含词条t的文档越少, IDF越大,则说明词条具有很好的类别区分能力。

    3. Image

    4. Image

    5. 优点:简单快速,结果比较符合实际情况。

    6. 缺点:单纯以“词频”做衡量标准,不够全面,有时重要的词可能出现的次数不多。

  • 提取top100关键词,进行人工分析

    Image

  1. 从宏观角度来看,从上面可以明显的识别出3类关键词:公司品牌类:虎嗅网、苹果、腾讯、苹果、小米等;行业领域类:行业、电商、游戏、投资、广告、人工智能、智能手机等;创业、商业模式类:模式、创新、业务、运营、流量、员工等。 

  2. 从微观角度来看,居于首要位置的是“用户”,互联网从业者放在嘴边的是“用户为王”、“用户至上”和“以用户为中心”,然后是“平台”和“企业”。

  3. 根据top500关键词,以“虎嗅蔷薇”为背景来绘制词云:

    Image

    2.LDA主题模型分析

    词袋模型:它是LDA的基础。是将文本转换成向量的一种方式,会忽略掉文本的语法和语序等要素,将其仅仅看作是若干个词汇的集合,文档中每个单词的出现都是独立的。

Image

举个例子~

    1. 两个简单的文档:“John likes to watch movies. Mary likes too.”  "John also likes to watch football games."

    2. 基于上述两个文档中出现的单词,构建如下一个词典:{"John":1, "likes":2, "to":3, "watch":4, "movies":5, "also":6, "football":7, "games":8, "mary":9, "too":10}

    3. 上面的词典中包含10个单 w词, 每个单词有唯一的索引, 那么每个文本我们可以使用一个10维的向量来表示[1,2,1,1,1,0,0,0,1,1] [1,1,1,1,0,1,1,1,0,0]

    4. 向量的维度根据词典中不重复词的个数确定;向量中每个元素顺序与原来文本中单词出现的顺序没有关系,与词典中的顺序一一对应;向量中每个数字是词典中每个单词在文本中出现的频率—即词频表示

    • LDA工作机制:可比作下图这个机器,当确定主题数量之后,可以通过设定机器上的旋钮来控制齿轮的工作状态,最终随机生成一篇文档(与原文档没有关系)。通过对比生成的文档与愿文档的相似性,来判断模型好坏,在不同参数的模型中找到最优的模型

Image

  • LDA生成架构:首先根据一定的概率选择一个主题,然后在根据概率选择主题里面的一个单词,这样反复进行,就可以生成一篇文档

    Image

  •  举个例子~

  1. 假设事先给定了这几个主题:Arts、Budgets、Children、Education,然后通过学习的方式,获取每个主题Topic对应的词语。 

  2. 然后以一定的概率选取上述某个主题,再以一定的概率选取那个主题下的某个单词,不断的重复这两步,最终生成如下图所示的一篇文章

Image

Image

  • LDA属于无监督学习:我们事先不知道每段文本里面说的是什么,每个文本是没有标签

  • LDA需要自定义主题数:尝试了多个主题数之后,确定了最终的主题数。从下面的LDA可视化图形可以看出,主题数为6时(左图),很多主题所涵盖的关键词出现严重的重叠,而分成10个主题(右图)后,情况得到好转,话题区分度尚能接受。

    ImageImage

    之后可以从10个簇群中,人为的归纳析出各个主题

  1. 电商&O2O:该主题包含2个部分,即各大电商平台(淘宝、京东等)上的零售;O2O(Online线上网店Offline线下消费),商家通过免费开网店将商家信息、商品信息等展现给消费者,消费者在线上进行筛选服务,并支付,线下进行消费验证和消费体验。 

  2. 巨头战略:主要是国内BAT三家的营收、融资、并购,以及涉足互联网新领域方面的资讯。 

  3. 用户&社交:主要涉及用户和社会化媒体(微博、QQ、微信、直播平台等)方面的资讯。 

  4. 创业:涉及创业人、创新模式、创业公司等一切关于创业的话题,令笔者印象最为深刻的是创业维艰。 

  5. 人工智能:进入移动互联网时代,各类线上数据的不断积累和硬件技术的突飞猛进,大数据时代已然来临,随之而来的还有人工智能,该领域是时下国内外IT巨头角逐的焦点。

Image

Image

查看各个话题在这4W多篇文章中的占比情况

    1. 可以明显的看出,虎嗅首页上的文章对互联网行业各大巨头的行业动向报道较多,其次是不断崛起的影视娱乐,除了无人驾驶方面的报道偏少以外,其他主题方面的文章的报道量差异不大,比较均衡。

    2. “巨头战略”这一话题的首页发文量始终维持在一个较高的水平,其次是“人工智能”的话题,它在虎嗅网主页2013年第一季度出现一个报道小高潮。

    3. 另外,“互联网金融”在2014年第3个季度的报道量较大,从中可以获悉这个阶段的互联网金融正处于一个爆发的阶段,这个时段互金行业的重大事件有:小米投资积木盒子进军互联网金融(9.10)、京东发布消费金融战略(9.24)、蚂蚁金服集团成立(10.16),以及整个2014年是“众筹元年”,P2P步入洗牌季、以及央行密集令直指监管互联网金融,这些事件或政策都足以引发互联网界人士的热议,造成这一时段声量的骤然升起。

Image

Image

3.LDA主题模型+情感分析

    • 基于深度学习的情绪语义分析模型,对这些文章的标题进行情绪分析,得出各个文章的情绪标签

    • 该模型有6类情绪,即喜悦、愤怒、悲伤、惊奇、恐惧和中性

      Image

      Image

    • 各个主题下的标题的情绪以中性为主,凸显作者和官方的客观和中立态度。

    • 但是在现今标题党横行和全民重口味的时代,拟标题上的过分中立也意味着平淡无奇,难以触发读者的阅读行为,正所谓“有性格的品牌,有情绪的营销”,能成功挑起读者情绪的作者绝对是高手,所以,在上图中除了中性情绪外,居于第二位的是愤怒,狂撕狂怼,点燃读者的情绪;再次是悲伤,在现实生活中,伤感总能引起同情与共鸣。

      4.关联词分析

    • 探索深度的讨论共同点,例如,当我们谈论“XX”时,我们可能也在谈论着什么

    • 基于深度神经网络的词向量能从大量未标注的普通文本数据中无监督地学习出词向量,这些词向量包含了词汇与词汇之间的语义关系,正如现实世界中的“物以类聚,类以群分”一样,词汇可以由它们身边的词汇来定义(Words can be defined by the company they keep)。

      Image

    • 当我们讨论“百度“时:出现的都是与百度相关的词汇,不是百度的产品、公司,就是百度的CEO和管理者,“搜索”二字变相的出现了很多次,它也是百度起家的一大法宝。

    • 当我们讨论”AI“时:可能还会涉及人工智能的细分领域和目前比较火的几个应用场景的描述。

      5.词聚类

    • 原理:运用例如基于Word2Vec(词向量)的K-Means聚类,考虑了词汇之间的语义关系,将余弦夹角值较小的词汇聚集在一起,形成簇群。

      Image

    • 有些分类是比较好理解的,如途风(网)和驴妈妈旅游网,都是做旅游的,人人贷、陆金所和拍拍贷是搞互金的,这些词汇是在“行业的语境”里出现的次数较多,基于同义关系聚类在一起,同属一个行业。

    • 但其中大多数的聚类不是按行业来的,而是其他的语境中出现:深挖的话,或许能发现到若干有趣的线索。

    6.词分类

    • 原理:文本分类跟上面的文本聚类在机器学习中分属不同的任务,前者是有监督的学习(所有训练数据都有标签),后者是无监督的学习(数据没有标签),因而,在正式的文本分类任务开始前,先用有标注的语料训练模型,再来预测后续的未知的文本。

Image

7.共现分析

  • 原理:基于“图论”来做品牌共现分析,从网络的角度来分析百强企业品牌之间的关联关系

    Image

  • 每个节点代表一个人物,线条粗细代表品牌与品牌之间的强弱链接关系,相同颜色的节点表示它们(在某种条件下)同属于一类。

  • 节点及字体的大小表示品牌在网络中的影响力大小,也就是“Betweenness Centrality(中介核心性),” 学术的说法是“两个非邻接的成员间的相互作用依赖于网络中的其他成员,特别是位于两成员之间路径上的那些成员,他们对这两个非邻接成员的相互作用具有某种控制和制约作用”。 

  • 说人话就是,更大的影响力就意味着该品牌链接了更多的合作机会和资源,以及涉足更多的互联网领域。先看里面影响力TOP10,依次是腾讯、微信、百度、QQ、阿里巴巴、淘宝、京东、小米、网易和新浪微博,“腾讯系”在10强里占据了3个席位,实力强大。

  • 再看由颜色区分出的6个簇群: 

    1. 淡蓝系:腾讯、微信、百度、QQ、网易、搜狐… 

    2. 洋红系:阿里巴巴、淘宝、京东、新浪微博、天猫… 

    3. 深绿系:小米、多看、MIUI、天翼阅读…(以小米为中心MIUI是小米的产品,多看(阅读)已经被小米收购,天翼阅读一度是小米捆绑的阅读软件,然而,蜗牛游戏就跟前几个不同,有一篇文章的标题是这样的:“蜗牛发布移动战略,石海:不做小米第二”,它是小米在移动游戏领域的对手… 

    4. 浅绿系:乐居、房天下(房产 

    5. 明黄系:人人贷、拍拍贷(互联网p2p金融 

    6. 黄橙系:汽车之家、易车网、易湃(互联网汽车 
      淡蓝系和洋红系这两个簇群中,品牌与品牌之间的关系就比较复杂了,子母公司、兄弟品牌、跨界合作、竞对关系、跨界竞争、融资及兼并,上述情况,在这两类簇群中或可兼而有之。

最后,以上文本挖掘部分,涉及到人工智能这部分的实际应用包括:关键词提取、LDA主题模型,情绪分析、词聚类和词分类涉及到深度学习方面的知识,这些都是AI 在数据分析中的真实应用场景。上述不是数据分析报告,重在分享思路,得出具体的结论不是本文的目的,不喜勿喷~~~