PhenoLines: 通过主题模型来对疾病亚型的症状进行比较可视化(PhenoLines: Phenotype Comparison Visualizations for Disease Subtyping via Topic Models)

主题模型主要用于对文档集的主题探究,也有不少的工作将主题模型应用到医学领域,但是目前的工作主要专注于提取特定患者的事件并将其可视化。基于这个层面,用户很难从中得到病症是如何随着时间发展和演变的,也难以理解这些症状的层次结构。因此,这篇文章[1]从一个新的视角,将主题模型输出的非结构化的结果用层次结构表示,并使用时间轴来比较和解释主题内和主题之间症状随时间的演变。

针对某个特定的主题,基于每个用户的电子医疗记录,我们可以通过主题模型来获得不同的疾病的主题,于是医师可以基于此类分析结果来提出更为精准的诊断和预测。

图1. 主题模型在疾病诊断中的应用

 

对于这个工作的具体的Pipeline如下:

图2. 系统Pipeline

 

基于这个pipeline,他们首先将用户的医疗记录根据年龄分类,然后对于每个年龄阶段的医疗记录通过主题模型得出最终的7个主题;对于这每个年龄阶段的7个主题,他们使用一种二部图最佳匹配算法Kuhn-Munkres,匹配这些主题得到最终的7个主题;最终,也就是这项工作的核心,根据主题模型输出的非结构化结果,他们设计了两种可视化方式:层次结构和时间轴。

对于可视化主题模型结果的层次结构,他们使用的是HPO(Human Phenotype Ontology)提供的关于疾病症状的层次结构,具体的层次结果如下所示:

图3. HPO的层次结构

另外,为了给用户提供一定的信息作为可视化探究的支撑,他们设计了四种测量方式:

1.最大概率:帮助用户识别最重要的症状。

2.趋势坡度:帮助用户识别变化的程度。

3.代表年龄群:帮助用户确定发生概率最高的年龄段。

4.相关性得分:帮助用户识别那些特别的症状,具体的计算公式如下:

最终根据相关性得分的分布,我们可以在下图中的右边部分寻找这个特别的症状:

图4. 相关性得分分布

最终,他们设计的工具的整体界面如下:

图5. Phoneline系统整体界面

根据这个系统他们可以实现两个方面的探究:

  1. 基于主题内部的探究
    • 根据径向层次结构视图,用户可以知道症状之间的语义关系;
    • 根据散点图,用户可以探究症状具体的测量值之间的关系;
    • 根据排序列表,用户可以获得这些高概率的症状。
  2. 基于主题之间的探究
    • 支持用户对所有主题的某一个特定症状的详细比较。
    • timeline展现了症状概率随患者年龄的变化。

对于本文中的层次结构,为了简化视图便于用户进行进一步的探究,这篇文章提出了两种方式来进行过滤和压缩:

  1. 过滤-剪枝
    • 如果一个节点所有的后代的相关性得分都低于某个阈值,则隐藏这个节点。
  2. 压缩 – 减少深度
    • 如果一个中间节点的相关性得分低于某个阈值的,则隐藏这个节点
    • 将其后代合并到其父节点。

图6. 层次结构过滤和压缩

 

综上所述,这篇文章主要是设计了一个数据转换方式将主题模型的输出结果使用一种结构化的方式表示。这个工具支持用户比较主题内和主题之间的症状的探究,帮助用户分析哪种症状在疾病中最普遍,哪些症状在某些疾病中是常见的,但是其他疾病则不然,以及症状是如何随着年龄而改变的。

引用:

[1]Glueck, Michael, et al. “PhenoLines: Phenotype Comparison Visualizations for Disease Subtyping via Topic Models.” IEEE Transactions on Visualization and Computer Graphics (2017).

评论关闭。