Gensim学习笔记-1--理解corpora.Dictionary
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相关推荐
- TCP/IP学习笔记-如何理解
任何技术的掌握都需要做到应用技能的熟练掌握,比如让你写一个实现亮灯的程序,你本能的知道加载头文件,写main函数,这就是熟练掌握的应用技能,让一个刚学C的人,肯定就会为为什么家在头文件,为什么要写ma ...
- tipi 深入理解php内核 pdf_大牛的学习笔记-深入理解Linux内核(完整版)
第一章.绪论 1.Unix文件可以是下列类型之一: a.正规文件(regular file) b.目录(directroy) c.符号链(symbolic link) d.块设备文件(block-or ...
- JavaScript --- [学习笔记]观察者模式 理解对象 工厂模式 构造函数模式
说明 本系列(JS基础梳理)为后面TCP的模拟实现做准备 本篇的主要内容: 观察者模式.工厂模式.构造函数模式 和 对对象的理解 1. 观察者模式 参考JavaScript设计模式 1.1 消息注册方 ...
- SpringMVC:学习笔记(1)——理解MVC及快速入门
SprigMVC-理解MVC及快速入门 说明: 传统MVC-->JSPModel2-->Front Controller + Application Controller + Page C ...
- 莫队算法(普通莫队、带修莫队、树上莫队、不删除莫队)学习笔记【理解+套路/核心代码+例题及题解】
一.理解 我的理解就是巧妙的暴力,利用双指针以及分块思想,巧妙的移动双指针,时间复杂度可以达到O(NlogN). 强推博客:写的又好又全.链接 二.套路 1.普通莫队 [1]核心代码 bool cmp ...
- 【go学习笔记】理解Go语言的nil 【转】
最近在油管上面看了一个视频:Understanding nil,挺有意思,这篇文章就对视频做一个归纳总结,代码示例都是来自于视频. nil是什么 相信写过Golang的程序员对下面一段代码是非常非常熟 ...
- 多线程学习笔记-深入理解ThreadPoolExecutor
java多线程中,线程池的最上层接口是Executor,ExecutorService实现了Executor,是真正的管理线程池的接口,ThreadPoolExecutor间接继承了ExecutorS ...
- 四元数左乘右乘_四元数、欧拉角学习笔记个人理解
一.背景知识:点乘.叉乘 复数的点乘:(ai+bj+ck)•(xi+yj+zk)=-(ax+by+cz) 复数的叉乘:(ai+bj+ck)×(xi+yj+zk)=(ax)i×i+(ay)i×j+(az ...
- JPA学习笔记---JPA理解---第一个JPA程序
1. a.JPA和Hibernate是sun提出的java持久化的规范.JPA是Hibernate,和TopLink,JDO等ORM框架 基础上发展而来的. b.和jdbc类似,比如刚刚没有jdbc的 ...
最新文章
- Linux 下关于网络的几个命令
- android语言 选择题,Android N以编程方式更改语言
- Linux - How to Extend/Reduce LVM’s (Logical Volume Management) in Linux
- python连连看小游戏_请用PYTHON编一个小游戏,如五子棋,连连看,贪吃蛇,扫雷,计算器等等...
- ThreadLocal如何实现?
- 谁不想写出干净的代码?7 个技巧,让你的同事爱上你的代码
- 连接MySQL错误:Can't connect to MySQL server (10060)
- Access(JET-SQL)问题集锦
- pythonsqlite3模糊_让 Python 更加充分的使用 Sqlite3
- [go]简单的RPC框架
- 如何用计算机做曲面图,#平面设计图#在电脑上怎么做设计图?
- MySQL安装+Navicat11注册机破解
- Cousera吴恩达深度学习第二次编程作业
- python: reverse reversed 函数
- 职业访谈计算机学院老师,理想照亮现实 访谈引领未来数学计算机学院举行首届职业生涯人物访谈大赛...
- 舆情监测意思及监测工作流程详介
- 帝国CMS仿《3641图库》模板/图片网站源码/带WAP手机站带数据
- 如何使用matlab进行二维和三维空间的位姿描述及坐标系的变换
- 双目立体视觉技术涉及到的基本概念
- rofl文件如何播放
热门文章
- 大数据在医疗领域应用有哪些挑战?
- VS2012编译和调用gdal
- Android 组件化开源 app -开眼短视频(OpenEyes)
- python与建筑行业_Python+AI+CC,这些建模“高级功能”,90%的人不知道
- p,np,npc,np难问题,确定图灵机与非确定图灵机
- java8(三)Stream API
- LVGL-gui_user.c
- 图深度学习——卷积神经网络循环神经网络自编码器
- 想必这篇秋招面试贴会帮助你
- LSTM做预测遇到的错误总结