这项工作提出了一个支持决策过程的算法框架,其中终端用户在领域专家的协助下解决一个问题。此外,终端用户和领域专家之间的交流的特点是问题和答案的数量有限。开发的框架可以帮助领域专家向终端用户精确定位少量的问题,以增加其见解正确的可能性。建议的框架是基于领域专家的知识,包括与领域专家和终端用户的互动。领域专家的知识由知识图谱表示,而终端用户与问题相关的信息作为证据被输入图谱。这就触发了图中的推理算法,该算法向领域专家建议最终用户的下一个问题。本文在医学诊断领域提出了一个详细的建议框架;然而,它也可以适应具有类似设置的其他领域。我们开发的软件框架使决策过程以互动和可解释的方式进行,这包括使用语义技术,因此是创新的。
近年来,"大数据 "世界获得了巨大的发展动力,并不断产生机遇和挑战[1,2]。大数据的各种用途已经渗透到技术世界的几乎每一个领域。我们对在处理决策过程的技术领域整合大数据的挑战感兴趣,以便利用这些过程。
这些过程可以在各种各样的内容世界(医学、商业、教育等)中找到,并且需要了解情况意识、数据建模以及提供智能见解的算法。然而,这些过程为不同的需求提供不同的答案;因此,有几种类型的决策过程,每一种都有合适的设置[3,4]。
在这项工作中,我们专注于具有以下设置的决策过程:(a)该过程涉及两个实体:一个最终用户和一个领域专家,(b)最终用户启动该过程,(c)两个实体之间存在互动,包括(领域专家的)问题和(最终用户的)答案,(d)两个实体之间的互动尽可能有限(在时间、问题数量、金钱等方面)。
鉴于上述情况,本报告的目的是提供一个基于语义技术的框架,该框架能够整合大数据,在决策过程中协助领域专家,向他们建议一套针对最终用户的问题(从数据中推断出来的),这将减少问题和答案的循环。 考虑以下两个领域的例子,其流程自然适合这样的设置:医疗诊断[5]和家电维修[6](表1)。
如前所述,上述两个领域包含了一个两方面的有限互动。这种限制可以用时间、问题的数量等来表示。请注意,医疗和家电维修这两个领域都是宽泛的领域,可以被专门化为特定的子领域。例如,家电维修领域可以被专业化为建筑服务、互联网服务、家庭故障服务等。医疗领域也是如此。它也可以包含一些子域,如各领域的医疗咨询(如心理学)、紧急医疗电话的处理等。
建议的框架包括两个主要部分:(a) 使用语义技术对相关领域专家的知识进行正式表示,特别是知识图谱,以及(b) 一套互动的算法,从一组初始领域值(即最终用户的先验知识)开始,然后,基于这些先验知识和知识图谱表示,它将向最终用户提出具体问题。这些问题的答案将推动领域专家的决策过程,并成为下一次迭代的输入。迭代将继续进行,直到领域专家感到满意并做出决定。
我们有动力通过知识图谱来表示专家的知识,因为图谱已经成为表示连接数据的一种自然方式[7]。在过去的十年中,人们努力将大量的数据组织成节点和边的集合,特别是在推荐系统、搜索引擎优化和决策过程中[8,9,10]。由此产生的灵活结构,称为知识图谱,允许快速适应复杂的数据和通过关系的连接。它们固有的互连性使人们能够使用图算法来揭示隐藏的模式和推断新的知识[11,12,13,14]。此外,知识图谱在计算上是高效的,并且可以扩展到非常大的规模,社会图谱分析就是一个例子[15,16]。
我们的框架受到了Musen和他的同事[17]的启发,他们是生物医学信息学领域的知名研究者,提出了关于协助临床决策支持(CDS)的信息技术的看法。Musen等人[17]提出了提供CDS的系统的指导原则:他们的论述是关于交流而不是检索信息,建议而不是产生报告,以及协助领域专家发展更多的知情判断。分别来说,引导我们开发框架的概念是为领域专家提供从分析图表示的相关数据中推断出的建议,并使他能够做出明智的决定。然而,另外一个领先的概念是以有限的迭代次数来进行。我们的框架可以扩展到其他领域。
在所提交的工作中,我们为一个交互式框架引入了一种新的方法,以支持以有限的交互次数为特征的决策过程。该框架通过使用图数据模型、图算法和语义技术,以通用的方式进行创新。我们在一个真实的数据集上运行我们的算法,并在一个可能的现实场景中展示框架的可行性。因此,我们为我们的框架提供了一个概念证明。
为了说明拟议的框架,我们首先回顾了知识图谱和决策过程(第2节)。然后,我们定义了该框架的术语和算法(第3节)。随后,我们在医学诊断领域使用由疾病和病人症状组成的数据集来演示该框架(第4节)。最后,我们总结并考虑潜在的未来方向(第5节)。
这一节中介绍了所提出的框架,其中包括一个算法集合和它们之间的互动。
目标是基于互动的决策过程。互动是在领域专家和终端用户之间进行的,结果是有限的迭代,由框架建议领域专家问终端用户的问题组成。决策过程将根据终端用户的回答而进行。
当分析这些类型的过程时,我们得出结论,它们可以被笼统地建模为一个症状和疾病的集合。最终,该过程的目标是协助领域专家决定诊断(即在分析现有数据的基础上为一组给定的症状提供解释)。Musen将诊断过程描述为决定要问哪些问题,要做哪些测试,或要执行哪些程序[7,17]。诊断过程中可能出现的问题有以下几种类型。终端用户是否有一个特定的症状?
上述术语(即症状、疾病、问题和诊断)产生的行话可以自然地用于医学诊断领域,然而它也适用于其他领域,如家电维修:症状代表问题,疾病代表故障,诊断是一种故障识别,一个典型的问题可以是。终端用户的电器有什么特别的问题吗?
当在提议的框架中使用这个行话时,我们用假设一词来代替诊断,因为该框架并不向领域专家提供诊断,而是提供可能的假设。每个假说实际上是一种潜在的疾病,它伴随着一个问题,是表明疾病(假说)的症状。因此,我们在本文中用来描述框架及其各种算法的行话包括:症状、疾病、问题和假设。特别是,该框架推断出假设及其相关的问题,并将它们提交给领域专家,后者决定是否使用(或不使用)这些问题来确认(或不确认)这些假设(疾病)。
在本节的其余部分,我们将描述该框架及其算法,首先是一般的,然后是详细的。
一般来说,我们首先从原始数据建立一个知识图谱,这将有助于探索疾病和症状之间的关系。在此之后,我们在KG上使用鲁汶分层聚类法[21](算法1)来寻找社区(即具有类似症状的疾病群)。然后,给定最终用户报告的症状(称为证据症状),我们使用KG上的推理找到与证据症状相匹配的可能疾病(算法2)。在这一点上,我们推断出最可能的社区,以包括最终用户的疾病,并向领域专家建议一个表明这个社区的问题(症状)(算法3)。最后,我们找到最佳假设建议给领域专家(算法4),也就是说,我们向领域专家建议最终用户可能有的疾病和症状,以解决诊断过程的改进。
整个框架分为两个主要部分:第一部分,预处理部分,在框架启动后进行;而第二部分,处理部分,在每次有新请求到达框架时进行。预处理部分包括两个步骤和一个算法(算法1),而处理部分包括三个步骤和三个算法(算法2-4),正如我们在下面描述的那样。
我们使用的数据结构包括代表KG的结构(默认是邻接列表)和运行算法所需的额外结构。在下面描述算法的段落中,我们将详细介绍这些结构和它们的用途。
预处理部分:
输入:一个疾病及其症状的列表
第1步:构建一个疾病和症状的知识图(KG)(见第3.1节)。
第2步:根据疾病的症状将其聚类为一组(称为社区),即具有类似症状的疾病将在同一个社区中(算法1)。
输出:(1)每一种疾病都与KG中的一个社区相关联;(2)额外的数据结构,称为症状社区矩阵(SCM),表示疾病组和各种症状之间的联系 处理部分:
输入:K证据症状
第一步:寻找最可能的疾病,即与证据症状相匹配的可能疾病(算法2)。
第2步:推断并向领域专家建议(根据需要重复)一个问题(症状),表明最可能的社区包括最终用户疾病(算法3)。
第3步:推断并向领域专家建议一个假说(最终用户可能患有的疾病)及其相关问题(症状)的列表,并按相关性排序(算法4)。
图1显示了整个建议框架的高级视图。