讨论:TF-IDF算法的优劣

本文分析了TF-IDF算法在关键词提取中的表现,指出其准确率可能低于简单的词频方法。主要问题包括IDF的计算可能导致生僻词过度重要,新闻源质量影响IDF的有效性,以及主辞典限制导致未出现词的处理。提出了针对性的改进措施,如限制IDF值过大的词语,动态更新IDF列表,并探讨了新闻源的时效性问题。

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

前几天转载了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算法是普遍适应,但是需要有针对性得改进,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值