基于症状匹配和机器学习的自动诊断系统和方法转让专利

申请号 : CN201410280966.5

文献号 : CN104102816B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 唐力周晋黄权

申请人 : 周晋

摘要 :

本发明公开一种基于症状匹配和机器学习的自动诊断系统和方法,其中系统包括:疾病/症候数据库,用于保存已知的每种疾病/症候及其对应的症状;用户交互模块,用于接收用户输入的症状关键词集合;症状匹配模块,用于根据用户输入的所述症状关键词集合与所述疾病/症候数据库中的症状进行匹配,计算所述症状关键词集合与每种疾病/症候的匹配度;诊断模块,用于根据所述症状关键词集合与每种疾病/症候的匹配度确定对应的疾病/症候。

权利要求 :

1.一种基于症状匹配和机器学习的自动诊断系统,其特征在于,包括:疾病/症候数据库,用于保存已知的每种疾病/症候及其对应的症状;

用户交互模块,用于接收用户输入的症状关键词集合;

症状匹配模块,用于根据用户输入的所述症状关键词集合与所述疾病/症候数据库中的症状进行匹配,计算所述症状关键词集合与每种疾病/症候的匹配度;

诊断模块,用于根据所述症状关键词集合与每种疾病/症候的匹配度确定对应的疾病/症候;

词表构建模块,用于构建症状相关度词表,具体为:

获取症状数据,其中所述症状数据包括从教科书、词典中获取的症状同、近义词表、从所述疾病/症候数据库中获取的每条疾病/症候的症状集合以及从用户请求记录中获取的每条有效请求的症状集合;

对于所获取的症状数据,假设有两个症状x和y,则该两个症状x和y的关联度μ(x,y)为其中ρ(P)表示数据源P的判断权重,根据专家经验人为设定,ρ(同近义词表)>ρ(疾病/证候库)≥ρ(用户请求记录);r,p,q表示数据源P内的每个并发症状集合;

其中|p|表示症状集合p中含有的症状的个数,

将关联度大于关联度阈值的两个症状保存到创建的症状相关度词表;

所述症状匹配模块包括:

权重计算单元,用于根据以下公式计算症状x在疾病/症候d中的权重W(d,x):其中,ρ(S)表示数据源S的权重,e表示数据源S中有关疾病/症候的每一条描述单元信息;

匹配度计算单元,用于计算所述疾病/症候数据库中的每条疾病/症候相对于所述症状关键词集合的匹配度,具体为:假设用户提供的所述症状关键词集合为A,遍历所述疾病/症候数据库中的每一个疾病/症候d及其对应的症状集合σ(d);

用以下算式计算疾病/症候d相对于所述症状关键词集合A的匹配度M(A,d):其中,∣A∣和∣σ(d)∣分别表示集合A和集合σ(d)中的元素个数;

按M(A,d)由大到小的顺序对对应的疾病/症候进行排序,将排序得到的结果用R表示并呈现给用户,其中R={d|M(A,d)>0且r(d)<N},r(d)表示按M(A,d)由大到小排序后对应的疾病/症候的序号,N为人为设定的常数。

2.根据权利要求1所述的自动诊断系统,其特征在于,还包括:更新模块,用于补充和更新所述疾病/症候数据库。

3.根据权利要求1所述的自动诊断系统,其特征在于,所述有效请求的症状集合是指该请求的匹配结果中含有匹配度大于设定的常量C的疾病/症候。

说明书 :

基于症状匹配和机器学习的自动诊断系统和方法

技术领域

[0001] 本发明涉及医疗信息领域,具体而言,涉及一种基于症状匹配和机器学习的自动诊断系统和方法。

背景技术

[0002] 以下首先介绍本发明中用到的医学术语:
[0003] 疾病:是致病邪气作用于人体,人体正气与之抗争而引起的机体阴阳失调、脏腑组织损伤、生理机能失常或心理活动障碍的一个完整的生命过程。
[0004] 症候:是疾病过程中某一阶段或某一类型的病理概括,一般有一组相对固定的、有内在联系的、能揭示疾病某一阶段或某一类型病变本质的症状和体征构成。
[0005] 症状:是疾病过程中表现出的个别、孤立的现象,可以是病人异常的主观感觉或行为表现,也可以是医生检查病人时发现的异常征象。
[0006] 随着信息化程度的日益提高,人们已经可以通过各种信息终端获取医疗信息,但如何根据已知的症状提供给用户准确的疾病/症候诊断结果仍是一个亟需解决的问题。

