【玩转数据系列六】文本分析算法实现新闻自动分类

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
简介: 新闻分类是文本挖掘领域较为常见的场景。目前很多媒体或是内容生产商对于新闻这种文本的分类常常采用人肉打标的方式,消耗了大量的人力资源。本文尝试通过智能的文本挖掘算法对于新闻文本进行分类。无需任何人肉打标,完全由机器智能化实现。

(本文数据为虚构,仅供实验。本实验拟在介绍文本类组件,具体有意实现效果的提升请联系我们,我们提供完整解决方案和商业合作。)

产品地址:https://data.aliyun.com/product/learn?spm=a21gt.99266.416540.102.OwEfx2

一、背景

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

本文通过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四篇文章。结果如下:

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

四、其它

作者微信公众号(与作者讨论):

参与讨论:云栖社区公众号

免费体验:阿里云数加机器学习平台

联系我们: aohai.lb@alibaba-inc.com

往期文章:

【玩转数据系列一】人口普查统计案例

【玩转数据系列二】机器学习应用没那么难,这次教你玩心脏病预测

【玩转数据系列三】利用图算法实现金融行业风控

【玩转数据系列四】听说啤酒和尿布很配?本期教你用协同过滤做推荐

【玩转数据系列五】农业贷款发放预测

相关实践学习
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
目录
相关文章
|
2天前
|
机器学习/深度学习 数据采集 搜索推荐
Paper Digest | 突破个性化推荐数据稀疏性:长尾增强的图对比学习算法研究
本文提出了一种新的长尾增强的图对比学习方法(LAGCL),该方法促使模型同时兼顾头部节点与尾部节点之间的知识,并通过长尾增强技术来使模型产出更均匀更准确的节点表征,从而改进基于 GNN 的推荐任务。
|
25天前
|
存储 算法 Python
Python 集合探索:解密高效数据操作和快速算法的奇妙世界
Python 集合探索:解密高效数据操作和快速算法的奇妙世界
|
15天前
|
编解码 算法 定位技术
GEE时序——利用sentinel-2(哨兵-2)数据进行地表物候学分析(时间序列平滑法估算和非平滑算法代码)
GEE时序——利用sentinel-2(哨兵-2)数据进行地表物候学分析(时间序列平滑法估算和非平滑算法代码)
28 3
|
2月前
|
机器学习/深度学习 人工智能 算法
人工智能中数据组合采样、特征层、算法层的讲解(图文详解)
人工智能中数据组合采样、特征层、算法层的讲解(图文详解)
36 0
|
2月前
|
数据可视化 算法 JavaScript
【Python数据挖掘】数据可视化及数据对象的相似性度量算法详解(超详细 附源码)
【Python数据挖掘】数据可视化及数据对象的相似性度量算法详解(超详细 附源码)
36 0
|
4天前
|
算法
MATLAB | 插值算法 | 一维interpl插值法 | 附数据和出图代码 | 直接上手
MATLAB | 插值算法 | 一维interpl插值法 | 附数据和出图代码 | 直接上手
17 0
|
4天前
|
算法
MATLAB | 插值算法 | 二维griddata插值法 | 附数据和出图代码 | 直接上手
MATLAB | 插值算法 | 二维griddata插值法 | 附数据和出图代码 | 直接上手
16 0
|
4天前
|
算法
MATLAB | 插值算法 | 一维Lagrange插值法 | 附数据和出图代码 | 直接上手
MATLAB | 插值算法 | 一维Lagrange插值法 | 附数据和出图代码 | 直接上手
13 0
|
21天前
|
自然语言处理 算法
文本分析-使用jieba库实现TF-IDF算法提取关键词
文本分析-使用jieba库实现TF-IDF算法提取关键词
19 0
|
22天前
|
机器学习/深度学习 存储 算法
【模式识别】探秘分类奥秘:K-近邻算法解密与实战
【模式识别】探秘分类奥秘:K-近邻算法解密与实战
31 0

相关产品

  • 人工智能平台 PAI