第19届“花旗杯”金融创新应用大赛参赛作品,获得全国总决赛二等奖。以BERT模型为核心,组合实体抽取和消歧、情绪分析两个下游任务,抽取出非结构化文本中的债券实体和公司实体,并分别对相应实体进行对应文本的情绪分析,为债券违约提供参考,并将模型封装部署到了Web端。
本项目使用python == 3.7.4
开发,主要使用到的库版本如下,详情见requirements.txt
:
pytorch == 1.7.1
pytorch-crf == 0.7.2
pytorch-transformers == 1.2.0
numpy==1.21.6
pandas==1.3.5
Flask == 2.2.2
-
实体识别模型:BERT(wwm)-BiLSTM-CRF
-
实体消歧模型:Jaro-Winkler Distance
-
情绪分析模型:BERT(FT)-Pool-MLP
3.1 安装Python
环境
3.2 下载辅助文件(包含bert-base-chinese
和output
两个文件夹):https://drive.google.com/file/d/13IYKsJBv-2gNHqJZDfmPp5foeNDrGeJq/view?usp=sharing 解压后将这两个文件夹放到与项目同级的目录,具体结构如下:
- 项目根目录
- Flask_Web
- api.py
- models.py
- predict.py
- ...
- bert-base-chinese
- config.json
- ...
- output
- pytorch_model.bin
- MLP_best_MSE.pth
- BERT_best_MSE.pth
- ...
3.3 进入Flask_Web
目录启动项目
python api.py
海报
实验结果
项目介绍页面
金融实体识别及情绪分析页面
关于我们页面