项目简介
本项目是南京大学软件学院“数据科学基础2022”课程的大作业,目标是构建一个司法相关文本的文本扩增应用。借助爬虫模块从网络获取政务报告数据,运用自然语言处理技术对文本进行扩增,同时通过BLEU评分对扩增结果开展评价。项目涵盖爬虫模块、文本扩增模块和评价指标模块。
项目的主要特性和功能
- 爬虫模块:从浙江省人民政府网站爬取政务报告,将其分割成短文本,作为后续扩增的数据源。
- 文本扩增模块:提供两种扩增方式。回译扩增通过百度翻译API把文本翻译为其他语言后再翻译回中文;EDA扩增基于同义词替换、等价字替换和随机删除等策略进行文本扩增。
- 评价指标模块:使用BLEU评分对扩增后的文本进行质量评估,保证扩增文本的语义一致性。
安装使用步骤
环境配置
- 安装Python依赖库:
- 爬虫模块依赖库:
bash pip install requests beautifulsoup4 lxml
- 文本扩增模块依赖库:
bash pip install requests codecs nlpcda
- 评价指标模块依赖库:
bash pip install codecs
- 爬虫模块依赖库:
使用步骤
- 运行爬虫模块:
- 运行
crawler.py
文件中的Crawler()
函数,爬取政务报告并保存为短文本到text
文件夹中。python python crawler.py
- 运行
- 运行文本扩增模块:
- 选择回译扩增或EDA扩增方式:
- 回译扩增:运行
amplification_back_translate.py
文件中的back_translate()
函数。 - EDA扩增:运行
amplification_eda.py
文件中的eda()
函数。python python amplification_back_translate.py python amplification_eda.py
- 运行评价指标模块:
- 运行
evaluate_bleu.py
文件中的evaluate_bleu()
函数,传入参考文本和扩增文本的路径,获取BLEU评分。python python evaluate_bleu.py
- 运行
测试
- 爬虫模块测试:
- 直接运行
crawler.py
文件,爬取数据并保存到本地。
- 直接运行
- 文本扩增模块测试:
- 修改
amplification_back_translate.py
和amplification_eda.py
中的文件路径,运行文件生成扩增文本。
- 修改
- 评价指标模块测试:
- 修改
evaluate_bleu.py
中的文件路径,运行文件获取BLEU评分。
- 修改
注意事项
- 爬虫模块:爬取数据要遵守相关网站使用条款和法律法规,爬取长文本后分割为短文本时间成本高,可考虑直接爬取短文本。
- 文本扩增模块:回译扩增速度快但BLEU评分可能低,EDA扩增速度慢但BLEU评分高;使用同义词替换要注意上下文语境。
- 评价指标模块:中文文本的BLEU计算要考虑中文语言特性;文本过长时BLEU评分会偏小,获取文本时建议进行分割。
相关思考
- 爬虫模块:直接爬取短文本可能更高效,但要注意中文标点符号特殊用法。
- 文本扩增模块:回译和EDA各有优劣,可根据实际需求选择合适扩增方式。
- 评价指标模块:针对不同语言文本,需调整BLEU计算方法以获取更准确结果。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】