文本分类中的降维方法总结

引言

人们通常采用向量空间模型来描述文本向量,但是如果直接用分词算法和词频统计方法得到的特征项来表示文本向量中的各个维,那么这个向量的维度将是非常的大。
这种未经处理的文本矢量不仅给后续工作带来巨大的计算开销,使整个处理过程的效率非常低下,而且会损害分类、聚类算法的精确性,从而使所得到的结果很难令人满意。
所以,在文本分类中,降维有时候是非常关键的一环。

为什么需要降维?也就降维有什么好处?
1)一些分类算法无法应付高维特征向量;
2)降维后能提高计算性能;
3)可以避免过拟合;有实验表明,为了避免过拟合,所需的训练样本和特征维度需要大致满足一个比例。参考文献【1】建议,在文本分类中,每维特征大概需要50-100个训练样本。这意味着,降低维度,即使训练样本不多,也能避免过拟合。

在文本分类中,降维方法可以分为以下两大类:
一、基于特征选择(term Selection)的降维
二、基于特征提取( Term Extraction)的降维

一、基于特征选择的降维

定义:尝试从初始的特征集T中选择对文本描述效果最好的特征子集T’(重点是“选择”)。通常T’的大小要远远小于T的大小。

主要分类:
以下所有的方法都统一归为“过滤”方法。因为在此之前有一种粗糙的,计算量很大的特征选择方法——通过不断增减特征,然后观察实际分类的效果来选择特征。
之所以叫做“过滤”方法,是因为这类方法都是基于某个定义的函数来评价特征的(相对分类)的重要程度,然后过滤重要性相对低的特征。

1.文档频率(DF)

只保留那些出现的文档频率最高的那些词。一种变体方法:移除只出现在最多x个文档中的所有词。1≤x≤3是比较普遍的取法。

2.其他基于信息论的特征选择方法

 a.Darmstadt Indexing Approach (DIA) association factor (DIA影响因子) 【1】
 b.chi-square(卡方检验)
 c.NGL coefficient【2】
 d.information gain (信息增益)
 e.mutual information(互信息)
 f.odds ratio 【2】
 g.relevancy score 【3】
 h.GSS coefficient 【4】

相应的数学定义如下表:
这里写图片描述
(本图片来自《Machine Learning in Automated Text Categorization》)
所有这些函数都基于这样一种直觉——那些对类别C来说最重要的(特征)词是在C类样本集合和非C类样本集合中分布差异最大的。

下面主要介绍一下几种更常见的方法,其他的方法,感兴趣的可以去看相应的论文:
(1)卡方检验
原理:
卡方检验是数理统计中一种常用的检验两个变量是否独立的方法。在卡方检验中使用特征与类别间的关联
性来进行量化,关联性越强,特征属性得分就越高,该特征越应该被保留。 卡方检验最基本的思想是观察实际值和理论值的偏差来确定理论的正确性。通常先假设两个变量确实是独
立的,然后观察实际值与理论值的偏差程度,如果偏差足够小,那么就认为这两个变量确实是独立的,否
则偏差很大,那么就认为这两个变量是相关的。
在文本特征属性选择阶段,一般用“词t与类别c不相关”作出假设,计算出的卡方值越大,说明假设偏离就
越大,假设越不正确。文本特征属性选择过程为:计算每个词与类别c的卡方值,然后排序取前K大的即可。
算法流程:
1)提出原始假设;比如,在本文分类的特征选择中,假设某个特征词t与一个类别c是相互独立的
2)计算假设条件下的理论值;
3)使用下式计算每个样本的观测值,和样本对应下的理论值的偏差
这里写图片描述
4)按偏差大小对特征词排序。选择topn作为特征。
优缺点:
统计文档中是否出现词word,却不管word在该文档中出现了几次,这会使得他对低频词有所偏袒(因为它夸大了低频词的作用)。甚至会出现有些情况,一个词在一类文章的每篇文档中都只出现了一次,其开方值却大过了在该类文章99%的文档中出现了10次的词,其实后面的词才是更具代表性的,但只因为它出现的文档数比前面的词少了“1”,特征选择的时候就可能筛掉后面的词而保留了前者。这就是开方检验著名的“低频词缺陷“。因此开方检验也经常同其他因素如词频综合考虑来扬长避短。
(2)信息增益
使用信息增益来进行特征选择,特征的重要性的衡量标准是看特征能够为分类系统带来多少信息,带来的信息越多,该特征越重要。因为信息量代表不确定性,所以也可以这样来衡量一个特征的重要性:分类系统最初没选择任何特征时,分类存在一个不确定性(这个不确定性可以通过熵来衡量,下面会讲到),然后有很多特征,那么最重要的特征就是那个选择后,能够最大限度降低分类不确定性的特征。选择这个特征后的分类系统存在一个不确定性值(这个不确定性值叫做条件熵),然后熵-条件熵就得到信息增益,也就是由于选择了这个特征而带来的信息量(降低的不确定性度量)

