gensim使用python标准的logging包,引入方式为:

import logging
logging.basicConfig(format=’%(asctime)s : %(levelname)s : %(message)s’, level=logging.INFO)

学习任何开源项目首先都要理解其中的专业术语。
gensim中的必须理解的概念有:
1 raw strings 原始字符串
2 corpora 语料库
3 sparse vectors 稀疏向量
4 vector space model 向量空间模型
5 transformation 转换,指由稀疏向量组成的稀疏矩阵生成某个向量空间模型。
6 index 索引
……

要深入理解开源项目的运行原理,需要认真研究其中的核心对象。
1 corpora.Dictionary 对象
可以理解为python中的字典对象, 其Key是字典中的词,其Val是词对应的唯一数值型ID
构造方法

Dictionary(documents=None, prune_at=2000000)

document参数
Each document is a list of tokens = tokenized and normalized strings (either utf8 or unicode).
也可以是列表的列表例如常见的文档矩阵:

pprint(texts)
[[‘human’, ‘interface’, ‘computer’],
[‘survey’, ‘user’, ‘computer’, ‘system’, ‘response’, ‘time’],
[‘eps’, ‘user’, ‘interface’, ‘system’]]
dictionary = corpora.Dictionary(texts)

prune_at参数
起到控制向量的维数的作用
keeping the total number of unique words <= prune_at
To disable this pruning, set prune_at=None.

常用方法
添加document

add_documents(documents, prune_at=2000000)

压实,使得ID更加紧凑

compactify()

将一个raw string 转换为根据本词典构构造的向量

doc2bow(document, allow_update=False, return_missing=False)¶

If allow_update is set, then also update dictionary in the process: create ids for new words. At the same time, update document frequencies – for each word appearing in this document, increase its document frequency (self.dfs) by one.

去低频、高频词

filter_extremes(no_below=5, no_above=0.5, keep_n=100000)

从已有的语料库中构造

static from_corpus(corpus, id2word=None)¶

合并Dictionary

merge_with(other)

Gensim学习笔记-1--理解corpora.Dictionary相关推荐

  1. TCP/IP学习笔记-如何理解

    任何技术的掌握都需要做到应用技能的熟练掌握,比如让你写一个实现亮灯的程序,你本能的知道加载头文件,写main函数,这就是熟练掌握的应用技能,让一个刚学C的人,肯定就会为为什么家在头文件,为什么要写ma ...

  2. tipi 深入理解php内核 pdf_大牛的学习笔记-深入理解Linux内核(完整版)

    第一章.绪论 1.Unix文件可以是下列类型之一: a.正规文件(regular file) b.目录(directroy) c.符号链(symbolic link) d.块设备文件(block-or ...

  3. JavaScript --- [学习笔记]观察者模式 理解对象 工厂模式 构造函数模式

    说明 本系列(JS基础梳理)为后面TCP的模拟实现做准备 本篇的主要内容: 观察者模式.工厂模式.构造函数模式 和 对对象的理解 1. 观察者模式 参考JavaScript设计模式 1.1 消息注册方 ...

  4. SpringMVC:学习笔记(1)——理解MVC及快速入门

    SprigMVC-理解MVC及快速入门 说明: 传统MVC-->JSPModel2-->Front Controller + Application Controller + Page C ...

  5. 莫队算法(普通莫队、带修莫队、树上莫队、不删除莫队)学习笔记【理解+套路/核心代码+例题及题解】

    一.理解 我的理解就是巧妙的暴力,利用双指针以及分块思想,巧妙的移动双指针,时间复杂度可以达到O(NlogN). 强推博客:写的又好又全.链接 二.套路 1.普通莫队 [1]核心代码 bool cmp ...

  6. 【go学习笔记】理解Go语言的nil 【转】

    最近在油管上面看了一个视频:Understanding nil,挺有意思,这篇文章就对视频做一个归纳总结,代码示例都是来自于视频. nil是什么 相信写过Golang的程序员对下面一段代码是非常非常熟 ...

  7. 多线程学习笔记-深入理解ThreadPoolExecutor

    java多线程中,线程池的最上层接口是Executor,ExecutorService实现了Executor,是真正的管理线程池的接口,ThreadPoolExecutor间接继承了ExecutorS ...

  8. 四元数左乘右乘_四元数、欧拉角学习笔记个人理解

    一.背景知识:点乘.叉乘 复数的点乘:(ai+bj+ck)•(xi+yj+zk)=-(ax+by+cz) 复数的叉乘:(ai+bj+ck)×(xi+yj+zk)=(ax)i×i+(ay)i×j+(az ...

  9. JPA学习笔记---JPA理解---第一个JPA程序

    1. a.JPA和Hibernate是sun提出的java持久化的规范.JPA是Hibernate,和TopLink,JDO等ORM框架 基础上发展而来的. b.和jdbc类似,比如刚刚没有jdbc的 ...

最新文章

  1. Linux 下关于网络的几个命令
  2. android语言 选择题,Android N以编程方式更改语言
  3. Linux - How to Extend/Reduce LVM’s (Logical Volume Management) in Linux
  4. python连连看小游戏_请用PYTHON编一个小游戏,如五子棋,连连看,贪吃蛇,扫雷,计算器等等...
  5. ThreadLocal如何实现?
  6. 谁不想写出干净的代码?7 个技巧,让你的同事爱上你的代码
  7. 连接MySQL错误:Can't connect to MySQL server (10060)
  8. Access(JET-SQL)问题集锦
  9. pythonsqlite3模糊_让 Python 更加充分的使用 Sqlite3
  10. [go]简单的RPC框架
  11. 如何用计算机做曲面图,#平面设计图#在电脑上怎么做设计图?
  12. MySQL安装+Navicat11注册机破解
  13. Cousera吴恩达深度学习第二次编程作业
  14. python: reverse reversed 函数
  15. 职业访谈计算机学院老师,理想照亮现实 访谈引领未来数学计算机学院举行首届职业生涯人物访谈大赛...
  16. 舆情监测意思及监测工作流程详介
  17. 帝国CMS仿《3641图库》模板/图片网站源码/带WAP手机站带数据
  18. 如何使用matlab进行二维和三维空间的位姿描述及坐标系的变换
  19. 双目立体视觉技术涉及到的基本概念
  20. rofl文件如何播放

热门文章

  1. 大数据在医疗领域应用有哪些挑战?
  2. VS2012编译和调用gdal
  3. Android 组件化开源 app -开眼短视频(OpenEyes)
  4. python与建筑行业_Python+AI+CC,这些建模“高级功能”,90%的人不知道
  5. p,np,npc,np难问题,确定图灵机与非确定图灵机
  6. java8(三)Stream API
  7. LVGL-gui_user.c
  8. 图深度学习——卷积神经网络循环神经网络自编码器
  9. 想必这篇秋招面试贴会帮助你
  10. LSTM做预测遇到的错误总结