Gensim库简介
机器学习算法需要使用向量化后的数据进行预测,对于文本数据来说,因为算法执行的是关于矩形的数学运算,这意味着我们必须将字符串转换为向量。从数学的角度看,向量是具有大小和方向的几何对象,不需过多地关注概念,只需将向量化看作一种将单词映射到数学空间的方法,同时保留其本身蕴含的信息。
Gensim是世界上最大的NLP/信息检索Python库之一,兼具内存高效性和可扩展性。Gensim的可扩展性体现为它采用了Python内置的生成器和迭代器进行流式数据处理,所以数据集事实上并未完全加载到内存中。Gensim的主要特性有内存无关、潜在语义分析的多核实现、潜在Dirichlet分布、随即投影、分层Dirichlet过程,Word2Vec深度学习,以及在计算集群上运行LSA和LDA的能力。
1、数据预处理
本文通过处理部分新闻文本数据的test.txt,使用spacy和Gensim模块包对该文件进行去除停用词等预处理如下:
import spacy
from spacy.lang.zh.stop_words import STOP_WORDS
import pandas as pd
from gensim import corpora
from gensim import models
import gensim
#去除停用词
def stopwords(article):
nlp = spacy.load("zh_core_web_sm")
texts = []
doc = nlp(