机器学习笔记-文本分类(一)概述

最近在看机器学习的书籍和视频,主要有:
统计学习方法 李航
西瓜书 周志华
python机器学习实战
机器学习算法原理与编程实战 郑捷(本文主要参看这本书,有代码,不过做本文做了稍微修改,环境为Python3+Scikit-learn)

文本分类步骤

文本分类顾名思义就是将文本分为几个类别,主要步骤有以下几个:

  • 语料选择,得有已经标记好的语料
  • 预处理,除去噪声,如:HTML标签,格式转换,句子边界
  • 中文分词,将文章分割成一个个词语,并去掉(的,是,在...)停用词
  • 构建词向量空间,统计词频(TF),生成每个文本的词向量空间
  • 分类器,使用算法训练分类器
  • 结果评价

语料选择

选择是郑捷书上的那个,就是小语料,下载地址 ,不过需要注册。下载完毕可以看到如下的格式:

机器学习笔记-文本分类(一)概述_第1张图片
Paste_Image.png

可以看到有10类文本,计算机200指的是计算机类别的200篇文本。

预处理

这一步主要是针对测试数据,测试数据格式和来源不明确,有可能乱码,或者有HTML标签等,用python去除HTML标签,后面具体用代码表明。

中文分词

中文分词就是将一句话拆分为各个词语,中文分词在不同语境中歧义比较大,不像英文分词那么简单,所以分词在NLP中是很重要的。

  • 原型:今天天气很好!
  • 分词:今天、天气、很、好、!

分词方法一般很多,都是基于概率模型,方法有CRF(条件随机场),HMM(隐马尔可夫模型)等。本人只是用C++写过HMM分词,是基于字标注的,准确率还可以吧。
当然现在都有分词工具了,如中科院分词,哈工大分词,python jieba分词等,可以直接调用,此处就直接用别人的了---jieba分词

你可能感兴趣的:(机器学习笔记-文本分类(一)概述)