TF-IDF算法是一种简单快捷的文档特征词抽取方法,通过统计文档中的词频来对文档进行主题分类。TF-IDF(term frequency–inverse document frequency)是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。TF-IDF加权的各种形式常被搜索引擎应用,作为文件与用户查询之间相关程度的度量或评级。

TF-IDF其主要思想是,如果某个词或短语在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。TF词频(Term Frequency)指的是某一个给定的词语在该文件中出现的次数。IDF反文档频率(Inverse Document Frequency)是指,如果包含词条的文档越少,IDF越大,则说明词条具有很好的类别区分能力。使用TF-IDF可以计算某个关键字在某篇文章里面的重要性,可以用此关键词来表达文档所包含的含义。

词频Term Frequency(tfij)表示文档i中词汇j出现的频率,计算公式如下:

其中,nij表示词j在文档i中出现的次数,分母则是文档j中所有字词出现的次数之和。

逆向文档频率Inverse Document Frequency(idfj):是一个词普遍重要性的度量,由下面的式子计算:

其中,|D|是文档总数,分母是包含词ti的文档数目。

tfidfij权值(wij):wij = tfij * idfi。权值就是最终要得到的结果,权值的高低直接表明了该题词是否反应了文档的主题。

实验的第一个步骤是分词,英文的分词很简单,中文分词就是个难题了。在实验中使用了中科院的ICTCLAS(Institute of Computing Technology, Chinese Lexical Analysis System)系统。该系统应该说是国内较好的分词系统,是中国科学院计算技术研究所在多年研究工作积累的基础上,基于多层隐马模型研制出的汉语词法分析系统,主要功能包括中文分词;词性标注;命 名实体识别;新词识别;同时支持用户词典。

在分词时为了提高分词效果,我加入了自己的用户词典 。不过词语不多,只有17个,如果要准确一点的话,应该再多一点。

分词后,去掉里面的词性标注,然后在去掉里面的停用词(这一步做得不是很好,停用词表有900个词,但是在最后统计中发现还是有一些停用词)。

最后一步就是利用上面的公式进行词频统计了。统计的方法很多,可以些程序,也可以处理后放到数据库、Excel或装用的统计软件统计。我这里主要是放到数据库后用程序来统计。

统计的结果还算满意。我选择了学生心理在线上关于大学生心理健康的文章13篇,主要关于爱情、就业、性教育、学习、人际交往等几个方面。统计的结果表明,抽取的主题词70%左右的表明文章的主题,还有一些则是由于分词错误,使得该词没有体现主题,但权值较高。

这个实验只是一个验证实验,要达到实际应用需求,在TF-IDF中还需要做很多的改进。比如考虑语句关系、词性关系、文章关系、文章标题的重要程度等。

TF-IDF算法扫盲2的更多相关文章

  1. tf–idf算法解释及其python代码实现(下)

    tf–idf算法python代码实现 这是我写的一个tf-idf的简单实现的代码,我们知道tfidf=tf*idf,所以可以分别计算tf和idf值在相乘,首先我们创建一个简单的语料库,作为例子,只有四 ...

  2. tf–idf算法解释及其python代码实现(上)

    tf–idf算法解释 tf–idf, 是term frequency–inverse document frequency的缩写,它通常用来衡量一个词对在一个语料库中对它所在的文档有多重要,常用在信息 ...

  3. 55.TF/IDF算法

    主要知识点: TF/IDF算法介绍 查看es计算_source的过程及各词条的分数 查看一个document是如何被匹配到的         一.算法介绍 relevance score算法,简单来说 ...

  4. Elasticsearch由浅入深(十)搜索引擎:相关度评分 TF&IDF算法、doc value正排索引、解密query、fetch phrase原理、Bouncing Results问题、基于scoll技术滚动搜索大量数据

    相关度评分 TF&IDF算法 Elasticsearch的相关度评分(relevance score)算法采用的是term frequency/inverse document frequen ...

  5. tf–idf算法解释及其python代码

    tf–idf算法python代码实现 这是我写的一个tf-idf的简单实现的代码,我们知道tfidf=tf*idf,所以可以分别计算tf和idf值在相乘,首先我们创建一个简单的语料库,作为例子,只有四 ...

  6. 25.TF&IDF算法以及向量空间模型算法

    主要知识点: boolean model IF/IDF vector space model     一.boolean model     在es做各种搜索进行打分排序时,会先用boolean mo ...

  7. Elasticsearch学习之相关度评分TF&IDF

    relevance score算法,简单来说,就是计算出,一个索引中的文本,与搜索文本,他们之间的关联匹配程度 Elasticsearch使用的是 term frequency/inverse doc ...

  8. 基于TF/IDF的聚类算法原理

        一.TF/IDF描述单个term与特定document的相关性TF(Term Frequency): 表示一个term与某个document的相关性. 公式为这个term在document中出 ...

  9. 信息检索中的TF/IDF概念与算法的解释

    https://blog.csdn.net/class_brick/article/details/79135909 概念 TF-IDF(term frequency–inverse document ...

  10. 文本分类学习(三) 特征权重(TF/IDF)和特征提取

    上一篇中,主要说的就是词袋模型.回顾一下,在进行文本分类之前,我们需要把待分类文本先用词袋模型进行文本表示.首先是将训练集中的所有单词经过去停用词之后组合成一个词袋,或者叫做字典,实际上一个维度很大的 ...

随机推荐

  1. jshint 安装使用

    首先要安装nodjs, 参考另一篇文章: Ubuntu 编译安装node.js 然后运行 npm install jshint -g 之后在要扫描的目录下运行命令 jshint . >> ...

  2. mysql处理大数据量的查询速度究竟有多快和能优化到什么程度

    mysql处理大数据量的查询速度究竟有多快和能优化到什么程度 深圳-ftx(1433725026) 18:10:49  mysql有没有排名函数啊 横瓜(601069289) 18:13:06  无 ...

  3. AFNetworking 与 NSURLSession

    转载自:http://blog.sina.com.cn/s/blog_8157560c0101kt7h.html 1. 也就是说在IOS 7.1 之后你想用网络请求的话有两种途径,NSUrlSessi ...

  4. Java读取Properties文件的六种方法

    使用J2SE API读取Properties文件的六种方法 1.使用java.util.Properties类的load()方法示例: InputStream in = lnew BufferedIn ...

  5. Java安装程序制作

    对于Java桌面应用来说,比较烦琐的就是安装部署问题,如:客户端是否安装有jre.jre版本.jre在哪里下载.如何用jre启动 Java应用等等.不要说刚接触电脑的人,就算是比较熟悉电脑,如果没有接 ...

  6. Castle 开发系列文章

    转自:http://terrylee.cnblogs.com/archive/2006/04/28/castl_ioc_article.html Castle是针对.NET平台的一个开源项目,从数据访 ...

  7. jquery 显示“加载状态 结束”

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. Swift学习资源

    原文: http://leancodingnow.com/swift-learning-resources/ Swift是Apple在今年的WWDC推出的一门新的编程语言,它的1.0版本跟着Xcode ...

  9. jQuery关于文字内容溢出用点点点(…)省略号表示

    1.jQuery限制字符字数的方法代码很简单,使用也很方便,如下: $(document).ready(function(){//限制字符个数$(“.zxx_text_overflow”).each( ...

  10. 使用Android Studio与ArcGIS Android SDK的开发环境部署和HelloWorld

    android studio(以下简称AS)是google推荐的android专用IDE,替代目前主流的eclipse,另外arcgis也把AS作为推荐的android IDE 本文不介绍androi ...