文摘

使用自然语言处理(NLP)技术开发医疗聊天机器人使病人的诊断更加方便和高效,这是一个典型的应用程序在医疗AI。因为它的重要性,很多研究出来。最近,神经生成模型显示其令人印象深刻的能力为核心的chatbot,虽然它不能很好地伸缩时直接应用于医疗对话由于缺少medical-specific知识。解决限制,一个可伸缩的医疗knowledge-assisted机制(MKA本文提出了。该机制旨在协助一般神经生成模型实现更好的性能在医学对话的任务。medical-specific知识图在机制设计,它包含6类型的医疗信息,包括部门、药品、检查,症状,疾病,和食物。除此之外,特定令牌连接定义政策有效地注入医疗信息输入数据。评估我们的方法是进行两种典型医疗数据集,MedDG MedDialog-CN。评价结果表明,模型结合我们的机制比原方法在多个自动评价指标。此外,MKA-BERT-GPT达到最先进的性能。

1。介绍

困难在看医生,排队时间长,不便的约会一直面临的障碍病人当他们试图访问初级保健服务。为了解决这些挑战,许多先进的人工智能(人工智能)技术1- - - - - -3)已经结合医疗来提高医疗资源的可用性,如应用模式识别方法在医学图像(4,5),利用自然语言处理(NLP)技术来设计医疗聊天机器人(6,7]。医疗chatbot主要旨在提供医疗助理包括疾病识别、基于自我报告的医疗建议药物,食物和检查,和医疗前台服务指导病人合适的医疗服务部门等(8,9]。它有一个巨大的潜力来简化诊断过程和减轻从病人收集信息的成本。此外,生成的初步诊断结果模型可能更有效地帮助医生做出诊断。

为核心的医学chatbot,不同的方法进行了调查。一般来说,典型的方法可分为两种类型(10),包括信息摘要方法和神经生成方法。对于第一类,通常的方法匹配的响应可以是用户自建问答(问答)池根据对话上下文,这意味着它只能提供现有池中发生的反应。在另一个单词,劣质池将在响应影响很大。第二种类型的方法通常需要对话上下文历史作为输入,并生成合适的响应逐字逐句地。摘要方法相比,神经更聪明和灵活的生成方法,这正是我们关注。

目前,不同的神经生成模型应用于医学领域,包括LSTM-based模型,变压器,GPT,BERT-GPT。然而,他们中没有人在医疗领域表现良好,这是合理的。这是事实,让医生诊断不仅基于自己的经历,也在医学知识从专业书籍,尤其是当他们满足罕见症状或疾病。模型的训练过程只有模仿学习过程的经验但叶子从书本上的学习过程。然而,很少有作品如何有效整合神经的医学知识生成模型。此外,患者通常要求填写患者自我报告在对话开始前与医生在真实的场景中。病人自我报告有两个常见的问题,包括“你想去哪个部门?”和“什么样的疾病或症状你有吗?“以前医学神经生成模型将遗漏的信息或大致将原始上下文在病人自我报告与历史对话。它可能会导致信息丢失或冗余的问题的方法。

解决的局限性,本文的目的是提出一个医疗knowledge-assisted机制(MKA)协助常见神经生殖医学对话任务模型来实现更好的性能。MKA是一种有效的和轻量级方法集成与神经生殖医学知识模型。首先引入了一个机制的医学知识生成模块生成相关的医学知识,医学知识生成子图( )来自病人的自我报告。设计知识图表包含为每个病人相关的医学知识,包括6类型的实体(例如, , , , , , )和6类型的关系(例如, , , , , , )。然后,医学知识信息输入令牌处理器上下文一起对话。令牌内处理器,所有的令牌将重组基于特定令牌连接政策。最后,处理过的数据将通过选择生成模型进行训练。总之,我们做出以下贡献:(1)提出了一个有效的和轻量级医学知识集成到不同的神经机制生成模型,MKA。除此之外,特定的医学知识图是用来存储医学知识。我们所知,MKA是第一个可伸缩的工作,可以将医学知识集成到各种神经生成模型,特别是对大规模pretrained模型,如BERT-GPT(2)来验证我们的方法,我们实现两个模型基于我们的机制,MKA-TransformerMKA-BERT-GPT。评价是进行2典型医疗对话基准:MedDialog [11]和MedDG [12]。我们的实验表明,该模型结合我们的方法优于以前的方法在多个自动评价指标。此外,MKA-BERT-GPT达到最佳性能的任务

