机器学习 PAI 文本分析-新闻自动分类系|学习笔记

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,5000CU*H 3个月
交互式建模 PAI-DSW,每月250计算时 3个月
简介: 快速学习机器学习 PAI 文本分析-新闻自动分类系。

开发者学堂课程【PAL 平台学习路线:机器学习入门到应用:机器学习 PAI 文本分析-新闻自动分类系】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/855/detail/14238


机器学习PAI文本分析-新闻自动分类系

 

内容介绍:

一、文本分类算法简介

二、LDA 算法介绍

三、KMeans 算法介绍

四、PAI 平台实现文本分类并讲解具体流程

五、学习推荐

 

文本分析分为以下俩部分进行讲解:

(1)如何基于文本算法做自动新闻分类系统

(2)如何些新闻的关键词抽取相似性分析文本摘的操作


一、文本分类算法简介

1.文本分类算法的思路和使用场景

随着互联网发展,现在网络上有大量的文本数据,无论是我们平时使用的一些媒体的app今日头条新浪微博),线下传统的新闻媒体新华社),都有很多文本数据,之前这些媒体对文本数据有大量的需要处理的需求,例如文本打标,文本关键内容提取文本分类之前用人肉的方式进行会消耗大量的人工的资源,而且效率较低现在随文本智能算法的发展,也在探索如何通过智能算法做自动的文本分析

常见的文本分析分为三种:

(1)文本分类(分类的系统);

(2)文本打标签(长文本、短文本的提取关键词提取摘要);

(3)文本情感分析(需要判断文本的正负情感关系) 

文本分类方式的主要的思想:

1基于语义向量距离︰将文本按照语义映射成高维特征向量空间中,通过向量距离计算进行分类

2基于文本关键词、主题︰首先提取文本的关键词、主题等信息,然后通过这些词语的对照关系进行分类 

2.基于主题的分文本分类方式如何实现

文本方分类有很多种方法,基于主题只是其中的一种

(1)前提条件如果是主题相似的一文本,潜意识中认为它是类别相同的。平时我们看一些新闻媒体时,发现无论是新闻媒体,体育新闻或者娱乐新闻,主题都有一定的相似性

比如说体育新闻,主题可能会有一些相似的词语

娱乐新闻,主题也会有一部分相似的词语

(2)案例:三篇短文本文章

第一篇中国足球队重进世界杯

第二篇下面我们直播网球比赛

第三妈妈做的饭真好吃

主题算法可以把每篇文章对应的主题提取出来。

第一篇提取出的是足球和体育

第二篇提取出的是网球、体育

第三篇提取出的是饮食和妈妈

根据之前的假设主题相似的文章属于同类别

根据聚类算法,把第一篇和第二篇文章归为一类,因为他们都有相同的主题第三篇文章单独归为一类,和前面文章类别不同是第二类

 image.png

二、LDA 算法介绍

1.涉及到的问题:

(1)如何使用主题算法,把主题挑选出来。

(2)如果使用聚类算法把主题相似的文章进行分类

2.LDA 算法的原理

(1) LDA 算法通过下图公式提取主题的概率分布

image.png

(2)公式解读:

