【机器学习PAI实践七】文本分析算法实现新闻自动分类

标签: 机器学习 新闻
2281人阅读 评论(0) 收藏 举报
分类:

一、背景

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

本文通过PLDA算法挖掘文章的主题,通过主题权重的聚类,实现新闻自动分类。包括了分词、词型转换、停用词过滤、主题挖掘、聚类等流程。

二、数据集介绍

具体字段如下:

字段名 含义 类型 描述
category 新闻类型 string 体育、女性、社会、军事、科技等
title 标题 string 新闻标题
content 内容 string 新闻内容

数据截图:

三、数据探索流程

首先,实验流程图:

实验可以大致分为五个模块,分别是增加序号列、停用词过滤、分词及词频统计、文本主题挖掘、结果分析和评估。

1.增加序号列

本文的数据源输入是以单个新闻为单元,需要增加ID列来作为每篇新闻的唯一标识,方便下面的算法进行计算。

2.分词及词频统计

这两步都是文本挖掘领域最常规的做法,首先利用分词控件对于content字段,也就是新闻内容进行分词。去除过滤词之后(过滤词一般是标点符号及助语),对于词频进行统计。
如下图:

3.停用词过滤

停用词过滤功能用于过滤输入的停用词词库,一般过滤标点符号以及对于文章影响较少的助语等。

4.文本主题挖掘

使用PLDA文本挖掘组件需要先将文本转换成三元形式,append_id是每篇新闻的唯一标识,key_value字段中冒号前面的数字表示的是单词抽象成的数字标识,冒号后面是对应的单词出现的频率。三元组组件生成结果如下:

在上一步完成了文本转数字的过程,下一步数据进入PLDA算法。PLDA算法又叫主题模型,算法可以定位代表每篇文章的主题的词语。本次试验设置了50个主题,PLDA有六个输出桩,第五个输出桩输出结果显示的是每篇文章对应的每个主题的概率。如图:

5.结果分析和评估

上一步把文章从主题的维度表示成了一个向量。接下来就可以通过向量的距离实现聚类,从而实现文章分类。我们这里可以简单看一下分类的结果。查看K均值聚类组件的结果,cluster_index表示的是每一类的名称。找到第0类,一共有docid为115,292,248,166四篇文章。

通过过滤与映射组件查询115,292,248,166四篇文章。结果如下:

效果并不十分理想,将一篇财经、一篇科技的新闻跟两个体育类新闻分到了一起。主要原因是细节的调优没有做,也没有做特征工程,同时数据量太小也是一个主要的因素。本文只是一个简单的案例,商业合作可以私下联系我们,我们在文本方面我们有较完善的解决方案。

四、其它

作者微信公众号(与我联系):

查看评论

文本分析算法简单介绍-1

        以下内容是基于李博《机器学习实践应用》,邹博小象学院《机器学习课程》以及李航书籍《统计学习方法》加上自己的理解提炼而成文本分析算法大致可以分成3种方法:机械分词,统计分词和机器学习分词...
  • szq34_2008
  • szq34_2008
  • 2018年02月26日 14:35
  • 144

文本分析系列——词语权重算法:TF-IDF算法

简介      TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。 词频(term frequency,TF)指的是某一个给定的词语在该文件中...
  • u013654622
  • u013654622
  • 2015年09月18日 17:44
  • 3104

经典的观点挖掘算法(文本挖掘系列)

最近阅读了美国伊利诺伊大学教授刘兵的一篇关于观点挖掘的KDD论文(Mining and Summarizing Customer Reviews),其观点挖掘算法非常经典,特此做记录,互相探讨。...
  • u014313009
  • u014313009
  • 2014年08月31日 09:15
  • 6338

自然语言处理之:文本分析算法

一、待续
  • buptxing
  • buptxing
  • 2016年08月02日 11:55
  • 858

文本分析--simhash算法进行文本相似度判断

simhash算法分析:文本相似度算法:1、TF-IDF:TF(词频),IDF(逆词频)利用tf-idf得到一个词语的权重,来计算一篇文章的关键词2、simhash:局部敏感hash局部敏感:A、B具...
  • kevinelstri
  • kevinelstri
  • 2017年04月12日 10:20
  • 1588

余弦定理实现新闻自动分类算法

前言余弦定理,这个在初中课本中就出现过的公式,恐怕没有人不知道的吧。但是另外一个概念,可能不是很多的人会听说过,他叫空间向量,一般用e表示,高中课本中有专门讲过这个东西,有了余弦定理和向量空间,我们就...
  • Androidlushangderen
  • Androidlushangderen
  • 2015年07月27日 21:53
  • 4069

朴素贝叶斯实战篇之新浪新闻分类

Python版本: Python3.x              作者:崔家华 运行平台: Windows                    编辑:黄俊嘉 IDE: Sublime...
  • SzM21C11U68n04vdcLmJ
  • SzM21C11U68n04vdcLmJ
  • 2017年10月07日 00:00
  • 825

新闻个性化推荐基本算法

针对新闻的个性化推荐,一般情况下不做item-based,这种计算的计算的复杂度太高,资讯的产生以及用户的点击,属于高频度发生的,涉及的推荐数据集合,都是新产生的,item-based的难度有点大。 ...
  • hxxiaopei
  • hxxiaopei
  • 2015年07月22日 17:40
  • 19699

google的新闻(文章)分类算法

原文: http://www.google.com.hk/ggblog/googlechinablog/2006/07/12_4010.html Google 的新闻是自动分类和整理的。所谓新闻的分类...
  • sdcyzjq
  • sdcyzjq
  • 2011年04月10日 23:07
  • 3706

PLDA文本聚类

晓阳大牛写了一个PLDA用于文本聚类,让我在这里分享一下,主要包含下面几个文件,贴的代码顺序如图片显示的那样: #ifndef DATASET_H #define DATASET_H #i...
  • jj12345jj198999
  • jj12345jj198999
  • 2014年03月27日 18:02
  • 2196
    统计

    主要讲述算法和业务的结合,适合初学者

    机器学习实践应用

    京东地址

    作者公众号:凡人机器学习

    凡人机器学习

    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 89万+
    积分: 1万+
    排名: 1619
    博客专栏