这里写图片描述

(3)互信息
首先要理解互信息是什么
我们大概都知道,对于任意的两个随机变量X,Y,当他们满足:
这里写图片描述
时,就说这两个随机变量独立,也就是这两个随机变量相互没有任何影响,也可以说是两者没有任何关系。
那么,对于任意两个随机变量,我们如果除了想知道它们之间是否存在关系外,还希望,如果存关系的话,这关系的强弱该怎么办?
这就是互信息的定义。它能来衡量两个变量的关系的强弱。
数学定义如下:
这里写图片描述

这样,在文本分类中,通过采用互信息来衡量特征词和类别之间的相关性强度,就可以来实现特征选择:如果一个特征词的出现和某个类别毫无关系,则互信息为0,否则,互信息越大,越相关。

二、基于特征提取的降维

初始将词作为特征有一个明显的缺陷是:由于存在同义词,以及多义词。用这些词来作为表征文本的特征维度并不是特别好。而所谓特征提取,就是对这些原始词的一种“合成”。特征提取主要可分为两类:特征(词)聚类和LSI( 潜在语义索引 )

2.1.特征词聚类

也就是将相似的词聚成一类,然后用类别作为表征文本的向量空间的维度。这样就可以处理同义词的问题。参考文献【5】第一次尝试在文本分类中使用特征词聚类方法。 【6】依据词在训练文本中共同出现或缺失来衡量它们间的语义相关性。

2.2 LSI

LSI 是IR(信息检索)领域中专门用来进行降维的方法,目的就是消除词的同义性和多义性对表征文本从而导致信息检索效果不佳的影响。 LSI使用SVD对原始的文本向量组成的矩阵分解以实现将原来的向量转换成新的向量。
LSI相对于特征选择和特征聚类方法的一个显著特点是,通过LSI得到的维度本质是不可解释的。但是它能很好的获取到语料中的词“潜在”的语义结构。缺点是,如果原来的特征词本身对于分类就特别好的话,那在通过LSI得到的新的特征空间上,分类能力反而会变差。
Schutze et al. [1995]在三个分类算法(线性判别分析、逻辑回归及神经网络)上比较了LSI和卡方检验的效果。实验结果表明前两种方法,LSI表现要好的多。而神经网络两者表现差不多好。
其他介绍了使用LSI来进行特征提取的论文还有:【6】、【8】、【9】等

参考文献:

