NLP中关于文本分类问题的常用方案

NLP文本分类中,特征选择至关重要。本文介绍了几种常用方法:TF-IDF利用词频和逆文档频率计算关键词重要性;卡方检验评估词与类别的相关性;信息增益衡量特征为分类系统带来的信息量;互信息度量词项与类别的关联强度;N-Gram关注词序,通过统计N个词的组合出现频率。这些方法各有优劣,适用于不同场景,能有效提升分类效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

NLP通常包括两个关键问题:
1.选择什么样的语言模型?
2.选择什么样的分类算法?

第二个问题是机器学习领域的标准问题,各种针对不同数据类型、数据分布的算法和技巧,这里不再赘述。而在NLP当中,语言模型更加重要一些。
不同语言模型的区别,也就是对文本提取特征的不同。常用的模型有:
1.Bag-of-words:最原始的特征集,一个单词/分词就是一个特征。往往一个数据集就会有上万个特征;有一些简单的指标可以帮助筛选掉一些对分类没帮助的词语,例如去停词,计算互信息熵等等,但不管怎么训练,特征维度都很大,每个特征的信息量太小;
2.统计特征:包括Term frequency(TF) , Inverse document frequency(IDF), 以及合并起来的TF-IDF。这种语言模型主要是用词汇的统计特征来作为特征集,每个特征都能够说得出物理意义,看起来会比bag-of-words效果好,但实际效果也差不多;
3.NGram:一种考虑了词汇顺序的模型,就是N阶Markov链,每个样本转移成了转移概率矩阵。也能取得不错的效果;

然而,这些特征的一个关键问题,在于并没有对样本特征进行很大程度的压缩,没有提取出关键的信息。这样的问题就是在分类问题中会出现overfit,也就是训练好的分类器只在训练它的数据集(例如用Facebook训练)中有效,换一个数据集(例如换成了Twitter)效果就会很差。
近期,机器学习界的一个研究热点,叫做稀疏表示(Sparse Representation)。也就是认为不管维度多么高的数据集,其实其关键特征就那么几个。这几个关键特征之间刻画了初噪声之外的全部关键信息,并且特征之间没有太多的相关性。
PSI、LDA就是文本的稀疏表示,代表的这一类语言模型叫做Topic Model。认为单词量再大的文本,其文章主题就那么几个。一个K个主题的LDA模型,可以把一个文本压缩成K维的向量:每一个维度就是该文本属于该主题的概率,这个向量也叫做Topic Proportion(注意和Topic Distribution区别)。然后得到压缩后的K维数据集后,再使用任何的分类器,甚至最简单的余弦相似性指标,都可以得到非常漂亮的分类效果。

短文本分类任务,一般tf意义不大,只计算idf即可

Topic Model:短文本推荐使用pLSI,长文本用LDA,根据主题分布选择top类别进行分类,这里有几种变种方法,可以直接用词的主题分布做分类如sLDA也可用用词的权重做分类如cssLDA

 

 

 

 

在做文本分类聚类的任务时,常常需要从文本中提取特征,提取出对学习有价值的分类,而不是把所有的词都用上,那样会造成维度灾难。因此一些词对分类的作用不大,比如“的、是、在、了”等停用词。这里介绍三种常用的特征选择方法:

无监督方法:

· TF-IDF

监督方法:

· 卡方

· 信息增益

· 互信息

一、TF-IDF

一个容易想到的思路,就是找到出现次数最多的词。如果某个词很重要,它应该在这篇文章中多次出现。于是,我们进行"词频"(Term Frequency,缩写为TF)统计。

结果你肯定猜到了,出现次数最多的词是----"的"、"是"、"在"----这一类最常用的词。它们叫做“停用词”(stop words),表示对找到结果毫无帮助、必须过滤掉的词。

假设我们把它们都过滤掉了,只考虑剩下的有实际意义的词。这样又会遇到了另一个问题,我们可能发现"中国"、"蜜蜂"、"养殖"这三个词的出现次数一样多。这是不是意味着,作为关键词,它们的重要性是一样的?

显然不是这样。因为"中国"是很常见的词,相对而言,"蜜蜂"和"养

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值