本文将分为5部分。部分2将现有的工作相关医疗对话生成任务。部分3将解释建议的机制的细节。部分4给出了实验结果和分析结果。部分5总结我们工作的优势和劣势及其潜在的未来的工作。

最近的研究在医学聊天机器人集中在自然语言理解,利用不同的先进的自然语言处理(NLP)技术。一般来说,医疗对话方法可分为信息摘要方法和神经生成方法根据类型的应用NLP技术。摘要的方法可以进一步分为不同的亚型,如实体推理(12,13),预测的关系(14,15),症状匹配和提取(16,17),和槽填满18- - - - - -20.]。然而,摘要的方法不是很聪明,灵活,他们需要一个明确的可以是用户自建问答(问答)池,可以提供不同的潜在反应不同的答案。换句话说,只有摘要方法预测之间的联系问题和答案在池中,而不是学习如何应对不同的问题像医生。因此,神经生成方法已经引起越来越多的关注。

如今,仅仅是研究发展中神经生殖医学领域上的方法。作为一个新兴的研究方向,现有的大多数研究集中在测试不同的神经生成模型的基准领域特定的数据集。生成的任务NLP首次提出的,Hochreiter。施密德胡贝尔表示长短期记忆(LSTM)(21),这激发多个LSTM-based模型(22- - - - - -24]。后,的提议变压器(25),研究人员开始利用变压器单位为小说对话生成模型(26,27]。这时,一个更精确的和更快的机制GPT提出(28];不同的大规模对话生成模型是基于开发(29日,30.]。与此同时,一些作品也尝试开发新方法结合不同的单位,最先进的模型BERT-GPT模型(31日,32]。然而,现有的生成模型仅供医学领域的经验中学习知识的培训过程;一些工作有效整合医学知识生成模型。

3所示。方法

在本节中,我们讨论的方法MKA,这是一个可伸缩的、有效的和轻量级的机制将医学知识集成到神经生成模型,特别是对大型pretrained模型等BERT-GPT

如图1,我们的MKA由3部分组成,包括医学知识生成模块,标记处理器,和神经生成模型。医学知识生成模块是由医学知识子图生成器,主题探测器和医学知识提取器。它旨在生成相关医学知识元组信息。令牌处理器提出了将医学知识信息元组对话上下文为每个对话。此外,神经生成模型是用于训练和预测。每个模块的细节部分所示3.1,3.2,3.3

3.1。医学知识生成模块

提出了医学知识生成模块生成相关医学知识信息当医生处理案件。在该模块中,存在三个部分,包括医学知识子图生成器,主题探测器和医学知识提取器。医学知识子图生成器首先需要病人自我报告包含部门和疾病/症状信息中所描述的部分1医学知识作为输入,并生成子图( )基于全球医学知识库( )。 可视为一个容器包含所有必需的医学专业书籍,在吗 商店的潜在有用的具体案例相关的医学知识。不同的问题将被要求在不同的多匝的对话的任务。减少冗余信息,主题探测器输入病人的问题 转身推断相关问题的话题。的主题和问题 ,医学知识提取器将提取相关医学知识信息元组。每一部分的详细信息将显示如下。

3.1.1。医学知识子图生成器

在医学知识子图生成器,医学知识可以生成底基层医疗知识库基于医疗信息提取病人自我报告。在本文中,知识库的知识表示图( ),这是由实体和关系。此外,它是正式定义如下: 在哪里 代表的实体(如人), 代表了被认为是类型的实体之间的关系(例如,人员之间的友谊),和 是一组转换元组,每个元组代表一个事实的两个实体之间的关系。

因此,两种医学知识图( )提出,包括医学知识库( )基于[生成33)通过删除冗余信息和医学知识子图( )。这两个 包含6类型的实体和6类型的关系如表所示12。实体和关系类型的决定是基于作者的工作经验的普通医疗话题。

根据实体的定义和关系类型, 包含26910个实体(即。现年54岁的 ,8807年 ,5998年 ,4870年 ,3353年 ,和3828年 ),158216元组(即对于不同的关系。,8844年 ,5998年 ,59467年 ,39422年 ,22238年 ,和22247年 )。

