自然语言处理(NLP)之gensim中的TF-IDF的计算方法

step 1.  去掉所有文本中都会出现的词

texts = [['这是', '一个', '文本'], ['这是', '第二个', '文本'], ['这是', '又一个', '文本'], ['这是', '最后', '一个', '文本']]

去掉所有文本中均出现的词后的文本:

texts_filter = [['一个'], ['第二个'], ['又一个'], ['最后', '一个']]

step 2. 计算文本中剩余单词的tf-idf值,默认得计算公式:

tf_idf = word_freq * log(全部文本数 / 包含该词的文本数)

这里不需要做平滑化的处理, 因为已经把全部文本中都会出现的词拿掉了

示例代码:

from gensim import corpora
from gensim.models.tfidfmodel import TfidfModeltexts = [['这是', '一个', '文本'], ['这是', '第二个', '文本'], ['这是', '又一个', '文本'], ['这是', '最后', '一个', '文本']]
dictionary = corpora.Dictionary(texts)
print(dictionary)corpus = [dictionary.doc2bow(text) for text in texts]
print(corpus)tf_idf_model = TfidfModel(corpus, normalize=False)
word_tf_idf = list(tf_idf_model[corpus])print('词典:', dictionary.token2id)
print('词频:', corpus)
print('词的tf-idf值:', word_tf_idf)

运行结果:

Dictionary(6 unique tokens: ['一个', '文本', '这是', '第二个', '又一个']...)
[[(0, 1), (1, 1), (2, 1)], [(1, 1), (2, 1), (3, 1)], [(1, 1), (2, 1), (4, 1)], [(0, 1), (1, 1), (2, 1), (5, 1)]]
词典: {'一个': 0, '文本': 1, '这是': 2, '第二个': 3, '又一个': 4, '最后': 5}
词频: [[(0, 1), (1, 1), (2, 1)], [(1, 1), (2, 1), (3, 1)], [(1, 1), (2, 1), (4, 1)], [(0, 1), (1, 1), (2, 1), (5, 1)]]
词的tf-idf值: [[(0, 1.0)], [(3, 2.0)], [(4, 2.0)], [(0, 1.0), (5, 2.0)]]

自然语言处理(NLP)之gensim中的TF-IDF的计算方法相关推荐

  1. tf-idf词向量和bow_使用词袋Bow和TF IDF进行多标签分类

    tf-idf词向量和bow 1.加载数据 (1. Load the data) For this study, we are using Kaggle data for Toxic Comment C ...

  2. 大数据分析深度学习在自然语言处理NLP中的应用

    通过深度学习的先进技术,自然语言处理取得了令人难以置信的进步.了解这些强大的模型,并发现这些方法与人类水平的理解有多近(或遥远). 人类有很多感觉,但我们的感官体验通常以视觉为主.考虑到这一点,现代机 ...

  3. 【自然语言处理】Gensim中的Word2Vec

    Gensim中的Word2Vec BOW 和 TF-IDF 都只着重于词汇出现在文件中的次数,未考虑语言.文字有上下文的关联,针对上下文的关联,Google 研发团队提出了词向量 Word2vec,将 ...

  4. [深度学习] 自然语言处理 --- NLP入门指南

    NLP的全称是Natuarl Language Processing,中文意思是自然语言处理,是人工智能领域的一个重要方向 自然语言处理(NLP)的一个最伟大的方面是跨越多个领域的计算研究,从人工智能 ...

  5. 自然语言处理(NLP)之TF-IDF原理及使用

    TF-IDF介绍 TF-IDF是NLP中一种常用的统计方法,用以评估一个字词对于一个文件集或一个语料库中的其中一份文件的重要程度,通常用于提取文本的特征,即关键词.字词的重要性随着它在文件中出现的次数 ...

  6. 自然语言处理(NLP)之使用TF-IDF模型计算文本相似度

    自然语言处理(NLP)之使用TF-IDF模型计算文本相似度 所用数据集:ChnSentiCorp_htl_all.csv 语料库即存放稀疏向量的列表. 要注意的是,搜索文本text与被检索的文档共用一 ...

  7. 自然语言处理nlp全领域综述

    ************************* 精华总结,时间不够只看这个部分就行了 1.书和课 Michael Collins:COMS W4705: Natural Language Proc ...

  8. 自然语言处理NLP中文分词,词性标注,关键词提取和文本摘要

    NLP相关工具包的介绍 1.1 jieba "结巴"中文分词,理念是做最好的 Python 中文分词组件. 支持三种分词模式: (1)精确模式,试图将句子最精确地切开,适合文本分析 ...

  9. 使用自然语言处理来检测电子邮件中的垃圾邮件

    Have you ever wondered how a machine translates language? Or how voice assistants respond to questio ...

最新文章

  1. 【js】四种自定义对象的常见方法
  2. 地平线机器人提出Anchor free、NMS free的3D目标检测算法 | CVPR2020 Workshop
  3. 华硕首款平板电脑周五开售
  4. 深度学习之 BP 算法
  5. Ubuntu16.04下安装Sublime Sublime Text3
  6. smarty缓存文件里是php,php-smarty模版引擎中的缓存应用
  7. 达观杯文本智能处理(1)
  8. mysql varchar varbinary_mysql varbinary vs varchar
  9. 字符(串)转换ASCII码
  10. 星环科技多模型数据统一存储的大数据分布式存储平台方案分享
  11. splunk : admin 没有权限问题的解决
  12. HT6221发送红外HS0038解码程序
  13. 变量的存储类别 extern static atuo register
  14. 一页中关村 · 当百度碰见丧尸
  15. 上海宝付谈谈故宫瘫痪,程序员怎么办
  16. 文末赠书 | 豆瓣评分9.2,Python 畅销书作者再出新作!
  17. rip neighbor_借助众筹平台Neighbor.ly透明地提高公民素质
  18. python sys.path[0_Python的sys.path从哪里初始化?
  19. mariadb 卸载 Kali_为您 win7系统卸载和安装Microsoft office 2003办公软件的操作办法 -win7系统使用教程...
  20. 试用期辞职只发%80的工资

热门文章

  1. 性能提升3倍的树莓派4,被爆设计缺陷!
  2. 小小的Python编程故事
  3. “AI开发者大会”早鸟票抢购倒计时开始~
  4. 深度分析:比特大陆二代AI芯片性能跃升,专注安防视频
  5. 上班第一天公司要你用Spring Boot 实现万能文件在线预览
  6. 100万人同时抢1万张火车票,极限并发带来的思考
  7. 稳~阿里程序员常用的 15 款开发者工具
  8. SpringBoot2.0.3之quartz集成,不是你想的那样哦!
  9. 5300亿NLP模型“威震天-图灵”发布,由4480块A100训练,微软英伟达联合出品
  10. 中学再不学编程就晚了?MIT、JHU研究:程序员大脑思考代码的机制不对劲