机器学习文本分类

文本预处理

​ 是比较重要的步骤,对分类效果的影响至关重要。预处理就是去除没用的信息,同时把有用文本信息用数字表示,这样才可以为计算机处理。文本预处理主要包括分词、去除停用词和特殊符号。

分词

英文分词

​ 英文的基本单位是单词,可以根据空格和标点符号进行分词,然后再提取词根和词干。

中文分词

​ 中文的基本单位是字,需要一些算法来进行分词:

基于词典与规则的方法
基于统计的方法
基于理解的分词算法

去停用词

指文本处理过程中遇到立即进行处理将它们扔掉的词,主要包括数字、数学符号、虚词以及文本中的高频词。其中,虚词包括语气助词、连词、介词、副词等,它们本身没有实际意义,不能单独表达文本的相关信息,与文本类别没有关联,在考虑每一个词的文本处理过程中基本没有帮助。删除它们可以有效地节省存储空间,并且提高关键词密度。文本中的高频词是指在所有类别中频繁出现的词,例如英语中的“we”、“use”、“like”,中文中的“可以”、“自己”、“按照”等。它们在每个类中都出现多次,不具有区分类别的能力。目前去停用词的方法是构建停用词表,根据停用词表对要进行分类的文本进行处理,从文本中将出现在停用词表中的词删除。

文本表示

布尔模型

​ 布尔模型将文本表示为一个特征词序列,它认为特征词在文本中只存在两种状态,即出现和不出现,若特征词在文本中出现,将特征词设为 0,若特征词在文本中未出现,将特征词设为 1。这种方法虽然很简洁方便,但也存在很大的缺陷,导致对文本内容的分析太过于片面,有较高的局限性,在实际研究中一般情况下不会单独应用。

向量空间模型(Vector Space Model ,VSM)

​ VSM模型指将文本中出现的单词用向量表示,每一篇文本就是一个向量,其中的每一列是文本中特征词出现的个数,重复的特征词在向量中只出现一次。(文本d={w1,w2,…wn})

词袋模型

​ 如:“We have bigger houses,but smaller families;more conveniences,but less time;we have more degrees,but less common sense;more knowledge,but less judgement;more experts,but more problems;more medicine,but less wellness.”用词频表示成文本向量的形式为:

机器学习文本分类_第1张图片

​ 但在实际应用中,很多词都不会出现,所以实际是一个稀疏矩阵

机器学习文本分类_第2张图片

​ 每一行表示一篇文章,每一列为一个特征词。

机器学习文本分类_第3张图片

词向量模型(Word Embedding)

​ embedding矩阵可以是自己随机生成的也可以用训练后的embedding,随机的embedding并不精确。将文本中的单词替换为embedding中单词对应的向量。得到一个单词数*embedding_dim的矩阵。首先为文本中的词设置索引,每个单词有独自的索引,如果是自动生成的embedding则直接将单词替换为embedding中与词的索引对应行的值,就会将二维的矩阵转换为3维的数据。


机器学习文本分类_第4张图片

特征选择

查阅网上博客论文,发现很多文章将特征选择和特征处理混淆,直到看见文章中解释的很清楚,使用互信息,卡方检验等为特征的重要性打分,再通过设置阈值或者排序选择来进行降维处理也就是特征选择。此时的打分表示的是特征对文本类别的重要性。分值越高越能代表某一类。

特征处理

与之前的特征选择不同的是,这个步骤的打分是各个特征在当前文本的特征权重。

TF-IDF

在这里插入图片描述

​ TF-IDF的原理:当某个特征词,集中出现在少数文章中,那这个特征词会得到较高的TF-IDF值,反应这个特征词具有很好的类别区分能力;反之,当某个特征词频繁出现在大多数文章中,那这个特征词会得到较低的TF-IDF值,反应这个特征词类别区分能力较弱.

分类方法

朴素贝叶斯

机器学习文本分类_第5张图片

之后有空再写

你可能感兴趣的:(python,自然语言处理,机器学习)