`
icenows
  • 浏览: 57404 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类

讨论:TF-IDF算法的优劣

阅读更多

前几天转载了TF-IDF算法的思路(见:TF/IDF算法(转载) ),参照这一思路用JAVA实现了算法。——在这之前,我使用权重+词频(V-TF)的方法计算了文本的关键词。现在通过比较,来分析一下出现的一些问题。
总体来说,很遗憾的得发现,——就目前的结果来看,TF-IDF的准确率明显不如V-TF。出现这一情况确实很意外,根据实验的情况,来分析其中究竟那些地方出了问题。
首先解析一下TF-IDF算法中的IDF。我采用的是搜狗实验室提供的搜狐新闻源,一共有200万条左右的新闻,分成15个频道,每个频道的新闻数量各不一样,从94条到40多万条。然后使用蓝山咖啡同学的MIK_Analyser做双向最大匹配分词,统计出各个频道相应关键词的IDF值,其中去除了主字典中未出现的词,纯数字以及单字。IDF=ln(D/DF),其中D为新闻总数,DF为出现关键词的文档总数。
其次来说明TF,在这过程中,还是考虑了不同部分的权重。新闻标题的权重是新闻正文权重的1.5倍,用计算得到的权重之和除于文档中的词语总数,得到TF值。

接下来,讨论TF-IDF算法本身和实现过程中可能的影响因素:
1、IDF的引入,其初衷是抑制某一文档内无意义高频词的负面影响,但是在总文档于关键词出现文档比值较大时,低频词将因此而被凸现出来。这里面有一个问题值得商榷:常见词并不等于无意义词,比如一些公众人物,热点事件等等,同样的,低频词的偶然出现将被当作高权值关键词,这过渡放大了生僻词的重要性。
2、新闻源的质量,——这也是我一直最不放心的部分,一方面IDF使用的新闻源和需要处理的新闻出自不同的网站,编辑习惯,甚至新闻频道的划分等等都会带来误差;另一方面,该新闻源是至少半年以前的资料,新闻的时效性影响这关键字的波动。相对而言,后者的影响更大。
3、主辞典的限制,因为在计算IDF时,没有出现的词被屏蔽了。而在关键词计算阶段,未出现词被赋值为IDF=1.0,该值明显小于绝大部分词的IDF值。

针对以上分析,考虑从以下几个方面试图解决这个问题:——假设,TF-IDF算法是普遍适应,但是需要有针对性得改进,or,一切努力白搭了。
针对1、3两点 - IDF值的基本计算不做改变,但是但导入频道词库时,是否可以限制IDF值过大的词语导入。该阈值采用动态调整方法,比如以TF的值作为参数,构建一个合适的模型。而未出现的词都赋予最大IDF,或者最大IDF与某个常量(或可变)系数。
针对2 - 由于新闻的高度动态性,采用静态IDF列表是不合适的,特别是严重过期的文档源。所以可以考虑定期的更新IDF列表,最初可以使用已经获取的新闻来生成,逐步考虑引进多新闻源。新闻源的获取可以参照 Linux下载整个网站的命令及注解

分享到:
评论

相关推荐

    基于用户评价的产品情感倾向分析系统设计与实现

    SVM是一种有效的分类算法,通过整合TF-IDF(Term Frequency-Inverse Document Frequency)和情感词典的方法,可以准确地判断评论中体现的正面或负面情绪。实验表明,该方法在情感倾向分析上的综合F值达到了71.80%。 ...

    用遗传算法实现自动文摘

    在实际应用中,遗传算法可以结合其他NLP技术,如TF-IDF、TextRank等,提高文摘的质量和效率。 至于压缩包中的“实验源程序”,这通常包含了实现以上描述的所有代码,包括数据预处理、模型构建、遗传算法的实现细节...

    相似性比较技术研究现状

    - **基于词频等统计特征的方法**:例如TF-IDF(Term Frequency-Inverse Document Frequency)算法,它是一种常用的衡量词语重要性的统计方法。这类方法简单易用,但准确性相对较低。 - **基于规则的方法**:利用预...

    Python库 | jieba3k-0.32.zip

    TF-IDF是一种统计方法,通过计算词语在文档中的频率和在整个文集中的逆文档频率来评估词语的重要性;TextRank则是基于图论的排序算法,模拟网络中节点的传递权重,找出重要的词语。这两种方法各有优劣,适用于不同的...

    基于SVM算法的文本分类技术研究_崔建明1

    在优化分类技术的研究中,文本特征化后通常呈现出高维性,这是因为文本数据通常需要转化为词袋模型或者TF-IDF等表示,每个词成为特征,导致特征维度非常高。此外,文本数据还可能存在不平衡性,即不同类别的样本数量...

    基于机器学习的文本分类算法研究与应用.pptx

    - **特征选择**:包括TF-IDF(Term Frequency-Inverse Document Frequency)、Word Embeddings、N-grams等。 - **模型构建**:涵盖了KNN(K-Nearest Neighbors)、Logistic Regression、Neural Networks、Ensemble ...

    Web挖掘 文本挖掘 特征选择算法

    常用的权重计算方法有TF-IDF(Term Frequency-Inverse Document Frequency)等。 ##### 2.2 布尔逻辑模型 布尔逻辑模型是VSM的一种简化版本,采用严格匹配的方式表示文档。虽然实现简单,适用于快速检索场景,但在...

    相似图像的检测方法.pdf

    每幅图像表示为特征点频率直方图,利用TF-IDF权重提升区分度,通过倒排表快速检索相似图像。 五、基于卷积网络的相似图像检测 卷积神经网络(CNN)如VGG16在ImageNet上的预训练模型,可以通过额外的全连接层进行...

    基于各种机器学习和深度学习的中文微博情感分析.zip

    例如,通过词频统计、TF-IDF(词频-逆文档频率)计算,或是使用n-gram(连续词组)来提取文本特征。 深度学习,特别是卷积神经网络(CNN)和循环神经网络(RNN),近年来在情感分析任务上取得了显著的进步。CNN擅长...

    test_cluster-master.zip

    在进行聚类之前,通常需要对原始文本进行预处理,包括分词、去除停用词(如“的”、“和”等常见词汇)、词干提取(还原词的原始形式)和词形还原,以及构建词袋模型(Bag-of-Words, BoW)或TF-IDF(词频-逆文档频率...

    文本相似度计算方法研究综述1

    TF-IDF在此基础上引入了词的重要性权重,而潜在语义分析(Latent Semantic Analysis, LSA)和潜在 dirichlet 分布(Latent Dirichlet Allocation, LDA)则进一步探索了词的隐含语义关系。 三、基于世界知识的方法 ...

    国科大-多媒体分析与理解-2018期末试题

    - **TF-IDF**(Term Frequency-Inverse Document Frequency):综合考虑了词语在文档中的频率和在整个文集中的罕见程度。能够更好地反映词语的重要程度。 2. **音频数据**: - **MFCC**(Mel Frequency Cepstral ...

    C#写搜索引擎对比系统

    1. **索引效率**:比较不同索引算法(如TF-IDF、BM25)在构建和更新索引时的时间复杂度和内存消耗。 2. **查询性能**:测试检索器在处理各种查询时的速度和准确性,这涉及到查询优化技术,如布尔模型、向量空间模型...

    text clustering 2_textclustering_

    这通常涉及到词袋模型(Bag-of-Words)、TF-IDF(Term Frequency-Inverse Document Frequency)、词嵌入(如Word2Vec或GloVe)等方法,将单词或短语转换为数值特征。 2. **距离度量**:选择合适的距离度量是聚类...

    TK1.2-ARG0vsARG1.tar.gz_svm分类器_中文分类器

    这个过程通常采用词袋模型(Bag-of-Words,BoW)、TF-IDF或者词嵌入(如Word2Vec、GloVe)等方法。 在"arg0.test"和"arg0.train"这两个文件中,我们可以推测"arg0"可能是特定的语义角色,比如事件的主体或客体。...

    复旦大学中文文本分类测试集

    常见的方法有词袋模型(Bag of Words)、TF-IDF(Term Frequency-Inverse Document Frequency)和词嵌入(如Word2Vec或GloVe)。词嵌入可以捕获词汇的语义信息,提高分类效果。 3. **模型选择与训练**:选择合适的...

    题目描述1

    首先,我们需要对数据进行预处理,包括清洗(去除无关字符、停用词过滤等)、分词(将句子分解成单词或词组)、词性标注和向量化(如TF-IDF、词嵌入如Word2Vec或BERT等)。预处理是为了将文本转换为机器可以理解的...

    自然语言处理课件.ppt

    TF(Term Frequency)指词在文档中出现的频率,IDF(Inverse Document Frequency)则是衡量该词在整个语料库中的罕见程度。 - **相似度计算**: - **余弦相似度**:这是一种常用的文字相似度计算方法,通过计算两个...

Global site tag (gtag.js) - Google Analytics