一、将语料库转化为向量(gensim)
在对语料库进行基本的处理后(分词,去停用词),有时需要将它进行向量化,便于后续的工作。
我们利用gensim.corpora.dictionary.Dictionary类为每个出现在语料库中的单词分配了一个独一无二的整数编号。doc2bow函数主要用于让编了号的语料库变为bow词袋模型,对每个不同单词的出现次数进行了计数,然后以稀疏向量的形式返回结果。上述代码的corpus就是语料库的词袋模型,其中,每一个子列表都表示一篇文章。
基于这个处理好了的含有三篇文章的训练文档,我们可以训练一个TFIDF模型,就是下面代码的第四步;
然后经过第五步,我们将上述用词频表示文档向量表示为一个用tf-idf值表示的文档向量
前面有说TFIDF可以用来做关键词提取,因为它认为tfidf值越大的词就越能够体现它对这篇文章的重要性。但TF-IDF也可用于查找相似文章、对文章进行摘要提取、特征选择(重要特征的提取)工作。如果说接下来是要对sentenses和语料库的三篇文章进行相似度比较的话,接下来的代码为:
https://blog.csdn.net/Lau_Sen/article/details/80436819
代码中的tfidf,和sen_tfidf结果分别是语料库和新句子的tfidf向量化表示。很多模型就是基于tf-idf来做的,比如lsi,lda等。现在每个句子就变成了[(词id号,idf值),(词id号,idf值)....]这样的稀疏表示形式。
然后,基于这个用tfidf值表示的向量,我们又可以训练一个lsi模型,有了这个lsi模型,我们就可以将文档映射到一个二维的topic空间中,代码如下: