gensim使用方法以及例子
Posted keye
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gensim使用方法以及例子相关的知识,希望对你有一定的参考价值。
来自:https://blog.csdn.net/u014595019/article/details/52218249
gensim是一个Python的自然语言处理库,能够将文档根据TF-IDF,LDA,LSI等模型转换成向量模式,此外,gensim还实现了word2vec,能够将单词转换为词向量。
1. corpora和dictionary
1.1 基本概念和用法
corpora是gensim中的一个基本概念,是文档集的表现形式。corpora就是一个二维矩阵。举例:
1 hurry up 2 rise up
这两篇文档总共就3个词,hurry,rise,up。如果将这3个词映射到数字,比如说hurry, rise, up分别对应1,2,3,那么上述的文档集的一种表现形式可以是:
1 1,0,1 2 0,1,1
这种方法只考虑词频,不考虑词语间的位置关系。因为第一个文档中的两个词分别编号1,3且都只出现了一次,所以第1个和第3个为1,第2个为0。
在实际运行中,单词数量极多(上万甚至10万级别),而一篇文档的单词数是有限的,这时采用密集矩阵来表示的话,会造成极大的内存浪费,所以gensim内部是用稀疏矩阵的形式来表示。
如何将文档转化为上述形式?
这里就要提到词典的感念(dictionary)。词典是所有文档中所有单词的集合,而且记录了各词的出现次数等信息。
对于字符串形式的文档,首先要将字符串分割成词语列表。如:"hurry up"要分割成[‘hurry‘, ‘up‘]。对于中文来讲,一般用jieba。
将文档分割成词语之后,使用dictionary = corpora.Dictionary(texts)生成词典,并可以使用save函数将词典持久化。
生成词典后corpus = [dictionary.doc2bow(text) for text in texts]转化为向量形式。
以上是关于gensim使用方法以及例子的主要内容,如果未能解决你的问题,请参考以下文章