# 生成字典和向量语料 dictionary = corpora.Dictionary([corpora_documents]) #print(dictionary) # print 'dfs:', dictionary.dfs # 字典词频,{单词id,在多少文档中出现} print 'num_docs:', dictionary.num_docs # 文档数目 print 'num_pos:', dictionary.num_pos # 所有词的个数 # word_id_dict = dictionary.token2id # {词:id} # print 'word_id_dict:' # print len(word_id_dict) # for k in word_id_dict.keys(): # kuozhan(corpora_documents) # big_shuzu.append(corpora_documents) #print big_shuzu #dictionary.add_documents(big_shuzu) # 词典扩展 print 'num_docs:', dictionary.num_docs # 文档数目 print 'num_pos:', dictionary.num_pos # 所有词的个数 # dict.add_documents(dictionary) dictionary.save('ths_dict.dict') # 保存生成的词典 dictionary = corpora.Dictionary.load('ths_dict.dict') # 加载 # 通过下面一句得到语料中每一篇文档对应的稀疏向量(这里是bow向量) corpus = [dictionary.doc2bow(text) for text in [corpora_documents]] # 向量的每一个元素代表了一个word在这篇文档中出现的次数 # print(corpus) corpora.MmCorpus.serialize('ths_corpuse.mm', corpus) # 将生成的语料保存成MM文件 corpus = corpora.MmCorpus('ths_corpuse.mm') # 加载 # corpus是一个返回bow向量的迭代器。下面代码将完成对corpus中出现的每一个特征的IDF值的统计工作 tfidf_model = models.TfidfModel(corpus) corpus_tfidf = tfidf_model[corpus] # 使用for循环查看model中的内容 for item in corpus_tfidf: print(item) corpus_tfidf.save("ths_tfidf.model")#保存成model格式 corpus_tfidf = models.TfidfModel.load("ths_tfidf.model")#加载 #print(tfidf_model.dfs)
会在该程序所在的目录下生成四个文件,index文件是在保存corpus时自动生成。