System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种具有可解释性理由的诊断对话数据集的生成方法技术_技高网

一种具有可解释性理由的诊断对话数据集的生成方法技术

技术编号:43863625 阅读:16 留言:0更新日期:2024-12-31 18:51
本发明专利技术提供了一种具有可解释性理由的诊断对话数据集的生成方法。包括:获取原始决策树信息,抽取出流程图中的每个节点和节点之间的边;利用所述条件节点和动作节点构造决策树;根据所构造的决策树生成用自然语言描述的诊断路径文本集;基于ChatGPT模型生成具有可解释性理由的对话集;构造有可解释性对话的上下文示例,用于在ChatGPT生成的患者与医生的问诊对话中加入可解释性;最后以few shot learning的方式生成最终的有可解释性的对话数据。本发明专利技术方法能自动构造大规模高质量且带可解释性理由的对话数据集。

【技术实现步骤摘要】

本专利技术涉及自然语言处理,具体来说涉及数据集构建领域,更具体地说,涉及提供了一种具有可解释性理由的诊断对话数据集生成方法。


技术介绍

1、随着人工智能技术在医疗领域的应用,对话式智能疾病诊断方法、医疗咨询系统等成为目前研究的一个热点。这些系统可以为患者提供及时准确的医疗信息,同时也可以帮助医疗机构缓解医疗资源的压力。在这些系统中,由于大量的对话数据,即训练语料,是研究各种对话模型的基础,因此,诊断对话数据集对于自动诊断具有重要价值。

2、然而,目前缺少大规模高质量的医疗诊断对话的数据集。其主要的原因是医患的问诊过程大多数是采用面对面的交流方式,没有以文字的形式记录下来。现有的语音识别技术在真实的临床诊疗环境中效果较差,无法将问诊过程的语音转换为准确的文字。为了解决这个问题,现有技术通常采用爬虫技术爬取线上的问诊网站的诊断对话或者利用人工整理的方式获取临床的诊断对话数据集。网络爬取技术方式获取的对话数据集存在语料格式不规范、数据集质量较低的问题。而人工整理的诊断对话数据集通常只能针对某个专病,且需要的大量的人力资源。此外,无论是临床获取的对话集还是网络爬取的数据集,都无法解释医生提问的原因。这就意味着,对话模型也无法生成具有可解释的回复。

3、总之,现有技术无法解决自动生成具有可解释性理由的诊断对话数据集的问题。


技术实现思路

1、本专利技术的目的是提供一种具有可解释性理由的诊断对话数据集的生成方法,自动构造大规模高质量且带可解释性理由的对话数据集。

2、为了实现上述目的,本专利技术提供如下方案:

3、一种具有可解释性理由的诊断对话数据集的生成方法,包括:

4、s1:获取原始决策树信息,获取文献中的诊断流程图,抽取出流程图中的每个节点和节点之间的边,将节点分为动作节点和条件节点两类,其中,动作节点为鉴别诊断的内容,用于表示最终的诊断结果,条件节点为诊断依据,用于表示在已确认症状基础上进一步鉴别诊断的条件,节点与节点之间边表示为节点之间的判断条件关系;

5、s2:利用所述条件节点和动作节点构造决策树;

6、s3:根据所构造的决策树生成用自然语言描述的诊断路径文本集;

7、s4:基于chatgpt模型生成具有可解释性理由的对话集,根据构造的prompt以zeroshot的方式调用chatgpt生成对话数据,调用chatgpt模型提供的接口生成患者与医生的问诊对话集,其中,构造的prompt包括:任务描述和诊断路径两部分组成,任务描述用于帮助chatgpt更好地理解需求,诊断路径是生成的诊断路径文本;

8、s5:构造有可解释性对话的上下文示例,用于在chatgpt生成的患者与医生的问诊对话中加入可解释性,即在医生的回复后加入医生回复的理由;

9、s6:以few shot learning的方式生成最终的有可解释性的对话数据。

10、其中,s2利用所述条件节点和动作节点构造决策树步骤,具体包括:

11、s21:定义决策树,决策树包括两个类:conditionnode和actionnode,决策树为一颗多叉树,其中,

12、条件节点conditionnode类的结构为:{"id":节点id,"parent_id":父节点id,"nodename":"医学术语描述词","conditions":"自然语言形式的条件语句"};

13、动作节点actionnode类的结构为:{"id":节点id,"parent_id":父节点id,"action":"鉴别诊断的疾病"};

