李瑛瑋 翟潔 袁學 范勇琪 楊博涵 龍海朱
【摘要】? ? 針對護士資源少,醫療服務水平有待提高的現狀,為讓患者得到及時,準確的回復,從而緩解護士壓力,本文研究了基于機器閱讀理解模型的護士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.