天天看点

中文文本分类(机器学习算法原理与编程实践笔记)

以文本分类算法为中心,详细介绍一个中文文本分类项目的流程及相关知识,知识点涉及中文分词、向量空间模型、TF-IDF方法、几个典型的文本分类算法;主要有朴素贝叶斯算法,kNN最近邻算法。

所用到的外部库:jieba 分词、Scikit-Learning

文本挖掘(Text Mining)是从非结构化文本信息中获取用户感兴趣或者有用的模式的过程。是指从大量文本数据中抽取事先未知的、可理解的、最终可用的知识的过程,同时运用这些知识更好地组织信息以便将来参考。

在分析机器学习的数据源中最常见的知识发现主题是把数据对象或事件转换为预定的类别,再根据类别进行专门的处理,这是分类系统的基本任务。

当前有两种主要的文本分类方法,一种是基于模式系统(通过运用知识工程技术),还有一种是分类模式(通过使用统计/或机器学习技术)。专家系统的方法是将专家的知识以规则表达式的形式编码成分类系统。机器学习的方法是一个广义的归纳的过程,采用一组预分类的例子,通过训练建立分类。

中文语言的文本分类技术和流程

  1. 预处理:去除文本的噪声信息
  2. 中文分词:使用中文分词器为文本分词,并去除停用词
  3. 构建词向量空间:统计文本词频,生成文本的词向量空间
  4. 权重策略——TF-IDF方法:使用TF-IDF发现特征词,并抽取为反映文档主题特征
  5. 分类器:使用算法训练分类器
  6. 评价分类结果:分类器的测试结果分析

文本预处理

文本处理的核心任务就是要把非结构化和半结构化的文本转换为结构化的形式,即向量空间模型

  1. 选择处理文本的范围

    选择适当的范围取决于文本挖掘任务的目标: 对于分类或聚类的任务,往往把整个文档作为处理单位;对于情感分析、文档自动文摘或信息检索,段落或章节可能更合适

  2. 建立分类文本预料库

训练集语料是指已经分好类的文本资源

目前比较好的中文分类语料库有复旦大学谭松波中文文本分类语料库

下载地址

中文分词介绍

中文分词(chinese word segmentation)指的是将一个汉字序列划分成一个个单独的词。分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。中文分词,不仅是中文文本分类的一大问题,也是中文自然语言处理的核心问题之一。

最终完全解决中文分词的算法是基于概率图模型的条件随机场(CRF)

继续阅读