一、背景



最近热播的反腐神剧“人民的名义”掀起来一波社会舆论的高潮,这部电视剧之所能得到广泛的关注,除了老戏骨们精湛的演技,整部剧出色的剧本也起到了关键的作用。笔者在平日追剧之余,也尝试通过机器学习算法对人民的名义的部分剧集文本内容进行了文本分析,希望从数据的角度得到一些输入。

本文使用阿里云机器学习PAI,主要针对以下几个方面进行了实验:

  • 分词以及词频统计
  • 每一章的关键词提取
  • 每一章的文本摘要
  • 每一章文本之间的相似度分析

实验流程以及数据可以在阿里云机器学习PAI的社区直接使用,只要点击“去PAI平台创建”按钮即可在自己的项目下生成实验。社区部分截图:

二、数据集介绍

数据源:本文数据为人民的名义部分剧集文本,一共分成1-9个章节。

具体字段如下:

字段名 含义 类型 描述
id 文章唯一标识 string 文章标识
content 文章内容 string 部分剧集内容

数据截图:

三、数据探索流程

首先,实验流程图:

1.分词以及停用词

分词是文本分析的基础,但是在“人民的名义”这样的文本中会有很多特有名词,是分词算法很难区分的。比如“侯亮平”、“沙瑞金”、“大风厂”等,所以我们需要在split word组件中加入一个词库,帮助分词组件可以对人名做正确的分词处理。加入的词库fufeitest.splite_w如下图:

另外,文本中一些“的”、“地”、“得”这样的助词以及各种标点符号也需要去掉,这些词是没有意义的,对文本分析有干扰,这些词可以通过“停用词过滤”组件去除。最终通过分词以及停用词过滤组件操作之后,文本内容被整理成了如下图形态:

2.关键词提取及词频统计

通过“词频统计”组件可以查看每一章中各个词语出现的频率,如图所示,id为1的文章中每个词语出现的次数:

“关键词”提取组件可以返回每个文章中关键的词语以及权重,(如果我们在停用词过滤那里处理的更细致,这部分效果会更好),通过这个结果可以看到每一章的关键人物有哪些,以及他们的权重排名:

3.文本摘要

“文本摘要”组件可以帮助您快速的浏览每一章节的关键内容,返回的是全文最关键的句子,我这里设置的是返回前三关键的句子:

截取的是第9章的摘要内容,如果看过这个剧,通过这个摘要可以大致了解到这是在讲汉东省委关于干部任用的会议的那一集。

4.相似文章分析

通过“Doc2Vec”组件可以将文本文章映射成高维向量化,将文本按照语义变成数学向量,结果如下:

然后可以通过”语义向量距离”组件挖掘出不同文章向量的距离,这里面的隐含关系是文章向量距离越近,那么语义越相近。我们以第9章为例:



第9章与第8章的向量距离最小,言外之意就是这两章的语义相近,这一点也比较容易理解,因为相连的两章在意义上肯定上是有一定的关联性。

四、总结

本文通过对“人民的名义”部分章节文本的分析,帮助大家了解机器学习PAI上面的部分文本算法的用法。如果向更深入的了解相关的内容,欢迎到PAI的社区来讨论,我们会定时组织活动。

社区:PAI社区公众号

产品页:阿里云数加机器学习平台

