本算法旨在通过语言特征和语法模式来识别老年痴呆症(AD,Alzheimer's Disease)患者,是自然语言处理(NLP)和深度学习算法在计算医学(Computational Health)中的重要应用,未来可拓展到其他神经类疾病的诊断中。
通过采用神经网络模型(如CNN和LSTM-RNN)及其组合,可以解决老年痴呆症的识别问题。结合acivation clustering和first-derivative saliency技术, 训练后的模型可以用于识别老年痴呆症患者的语言特征(包括性别差异)。
语言变化可以作为一个重要特征来监测老年痴呆症患者的认知功能是如何受到影响的(例如,单词选择和推理能力受损)。因为老年痴呆症既很难治愈也不可逆,所以提早进行诊断及护理非常重要。未来可将该检测功能集成至医疗诊断设备中,这对于处理老年痴呆症尤其有意义。
挑 战
检测AD阳性患者的难点在于它需要考虑多样化的语言及常识。比如以下例子:
“Well...there's is mother standing there uh uh washing the dishes and the sink is overspiling...overflowing.”
这句话中有好几处语言线索,比如“overspilling...overflowing”,表明说话人可能存在糊涂和失忆的问题,这种现象在老年痴呆症中很常见。相比如通常的人为设计(Hand-crafted)方法,神经网络模型可以自动识别出对话中的AD语言特征,因此更有应用价值。但值得指出的是,仅仅依靠神经网络模型,往往结果缺乏可解释性,因此还需要融合其他的技术来达到现实应用的需求。
数据集
本文采用的是Dementia Bank dataset数据集,其集包含了一系列老年痴呆症患者的语音记录和笔记。该数据是通过类似“Recall Test”和“Boston Cookie Theft”等项目建立起来的。数据集中包含语言文字及其对应的词类(POS,part-of-speech)标签。
模型及结果
本算法验证了三类不同的模型组合:
(1)CNN,(2)LSTM-RNN,(3)CNN-LSTM。
表现最好的模型(词类标签+CNN-LSTM)达到了91.1%的准确率,这是老年痴呆症识别领域的最新记录。具体结果如下:
可以看到,几乎所有的AD阳性患者被正确的识别了出来,但当区分正常患者时,模型则出现较大的误差。这可能是由于数据集中的信息都来自确定(或疑似)的老年痴呆症患者,从而许多正常的语言表达也被打上了AD阳性的标签,从而对结果产生了一定影响。
此外,男性患者和女性患者并没有表现出明显的差异。
分 析
由于神经网络的识别结果往往难以解释,因此可以考虑结合可视化技术来更直观的表现患者的语言特性。比如采用:
利用Activation Clustering方法,通过聚类的情况识别出了老年痴呆患者三种普遍的语言特征:
(1) 回答简短和突然开始对话,比如“and”、“oh”等;
(2) 反复确认,比如“did I say fact?”;
(3) 常用感叹词开始对话,比如“so”、“well”等。
通过slience 热点图(heat map),老年痴呆患者及其对照组在单词重点(word importance)上的差异得以挖掘。在左图中,可以看到“ul”和“um”等词非常重要,是识别老年痴呆患者的显著语言特征。而在右图中对照组则并没有频繁的使用这些词。
除了以上两种方法,情景感知(Context-aware)和对话情景(conversational context)技术也可以用来改善模型的预测准确率。