陳明華 李文宇 韓明奎 王穎馨 陳 偉
(濰坊市疾病預(yù)防控制中心,山東 濰坊 261061)
當(dāng)前,某市全市疫苗接種兒童數(shù)量139萬(wàn),全市接種門診共有195個(gè),預(yù)防接種門診工作人員960余人,工作人員的數(shù)量嚴(yán)重不足,且預(yù)防接種門診的工作量巨大,日常預(yù)防接種的工作任務(wù)繁重,另外每天都有大量的預(yù)防接種咨詢問(wèn)題,工作人員很難及時(shí)接聽(tīng)和回復(fù),有時(shí)甚至?xí)鹜对V。
該文以微信公眾平臺(tái)為基礎(chǔ),快速研發(fā)了預(yù)防接種問(wèn)答系統(tǒng),該系統(tǒng)可以實(shí)現(xiàn)24 h自動(dòng)回復(fù)預(yù)防接種咨詢問(wèn)題的功能[1-2]。該系統(tǒng)由1名專業(yè)人員進(jìn)行開(kāi)發(fā),其開(kāi)發(fā)周期為27個(gè)工作日,完成了問(wèn)題整理、問(wèn)題邏輯形式整理和映射構(gòu)建語(yǔ)法樹(shù)3項(xiàng)主要工作。問(wèn)答系統(tǒng)開(kāi)發(fā)完成后,進(jìn)行了為期1周的上線測(cè)試,系統(tǒng)測(cè)試期間平均每天減少了大約680個(gè)咨詢電話。系統(tǒng)能夠減少預(yù)防接種咨詢電話的數(shù)量以及預(yù)防接種接種人員工作量,并且系統(tǒng)開(kāi)發(fā)快速簡(jiǎn)單,不需要過(guò)多的專業(yè)人員參與其中,系統(tǒng)模式也是可以復(fù)制的,可以在該系統(tǒng)的基礎(chǔ)上快速開(kāi)發(fā)針對(duì)傳染病、艾滋病等疾病的問(wèn)答系統(tǒng),可以在在其他疾控機(jī)構(gòu)推廣該系統(tǒng),甚至可以在其他部門或是企業(yè)對(duì)該系統(tǒng)進(jìn)行推廣,從而達(dá)到提高預(yù)防接種工作效率的目的。
該系統(tǒng)的問(wèn)題主要有以下4個(gè)來(lái)源:1) 免疫規(guī)劃科日常預(yù)防接種咨詢問(wèn)題匯總。2) 某市部分預(yù)防接種門診日常群眾咨詢問(wèn)題匯總。3) 百度、360搜索部分防接種問(wèn)題匯總。4) 某省疾控中心預(yù)防接種問(wèn)題庫(kù)。
正常情況下,該系統(tǒng)的開(kāi)發(fā)工作主要包括語(yǔ)義解析、信息抽取和向量建模3個(gè)部分。由于微信公眾平臺(tái)自帶關(guān)鍵字回復(fù)功能,且該系統(tǒng)的預(yù)防接種咨詢問(wèn)題都有標(biāo)準(zhǔn)統(tǒng)一的答案,因此在開(kāi)發(fā)基于微信公眾平臺(tái)的預(yù)防接種問(wèn)答系統(tǒng)的過(guò)程中,不需要通過(guò)向量抽取和向量建模來(lái)完成問(wèn)題匹配和尋找最佳答案的工作。綜上所述,語(yǔ)義解析是該系統(tǒng)的關(guān)鍵。語(yǔ)義解析例子,如圖1所示。該系統(tǒng)用經(jīng)典的baseline方法進(jìn)行語(yǔ)義解析,語(yǔ)義解析是將預(yù)防接種咨詢問(wèn)題轉(zhuǎn)化為能夠讓問(wèn)答庫(kù)識(shí)別的問(wèn)題表達(dá)形式,即邏輯形式,而該系統(tǒng)使用Lambda Dependency-Based Compositional Semantics ( Lambda-DCS)邏輯語(yǔ)言對(duì)問(wèn)答庫(kù)進(jìn)行訪問(wèn),并以此為基礎(chǔ)對(duì)系統(tǒng)進(jìn)行開(kāi)發(fā)。
問(wèn)答系統(tǒng)(Question Answering System,QA)是人工智能和自然語(yǔ)言處理領(lǐng)域中倍受關(guān)注且具有廣闊發(fā)展前景的研究?jī)?nèi)容[3]。該問(wèn)答系統(tǒng)以微信公眾平臺(tái)為基礎(chǔ),使用大數(shù)據(jù)、人工智能以及互聯(lián)網(wǎng)+等技術(shù)手段[4],實(shí)現(xiàn)了24 h自動(dòng)回復(fù)咨詢預(yù)防接種問(wèn)題的功能。總體流程包括以下4個(gè)步驟:1) 群眾提出問(wèn)題。2) 問(wèn)答系統(tǒng)進(jìn)行語(yǔ)義解析。3) 判斷是否建立詞匯映射。4) 映射匹配成功自動(dòng)回復(fù),否則轉(zhuǎn)人工電話。為了進(jìn)一步完善系統(tǒng),研究人員考慮在問(wèn)答系統(tǒng)上線后,定期整理問(wèn)答系統(tǒng)的問(wèn)答記錄和人工電話的咨詢記錄,并將這些咨詢問(wèn)題補(bǔ)充到問(wèn)題庫(kù)中,從而讓系統(tǒng)更加完善,如圖2所示。
微信公眾平臺(tái)自帶關(guān)鍵字回復(fù)功能,且預(yù)防接種問(wèn)題都有標(biāo)準(zhǔn)、統(tǒng)一的答案,不需要通過(guò)向量抽取和向量建模來(lái)完成問(wèn)題匹配和尋找最佳答案的工作,因此該系統(tǒng)運(yùn)行的關(guān)鍵步驟是要對(duì)預(yù)防接種咨詢問(wèn)題進(jìn)行解析,并把解析后的問(wèn)題與問(wèn)題庫(kù)進(jìn)行匹配。同時(shí)橫向擴(kuò)充該系統(tǒng)問(wèn)答庫(kù)中的類似答案,即對(duì)類似問(wèn)題答案進(jìn)行關(guān)聯(lián),將其作為對(duì)當(dāng)前答案的有效補(bǔ)充,從而解決對(duì)預(yù)防接種咨詢問(wèn)題回復(fù)不準(zhǔn)確的問(wèn)題,因此對(duì)類似問(wèn)題答案進(jìn)行橫向關(guān)聯(lián),可以使咨詢?nèi)藛T盡快得到有效的答案。

