评测网站: http://cips-chip.org.cn/2021/eval3
所有的代码都是基于我们开源的ark-nlp实现。 本次CHIP2021的临床术语标准化任务是没有A榜的,所以代码调试都是在天池的中文医疗信息处理数据集CBLUE的临床术语标准化任务上完成的
ark-nlp地址:https://github.com/xiangking/ark-nlp
中文医疗信息处理数据集CBLUE:https://tianchi.aliyun.com/dataset/dataDetail?dataId=95414
Cuda:11.0
GPU:GeForce RTX 3060 * 1
显存:12GB
CPU:7核 Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz
内存:20GB
硬盘:100GB SSD
Python 3.8.10
pip install ark-nlp==0.0.2
pip install scikit-learn
pip install pandas
pip install elasticsearch
pip install openpyxl
pip install python-Levenshtein
模型主要分为三部分:召回、个数预测、相似预测
将ICD文件、训练集合、清洗后的训练集加入ES创建索引
对非标准词,直接使用文本分类对其对应的标准词个数进行预测(label分别为对应标准词一个,标准词两个和标准词两个以上)
将非标准词和标准词拼接成如下bert输入,预测相似性
使用docker创建容器
docker pull nshou/elasticsearch-kibana
docker run -it --name es-kibana -d -p 8080:9200 -p 5601:5601 nshou/elasticsearch-kibana
使用如下代码创建索引
python es_index.py
bash ./run.sh
PS:创建conda环境时会出现y/n选项,请手动输入y进行环境创建
-
必要的模型存储文件夹创建
- mkdir -p ./checkpoint/textsim
- mkdir -p ./checkpoint/predict_num
-
创建代码执行的虚拟环境
- conda create -n goodwang python=3.8.10
- conda activate goodwang
-
安装依赖包
- pip install ark-nlp
- pip install scikit-learn
- pip install pandas
- pip install elasticsearch
- pip install openpyxl
- pip install python-Levenshtein
-
数据预处理,生成相似模型训练所需的训练数据
- python data_process.py
-
训练
- 训练相似模型:python textsim.py
- 训练个数预测模型:python predictnum.py
-
预测
- python predict.py
https://huggingface.co/nghuyong/ernie-1.0
不需要处理,代码中会自动下载和处理