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

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

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

产品地址: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+LLaMA Factory微调Qwen2-VL模型,搭建文旅领域知识问答机器人
使用PAI和LLaMA Factory框架,基于全参方法微调 Qwen2-VL模型,使其能够进行文旅领域知识问答,同时通过人工测试验证了微调的效果。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
目录
相关文章
|
10月前
|
机器学习/深度学习 算法 调度
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
675 0
|
11月前
|
机器学习/深度学习 Dragonfly 人工智能
基于蜻蜓算法优化支持向量机(DA-SVM)的数据多特征分类预测研究(Matlab代码实现)
基于蜻蜓算法优化支持向量机(DA-SVM)的数据多特征分类预测研究(Matlab代码实现)
233 1
|
11月前
|
机器学习/深度学习 传感器 数据采集
【23年新算法】基于鱼鹰算法OOA-Transformer-BiLSTM多特征分类预测附Matlab代码 (多输入单输出)(Matlab代码实现)
【23年新算法】基于鱼鹰算法OOA-Transformer-BiLSTM多特征分类预测附Matlab代码 (多输入单输出)(Matlab代码实现)
584 0
|
机器学习/深度学习 人工智能 算法
AP聚类算法实现三维数据点分类
AP聚类算法实现三维数据点分类
394 0
|
机器学习/深度学习 资源调度 算法
基于入侵野草算法的KNN分类优化matlab仿真
本程序基于入侵野草算法(IWO)优化KNN分类器,通过模拟自然界中野草的扩散与竞争过程,寻找最优特征组合和超参数。核心步骤包括初始化、繁殖、变异和选择,以提升KNN分类效果。程序在MATLAB2022A上运行,展示了优化后的分类性能。该方法适用于高维数据和复杂分类任务,显著提高了分类准确性。
|
机器学习/深度学习 算法 数据可视化
利用SVM(支持向量机)分类算法对鸢尾花数据集进行分类
本文介绍了如何使用支持向量机(SVM)算法对鸢尾花数据集进行分类。作者通过Python的sklearn库加载数据,并利用pandas、matplotlib等工具进行数据分析和可视化。
1435 70
|
移动开发 算法 前端开发
前端常用算法全解:特征梳理、复杂度比较、分类解读与示例展示
前端常用算法全解:特征梳理、复杂度比较、分类解读与示例展示
548 0
|
存储 缓存 分布式计算
数据结构与算法学习一:学习前的准备,数据结构的分类,数据结构与算法的关系,实际编程中遇到的问题,几个经典算法问题
这篇文章是关于数据结构与算法的学习指南,涵盖了数据结构的分类、数据结构与算法的关系、实际编程中遇到的问题以及几个经典的算法面试题。
342 0
数据结构与算法学习一:学习前的准备,数据结构的分类,数据结构与算法的关系,实际编程中遇到的问题,几个经典算法问题
|
机器学习/深度学习 人工智能 算法
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
文本分类识别系统。本系统使用Python作为主要开发语言,首先收集了10种中文文本数据集("体育类", "财经类", "房产类", "家居类", "教育类", "科技类", "时尚类", "时政类", "游戏类", "娱乐类"),然后基于TensorFlow搭建CNN卷积神经网络算法模型。通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型,并保存为本地的h5格式。然后使用Django开发Web网页端操作界面,实现用户上传一段文本识别其所属的类别。
675 1
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
机器学习/深度学习 算法 数据挖掘
决策树算法大揭秘:Python让你秒懂分支逻辑,精准分类不再难
【9月更文挑战第12天】决策树算法作为机器学习领域的一颗明珠,凭借其直观易懂和强大的解释能力,在分类与回归任务中表现出色。相比传统统计方法,决策树通过简单的分支逻辑实现了数据的精准分类。本文将借助Python和scikit-learn库,以鸢尾花数据集为例,展示如何使用决策树进行分类,并探讨其优势与局限。通过构建一系列条件判断,决策树不仅模拟了人类决策过程,还确保了结果的可追溯性和可解释性。无论您是新手还是专家,都能轻松上手,享受机器学习的乐趣。
325 9

热门文章

最新文章