程路易,王志軍
(東華大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,上海 201620)
隨著信息化建設(shè)的持續(xù)推進(jìn),電子病歷在醫(yī)院中得到了廣泛的應(yīng)用。由于電子病歷包括多個(gè)業(yè)務(wù)領(lǐng)域臨床信息,如病歷概要、門(急)診診療記錄、住院診療記錄等,因此涉及到大量信息錄入場(chǎng)景。目前主要是由醫(yī)生通過鍵盤手工輸入信息,但在部分場(chǎng)景下存在不便用鍵盤錄入數(shù)據(jù)的情況。例如:在病理檢查場(chǎng)景下,醫(yī)生手持器械檢查時(shí)雙手被占用,無法再使用鍵盤進(jìn)行錄入;在住院診療場(chǎng)景下,醫(yī)生需要與患者近距離交流,沒有時(shí)間和空間使用鍵盤進(jìn)行記錄等。
為此,本文提出使用語音交互的方式來進(jìn)行電子病歷錄入。已有的工作是將任務(wù)分為2步。第一步是語音識(shí)別,將語音轉(zhuǎn)換為文字;第二步是信息抽取,將文本進(jìn)行結(jié)構(gòu)化,獲得包含樣本、屬性、屬性值的三元組。然而,這類方法存在一些具有挑戰(zhàn)性的問題:
(1)錄入文本過長(zhǎng)。不同于普通的語音查詢場(chǎng)景,如詢問天氣,餐廳搜索等,電子病歷文本相對(duì)較長(zhǎng)。傳統(tǒng)的基于鍵盤的輸入方式影響并不大,但切換到基于語音的輸入方式將成為一個(gè)挑戰(zhàn)。
(2)錯(cuò)誤級(jí)聯(lián)。當(dāng)前的語音識(shí)別和信息抽取方法的效果都還不夠好,使用pipeline的方法會(huì)產(chǎn)生錯(cuò)誤級(jí)聯(lián)問題,導(dǎo)致最終錄入效果不佳。
(3)可擴(kuò)展性差。由于當(dāng)前的方法需要先對(duì)屬性進(jìn)行充分訓(xùn)練后才可以用于屬性抽取,難以適用新屬性的抽取。
針對(duì)上述挑戰(zhàn),本文設(shè)計(jì)了一個(gè)基于任務(wù)型對(duì)話系統(tǒng)的電子病歷結(jié)構(gòu)化錄入系統(tǒng)。提出了基于任務(wù)型對(duì)話系統(tǒng)的語音交互方式,能夠讓用戶進(jìn)行分段式語音錄入;在當(dāng)前語音識(shí)別和分段式語音錄入的基礎(chǔ)上,增加了語音糾錯(cuò)階段,通過基于語音對(duì)話的方式,對(duì)結(jié)構(gòu)化抽取錯(cuò)誤的結(jié)果進(jìn)行糾正;提出了一種基于可擴(kuò)展對(duì)話狀態(tài)追蹤的模型,僅需要屬性的一段描述信息,即可進(jìn)行信息抽取。本文在病理檢查記錄錄入、住院診療記錄錄入兩個(gè)場(chǎng)景中進(jìn)行了實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果證明了系統(tǒng)的有效性和可擴(kuò)展性。
系統(tǒng)由語音識(shí)別、語音合成以及對(duì)話系統(tǒng)三部分組成,總體架構(gòu)如圖1所示。首先在系統(tǒng)前端錄制用戶語音,使用語音識(shí)別模塊將語音轉(zhuǎn)換為文本;將文本輸入后端的任務(wù)型對(duì)話系統(tǒng),系統(tǒng)將從文本中抽取出屬性值并產(chǎn)生系統(tǒng)語段,一起發(fā)送至前端;再使用語音合成模塊將系統(tǒng)語段轉(zhuǎn)換成語音,并將抽取出的屬性值在前端進(jìn)行展示,同時(shí)等待用戶下一輪的輸入。以上流程確保了系統(tǒng)前后端之間傳輸?shù)臄?shù)據(jù)都是文本,減少了前后端間傳輸?shù)臄?shù)據(jù)量。
圖1 系統(tǒng)總體架構(gòu)Fig.1 Overall architecture of the system
對(duì)話系統(tǒng)模塊包含2個(gè)階段:錄入階段、糾錯(cuò)階段。其中,錄入階段的任務(wù)是讓用戶通過多輪對(duì)話的方式,完成電子病歷結(jié)構(gòu)化錄入。輸入是當(dāng)前用戶語段、對(duì)話歷史、屬性描述等內(nèi)容;輸出是屬性(槽)、屬性值對(duì)以及系統(tǒng)語段。當(dāng)用戶告知系統(tǒng)“錄入完畢”時(shí),系統(tǒng)自動(dòng)進(jìn)入糾錯(cuò)階段。糾錯(cuò)階段的任務(wù)是直接使用語音指令,修改錄入有誤的屬性值。當(dāng)用戶表示沒有需要修改的屬性后,整個(gè)流程結(jié)束。
錄入階段架構(gòu)如圖2所示。圖2中,錄入階段主要由3個(gè)模塊組成,包括:對(duì)話狀態(tài)追蹤、對(duì)話策略以及自然語言生成。其中,對(duì)話狀態(tài)追蹤模塊的輸入包括當(dāng)前用戶語段、對(duì)話歷史語段以及屬性的描述,輸出是對(duì)話狀態(tài),具體包括一組槽、值對(duì)。此模塊包含2個(gè)子模塊:可分類槽模塊與不可分類槽模塊,分別用于預(yù)測(cè)有預(yù)設(shè)候選值、沒有預(yù)設(shè)候選值的屬性的值,最終合并成對(duì)話狀態(tài)。對(duì)話策略模塊基于規(guī)則,輸入是對(duì)話狀態(tài),輸出是系統(tǒng)動(dòng)作。自然語言生成模塊同樣基于規(guī)則實(shí)現(xiàn),輸入對(duì)話動(dòng)作,輸出系統(tǒng)回復(fù)。系統(tǒng)不斷重復(fù)整個(gè)過程,直到用戶表示錄入完畢,進(jìn)入糾錯(cuò)階段。
圖2 錄入階段架構(gòu)Fig.2 Architecture of the data entry stage
糾錯(cuò)階段架構(gòu)如圖3所示。圖3中,糾錯(cuò)階段主要由自然語言理解、對(duì)話策略以及自然語言生成模塊組成。其中,自然語言理解模塊的輸入是當(dāng)前用戶語段,輸出是從語段中抽取出的一個(gè)槽的名稱及其值;糾錯(cuò)階段剩余2個(gè)模塊功能與錄入階段中的相應(yīng)模塊類似,當(dāng)用戶表示沒有需要修改的內(nèi)容后,整個(gè)流程結(jié)束。
圖3 糾錯(cuò)階段架構(gòu)Fig.3 Architecture of the modification stage
系統(tǒng)后端使用Python語言開發(fā)。其中,深度學(xué)習(xí)部 分主要 使用基 于Pytorch的Huggingface Transformers框架,使用bert-base-chinese預(yù)訓(xùn)練語言模型;Web服務(wù)器部分使用Flask框架實(shí)現(xiàn)。前端使用JavaScript語言開發(fā),界面部分主要使用了基于React的Ant Design組件庫(kù)。
2.1.1 數(shù)據(jù)集的構(gòu)建
對(duì)于錄入階段,需要解決原始數(shù)據(jù)集中的文本與實(shí)際場(chǎng)景不匹配的問題。原始數(shù)據(jù)集中,每條數(shù)據(jù)是一段約100~300字的文本,而實(shí)際系統(tǒng)需要用戶使用多輪對(duì)話的方式進(jìn)行交互。因此,需對(duì)原始數(shù)據(jù)集的文本進(jìn)行如下處理:
首先,將一整段文本依據(jù)逗號(hào)、句號(hào)、分號(hào)等標(biāo)點(diǎn)符號(hào)進(jìn)行切分,形成多個(gè)短句,再對(duì)這些短句進(jìn)行合并,形成用戶語段,確保每個(gè)語段中包含1~3個(gè)短句。接下來,需要在每個(gè)用戶語段之后生成系統(tǒng)語段。本文使用了構(gòu)建模板的方式,構(gòu)建了一些簡(jiǎn)單的回復(fù),如“收到,請(qǐng)繼續(xù)說”、“好的,請(qǐng)說下一句”等。在整個(gè)對(duì)話結(jié)束時(shí),則插入表示結(jié)束錄入的語段,如“錄入完畢”。最后,使用直至當(dāng)前用戶輪的所有對(duì)話歷史作為模型語段部分的輸入。
數(shù)學(xué)課程標(biāo)準(zhǔn)(2011年版)指出:“學(xué)生掌握數(shù)學(xué)知識(shí),不能依靠死記硬背,而應(yīng)以理解為基礎(chǔ),并在知識(shí)的運(yùn)用中不斷鞏固和深化?!边@就是說,數(shù)學(xué)基礎(chǔ)知識(shí)的教學(xué)應(yīng)該注重讓學(xué)生理解教學(xué)中的實(shí)例。比如:為了了解某種電動(dòng)車一次充電后行駛的里程數(shù),對(duì)其進(jìn)行抽檢,結(jié)果統(tǒng)計(jì)如下表所示,在一次充電后行駛的里程數(shù),則這組數(shù)據(jù)中眾數(shù)和中位數(shù)分別是_____?
在糾錯(cuò)階段,本文構(gòu)建了一個(gè)符合使用自然語言修改屬性值場(chǎng)景的數(shù)據(jù)集。方法如下:
首先,對(duì)2個(gè)數(shù)據(jù)集中的每個(gè)屬性,獲取可能值的集合。然后定義一組模板,預(yù)設(shè)一些用戶需要修改屬性值時(shí)可能說的話,如“把KEY的值修改為VALUE”等。最后,將屬性及其所有可能的值填入模板中相應(yīng)位置生成樣本,并使用BIO形式進(jìn)行標(biāo)注,見表1。
表1 糾錯(cuò)階段的標(biāo)注形式Tab.1 Annotation method of modification stage
2.1.2 錄入階段對(duì)話狀態(tài)追蹤
為了使系統(tǒng)具有一定的可擴(kuò)展性,本模塊將可分類、不可分類槽的預(yù)測(cè),分解為可分類槽填充與不可分類槽填充兩個(gè)子任務(wù),并建模為機(jī)器閱讀理解問題。錄入階段對(duì)話狀態(tài)追蹤模塊架構(gòu)如圖4所示。把對(duì)話歷史、當(dāng)前用戶語段作為閱讀理解中的篇章,并在各屬性標(biāo)注規(guī)范的基礎(chǔ)上總結(jié)出描述,作為閱讀理解中的問題。對(duì)于可分類槽填充模塊,需要完成多選閱讀理解任務(wù),將描述與屬性的候選值進(jìn)行拼接,使每個(gè)候選值都成為一個(gè)候選項(xiàng),模型將從中選出一個(gè)選項(xiàng)作為槽的值,具體標(biāo)注形式,見表2。對(duì)于不可分類槽填充模塊,需要完成抽取式閱讀理解任務(wù),直接將描述作為問題,模型將預(yù)測(cè)出屬性值在語段中的起始位置與結(jié)束位置,具體標(biāo)注形式見表3。
圖4 錄入階段對(duì)話狀態(tài)追蹤模塊架構(gòu)Fig.4 Architecture of the dialogue state tracking module
表2 可分類槽的標(biāo)注形式Tab.2 Annotation method of categorical slots
表3 不可分類槽的標(biāo)注形式Tab.3 Annotation method of non-categorical slots
模塊輸入包括3部分:屬性描述、對(duì)話歷史、當(dāng)前用戶語段。其中,當(dāng)前用戶語段由用戶從前端以json格式發(fā)送至后端,屬性描述可使用配置文件的形式,存儲(chǔ)在后端。對(duì)話歷史信息存儲(chǔ)在后端,在自然語言生成模塊輸出系統(tǒng)語段之后,系統(tǒng)將當(dāng)前用戶語段與當(dāng)前系統(tǒng)語段存入對(duì)話歷史中。
預(yù)測(cè)結(jié)果將直接寫入對(duì)話狀態(tài)中,覆蓋原有的值。系統(tǒng)中的對(duì)話狀態(tài)同樣使用json格式存儲(chǔ),具體結(jié)構(gòu)為:{“槽1的名稱”:“值”,“槽2的名稱”:“值”……,“結(jié)束錄入”:“值”},以便于發(fā)送至前端進(jìn)行展示。對(duì)所有槽都完成預(yù)測(cè)后,將對(duì)話狀態(tài)傳入對(duì)話策略模塊的同時(shí),將其發(fā)送至前端,使得用戶能夠在說完每個(gè)語段后,看到系統(tǒng)的反饋。此外,當(dāng)用戶需要錄入一條全新的病歷時(shí),對(duì)話狀態(tài)追蹤模塊會(huì)清空對(duì)話狀態(tài)以及對(duì)話歷史。
2.1.3 糾錯(cuò)階段自然語言理解
模塊所使用的模型結(jié)構(gòu)與文獻(xiàn)[7]中提出的單句標(biāo)注任務(wù)模型基本相同。模型將按照2.1.1節(jié)所標(biāo)注的標(biāo)簽,為每個(gè)字符進(jìn)行分類。將Outside()標(biāo)簽之外所有標(biāo)簽的Begin()與Inside()部分所對(duì)應(yīng)的單詞進(jìn)行合并,產(chǎn)生實(shí)體。經(jīng)合并后,共有、、三種標(biāo)簽形式。以表1為例,標(biāo)簽為的實(shí)體為“腺癌形狀”,標(biāo)簽為的實(shí)體為“隆起型”。本模塊將找到標(biāo)簽為的實(shí)體與所有槽的名稱進(jìn)行匹配。由于實(shí)際用戶輸入是通過語音識(shí)別產(chǎn)生的,很可能無法完全匹配。因此,使用計(jì)算編輯距離的方式,計(jì)算標(biāo)簽為的實(shí)體與槽的名稱相似度,并選取分?jǐn)?shù)最高的作為需要修改的屬性。如:語音識(shí)別結(jié)果為“癌形狀”,該結(jié)果與“腺癌形狀”的相似度為1-1/(3+4)=0.86,而與“標(biāo)本大小”的相似度為1-(3+4)/(3+4)=0。因此,需要修改的屬性為“腺癌形狀”。同時(shí),設(shè)置一個(gè)閾值,若相似度最高的屬性分?jǐn)?shù)小于閾值,則不修改任何內(nèi)容。此外,模塊同樣使用計(jì)算編輯距離的方式將輸入語段與表示結(jié)束糾錯(cuò)的一組語段進(jìn)行匹配,若相似度大于閾值,則認(rèn)為用戶糾錯(cuò)完畢。模塊的輸出依然使用json格式,若存在需要修改的值,輸出的用戶動(dòng)作為{需要修改的屬性名:值}。如果用戶表示結(jié)束糾錯(cuò),則輸出為{結(jié)束修改:是}。
2.1.4 對(duì)話策略與自然語言生成
系統(tǒng)對(duì)話策略模塊的主要作用,是根據(jù)錄入階段對(duì)話追蹤輸出的對(duì)話狀態(tài),或是糾錯(cuò)階段自然語言理解模塊輸出的槽、值對(duì),產(chǎn)生對(duì)應(yīng)的系統(tǒng)動(dòng)作,控制自然語言生成模塊的輸出。自然語言生成模塊的作用是將系統(tǒng)動(dòng)作轉(zhuǎn)化為自然語言。
需要產(chǎn)生的系統(tǒng)動(dòng)作主要用于系統(tǒng)處理完當(dāng)前的用戶輸入后,給用戶一個(gè)反饋,引導(dǎo)用戶進(jìn)行下一輪對(duì)話。因此,采用基于規(guī)則的對(duì)話策略模塊,具體規(guī)則如下:
(1)錄入階段。如果輸入的對(duì)話狀態(tài)中,“結(jié)束錄入”槽的值為“否”,則輸出系統(tǒng)動(dòng)作{動(dòng)作:CONFIRM};否 則,輸 出 系 統(tǒng) 動(dòng) 作{動(dòng) 作:REQUEST}。同 時(shí),向 前 端 發(fā) 送json,內(nèi) 容 為{inputend:True},使得前端進(jìn)入糾錯(cuò)階段。
(2)糾錯(cuò)階段。若輸入的用戶動(dòng)作中包含{需要修改的屬性名:值},則以json的形式向前端發(fā)送此內(nèi)容,同時(shí)輸出系統(tǒng)動(dòng)作{動(dòng)作:REQUEST}。直到輸入中包含{結(jié)束修改:是}時(shí),模塊會(huì)向前端發(fā)送json,內(nèi)容為{modend:True}。通知前端整個(gè)錄入流程已完全結(jié)束,模塊不再輸出任何系統(tǒng)動(dòng)作,結(jié)束后端的流程。
系統(tǒng)采用基于模板的自然語言生成模塊,當(dāng)輸入的系統(tǒng)動(dòng)作為CONFIRM時(shí),系統(tǒng)準(zhǔn)備了多種表示確認(rèn)的短句,如:“收到,請(qǐng)繼續(xù)說”、“好的,請(qǐng)說下一句”等。當(dāng)輸入動(dòng)作為REQUEST時(shí),系統(tǒng)同樣預(yù)置了多種詢問用戶是否需要繼續(xù)進(jìn)行修改的語句。本模塊在收到系統(tǒng)動(dòng)作后,會(huì)從對(duì)應(yīng)的模板中隨機(jī)選擇一個(gè)語句進(jìn)行回復(fù),使得系統(tǒng)產(chǎn)生的回復(fù)從用戶的角度看,具有一定的多樣性。同時(shí),有效地避免了模塊可能產(chǎn)生不確定、不安全回復(fù)的可能。
為了節(jié)省前后端之間數(shù)據(jù)傳輸所需帶寬,系統(tǒng)完全在前端實(shí)現(xiàn)與用戶的語音交互。由于系統(tǒng)整體采用B/S架構(gòu),需要在瀏覽器中完成錄音與播放、調(diào)用第三方語音識(shí)別、語音合成API。系統(tǒng)采用發(fā)送事件的方式,完成這些任務(wù)之間的同步。各任務(wù)具體實(shí)現(xiàn)細(xì)節(jié)如下:
(1)錄音任務(wù)需要完成的內(nèi)容主要包括:獲取錄音權(quán)限、開始錄音、停止錄音。系統(tǒng)直接調(diào)用瀏覽器內(nèi)置的WebAudio接口,完成麥克風(fēng)權(quán)限的獲取以及音頻錄制。經(jīng)過調(diào)研發(fā)現(xiàn),不同類型的麥克風(fēng)所需的冷啟動(dòng)時(shí)長(zhǎng)有所不同。冷啟動(dòng)時(shí)長(zhǎng)是指從系統(tǒng)初次獲取到錄音權(quán)限起,直至錄音設(shè)備能夠錄制用戶的語音為止。如果在取得錄音權(quán)限后立即開始錄制音頻,會(huì)造成錄音開頭部分的音頻丟失。因此,在用戶授權(quán)使用麥克風(fēng)后,系統(tǒng)播放一段音頻,引導(dǎo)用戶開始語音錄入。在開始播放引導(dǎo)音頻的同時(shí)讓麥克風(fēng)開始錄音,在音頻播放結(jié)束的前一刻停止錄音,使麥克風(fēng)獲得足夠的冷啟動(dòng)時(shí)間,能夠完整錄制用戶的聲音。在用戶說完當(dāng)前語段后,系統(tǒng)將自動(dòng)停止錄音。盡管一些第三方的語音識(shí)別API本身提供此功能,但效果并不理想,無法及時(shí)停止錄音,導(dǎo)致上傳的音頻存在大段空白,不利于語音識(shí)別。本系統(tǒng)利用WebAudio API,以一定的時(shí)間間隔檢測(cè)當(dāng)前錄音的音量,當(dāng)出現(xiàn)連續(xù)三個(gè)時(shí)間點(diǎn)的音量低于一定閾值時(shí)停止錄音。為了緩解錄音中包含大段空白或是錄音提前終止的情況,在錄入階段與糾錯(cuò)階段,設(shè)置了不同的時(shí)間間隔,一定程度上改善了用戶體驗(yàn)。
(2)錄制的音頻流將被發(fā)送至第三方語音識(shí)別API進(jìn)行語音識(shí)別。本系統(tǒng)使用訊飛語音識(shí)別API,由于該API使用Websocket協(xié)議通信,被瀏覽器允許直接進(jìn)行“跨域”請(qǐng)求,系統(tǒng)將直接音頻發(fā)送至訊飛服務(wù)器,減少了前后端間數(shù)據(jù)的傳輸。在收到了后端對(duì)話系統(tǒng)返回的文本后,發(fā)送至訊飛文字轉(zhuǎn)語音API進(jìn)行語音合成。其中,主要調(diào)節(jié)的參數(shù)是播報(bào)的語速,讓用戶感到系統(tǒng)能夠及時(shí)對(duì)每個(gè)輸入做出響應(yīng)。系統(tǒng)最后將合成的音頻流使用WebAudio API進(jìn)行播放。
本文實(shí)驗(yàn)環(huán)境設(shè)置見表4。
表4 實(shí)驗(yàn)環(huán)境Tab.4 Experimental setting
本次實(shí)驗(yàn)獲取到2個(gè)不同錄入場(chǎng)景下的數(shù)據(jù)集。對(duì)此擬做闡釋分述如下。
場(chǎng)景的數(shù)據(jù)來源于上海市某大型三甲醫(yī)院的腸癌病理檢查數(shù)據(jù),包含原始診斷文本以及12個(gè)屬性。其中,淋巴結(jié)轉(zhuǎn)移情況、基底切端、上切端、下切端、神經(jīng)侵犯、脈管侵犯為有預(yù)設(shè)候選值:是、否、無的屬性;標(biāo)本名稱、腫瘤大小、浸潤(rùn)深度、病理等級(jí)、分化程度、腺癌形狀為無預(yù)設(shè)候選值。訓(xùn)練集、測(cè)試集中包含的數(shù)據(jù)量分別為1 672、634。
場(chǎng)景的數(shù)據(jù)選取2019全國(guó)知識(shí)圖譜與語義計(jì)算大會(huì)(CCKS2019)面向中文電子病歷的醫(yī)療實(shí)體識(shí)別任務(wù),以及屬性抽取任務(wù)中的部分?jǐn)?shù)據(jù)。其中包含原始文本以及疾病和診斷、影像檢查、實(shí)驗(yàn)室檢驗(yàn)、手術(shù)、藥物、解剖部位等6個(gè)無預(yù)設(shè)候選值的屬性。訓(xùn)練集、測(cè)試集中數(shù)據(jù)量分別為998、378條數(shù)據(jù)。
為了能夠模擬語音錄入、語音糾錯(cuò)的實(shí)際情況,將按2.1.1節(jié)方法中生成的對(duì)話文本,輸入到訊飛語音合成中產(chǎn)生語音,再將語音傳入訊飛語音識(shí)別模塊,最終生成語音識(shí)別后的文本。針對(duì)用于語音修改的文本,本文窮舉了所有屬性的所有值,配合一些預(yù)定的模板,生成了用于語音修改的語段,再經(jīng)過語音合成與語音識(shí)別,得到最終的糾錯(cuò)指令。
由于數(shù)據(jù)集中的每條文本記錄包含多個(gè)屬性,本文分屬性統(tǒng)計(jì)屬性值預(yù)測(cè)正確記錄的條數(shù),并將其與總記錄條數(shù)的比值作為該屬性的準(zhǔn)確率。
實(shí)驗(yàn)結(jié)果見表5、表6。
表5 場(chǎng)景ATab.5 Results of scenario A
表6 場(chǎng)景BTab.6 Results of scenario B
從錄入階段的結(jié)果可以觀察到,場(chǎng)景、中部分屬性準(zhǔn)確率較低,如病理等級(jí)、解剖部位等,導(dǎo)致錄入效果不佳。其中,有預(yù)設(shè)候選值的屬性準(zhǔn)確率都在90%以上,而無預(yù)設(shè)候選值的準(zhǔn)確率都相對(duì)較低,原因是預(yù)設(shè)候選值為“是”、“否”、“無”,語音識(shí)別的正確率更高。其次,從糾錯(cuò)階段的結(jié)果能夠看到,糾錯(cuò)階段大幅提升了屬性的準(zhǔn)確率,場(chǎng)景中所有屬性的準(zhǔn)確率均超過90%。實(shí)驗(yàn)證明,本系統(tǒng)使用同一模型,能夠在2個(gè)場(chǎng)景中完成錄入任務(wù),說明系統(tǒng)具有一定的可擴(kuò)展性。
本文設(shè)計(jì)了基于任務(wù)型對(duì)話系統(tǒng)的電子病歷結(jié)構(gòu)化錄入系統(tǒng),能夠讓用戶以人機(jī)對(duì)話的形式完成結(jié)構(gòu)化錄入。并且增加了糾錯(cuò)階段,讓用戶能夠通過語音,修改錄入有誤的屬性值,還通過實(shí)驗(yàn)驗(yàn)證了糾錯(cuò)階段的有效性。同時(shí),該系統(tǒng)能夠使用一個(gè)模型完成2個(gè)不同場(chǎng)景的錄入任務(wù),表明系統(tǒng)具有一定的可擴(kuò)展性。