关键词提取TF-IDF
Posted dan-baishucaizi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关键词提取TF-IDF相关的知识,希望对你有一定的参考价值。
TF-IDF
TF-IDF统计的是词库所有词的出现频率与在文件级出现频率的倒数的对数乘积。
TF:即词语出现的频率。
IDF:记每个词出现的文件数为 file_i,总文件数为file_num,IDF[I] = log(file_num/(1+file_i))
TF-IDF = TF * IDF
1 import jieba.analyse 2 # 在线制作词云 https://wordart.com/create 3 path = ‘./test_text.txt‘ 4 file_in = open(path, ‘r‘,encoding=‘utf-8‘) 5 content = file_in.read() 6 7 # 停止词在网上找 https://blog.csdn.net/dorisi_h_n_q/article/details/82114913 8 try: 9 jieba.analyse.set_stop_words(‘./stop_words.txt‘) 10 tags = jieba.analyse.extract_tags(content, topK=100, withWeight=True) 11 for v, n in tags: 12 #权重是小数,为了凑整,乘了一万 13 # 中间使用 制表符 是为了在线录入数据时候 选择csv格式自动添加词 14 out_words=v + ‘ ‘ + str(int(n * 10000)) 15 print(out_words) 16 with open(‘./out_词频.txt‘,‘a+‘,encoding=‘utf-8‘)as f: 17 f.write(out_words+‘ ‘) 18 finally: 19 file_in.close()
打开词云制作网站,import导入数据,粘贴好数据后,选择shapes、Font等。
操作步骤:
1.导入数据
2.选择SHAPES中的某个图像
3.设置字体。字体可以加载本地字体,也可以导“搜字网”下载。
可视化之后,效果图如下所示:
jieba.analyse.extract_tags(sentence, topK=20, withWeight=False, allowPOS=())
sentence:待分析的文本;
topK: 返回前topK个值;
withWeight: 是否返回权值,默认不返回;
allowPOS: 筛选过滤掉指定词性的词。可选:‘ns‘, ‘n‘, ‘vn‘, ‘v‘,‘nr‘。
以上是关于关键词提取TF-IDF的主要内容,如果未能解决你的问题,请参考以下文章
关键字提取算法TF-IDF和TextRank(python3)————实现TF-IDF并jieba中的TF-IDF对比,使用jieba中的实现TextRank