CHIP2021-医疗对话临床发现阴阳性判别数据集

描述

数据集来源于CHIP2021医疗对话临床发现阴阳性判别学术评测任务:http://cips-chip.org.cn/2021/eval1 , 数据集包括6,000段训练数据,4,000段测试数据。 本数据集由阿里夸克医疗事业部提供。
此数据集在CBLUE(https://tianchi.aliyun.com/cblue)评测基准开放了长期的leaderboard,对应的数据集名为CHIP-MDCFNPC,且CBLUE榜单的CHIP-MDCFNPC对标注质量做了修复,请申请CBLUE数据集,同时也欢迎在CBLUE榜单上继续提交评估模型。

夸克在CHIP2022会议继续举办了评测任务 - 医学因果实体关系抽取任务:https://tianchi.aliyun.com/dataset/dataDetail?dataId=129573 ,欢迎报名参加。

数据源: https://tianchi.aliyun.com/dataset/108859

数据列表

  • 数据名称上传日期大小下载
  • train.zip2021-09-146.47MB
  • testa.zip2021-09-182.12MB
  • testb.zip2021-11-091.96MB

文档

概述

临床发现(Clinical Finding)是临床医学下,病人状态描述的概念集合,每一个临床发现的概念都具有明确的涵义(比如腹泻,呕吐,高温,物理降温,降温药物治疗),医学为了保证其严谨性对每一个概念都进行了明确的定义和说明。

医学临床报告是病人状态的汇总性的描述,为了尽可能全面和精准的对病人的状态进行客观描述,需要利用严谨的临床发现的概念对病人状态进行表达,其中最基本的状态就是阴性和阳性,也就是病人是否存在或者发生某一种明确的临床发现(Clinical Finding)。

目前互联网医疗患者会对自己的症状进行一些口语化的描述,一般称之为主诉,同时医生也为针对性的进行一些问诊,来进行一些主诉的细化和补充。针对互联网医疗对话场景,阿里巴巴夸克团队计划在CHIP会议上开展一系列学术评测任务,本次评测是第一期,主要是对互联网在线问诊记录中的临床发现的部分进行阴阳性的分类判别。

任务详情

本次标注数据全部来源于春雨医生的互联网在线问诊的公开数据。阴阳性的定义一般认为是患者主诉病情描述和医生诊断判别中的阴性和阳性。SOAP (Subjective, Objective, Assessment, Plan) 评估记录法是目前国际上最常用以问题为导向的医学记录方法,阴阳性需要处理主要是S和A中相关的实体的判别。数据预处理是先对齐进行SOAP分类,然后对S和A的部分进行NER识别,然后在此基础上进行阴阳性的标注。
注:并不是对话中所有的临床发现的NER的部分都需要进行识别和标注,只需要对表述病人主客观存在的临床发现,以及对应的诊断结果进行判别。

标注规范

一、标注属性

阴性、阳性、其他、不标注

二、标注标准

共分为四类,本期评测涉及到对话类的,医患的交互中的症状/疾病,需要考虑上下文联系、逻辑关系、来对症状的阴阳性或者“其他”(一般用户没有回答,或者回答不明确,不知道)来做判断。

(1)阳性(pos):已有症状疾/病等相关,医生诊断(包含多个诊断结论),以及假设未来可能发生的疾病等,如:“如果不治疗的话,大概率会引起A疾病”,“A疾病”标注为阳性;
(2)阴性(neg):未患有的疾病症状相关;
(3)其他(other):未知的标注其他,一般指用户没有回答、不知道或者回答不明确/模棱两可不好推断的情况。

(4)不标注(empty):无实际意义的不标注,一般是医生的解释说的是一般知识,和病人当前的状态条件独立不具有标注意义,及有些检查项带疾病名称的,识别的疾病(乙肝五项/乙肝抗体),药品名中出现的“疾病”不标注。

三、标注例子

例子1:

病人:医生您好,从昨天晚上开始肚子一直疼,吃了布洛芬有所缓解。---- “肚子一直疼”标记阳性

医生:肚子疼上腹部疼么?---- “肚子疼”标记阳性,是基于上文推断;“上腹部疼”标记阴性,基于下文推断。

病人:不是,主要是下腹部疼。---- “下腹部疼”标记阳性

医生:是针扎样的疼么?---- “针扎样的疼”标注其他

病人:不知道,描述不出来,有点抽筋的那种疼。 ---- “针扎样的疼”标注其他

……

医生:这种情况考虑为急性肠胃炎导致的,急性肠胃炎可能除了腹疼之外,可能还会引起腹泻等,需要即时补充水分。---- “腹疼”和“腹泻”均标注为 不标注,是医生解释医学常识。

例子2:

医生:有 尿急尿频吗? ----“尿急”、“尿频”标注 阳性

患者:有点。

例子3:

医生:请问 白带有异味吗? 外阴痒吗?----“白带有异味”标注 阳性、“外阴痒”标注 阴性

患者:外阴在一个月之前有些发,但是现在不,白带闻起来有点腥臭味----第一处“痒”标注阳性, 第二处“痒”标注阴性

例子4:

医生:有头晕呕吐吗?----“头晕”标注其他

患者:不确定是不是头晕,感觉不头晕但好像又是头晕---- 三个“头晕”均标注其它,用户的回答模棱两可不好判断,标注“其它”

例子5:

医生:腹泻几次了?有呕吐腹痛吗?----“腹泻”标阳性,“呕吐”-阴性、“腹痛”-阳性

患者:从昨天到今天三四次,也没敢吃东西,吃点就要去厕所,其他都还好,昨天吃了不新鲜的水果,

患者:吃完过一会儿就肚子痛,没,晚上喝点粥不知道能不能好点---- “肚子痛”标阳性,“吐”标阴性

例子6:

患者:坐起来就不怎么,躺着就,站着不动也不怎么,走路慢点也还好,快点就 ----四个“痛”,分别标注阴性阳性阴性阳性

例子7:

患者:我前天打篮球扭到了脚踝,现在脚踝处很,并且已经了,该怎么治疗

医生:你这属于踝关节扭伤,现在需要消,止治疗; ----“肿”、“痛”均标注阳性

例子8

患者:我害怕是糖尿病。----“糖尿病”标注阴性

医生:你这个不是糖尿病,这种情况考虑是肠炎,肠胃炎。可以服用一些治疗肠炎药物,如康恩贝肠炎宁胶囊;----“糖尿病”标记阴性,第一个“肠炎”,“肠胃炎”均标注阳性,第二、三个“肠炎”均标记为不标注

数据格式说明

[
    {
        "text":"胃肠感冒拉水第三天了",
        "ner":[
            {
                "name":"腹泻",
                "mention":"拉水",
                "range":[
                    4,
                    6
                ],
                "type":"clinical_findings",
                "attr":"阳性"
            },
            {
                "name":"胃肠型感冒",
                "mention":"胃肠感冒",
                "range":[
                    0,
                    4
                ],
                "type":"clinical_findings",
                "attr":"阳性"
            }
        ],
        "sender":"患者"
    },
    {
        "text":"你好,有没有其发烧?有没有呕吐?",
        "ner":[
            {
                "name":"呕吐",
                "mention":"呕吐",
                "range":[
                    13,
                    15
                ],
                "type":"clinical_findings",
                "attr":"阳性"
            },
            {
                "name":"发热",
                "mention":"发烧",
                "range":[
                    7,
                    9
                ],
                "type":"clinical_findings",
                "attr":"阴性"
            }
        ],
        "sender":"医生"
    },
    {
        "text":"没发烧",
        "ner":[
            {
                "name":"发热",
                "mention":"发烧",
                "range":[
                    1,
                    3
                ],
                "type":"clinical_findings",
                "attr":"阴性"
            }
        ],
        "sender":"患者"
    },
    {
        "text":"半夜吐了一次不多",
        "ner":[
            {
                "name":"呕吐",
                "mention":"吐",
                "range":[
                    2,
                    3
                ],
                "type":"clinical_findings",
                "attr":"阳性"
            }
        ],
        "sender":"患者"
    },
    {
        "text":"其他时间都是拉水便",
        "ner":[
            {
                "name":"水样便",
                "mention":"拉水便",
                "range":[
                    6,
                    9
                ],
                "type":"clinical_findings",
                "attr":"阳性"
            }
        ],
        "sender":"患者"
    }
  ]

  • 数据格式说明:以json格式提供,包括如下字段:

    • text: 段落文本
    • sender: 患者或者医生
    • ner: 实体的识别以及阴阳性的标签
      • mention:短文中出现的和实体匹配的字断
      • name:mention对应的标准名。注:不是所有的mention都有对应的标准名
      • range:mention在句子中的上下标.
      • type:实体类型,均统一标注为clinical_findings,不再区分是症状或者疾病
      • attr: 阴性/阳性/其他/不标注

本次评测共提供6000段对话语料作为训练集,测试分为两阶段,A、B榜单各提供2000段对话用来做测试数据,其中B榜提交时间会限制在48H内。

评价标准

测试数据只需要预测"attr"的部分,本评测采用Macro-F1作为评估指标。假设我们有n个类别,C1, … …, Ci, … …, Cn,计算公示如下:
准确率Pi = 正确预测为类别Ci的样本个数 / 预测为Ci类的样本个数。
召回率Ri = 正确预测为类别Ci的样本个数 / 真实的Ci类的样本个数。

注:评价指标可能会追加个别类别(如“阴性”)的评分项,由任务组织方做出最终解释。

数据下载

  • 2021.9.14 训练集train.zip发布
  • 2021.9.17 A榜测试集testa.txt发布
  • 2021.9.17 评测Leaderboard上线
  • 2021.11.9 B榜测试集testb.txt发布

任务提交

A榜
1.选手下载testa.zip解压后得到testa.txt,共2000行,每行一个json,json中的所有的attr字段均为空,需选手预测。
2.选手需要为测试数据中每一项实体均预测attr字段,且attr字段必须是"阴性", "阳性", "其他", "不标注"四种之一。评测系统会做预测数量以及预测值的检查判断,不满足条件的会给出错误信息,且浪费一次提交机会。
3.选手提交的预测文件需保持和testa.txt同样格式(预测文件可以使用其他名称,但必须是txt后缀),即每行是一个json,选手只需要补充预测好的attr字段即可。注:请保证json格式的正确性,以免因格式错误导致浪费提交机会。参照的代码读写程序如下:

'''
example code for reading the test file, and writting the predict file
Python3 env is tested.
'''
import json
def predict_attr(file_name, outfile_name):
    with open(file_name) as input_data, open(outfile_name, 'w') as output_data:
        for line in input_data:
            line = line.strip()
            json_content = json.loads(line)
            dialog_id = json_content['dialog_id']
            for block in json_content['dialog_info']:
                for ner_block in block['ner']:
                    # NOTE: one needs to predict "attr" using your model
                    attr = '阴性'
                    ner_block['attr'] = attr
        output_data.write(json.dumps(json_content, ensure_ascii=False) + '\n')

4.提交的时候,请在“任务筛选”中选择“全部”,上传预测文件,预测文件需要是txt后缀。每天有2次提交机会,排行榜在每日早晨8点定时更新。
5.A榜在2021.11.8日上午9:00封榜。

B榜
1.选手下载testb.zip解压后得到testb.txt,共2000行,每行一个json,json中的所有的attr字段均为空,需选手预测。
2.选手需要为测试数据中每一项实体均预测attr字段,且attr字段必须是"阴性", "阳性", "其他", "不标注"四种之一。评测系统会做预测数量以及预测值的检查判断,不满足条件的会给出错误信息,且浪费一次提交机会。
3.选手提交的预测文件需保持和testb.txt同样格式(预测文件可以使用其他名称,但必须是txt后缀),即每行是一个json,选手只需要补充预测好的attr字段即可。注:请保证json格式的正确性,以免因格式错误导致浪费提交机会。参照的代码读写程序如下:

'''
example code for reading the test file, and writting the predict file
Python3 env is tested.
'''
import json
def predict_attr(file_name, outfile_name):
    with open(file_name) as input_data, open(outfile_name, 'w') as output_data:
        for line in input_data:
            line = line.strip()
            json_content = json.loads(line)
            dialog_id = json_content['dialog_id']
            for block in json_content['dialog_info']:
                for ner_block in block['ner']:
                    # NOTE: one needs to predict "attr" using your model
                    attr = '阴性'
                    ner_block['attr'] = attr
        output_data.write(json.dumps(json_content, ensure_ascii=False) + '\n')

4.提交的时候,请在“任务筛选”中选择“全部”,上传预测文件,预测文件需要是txt后缀。每天有5次提交机会,排行榜在每日早晨8点定时更新。
5.B榜在2021.11.12日上午8:00封榜

Q&A

钉钉群:31756844

任务组织者

  1. 尹康平、董良,阿里巴巴夸克
  2. 陈漠沙、谭传奇,阿里云天池/阿里巴巴达摩院
  3. 郎珍珍,阿里云智能互联(医学专家)
  4. 汤步洲,鹏城实验室

引用

如果您发表的论文有使用本数据集,请发邮件到tianchi_open_dataset@alibabacloud.com,回复论文链接,我们工作人员会给您寄送天池数据集小礼品。

遵循协议

The dataset is distributed under the CC BY-NC-SA 4.0 license.

推荐数据集

  • 中文医疗信息处理挑战榜 CBLUE (Chinese Biomedical Language Understanding Evaluation):由中文信息学会医疗健康与生物信息处理专业委员(CHIP)发起,由阿里云天池平台承办,是目前国内最权威的中文医疗NLP数据集。