利用python进行中文文本分类,主要包括以下几个流程①:
一、预处理
预处理主要是对训练集和测试集的语料库进行处理。
训练集语料库是已经分好类的资料,处理时按照不同的类放入不同的路径下,如./train_corpus/C3-Art,……,\train_corpus\C39-Sports
测试集语料库用于检测实际效果,也是已经分好类的语料库。
如果语料库是自己爬取到的网页等内容中获取的文本,需要将html标签去除
二、分词
分词是文本分类的核心,重要算法:基于概率图模型的条件随机场(CRF)
1. 概率图模型②
概率图模型是一类用图模式(节点和边)来表达基于概率相关的模型的总称。
常用的概率图模型包含三个基本问题:
(1)模型的表示:
贝叶斯网络(有向无环图),可以表达事件的因果关系
马尔可夫随机场(无向图),表达变量间的相互作用。(常用)
(2)模型的学习:
将图模型化为数学公式,模型 ,Ai是模型参数,Y称为状态(序列),指使用的标签,包括词性列表、组块标签列表、BIOES标注等,自然语言处理中,将数据集数字化为 ,oi称为观测序列,也就是输入序列,根据训练集得到每个观测序列对应不同标签的分布 ,然后套入模型估计出λ,使得模型得到最大的概率分布
(3)模型的预测
对于一个新的输入样本,选择后验概率最大的最有可能的标签作为预测结果。
2、条件随机场③
一种判别式无向图模型,基本思路是对汉字进行标注即由字构词(组词),不仅考虑了文字词语出现的频率信息,同时考虑上下文语境,具备较好的学习能力,因此其