文本分类入门(四)训练Part 1

训练,顾名思义,就是training(汗,这解释),简单的说就是让计算机从给定的一堆文档中自己学习分类的规则(如果学不对的话,还要,打屁屁?)。

开始训练之前,再多说几句关于VSM这种文档表示模型的话。

举个例子,假设说把我正在写的“文本分类入门”系列文章的第二篇抽出来当作一个需要分类的文本,则可以用如下的向量来表示这个文本,以便于计算机理解和处理。

w2=(文本,5,统计学习,4,模型,0,……)

这个向量表示在w2所代表的文本中,“文本”这个词出现了5次(这个信息就叫做词频),“统计学习”这个词出现了4次,而“模型”这个词出现了0次,依此类推,后面的词没有列出。

而系列的第三篇文章可以表示为

w3=(文本,9,统计学习,4,模型,10,……)

其含义同上。如果还有更多的文档需要表示,我们都可以使用这种方式。

只通过观察w2和w3我们就可以看出实际上有更方便的表示文本向量的方法,那就是把所有文档都要用到的词从向量中抽离出来,形成共用的数据结构(也可以仍是向量的形式),这个数据结构就叫做词典,或者特征项集合。

例如我们的问题就可以抽离出一个词典向量

 D=(文本,统计学习,模型,……)

所有的文档向量均可在参考这个词典向量的基础上简化成诸如

w2=(5,4,0,……)

w3=(9,4,10,……)

的形式,其含义没有改变。

