糖尿病视网膜病变检测与临床自然语言处理
1. 糖尿病视网膜病变检测的机器学习与深度学习模型
在糖尿病视网膜病变(DR)的检测中,众多研究者采用了不同的机器学习(ML)和深度学习(DL)模型。以下是一些基于分割的研究:
| 作者信息 | 使用方法 | 使用数据集 | 性能指标 |
| — | — | — | — |
| Shami 等人 | 基于形态操作的图像处理 | Eye Hospital - Nikookari | Sens - 85.82%;Spec - 99.98% |
| Fraz 等人 | 多尺度线检测和 Gabor 滤波方法 | STARE、DRIVE、MESSIDOR | Acc - 95%;Sens - 73%;Spec - 97%
Acc - 94%;Sens - 73%;Spec - 97%
Acc - 96%;Sens - 73%;Spec - 98% |
| May 等人 | 人工神经网络(ANN) | DIARECTDB1 | Acc - 96% |
| Raja 等人 | Markov 操作 | DRIVE | Sens - 78.63%;Spec - 97% |
| Lahiri 等人 | 基于集成的深度神经网络方法 | DRIVE | Accs - 95% |
| Wang 等人 | 使用级联方法的分类框架 | DB1、STARE | Acc - 96.03%;Sens - 95.41%;Spec - 96.40%
Acc - 96.03%;Sens - 95.41%;Spec - 96.40% |
在这些研究中,Lahiri 等人在 2016 年使用 SoftMax 分类器对 DRIVE 和 Kappa 数据集中的血管进行分类。在分割技术中,通过形态学操作识别微动脉瘤(MA)、视网膜血管和渗出物。Wang 等人在 2019 年使用反向传播神经网络(BPNN)和单规则分类器,结合主成分分析(PCA)将眼底图像识别为 DR 或非 DR,并使用 Haar 小波修改进行特征提取和选择。
2. 性能指标
眼底相机拍摄的视网膜眼底图像用于 DR 的早期分析。拍摄后,图像需经过一系列预处理步骤,如常见的滤波、缩放、自适应直方图均衡化和全纯处理等,然后再应用图像处理算法。
在临床治疗中,医学信息通常分为两类:当前疾病的位置和信息,以及未发现疾病的可用统计信息位置。为了保密和自我评估,需要确定疾病的严重程度。在 DR 的临床技术中,眼底图像广泛用于测试每张图像的特异性(Spec)和敏感性(Sen)。特异性和敏感性水平越高,临床治疗效果越好。
- 真阴性(T -)表示无病变像素。
- 真阳性(T +)表示病变像素的总和。
- 假阴性(F -)和假阳性(F +)分别表示未被识别的病变像素和非病变像素的数量。
一组规则的总体性能可以用一个表格表示,在监督学习中称为混淆矩阵(CM),在无监督学习中称为匹配矩阵。矩阵以实际情况和测试结果两个维度表示。
敏感性(Sen)和特异性(Spec)的计算公式如下:
[
Sen = \frac{T +}{T + + F -}
]
[
Spec = \frac{T -}{T - + F +}
]
3. 混淆矩阵中的不同情况
- 真阳性(True Positive) :阳性值被正确识别为阳性,即测试呈阳性且患者确实患有疾病。
- 真阴性(True Negative) :阳性值被正确识别为阴性,即测试呈阴性且患者未患有疾病。
- 假阳性(False Positive) :阳性值被错误识别为阴性,即测试呈阳性但患者未患有疾病。
- 假阴性(False Negative) :阴性值被错误识别为阳性,即测试呈阴性但患者患有疾病。
其中,假阴性(第二类错误)风险较高,因为测试错误可能危及患者生命。一般来说,假阴性情况比假阳性更危险,但在某些应用(如软件测试)中,会尽量减少假阳性情况。以下是混淆矩阵及其测量指标:
| 实际情况 | 阳性 [有 DR] | 阴性 [无 DR] |
| — | — | — |
| 测试结果阳性 [有 DR] | 真阳性(TP) | 假阳性(FP)
PPV(Precision)
第一类错误 |
| 测试结果阴性 [无 DR] | 假阴性(FN)
第二类错误 | 真阴性(TN)
NPV |
| | TPR(Sensitivity) | TNR(Specificity)
ACC
F - Measurement |
NPV 为阴性预测值,PPV 为阳性预测值。
4. 糖尿病视网膜病变检测研究总结
近期的 DR 检测研究主要集中在自动方法,即计算机辅助诊断(CAD)系统。CAD 系统对于 DR 有两个关键过程:一是确定 DR 的类型和严重程度,二是对病变(如 MA、HEM 和 EX)进行分割。目前大部分研究采用了各种标准方法来诊断和分割 DR。对这些技术的深入研究有助于更好地理解现有模型,评估 ML 和 DL 算法的整体性能。不过,模型无关的可解释人工智能(XAI)方法存在计算成本上升和基于假设操作等问题,仍需进一步研究。为了推动其在基于人工智能的医疗系统中的应用和发展,XAI 领域需要持续的研究和应用。
5. 临床自然语言处理系统简介
自然语言处理(NLP)是人工智能的一个分支,帮助机器读取、分析和理解人类语言。它广泛应用于农业、教育、医疗、城市治理和管理等多个领域。传统的 NLP 引擎利用大量的文本语料库(通常是书籍或其他书面记录)来确定语言的组织方式和句子结构。
NLP 系统的输入通常是无结构数据(书面文本或语音记录)。对于书面文本,NLP 系统利用语言的词汇、句法和语义理解;对于口语,还需考虑语音组织信息。输出通常是应用程序能够识别的目标表示。
电子健康记录(EHR)是患者纵向健康相关信息的存储库,包含患者的人口统计信息、疾病、处方药物、治疗计划、临床检查、疫苗接种、既往病史、实验室检查结果和放射学结果等。然而,医疗文本数据通常是无结构的,缺乏统一的标准格式、质量和内容。因此,将这些无结构的临床文本转换为有意义的量化信息是一项艰巨的任务。NLP 为分析此类临床文本提供了一种计算机化方法,将 NLP 技术应用于 EHR 数据可以帮助临床医生更方便地从患者信息中发现有意义的模式。评估患者的健康状态需要对 EHR 数据进行两阶段分析。
尽管 EHR 相对于传统纸质记录具有数据存储和检索效率高的优点,但目前的 EHR 系统存在可用性问题,导致工作流程低效和用户不满。这些问题使得 EHR 需要更好地帮助用户快速定位治疗所需的关键信息。
6. NLP 系统的组成部分
NLP 系统主要有两个组成部分:
-
自然语言理解(Natural Language Understanding,NLU)
:将给定数据转换为机器可识别的有意义格式,旨在通过分析文本推断用户意图。商业应用常依赖 NLU 来解读书面和口语信息,使虚拟助手能够识别用户目标并引导其完成相应任务。同时,NLU 有助于分析语言歧义,包括:
-
词汇歧义(Lexical ambiguity)
:一个单词有多种含义,例如“cold”可以表示寒冷的环境或感冒。
-
句法歧义(Syntactical ambiguity)
:句子的形式或语法产生不确定性,例如“ I’ll see you at the bank” 中的“bank” 有两种可能的含义。
-
指代歧义(Referential ambiguity)
:句子中的单词或短语在上下文中与两个或多个特征或对象相关,例如“Jordan is a big celebrity icon” 中“big” 的含义不明确。
-
自然语言生成(Natural Language Generation,NLG)
:使用内部表示生成有意义的自然语言输出。它涉及将内部数据转换为人类可理解的文本。例如,根据患者的诊断结果和治疗建议生成一份详细的报告。
以下是 NLP 系统的工作流程 mermaid 图:
graph LR
A[输入(无结构数据)] --> B[自然语言理解(NLU)]
B --> C[分析处理]
C --> D[自然语言生成(NLG)]
D --> E[输出(有意义文本)]
通过这些组成部分和流程,NLP 系统能够在医疗领域发挥重要作用,帮助处理和理解大量的无结构医疗文本信息。
7. NLP 的阶段与应用
NLP 系统在处理自然语言时,通常会经历多个阶段,这些阶段逐步对输入的文本进行分析和处理,以实现对语言的理解和生成有意义的输出。
- 词法分析(Lexical Analysis) :此阶段主要对输入的文本进行分词处理,将连续的文本拆分成一个个独立的单词或词元。例如,将句子 “The quick brown fox jumps over the lazy dog.” 拆分成 “The”、“quick”、“brown” 等单词。同时,还会进行词性标注,确定每个单词的词性,如名词、动词、形容词等。
- 句法分析(Syntactic Analysis) :在词法分析的基础上,句法分析关注句子的结构和语法规则。它会构建句子的语法树,分析单词之间的关系,确定句子的主谓宾等结构。例如,对于句子 “She loves reading books.”,句法分析会识别出 “She” 是主语,“loves” 是谓语,“reading books” 是宾语。
- 语义分析(Semantic Analysis) :该阶段致力于理解句子的语义含义,不仅仅是语法结构。它会考虑单词和句子在特定语境中的意义,消除歧义。例如,对于 “I went to the bank.”,语义分析会根据上下文判断 “bank” 是指银行还是河岸。
- 语用分析(Pragmatic Analysis) :语用分析结合语境和交际意图,理解语言的实际用途。它考虑说话者的意图、隐含意义和文化背景等因素。例如,在不同的场合说 “It’s cold in here.” 可能有不同的含义,可能是单纯描述温度,也可能是暗示对方关窗或开暖气。
NLP 在医疗领域有广泛的应用,以下是一些常见的应用场景:
| 应用场景 | 具体描述 |
| — | — |
| 病历信息提取 | 从患者的病历中提取关键信息,如症状、诊断结果、治疗方案等,方便医生快速了解患者的病情。 |
| 医学文献检索 | 帮助医生和研究人员在海量的医学文献中快速准确地找到所需的信息,提高研究效率。 |
| 智能问诊 | 通过与患者进行自然语言交互,收集症状信息,辅助医生进行初步诊断。 |
| 医疗报告生成 | 根据患者的检查结果和诊断信息,自动生成规范的医疗报告,提高报告的准确性和生成效率。 |
8. 临床 NLP 系统用于信息检索
在临床领域,NLP 系统可以帮助从非结构化的医疗叙述中检索重要信息。以下是一些常见的临床 NLP 系统及其特点:
- MetaMap :它是一个广泛使用的临床 NLP 工具,能够将自由文本映射到统一医学语言系统(UMLS)中的概念。通过识别文本中的医学术语,并将其与 UMLS 中的概念进行匹配,MetaMap 可以帮助提取文本中的医学信息。
- cTAKES :这是一个开源的临床文本分析和知识提取系统。它可以对临床文本进行处理,识别实体(如疾病、症状、药物等),并提取它们之间的关系。cTAKES 采用了机器学习和自然语言处理技术,能够处理大规模的临床文本数据。
- MedLEE :MedLEE 专注于从临床文本中提取结构化的医学信息。它使用基于规则的方法,结合医学词典和语法规则,将非结构化的文本转换为结构化的数据,方便后续的分析和处理。
使用临床 NLP 系统进行信息检索的一般步骤如下:
1.
数据收集
:收集包含医疗信息的非结构化文本,如病历、诊断报告、手术记录等。
2.
预处理
:对收集到的文本进行预处理,包括去除噪声、分词、词性标注等操作,为后续的分析做准备。
3.
信息提取
:使用 NLP 系统(如 MetaMap、cTAKES 等)对预处理后的文本进行处理,提取关键的医学信息,如疾病名称、症状表现、治疗方法等。
4.
信息整合
:将提取的信息进行整合,构建结构化的数据库或知识图谱,以便于存储和查询。
5.
检索查询
:用户可以根据自己的需求,输入查询语句,从整合后的信息中检索所需的信息。
9. 总结与展望
糖尿病视网膜病变检测和临床自然语言处理在医疗领域都具有重要的意义。在糖尿病视网膜病变检测方面,通过各种 ML 和 DL 模型以及相关的性能指标评估,可以更准确地诊断疾病,为患者提供更好的治疗方案。而临床自然语言处理则可以帮助处理和分析大量的非结构化医疗文本信息,提高医疗信息的利用效率,辅助医生进行决策和研究。
然而,这两个领域也面临着一些挑战。在糖尿病视网膜病变检测中,模型无关的 XAI 方法的计算成本和基于假设的操作问题需要进一步研究解决。在临床自然语言处理方面,处理复杂的医学语言和语境、提高信息提取的准确性和效率等仍然是需要攻克的难题。
未来,随着技术的不断发展和创新,我们可以期待在这两个领域取得更大的突破。例如,更先进的 ML 和 DL 模型可能会提高糖尿病视网膜病变检测的准确性和效率;而更智能的 NLP 系统可能会更好地理解和处理医疗文本,为医疗行业带来更多的便利和价值。
以下是一个简单的 mermaid 图,展示了糖尿病视网膜病变检测和临床自然语言处理在医疗流程中的关系:
graph LR
A[患者医疗数据] --> B[糖尿病视网膜病变检测]
A --> C[临床自然语言处理]
B --> D[疾病诊断与治疗]
C --> D
通过不断地研究和改进,这两个领域有望为医疗行业的发展做出更大的贡献,提高医疗服务的质量和效率,造福更多的患者。
超级会员免费看
90

被折叠的 条评论
为什么被折叠?



