首页天道酬勤nlp python,python文本分析

nlp python,python文本分析

admin 08-25 19:30 190次浏览

- 构建停用词表
- 分词时自定义分词词典
- 对每行文本分词,去掉单字,数字,去掉停用词
- 构造词典,为每个出现在语料库中的词分配了一个独一的整数编号,此操作收集了单词计数及其他相关统计信息
- 文本向量化,即把分词结果变成数字,原理是词袋模型
- lda模型,num_topics设置主题的个数
- 打印所有主题,每个主题显示5个词

#!/usr/jqdbmh/python# -*- coding: utf-8 -*-"""@author:@contact:@time:@context:python nlp系列-隐含有魅力的龙猫分布(LDA)做主题内容发现(中文) 构建停用词表 分词时自定义分词词典 对每行文本分词,去掉单字,数字,去掉停用词 构造词典,为每个出现在语料库中的词分配了一个独一的整数编号,此操作收集了单词计数及其他相关统计信息 文本向量化,即把分词结果变成数字,原理是词袋模型 lda模型,num_topics设置主题的个数 打印所有主题,每个主题显示5个词"""from gensim import corpora, modelsimport jieba.posseg as jp, jiebatexts = open('data.txt',encoding='utf-8',errors='ignore').read().split('\n')# 构建停用词表def get_custom_stopwords(stop_words_file): with open(stop_words_file, encoding='utf-8') as f: stopwords = f.read() stopwords_list = stopwords.split('\n') custom_stopwords_list = [i for i in stopwords_list] return custom_stopwords_liststop_words_file = "stopwords_lda.txt"stopwords = get_custom_stopwords(stop_words_file)# 分词时自定义分词词典fenci_name = open('fenci_name.txt',encoding='utf-8',errors='ignore').read().split('\n')for line in fenci_name: jieba.add_word(line)# 对每行文本分词,去掉单字,数字,去掉停用词words_ls = []for text in texts: words = [word.word for word in jp.cut(text) if len(word.word) > 1 and word.word.isdigit() != True and word.word not in stopwords] words_ls.append(words)# 构造词典,为每个出现在语料库中的词分配了一个独一的整数编号,此操作收集了单词计数及其他相关统计信息dictionary = corpora.Dictionary(words_ls)# print(dictionary)# print(dictionary.token2id)'''print(dictionary) Dictionary(950 unique tokens: ['Chan', 'Eason', 'Yik', 'shun', '人物']...) 语料库中有950个不同的单词print(dictionary.token2id) {'Chan': 0, 'Eason': 1, 'Yik': 2, ..., 'fzdxbw': 948, '高音': 949} 查看单词和编号之间的映射关系'''# 文本向量化,即把分词结果变成数字,原理是词袋模型corpus = [dictionary.doc2bow(words) for words in words_ls]# lda模型,num_topics设置主题的个数lda = models.ldamodel.LdaModel(corpus=corpus, id2word=dictionary, num_topics=6)# 打印所有主题,每个主题显示5个词for topic in lda.print_topics(num_words=5): print(topic)

结果:

javascript如何求3个数的和Android使用ListView实现下拉刷新及上拉显示更多的方法软件设计与体系——面向对象设计的原则UCloud优刻得乌兰察布数据中心预计一年减碳7380吨历史中提交的图片或压缩文件
狄利克雷分布 多项式分布,狄利克雷函数是发散函数吗 js数组去重方法map,js中的数组去重
相关内容