【1】FUHR,N.AND BUCKLEY, C. 1991. A probabilistic learning approach for document indexing.ACM Trans. Inform. Syst. 9, 3, 223–248
【2】RUIZ,M.E.ANDSRINIVASAN, P. 1999. Hierarchical neural networks for text categorization. InProceedings of SIGIR-99, 22nd ACM International
Conference on Research and Development in Information Retrieval (Berkeley, CA, 1999), 281–282.
【3】WIENER,E.D.,PEDERSEN,J.O.,ANDWEIGEND,A.S. 1995. A neural network approach to topic spotting. In Proceedings of SDAIR-95, 4th Annual
Symposium on Document Analysis and Information Retrieval(Las Vegas, NV, 1995), 317–332.
【4】ALAVOTTI, L., SEBASTIANI,F.,AND SIMI, M. 2000. Experiments on the use of feature selection and negative evidence in automated text
categorization. In Proceedings of ECDL-00, 4th European Conference on Research and Advanced Technology for Digital Libraries
(Lisbon, Portugal, 2000), 59–68.
【5】LEWIS, D. D. 1992a. An evaluation of phrasal and clustered representations on a text categorization task. InProceedings of SIGIR-92, 15th ACM
International Conference on Research and Development in Information Retrieval(Copenhagen, Denmark, 1992), 37–50.
【6】LI,Y.H.ANDJAIN, A. K. 1998. Classification of text documents.Comput. J. 41, 8, 537–546.
【7】BAKER,L.D.ANDMCCALLUM, A. K. 1998. Distributional clustering of words for text classification. InProceedings of SIGIR-98, 21st ACM International Conference on Research and Development
in Information Retrieval(Melbourne, Australia, 1998), 96–103.
【8】SCH¨ UTZE, H. 1998. Automatic word sense discrimination.Computat. Ling. 24, 1, 97–124
【9】HULL, D. A. 1994. Improving text retrieval for the routing problem using latent semantic indexing.
InProceedings of SIGIR-94, 17th ACM International Conference on Research and Development in Information Retrieval(Dublin, Ireland, 1994),
282–289

为了设计一款能够有效聚合校园生活信息的APP,首先需要从用户的需求出发,详细分析目标用户群体的特点和需求,即XXXX生的日常生活和学习需求。在此基础上,定义APP的核心功能和服务范围,包括但不限于选课南、考试资源、兼职信息、生活充值等服务。 参考资源链接:[校园生活APP:服务XXXX生的创新创业计划](https://wenku.youkuaiyun.com/doc/7ji9n8gsq2?spm=1055.2569.3001.10343) 接下来,进行市场调研,了解同类APP的现状、优缺点以及目标用户对此类APP的使用体验反馈。这一步骤将帮助我们确定产品的差异化特征,并据此制定出创新点和改进方向。 根据调研结果,设计APP的架构和用户界面。架构设计要考虑到数据的高效采集、存储、处理和展示,以及第三方平台的接口对接。用户界面设计则需要注重用户体验,确保操作简便、界面友好。 确定技术路线后,开始APP的开发工作。开发过程中,选择合适的开发工具和框架,如React Native或Flutter等跨平台开发框架,可以快速构建iOS和安卓双端应用。对于数据聚合,可以利用爬虫技术定时从校园网站、合作伙伴网站等来源抓取信息,并存储于服务器。开发中还应考虑到数据的安全性和隐私保护措施。 对于信息的更新及时性与准确性,可以设立后台管理系统,由专业团队负责日常的信息护和更新,同时设置用户反馈机制,鼓励用户上报错误信息或提出建议。利用机器学习等技术优化信息分类和匹配准确性。 测试阶段,进行全面的系统测试、性能测试和用户测试,确保APP的稳定性和易用性。在APP上线后,进行持续的监控和迭代更新,根据用户反馈不断优化功能和提升服务质量。 总结来说,开发一款校园生活APP需要深入理解用户需求,合理规划产品功能,采用合适的开发技术和架构,并且注重后期的运营和护。为了深入了解如何将这些步骤具体实现,建议参考《校园生活APP:服务XXXX生的创新创业计划》。这份文档不仅提供了产品规划的全面视角,还包括市场分析和运营策略,是解决当前问题的有力支持。 参考资源链接:[校园生活APP:服务XXXX生的创新创业计划](https://wenku.youkuaiyun.com/doc/7ji9n8gsq2?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值