本文为您介绍如何通过PAI提供的文本类组件,快速构建文本分类模型。

背景信息

新闻分类是文本挖掘领域较为常见的场景。很多媒体或内容生产商对于新闻文本的分类通常采用手工标注的方式,消耗了大量的人力资源。PAI提供的智能文本挖掘算法可以实现新闻文本分类自动化(包括分词、词型转换、停用词过滤、主题挖掘及聚类等流程)。本实验首先通过PLDA算法挖掘文章的主题,然后进行主题权重聚类,从而实现新闻自动分类。
说明 本实验数据为虚构数据,仅用于学习。

数据集

本实验数据的具体字段如下。
字段名 类型 描述
category STRING 新闻类型,包括体育、女性、社会、军事及科技等。
title STRING 新闻标题。
content STRING 新闻内容。
实验的示例数据如下。示例数据

基于文本分析算法实现新闻分类

  1. 进入PAI-Studio控制台。
    1. 登录PAI控制台
    2. 在左侧导航栏,选择模型开发和训练 > Studio-可视化建模
    3. PAI可视化建模页面,单击进入机器学习进入机器学习
  2. 构建实验。
    1. 在PAI-Studio控制台的左侧导航栏,单击首页
    2. 模板列表,单击【文本分析】新闻分类下的从模板创建
    3. 新建实验对话框,配置参数(可以全部使用默认参数)。
      参数 描述
      名称 输入【文本分析】新闻分类
      项目 不支持修改。
      描述 输入通过主题模型,实现文本分类流程
      位置 选择我的实验
    4. 单击确定
    5. 可选:等待大约十秒钟,在PAI-Studio控制台的左侧导航栏,单击实验
    6. 可选:我的实验下,单击【文本分析】新闻分类_XX
      其中我的实验为已配置的实验位置【文本分析】新闻分类_XX为已配置的实验名称_XX为系统自动添加的实验序号)。
    7. 系统根据预置的模板,自动构建实验,如下图所示。
      新闻分类实验
      区域 描述
      增加序列号。本实验的数据源以单个新闻为单元,需要增加ID列作为每篇新闻的唯一标识,便于算法计算。
      分词及词频统计。首先使用分词组件对content字段(新闻内容)进行分词。然后对过滤停用词后的文本进行词频统计。
      过滤停用词,通常过滤标点符号及对文章影响较小的助语等。
      挖掘文本主题:
      1. PLDA文本挖掘组件的输入必须为三元形式,因此使用三元组转kv组件将文本转换为三元形式(文本转换为数字)。
        其中:
        • append_id:每篇新闻的唯一标识。
        • key_value:冒号前面的数字表示单词抽象成的数字标识,冒号后面的数字表示对应的单词出现频率。
      2. 使用PLDA组件训练模型。

        PLDA算法(主题模型)可以定位每篇文章的主题词语。本实验配置了50个主题,PLDA组件的第五个输出桩输出每篇文章对应每个主题的概率。

      结果分析和评估。通过以上步骤已经将文本从主题维度转换成了向量,可以通过向量距离实现聚类,从而实现文本分类。
  3. 运行实验并查看模型效果。
    1. 单击画布上方的运行
    2. 实验运行结束后,右键单击画布中的K均值聚类-1,在快捷菜单,单击查看数据 > 查看输出桩1,即可查看分类结果。
      分类结果其中:
      • cluster_index:表示每一类的名称。
      • append_id:每篇新闻的唯一标识。例如,第115、292、248及166篇新闻都属于第0类。
    3. 右键单击画布中的过滤与映射-1,在快捷菜单,单击查看数据,即可查看append_id为115、292、248及166的新闻。
      新闻分类结果本实验的新闻分类结果不够理想(两篇体育类、一篇财经类及一篇科技类新闻分到了同一类中),主要原因如下:
      • 实验数据量较小。
      • 仅针对业务场景介绍文本分析算法的使用方法,未对数据集进行特征工程处理及细节调优。
      因为本实验模板已为过滤与映射-1配置了过滤条件,所以您可以直接查看append_id为115、292、248及166的新闻。如果需要查看其它新闻,则可以参见如下示例,将过滤与映射-1组件的过滤条件配置为相应的新闻ID。
      append_id=292 or append_id=115  or append_id=248 or append_id=166 ;