发明内容

[0007] 本发明提供一种基于症状匹配和机器学习的自动诊断系统和方法,用以根据已知的症状提供给用户准确的疾病/症候诊断结果。
[0008] 为达到上述目的,本发明提供了一种基于症状匹配和机器学习的自动诊断系统,包括:
[0009] 疾病/症候数据库,用于保存已知的每种疾病/症候及其对应的症状;
[0010] 用户交互模块,用于接收用户输入的症状关键词集合;
[0011] 症状匹配模块,用于根据用户输入的所述症状关键词集合与所述疾病/症候数据库中的症状进行匹配,计算所述症状关键词集合与每种疾病/症候的匹配度;
[0012] 诊断模块,用于根据所述症状关键词集合与每种疾病/症候的匹配度确定对应的疾病/症候。
[0013] 进一步地,上述系统还包括:
[0014] 词表构建模块,用于构建症状相关度词表,具体为:
[0015] 获取症状数据,其中所述症状数据包括从教科书、词典中获取的症状同、近义词表、从所述疾病/症候数据库中获取的每条疾病/症候的症状集合以及从用户请求记录中获取的每条有效请求的症状集合;
[0016] 对于所获取的症状数据,假设有两个症状x和y,则该两个症状x和y的关联度μ(x,y)为
[0017]
[0018] 其中ρ(P)表示数据源P的判断权重,根据专家经验人为设定,ρ(同近义词表)>ρ(疾病/证候库)≥ρ(用户请求记录);r,p,q表示数据源P内的每个并发症状集合;
[0019] 其中|p|表示症状集合p中含有的症状的个数,
[0020]
[0021] 将关联度大于关联度阈值的两个症状保存到创建的症状相关度词表。
[0022] 进一步地,所述症状匹配模块包括:
[0023] 权重计算单元,用于根据以下公式计算症状x在疾病/症候d中的权重W(d,x):
[0024]
[0025] 其中,ρ(S)表示数据源S的权重,e表示数据源S中有关疾病/症候的每一条描述单元信息;
[0026]
[0027]
[0028] 匹配度计算单元,用于计算所述疾病/症候数据库中的每条疾病/症候相对于所述症状关键词集合的匹配度,具体为:
[0029] 假设用户提供的所述症状关键词集合为A,遍历所述疾病/症候数据库中的每一个疾病/症候d及其对应的症状集合σ(d);
[0030] 用以下算式计算疾病/症候d相对于所述症状关键词集合A的匹配度M(A,d):
[0031] 其中,|A|和|σ(d)|分别表示集合A和集合σ(d)中的元素个数;
[0032] 按M(A,d)由大到小的顺序对对应的疾病/症候进行排序,将排序得到的结果用R表示并呈现给用户,其中R={d|M(A,d)>0且r(d)<N},r(d)表示按M(A,d)由大到小排序后对应的疾病/症候的序号,N为人为设定的常数。
[0033] 进一步地,上述系统还包括:
[0034] 更新模块,用于补充和更新所述疾病/症候数据库。
[0035] 进一步地,所述有效请求的症状集合是指该请求的匹配结果中含有匹配度大于设定的常量C的疾病/症候。
[0036] 为达到上述目的,本发明还提供了一种基于症状匹配和机器学习的自动诊断方法,包括以下步骤:
[0037] 接收用户输入的症状关键词集合;
[0038] 根据用户输入的症状关键词集合与疾病/症候数据库中的症状进行匹配,计算所述症状关键词集合与每种疾病/症候的匹配度,其中所述疾病/症候数据库保存有已知的每种疾病/症候及其对应的症状;
[0039] 根据所述症状关键词集合与每种疾病/症候的匹配度确定对应的疾病/症候。
[0040] 进一步地,在根据用户输入的症状关键词集合与疾病/症候数据库中的症状进行匹配步骤之前还包括以下步骤:
[0041] 构建症状相关度词表,具体包括:
[0042] 获取症状数据,其中所述症状数据包括从教科书、词典中获取的症状同、近义词表、从所述疾病/症候数据库中获取的每条疾病/症候的症状集合以及从用户请求记录中获取的每条有效请求的症状集合;
[0043] 对于所获取的症状数据,假设有两个症状x和y,则该两个症状x和y的关联度μ(x,y)为
[0044]
[0045] ρ(P)表示数据源P的判断权重,根据专家经验人为设定,ρ(同近义词表)>ρ(疾病/证候库)≥ρ(用户请求记录);r,p,q表示数据源P内的每个并发症状集合;
[0046] 其中|p|表示症状集合p中含有的症状的个数,
[0047]
[0048] 将关联度大于关联度阈值的两个症状保存到创建的症状相关度词表。
[0049] 进一步地,所述根据用户输入的症状关键词集合与疾病/症候数据库中的症状进行匹配,计算所述症状关键词集合与每种疾病/症候的匹配度步骤包括:
[0050] 计算症状x在疾病/症候d中的权重W(d,x)为
[0051]
[0052] 其中,ρ(S)表示数据源S的权重,
[0053] e表示数据源S中有关疾病/症候的每一条描述单元信息;
[0054]
[0055] 假设用户提供的所述症状关键词集合为A,遍历所述疾病/症候数据库中的每一个疾病/症候d及其对应的症状集合σ(d);
[0056] 用以下算式计算疾病/症候d相对于所述症状关键词集合A的匹配度M(A,d)[0057]
[0058] 其中,|A|和|σ(d)|分别表示集合A和集合σ(d)中的元素个数;
[0059] 按M(A,d)由大到小的顺序对对应的疾病/症候进行排序,将排序得到的结果用R表示并呈现给用户,其中R={d|M(A,d)>0且r(d)<N},r(d)表示按M(A,d)由大到小排序后对应的疾病/症候的序号,N为人为设定的常数。
[0060] 进一步地,上述方法还包括以下步骤:
[0061] 对所述疾病/症候数据库进行补充和更新。
[0062] 进一步地,所述有效请求的症状集合是指该请求的匹配结果中含有匹配度大于设定的常量C的疾病/症候。
[0063] 本发明将用户提供的一组症状与系统中已收录的疾病和证候对应的症状进行匹配,通过计算匹配程度而自动推断造成该组症状的可能疾病和证候,从而向用户提供相对准确的诊断结果。

