`
futrueboy
  • 浏览: 83545 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

文本特征选择的关键算法总结

阅读更多

 

 

一、特征词选择与特征词权重关系

 

开始学文本分类的时候经常要搞晕特征词选择和特征词权重 这两个东西,因为两者都要进行量化,很容易认为特征词选择就是计算权重,因此我认为有必要先搞清楚这两个概念。


两者的区别 :特征词选择是为了降低文本表示的维度,而特征词权重是为了表示文本表示中每一个特征项的重要程度。


特征词的选择算法 有:文本特征选择的算法有基于文档频率 (Document Frequency) 、信息增益 (Information Gain, IG) 、开方拟和检验方法 (CHI 统计 ) 、互信息 (mutual Information) 、潜在语义分析LSA、期望值交叉算熵、文本证据权、 term strength(TS) GSS Coefficient odds ratio等;


特征词的权值 (即所谓的文本表示)计算有:TF-IDF,TF的改进,信息熵的引用等[1] 。这个将在下篇进行分析一下。

 

二、特征词权重选择方法分析

 

以下分别分析一下特征词的选择算法,由于信息增益是很有效的特征选择方法,因此,将给出信息增益的java代码。


1. 基于文档频率(DF)


 

 

 

在文档频率方法中,使用特征词在一个类别中出现的文档数来表示这个特征词与该类别的相关度。出现的文档数多的特征词被保留的可能性大。显然,文档频率方法实现最简单、算法复杂度最低,而且 DF 方法与其他几种方法的分类性能也差不多。

计算公式:DFterm :特征词term在某一类中的所有文档出现的次数。

改进公式:[2]

 


缺点:待补充

 

2. 互信息 (mutual Information)

 

在互信息算法中,采用计算特征词 t 和类别 c 之间的相关度:



其中, A 为在类别 c 中特征词 t 出现的文档数; B 为在除了类别 c 的其他类别中特征词 t 出现的文档数; C 为在类别 c 中特征词 t 未出现的文档数; N 为所有类别中的文档数的总和。如果共有 m 个类别,那么每个特征词将得到 m 个相关度值,取这 m 个值的平均值作为每个特征词的权值,权值大的特征词被保留的可能性大。

 

缺点:待补充

 

3. 信息增益 (Information Gain)

 

 

信息增益 (IG) 是公认较好的特征选择方法,它刻画了一个词语在文本中出现与否对文本情感分类的影响,即一个词语在文本中出现前后的信息嫡之差。某个词语的信息增益值越大,说明它对分类的贡献就越大。信息增益的计算见公式:



 

 

P(Ci) ,表示类别 Ci 出现的概率,其实只要用 1 除以类别总数就得到了(这是说你平等的看待每个类别而忽略它们的大小时这样算,如果考虑了大小就要把大小的影响加进去)。

P(t) ,就是特征 t 出现的概率,只要用出现过 t 的文档数除以总文档数就可以了

P(Ci|t) 表示出现 t 的时候,类别 Ci 出现的概率,只要用出现了 T 并且属于类别 Ci 的文档数除以出现了 T 的文档数就可以了[3]



 


 

 

	/**
	 * @param j
	 * @return double
	 * 
	 */
	private double getFirstPart(int j) {
		double sum = 0;
		for (int i = 0; i < C; i++) {
			//log2(P(cj)) = ln(P(cj))/ln(2);
			sum += P_C(i) * (Math.log(P_C(j)) / Math.log(2));
			
		}
		return -sum;
	}
 



 

	/**
	 * @param j
	 * @return double
	 * TC[][] represents the number of documents including the term j and belonging to Classification j
	 */
	private double getSecondPart(int j) {
		double sum = 0;
		//P_Tj represents P(tj) which is the probability of the documents including term j  
		//That is , P(tj) = documents including term j / the total number of documents
		double P_Tj = this.P_t(j);
		for (int i = 0; i < C; i++) {
			if (TC[j][i] == 0)
				TC[j][i] = 1;
			//log2(TC) = ln(TC)/ln(2);
			sum += (double) TC[j][i]
					* ((double) Math.log(TC[j][i]) / (double) Math.log(2));
			
		}
		return P_Tj * sum;
	}
 

 

 



 

 

	/**
	 * @param j
	 * @return   double
	 * 
	 */
	private double getThirdPart(int j) {
		//p(tj) = 1 - p(t_barj)
		double P_t_bar_j = this.P_t_bar(j);
		double sum = 0.0;

		//T_barC = number of classifications -  number of docs including Term i and belonging to Classification j
		for (int i = 0; i < C; i++) {
			if (T_barC[j][i] == 0)
				T_barC[j][i] = 1;
			sum += (double) T_barC[j][i]
					* ((double) Math.log(T_barC[j][i]) / (double) Math.log(2));
		}

		return P_t_bar_j * sum;
	}
 

缺点 :信息增益最大的问题还在于它只能考察特征对整个系统的贡献,而不能具体到某个类别上,这就使得它只适合用来做所谓 全局 的特征选择(指所有的类都使用相同的特征集合),而无法做 本地 的特征选择(每个类别有自己的特征集合,因为有的词,对这个类别很有区分度,对另一个类别则无足轻重)。

4. 开方拟和检验方法 (CHI 统计 )

 

开方检验最基本的思想就是通过观察实际值与理论值的偏差来确定理论的正确与否。



 

 

缺点:待补充

 

5. 潜在语义分析LSA

LSA思想方法最初应用于文本信息检索领域有效地解决了同义词和多义词的问题,通过识别文本中的同义词, LSA将信息检索精度提高了10%--30%

随着应用领域的不断拓展, LSI在信息过滤、信息分类/聚类、交叉语言检索、信息理解、判断和预测等众多领域中得到了广泛的应用。(语义,降维)[4]


 

计算奇异值矩阵,可以通过maltab svd 命令来解。

 

缺点:待补充

 

 

 

 

 

 

 

 

 

 

 

 

参考资料:

 

[1]. 冯长远, 普杰信 Web 文本特征选择算法的研究

[2]. 杨凯峰,张毅坤,李燕  基于文档频率的特征选择方法

[3]. http://tech.ddvip.com/2009-03/1237883850112130_4.html

[4]. 杨建武 文本特征提取技术

 

 

 

CSDN:http://blog.csdn.net/techq

百度:http://hi.baidu.com/futrueboy/home

javaeye:http://futrueboy.iteye.com/

 

联系方式:chen-hongqin@163.com

 

 

 

 

 

 

 

  • 大小: 118.5 KB
  • 大小: 4 KB
  • 大小: 12.7 KB
  • 大小: 76.8 KB
  • 大小: 64.2 KB
  • 大小: 3.4 KB
  • 大小: 4.7 KB
  • 大小: 4.9 KB
0
2
分享到:
评论

相关推荐

    论文研究-使用类内集中度和分层递阶约简的特征选择方法.pdf

    特征选择是文本分类的关键步骤之一,所选特征子集的优劣直接影响文本分类的结果。首先简单分析了几种经典的特征选择方法,总结了它们的不足,然后提出了类内集中度的概念,紧接着把分层递阶的思想引入粗糙集并提出了...

    文本挖掘及其在信息内容安全中的应用

    文本挖掘是数据挖掘的重要...研究新的文本特征表示模型、发展全新的非结构化的文本挖掘算法和构建融合大数据处理、自然语言处理、数据挖掘、图像处理、模式识别相集成的文本挖掘综合系统是提升文本挖掘性能的重要方向。

    数据结构习题答案(全部算法)严蔚敏版

    4.4 文本编辑 习题四 第5章 数组和广义表 5.1 数组的基本概念 5.1.1 数组的概念 5.1.2 数组的顺序表示 5.1.3 特殊矩阵的压缩存储 5.2 稀疏矩阵的三元组存储 5.2.1 三元组表 5.2.2 稀疏矩阵的运算 5.3 稀疏...

    2-3-人工智能关键技术.pptx

    总结 人工智能的发展历程 人工智能的标志性产品 人工智能应用现状和发展趋势 2-3-人工智能关键技术全文共14页,当前为第14页。 卷积神经网络主要用于图像处理特征。多层神经网络,将局部感受野、权值共享、亚采样这...

    文本自动分类技术研究综述

    文章从文本表示、特征选择、分类算法、常用基准语料以及评估指标等方面对近年来的研究成果进行综述并讨论。认为短文本分类和多语言文本分类管理是新出现的重要且紧迫的问题,并对这两个问题以及数据集偏斜、多层分类...

    GPT-3已经会给长篇小说写摘要了

    首先,现将“总结一段文本”这一任务进行算法上的分解。 如果该文本足够短,就直接进行总结;如果它比较长,就把文本分成小块,并递归地对每一块进行总结。 这就形成了一棵总结任务树: 其中只有叶子任务会对书籍...

    论文研究-噪声环境下的窄带音频信号快速分类方法.pdf

    采用了最大熵(Maximum Entropy,ME)模型从无限制的文本中预测语调短语,并且提出了一个自动生成特征模板的层次聚类算法,从而减少了最大熵模型训练过程中的人工参与。实验结果表明,对于语调短语预测而言,最大熵...

    深入理解前馈神经网络:从基础到实践

    我们将提供清晰的解释和示例代码,以帮助您深入理解这一关键概念。 目录: 介绍 什么是前馈神经网络? 为什么选择前馈神经网络? 教程概述 神经网络基础 神经元和激活函数 前馈传播 反向传播和梯度下降 建立前馈...

    使用Java创建机器学习项目 - 一个实战教程

    选择一个机器学习问题,例如图像分类、文本情感分析、房价预测等。 收集和预处理数据,以便用于模型训练。 建立和训练一个机器学习模型,例如深度神经网络、决策树、支持向量机等。 评估模型的性能,并对其进行优化...

    法律和政策文本的自然语言处理和机器学习-研究论文

    NLP 和法律的交叉点准备创新,因为 (i.) 越来越多的数字化机器可读法律文本数据存储库,(ii.) 算法和硬件改进驱动的 NLP 方法的进步,以及 (iii. ) 由于当前实践效率低下而提高法律服务有效性的潜力。NLP 是一个很...

    游戏编程--大师技巧

     关于文本和字体  定时的重要性  使用控件  获取信息  T3D游戏控制程序  总结  第二部分 DirectX和2D基础  第五章 DirectX基础和令人生畏的COM  DirectX基础  COM:这是Microsoft的工作,还是魔鬼的? ...

    13-文本小节-dom转vdom.md

    本章将通过多个面试题,讲解前端常考的写代码问题,并总结出高质量代码的关键点。 ## 为何要考察 代码是成员的一张脸。如果代码都写不好,那不具备基本的工作能力。所以,面试都要考察手写代码。 而且,实际工作...

    Java语言基础下载

    第七章:类的高级特征 103 学习目标 103 static关键字 104 final关键字 106 内部类 106 实例分析 110 抽象类,接口 115 内容总结 120 独立实践 121 第八章:异常 122 学习目标 122 异常的概念 123 异常的分类 123 ...

    01-文本小节-高质量代码的特点.md

    本章将通过多个面试题,讲解前端常考的写代码问题,并总结出高质量代码的关键点。 ## 为何要考察 代码是成员的一张脸。如果代码都写不好,那不具备基本的工作能力。所以,面试都要考察手写代码。 而且,实际工作...

    TextSummarizer

    此文本摘要器是为总结研究论文而构建的。 使用的语料库是包含 1900 多个文档的 NIPS。 推荐系统从语料库中推荐与所选文档密切相关的前 k 个文档。 整个代码都在 Python 中。 使用 python NLTK 库。 总结的过程如下:...

    删节「Abridge」-crx插件

    总结任何网页 ...•非侵入式标签设计,易于阅读•以您选择的不同样式突出显示关键文本•开源•免费安装访问我们的网站:https://gavin-song.github.io/abridge/index.html在github上为我们加注星标:...

    一种基于二值印刷图像的数字水印方案 (2005年)

    由于方案是基于印刷文本的,所以关键是解决在二值图像上水印嵌入和提取的方法.方案提出了基于文字区域嵌入水印的方法,即将文字分割成若干区域,并以区域中0/1比率作为特征量来决定水印的数值.在大量实验基础上,...

    一种高效的新闻网页噪声过滤方法

    本文基于文本块字符数的统计规律,在总结了新闻网页特点的基础上设计了一种高效的新闻网页噪声过滤算法。该算法不仅完成了新闻正文的提取,也实现了新闻标题和报道时间的提取。试验证明,该算法有很高的处理速度,...

    大数据代码分享.docx

    (multimediadatamining)、隐私保护数据挖掘(privacy-preservingdatamining)到文本数据挖掘(textmining)和Web挖掘(Webmining),再到社交媒体挖掘(socialmediamining)都是由应用推动的。工程性和集合性决定...

    基于jsp的BBS论坛毕业论文

    3.1 关键技术... 3 3.2 数据库技术... 6 3.3 VBScript及JavaScript脚本语言... 7 第四章 系统总体规划与设计... 9 4.1 数据结构的设计... 9 4.2 系统结构的设计... 10 4.3 系统的综合要求... 12 4.4 系统的...

Global site tag (gtag.js) - Google Analytics