zoukankan      html  css  js  c++  java
  • 关键词提取、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'。 
  • 相关阅读:
    每一次要fix的pr
    docker && k8s
    beisen
    c++迭代器失效问题
    视频分析
    视频分析记录
    深信服实习生笔试题-20190315
    laravel接口设计
    tensorflow利用预训练模型进行目标检测(四):检测中的精度问题以及evaluation
    tensorflow利用预训练模型进行目标检测(三):将检测结果存入mysql数据库
  • 原文地址:https://www.cnblogs.com/dan-baishucaizi/p/11865783.html
Copyright © 2011-2022 走看看