每天分享最新软件开发,Devops,敏捷,测试以及项目管理最新,最热门的文章,每天花3分钟学习何乐而不为,希望大家点赞,评论,加关注,你的支持是我最大的动力。
文本分类是将文本分类为一个或多个不同的类,以便组织、结构化和过滤到任何参数的过程。例如,文本分类用于法律文件、医学研究和文件,或者像产品评论一样简单。数据比以往任何时候都更加重要; 企业正在投入大量资金,试图提取尽可能多的见解。
由于文本/文档数据比其他数据类型更加丰富,因此利用它们的新方法势在必行。由于数据本质上是非结构化的并且极其丰富,因此以易于理解的方式组织数据可以极大地提高数据的价值。将文本分类与机器学习结合起来,可以更快、更经济地自动构建相关文本。
我们将定义文本分类,它是如何工作的,它的一些最知名的算法,并提供数据集,可能有助于开始您的文本分类之旅。
为什么使用机器学习文本分类?- Scale: 比例:手工数据输入、分析和组织都是乏味而缓慢的。机器学习允许自动分析,可以应用到数据集,无论大小
- Consistency: 一致性:人为错误是由于疲劳和对数据集中的材料脱敏造成的。由于算法的无偏性和一致性,机器学习增加了可扩展性,并大大提高了准确性
- Speed: 速度:有时可能需要快速访问和组织数据。机器学习算法可以通过解析数据来以易于理解的方式传递信息
一些基本的方法可以在一定程度上对不同的文本文档进行分类,但最常用的方法是机器学习。文本分类模型在部署之前要经历六个基本步骤。
1. 提供高质量的数据集数据集是作为数据源使用的原始数据块,用于为我们的模型提供动力。在文本分类的情况下,使用了监督式学习算法,从而为我们的机器学习模型提供了带标签的数据。标记数据是为我们的算法预定义的数据,并附加了一个信息标签。
2. 数据的过滤和处理由于机器学习模型只能理解数值,所以为了正确识别数据,必须对所提供的文本进行标记化和字嵌入。
令牌化是将文本文档拆分为更小的部分的过程,称为令牌令牌,令牌可以表示为整个单词、子单词或单个字符。例如,对工作进行更聪明的标记可以这样做:
- Token Word: Smarter
- Token Subword: Smart-er
- Token Character: 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. 线性支持向量机线性支持向量机算法被认为是最好的文本分类算法之一,它将给定的数据点与其给定的特征进行绘图,然后绘制一条最适合的线,将数据分成不同的类别。
Logit模型Logit模型是回归的一个子类别,主要集中在分类问题上。它使用决策边界、回归和距离来评估和分类数据集。
3. Naive BayesNaive Bayes算法根据所提供的特征对不同的对象进行分类。然后绘制群体边界,对群体分类进行外推,进一步求解和分类。
建立文本分类时应避免什么过度挤迫的训练资料
向算法提供低质量的数据将导致对未来的预测很差。然而,在机器学习实践者中,一个非常普遍的问题是向训练模型输入过于详细的数据集,其中包括不必要的特征。过度拥挤的数据与不相关的数据可能会导致模型性能的下降。在选择和组织数据集时,少即是多。
测试数据比率的错误训练将极大地影响模型的性能,并影响洗牌和过滤。有了精确的数据点,不会因为其他不必要的因素而产生偏差,训练模型将能更有效地执行。
在训练模型时,选择一个符合模型要求的数据集,过滤不必要的值,重新组合数据集,并测试最终模型的准确性。更简单的算法需要更少的计算时间和资源; 最好的模型是能够解决复杂问题的最简单的模型。
Overfitting and Underfitting当训练达到一个高峰时,模型的准确性随着训练的继续而逐渐降低。这被称为过度拟合; 由于训练持续时间过长,模型开始学习意想不到的模式。在训练集上实现高精度时要小心,因为主要目标是开发精度植根于测试集的模型(模型以前没有见过的数据)。
另一方面,不适合是当培训模式仍然有改进的空间,尚未达到其最大潜力。训练不足的模型源于训练的时间长度或对数据集的过度规范化。这说明了拥有简明而精确的数据的重要性。
在训练模特时找到最佳位置是至关重要的。分割数据集80/20是一个很好的开始,但是调优参数可能是您的特定模型需要执行的最佳操作。
文本格式不正确虽然在本文中没有重点提到,但是对于文本分类问题使用正确的文本格式将导致更好的结果。表示文本数据的一些方法包括 GloVe、 Word2Vec 和嵌入模型。
使用正确的文本格式将改进模型读取和解释数据集的方式,并反过来帮助它理解模式。
文本分类应用程序- Filtering Spam: 过滤垃圾邮件:通过搜索特定的关键字,电子邮件可以分为有用的或垃圾邮件
- Categorizing Text: 分类文字:通过使用文本分类,应用程序可以通过对相关文本(如项目名称、描述等)进行分类,将不同的项目(文章、书籍等)分为不同的类别。使用这些技术可以改善体验,因为它使用户更容易在整个数据库中导航
- Identifying Hate Speech: 识别仇恨言论:某些社交媒体公司使用文本分类来检测和禁止带有攻击性语气的评论或帖子,因为它们不允许在多人儿童游戏中打出任何形式的脏话并进行聊天
- Marketing and Advertising: 营销与广告:公司可以通过了解用户对某些产品的反应来做出特定的更改以满足客户的需求。它还可以根据用户对类似产品的评论推荐某些产品。文本分类算法可以与推荐系统结合使用,推荐系统是另一种深度学习算法,许多在线网站使用它来获得重复业务
随着大量的标签和现成的使用数据集,您总是可以搜索完美的数据集,以符合您的模型的要求。
虽然在决定使用哪个数据集时可能会遇到一些问题,但在接下来的部分中,我们将推荐一些最知名的数据集,供公众使用。
- IMDB Dataset
- Amazon Reviews Dataset
- Yelp Reviews Dataset
- SMS Spam Collection
- Opin Rank Review Dataset
- Twitter US Airline Sentiment Dataset
- Hate Speech and Offensive Language Dataset
- Clickbait Dataset
像 Kaggle 这样的网站包含了涵盖所有主题的各种数据集。尝试在上面提到的两个数据集上运行您的模型,以便进行实践
机器学习中的文本分类随着机器学习在过去的十年里产生了巨大的影响,各公司都在尝试各种可能的方法来利用机器学习来实现过程的自动化。评论、评论、帖子、文章、期刊和文档在文本中都具有无价的价值。随着文本分类在许多创造性的方法中被用来提取用户的见解和模式,公司可以在数据的支持下做出决定; 专业人员可以比以往更快地获得和学习有价值的信息。