Page 198 - 《软件学报》2020年第10期
P. 198
3174 Journal of Software 软件学报 Vol.31, No.10, October 2020
Fig.3 Weights of symptoms in the domain semantic knowledge base for disease diagnosis
图 3 领域语义知识库中症状于疾病诊断的权重
3.2 疾病相关度的计算
基于知识库中每个症状 s 的 w s ,可以计算知识库中疾病 d i 与患者输入症状集 S 的相关度,从而为医生或患
者推荐可能的疾病列表及其相关度排名.
假定知识库中的症状数为 M,疾病数为 N;患者输入的症状集为 S = { , ,..., },1s s s ≤ j ≤ M ; 知识库中与该症
1 2 j
状集 S 中的一个或者多个症状具有语义关联的疾病构成的集合为 D = {,dd 2 ,..., },1d i ≤≤ N ; 其中,疾病 d i 在知
i
1
识库中关联的症状集合为 S i , S ′ = S ∩ ; S 疾病 d i 与患者输入症状集 S 的相关度为 w i ,那么 w i 的计算方法如下:
i i
∑ w s
∈
w = sS i ′ (2)
∑ sS i w s
i
∈
公式(2)的分子仅考虑了症状集 S 中和疾病 d i 相关联的症状,因为其他症状于 d i 的相关度计算没有作用.而
分母考虑到了知识库中与疾病 d i 关联的所有症状,因为它们共同作用于疾病 d i 的诊断.
假定患者输入“咽部异物感”症状,基于公式(2)可以计算出知识库中与此症状关联的疾病的相关度,如后文
的图 4(a)所示.
3.3 相关症状推荐
在筛查出与患者输入症状集 S 相关联的疾病集合 D 以后,还需要对集合 D 中的疾病进行回顾性验证,即根
据筛查出的疾病集合 D 评估和推荐与患者输入症状集 S 中的症状最相关的其他症状,供医生或患者确认;进而
基于初始收集到的患者症状集 S 和患者再次确认的症状结果对疾病筛查结果集进行调整,并重新计算调整后
疾病集 D 中疾病的相关度.
与患者输入症状集 S 中的症状最相关的症状集 S rel 的推荐算法描述如下.
输入:患者初次输入的症状集 S.
输出:与患者输入症状集 S 中的症状最相关的 Top-6(这里仅保留 6 个,可以根据需要调整)个症状组成的症
状集 S rel .
S-1:首先从记录的历史输入症状组合中进行推荐.系统自动对不同患者输入和选择的历史症状组合进行记
录,记录方式为{, ,..., } ,ss 2 s i f 症状组合中的症状不分先后顺序,f 表示该症状组合发生的频率.如果患者输入的症
1
状集 S 落入某一个或者多个历史症状组合中,则按 f 值从高至低,从某一个或者多个历史症状组合中选取除集合
S 中的症状以外的 Top-6 个症状作为 S rel ,转到步骤 S-6;如果不够 6 个症状,则以实际可选择的症状数目作为 S rel ,
转到步骤 S-6;如果没有多余的症状或者 S 未落入任何一个历史症状组合,则转到步骤 S-2.注意,这个步骤选取症
状时,不考虑症状的权重,而是按症状出现的先后顺序依次选取.
S-2:从知识库中查询与症状集 S 中的一个或者多个症状具有语义关联的疾病集合 D = {,dd 2 ,..., },d i
1
i
1≤≤ N , N 表示领域语义知识库中的疾病数量.
S-3:设疾病 d i 在领域语义知识库中关联的症状集合为 S i ,求 S′ = S ∪ 1 S ∪ 2 ...∪ S i .