littlebot
Published on 2025-04-14 / 4 Visits
0

【源码】基于Python的文本扩增数据科学项目

项目简介

本项目是南京大学软件学院“数据科学基础2022”课程的大作业,目标是构建一个司法相关文本的文本扩增应用。借助爬虫模块从网络获取政务报告数据,运用自然语言处理技术对文本进行扩增,同时通过BLEU评分对扩增结果开展评价。项目涵盖爬虫模块、文本扩增模块和评价指标模块。

项目的主要特性和功能

  1. 爬虫模块:从浙江省人民政府网站爬取政务报告,将其分割成短文本,作为后续扩增的数据源。
  2. 文本扩增模块:提供两种扩增方式。回译扩增通过百度翻译API把文本翻译为其他语言后再翻译回中文;EDA扩增基于同义词替换、等价字替换和随机删除等策略进行文本扩增。
  3. 评价指标模块:使用BLEU评分对扩增后的文本进行质量评估,保证扩增文本的语义一致性。

安装使用步骤

环境配置

  1. 安装Python依赖库:
    • 爬虫模块依赖库: bash pip install requests beautifulsoup4 lxml
    • 文本扩增模块依赖库: bash pip install requests codecs nlpcda
    • 评价指标模块依赖库: bash pip install codecs

使用步骤

  1. 运行爬虫模块:
    • 运行crawler.py文件中的Crawler()函数,爬取政务报告并保存为短文本到text文件夹中。 python python crawler.py
  2. 运行文本扩增模块:
    • 选择回译扩增或EDA扩增方式:
    • 回译扩增:运行amplification_back_translate.py文件中的back_translate()函数。
    • EDA扩增:运行amplification_eda.py文件中的eda()函数。 python python amplification_back_translate.py python amplification_eda.py
  3. 运行评价指标模块:
    • 运行evaluate_bleu.py文件中的evaluate_bleu()函数,传入参考文本和扩增文本的路径,获取BLEU评分。 python python evaluate_bleu.py

测试

  1. 爬虫模块测试:
    • 直接运行crawler.py文件,爬取数据并保存到本地。
  2. 文本扩增模块测试:
    • 修改amplification_back_translate.pyamplification_eda.py中的文件路径,运行文件生成扩增文本。
  3. 评价指标模块测试:
    • 修改evaluate_bleu.py中的文件路径,运行文件获取BLEU评分。

注意事项

  1. 爬虫模块:爬取数据要遵守相关网站使用条款和法律法规,爬取长文本后分割为短文本时间成本高,可考虑直接爬取短文本。
  2. 文本扩增模块:回译扩增速度快但BLEU评分可能低,EDA扩增速度慢但BLEU评分高;使用同义词替换要注意上下文语境。
  3. 评价指标模块:中文文本的BLEU计算要考虑中文语言特性;文本过长时BLEU评分会偏小,获取文本时建议进行分割。

相关思考

  1. 爬虫模块:直接爬取短文本可能更高效,但要注意中文标点符号特殊用法。
  2. 文本扩增模块:回译和EDA各有优劣,可根据实际需求选择合适扩增方式。
  3. 评价指标模块:针对不同语言文本,需调整BLEU计算方法以获取更准确结果。

下载地址

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