陳明華 李文宇 韓明奎 王穎馨 陳 偉
(濰坊市疾病預防控制中心,山東 濰坊 261061)
當前,某市全市疫苗接種兒童數(shù)量139萬,全市接種門診共有195個,預防接種門診工作人員960余人,工作人員的數(shù)量嚴重不足,且預防接種門診的工作量巨大,日常預防接種的工作任務繁重,另外每天都有大量的預防接種咨詢問題,工作人員很難及時接聽和回復,有時甚至會引起投訴。
該文以微信公眾平臺為基礎,快速研發(fā)了預防接種問答系統(tǒng),該系統(tǒng)可以實現(xiàn)24 h自動回復預防接種咨詢問題的功能[1-2]。該系統(tǒng)由1名專業(yè)人員進行開發(fā),其開發(fā)周期為27個工作日,完成了問題整理、問題邏輯形式整理和映射構建語法樹3項主要工作。問答系統(tǒng)開發(fā)完成后,進行了為期1周的上線測試,系統(tǒng)測試期間平均每天減少了大約680個咨詢電話。系統(tǒng)能夠減少預防接種咨詢電話的數(shù)量以及預防接種接種人員工作量,并且系統(tǒng)開發(fā)快速簡單,不需要過多的專業(yè)人員參與其中,系統(tǒng)模式也是可以復制的,可以在該系統(tǒng)的基礎上快速開發(fā)針對傳染病、艾滋病等疾病的問答系統(tǒng),可以在在其他疾控機構推廣該系統(tǒng),甚至可以在其他部門或是企業(yè)對該系統(tǒng)進行推廣,從而達到提高預防接種工作效率的目的。
該系統(tǒng)的問題主要有以下4個來源:1) 免疫規(guī)劃科日常預防接種咨詢問題匯總。2) 某市部分預防接種門診日常群眾咨詢問題匯總。3) 百度、360搜索部分防接種問題匯總。4) 某省疾控中心預防接種問題庫。
正常情況下,該系統(tǒng)的開發(fā)工作主要包括語義解析、信息抽取和向量建模3個部分。由于微信公眾平臺自帶關鍵字回復功能,且該系統(tǒng)的預防接種咨詢問題都有標準統(tǒng)一的答案,因此在開發(fā)基于微信公眾平臺的預防接種問答系統(tǒng)的過程中,不需要通過向量抽取和向量建模來完成問題匹配和尋找最佳答案的工作。綜上所述,語義解析是該系統(tǒng)的關鍵。語義解析例子,如圖1所示。該系統(tǒng)用經(jīng)典的baseline方法進行語義解析,語義解析是將預防接種咨詢問題轉化為能夠讓問答庫識別的問題表達形式,即邏輯形式,而該系統(tǒng)使用Lambda Dependency-Based Compositional Semantics ( Lambda-DCS)邏輯語言對問答庫進行訪問,并以此為基礎對系統(tǒng)進行開發(fā)。
問答系統(tǒng)(Question Answering System,QA)是人工智能和自然語言處理領域中倍受關注且具有廣闊發(fā)展前景的研究內(nèi)容[3]。該問答系統(tǒng)以微信公眾平臺為基礎,使用大數(shù)據(jù)、人工智能以及互聯(lián)網(wǎng)+等技術手段[4],實現(xiàn)了24 h自動回復咨詢預防接種問題的功能??傮w流程包括以下4個步驟:1) 群眾提出問題。2) 問答系統(tǒng)進行語義解析。3) 判斷是否建立詞匯映射。4) 映射匹配成功自動回復,否則轉人工電話。為了進一步完善系統(tǒng),研究人員考慮在問答系統(tǒng)上線后,定期整理問答系統(tǒng)的問答記錄和人工電話的咨詢記錄,并將這些咨詢問題補充到問題庫中,從而讓系統(tǒng)更加完善,如圖2所示。
微信公眾平臺自帶關鍵字回復功能,且預防接種問題都有標準、統(tǒng)一的答案,不需要通過向量抽取和向量建模來完成問題匹配和尋找最佳答案的工作,因此該系統(tǒng)運行的關鍵步驟是要對預防接種咨詢問題進行解析,并把解析后的問題與問題庫進行匹配。同時橫向擴充該系統(tǒng)問答庫中的類似答案,即對類似問題答案進行關聯(lián),將其作為對當前答案的有效補充,從而解決對預防接種咨詢問題回復不準確的問題,因此對類似問題答案進行橫向關聯(lián),可以使咨詢?nèi)藛T盡快得到有效的答案。
圖2 問答系統(tǒng)使用流程
2.2.1 整理問題庫
將問題進行整理分類,從而提高預防接種咨詢?nèi)藛T的咨詢效率,該系統(tǒng)的主要分類依據(jù)包括是否為新生兒、是否為一類苗、嬰兒大小和預防接種門位置等。
2.2.2 預防接種咨詢問題的邏輯形式
邏輯形式就是將用戶咨詢的問題(自然語言)轉化為系統(tǒng)可以識別的形式。該系統(tǒng)使用經(jīng)典的邏輯語言λ-依存組合語義(Lambda Dependency-Based Compositional Semantics) 對問答庫進行訪問,將系統(tǒng)的答案庫看作是數(shù)據(jù)庫,那么邏輯形式(Logic Form)就是查詢語句要表達的意思。具體實現(xiàn)過程如下。
z是表示邏輯形式,κ是表示知識庫,e是表示實體,p是表示實體關系。一元形式(unary)和二元形式(binary)是2種不同的邏輯形式。通過查詢一元實體e對應的實體,可以查到與二元實體關系p相關的三元組中的實體對[4]。同時,還可以可以進行連接Join,求交集Intersection和聚合Aggregate。
這樣就可以把用戶咨詢的問題(自然語言)解析為可以在問答庫中查詢的邏輯形式,例如問題 “孩子要打幾針乙肝?”對應的邏輯形式是:Count( 人類.孩子∩注射.疫苗.乙肝)。
2.2.3 語義解析,搭建基礎問題庫
可以將語義解析的過程看作是自下而上構造語法樹的過程。解析過程分為詞匯映射和構建語法樹2個步驟。詞匯映射就是構造語法樹的底層節(jié)點,即將單個短語或者單詞映射到問答庫關系所對應的邏輯形式。構建語法樹就是自下而上地對樹的節(jié)點進行兩兩合并和匯總,最后完成語法樹的構建工作,語法樹的根節(jié)點是用戶咨詢問題的最終邏輯表達形式。執(zhí)行連接Join、求交Intersection和聚合Aggregate是該系統(tǒng)對2個節(jié)點的3種不同的操作方式。這種合并方式的復雜度是呈指數(shù)級增長的,因此最終會生成很多棵語法樹,且需要對語法樹進行篩選。
通過比較用戶咨詢問題集合F(r[t1,t2])和問答庫集合F(r2)與類似Jaccard距離的特征來確定是否建立詞匯映射,如圖3所示。
圖3 統(tǒng)計問答庫建立映射
r1是三元組中咨詢預防接種問題(自然語言)的短語,統(tǒng)計r1兩邊的實體對(entity1,entity2),對r1兩邊的實體類型進行查詢,就可以得到主語實體的類型t1和賓語實體的類型t2可以將其表示為r[t1,t2],對三元組兩邊的實體進行統(tǒng)計,得到實體對集合F(r[t1,t2])[4]。對知識庫進行統(tǒng)計,得到實體對集合F(r2)[4]。
2.2.4 微信公眾平臺錄入數(shù)據(jù)
由于用戶咨詢預防接種相關問題都有準確的答案,且微信公眾平臺自帶關鍵字回復功能,因此不需要通過向量抽取和向量建模去完成尋找最佳答案的工作,這樣將大大減少開發(fā)的難度和工作量,因此在開發(fā)該系統(tǒng)的過程中,只需要根據(jù)邏輯形式(關鍵字)錄入數(shù)據(jù)就可以完成相關工作了。
2.2.5 收集整理反饋問題,對問答系統(tǒng)進行完善
正常情況下問答系統(tǒng)上線后,就會進入系統(tǒng)維護階段。一般情況下,系統(tǒng)維護分為更正性維護、適應性維護、完善性維護和預防性維護。4種維護比例的統(tǒng)計結果如下:糾錯性維護為21%,適應性維護為25%,完善性維護為50%,預防性維護為4%。因為要在問答系統(tǒng)上線后定期整理問答和人工電話咨詢記錄,記錄這些咨詢問題并將其補充到問題庫中,從而使問答系統(tǒng)更加完善。所以維護階段主要對問答系統(tǒng)進行適應性維護和完善性維護。
2.3.1 研發(fā)問答系統(tǒng)成本分析
因為該問答系統(tǒng)是基于微信公眾平臺進行建設的,不需要進行關鍵字匹配功能的開發(fā),且預防接種問題有標準、統(tǒng)一的答案,所以開發(fā)該系統(tǒng)的工作主要包括問題整理、問題邏輯形式整理和映射構建語法樹。該系統(tǒng)的開發(fā)成本包括人力成本和時間成本,即需要1名信息化人員花費27 d完成基本工作,開發(fā)時間分配見表1。
表1 問答系統(tǒng)開發(fā)時間
2.3.2 應用效果
2020年1月26日~2月2日進行了問答系統(tǒng)的上線測試,在測試期間通過微信公眾號使用過問答系統(tǒng)的人數(shù)累計4803人次,疾控機構和預防接種門診平均每天的咨詢電話減少了大約680個,問答系統(tǒng)主要問題提問比例,如圖4所示。
圖4 問答系統(tǒng)主要問題提問比例
對用戶咨詢的問題進行統(tǒng)計分析,其中24題(“孩子更換住址,應到何處接種門診接種?”)、第25題(“滿月孩子如何辦理兒童接種檔案”)以及第26題(“HPV疫苗接種條件,如何預約?”的咨詢數(shù)量比較多,提問比例大約為10%,測試表明,問答系統(tǒng)能夠自動回復這些常見問題。
問答系統(tǒng)測試期間,平均每天每個接種門診少接聽了3個電話,考慮到鄉(xiāng)村及偏遠地區(qū)使用微信的情況,問答系統(tǒng)實際效果略好于預期效果。問答系統(tǒng)能夠自動回復群眾提出的部分問題,在一定程度上減輕了預防接種人員的工作壓力。
當前智能手機已經(jīng)成為提供獲取信息服務的主流載體[5]。微信具有功能豐富、接口方便使用的優(yōu)點,以微信公眾平臺為基礎的智慧預防接種問答系統(tǒng)[6]的開發(fā)和維護工作也比較簡單。
對系統(tǒng)收到的問題進行統(tǒng)計可以發(fā)現(xiàn),用戶的問題包括以下3點:1) 孩子出生、滿月到接種門診的銜接過程。2) 預防接種門診變更的銜接。3) 緊俏疫苗的接種問題。
該系統(tǒng)還存在以下2個問題:1) 開發(fā)周期短,系統(tǒng)的相關功能不完善。2) 測試時間短,測試效果不是特別準確[7]。
該文通過系統(tǒng)開發(fā)和上線測試得出以下3個結論:1) 問答系統(tǒng)可以作為預防接種工作尋求突破的嘗試。當前預防接種工作的開展已經(jīng)達到較好的水平,需要結合信息化來尋求更進一步的發(fā)展。2) 問答系統(tǒng)需要進一步完善,才能更好地服務于預防接種工作。根據(jù)問答系統(tǒng)的后臺數(shù)據(jù),群眾一般會提2個~3個問題才能完成問題的咨詢。問答系統(tǒng)存在繼續(xù)優(yōu)化的空間,在條件允許的情況下,適當增加開發(fā)周期和測試時間,可以提高系統(tǒng)的效率和性能,減少群眾提問的次數(shù)。3) 需要推廣問答系統(tǒng)。不僅疫苗預防接種工作需要尋求突破,疾控的其他業(yè)務工作也需要進一步發(fā)展,以問答系統(tǒng)為起點,借助于信息化手段,探索互聯(lián)網(wǎng)+其他模式,為疾控工作尋求新的發(fā)展。