附图说明

[0064] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0065] 图1为本发明一个实施例的基于症状匹配和机器学习的自动诊断系统模块图;
[0066] 图2为本发明一个优选实施例的基于症状匹配和机器学习的自动诊断系统工作原理图。

具体实施方式

[0067] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0068] 图1为本发明一个实施例的基于症状匹配和机器学习的自动诊断系统模块图;图2为本发明一个优选实施例的基于症状匹配和机器学习的自动诊断系统工作原理图。如图所示,该自动诊断系统包括:
[0069] 疾病/症候数据库,用于保存已知的每种疾病/症候及其对应的症状;
[0070] 其中,在构建疾病/症候数据库时,所选择的数据源可以是国家标准(如《中医临床诊疗术语症候部分》),现代中医教科书、现代中医词典等,中医古籍中的病症、医案论述等,以及现代病历数据。
[0071] 用户交互模块,用于接收用户输入的症状关键词集合;
[0072] 症状匹配模块,用于根据用户输入的所述症状关键词集合与所述疾病/症候数据库中的症状进行匹配,计算所述症状关键词集合与每种疾病/症候的匹配度;
[0073] 诊断模块,用于根据所述症状关键词集合与每种疾病/症候的匹配度确定对应的疾病/症候。
[0074] 进一步地,上述系统还包括:
[0075] 词表构建模块,用于构建症状相关度词表,具体为:
[0076] 获取症状数据,其中所述症状数据包括从教科书、词典中获取的症状同、近义词表、从所述疾病/症候数据库中获取的每条疾病/症候的症状集合以及从用户请求记录中获取的每条有效请求的症状集合;这里的教科书、词典例如可以是中医大辞典、中医症状鉴别诊断学、汉语近义词词典等,这里的有效请求的症状集合是指该请求的匹配结果中含有匹配度大于设定的常量C的疾病/症候;
[0077] 对于所获取的症状数据,假设有两个症状x和y,则该两个症状x和y的关联度μ(x,y)为
[0078]
[0079] 其中ρ(P)表示数据源P的判断权重,根据专家经验人为设定,ρ(同近义词表)>ρ(疾病/证候库)≥ρ(用户请求记录);r,p,q表示数据源P内的每个并发症状集合;
[0080] 其中|p|表示症状集合p中含有的症状的个数,
[0081]
[0082] 将关联度大于关联度阈值的两个症状保存到创建的症状相关度词表。
[0083] 进一步地,所述症状匹配模块包括:
[0084] 权重计算单元,用于根据以下公式计算症状x在疾病/症候d中的权重W(d,x):
[0085]
[0086] 其中,ρ(S)表示数据源S的权重,根据专家经验人为设定,满足ρ(国家标准)>ρ(教科书、词典)≥ρ(中医古籍)>ρ(现代病例,e表示数据源S中有关疾病/症候的每一条描述单元信息;
[0087]
[0088]
[0089] 匹配度计算单元,用于计算所述疾病/症候数据库中的每条疾病/症候相对于所述症状关键词集合的匹配度,具体为:
[0090] 假设用户提供的所述症状关键词集合为A,遍历所述疾病/症候数据库中的每一个疾病/症候d及其对应的症状集合σ(d);
[0091] 用以下算式计算疾病/症候d相对于所述症状关键词集合A的匹配度M(A,d):
[0092]
[0093] 其中,|A|和|σ(d)|分别表示集合A和集合σ(d)中的元素个数;
[0094] 按M(A,d)由大到小的顺序对对应的疾病/症候进行排序,将排序得到的结果用R表示并呈现给用户,其中R={d|M(A,d)>0且r(d)<N},r(d)表示按M(A,d)由大到小排序后对应的疾病/症候的序号,N为人为设定的常数。
[0095] 进一步地,上述系统还包括:
[0096] 更新模块,用于补充和更新所述疾病/症候数据库。
[0097] 其中,更新的时机可以是定期,如每周执行一次;也可以是由突发事件触发的即时更新,如新的国家标准颁布、世卫组织公布新的流行疾病信息等。
[0098] 示例:
[0099] 用户输入:症状集A:拉肚子、肚子痛、肛门热、脉滑数
[0100] 收录的疾病/症候
[0101] d1:泄泻 湿热伤
[0102] σ(d1):泄泻腹痛、泻下急迫、粪色黄褐、肛门灼热、烦热口渴、小便短黄、脉滑数[0103] d2:霍乱 湿热症
[0104] σ(d2):吐利、寒热身痛、不寒热腹中痛、心胸苦闷、恶心呕吐、腹中雷鸣绕脐作痛、泻出软便继泻绿水或若泔汁、四肢厥冷、下腿拘挛、脉滑数
[0105] 假设根据已有数据源,由μ(x,y)的公式计算得到μ(拉肚子,泄泻腹痛)=0.14,μ(拉肚子,泻下急迫)=0.43,μ(肚子痛,泄泻腹痛)=0.31,μ(肛门热,肛门灼热)=0.61,μ(脉滑数,脉滑数)=1.00,μ(肚子痛,腹中雷鸣绕脐作痛)=0.14,μ(拉肚子,泻出软便继泻绿水或若泔汁)=0.07,其它的μ(x,y)均为0;
[0106] 而且根据已有数据源,由W(d,y)的公式计算得到W(d1,泄泻腹痛)=0.71,W(d1,泻下急迫)=0.65,W(d1,肛门灼热)=0.57,W(d1,脉滑数)=0.41,W(d2,腹中雷鸣绕脐作痛)=0.31,W(d2,泻出软便继泻绿水或若泔汁)=0.57,,其它的W(d,y)均为0;
[0107] 则由M(A,d)的公式可计算得到d1和d2分别与用户输入的症状集合的匹配度如下:
[0108] M(A,d1)=[μ(拉肚子,泄泻腹痛)×W(d1,泄泻腹痛)+μ(拉肚子,泻下急迫)×W(d1,泻下急迫)+μ(肚子痛,泄泻腹痛)×W(d1,泄泻腹痛)+μ(肛门热,肛门灼热)×W(d1,肛门灼热)+μ(脉滑数,脉滑数)×W(d1,脉滑数)]/(|A|·|σ(d1)|)=0.0485
[0109] M(A,d2)=[μ(肚子痛,腹中雷鸣绕脐作痛)×W(d2,腹中雷鸣绕脐作痛)+μ(拉肚子,泻出软便继泻绿水或若泔汁)×W(d2,泻出软便继泻绿水或若泔汁)]/(|A|·|σ(d2)|)=0.0021
[0110] 由于M(A,d1)>M(A,d2),因此在返回给用户的诊断结果R中,M(A,d1)被放置在前。与上述系统实施例相适应,以下为本发明一个实施例的基于症状匹配和机器学习的自动诊断方法实施例,包括以下步骤:
[0111] 接收用户输入的症状关键词集合;
[0112] 根据用户输入的症状关键词集合与疾病/症候数据库中的症状进行匹配,计算所述症状关键词集合与每种疾病/症候的匹配度,其中所述疾病/症候数据库保存有已知的每种疾病/症候及其对应的症状;
[0113] 根据所述症状关键词集合与每种疾病/症候的匹配度确定对应的疾病/症候。
[0114] 进一步地,在根据用户输入的症状关键词集合与疾病/症候数据库中的症状进行匹配步骤之前还包括以下步骤:
[0115] 构建症状相关度词表,具体包括:
[0116] 获取症状数据,其中所述症状数据包括从教科书、词典中获取的症状同、近义词表、从所述疾病/症候数据库中获取的每条疾病/症候的症状集合以及从用户请求记录中获取的每条有效请求的症状集合;
[0117] 对于所获取的症状数据,假设有两个症状x和y,则该两个症状x和y的关联度μ(x,y)为
[0118]
[0119] ρ(P)表示数据源P的判断权重,其中
[0120]
[0121]
[0122] 将关联度大于关联度阈值的两个症状保存到创建的症状相关度词表。
[0123] 进一步地,所述根据用户输入的症状关键词集合与疾病/症候数据库中的症状进行匹配,计算所述症状关键词集合与每种疾病/症候的匹配度步骤包括:
[0124] 计算症状x在疾病/症候d中的权重W(d,x)为
[0125]
[0126] 其中,ρ(S)表示数据源S的权重,e表示数据源S中有关疾病/症候的每一条描述单元信息;
[0127]
[0128]
[0129] 假设用户提供的所述症状关键词集合为A,遍历所述疾病/症候数据库中的每一个疾病/症候d及其对应的症状集合σ(d);
[0130] 用以下算式计算疾病/症候d相对于所述症状关键词集合A的匹配度M(A,d)[0131] 按M(A,d)由大到小的顺序对对应的疾病/症候进行排序,将排序得到的结果用R表示并呈现给用户,其中R={d|M(A,d)>0且r(d)<N},r(d)表示按M(A,d)由大到小排序后对应的疾病/症候的序号,N为人为设定的常数。
[0132] 进一步地,上述方法还包括以下步骤:
[0133] 对所述疾病/症候数据库进行补充和更新。
[0134] 进一步地,所述有效请求的症状集合是指该请求的匹配结果中含有匹配度大于设定的常量C的疾病/症候。
[0135] 本发明将用户提供的一组症状与系统中已收录的疾病和证候对应的症状进行匹配,通过计算匹配程度而自动推断造成该组症状的可能疾病和证候,从而向用户提供相对准确的诊断结果。
[0136] 本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
[0137] 本领域普通技术人员可以理解:实施例中的装置中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0138] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。