七、朴素贝叶斯中文文本分类

1.朴素贝叶斯中文文本分类

  • 中文分词
  • 停用词
  • 朴素贝叶斯中文分类举例:新闻文档分类
  • 朴素贝叶斯中文分类的具体过程:加载停用词、中文分词、文本向量化、模型训练和保存、模型的加载和预测。
    在这里插入图片描述

2 中文分词

2.1 中文的分词的作用

  • 在中文自然语言处理中,词是最小的能够独立活动的有意义的语言成分。汉语是以字为基本书写单位,词语之间没有明显的区分标记,因此进行中文自然语言处理通常是先将汉语文本中的字符串切分成合理的词语序列,然后再在此基础上进行其它分析处理。

2.2 对文档分词

  • 常用的分词工具包括:jieba、THULAC和pkuseg
  • 一篇文档是由若干词汇组成的,也就是文档的主要信息是词汇。
  • 可以使用一些关键词来描述文档,提取文档中的关键词,就需要对文档进行分词
    在这里插入图片描述

2.3 jieba分词

  • jieba是一款非常流行中文开源分词包,具有高性能、准确率、可扩展性等特点。
  • jieba支持四种分词模式:精确模式、搜索引擎模式、全模式和paddle模式。
    在这里插入图片描述

3 结巴分词的实现

在这里插入代码片
import jieba


# jieba分词
def method():
    seg_list = jieba.cut("我们正在学习自然语言处理", cut_all=False)
    print("【精确模式】:\t" + "/ ".join(seg_list))  # 精确模式,默认

    seg_list = jieba.cut_for_search("我们正在学习自然语言处理")
    print("【搜索引擎模式】:\t" + "/ ".join(seg_list))  # 搜索引擎模式

    seg_list = jieba.cut("我们正在学习自然语言处理", cut_all=True)
    print("【全模式】:\t\t" + "/".join(seg_list))  # 全模式

    seg_list = jieba.cut("我们正在学习自然语言处理", use_paddle=True)  # 使用paddle模式
    print("【paddle模式】:\t" + '/ '.join(list(seg_list)))


# main方法
def main():
    method()


if __name__ == '__main__':
    main()

4 停用词

4.1 停用词的作用

  • 停用词是一些非常普遍使用的词语,对文档分析作用不大,在文档分析之前需要将这些词去掉 。
  • 中文停用词:“你,我,他,它,的,了” 等。
  • 英文停用词:“is,a,the,this,that” 等。
  • 停用词文件:停用词一般保存在文件中,需要自行读取。

5 新闻文档分类

5.1 中文分别分类:新闻文档分类

  • 新闻文档报道,假设主题有三种类型:娱乐、政治、体育,假设现在有一篇新闻文档x,请预测x属于哪种新闻类型?

具体思路

  • 计算x属于娱乐新闻,政治新闻,体育新闻的三个概率值,然后比较哪个概率值大,就把X分到这个类别中。

贝叶斯公式计算可得:
在这里插入图片描述
步骤一:

  • 搜集10000篇关于娱乐,政治,体育三类新闻文档作为训练样本:
    在这里插入图片描述
    步骤二:

  • 计算类条件概率
    在这里插入图片描述

步骤三:

  • 根据概率,判断对应文档的类别
    在这里插入图片描述
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值