中文文本分类(续)

二. 中文文本分类技术和流程

  1. 预处理:去除文本的噪声信息,例如 HTML 标签,文本格式转换,检测句 子边界等等;

  2. 中文分词:使用中文分词器为文本分词,并去除停用词;

  3. 构建词向量空间:统计文本词频,生成文本的词向量空间;

  4. 权重策略--TF-IDF 方法:使用 TF-IDF 发现特征词,并抽取为反映文档主题 的特征;

  5. 分类器:使用算法训练分类器

    常用的文本分类方法有 kNN 最近邻算法,朴素贝叶斯算法和支持向量机算法。 这三类算法一般而言 kNN 最近邻算法的原理最简单,分类精度尚可,但是速度最慢;

   朴素贝叶斯对于短文本分类的效果最好,精度很高;支持向量机的优势是支持线性不 可分的情况,精度上取中。

  6. 评价分类结果:分类器的测试结果分析

    一般机器学习领域的算法评估有三个基本的指标:

      召回率:(Recall Rate,也叫查全率)是检索出的相关文档数和文档库中所有的相关文 档数的比率,衡量的是检索系统的查全率;

      召回率(Recall)=系统检索到的相关文件/系统所有相关的文件总数

      准确率(Precision,也称为精度):是检索出的相关文档数与检索出的文档总数的比率, 衡量的是检索系统的查准率。

      准确率(Precision) =系统检索到的相关文件/系统所有检索到的文件总数

  准确率和召回率是互相影响的,理想情况下肯定是做到两者都高,但是一 般情况下准确率高、召回率就低,召回率高、准确率就低。

    召回率与准确率的关系如下图:


   

    Fβ- Measure(又称为 F-Score): 是机器学习领域的常用的一个评价标准,计算公式 为:

                              

    其中 β 是参数,P 是准确率(Precision),R 是召回率(Recall)。

    F1-Measure:

    当参数 β=1 时,就是最常见的 F1-Measure 了:

                                 


    

    文本分类项目的分类结果评估:     

import numpyas np
from sklearn import metrics

# 定义分类精度函数:
def metrics_result(actual,predict):
print '精度:{0:.3f}'.format(metrics.precision_score(actual,predict)) print '召回:{0:0.3f}'.format(metrics.recall_score(actual,predict))
print 'f1-score:{0:.3f}'.format(metrics.f1_score(actual,predict))

metrics_result(test_set.label,predicted)

  下一篇将介绍朴素贝叶斯算法的基本原理和简单的 Python 实现。

  

  参考资料:

    《机器学习算法原理与编程实践》(郑捷 著)

原文地址:https://www.cnblogs.com/taich-flute/p/6794686.html