tf-idf

计算tf-idf建模有很多种,具体看TF-IDF,nltk包实现tf是使用单词t出现的次数除以字符串长度,源码使用字符串count函数,这个函数有个缺点就是如,单词‘td’在‘tddddtd’会算作2词,总长使用的是字符串长度

# TF_IDF
# nltk实现TF_IDF
from nltk.text import TextCollection

# 首先,把所有文档放到TextCollection类中
# 这个类会自动帮你断句,做统计,做计算
help(TextCollection.tf)
corpus = TextCollection(['this is sentence one',
        'this is sentence two',
    'this is sentence three'])
# 直接就能算出tfidf
# 'td'在'tddd td'出现2次,字符串长度为7,tf=2/7
print corpus.tf('td', 'tddd td')
# idf 出现在三个文档中一个,log(3/1)
print corpus.idf('one')
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容