14、s22:构造决策树,根据s21定义的决策树定义,将所述条件节点和动作节点将抽取出的节点信息输入到配置文件中,然后采用广度优先搜索的思路,构建以主诉症状作为根节点,然后从配置文件中获取父节点id为0的节点,将这些节点添加为根节点的子节点,接着再逐个构造子节点,重复该过程,直到叶子节点全部为表示为诊断出的疾病名称的动作节点为止。

15、s3步骤,根据构造的决策树生成用自然语言描述的诊断路径文本集,具体包括:

16、s31:从构造的决策树的根节点出发,设置初始的诊断路径文本为:“根据全科医生鉴别诊断医书”+主诉症状+“的鉴别诊断依赖于”;

17、s32:从根节点出发按深度优先遍历决策树,若当前节点的子节点有未被访问的,则从中任选一个子节点进行访问,访问节点的过程中是用于向子节点传递已走路径的诊断过程文本加上当前节点的判断条件,当前节点的诊断路径文本拼接为:父节点的诊断路径文本+“如果满足条件:{当前节点的判断条件}”,不同子节点之间的诊断路径文本之间使用换行符“\n”分隔;

18、重复该过程,直到访问到叶节点为止,并且将诊断路径文本修改为:父节点的诊断路径文本+“最终诊断为:{叶节点的鉴别诊断的疾病}”,该鉴别诊断路径文本为一个完整的鉴别诊断路径文本,并将完整的鉴别诊断路径文本添加到诊断路径文本集中;

19、s33:利用s32的方法重复遍历决策树,得到该主诉症状的全部鉴别诊断路径文本集。

20、s5步骤,构造有可解释性对话的上下文示例,用于在chatgpt生成的患者与医生的问诊对话中加入可解释性,即在医生的回复后加入医生回复的理由,具体包括,

21、s51:挑选生成的对话集中部分高质量的数据,挑选过程由chatgpt选择和人工核验两部分组成,其中,chatgpt选择过程,使用语句“我需要你仔细阅读一段问诊对话和一条诊断路径,你的任务是判断这段对话是否完整地映射了诊断路径“作为prompt,调用chatgpt接口生成模型认可的路径;人工核验过程用于对于模型认可的路径,再经过人工核验,确保对话数据的质量。

22、s52:使用langchain为对话数据加入可解释性,prompt由所述对话数据、问诊路径和任务描述组成,其中,任务描述是”我需要你根据医学文献中的相关内容,在这段问诊对话中的医生回复后加入解释“,通过langchain将文献分片,将相关章节作为外接知识让模型生成医生问诊的解释,langchain将文献进行编码,与prompt进行相似度的计算,生成新的prompt并调用chatgpt得到回复,该回复是有解释的对话数据,可作为few shotlearning的上下文示例。

23、s6步骤,以few shot learning的方式生成最终的有可解释性的对话数据,具体来说,构造可解释性提示,可解释性提示由上下文学习示例、任务描述和诊断路径三部分组成,其中,上下文学习示例是s52中生成的有解释的对话数据,任务描述用于告知语言模型当前任务的背景并引导模型按照期望的方式生成对话数据,诊断路径是所述构造决策树后生成的结构化诊断路径,然后使用langchain将文献中的诊断知识与语言模型相连接,从而为模型生成解释提供知识来源。

24、从以上技术方案可以看出,本专利技术通过构建决策树将文献本文档来自技高网...

【技术保护点】

1.一种具有可解释性理由的诊断对话数据集的生成方法,其特征在于,具体步骤为:

2.根据权利要求1所述的一种具有可解释性理由的诊断对话数据集的生成方法,其特征在于,所述步骤S2具体包括:

3.根据权利要求1所述的一种具有可解释性理由的诊断对话数据集的生成方法,其特征在于,所述步骤S3具体包括:

4.根据权利要求1所述的一种具有可解释性理由的诊断对话数据集的生成方法,其特征在于,所述步骤S5具体包括:

5.根据权利要求1所述的一种具有可解释性理由的诊断对话数据集的生成方法,其特征在于,S6步骤具体包括:

【技术特征摘要】

1.一种具有可解释性理由的诊断对话数据集的生成方法,其特征在于,具体步骤为:

2.根据权利要求1所述的一种具有可解释性理由的诊断对话数据集的生成方法,其特征在于,所述步骤s2具体包括:

3.根据权利要求1所述的一种具有可解释性理由的诊断对话数据集的生成...

【专利技术属性】
技术研发人员:翟洁孟天鑫叶琪阮彤刘井平
申请(专利权)人:华东理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1