美文网首页
词袋模型(新闻文本分类)

词袋模型(新闻文本分类)

作者: MGK_Tracy | 来源:发表于2018-11-18 22:50 被阅读0次

            我们要用词袋模型进行文本分类,训练模型大致可以分为两步:第一步,用TF-IDF表示文本特征;第二步,把TF-IDF值和标签值送入分类模型训练。


        第一步用TF-IDF表示文本特征:     

                                     “TF-IDF值” = “TF值” ✖ “IDF值”     (在实操中,我们会把TF值进行归一化,以防止它偏向长文本)

        TF值:某个词(字)在文本(一段话)中出现的频率

        IDF值:某个词(字)在文本(一段话)中的普遍重要性的度量。某一词(字)的IDF值,可以由总文本数目除以包含该词(字)的文本的数目,再将得到的商取 10为底的对数。

这里我们使用sklearn中的TfidfVectorizer方法计算出TF-IDF值:

         首先看一下数据,此数据集为训练数据集,分为“频道”和“文章”两列,后面将使用这样的数据集来进行模型训练。

训练数据集

由于在文本中有许多没有用的词(字)和标点符号,所以要去停用词

TfidfVectorizer方法计算TF-IDF值

参数解释:

                tokenizer = jieba.lcut  用jieba分词中的精确模式;stop_words 定义停用词词典,会在结果中删除词典中包含的词;norm 表示对TF-IDF矩阵的每一行使用l2范数归一化; use_idf 表示在TF矩阵的基础上计算IDF,并相乘得到TF-IDF;smooth_idf 表示通过加1到文档频率平滑idf权重,为防止除零,加入一个额外的文档(防止计算IDF时出现除0的尴尬情况);sublinear_tf 表示使用 1+log(tf)替换原来的tf, True值表示使用    

                contents参数就是我们要计算成TF-IDF值的文本数据集(即文章那一列的数据)

得到的TF-IDF值:

计算出的TF-IDF值

我们可以看看这个词袋包含多少词:

词表中有25359个词


第二步,把TF-IDF值和标签值送入分类模型训练:

           我们在得到TF-IDF模型之后,我们还需要对频道那一列进行处理。频道那列其实就是标签值,包含娱乐,体育,音乐之类的类别。

            把频道那一列进行编码,得到标签值y ,再用刚刚训练好的tfidf模型计算出x值:

得到x和y

            这里我们在分割训练集和测试集时,不再直接用x,y来分割,因为此时数据量太大,会让分割时间变长,所以通过分割index值来得到训练集和测试集:

分割训练集和测试集

            这里使用逻辑回归模型:

训练模型

            训练完我们评估一下模型效果:

通过混淆矩阵可以观察其分类正确和错误的数量

最后保存模型:

保存模型

使用模型预测新的新闻文本:

                            加载保存的模型:

加载模型,并运用模型转换为词袋并预测

和实际类别进行比对:

预测值和实际值对比

总结:

            上面整个流程就是一个简单的通过词袋模型进行新闻文本分类,通过计算出TF-IDF值,再送入分类模型进行预测。

相关文章

  • 词袋模型(新闻文本分类)

    我们要用词袋模型进行文本分类,训练模型大致可以分为两步:第一步,用TF-IDF表示文本特征;第二步,把TF-IDF...

  • NLP 学习3

    Task3 基于机器学习的文本分类 文本表示方式 one-hot Bags of Words 词袋模型1.若采用只...

  • nlp面试题大全

    自然语言处理面试题 有哪些文本表示模型,它们各有什么优缺点? 词袋模型与N-gram  最基本的文本表示模型是词袋...

  • BOW模型

    1.BOW: Bag of words 词袋模型。2.Bg: 最初被用在文本分类中,将文档表示成特征矢量。它...

  • 用Py做文本分析4:文本向量化

    文本向量化即将信息数值化,方便后续的建模分析。 1.词袋模型 词袋模型将文本直接简化为一系列词的集合,然后对此编号...

  • 词袋模型

    词袋模型(Bag of words,简称 BoW ) 词袋模型假设我们不考虑文本中词与词之间的上下文关系,仅仅只考...

  • 情感分析

    步骤: 数据与输出重排打散 bag-of-words词袋模型词袋模型 n-gram模型将文本里面的内容按照字节进行...

  • 词向量构造 - Tf-idf模型

    前面我们总结过词袋模型,词袋模型将文本中所有不重复的词看作一个集合,然后对文本中的每句话进行编码。在句子中对于出现...

  • python文本相似度计算

    步骤 分词、去停用词 词袋模型向量化文本 TF-IDF模型向量化文本 LSI模型向量化文本 计算相似度 理论知识 ...

  • Python + 自然语言 + 分类

    两点前置知识 词袋法(词袋模型,bag of words):忽略文本中的词序、语法等信息,将文本视作词的集合,每一...

网友评论

      本文标题:词袋模型(新闻文本分类)

      本文链接:https://www.haomeiwen.com/subject/vxvgfqtx.html