圖2 問(wèn)答系統(tǒng)使用流程
2.2.1 整理問(wèn)題庫(kù)
將問(wèn)題進(jìn)行整理分類,從而提高預(yù)防接種咨詢?nèi)藛T的咨詢效率,該系統(tǒng)的主要分類依據(jù)包括是否為新生兒、是否為一類苗、嬰兒大小和預(yù)防接種門位置等。
2.2.2 預(yù)防接種咨詢問(wèn)題的邏輯形式
邏輯形式就是將用戶咨詢的問(wèn)題(自然語(yǔ)言)轉(zhuǎn)化為系統(tǒng)可以識(shí)別的形式。該系統(tǒng)使用經(jīng)典的邏輯語(yǔ)言λ-依存組合語(yǔ)義(Lambda Dependency-Based Compositional Semantics) 對(duì)問(wèn)答庫(kù)進(jìn)行訪問(wèn),將系統(tǒng)的答案庫(kù)看作是數(shù)據(jù)庫(kù),那么邏輯形式(Logic Form)就是查詢語(yǔ)句要表達(dá)的意思。具體實(shí)現(xiàn)過(guò)程如下。

z是表示邏輯形式,κ是表示知識(shí)庫(kù),e是表示實(shí)體,p是表示實(shí)體關(guān)系。一元形式(unary)和二元形式(binary)是2種不同的邏輯形式。通過(guò)查詢一元實(shí)體e對(duì)應(yīng)的實(shí)體,可以查到與二元實(shí)體關(guān)系p相關(guān)的三元組中的實(shí)體對(duì)[4]。同時(shí),還可以可以進(jìn)行連接Join,求交集Intersection和聚合Aggregate。
這樣就可以把用戶咨詢的問(wèn)題(自然語(yǔ)言)解析為可以在問(wèn)答庫(kù)中查詢的邏輯形式,例如問(wèn)題 “孩子要打幾針乙肝?”對(duì)應(yīng)的邏輯形式是:Count( 人類.孩子∩注射.疫苗.乙肝)。
2.2.3 語(yǔ)義解析,搭建基礎(chǔ)問(wèn)題庫(kù)
可以將語(yǔ)義解析的過(guò)程看作是自下而上構(gòu)造語(yǔ)法樹(shù)的過(guò)程。解析過(guò)程分為詞匯映射和構(gòu)建語(yǔ)法樹(shù)2個(gè)步驟。詞匯映射就是構(gòu)造語(yǔ)法樹(shù)的底層節(jié)點(diǎn),即將單個(gè)短語(yǔ)或者單詞映射到問(wèn)答庫(kù)關(guān)系所對(duì)應(yīng)的邏輯形式。構(gòu)建語(yǔ)法樹(shù)就是自下而上地對(duì)樹(shù)的節(jié)點(diǎn)進(jìn)行兩兩合并和匯總,最后完成語(yǔ)法樹(shù)的構(gòu)建工作,語(yǔ)法樹(shù)的根節(jié)點(diǎn)是用戶咨詢問(wèn)題的最終邏輯表達(dá)形式。執(zhí)行連接Join、求交Intersection和聚合Aggregate是該系統(tǒng)對(duì)2個(gè)節(jié)點(diǎn)的3種不同的操作方式。這種合并方式的復(fù)雜度是呈指數(shù)級(jí)增長(zhǎng)的,因此最終會(huì)生成很多棵語(yǔ)法樹(shù),且需要對(duì)語(yǔ)法樹(shù)進(jìn)行篩選。
通過(guò)比較用戶咨詢問(wèn)題集合F(r[t1,t2])和問(wèn)答庫(kù)集合F(r2)與類似Jaccard距離的特征來(lái)確定是否建立詞匯映射,如圖3所示。

