jieba分词以及LDA主题提取(python)

本文介绍了如何使用jieba进行分词预处理,并应用LDA进行主题提取。首先确保Python环境配置正确,安装jieba、numpy、wordcloud等依赖库。接着,展示了jieba分词的代码示例,包括数据处理和词云生成。最后,讨论了LDA模型参数设置,如话题数量(num_topic)和alpha参数,并展示了LDA主题提取的结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、环境配置

在运行分词之前首先要确定Python已经正确安装,这里我安装的是python3.9,但建议安装低一个版本的,如python3.8,因为有些包在pip install安装的时候不支持最新版本。
其次,本文需要用到lda、jieba、numpy、wordcloud等主要的包。如果发现pip安装出现错误,可以上whl官方包手动安装whl格式的包,在网页中利用Ctrl+F快速查找到相应包,如果发现这里面没有,比如lda包,还有个网站提供python官方packagetar.gz后缀的压缩包,具体安装方式百度,主要就是用python setup.py install安装命令。

二、jieba分词-数据预处理

这里采用的是jieba分词,代码如下所示,相关数据及代码文件可以在数据文本下载,在复现时需要根据自己的文件名称修改下面的文件名称。
(3.31补充:有同学反馈github因为某些原因,有时上不去,这里给上网盘地址,一个是只有500个的短文本版本,可以快速复现,另一个是完整的30M长文本-需要久点跑完)文本-提取码1111

import jieba
from os import path  #用来获取文档的路径
import jieba.analyse as anls
from PIL import Image
import numpy as  np
import matplotlib.pyplot as plt
#词云生成工具
from wordcloud import WordCloud,ImageColorGenerator
#需要对中文进行处理
import matplotlib.font_manager as fm

#背景图
bg=np.array(Image.open("boy.png"))

#获取当前的项目文件加的路径
d=path.dirname(__file__)
#读取停用词表
stopwords = [line.strip() for line in open('cn_stopwords.txt', encoding='UTF-8').readlines()]  
#读取要分析的文本
text_path="answers.txt"
#读取要分析的文本,读取格式
text=open(path.join(d,text_path),encoding="utf8").read()

text_split = jieba.cut(text)  # 未去掉停用词的分词结果   list类型

#去掉停用词的分词结果  list类型
text_split_no = []
for word in text_split:
    if word not in stopwords:
        text_split_no.append(word)
#print(text_split_no)
fW = open('fencioutput.txt','w',encoding = 'UTF-8')
fW.write(' '.join(text_split_no))
fW.close()

text_split_no_str =' '.join(text_split_no)  #list类型分为str

with open('fencioutput.txt',"r",encoding 
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值