Skip to content

Latest commit

 

History

History
189 lines (95 loc) · 12.1 KB

text-classification.md

File metadata and controls

189 lines (95 loc) · 12.1 KB

什么是文本分类?

原文:www.kdnuggets.com/2022/07/text-classification.html

什么是文本分类?

什么是文本分类?

文本分类是将文本分类到一个或多个不同类别中的过程,以组织、结构化和过滤任何参数。例如,文本分类用于法律文件、医学研究和文件,甚至是简单的产品评论。数据比以往任何时候都重要;公司在努力提取尽可能多的洞察力上花费了巨额资金。

由于文本/文档数据比其他数据类型更加丰富,因此利用它们的新方法是必需的。由于数据本质上是非结构化和极其丰富的,将数据组织成易于理解的方式可以极大地提高其价值。使用机器学习进行文本分类可以以更快、更经济的方式自动结构化相关文本。

我们将定义文本分类、其工作原理、一些最知名的算法,并提供可能帮助你开始文本分类之旅的数据集。

为什么使用机器学习文本分类?

  • **规模:**手动数据录入、分析和组织繁琐且缓慢。机器学习允许进行自动分析,无论数据集大小如何,都能适用。

  • **一致性:**由于疲劳和对数据集材料的麻木,人为错误会发生。机器学习通过算法的无偏见性和一致性提高了可扩展性,并显著提高了准确性。

  • **速度:**数据有时需要快速访问和组织。机器学习算法可以解析数据,以便以易于消化的方式提供信息。

开始使用 6 个通用步骤

什么是文本分类?

一些基本方法可以在一定程度上对不同的文本文档进行分类,但最常用的方法涉及机器学习。文本分类模型在部署之前会经历六个基本步骤。

1. 提供高质量的数据集

数据集是用于为我们的模型提供数据源的原始数据块。在文本分类的情况下,使用的是监督式机器学习算法,从而为我们的机器学习模型提供标记数据。标记数据是为我们的算法预定义的,并附有信息标签的数据。

2. 过滤和处理数据

由于机器学习模型只能理解数值,因此将提供的文本进行分词和词嵌入是模型正确识别数据所必需的。

分词是将文本文档拆分为称为令牌的更小片段的过程。令牌可以表示为整个单词、子单词或单个字符。例如,对“work smarter”进行分词可以这样做:

  • 令牌词:Smarter

  • 令牌子词:Smart-er

  • 令牌字符:S-m-a-r-t-e-r

词元化很重要,因为文本分类模型只能处理基于词元的数据,无法理解和处理完整的句子。进一步处理给定的原始数据集将有助于我们的模型轻松消化给定的数据。移除不必要的特征,过滤掉空值和无限值等。对整个数据集进行洗牌有助于在训练阶段防止任何偏差。

3. 将数据集拆分为训练集和测试集

我们希望在数据集的 80%上训练我们的数据,同时保留 20%的数据集以测试算法的准确性。

4. 训练算法

通过使用训练数据集运行我们的模型,算法可以通过识别隐藏的模式和洞察,将提供的文本分类到不同的类别中。

5. 测试和检查模型的性能

接下来,使用步骤 3 中提到的测试数据集测试模型的完整性。测试数据集将是未标记的,用于测试模型的准确性与实际结果的对比。为了准确测试模型,测试数据集必须包含新的测试案例(与之前的训练数据集不同的数据),以避免过拟合我们的模型。

6. 调整模型

通过调整模型的不同超参数来调整机器学习模型,避免过拟合或产生高方差。超参数是控制模型学习过程的参数。你现在准备好进行部署了!

文本分类是如何工作的?

词嵌入

在前面提到的过滤过程中,机器学习和深度学习算法只能理解数值,这迫使我们对数据集进行一些词嵌入技术。词嵌入是将词表示为实值向量的过程,这些向量可以编码给定词的含义。

  • **Word2Vec:**一种由 Google 开发的无监督词嵌入方法。它利用神经网络从大型文本数据集中学习。顾名思义,Word2Vec 方法将每个词转换为一个给定的向量。

  • **GloVe:**也称为全局向量,是一种无监督的机器学习模型,用于获取词的向量表示。类似于 Word2Vec 方法,GloVe 算法将词映射到有意义的空间中,其中词与词之间的距离与语义相似性相关。

  • **TF-IDF:**是词频-逆文档频率的缩写,TF-IDF 是一种词嵌入算法,用于评估词在给定文档中的重要性。TF-IDF 为每个词分配一个得分,以表示它在一组文档中的重要性。

文本分类算法

