littlebot
Published on 2025-04-09 / 1 Visits
0

【源码】基于Python和TensorFlow的文本分类系统

项目简介

本项目是基于Python和TensorFlow框架的文本分类系统,用于对开源项目里的bug报告进行分类。采用卷积神经网络(CNN)作为核心模型,结合数据预处理、模型训练和评估等功能模块,能有效处理和分析文本数据,参考经典文本分类论文和开源实现,提供完整的文本分类解决方案。

项目的主要特性和功能

  1. 数据预处理:对原始bug报告数据进行清洗、分词、生成词汇表等操作,保证数据能被模型有效处理。
  2. 文本分类模型:基于CNN构建,支持随机初始化、预训练Word2Vec等多种词嵌入方式,可有效捕捉文本语义信息。
  3. 模型训练与评估:支持模型训练和评估,能通过训练集优化模型,在测试集上评估性能,输出准确率、召回率等指标。
  4. 数据集支持:可处理开源项目(如Eclipse)的bug报告数据集,自动加载和划分训练集与测试集。
  5. 参考实现:参考《Convolutional Neural Networks for Sentence Classification》及其开源实现,保证模型的科学性和有效性。

安装使用步骤

环境准备

  • 确保已安装Python 3.5.3和TensorFlow 1.1.0。
  • 使用conda创建虚拟环境并安装依赖包: bash conda create -n textcnn python=3.5.3 conda activate textcnn pip install tensorflow==1.1.0 numpy==1.18.5 protobuf==3.19.6 six==1.16.0 werkzeug==1.0.1

数据准备

  • 将原始bug报告数据放在data/data_by_ocean/eclipse/raw/目录下,文件名需为summary_description.csvbug_id_date_who.csv
  • 运行数据预处理脚本生成模型输入数据: bash python data_helpers.py

模型训练

  • 运行模型训练脚本开始训练文本分类模型: bash python train.py
  • 训练时会输出每个epoch的训练时间和性能指标。

模型评估

  • 训练完成后,运行评估脚本查看模型在测试集上的表现: bash python eval.py

模型应用

  • 使用训练好的模型对新文本进行分类预测: bash python predict.py --text "Your input text here"

注意事项

  • 项目中TensorFlow版本较旧(1.1.0),建议在虚拟环境中运行,避免与其他项目冲突。
  • 数据预处理部分需根据实际数据集路径调整,确保文件路径正确。
  • 项目参考了多个开源实现,使用时建议引用相关论文和代码库。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】