机器学习中的文本分类是什么?

机器学习中的文本分类是什么?

我们将定义文本分类、它的工作原理、一些常见的算法,并提供可能有助于你开始文本分类之旅的数据集。如果你想了解更多关于机器学习的相关内容,可以阅读以下这些文章:
机器学习在安全领域撒过的美丽的谎言
机器学习的一站式library清单
你知道吗?SQL也能做机器学习!
群体学习(Swarm Learning)的工作原理——结合区块链和机器学习的更优解决方案

什么是文本分类?

文本分类是将文本分为一个或多个不同类别,以组织、构造和过滤成任何参数的过程。

例如,文本分类用于法律文件、医学研究和文件,或者像产品评论一样简单。数据比以往任何时候都更重要;公司正花费巨资获取更多的见解。

随着文本/文档数据比其他数据类型更加丰富,利用它们的新方法势在必行。由于数据本质上是非结构化的,且极其丰富,因此以易于理解的方式组织数据,可以大大提高其价值。将文本分类与机器学习结合,可以以更快、更具成本效益的方式自动构建相关文本。

我们将定义文本分类、它的工作原理、一些常见的算法,并提供可能有助于开始文本分类之旅的数据集。

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

  • 规模:手动数据输入、分析和组织既繁琐又缓慢。无论数据集大小,机器学习都允许对数据集进行自动分析。
  • 一致性:人为错误是疲劳和对原始数据不敏感产生的。由于算法的无偏性和一致性,机器学习提高了可扩展性和准确性。
  • 速度:有时可能需要快速访问和组织数据。机器学习算法可以解析数据,以易于理解的方式传递信息。

6 个通用步

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

1 提供高质量的数据集

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

2 过滤和处理数据

由于机器学习模型只能理解数值,因此,为了使模型正确识别数据,必须对所提供的文本进行Tokenization和单词嵌入。

Tokenization是将文本拆分为小片段(Tokens)的过程。Tokens可以表示整个单词、子单词或单个字符。例如,可以这样更智能地标记工作:

  • Token Word: Smarter
  • Token Subword: Smart-er
  • Token Character: S-m-a-r-t-e-r

Tokenization很重要,因为文本分类模型只能处理基于Token的数据,不能理解和处理完整的句子。模型需要进一步处理给定的原始数据集,才能轻松消化给定的数据。删除不必要的特征,过滤掉空值和无限值等等。清洗整个数据集将有助于防止在训练阶段出现偏差。

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

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

4 训练算法

通过使用训练集运行模型,该算法可以通过识别隐藏的模式和见解,将提供的文本分为不同的类别。

5 测试和检查模型的性能

接下来,使用步骤3中提到的测试集测试模型的完整性。测试集没有标记,它根据实际结果测试模型的准确性。为了准确地测试模型,测试集必须包含新的测试用例(与以前的训练集不同的数据)避免过拟合模型。

6 调整模型

通过调整模型的不同超参数来优化机器学习模型,而不会过拟合或产生高方差。超参数是一个控制模型学习过程的参数。现在可以部署!

文本分类是如何工作的?

词嵌入(Word Embedding)

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

  • Word2Vec:谷歌开发的一种无监督词嵌入方法。它利用神经网络从大型文本数据集中学习。顾名思义,Word2Vec方法将每个单词转换为给定的向量。
  • GloVe:也称为全局向量,是一种无监督机器学习模型,用于获取单词的向量表示。与Word2Vec方法类似,GloVe算法将单词映射到有意义的空间中,其中单词之间的距离与语义相似度有关。
  • TF-IDF:Term Frequency-Inverse Document Frequency的缩写,TF-IDF是一种词嵌入算法,用于评估一个单词在给定文档中的重要性。TF-IDF为每个单词分配一个给定的分数,以表示其在一组文档中的重要性。

文本分类算法

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

1 线性支持向量机

线性支持向量机算法被认为是目前最好的文本分类算法之一,它绘制与其给定特征相关的数据点的图,然后绘制一条最佳拟合线,将数据拆分并划分为不同的类别。

2 逻辑回归

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

3 朴素贝叶斯

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

设置文本分类时应避免什么

  • 过多的训练数据

为算法提供低质量数据将导致预测效果不佳。然而,机器学习从业者中一个非常普遍的问题是向训练模型提供的数据集过于详细,其中包含不必要的特征,这可能会导致模型性能下降。在选择和组织数据集时,越少越好。

错误的训练集与测试集比率会极大地影响模型的性能,以及数据的清洗和过滤。排除掉这些不必要的因素后,训练模型的执行将更加有效。

训练模型时,选择符合模型要求的数据集,过滤不必要的值,打乱数据集,并测试最终模型的准确性。更简单的算法需要更少的计算时间和资源;最好的模型是能够解决复杂问题的最简单模型。

  • 过拟合和欠拟合

当训练达到峰值时,随着继续训练,模型的准确性逐渐降低。这称为过拟合;由于训练持续时间过长,模型学习开始到非预期模式。在训练集上达到较高的准确性时就要注意了,因为主要目标是开发在测试集上准确性较高的模型(模型以前没有见过的数据)

另一方面,欠拟合是指训练模型仍有改进的空间,尚未达到其最大潜力。训练不佳的模型源于训练时间的长度或对数据集过度正则化。这体现了拥有简洁精确的数据的意义。

在训练模型时找到最佳位置至关重要。将数据集拆分为80/20是一个好的开始,但调整参数可能是特定模型达到最佳性能的操作。

  • 不正确的文本格式

虽然本文中没有大量提到,但在文本分类问题中使用正确的文本格式将会有更好的结果。表示文本数据的一些方法包括GloVe、Word2Vec和Embedding模型。

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

文本分类应用

  • 过滤垃圾邮件:通过搜索特定关键字,可以将电子邮件分为有用或垃圾邮件。
  • 文本分类:通过使用文本分类,应用程序可以通过对相关文本(如项目名称、描述等)进行分类,将不同的项目(文章、书籍等)分为不同的类别。使用此类技术可以改善体验,它使用户更容易在数据库中导航。
  • 识别不良言论:某些社交媒体公司使用文本分类来检测和禁止带有攻击性行为的评论或帖子,不允许在多人儿童游戏中发表任何形式的不良言论。
  • 营销和广告:公司可以通过了解用户对某些产品的反应来做出具体的改变,以满足客户的需求。它还可以根据用户对类似产品的评论推荐某些产品。文本分类算法可以与推荐系统结合使用,推荐系统是许多在线网站用来获得业务的另一种深度学习算法。

流行的文本分类数据集

有大量标记且随时可用的数据集,可以随时搜索符合模型要求的完美数据集。

Kaggle网站涵盖了所有主题的各种数据集。可以尝试在以下几个数据集上运行你的模型进行练习!

  • IMDB Datasethttps://www.kaggle.com/datasets/lakshmi25npathi/imdb-dataset-of-50k-movie-reviews
  • Amazon Reviews Datasethttps://www.kaggle.com/datasets/bittlingmayer/amazonreviews
  • Yelp Reviews Datasethttps://www.kaggle.com/datasets/yelp-dataset/yelp-dataset
  • SMS Spam Collectionhttps://www.kaggle.com/datasets/uciml/sms-spam-collection-dataset
  • Opin Rank Review Datasethttps://archive.ics.uci.edu/ml/datasets/opinrank+review+dataset
  • Twitter US Airline Sentiment Datasethttps://www.kaggle.com/datasets/crowdflower/twitter-airline-sentiment
  • Hate Speech and Offensive Language Datasethttps://github.com/t-davidson/hate-speech-and-offensive-language
  • Clickbait Datasethttps://github.com/bhargaviparanjape/clickbait

机器学习中的文本分类

随着机器学习在过去十年中产生了巨大的影响,公司正在尝试各种可能的方法来利用机器学习来自动化流程。评论、帖子、文章、期刊和文档在文本中都具有无限价值。

文本分类以多种创新方式用于提取用户见解和模式,公司可以根据数据做出决策,专业人士可以比以往更快地获取和学习有价值的信息,感谢阅读。你还可以订阅我们的YouTube频道,观看大量大数据行业相关公开课:https://www.youtube.com/channel/UCa8NLpvi70mHVsW4J_x9OeQ;在LinkedIn上关注我们,扩展你的人际网络!https://www.linkedin.com/company/dataapplab/

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

原文作者:Kevin Vu
翻译作者:明慧
美工编辑:过儿
校对审稿:Miya
原文链接:https://www.kdnuggets.com/2022/07/text-classification.html