python 数据挖掘篇 三 gensim 使用

Python安装

python学习 一 python语法,及变量类型

python学习 二 爬一个图片网站上

python学习 二 02 爬一个图片网站,获得主链接网址,并保存

python学习 二 03 爬一个图片网站-获得所有分页网址

python学习 二 04 爬一个图片网站-解析文件,获得所有图片链接

python学习 二 05 爬一个图片网站-下载图片链接

python学习 二 06 爬一个图片网站-多线程方式下载

python学习 三 01 再爬一个网站,几行代码,搞定分类类别

python学习 三 02 再爬一个网站,获得所有分页

python学习 三 03 再爬一个网站,根据分页,下载图片

python学习 三 04 图片爬虫工程-组织框架

Python 爬虫 上篇

Python 爬虫 下篇

python 数据挖掘篇 一 结巴分词

python 数据挖掘篇 二 词云统计

python 数据挖掘篇 三 gensim 使用

python 数据挖掘篇四 小说数据挖掘实例



第三章 Genism

3.1字符串列表到分词向量的转换

将每一个文档进行分词,形成2维列表形式,列表的每一项是子列表,子列表存储的文档的分词

到此为止,我们已经将字符串列表,转换为了分词向量的形式。

但是,这样计算机还是不好处理,而且,也不好进行数学运算,如果能将他们表示成数学的方式,岂不是非常美妙的一件事。

3.2分词向量转换为数学空间整形向量(语料)

怎么转换成数学表达形式呢?

其实这个肯定都用过,你没用过?不太可能吧,你肯定压缩过文件吧

压缩文件时,就有个字典选项,没错,就是通过字典,将文件中常用字用数字替代,这样就节省空间了。

这里的字典是什么呢?简单来说,就是字符串和数字的对应

3.2.1 字符串转换成整形向量

而gensim提供了字符串向量向字典转换的函数

打印这个字典,可以看到,字符串与数字对应起来了 数字11 代表的就是字符串minors

有了字典,我们就可以将字符串用字典表示成数学整形向量了

Doc2bow 作用就是将字符串分词向量,转换为对应的整形向量

Bow是bag of word 直译为词袋,为啥叫词袋呢?个人以为是将字典作为原料,编织成袋子,将字典表示的各个分词向量,装在这个袋子里,个人理解,不必纠结。

下面将所有的文档,转换为词袋形式

3.2.2 文件流的形式,分解转换语料

上述转换为词袋语料用的是

corpus = [dictionary.doc2bow(text)fortextintexts]

texts 是分词向量列表,这个分词向量列表所有的子分词列表,都是加载到内存中的,对于大文件来说,很吃内存。

对此,gensim提供了流的形式,每次从硬盘上读取一段数据流,进行词袋转换,比如我想将上千本古典小说转换为词袋的形式,只能用这种方式一本本的转换,不能一下子放在内存中,我的内存才可怜的2G,一下子就撑爆了。

自定义一个类,迭代的方式读取文件数据。

这有啥作用呢?

用处就是,你可以不局限于内存大小,可以将任意数量的文本转换为整形向量了。比如我以后打算将1000本古典小说转换为整形向量,使用这种方法就可以了。

3.2.3 文件流的形式,扩展字典

如果想构建一个大字典,比如上千本古典小说的大字典,也不可能一下子将上千本书加载到内存中,gensim也提供了流加载,逐步扩展字典的方法。

到目前为止,已经可以将字符串转换成整形向量语料形式了。

3.3 向量空间转换

初始的向量空间,是由字典生成的整形向量空间

(字典ID, 该词在此子分词列表中出现的次数)

初始的向量空间,我自己称为初始语料,初始语料可以使用模型加工成其它语料

MmCorpus(9 documents, 12 features, 28 non-zero entries)

最简单的就是tfidf语料,除此之外还有lsi,lda等

Tfidf

这个转换很简单,使用初始语料,遍历一遍,计算频率

获取的结果是一个对象,使用这个对象,可以对初始的语料空间中的向量进行转换。

将初始语料,全部转换为tfidf语料

3.4 models 模型

模型是干嘛的呢,简单的说,是对语料进行进一步的处理,从中利用数学关系,计算机算法,挖掘出潜在的信息。

常用的模型:tf-idf模型,lsi模型,lda模型

Tfidf模型

使用举例:

目前,只是传入了初始语料参数,生成了一个新的对象,但并没有进行语料的处理。真正的语料处理,还得调用如下方式实现

类似的还有:

LSI模型

num_topic的选项,指的潜在主题(topic)的数目,默认是300,在真实大量语料情况下,200-500,被认为是黄金标准。

LDA模型

Word2Vec模型

这个模型也很有意思,可以对词的相近性做比较,还有部分推理关系

3.5 字典、语料、模型的保存

字典、词袋的形成都是很耗费时间的,所以要将其保存起来,下次直接加载使用就可以了。

3.5.1 语料与文档 对应关系的保存与加载

生成字典后,将文档转换为语料,然后利用这些语料进行后期的数学运算,最终用于相似性询问查找。

但是最终给出的结果,是索引的形式。

这时候,语料与文档的对应关系,需要我们自己解决

我是用来查询小说的,将小说每段作为文档来处理,这时候,我就要记录下段落在语料中的索引。

在此,我是用字典记录的,不同的应用,这个要做不同的处理,针对这个应用,我是这样处理的。

{0:第一段,1:第二段}

3.5.2 字典的保存与加载

保存

加载

如:

3.5.3 语料的保存与加载

保存

加载

3.5.4 模型的保存与加载

3.5.5 索引保存

在相似性查询时,对语料进行索引编码,索引信息也可以保存与加载

3.6 查询—Similarity

其实,就是搜索引擎,输入文字,查询与这个文字最相近的文档。

3.6.1 初始化

既然要查询哪些文档与输入的文字最相近,首先你得有这些文档吧,有了这些文档,还得转换成语料空间吧,这样才方便利用数学关系进行相似度查找吧。

首先,对语料进行索引编码

这里使用lsi语料为例

语料索引编码后,可以保存

3.6.2 对查询字符串做语料转换

如上,我们使用的lsi语料做的索引,所以查询字符串也要转换成lsi语料

查询的字符串---》初始整形语料----》ti-idf语料---》lsi语料

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,284评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,115评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,614评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,671评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,699评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,562评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,309评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,223评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,668评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,859评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,981评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,705评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,310评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,904评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,023评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,146评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,933评论 2 355

推荐阅读更多精彩内容