LDA(Latent Dirichlet Allocation)是一种常用的主题模型,它可以帮助我们从大量文本数据中发现隐藏的主题信息。
需要的库
import pandas as pd
import matplotlib.pyplot as plt
import jieba
import jieba.posseg as pseg
from gensim.corpora import Dictionary
from gensim.models import LdaModel
import os
import re
import pyLDAvis.gensim_models
ScenicSpotReviewAnalysis类
class ScenicSpotReviewAnalysis:
def __init__(self, data_path, stopwords_path):
self.data_path = data_path # txt路径
self.stopwords = self._load_stopwords(stopwords_path) # 停用词
self.all_texts = self._load_data() # 加载数据
self.dictionary = None # 初始化词典
self.corpus = None # 初始化语料库
def _load_stopwords(self, path):
# 加载停用词
with open(path, encoding="utf8") as f:
stopwords = f.read().split("\n")
stopwords.append("\n")
# 添加要排除的特定词语
extra_stopwords = ['地方', '总体', '真的', '建议','小时','一座','建议']
stopwords.extend(extra_stopwords