跳到主要内容

文本分类

1.功能简介

文本分类(Text Classification)是自然语言处理(NLP)领域最基础且应用最广的技术之一,是利用人工智能算法,让计算机自动理解文本含义并将其归入预设类别的技术。简单来说,它就是让计算机阅读一段文本(短语、句子或文章),并根据其内容自动打上预定义的“标签”或归入特定的“类别”。

文本分类在我们日常生活中无处不在,以下是一些典型例子:

  • 垃圾邮件过滤:自动识别邮件是“正常”还是“垃圾”。
  • 情感分析:判断用户的评论是“正面”、“负面”还是“中性”(常用于电商口碑监控)。
  • 新闻分类:将海量新闻自动归类为“体育”、“财经”、“科技”或“娱乐”。
  • 意图识别:智能客服识别用户说话的意图,比如是想“修改密码”还是“查询余额”。
  • 语言检测:自动判断一段文字是用哪种语言编写的。

image-20260323144005974

2.核心原理

通过我们的文本分类,你可以轻松训练出一个专属的“文本理解模型”,赋予项目智能交互的能力。该功能通过TensorFlow.js的底层能力实现文本分类,其核心原理是迁移学习(Transfer Learning)

需要注意的是,当你提供少量的样本进行训练时,该功能并不是从零开始学习,而是在已有的语言认知基础上,快速建立起你所定义的“关键词”与“标签”之间的映射关系。这使得你只需少量的例子,就能训练出高准确度的模型。

它是使用了一个已经在大规模文本数据上训练好的“预训练模型”。简单来说,系统已经预先学习了海量的语言特征(比如词汇关系、语法结构),具备了基础的“语言感悟力”。

  • 大规模预训练:预训练模型已经掌握了语言的通用特征(如词义、语法结构)。
  • 自定义微调:当你输入自己的文本示例时,你实际上是在告诉模型:“在你的语言基础上,把这类词汇与标签 A 联系起来,把那类词汇与标签 B 联系起来。”

image-20260323143935145

3.功能加载

如果仅需体验模型训练与测试,可通过KZone人工智能教育平台进入,在【AI体验馆】下的【AI学习】板块中找到【文本分类】的功能,点击后进入即可,跳转链接如下:

https://kzone2.kittenbot.cn/ai-lab

image-20260323144023814

如果想在Kittenblock图形化编程平台中进一步使用训练好的模型,则通过左下角的【添加拓展】进入拓展界面,在【角色拓展】中添加【可视化机器学习】。添加后回到编程界面,在相关插件下点击【模型训练工具】即可选择【文本分类】,Kittenblock跳转链接如下:

https://kblock.kittenbot.cn/

img

在KZone上训练好的模型,也可以通过下载与导入的方式,在Kittenblock中使用,具体使用方法在下面会进行说明。

4.实验流程

a.收集与分类

首先,你需要定义想要识别的“标签”,也就是创建不同的“类”(Classes)。随后为每个类添加文本分类。例如,如果你想做一个电影评论分类器,你会创建两个类:

  • Class 1 (正面):输入“太棒了”、“演技炸裂”、“值得二刷”等例子。
  • Class 2 (负面):输入“浪费时间”、“剧情拉胯”、“睡着了”等例子。

注意:每个类提供的样本越多、越多样化、越有代表性,模型的准确度就越高。例如,若要识别“开灯”指令,建议输入“请把灯打开”、“开灯”、“太暗了点亮灯”等多种表达方式。

image-20260323145302340

b.模型训练

点击【模型训练】后,系统将利用本地算力(CPU/GPU)进行实时的特征提取与参数调优。模型会自动学习文本中的语义模式与关键词分布,通过反复迭代优化,在后台构建出一套专属的分类逻辑,确保能够快速、准确地识别您定义的各种类别。点击【数据图表】,可以查看学习数据。

  • Epochs(周期数):模型完整查看一遍所有数据次数。
  • Batch Size(批次大小):每次学习时处理的数据量。
  • Learning Rate(学习率):模型在每次更新参数时步进的幅度

img

c.测试与调整

训练完成后,你可以在输入框中输入一段模型从未见过的文字。

  • 反馈:模型会给出一个置信度评分(例如:90% 正面,10% 负面)。
  • 调优:如果预测错了,你需要检查是不是数据量不够,或者两类样本中有太多重复的干扰词。

img

d.导出与应用

训练好的模型可以直接与积木块或代码逻辑挂钩,通过简单的代码调用这个模型。

  • 应用: 当模型识别出特定的类别时,你可以触发后续动作。比如识别到“开心”的情绪,让硬件屏显示笑脸;识别到“前进”指令,驱动机器人移动。

无论你是在KZone训练还是在Kittenblock训练,都可以直接下载模型,方便下一次使用。

img

在Kittenbkock中,在相关插件下点击【模型训练工具】即可选择【导入训练项目】,此时可导入之前下载好的模型。如果需要调整模型,则可以点击【编辑训练】

img

模型导入后或者你是在Kittenblock中直接训练完模型,则可以点击【使用模型】,跳转编程界面。

image-20260323144857321

文本分类的相关积木及其作用如下:

积木作用
image-20260323144935411输入文本并调用模型分析
img模型判断输入文本是否属于特定分类标签
(返回truefalse,用于在程序中判断是否识别到对应分类名称)
img模型判断当前输入属于哪种分类标签
img判断当前输入属于哪种分类标签
(虽然被识别到的分类只取可信度最高的,但其他分类也存在可信度且可以被获取。例如只有2个分类的时候,识别A的分类可信度是80%,那么B一定是20%)

基础应用1

显示当前的分类标签与可信度

image-20260323142642025

基础应用2

识别到特定标签后播放对应音乐

image-20260323142741400

5.综合案例

使用文本分类,通过回答来判断是否是好评。

image-20260323143101003