这里是三种最著名和有效的文本分类算法。请记住,每种方法中都包含了进一步定义的算法。

1. 线性支持向量机

被认为是最好的文本分类算法之一,线性支持向量机算法将给定数据点根据其提供的特征进行绘制,然后绘制最佳拟合线,将数据分割并分类到不同的类别中。

什么是文本分类?

2. 逻辑回归

逻辑回归是回归的一个子类,主要关注分类问题。它使用决策边界、回归和距离来评估和分类数据集。

什么是文本分类?

3. 朴素贝叶斯

朴素贝叶斯算法根据提供的特征对不同的对象进行分类。然后它绘制组边界,以推断这些组分类,以解决和进一步分类。

什么是文本分类?

设置文本分类时需要避免的事项

数据过度拥挤

向算法提供低质量的数据会导致未来的预测不佳。然而,机器学习从业者常见的一个问题是将过于详细的数据集喂入训练模型,其中包括不必要的特征。用无关数据填充数据可能会导致模型性能下降。在选择和组织数据集时,少即是多。

错误的训练与测试数据比例会严重影响模型的性能,并影响数据的混洗和过滤。拥有不受其他不必要因素影响的精确数据点,可以使训练模型更高效地执行。

在训练模型时选择符合模型要求的数据集,过滤掉不必要的值,混洗数据集,并测试最终模型的准确性。更简单的算法消耗的计算时间和资源更少;最佳模型是那些能够解决复杂问题的最简单模型。

过拟合与欠拟合

模型的准确率在训练达到峰值后,会随着训练的继续而逐渐下降。这被称为过拟合;模型开始学习意图之外的模式,因为训练时间过长。在训练集上达到高准确率时要小心,因为主要目标是开发其准确率基于测试集(模型未见过的数据)的模型。

另一方面,欠拟合是指训练模型仍有改进空间,尚未达到其最大潜力。训练不充分的模型可能是由于训练时间过短或对数据集过度正则化。这说明了拥有简洁而精确数据的重要性。

在训练模型时找到最佳点至关重要。将数据集分割为 80/20 是一个好的开始,但调整参数可能是你的具体模型所需的,以达到最佳性能。

错误的文本格式

虽然在本文中没有过多提及,但为文本分类问题使用正确的文本格式将带来更好的结果。一些表示文本数据的方法包括GloVeWord2Vec嵌入模型

使用正确的文本格式将改善模型读取和解释数据集的方式,从而帮助其理解模式。

文本分类应用

什么是文本分类?

  • 过滤垃圾邮件: 通过搜索特定的关键词,可以将电子邮件分类为有用或垃圾邮件。

  • 文本分类: 通过使用文本分类,应用程序可以将不同的项目(文章、书籍等)分类到不同的类别中,方法是对相关文本(如项目名称、描述等)进行分类。使用这种技术可以改善用户体验,因为它使用户在数据库中浏览变得更加容易。

  • 识别仇恨言论: 某些社交媒体公司使用文本分类来检测和禁用带有冒犯性言辞的评论或帖子,例如禁止在多人儿童游戏中输入任何形式的脏话。

  • 市场营销与广告: 通过了解用户对特定产品的反应,公司可以进行具体的调整以满足客户需求。它还可以根据用户对类似产品的评论推荐某些产品。文本分类算法可以与推荐系统结合使用,推荐系统是许多在线网站用来获取回头客的深度学习算法之一。

流行的文本分类数据集

由于有大量标记好且可直接使用的数据集,你总能找到与模型要求匹配的完美数据集。

虽然在选择使用哪个数据集时可能会遇到一些问题,但在接下来的部分中,我们将推荐一些最著名的公共数据集。

Kaggle 这样的网站提供了各种涵盖所有主题的数据集。试着在上述提到的数据集上运行你的模型以进行实践!

机器学习中的文本分类

随着机器学习在过去十年里产生了巨大的影响,各家公司都在尝试各种方法利用机器学习来自动化流程。评论、评论、帖子、文章、期刊和文档都在文本中具有无价的价值。利用文本分类以多种创造性方式提取用户洞察和模式,公司可以做出有数据支持的决策;专业人员可以比以往更快地获得和学习有价值的信息。

Kevin Vu 管理 Exxact Corp 博客,并与许多撰写有关深度学习不同方面的才华横溢的作者合作。

原文。已获许可转载。


我们的前三个课程推荐

1. 谷歌网络安全证书 - 快速进入网络安全职业轨道。

2. 谷歌数据分析专业证书 - 提升你的数据分析技能

3. 谷歌 IT 支持专业证书 - 支持你的组织 IT


更多相关话题