圖3 統(tǒng)計(jì)問(wèn)答庫(kù)建立映射
r1是三元組中咨詢預(yù)防接種問(wèn)題(自然語(yǔ)言)的短語(yǔ),統(tǒng)計(jì)r1兩邊的實(shí)體對(duì)(entity1,entity2),對(duì)r1兩邊的實(shí)體類型進(jìn)行查詢,就可以得到主語(yǔ)實(shí)體的類型t1和賓語(yǔ)實(shí)體的類型t2可以將其表示為r[t1,t2],對(duì)三元組兩邊的實(shí)體進(jìn)行統(tǒng)計(jì),得到實(shí)體對(duì)集合F(r[t1,t2])[4]。對(duì)知識(shí)庫(kù)進(jìn)行統(tǒng)計(jì),得到實(shí)體對(duì)集合F(r2)[4]。
2.2.4 微信公眾平臺(tái)錄入數(shù)據(jù)
由于用戶咨詢預(yù)防接種相關(guān)問(wèn)題都有準(zhǔn)確的答案,且微信公眾平臺(tái)自帶關(guān)鍵字回復(fù)功能,因此不需要通過(guò)向量抽取和向量建模去完成尋找最佳答案的工作,這樣將大大減少開(kāi)發(fā)的難度和工作量,因此在開(kāi)發(fā)該系統(tǒng)的過(guò)程中,只需要根據(jù)邏輯形式(關(guān)鍵字)錄入數(shù)據(jù)就可以完成相關(guān)工作了。
2.2.5 收集整理反饋問(wèn)題,對(duì)問(wèn)答系統(tǒng)進(jìn)行完善
正常情況下問(wèn)答系統(tǒng)上線后,就會(huì)進(jìn)入系統(tǒng)維護(hù)階段。一般情況下,系統(tǒng)維護(hù)分為更正性維護(hù)、適應(yīng)性維護(hù)、完善性維護(hù)和預(yù)防性維護(hù)。4種維護(hù)比例的統(tǒng)計(jì)結(jié)果如下:糾錯(cuò)性維護(hù)為21%,適應(yīng)性維護(hù)為25%,完善性維護(hù)為50%,預(yù)防性維護(hù)為4%。因?yàn)橐趩?wèn)答系統(tǒng)上線后定期整理問(wèn)答和人工電話咨詢記錄,記錄這些咨詢問(wèn)題并將其補(bǔ)充到問(wèn)題庫(kù)中,從而使問(wèn)答系統(tǒng)更加完善。所以維護(hù)階段主要對(duì)問(wèn)答系統(tǒng)進(jìn)行適應(yīng)性維護(hù)和完善性維護(hù)。
2.3.1 研發(fā)問(wèn)答系統(tǒng)成本分析
因?yàn)樵搯?wèn)答系統(tǒng)是基于微信公眾平臺(tái)進(jìn)行建設(shè)的,不需要進(jìn)行關(guān)鍵字匹配功能的開(kāi)發(fā),且預(yù)防接種問(wèn)題有標(biāo)準(zhǔn)、統(tǒng)一的答案,所以開(kāi)發(fā)該系統(tǒng)的工作主要包括問(wèn)題整理、問(wèn)題邏輯形式整理和映射構(gòu)建語(yǔ)法樹(shù)。該系統(tǒng)的開(kāi)發(fā)成本包括人力成本和時(shí)間成本,即需要1名信息化人員花費(fèi)27 d完成基本工作,開(kāi)發(fā)時(shí)間分配見(jiàn)表1。