公式基于该文档有哪些词语(原始数据

文档所有文章的总和。

原始数据所有文章以及其中的一些词语。

右侧公式:

P(词语|主题):是第一个概率分布式,这些文档中会有哪些主题

P(主题|文档):这些主题中会出现哪些词语

右侧俩个概率密度,可得到左公式。

(3)该公式基于贝叶斯的原理,可以通过磁带模型文章生成的逻辑来解释

 当我们写一篇文章的时候,我们首先要考虑的是,选择一个主题在右的这个公式可了解应从文档中选择一个合适的主题(通过主题的概率分布来获得)。

 然后主题选定之后,写字的时候,从主题中选择相应的词语来写,每个主题中都有特定的词语的分布以体育主题为例,它里面可能会有篮球,足球,网球会有一些运动明星例如李娜,姚明这样的词语每种词语都有特定的概率密度

 循环遍历整篇文章,例如我们要写一篇500个词的作文,就把上面的1和2步骤遍历500遍,整篇文章生成。

我们写文章的过程中就是三步不停迭代的过程首先选择一个主题,然后,在主题中选择相应的词语,这样的不断的循环递归的过程,就把一个文章生成了基于这样的磁带模型,我们就可以把主题的概率密度提取出来。

(4) 原理是:通过原始数据的概率分布,把文档中有主题的概率分布计算出来。

 

三、KMeans 算法

我们已经通过 LDA 算法把文本的主题都挑选出然后学习如何 KMeans 算法把主题进行自动的聚类

1.KMeans 算法步骤

第一步:设置分类 K  K 值指的是最终要聚类的个数需要事先设置

第二步:设置初始质心簇的位置

第三步:不断迭代寻找新分类簇的簇心点

第四步:收敛完成聚类

2.举例:

以下图二维为例假设数据干净的,只有绿色点的二数据的分布

 image.png

如何通 KMeans 算法将数据进行自动的分类

(1)首先设置分类k值最终想分成几类是2。

(2)设置初始质心簇的位置设两个类别每个质心簇是黑××(两个初始的质心簇的位置

(3)如何循环迭代进行收敛

第一步是寻找这两质心簇之间的垂直线将两个质心簇进行均匀分类,首先一条直线,把红线上侧红线下侧开。分类的依据是基于两个质心簇的欧距离

第二步用俩部分点红线上侧点和红线下侧点是两个新的质心簇,在两个新的质心簇中找到各自的新的簇心红色方块,基于新的簇心做新的分类直线新的分类之后,在新的分类找新的簇心。通过不断的迭代,直到完成收敛。

(4)收敛完成聚类

绿色的数据被分为两

基于前面的主题模型会通过计算把所有的主题变为向量,基于KMeans 算法会做自动的聚类。

 

 

四、PAI 平台实现文本分类并讲解具体流程

1.业务逻辑图如下图,数据源进取

一部分数据用来评估另一部数据源会做分词->过滤(把其中的字:的,标点符号:逗号句号,叹号无用的信息过滤->词向量生成(把常用的文本词语转换成数值的向量)-> LDA 算法(把里面的主题挑选出来例如:第一篇文章对应哪些主题,对应哪些主题各自的概率分布是多少?)-> KMeans 聚类算法进行基于主题的自动分类->评估通过评估数据对分类结果进行评估

image.png

2.基于 PAI 平台搭建的整套业务逻辑

image.png

3.在 PAI 平台中针对每个组件进行介绍:

试验可以在 PAI 的首页进行,通过文本分类新闻分类案例进行自动创建包含真实的数据和整个的试验流程

点击运行,就会生成一个运行好的案例。

4.步骤组件的功能

(1)输入的数据源:右击->查看数据

image.png

数据分三个字段

第一个字段是种类,在新闻上看到。数据分为几大种女性体育娱乐,社会军事,数据种类打标好为供给人们作为评估,在真实分类的要完成的结果是不参考分类结果,打标结果的情况下将文章进行自动归类例如体育归为一类,女性归为一类。

第二个标题是 title(新闻的标题例如:全国10个城市男人最有魅力基因

第三个字段 content 表示的是新闻内容。

image.png

总结:整个的数据是有三部分组成,一个是种类(用来评估第二个是标题第三个每个标题对应的内容。

(2) 左边分支用来做评估

输入的数据源:右击->查看数据

增加一个序号列,因为在最后进行数据挖掘文本分析的过程中,会将所有文字转换成数值向量,所以需要增加 id 作为主 key 评估最终的分类结果

类型转换将刚才的增加的序号列转换为 Strim 类型。

(3)分词操作:(文本分析最基础的步骤)

分词结果 右击 Split Word-1->查看数据

基于文本内容进行分词,将每个词中间进行逗号分隔

例如:第一个文本 金额 71.3万将文字按逗号分隔

image.png

(4)停用词过滤

作用;停用词表(逗号句号,的,地,得)没有概念有意义的词去除

Stop-words 右击->查看数据

停用词过滤的过滤结果

在文章内容中已经没有,的或标点符号,干扰项都已经去掉

image.png

(5)词频统计:

方便于下一步的三元组转 kv-1 进行前期的数据整理.

词频统计-1右击->查看数据

第一个数据桩,id 对应文章,例如第零篇文章有哪些词,这些词出现的个数有多少?通过词频统计组件,都可以生成

(6)三元组转 kv-1

三元组转kv-1 是帮助词频统计结果进行词语转向量.

三元组转kv-1 右击->查看数据

例如:id 对应的文章,第213篇文章,把每一个词都进行编码,例如:编码为337的词出现一次编码为412的词出现一次,编码为667个词出现三次通过三元组转 kv 的形式,把文章进行 strim 型转数值

image.png

(7)进行 LDA 算法的计算LDA 算法 id 的输入源就是已经的三元组转kv-1 的数据

可以选择生成的主题个数,主题个数下的参数是计算迭代的参数。

PLDA-右击->查看数据

主题在第5个输出桩,每个输出桩意义不同,可以通过文档进行查看第5个输出桩主要展示每篇文章映射到50个主题的维度(topic1,topic.....)共有50个主题个数 LDA 算法设置的50个主题个数,将每个文章50个主题都映射到50个主题向量维度上,每一行代表一篇文章参数这篇文章属于这个主题的概率。

得到了下图矩阵比较两篇文章之间的距离两个向量之间距离可计算出这两篇文章语意的距离可得出这俩篇文章否属于同一种类,如果这两个向量的距离非常近,说明这两篇文章属于类别概率恨大。

image.png

(8)合并列

把刚才的 PLDA 的 key 拿到通过合并列组建,可得到每篇文章以及它对应主题的分布。

合并列-1右击->查看数据

文章是通过判断append_id的唯一标识来记录

(9) KMean 算法

通过KMeans 算法,对上面的矩阵进行计算,进行自动归档

KMeans算法-1右击->查看数据

左侧表示文章的别。

是它属于的别,KMeans设置为30

最终结果聚类簇1时有110和187俩篇文章,

聚类簇2时有101,13和249三篇文章,

聚类簇6时有135,52,232,138四篇文章

image.png

观察聚类簇6时是否为同一类型文章,文章id分别是135,52,232,138

(10)点击测滤与映射,通过评估的组件,把三篇文章 sweep 出来。

测滤与映射-1右击->查看数据

篇文章属于同一类,都是体育。那说明分类的结果是准确的。

image.png

在平时的计算过程中聚类有一定的随机性,可以通过聚类的参数调节,例如聚类簇数,主题数迭代的参数进行效果的优化。

通过 LDA 算法,主题模型,对于新闻进行自动分类,挑选出于同一类别,发现都是体育类,证明分类结果正确

 

五、学习推荐

1.实验可在http://yq.aliyun.com/articles/59205地址中找到详细的文档,也可以在 PAI 的首页 demo 中点击进行自动的生成和实验。 

image.png

2.推荐教材以及 PAI 的使用地址:

(1)推荐学习材料:.

《机器学习实践》

《统计学习方法》

(2)吴恩达的机器学习相关课程

推荐实验环境:机器学习PAl  https://data.aliyun.com/product/learn

相关实践学习
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
2月前
|
机器学习/深度学习 算法 数据挖掘
Python数据分析革命:Scikit-learn库,让机器学习模型训练与评估变得简单高效!
在数据驱动时代,Python 以强大的生态系统成为数据科学的首选语言,而 Scikit-learn 则因简洁的 API 和广泛的支持脱颖而出。本文将指导你使用 Scikit-learn 进行机器学习模型的训练与评估。首先通过 `pip install scikit-learn` 安装库,然后利用内置数据集进行数据准备,选择合适的模型(如逻辑回归),并通过交叉验证评估其性能。最终,使用模型对新数据进行预测,简化整个流程。无论你是新手还是专家,Scikit-learn 都能助你一臂之力。
119 8
|
3月前
|
机器学习/深度学习 算法 搜索推荐
探索机器学习在文本分析中的应用
【8月更文挑战第23天】本文旨在探讨机器学习技术在文本分析领域的应用,并解释如何通过这些技术提取有价值的信息。我们将讨论从简单的词频统计到复杂的情感分析的各种方法。文章将不展示代码示例,而是以通俗易懂的语言解释核心概念和步骤,帮助读者理解机器学习如何改变我们处理文本数据的方式。
|
3月前
|
机器学习/深度学习 API 网络架构
"解锁机器学习超级能力!Databricks携手Mlflow,让模型训练与部署上演智能风暴,一触即发,点燃你的数据科学梦想!"
【8月更文挑战第9天】机器学习模型的训练与部署流程复杂,涵盖数据准备、模型训练、性能评估及部署等步骤。本文详述如何借助Databricks与Mlflow的强大组合来管理这一流程。首先需在Databricks环境内安装Mlflow库。接着,利用Mlflow跟踪功能记录训练过程中的参数与性能指标。最后,通过Mlflow提供的模型服务功能,采用REST API或Docker容器等方式部署模型。这一流程充分利用了Databricks的数据处理能力和Mlflow的生命周期管理优势。
138 7
|
3月前
|
机器学习/深度学习 运维 算法
【阿里天池-医学影像报告异常检测】3 机器学习模型训练及集成学习Baseline开源
本文介绍了一个基于XGBoost、LightGBM和逻辑回归的集成学习模型,用于医学影像报告异常检测任务,并公开了达到0.83+准确率的基线代码。
64 9
|
3月前
|
机器学习/深度学习 存储 人工智能
【机器学习】Qwen1.5-14B-Chat大模型训练与推理实战
【机器学习】Qwen1.5-14B-Chat大模型训练与推理实战
352 0
|
4月前
|
机器学习/深度学习 存储 分布式计算
PAI机器学习平台如何进行分布式训练?
【7月更文挑战第1天】PAI机器学习平台如何进行分布式训练?
125 1
|
4月前
|
机器学习/深度学习 算法 数据挖掘
Python数据分析革命:Scikit-learn库,让机器学习模型训练与评估变得简单高效!
【7月更文挑战第27天】在数据驱动时代,Python以丰富的库成为数据科学首选。Scikit-learn因简洁高效而备受青睐,引领数据分析革命。本文引导您使用Scikit-learn简化机器学习流程。首先通过`pip install scikit-learn`安装库。接着使用内置数据集简化数据准备步骤,例如加载Iris数据集。选择合适的模型,如逻辑回归,并初始化与训练模型。利用交叉验证评估模型性能,获取准确率等指标。最后,应用训练好的模型进行新数据预测。Scikit-learn为各阶段提供一站式支持,助力数据分析项目成功。
71 0
|
4月前
|
机器学习/深度学习 人工智能 算法
【机器学习】大模型训练的深入探讨——Fine-tuning技术阐述与Dify平台介绍
【机器学习】大模型训练的深入探讨——Fine-tuning技术阐述与Dify平台介绍
|
6月前
|
机器学习/深度学习 人工智能 运维
人工智能平台PAI产品使用合集之机器学习PAI可以通过再建一个done分区或者使用instance.status来进行部署吗
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
6月前
|
机器学习/深度学习 人工智能 API
人工智能平台PAI产品使用合集之机器学习PAI中的sample_weight怎么加在样本中
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
下一篇
无影云桌面