资讯 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

匹配任务:医疗问答

任务简介

医疗问答匹配:CHIP2019评测任务二,主要目标是针对中文的疾病问答数据,进行病种间的迁移学习。具体而言,给定来自5个不同病种的问句对,要求判定两个句子语义是否相同或者相近。本任务采用预训练模型ERNIE-Health进行训练,在通过文心使用ERNIE-Health非常简单,只需要将通用模型替换为ERNIE-Health即可。

快速开始

代码结构

├── data
│   ├── predict_data_mtch
│   │   └── predict.txt
│   ├── test_data_mtch
│   │   └── test.txt
│   └── train_data_mtch
│       └── train.txt
├── examples
│   ├── mtch_ernie_fc_pointwise_ch_infer.json
│   └── mtch_ernie_fc_pointwise_ch.json       ## 网络的json配置文件
├── inference 
│   ├── custom_inference.py
│   └── __init__.py
├── model
│   ├── base_matching.py
│   ├── ernie_matching_fc_pointwise.py
│   └── __init__.py
├── reader
│   └── ernie_classification_dataset_reader.py
├── run_infer.py       ## 只依靠json进行模型预测的入口脚本
├── run_trainer.py     ## 只依靠json进行模型训练的入口脚本
└── trainer
    ├── custom_dynamic_trainer.py
    ├── custom_trainer.py
    └── __init__.py

数据准备

  • 该任务仅提供调用ernie的接口,数据集不需要分词,且词表采用ernie模型的默认词表。数据集(包含词表)均为utf-8格式。
  • 训练集、测试集和预测集分别存放在data文件夹中的train_data_mtch、test_data_mtch和predict_data_mtch路径下。

pointwise训练集/测试集/

  • pointwise格式的训练集和测试集样例如下所示。数据分为三列,列与列之间用\t进行分隔。前两列为文本,最后一列为标签。
现在正在吃医生开的降血药,可以与北冬虫夏草保健品一起吃吗?	高血压能吃冬虫夏草吗?	1
糖尿病患者是否可食鸡蛋?	糖尿病人血压低是什么原因	0
请问糖尿病人怎么控制血糖	糖尿病如何快速控制血糖	1

预测集

艾滋病会通过接吻传染吗	和一个女同志接吻会感染艾滋病吗
高血压可以吃灵芝吗	高血压,糖尿病可以吃灵芝吗
中期乳腺癌的最佳治疗方法有什么	治疗乳腺癌的最佳方法呀?

训练我的第一个模型

开始训练

  • 使用预置网络进行训练的方式为使用./run_trainer.py入口脚本,通过--param_path参数来传入./examples/目录下的json配置文件。
  • 以预置的医疗问答匹配训练脚本mtch_ernie_health_1.0_fc_pointwise_ch.json为例,训练分为以下几个步骤
  1. 请使用以下命令在../../models_hub/中通过对应脚本download_ernie_health_1.0_ch.sh下载模型参数文件,以及其对应配置文件ernie_health_1.0_ch_config.json和词表vocab_ernie_health_1.0_ch.txt.
# download_ernie_health_1.0_ch.sh 模型下载
# 进入models_hub目录
cd ../../models_hub/  
sh download_ernie_health_1.0_ch.sh
  1. 基于示例的数据集,可以运行以下命令在训练集(train.txt)上进行模型训练,并在测试集(test.txt)上进行验证;
# 基于json实现预置网络训练。其调用了配置文件./examples/mtch_ernie_fc_pointwise_ch.json
python run_trainer.py --param_path ./examples/mtch_ernie_fc_pointwise_ch.json
  1. 训练运行的日志会自动保存在./log/test.log文件中;
  2. 训练中以及结束后产生的模型文件会默认保存在./output/目录下,其中save_inference_model/文件夹会保存用于预测的模型文件,save_checkpoint/文件夹会保存用于热启动的模型文件

预测我的第一个模型

开始预测

  • 使用预置网络进行预测的方式为使用./run_infer.py入口脚本,通过--param_path参数来传入./examples/目录下的json配置文件。
  • 预测分为以下几个步骤:
  1. 基于示例的数据集,可以运行以下命令在预测集(predict.txt)上进行预测:
# 基于json实现预测。其调用了配置文件./examples/mtch_ernie_fc_pointwise_ch_infer.json
python run_infer.py --param_path ./examples/mtch_ernie_fc_pointwise_ch_infer.json
  1. 预测运行的日志会自动保存在./output/predict_result.txt文件中。
上一篇
训练与预测:文本匹配
下一篇
进阶任务:Prompt tuning文本匹配