表1 問(wèn)答系統(tǒng)開(kāi)發(fā)時(shí)間
2.3.2 應(yīng)用效果
2020年1月26日~2月2日進(jìn)行了問(wèn)答系統(tǒng)的上線測(cè)試,在測(cè)試期間通過(guò)微信公眾號(hào)使用過(guò)問(wèn)答系統(tǒng)的人數(shù)累計(jì)4803人次,疾控機(jī)構(gòu)和預(yù)防接種門診平均每天的咨詢電話減少了大約680個(gè),問(wèn)答系統(tǒng)主要問(wèn)題提問(wèn)比例,如圖4所示。

圖4 問(wèn)答系統(tǒng)主要問(wèn)題提問(wèn)比例
對(duì)用戶咨詢的問(wèn)題進(jìn)行統(tǒng)計(jì)分析,其中24題(“孩子更換住址,應(yīng)到何處接種門診接種?”)、第25題(“滿月孩子如何辦理兒童接種檔案”)以及第26題(“HPV疫苗接種條件,如何預(yù)約?”的咨詢數(shù)量比較多,提問(wèn)比例大約為10%,測(cè)試表明,問(wèn)答系統(tǒng)能夠自動(dòng)回復(fù)這些常見(jiàn)問(wèn)題。
問(wèn)答系統(tǒng)測(cè)試期間,平均每天每個(gè)接種門診少接聽(tīng)了3個(gè)電話,考慮到鄉(xiāng)村及偏遠(yuǎn)地區(qū)使用微信的情況,問(wèn)答系統(tǒng)實(shí)際效果略好于預(yù)期效果。問(wèn)答系統(tǒng)能夠自動(dòng)回復(fù)群眾提出的部分問(wèn)題,在一定程度上減輕了預(yù)防接種人員的工作壓力。
當(dāng)前智能手機(jī)已經(jīng)成為提供獲取信息服務(wù)的主流載體[5]。微信具有功能豐富、接口方便使用的優(yōu)點(diǎn),以微信公眾平臺(tái)為基礎(chǔ)的智慧預(yù)防接種問(wèn)答系統(tǒng)[6]的開(kāi)發(fā)和維護(hù)工作也比較簡(jiǎn)單。
對(duì)系統(tǒng)收到的問(wèn)題進(jìn)行統(tǒng)計(jì)可以發(fā)現(xiàn),用戶的問(wèn)題包括以下3點(diǎn):1) 孩子出生、滿月到接種門診的銜接過(guò)程。2) 預(yù)防接種門診變更的銜接。3) 緊俏疫苗的接種問(wèn)題。
該系統(tǒng)還存在以下2個(gè)問(wèn)題:1) 開(kāi)發(fā)周期短,系統(tǒng)的相關(guān)功能不完善。2) 測(cè)試時(shí)間短,測(cè)試效果不是特別準(zhǔn)確[7]。
該文通過(guò)系統(tǒng)開(kāi)發(fā)和上線測(cè)試得出以下3個(gè)結(jié)論:1) 問(wèn)答系統(tǒng)可以作為預(yù)防接種工作尋求突破的嘗試。當(dāng)前預(yù)防接種工作的開(kāi)展已經(jīng)達(dá)到較好的水平,需要結(jié)合信息化來(lái)尋求更進(jìn)一步的發(fā)展。2) 問(wèn)答系統(tǒng)需要進(jìn)一步完善,才能更好地服務(wù)于預(yù)防接種工作。根據(jù)問(wèn)答系統(tǒng)的后臺(tái)數(shù)據(jù),群眾一般會(huì)提2個(gè)~3個(gè)問(wèn)題才能完成問(wèn)題的咨詢。問(wèn)答系統(tǒng)存在繼續(xù)優(yōu)化的空間,在條件允許的情況下,適當(dāng)增加開(kāi)發(fā)周期和測(cè)試時(shí)間,可以提高系統(tǒng)的效率和性能,減少群眾提問(wèn)的次數(shù)。3) 需要推廣問(wèn)答系統(tǒng)。不僅疫苗預(yù)防接種工作需要尋求突破,疾控的其他業(yè)務(wù)工作也需要進(jìn)一步發(fā)展,以問(wèn)答系統(tǒng)為起點(diǎn),借助于信息化手段,探索互聯(lián)網(wǎng)+其他模式,為疾控工作尋求新的發(fā)展。