Skip to content

betterAndTogether/LDA_TopicModel

Repository files navigation

使用LDA进驻主题分布分析

py文件解析

#   Tools.py

    ##  共有三个功能工具:
            1.Extract file titles   2. Extract file content     3.split word[分词]

#   pre_process_data.py

    ##  对文本数据进行预处理


#   LDA_model.py

    ##  使用gensim包,调用LDA模型接口。

运行流程 pineline

1.数据准备
    格式:将数据存放在./data/init_data/2016[2017,2018]/文件夹中,每个文件夹存放多个txt文件,每个txt文件
        相当于一个贴

2.运行 Tool.py 文件,进而将原始文件,转化为 context.txt 文件。  【一行代表一个贴的文本数据】
    生成文件:
        ./data/processed_data/content.txt
    For example:
            #demo for extract content
            data_dir = "./data/init_data/"
            file_path_arr = Get_File_Name(data_dir)
            save_path = "./data/processed_data/content.txt"
            ExtractContent(file_path_arr,save_path)

3.运行LDA_model.py文件,生成 ./result/topic.txt [若context_split.txt不存在,会对context.txt数据进行预处理,
    并生成context_split.txt]

    [若更新了context.txt文本数据文件,需要手动将context_split.txt文件先删除]

    For example:
            save_file = "./result/topic.txt"
            lda_main(save_file)

            生成的topic.txt文件样例:

            第0个主题:
               "宿舍"  : ( 0.009)   "团子"  : ( 0.008)   "想"  : ( 0.007)   "说"  : ( 0.007)   "楼主"  : ( 0.006)
            第1个主题:
               "工作"  : (0.013)   "学生"  : ( 0.008)   "时间"  : ( 0.007)    "月"  : ( 0.005) 
            第2个主题:
               "自考"  : (0.083)  "年"  : ( 0.036) 
            第3个主题:
                ......

4.运行TextClassification.py,根据第3步保存的lda model,对新来的文档输出其主题分布概率

    需要调用LDA_model.py中接口,get_topic(splited_doc): 输入: 文档的分词数组  输出: 该文档概率最大的主题

    【此文件结合本项目需求,需将所有文档根据主题进行分类】

5.运行sentiment_match.py

    此py文件,直接使用外部情感词典,从而判断文本的情感方向。二分情感分类:【消极/积极】

About

Use LDA model to analysis the document

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages