NLP第6课:动手实战基于 ML 的中文短文本分类

本文介绍了一个使用Python进行中文短文本分类的实战项目,涉及语料加载、分词、去停用词、抽取词向量特征、模型训练与评估。通过司法数据,使用朴素贝叶斯、SVM等模型,最终计算AUC值以评估模型性能。
摘要由CSDN通过智能技术生成

文本分类,属于有监督学习中的一部分,在很多场景下都有应用,下面通过小数据的实例,一步步完成中文短文本的分类实现。


v2-1be9988feb56cd832c3ec22be6cf91ee_b.jpg


开发环境,我们选择

  1. Mac 系统
  2. Python 3.6
  3. Jupyter Notebook

本文使用的数据是我曾经做过的一份司法数据,需求是对每一条输入数据,判断事情的主体是谁,比如报警人被老公打,报警人被老婆打,报警人被儿子打,报警人被女儿打等来进行文本有监督的分类操作。

整个过程分为以下几个步骤

  • 语料加载
  • 分词
  • 去停用词
  • 抽取词向量特征
  • 分别进行算法建模和模型训练
  • 评估、计算 AUC 值
  • 模型对比

基本流程如下图所示


v2-a76d8e8a45505e8cb7c797b540b0f43c_b.jpg


下面开始项目实战。

1. 首先进行语料加载,在这之前,引入所需要的 Python 依赖包,并将全部语料和停用词字典读入内存中。

第一步,引入依赖库,有随机数库、jieba 分词、pandas 库等:

        import random
    import jieba
    import pandas as pd
      

第二步,加载停用词字典,停用词词典为 stopwords.txt 文件,可以根据场景自己在该文本里面添加要去除的词(比如冠词、人称、数字等特定词):

        #加载停用词
    stopwords=pd.read_csv('stopwords.txt',index_col=False,quoting=3,sep="\t",names=['stopword'], encoding='utf-8')
stopwords=stopwords['stopword'].values
      

第三步,加载语料,语料是4个已经分好类的 csv 文件ÿ

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值