在Gensim的官网中,它对自己的简介只有一句话:topic modelling for humans!
Gensim是用来处理语言方面的任务,如文本相似度计算、LDA、Word2Vec等,这些领域的任务往往需要比较多的背景知识,通常的情况是:研究这方面的读者,已经不需要我再多说什么;不研究这方面的读者,在这里也说不清楚。(所以Gensim的介绍只有一句话也就不奇怪了。)
因此,在这一节中,只是提醒读者有这么一个库的存在,而且这个库很强大,如果用得到这个库,请读者去阅读官方帮助文档或参考链接。
需要一提的是,Gensim把Google公司在2013年开源的著名的词向量构造工具Word2Vec编译好了作为它的子库,因此需要用到Word2Vec的读者也可以直接用Gensim而无需自行编译了。据说Gensim的作者对Word2Vec的代码进行了优化,据说它在Gensim下的表现比原生的Word2Vec还要快。(为了实现加速,需要准备C++编译器环境,因此,建议用到Gensim的Word2Vec的读者在Linux下环境运行。)
下面是一个Gensim使用Word2Vec的简单例子。
# -*- coding: utf-8 -*- import gensim, logging logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO) #logging是用来输出训练日志 #分好词的句子,每个句子以词列表的形式输入 sentences = [['first', 'sentence'], ['second', 'sentence']] #用以上句子训练词向量模型 model = gensim.models.Word2Vec(sentences, min_count=1) print(model['sentence']) #输出单词sentence的词向量。
参考链接:
http://radimrehurek.com/gensim/。
http://www.52nlp.cn/(如何计算两个文档的相似度二)。