本发明涉及医疗技术领域,特别涉及一种基于ai的老人分诊系统及方法。
背景技术:
人工智能意在生产出一种能够以人类智能相似的方式做出反应的智能机器,以代替人类思考,高效率、低能耗且智能地解决各种问题,目前已成为一项热门的研究课题。人工智能分为弱人工智能和强人工智能两大类,弱人工智能虽然能够对输入信息做出看似智能的反应,但并不具备推理和自主解决问题的能力,无法实现真正的智能化。而强人工智能着重于模拟人类的大脑,通过复制人脑的活动可以具备推理和自主解决问题的能力,实现智能化。
目前,自人工智能从诞生以来,人工智能的理论和技术日益成熟,应用领域也不断扩大,特别是应用于老人服务领域的人工智能技术越来越受到社会的关注,越来越多的企业和科研工作者参与到了老人服务领域的人工智能相关理论、方法及工程的研发中来。
目前,中国仪进入老龄化社会,老年人因其身体机能的逐渐衰退,常常伴随着多种疾病并存,所以需要经常到医院进行治疗,现在医院一般的看病流程为到医院前台处进行问诊,通过描述自己病症状况得知自己要挂号的科室,然后到挂号处进行挂号,由于医院往往人比较多,老人问诊和挂号都需要排队,这样就浪费了老人等待的时间;并且老人有时无法准确描述清楚自己的病症状况,使得挂号的时候造成挂错号看错医生的情况,降低了就医效率,往往老人需要重新挂号,又需要重新排队等待,浪费了医疗资源。
技术实现要素:
本发明意在提供一种基于ai的老人分诊系统及方法,能够根据老人的病症匹配对应的医院和科室,以节约分诊资源和提高就医效率。
为解决上述技术问题,本发明提供的基础方案如下:
基于ai的老人分诊系统,包括:
数据库:预先存储有各医院信息;
老人病症确认模块:用于通过询问用户病症和病症的严重程度获取用户当前疾病名称;
医院筛选模块:用于根据医院信息和用户当前疾病名称对医院进行筛选排序;
科室匹配模块:用于根据用户当前疾病名称匹配到筛选剩下的医院的对应科室。
本发明的技术方案,通过询问用户病症和病症的严重程度获取用户当前疾病名称,以实现对老人所患疾病的初步判断,然后根据医院信息和用户当前疾病名称对医院进行筛选,筛选规则可为根据用户当前疾病名称和医院特色专业进行匹配,并筛选出治疗该疾病最好的n家医院,然后根据用户当前疾病名称匹配到筛选出的n家医院的对应科室,从而用户在就医前可了解到自己应该挂号的科室,就不用到医院问诊台处进行询问,节约了分诊资源;并且避免用户因误判断自己的病情而挂错号的情形发生,从而节约了挂号资源和提高了就医效率。
进一步,还包括:
科室确认模块:用于通过询问用户确定选取某一医院的某个科室;
医生信息展示模块:用于根据确认选取的科室展示该科室所有的医生信息;
挂号模块:用于通过询问用户对展示的医生进行挂号。
科室确认模块通过询问用户确定选取某一医院的某个科室,例如,通过语音询问用户选取哪一个医院的对应科室,当用户选定某家医院后,通过语音识别用户回答的医院,并选定该家医院的对应科室;再通过医生信息展示模块展示选定的医院对应科室的所有的医生信息,医生信息可包括:医生姓名、医生职称、医生擅长疾病和医生上班信息等;用户再通过挂号模块即可对医生进行挂号,从而用户能够对所患疾病对应的科室的医生选择性的进行挂号。
进一步,所述老人病症确认模块包括:
近义词数据库,预先存储有症状/疾病的近义词;
用户症状获取子模块,用于通过询问用户获取并识别用户症状,并将用户症状与症状/疾病的近义词库进行匹配得出症状词;
症状程度获取子模块,用于通过询问用户获取并识别各症状严重程度,并获取严重程度的提取词;
推理条件生成子模块,用于根据症状词和严重程度的提取词生成推理语句;
用户疾病推理子模块:用于将生成的推理语句传送至推理模块,并接收推理模块返回值;
是否确诊判断子模块:用于根据推理模块返回值判断是否确诊,若未确诊,根据推理模块是否返回提问症状词判断是否对用户进行再次询问,若是,根据推理模块返回的提问症状词对用户进行再次询问;若否,生成异常情况回答;若确诊,将确诊的疾病名称生成自然语言回答。
用户症状获取子模块询问用户症状,并通过语义识别该症状,将识别的症状与症状/疾病的近义词库进行匹配得出症状词,例如,用户症状为“头晕”,用户症状获取子模块就会将头晕的症状与症状/疾病的近义词库进行匹配得出“头昏”“眩晕”等症状词;症状程度获取子模块再询问用户症状的严重程度,并获取严重程度的提取词,例如,本系统将症状的严重程度设为8个等级,分别为特别严重、很严重、严重、比较严重、一般、有点、轻微、无;推理条件生成子模块根据症状词和严重程度的提取词生成推理语句;将生成的推理语句传送至推理模块,并接收推理模块返回值,推理模块主要用于根据症状词和严重程度的提取词对老人可能患上的疾病进行推理,并将推理结果返回给是否确诊判断子模块,是否确诊判断子模块再根据推理模块返回值判断是否能够对老人进行确诊,若确诊,则会将确诊的疾病名称生成自然语言回答,例如,通过老人头晕的症状和轻微的严重程度判断老人可能得了感冒,则将感冒生成自然语言回答;若未确诊,则要判断是否对用户进行再次询问,若需要对用户进行再次询问,则根据推理模块返回的提问症状词对用户进行再次询问,若不需要对用户进行再次询问,则生成异常情况回答,例如,通过老人头晕的症状和轻微的严重程度无法判断老人可能患上的疾病,推理模块根据推理语句生成提问症状词,并根据提问症状词生成反问句,再次询问老人是否有其他症状,例如,推理模块根据老人头晕的症状和轻微的严重程度生成的提问症状词是“胸口闷”,从而用户症状获取子模块再次询问老人是否有胸口闷的症状,让老人补充相关症状,直到得到确诊结果或是系统确认无法诊断。
进一步,还包括:
用户信息库,预先存储有用户历史患病数据;
所述用户症状获取子模块:还用于从用户信息库中获取用户历史患病数据;
所述推理条件生成子模块:还用于根据用户历史患病数据生成推理语句。
用户信息库中预先存储有历史患病数据,当用户登录系统咨询时,系统自动调取用户历史患病数据,获取既往病史、职业病、季节病等相关信息,辅助诊断,加快诊断速度,提高系统推理效率。
本发明另一目的在于提供一种基于ai的老人分诊方法,该方法基于以上系统,该方法包括以下步骤:
数据库搭建步骤:搭建用于存储各医院信息的数据库;
老人病症确认步骤:通过询问用户病症和病症的严重程度获取用户当前疾病名称;
医院筛选步骤:根据医院信息和用户当前疾病名称对医院进行筛选;
科室匹配步骤:根据用户当前疾病名称匹配到筛选出的医院的对应科室。
进一步,在科室匹配步骤之后还包括:
科室确认步骤:通过询问用户确定选取某一医院的某个科室;
医生信息展示步骤:根据确认选取的科室展示该科室所有的医生信息;
挂号步骤:根据展示的医生信息对医生进行挂号。
进一步,所述老人病症确认步骤具体包括:
近义词数据库,预先存储有症状/疾病的近义词;
用户症状获取步骤:通过询问用户获取并识别用户症状,将用户症状与症状/疾病的近义词库进行匹配得出症状词;
症状程度获取步骤:通过询问用户获取并识别各症状严重程度,并获取严重程度的提取词;
推理条件生成步骤:根据症状词和严重程度的提取词生成推理语句;
用户疾病推理步骤:将生成的推理语句传送至推理模块,并接收推理模块返回值;
是否确诊判断步骤:根据推理模块返回值判断是否确诊,若未确诊,则执行s1;若确诊,则执行s2;
s1:根据推理模块是否返回提问症状词判断是否对用户进行再次询问,若是,则执行s1-1;若否,则执行s1-2;
s1-1:根据推理模块返回的提问症状词对用户进行再次询问;
s1-2:生成异常情况回答;
s2:将确诊的疾病名称生成自然语言回答。
进一步,所述推理条件生成步骤之前还包括:
用户信息库创建步骤:预先存储有用户历史患病数据;
所述用户症状获取步骤:还能够从用户信息库中获取用户历史患病数据;
所述推理条件生成步骤:还根据用户历史患病数据生成推理语句。
附图说明
图1为本发明基于ai的老人分诊系统实施例的示意性框图;
图2为本发明基于ai的老人分诊方法实施例的流程图;
图3为图2所示本发明基于ai的老人分诊方法实施例的老人病症确认步骤的流程图。
具体实施方式
下面通过具体实施方式进一步详细说明:
实施例一
如图1所示,本发明基于ai的老人分诊系统,包括:
数据库:预先存储有各医院信息;
老人病症确认模块:用于通过询问用户病症和病症的严重程度获取用户当前疾病名称;
医院筛选模块:用于根据医院信息和用户当前疾病名称对医院进行筛选;
科室匹配模块:用于根据用户当前疾病名称匹配到筛选出的医院的对应科室;
科室确认模块:用于通过询问用户确定选取某一医院的某个科室;
医生信息展示模块:用于根据确认选取的科室展示该科室所有的医生信息;
挂号模块:用于供用户对展示的医生进行挂号。
其中,老人病症确认模块包括:
近义词数据库:预先存储有症状/疾病的近义词;
用户信息库,预先存储有用户历史患病数据;历史患病数据包括:职业病、季节病和既往病名称等;
用户症状获取子模块,用于通过询问用户获取并识别用户症状,并将用户症状与症状/疾病的近义词库进行匹配得出症状词;还用于从用户信息库中获取用户历史患病数据;
症状程度获取子模块,用于通过询问用户获取并识别各症状严重程度,并获取严重程度的提取词;
推理条件生成子模块,用于根据症状词、严重程度的提取词和用户历史患病数据生成推理语句;
用户疾病推理子模块:用于将生成的推理语句传送至推理模块,并接收推理模块返回值;
是否确诊判断子模块:用于根据推理模块返回值判断是否确诊,若未确诊,根据推理模块是否返回提问症状词判断是否对用户进行再次询问,若是,根据推理模块返回的提问症状词对用户进行再次询问;若否,生成异常情况回答;若确诊,将确诊的疾病名称生成自然语言回答。
该基于ai的老人分诊系统的使用场景为:
老人病症确认模块通过询问用户病症和病症的严重程度获取用户当前疾病名称,以实现对老人所患疾病的初步判断,其中,获取用户当前疾病名称具体地过程为:
用户症状获取子模块询问用户症状,并通过语义识别该症状,将识别的症状与症状/疾病的近义词库进行匹配得出症状词,例如,用户症状为“头晕”,用户症状获取子模块就会将头晕的症状与症状/疾病的近义词库进行匹配得出“头昏”“眩晕”等症状词;症状程度获取子模块再询问用户症状的严重程度,并获取严重程度的提取词,例如,本系统将症状的严重程度设为8个等级,分别为“特别严重”=0,“很严重”=1,“严重”=2,“比较严重”=3,“一般”=4,“有点”=5,“轻微”=6,“无”=7;
同时,用户症状获取子模块会从用户信息库中获取用户历史患病数据,历史患病数据可包括:职业病、季节病和既往病名称等;
推理条件生成子模块根据症状词、严重程度的提取词和用户的历史患病数据生成推理语句;将生成的推理语句传送至推理模块,并接收推理模块返回值,推理模块主要用于根据症状词和严重程度的提取词对老人可能患上的疾病进行推理,并将推理结果返回给是否确诊判断子模块,是否确诊判断子模块再根据推理模块返回值判断是否能够对老人进行确诊,具体地,可预先设置返回值阈值,返回值阈值可为3,若返回值的个数小于返回值阈值,也就是各推理模块返回的推理结果中的疾病名称个数小于3个,则判断为未确诊;若返回值的个数等于返回值阈值,则判断为确诊;
若确诊,则会将确诊结果生成自然语言回答,例如,通过老人头晕的症状和轻微的严重程度判断老人可能得了感冒,则将感冒生成自然语言回答;若未确诊,则要判断是否对用户进行再次询问,若接收到来自于推理模块的提问症状词,则需要对用户进行再次询问,具体地,根据推理模块返回的提问症状词对用户进行再次询问;若未接收到来自于推理模块的提问症状词,则不需要对用户进行再次询问,则生成异常情况回答,例如异常情况回答为“抱歉,无法判断”;
具体地,再次询问的过程为:推理模块根据推理语句生成提问症状词,并根据提问症状词生成反问句,再次询问老人是否有其他症状,例如,推理模块根据老人头晕的症状和轻微的严重程度生成的提问症状词是“胸口闷”,从而系统再次询问老人是否有胸口闷的症状;可将推理模块生成的提问症状词生成反问句,反问句的模板可为“请问您‘症状词’吗?是‘程度描述词a’、‘程度描述词b’还是‘程度描述词c’?”,从而让老人补充相关症状,直到得到确诊结果或是系统确认无法诊断。
然后根据医院信息和用户当前疾病名称对医院进行筛选,医院信息可包括医院名称、医院地址、医院特色专业、医院各个科室的综合排名等,筛选规则可为根据用户当前疾病名称和医院特色专业进行匹配,并筛选出治疗该疾病最好的三家医院,然后根据用户当前疾病名称匹配到筛选出的三家医院的对应科室,从而用户在就医前可了解到自己应该挂号的科室,就不用到医院问诊台处进行询问,节约了分诊资源;并且避免用户因误判断自己的病情而挂错号的情形发生,从而节约了挂号资源和提高了就医效率。
科室确认模块通过询问用户确定选取某一医院的某个科室,例如,通过语音询问用户选取哪一个医院的对应科室,当用户选定某家医院后,通过语音识别用户回答的医院,并选定该家医院的对应科室;再通过医生信息展示模块展示选定的医院对应科室的所有的医生信息,医生信息可包括:医生姓名、医生职称、医生擅长疾病和医生上班信息等;用户再通过挂号模块即可对医生进行挂号,从而用户能够对所患疾病对应的科室的医生选择性的进行挂号。
为了更清楚的阐述本发明的基于ai的老人分诊系统的使用场景,本实施例中,还公开了一种基于ai的老人分诊方法,该方法基于以上系统,如图2所示,该方法包括以下步骤:
数据库搭建步骤:搭建用于存储各医院信息的数据库;
老人病症确认步骤:通过询问用户病症和病症的严重程度获取用户当前疾病名称;
医院筛选步骤:根据医院信息和用户当前疾病名称对医院进行筛选;
科室匹配步骤:根据用户当前疾病名称匹配到筛选出的医院的对应科室;
科室确认步骤:通过询问用户确定选取某一医院的某个科室;
医生信息展示步骤:根据确认选取的科室展示该科室所有的医生信息;
挂号步骤:根据展示的医生信息对医生进行挂号。
其中,如图3所示,老人病症确认步骤具体包括:
近义词库搭建步骤:搭建症状/疾病的近义词数据库;
用户信息库创建步骤:预先存储有用户历史患病数据;具体地,获取用户信息和季节信息,根据用户信息和季节信息得出用户历史患病数据并存储,其中的用户信息包括:用户的姓名、年龄、性别、职业和既往病史;历史患病数据包括:职业病、季节病和既往病名称等;
用户症状获取步骤:通过询问用户获取并识别用户症状,将用户症状与症状/疾病的近义词库进行匹配得出症状词;还能够从用户信息库中获取用户历史患病数据;
症状程度获取步骤:通过询问用户获取并识别各症状严重程度,并获取严重程度的提取词;
推理条件生成步骤:根据症状词、严重程度的提取词和用户历史患病数据生成推理语句;
用户疾病推理步骤:将生成的推理语句传送至推理模块,并接收推理模块返回值;
是否确诊判断步骤:根据推理模块返回值判断是否确诊,若未确诊,则执行s1;若确诊,则执行s2;
s1:根据推理模块是否返回提问症状词判断是否对用户进行再次询问,若是,则执行s1-1;若否,则执行s1-2;
s1-1:根据推理模块返回的提问症状词对用户进行再次询问;
s1-2:生成异常情况回答;
s2:将确诊的疾病名称生成自然语言回答。
实施例二
本实施例中的基于ai的老人分诊系统与实施例一的区别在于,还包括:
用户信息库:获取确诊结果以及确诊时间并存储为用户历史患病数据;
情绪获取模块:用于通过询问用户获取用户情绪;具体地,可通过在询问用户症状和症状严重程度时获取用户的音调来获取用户情绪;
病重程度推断模块:用于将询问用户获得的症状词与用户信息库中的历史患病数据进行匹配,得到疾病名称,并根据疾病名称和时间推断该疾病的病症严重程度;
病重程度判断模块:用于将询问用户获得的症状严重程度提取词与推断得出的病症严重程度进行对比,若差值小于等于预设程度阈值,推理条件生成模块根据症状词、严重程度的提取词、历史患病数据生成推理语句;若差值大于预设程度阈值,情绪等级判断模块则识别用户的情绪,判断用户情绪所属的等级,具体地,情绪等级判断模块预先内置有情绪等级对照表,情绪等级对照表根据人情绪的不同划分为不同的等级,例如:本系统的情绪等级对照表设为6个等级,分别为“平静”=1,“开心”=2,“忧郁”=3,“难过”=4,“愤怒”=5,“暴躁”=6;情绪等级判断模块根据情绪对照出对应的情绪等级,并将情绪等级与预设等级阈值进行对比,若情绪等级大于预设等级阈值时,推理条件生成模块根据症状词、推断得出的病症严重程度、历史患病数据生成推理语句;若情绪等级小于等于预设等级阈值时,推理条件生成模块根据症状词、严重程度的提取词、历史患病数据生成推理语句。
具体使用场景为:
假设两天前老人用户描述的症状为“头疼”和症状严重程度为“轻微”,系统得到的确诊结果为感冒,从而系统将老人感冒和感冒的时间存储在用户信息库中作为老人的历史患病数据,两天后老人又通过该系统描述症状为“头痛”和症状严重程度为“特别严重”,系统根据获得的“头痛”的症状词与用户信息库中的历史患病数据进行匹配,匹配得到老人两天前患过感冒,根据感冒和两天的时间推断感冒的严重程度应该为“比较严重”,从而将推断得到的严重程度“比较严重”与老人描述的症状严重程度“特别严重”进行对比并得到差值,根据实施例一中的严重程度的等级对应的数值的划分,可得到具体的差值数值为3,假设预设程度阈值为2,若差值数值大于预设程度阈值,则代表老人描述的症状严重程度超过了该疾病正常的发展趋势,有可能是老人的情绪波动太大或者心情不好导致的,所以需要对老人的情绪进行判断;
假设两天后老人描述症状为“头痛”和症状严重程度为“特别严重”时的情绪为愤怒,情绪等级判断模块则判断老人的情绪等级为5级,假设预设等级阈值为2,此时情绪等级大于预设等级阈值,则代表老人因为情绪波动太大而感觉头痛加剧,并不是老人病情真正的恶化,所以要根据推断得出的病症严重程度生成推理语句,也就是根据感冒正常的发展程度生成推理语句传至推理模块;假设两天后老人描述症状为“头痛”和症状严重程度为“特别严重”时的情绪为平静,情绪等级判断模块则判断老人的情绪等级为1级,此时情绪等级小于预设等级阈值,则代表老人不是因为情绪波动太大而感觉头痛加剧,而是真正的病情恶化,所以要根据老人描述的严重程度的提取词生成推理语句传至推理模块推理老人的可能患上的疾病。
本实施例中的基于ai的老人分诊方法与实施例一的区别在于,还包括以下步骤:
确诊结果获取步骤:用户信息库获取确诊结果以及确诊时间并存储为用户历史患病数据;
情绪获取步骤:通过询问用户获取用户情绪;
病重程度推断步骤:将询问用户获得的症状词与用户信息库中的历史患病数据进行匹配,得到疾病名称,并根据疾病名称和时间推断该疾病的病症严重程度;
病重程度判断步骤:将询问用户获得的症状严重程度提取词与推断得出的病症严重程度进行对比,若差值大于预设程度阈值,则执行s3;若差值小于等于预设程度阈值,则执行s4;
s3:识别用户的情绪,判断用户的情绪等级,并将情绪等级与预设等级阈值进行对比,若情绪等级大于预设等级阈值时,则执行s3-1;若情绪等级小于等于预设等级阈值时,则执行s3-2;
s3-1:根据症状词、推断得出的病症严重程度、历史患病数据生成推理语句;
s3-2:执行s4;
s4:根据症状词、严重程度的提取词、历史患病数据生成推理语句。
以上所述的仅是本发明的实施例,方案中公知的具体结构及特性等常识在此未作过多描述。应当指出,对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以作出若干变形和改进,这些也应该视为本发明的保护范围,这些都不会影响本发明实施的效果和专利的实用性。本申请要求的保护范围应当以其权利要求的内容为准,说明书中的具体实施方式等记载可以用于解释权利要求的内容。