[置顶] 【机器学习PAI实践五】机器学习眼中的《人民的名义》的更多相关文章

  1. [置顶] 【机器学习PAI实践九】如何通过机器学习实现云端实时心脏状况监测

    背景 我们通过之前的案例已经为大家介绍了如何通过常规的体检数据预测心脏病的发生,请见http://blog.csdn.net/buptgshengod/article/details/53609878 ...

  2. 【机器学习PAI实践十二】机器学习算法基于信用卡消费记录做信用评分

    背景 如果你是做互联网金融的,那么一定听说过评分卡.评分卡是信用风险评估领域常用的建模方法,评分卡并不简单对应于某一种机器学习算法,而是一种通用的建模框架,将原始数据通过分箱后进行特征工程变换,继而应 ...

  3. [置顶] 【机器学习PAI实践十一】机器学习PAI为你自动写歌词,妈妈再也不用担心我的freestyle了(提供数据、代码

    背景 最近互联网上出现一个热词就是"freestyle",源于一个比拼rap的综艺节目.在节目中需要大量考验选手的freestyle能力,freestyle指的是rapper即兴的 ...

  4. [置顶] 【机器学习PAI实践三】雾霾成因分析

    一.背景 如果要人们评选当今最受关注话题的top10榜单,雾霾一定能够入选.如今走在北京街头,随处可见带着厚厚口罩的人在埋头前行,雾霾天气不光影响了人们的出行和娱乐,对于人们的健康也有很大危害.本文通 ...

  5. [置顶] 【机器学习PAI实践六】金融贷款发放预测

    一.背景 很多农民因为缺乏资金,在每年耕种前会向相关机构申请贷款来购买种地需要的物资,等丰收之后偿还.农业贷款发放问题是一个典型的数据挖掘问题.贷款发放人通过往年的数据,包括贷款人的年收入.种植的作物 ...

  6. [置顶] 【机器学习PAI实践四】如何实现金融风控

    (本文数据为虚构,仅供实验) 一.背景 本文将针对阿里云平台上图算法模块来进行实验.图算法一般被用来解决关系网状的业务场景.与常规的结构化数据不同,图算法需要把数据整理成首尾相连的关系图谱.图算法更多 ...

  7. [置顶] 【机器学习PAI实践七】文本分析算法实现新闻自动分类

    一.背景 新闻分类是文本挖掘领域较为常见的场景.目前很多媒体或是内容生产商对于新闻这种文本的分类常常采用人肉打标的方式,消耗了大量的人力资源.本文尝试通过智能的文本挖掘算法对于新闻文本进行分类.无需任 ...

  8. [置顶] 【机器学习PAI实践八】用机器学习算法评估学生考试成绩

    (本文数据为实验用例) 一.背景 母亲是老师反而会对孩子的学习成绩造成不利影响?能上网的家庭,孩子通常能取得较好的成绩?影响孩子成绩的最大因素居然是母亲的学历?本文通过机器挖掘算法和中学真实的学生数据 ...

  9. 【机器学习PAI实践十】深度学习Caffe框架实现图像分类的模型训练

    背景 我们在之前的文章中介绍过如何通过PAI内置的TensorFlow框架实验基于Cifar10的图像分类,文章链接:https://yq.aliyun.com/articles/72841.使用Te ...

随机推荐

  1. python的变量类型(Day6)

    Python的变量类型 变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符. 变量赋值 Python 中的变量赋值不需要类型声明 等号(=)用来给变量赋值,等号左边为变量值,等号右边是存储在 ...

  2. beego——模型定义

    复杂的模型定义不是必须的,此功能用作数据库数据转换和自动建表 默认的表名规则,使用驼峰转蛇形: AuthUser -> auth_user Auth_User -> auth__user ...

  3. 本地连不上远程mysql数据库(2)

    Host is not allowed to connect to this MySQL server解决方法 今天在ubuntu上面装完MySQL,却发现在本地登录可以,但是远程登录却报错Host ...

  4. LeetCode:翻转二叉树【226】

    LeetCode:翻转二叉树[226] 题目描述 翻转一棵二叉树. 示例: 输入: 4 / \ 2 7 / \ / \ 1 3 6 9 输出: 4 / \ 7 2 / \ / \ 9 6 3 1 题目 ...

  5. Codeforces Round #396 (Div. 2) C. Mahmoud and a Message

    地址:http://codeforces.com/contest/766/problem/C 题目: C. Mahmoud and a Message time limit per test 2 se ...

  6. poj3261Milk Patterns 后缀数组

    题目地址:http://poj.org/problem?id=3261 题目: Description Farmer John has noticed that the quality of milk ...

  7. hadoop 2.0安装及HA配置简述

    一.单机模式 a.配置本机到本机的免密登录 b.解压hadoop压缩包,修改hadoop.env.sh中的JAVA_HOME c.修改core-site.xml <configuration&g ...

  8. C#求百分比

    public string integralpercentage; integralpercentage = ((double)user.Credits / integralmax).ToString ...

  9. jvm-垃圾收集器与内存分配策略

    垃圾收集器与内存分配策略 参考: https://my.oschina.net/hosee/blog/644085 http://www.cnblogs.com/zhguang/p/Java-JVM- ...

  10. 搭建maven项目步骤

    整体项目结构如下: 第一步 第二步 第三步:删除src目录,只留pom文件 第四步: 第五步: 6 7 8 9 10 11 12