论文部分内容阅读
【摘要】 针对护士资源少,医疗服务水平有待提高的现状,为让患者得到及时,准确的回复,从而缓解护士压力,本文研究了基于机器阅读理解模型的护士AI问答系统相关知识技术,展示了该系统关键技术与核心算法,基于这些技术实现了回答较为准确的医疗智能问答系统。该系统可以根据患者的提问返回较为准确的回答,以便及时,可靠地解决患者医疗方面问题。
【关键词】 机器学习 智能问答系统 BM25算法 护士AI
Abstract:Less for the nurse resources, the present situation of the medical service level needs to improve, to make patients get timely, accurate response, so as to alleviate the pressure of the nurses, this paper studies the nurse AI question answering system based on machine reading comprehension model knowledge technology, shows the system key technology and core algorithm, based on the answers of these technology to achieve the more accurate medical intelligent question answering system.The system can return more accurate answers according to patients’ questions, so as to timely and reliably solve patients’ medical problems.
Keywords: Machine learning; Intelligent question answering system; BM25 algorithm; The nurse
醫疗领域是信息化发展的重要方向,而医疗信息化则是医疗卫生事业能否在信息时代更好地服务于患者、服务于社会的重要支撑据统计我国每千人口护士数仅为2.36人。世界上大多数国家的护士占总人口的比重约为5%,而我国只有1%左右。以此推算,我国目前尚缺数百万名护士,护理人力资源配置严重不足。从数据中看,护士的工作压力是极大的,这当中又有相当一部分时间花在与患者交流上。
基于以上原因,设计一个护士AI问答系统,从而帮助护士解答患者在医疗设备上的问题,缓解护士的工作压力,让患者得到及时准确的回复,提高医院的服务水平显得尤为重要。
一、设计思路
1.1 模型设计
研究的目的是实现一个智能AI问答模型,该模型系统流程如下所述:
1)用户提问:患者通过微信小程序平台向系统提出了一个关于设备使用的问题。
2)文章检索器:问题作为query输入文章检索器中。文章检索器先根据query从已完成分词的数据集的文档中,选出最相关的5篇。
3)文档理解器:将query和5篇文档同时输入文档理解器,理解器会根据query通过训练好深度神经网络从文章中找到合适的答案,并给出对应得分。
4)问答对检索器:query输入文章检索器时,也会同时输入到问答对检索器中,问答对检索器会根据query,从我们提前设置好的问答对中,找到最相关的5个答案,同时也计算出对应得分。
5)选择器:将两种检索器的答案和得分一起输入选择器中,选择器会根据每个的检索器权重和答案得分,计算出最合适的答案,从微信上返回给用户。
二、技术实现
2.1 问答检索器
2.1.1 BM25算法
问答对检索器根据输入的query,从数据库中寻找最相关的五个问答对。从定义来说,这无非是一个信息检索问题。因此采用了BM25,编辑距离算法结合同义词停用词词库来计算相似度。
BM25算法通常用来做搜索相关性评分的,通常用来计算query和文本集合∑ti=wi*R(qi,d)D中每篇文本之间的相关性。我们用Q表示query,在这里Q一般是一个句子。在这里我们要对Q进行语素解析(一般是分词),在这里以分词为例,我们对Q进行分词,得到q1,q2,……,qn这样一个词序列。给定文本d∈,现在以计算Q和d之间的分数(相关性),其表达式如下:
上面式子wi中表示qi的权重,R(qi,d)为qi和d的相关性,Score(Q,d)就是每个语素qi和d的相关性的加权和。wi的计算方法有很多,一般是用IDF来表示的,但这里的IDF计算和上面的有所不同,具体的表达式如下:
2.2 文章检索器
文章检索器根据输入的query,从数据库中寻找最相关的五篇文章。从定义来说,这无非是一个全文检索问题。全文检索就是把文本中的内容拆分成若干个关键词,然后根据关键词创建索引。查询时,根据关键词查询索引,最终找到包含关键词的文章。整个过程类似于查字典的过程。这里我们通过现有的百度中文通用领域搜索数据集,来训练一个通用百科知识模型,并用此模型从数据集中筛选与用户所提出的问题最为相关的五篇文章。这里采用DrQA模型的Retriever来进行实现。
2.2.1DrQA模型Retriever部分
DrQA 是一个开放的问答系统。该系统需要输入一段文本,一个问题,如果该问题的答案需要存在于这段文本中,那么DrQA系统就可以根据这段文本返回这个问题的答案。这里主要利用DrQA模型的Retriever部分来从多篇文章中筛选出可能包含答案的文章作为候选。 Document Retriever的具体做法如下:1)对样本单词进行清洗,包括去停词等各种过滤操作。2)统计所有的样本,并进一步对样本做同样规则的清洗得到最终的样本,然后将这些单词进行哈希搜索得到每个单词的唯一id。需要注意的是,如果哈系的特征数目设置过小,那么这过程可能会有两个不同的单词但是得到的id相同,所以該模型使用的特征数目为224,可以尽量避免这种哈希冲突。3)得到每个单词唯一的id以后,就可以根据TF-IDF公式来计算每个样本的IDF向量以及TF向量了。4)最后将IDF乘以TF即可得到TF-IDF向量。将问题的TF-IDF向量与文章的TF-IDF向量相乘并取最大的前五个的文章的索引,即可得到与问题最相关的5篇文章。
2.3 文章理解器
2.3.1基于BERT进行阅读理解
机器阅读理解是给定一段文本Paragraph和问题Question,得到答案Answer。通常假定Answer就包含在原文中,因此机器阅读理解任务的目标就是得到一个span(start, end),start表示Answer的开始字符在Paragraph中的位置,end表示Answer的结束字符在Paragraph中的位置。
如上图所示,展示了如何用BERT来做信息抽取任务的结构图。
1、将Question和Paragraph分别作为BERT的text1和text2输入。
2、start/end span在Paragraph对应的输出位置表示。
3、通常输出会通过2个dense网络,接到start输出和end输出序列。
将上述start输出和end输出序列接一个sigmod层,然后用binary_crossentropy函数即可进行训练。
2.4选择器
问答对检索器和文章理解器给出的答案都会有具体的分数,选择器即根据二者所得分数选择出一个更为可靠的答案返回给患者。
三、实验结果展示
前期的问答对检索器和文章理解器从10万多条医疗问答数据以及医疗文章中选择出关键词符合的,送入到问答模型。最终返回的问答对由问答模型做选择。经过对该问答模型的调优和大量训练,得出了以下训练结果:
可以看出,经过多次数据投喂后,该系统的训练集损失不断下降,验证集准确率不断上升,最终在验证集上达到了百分之九十以上的准确率。
为了方便患者随时随地使用,将其以微信小程序的形式呈现出来,成果如图5所示:
可以看到,AI护士机器人对于患者的提问给出了合理,科学的回答,而且根据不同的提问方式,还会根据患者的提问给出患者切实所需的答案。
四、结束语
本文研究了护士AI问答系统的相关知识技术,算法技术主要体现在文章检索器,文章理解器,问答对检索器,选择器四个部分,在各部分实现的基础上,进一步将其整合起来,实现了高效,准确的护士AI问答系统。该系统为患者提供可靠,及时的医疗知识服务,同时也为医疗服务行业与机器学习的发展结合提供了思路与参考。
参 考 文 献
[1]陈乐乐,黄松,孙金磊,惠战伟,吴开舜.基于BM25算法的问题报告质量检测方法[J].清华大学学报(自然科学版),2020,60(10):829-836.
[2]田迎,单娅辉,王时绘.基于知识图谱的抑郁症自动问答系统研究[J].湖北大学学报(自然科学版). 2020(5):587-591+596.
[3]吴炎,王儒敬.基于BERT的语义匹配算法在问答系统中的应用[J].仪表技术. 2020(6):19-22+30.
[4]刘奕洋,余正涛,高盛祥,等.基于机器阅读理解的中文命名实体识别方法[J].模式识别与人工智能.2020(7):653-659.
[5]顾迎捷,桂小林,李德福,等.基于神经网络的机器阅读理解综述[J].软件学报.2020(7):2095-2126.
【关键词】 机器学习 智能问答系统 BM25算法 护士AI
Abstract:Less for the nurse resources, the present situation of the medical service level needs to improve, to make patients get timely, accurate response, so as to alleviate the pressure of the nurses, this paper studies the nurse AI question answering system based on machine reading comprehension model knowledge technology, shows the system key technology and core algorithm, based on the answers of these technology to achieve the more accurate medical intelligent question answering system.The system can return more accurate answers according to patients’ questions, so as to timely and reliably solve patients’ medical problems.
Keywords: Machine learning; Intelligent question answering system; BM25 algorithm; The nurse
醫疗领域是信息化发展的重要方向,而医疗信息化则是医疗卫生事业能否在信息时代更好地服务于患者、服务于社会的重要支撑据统计我国每千人口护士数仅为2.36人。世界上大多数国家的护士占总人口的比重约为5%,而我国只有1%左右。以此推算,我国目前尚缺数百万名护士,护理人力资源配置严重不足。从数据中看,护士的工作压力是极大的,这当中又有相当一部分时间花在与患者交流上。
基于以上原因,设计一个护士AI问答系统,从而帮助护士解答患者在医疗设备上的问题,缓解护士的工作压力,让患者得到及时准确的回复,提高医院的服务水平显得尤为重要。
一、设计思路
1.1 模型设计
研究的目的是实现一个智能AI问答模型,该模型系统流程如下所述:
1)用户提问:患者通过微信小程序平台向系统提出了一个关于设备使用的问题。
2)文章检索器:问题作为query输入文章检索器中。文章检索器先根据query从已完成分词的数据集的文档中,选出最相关的5篇。
3)文档理解器:将query和5篇文档同时输入文档理解器,理解器会根据query通过训练好深度神经网络从文章中找到合适的答案,并给出对应得分。
4)问答对检索器:query输入文章检索器时,也会同时输入到问答对检索器中,问答对检索器会根据query,从我们提前设置好的问答对中,找到最相关的5个答案,同时也计算出对应得分。
5)选择器:将两种检索器的答案和得分一起输入选择器中,选择器会根据每个的检索器权重和答案得分,计算出最合适的答案,从微信上返回给用户。
二、技术实现
2.1 问答检索器
2.1.1 BM25算法
问答对检索器根据输入的query,从数据库中寻找最相关的五个问答对。从定义来说,这无非是一个信息检索问题。因此采用了BM25,编辑距离算法结合同义词停用词词库来计算相似度。
BM25算法通常用来做搜索相关性评分的,通常用来计算query和文本集合∑ti=wi*R(qi,d)D中每篇文本之间的相关性。我们用Q表示query,在这里Q一般是一个句子。在这里我们要对Q进行语素解析(一般是分词),在这里以分词为例,我们对Q进行分词,得到q1,q2,……,qn这样一个词序列。给定文本d∈,现在以计算Q和d之间的分数(相关性),其表达式如下:
上面式子wi中表示qi的权重,R(qi,d)为qi和d的相关性,Score(Q,d)就是每个语素qi和d的相关性的加权和。wi的计算方法有很多,一般是用IDF来表示的,但这里的IDF计算和上面的有所不同,具体的表达式如下:
2.2 文章检索器
文章检索器根据输入的query,从数据库中寻找最相关的五篇文章。从定义来说,这无非是一个全文检索问题。全文检索就是把文本中的内容拆分成若干个关键词,然后根据关键词创建索引。查询时,根据关键词查询索引,最终找到包含关键词的文章。整个过程类似于查字典的过程。这里我们通过现有的百度中文通用领域搜索数据集,来训练一个通用百科知识模型,并用此模型从数据集中筛选与用户所提出的问题最为相关的五篇文章。这里采用DrQA模型的Retriever来进行实现。
2.2.1DrQA模型Retriever部分
DrQA 是一个开放的问答系统。该系统需要输入一段文本,一个问题,如果该问题的答案需要存在于这段文本中,那么DrQA系统就可以根据这段文本返回这个问题的答案。这里主要利用DrQA模型的Retriever部分来从多篇文章中筛选出可能包含答案的文章作为候选。 Document Retriever的具体做法如下:1)对样本单词进行清洗,包括去停词等各种过滤操作。2)统计所有的样本,并进一步对样本做同样规则的清洗得到最终的样本,然后将这些单词进行哈希搜索得到每个单词的唯一id。需要注意的是,如果哈系的特征数目设置过小,那么这过程可能会有两个不同的单词但是得到的id相同,所以該模型使用的特征数目为224,可以尽量避免这种哈希冲突。3)得到每个单词唯一的id以后,就可以根据TF-IDF公式来计算每个样本的IDF向量以及TF向量了。4)最后将IDF乘以TF即可得到TF-IDF向量。将问题的TF-IDF向量与文章的TF-IDF向量相乘并取最大的前五个的文章的索引,即可得到与问题最相关的5篇文章。
2.3 文章理解器
2.3.1基于BERT进行阅读理解
机器阅读理解是给定一段文本Paragraph和问题Question,得到答案Answer。通常假定Answer就包含在原文中,因此机器阅读理解任务的目标就是得到一个span(start, end),start表示Answer的开始字符在Paragraph中的位置,end表示Answer的结束字符在Paragraph中的位置。
如上图所示,展示了如何用BERT来做信息抽取任务的结构图。
1、将Question和Paragraph分别作为BERT的text1和text2输入。
2、start/end span在Paragraph对应的输出位置表示。
3、通常输出会通过2个dense网络,接到start输出和end输出序列。
将上述start输出和end输出序列接一个sigmod层,然后用binary_crossentropy函数即可进行训练。
2.4选择器
问答对检索器和文章理解器给出的答案都会有具体的分数,选择器即根据二者所得分数选择出一个更为可靠的答案返回给患者。
三、实验结果展示
前期的问答对检索器和文章理解器从10万多条医疗问答数据以及医疗文章中选择出关键词符合的,送入到问答模型。最终返回的问答对由问答模型做选择。经过对该问答模型的调优和大量训练,得出了以下训练结果:
可以看出,经过多次数据投喂后,该系统的训练集损失不断下降,验证集准确率不断上升,最终在验证集上达到了百分之九十以上的准确率。
为了方便患者随时随地使用,将其以微信小程序的形式呈现出来,成果如图5所示:
可以看到,AI护士机器人对于患者的提问给出了合理,科学的回答,而且根据不同的提问方式,还会根据患者的提问给出患者切实所需的答案。
四、结束语
本文研究了护士AI问答系统的相关知识技术,算法技术主要体现在文章检索器,文章理解器,问答对检索器,选择器四个部分,在各部分实现的基础上,进一步将其整合起来,实现了高效,准确的护士AI问答系统。该系统为患者提供可靠,及时的医疗知识服务,同时也为医疗服务行业与机器学习的发展结合提供了思路与参考。
参 考 文 献
[1]陈乐乐,黄松,孙金磊,惠战伟,吴开舜.基于BM25算法的问题报告质量检测方法[J].清华大学学报(自然科学版),2020,60(10):829-836.
[2]田迎,单娅辉,王时绘.基于知识图谱的抑郁症自动问答系统研究[J].湖北大学学报(自然科学版). 2020(5):587-591+596.
[3]吴炎,王儒敬.基于BERT的语义匹配算法在问答系统中的应用[J].仪表技术. 2020(6):19-22+30.
[4]刘奕洋,余正涛,高盛祥,等.基于机器阅读理解的中文命名实体识别方法[J].模式识别与人工智能.2020(7):653-659.
[5]顾迎捷,桂小林,李德福,等.基于神经网络的机器阅读理解综述[J].软件学报.2020(7):2095-2126.