至于 ,是具体的每种情况下,生成基于算法1。在算法中,两个子图, ,是提取 构成 的图吗 实体类型 作为根。此外,它只包含 两种类型的关系。 的图吗 实体类型 作为根。此外,它可能包含各种类型的关系除外 更多细节,请参见算法1

与此同时,值得注意的是,我们提出一个方法来计算实体的距离匹配所示 在哪里 是两个hyperparameters。同时利用汉明距离的距离(34和Levenshtein距离35]。不能只关心令牌的意义就像汉明距离也令牌的位置像Levenshtein距离。

算法1:医学知识的生成子图
输入:
医学知识库
病人自我报告 ( 空白的代表病人的理想临床部门,和 空白的代表病人的疾病或症状的描述。)
输出:
医学知识子图
主要:
1:如果 存在然后
2:提取
3: ,在哪里
4: ,在哪里
5:如果
6:如果 存在然后
7:提取
8: ,在哪里
9: ,在哪里 , (1)如果 , ;(2)如果
10:如果
11:
3.1.2。主题探测器

医学知识是有关病人医疗话题问道。准备医学知识萃取器,应该首先确定问题的话题。话题的内容匹配关系的集合(即。,disease, symptom, drug, check, positive food, and negative food). Besides, the six key phrase sets ( )建立相应的六个主题是基于用户的体验。它由一些特定的短语相关主题的问题。在此基础上,所示的问题提出了探测器的算法2

算法2:检测问题的话题
输入:
关键词设置 ( 是一组疾病的话题, 是一组症状的话题, 是药物的设置话题, 是为检查的话题, 是积极的一组食物的话题, 的设置是消极的食物的话题。)
病人的问题 谈话把
相似系数 检查是否这个词是在病人的问题
输出:
问题主题元组 谈话把
主要:
1: = {}
2:
3:
4:如果 然后
5:如果 然后
6:附加的“疾病”的话题
7:其他的如果 然后
8:附加的“症状”的话题
9:其他的如果 然后
10:附加的“药物”的话题
11:其他的如果 然后
12:附加的“检查”的话题
13:其他的如果 然后
14:添加“推荐食物”的话题
15:其他的如果 然后
16:添加“不推荐食物”的话题
17:如果
18:结束了
19:结束了
3.1.3。医学知识萃取器

医学知识萃取器旨在提取相关医学知识信息元组基于问题的话题和医学知识子图的前两部分。它提取所有实体与具体的实体类型和子图与特定的关系类型。除此之外, 提取病人自我报告将直接附加到元组,因为他们也从数据源中提取出来有用的医学知识。算法中所示的细节3

算法3:医学知识的提取信息元组
输入:
医学知识库
问题主题元组 谈话把
相应的 实体在病人自我报告
输出:
医学知识元组信息 谈话把
主要:
1:
2:
3:如果 然后
4:添加所有 实体除外
5:其他的如果 然后
6:添加所有 实体除外
7:其他的如果 然后
8:添加所有 实体
9:其他的如果 然后
10:添加所有 实体
11:其他的如果 然后
12:添加所有 实体与 关系
13:其他的如果 然后
14:添加所有 实体与 关系
15:如果
16:结束了
3.2。令牌处理器

相比一般神经生成模型只是把对话上下文作为输入,我们的模型生成相关的医学知识信息元组也将被送入模型。为了实现这一目标,一个令牌处理器提出了重组中所示的基于政策令牌 在哪里 代表神经生成模型和序列 代表了病人自我报告。 , , 代表了医学知识元组信息 谈话,医生反应 对话,和病人的问题 把单独谈话。除此之外, 是对应的 实体生成算法1

3.3。神经生成模型

摘要神经生成模型源序列 组成的 令牌生成的部分3.2并生成响应 的长度 令牌。在一般情况下,模型的生成概率最大化 条件在 (8],sequence-to-sequence生成模型的目标函数定义如下。此外,至于多匝的对话任务,医生反应 将被送入模型为现有的对话上下文下。

4所示。实验

4.1。实验设置

