加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

浅析文本分类算法

(2018-01-15 19:44:58)
标签:

齐家堡

it

教育

学术

分类: 自然科学基金重点项目

浅析文本分类算法

 文本分类(Text categorization)是指在给定分类体系下,根据文本内容自动确定文本类别的过程.文本分类是文本处理中一个很重要的模块,应用也十分广泛,包括垃圾过滤,新闻分类,情感分类,词性标注等。文本分类与普通分类任务相似,但也有包括数据预处理、模型构建等差异。文本分类的关键技术和流程如下:

1.数据预处理

对于中文文本而言,由于不同于英文词与词之间靠空格分开,首先需要对文本进行分词。中文分词技术,已经从简单的词典匹配,发展到基于统计语言模型的方法,并逐渐引入了深度学习的思想。目前有许多中文分词工具,如结巴分词、汉语词法分析系统ICTCLASLTP

2.文本表示

计算机无法理解人类的语言,只能计算数值。所以对于文本类型的数据,需要将其转化为数值型的数据。目前文本表示模型主要是Gerard SaltonMcGill1969年提出的向量空间模型(VSM)。向量空间模型的基本思想是把词语转变为权重为分量的向量表示:(w1,w2,,wn),其中wi为第i个特征项的权重。词向量的表示方法有以下几种:

2.1 one-hot编码

又称一位有效编码,是词向量最简单的表示方法,用一个很长的向量来表示一个词,向量长度为词典的大小,向量的分量只有一个 1,其位置对应该词在词典中的位置,其他全为0。原则上,这种表示方法没有信息损失,能通过词向量与词典还原原数据。但这种表示方法有两个缺点:(1)容易受维数灾难的困扰,尤其是将其用于深度学习的一些算法时;(2)不能很好地刻画词与词之间的相似性

2.2 分布式词向量

分布式词向量用一个事前定义好长度的向量来表示词语,向量中每一个元素为任意实数,元素的值通过训练来确定。这种编码方式大大缩短了向量长度,克服了在深度学习中可能的维度灾难,并使词语相似度计算成为可能。比较著名的分布式词向量计算工具有word2vec,它是2013Google开源的一款工具。其核心是神经网络的方法,采用 CBOWContinuous Bag-Of-Words,即连续的词袋模型)和 Skip-Gram 两种模型,将词语映像到同一坐标系,得出数值向量。

3 文本分类模型

文本分类的核心问题是分类模型的构造,文本分类算法众多,常用的方法有kNN,朴素贝叶斯,支持向量机,神经网络,决策树等。下面主要介绍循环神经网络在文本分类中的应用

3.1 神经网络

http://s10/mw690/001ZJfk9zy7hoPNhUF379&690

上图(选自百度百科词条神经网络)是神经网络的基本构造,包含输入层,隐藏层和输出层。数据从输入层进入模型,输出层是分类标签。

3.2 循环神经网络

循环神经网络(RNN)是一种变体神经网络,传统神经网络无法考虑到时序信息。而文本是包含时序信息的一种结构,前后词语具有关联性。在RNN中,前一时刻输入的词语信息会被保留到当前时刻。相当于每一层输入都包含了当前词语和之前词语的信息,这种方法对于文本等序列数据有非常好的表现能力。

文本分类是自然语言处理中十分重要的一个工作,其分类模型也种类繁多。值得注意的是,分类的效果受语料和预处理的影响很大。一份数量和质量都良好的语料以及合理的词向量训练,往往要比模型的选择更能提升分类效果。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有