5,4,10这些数字分别叫做各个词在某个文档中的权重,实际上单单使用词频作为权重并不多见,也不十分有用,更常见的做法是使用地球人都知道的TF/IDF值作为权重。(关于TF/IDF的详细解释,Google的吴军研究员写了非常通俗易懂的文章,发布于Google黑板报,链接地址是http: //googlechinablog.com/2006/06/blog-post_27.html,有兴趣不妨一读)TF/IDF作为一个词对所属文档主题的贡献程度来说,是非常重要的度量标准,也是将文档转化为向量表示过程中的重要一环。

在这个转化过程中隐含了一个很严重的问题。注意看看词典向量D,你觉得它会有多大?或者说,你觉得它会包含多少个词?

假设我们的系统仅仅处理汉语文本,如果不做任何处理,这个词典向量会包含汉语中所有的词汇,我手头有一本商务印书馆出版的《现代汉语词典》第5版(2005年5月出版),其中收录了65,000个词,D大致也应该有这么大,也就是说,D是一个65,000维的向量,而所有的文本向量 w2,w3,wn也全都是65,000维的!(这是文本分类这一问题本身的一个特性,称为“高维性”)想一想,大部分文章仅仅千余字,包含的词至多几百,为了表示这样一个文本,却要使用65,000维的向量,这是对存储资源和计算能力多大的浪费呀!(这又是文本分类问题的另一个特性,称为“向量稀疏性”,后面会专门有一章讨论这些特性,并指出解决的方法,至少是努力的方向)

中国是一个人口众多而资源稀少的国家,我们不提倡一味发展粗放型的经济,我们所需要的可持续发展是指资源消耗少,生产效率高,环境污染少……跑题了……

这么多的词汇当中,诸如“体育”,“经济”,“金融”,“处理器”等等,都是极其能够代表文章主题的,但另外很多词,像“我们”,“在”,“事情”,“里面”等等,在任何主题的文章中都很常见,根本无法指望通过这些词来对文本类别的归属作个判断。这一事实首先引发了对文本进行被称为“去停止词”的预处理步骤(对英文来说还有词根还原,但这些与训练阶段无关,不赘述,会在以后讲述中英文文本分类方法区别的章节中讨论),与此同时,我们也从词典向量D中把这些词去掉

但经过停止词处理后剩下的词汇仍然太多,使用了太多的特征来表示文本,就是常说的特征集过大,不仅耗费计算资源,也因为会引起“过拟合问题”而影响分类效果[22]。

这个问题是训练阶段要解决的第一个问题,即如何选取那些最具代表性的词汇(更严格的说法应该是,那些最具代表性的特征,为了便于理解,可以把特征暂时当成词汇来想象)。对这个问题的解决,有人叫它特征提取,也有人叫它降维

特征提取实际上有两大类方法。一类称为特征选择(Term Selection),指的是从原有的特征(那许多有用无用混在一起的词汇)中提取出少量的,具有代表性的特征,但特征的类型没有变化(原来是一堆词,特征提取后仍是一堆词,数量大大减少了而已)。另一类称为特征抽取(Term Extraction)的方法则有所不同,它从原有的特征中重构出新的特征(原来是一堆词,重构后变成了别的,例如LSI将其转为矩阵,文档生成模型将其转化为某个概率分布的一些参数),新的特征具有更强的代表性,并耗费更少的计算资源。(特征提取的各种算法会有专门章节讨论)

训练阶段,计算机根据训练集中的文档,使用特征提取找出最具代表性的词典向量(仍然是不太严格的说法),然后参照这个词典向量把这些训练集文档转化为向量表示,之后的所有运算便都使用这些向量进行,不再理会原始的文本形式的文档了(换言之,失宠了,后后)。

下一章继续训练,咱们之间还没完。(怎么听着像要找人寻仇似的)

参考:

http://wiki.52nlp.cn/

http://www.blogjava.net/zhenandaci/category/31868.html

[1]李晓明,闫宏飞,王继民,“搜索引擎——原理、技术与系统”.科学出版社,2004

[2]冯是聪, "中文网页自动分类技术研究及其在搜索引擎中的应用," 北京大学,博士论文, 2003

[3]Y. Yang and X. Liu, "A re-examination of text categorization methods" presented at Proceedings of ACM SIGIR Conference on Research and Development in Information Retrieval (SIGIR'99), 1999.

[4]F. Sebastiani, "A tutorial on Automated Text Categorization", Proceedings of ASAI-99, 1st Argentinian Symposium on Artificial Intelligence, Buenos Aires, AR, 1999

[5]王涛:文本自动分类研究,图书馆学研究,2007.12

[6]周文霞:现代文本分类技术研究,武警学院学报,2007.12

[7]奉国和:自动文本分类技术研究,情报杂志,2007.12

[8]崔彩霞,张朝霞:文本分类方法对比研究,太原师范学院学报(自然科学版),2007.12

[9]吴军:Google黑板报数学之美系列,http://googlechinablog.com

[10]刘霞,卢苇:SVM在文本分类中的应用研究,计算机教育,2007.1

[11]都云琪,肖诗斌:基于支持向量机的中文文本自动分类研究,计算机工程,2002,28(11)

[12]周昭涛,卜东波:文本的图表示初探,中文信息学报,第19卷 第2期

[13]Baeza-Yates,R.and Ribeiro-Neto:Modern Information Retrieval,1st ed.Addison Wesley Longman,Reading,MA,1999

[14]唐春生,张磊:文本分类研究进展

[15]李莼,罗振声:基于语义相关和概念相关的自动分类方法研究,计算机工程与应用,2003.12

[16]单松巍,冯是聪,李晓明:几种典型特征选取方法在中文网页分类上的效果比较,计算机工程与应用,2003.22

[17]Yiming Yang,Jan O Pedersen:A comparative Study on Feature Selection in Text Categorization, Proceedings of the Fourteenth International Conference on Machine Learning(ICML~97),l997

[18]董振东:知网简介,知网,http://www.keenage.com/zhiwang/c_zhiwang.html

[19]Tom M.Mitchell,”Machine Learning”,McGraw Hill Companies,1997

[20] Edda  Leopold, Jorg Kindermann,“Text Categorization with Support Vector Machines:How to Represent Texts in Input Space?”, Kluwer Academic Publishers,2002

[21] Thorsten Joachims,”Text Categorization with Support Vector Machines: Learning with Many Relevant Features”

[22]Nello Cristianini,An Introduction to Support Vector Machines and Other Kernel-based Learning Methods,Cambridge University Press,2000

[23]F. Sebastiani, "MACHINE LEARNING IN AUTOMATED TEXT CATEGORIZATION", ACM Computing Surveys, Vol. 34, No. 1, 2002

[24]TRS公司,TRS文本挖掘基础件白皮书

[25]苏金树,张博锋:基于机器学习的文本分类技术研究进展,Journal of Software,2006.9

文本分类入门(四)训练Part 1相关推荐

  1. 文本分类入门(六)训练Part 3

    SVM算法支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本.非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数 ...

  2. 文本分类入门(五)训练Part 2

    将样本数据成功转化为向量表示之后,计算机才算开始真正意义上的"学习"过程. 再重复一次,所谓样本,也叫训练数据,是由人工进行分类处理过的文档集合,计算机认为这些数据的分类是绝对正确 ...

  3. 文本分类入门(一)文本分类问题的定义

    原博客地址:http://www.blogjava.net/zhenandaci/category/31868.html?Show=All 文本分类入门(一)文本分类问题的定义 文本分类系列文章,从文 ...

  4. NLP文本分类入门学习及TextCnn实践笔记——模型训练(三)

    这篇记模型训练. 距离第一篇已过去一个月.从学习到正式启动模型训练,花了两周.模型训练召回率和准确率达到上线标准又花了两三周. 训练及测试样本评估的精确率都是97%.98%,结果一到线上实验,结果惨不 ...

  5. 文本分类入门(三)统计学习方法

    文本分类入门(三)统计学习方法 前文说到使用统计学习方法进行文本分类就是让计算机自己来观察由人提供的训练文档集,自己总结出用于判别文档类别的规则和依据.理想的结果当然是让计算机在理解文章内容的基础上进 ...

  6. 文本分类入门(二)文本分类的方法

    文本分类入门(二)文本分类的方法 文本分类问题与其它分类问题没有本质上的区别,其方法可以归结为根据待分类数据的某些特征来进行匹配,当然完全的匹配是不太可能的,因此必须(根据某种评价标准)选择最优的匹配 ...

  7. (已修改)机器学习之文本分类(附带训练集+数据集+所有代码)

    本博客是我对之前博客进行的一些优化,对文件的处理,以及添加更多的注释让大家在NLP,文本分类等领域能够更快的让代码跑起来. 原文链接:https://blog.csdn.net/qq_28626909 ...

  8. 文本分类入门(七)相关概念总结

     学习方法:使用样例(或称样本,训练集)来合成计算机程序的过程称为学习方法[22]. 监督学习:学习过程中使用的样例是由输入/输出对给出时,称为监督学习[22].最典型的监督学习例子就是文本分类问题, ...

  9. 文本分类入门(番外篇)特征选择与特征权重计算的区别

    文本分类入门(番外篇)特征选择与特征权重计算的区别 在文本分类的过程中,特征(也可以简单的理解为"词")从人类能够理解的形式转换为计算机能够理解的形式时,实际上经过了两步骤的量化- ...

最新文章

  1. c++ 三次多项式拟合_非线性回归模型(一)--多项式回归
  2. 爬取智联招聘(面向对象)
  3. Elasticsearch介绍
  4. 异步fifo_FPGA设计基础——FIFO的应用
  5. 熊猫直播 使用什么sdk_没什么可花的-但是16项基本操作才能让您开始使用熊猫
  6. 前端学习(2567):指令的本质
  7. 邮件服务器实用技巧和选购指南
  8. 解决UnicodeEncodeError: 'gbk' codec can't encode character '\xe4' in position 319等问题
  9. 用JFreeChart 来分析Cassandra/Oracle插入海量数据的性能
  10. mybatis数据输入
  11. 一分钟搞懂NB-IoT行业发展
  12. 数据分析师系列课程 统计学基础1
  13. 手写bpnn算法实现iris多分类
  14. 深入理解TTL 与 CMOS 电路
  15. Python之sep与end
  16. SIEBEL代码分析
  17. springBoot使用poi导出Excel
  18. 谷歌(Chrome)浏览器丨插件安装教程
  19. Android 10.0 Launcher3双层(抽屉)高斯模糊(毛玻璃)背景功能的实现
  20. C++学习笔记:三种智能指针【Share、Unique、Weak】【Cherno】

热门文章

  1. [云炬创业基础笔记]第五章创业机会评估测试6
  2. oracle恢复某个表的数据库,如何从rman的全备份中恢复一张表?
  3. java写界面_java能不能直接做界面窗口
  4. nhibernate处理多数据库
  5. USEFORM,USERES详解
  6. Delphi 中Tform的visible属性详解
  7. 使用FFmpeg实现抽取多媒体文件的音频并按照AAC格式进行保存--附源码
  8. Windows系统下黑客(极客)学习发展流程图
  9. 如何用Python画画
  10. 多组测试数据(求和)IV