我们的方法是在Python 3.7中实现和PyTorch 1.4.0。我们实现两个MKA-Diagen模型,包括MKA-Transformer和MKA-BERT-GPT。内部的神经生成模型训练中使用默认参数(11,25]。的hyperparameters 在方程(2)被设置为0.1和1,hyperparameter 设置为0.7。我们Matpool服务器上执行所有实验11 g NVIDIA GeForce RTX 2080 Ti。我们的实验进行中国MedDialog数据集11]和MedDG [12)的比为0.8:0.1:0.1的训练集:验证组:测试集。

MKA-Transformer和MKA-BERT-GPT(即与基线相比模型。,变压器和BERT-GPT)和another typical nonsequence to sequence GPT-based model [11]。我们跟着自动评价指标数据集来评估我们的方法的性能,包括困惑,NIST-2 4 (36]BLEU-2 4 (37],流星[38],Entropy-4 [39],Dist-1 2 (40]。困惑显示生成的语言质量的响应。NIST-n BLEU-n,流星测量生成的反应之间的相似性和地面真理和Entropy-n Dist-n测量词汇的多样性反应生成基于n元匹配。模型与更好的性能会有困惑的低价值,其他指标的价值就越高。

4.2。实验结果和分析

在本部分中,实验结果显示结果的深入分析。表34在MedDialog-CN显示性能测试集和MedDG测试另行规定。从表,我们作出以下的观察。

4.2.1。准备烧蚀分析

专注于比较MKA-Transformer变压器和MKA-BERT-GPT和BERT-GPT之间的性能比较,很容易提取表5。很容易观察到,我们的机制提高了性能从各个方面对两个数据集。这意味着我们的方法是有效的和可伸缩的应用到不同的神经生成模型和不同的数据集。

4.2.2。性能比较分析

当前最先进的模型相比,我们的MKA-BERT-GPT优于其他方法。达到最低的困惑。正是因为其基线生成模型、BERT-GPT pretrained在之前大量的语料训练医疗特定的数据集。有关的过程有助于它更好地理解词汇之间的语言结构;与此同时,医疗knowledge-assisted医疗对话机制,使模型更可学的任务。与此同时,随着机器翻译指标(即。,NIST-4, BLEU-2, BLEU-4, and METEOR), the performance of the MKA-BERT-GPT also is the best. It even overturns the performance comparison between BERT-GPT and Transformer. It indicates that our method highly improves the overlap between the generated response and the ground truth. Besides, although the MKA-BERT-GPT improves the value on diversity metrics (i.e., Entropy and Dist), the improvement is still minor. It indicates that our model cannot make a big breakthrough on the capability in generating diverse responses.

4.2.3。案例研究分析

67代表模型的生成反应的两个例子MedDialog-CN和MedDG测试集。由于数据集包含一些中国医疗对话,翻译以及提供的原始内容。所产生的反应MKA-BERT-GPT临床信息和准确。它规定了“胃肠功能的问题。”与此同时,它可以提供详细的建议和丰富的医学知识等信息建议什么样的蔬菜和水果。除此之外,所有的模型的语言质量是伟大的,因为所有的反应是可读的。除此之外,还有一些进一步改善的空间。例如,反应生成的模型并不重叠与地面真理。是因为地面真理是一个中医响应,其中包含的概念“气”,这不是简单的一般模型来理解并提供响应。然而,的反应MKA-BERT-GPT仍相对合理,也提到的结论“血流不顺畅。”

5。结论

在本文中,我们提出一个可伸缩的医疗knowledge-assisted机制(MKA)协助一般神经生成模型,特别是大规模pretrained模型,如BERT-GPT,实现更好的性能在医学对话的任务。医学机制引入了一个特定知识的图,其中包含6类型的医疗信息,包括部门、药品、检查、症状,疾病,和食物。除此之外,它还利用了特定的设计令牌连接政策和神经生成模型。有前途的实验结果证明了我们的机制是有效的和可伸缩的不同生成模型在不同的医疗数据集对话。此外,它还表明MKA-BERT-GPT基于多个自动取得了最先进的性能评价指标相对于其他现有的模型。在未来,我们打算运用图像提取和神经网络预测基于医学知识库相关医学知识。除此之外,它还值得开展研究利用信息检索方法的优点和神经生成方法来建立一个强大的对话生成系统。

数据可用性

使用的数据来支持本研究的结果都包含在这篇文章。

的利益冲突

作者宣称他们没有相互竞争的利益。