李 慧,寧康林,馮志斌
(火箭軍工程大學(xué)基礎(chǔ)部,陜西 西安 710025)
根據(jù)中國(guó)《全國(guó)醫(yī)療衛(wèi)生服務(wù)體系規(guī)劃綱要(2015—2020 年)》發(fā)布信息,醫(yī)療衛(wèi)生資源總量不足、質(zhì)量不高等問(wèn)題日益突出[1]。這些問(wèn)題驅(qū)動(dòng)著醫(yī)療行業(yè)不斷向著智慧醫(yī)療的方向發(fā)展。然而當(dāng)前現(xiàn)有的智慧醫(yī)療應(yīng)用方向主要集中在技術(shù)性的問(wèn)題上,而忽略了醫(yī)患溝通問(wèn)題?,F(xiàn)實(shí)生活中,受制于醫(yī)生的溝通能力和患者的理解能力,醫(yī)患沖突頻發(fā)[2],因此使用文本風(fēng)格轉(zhuǎn)換的技術(shù)來(lái)輔助醫(yī)患溝通問(wèn)題,成為了一種極具吸引力的方案。文本風(fēng)格轉(zhuǎn)換任務(wù)于2012 年提出,最初以“文本釋義”的形式出現(xiàn)。文本風(fēng)格轉(zhuǎn)換是指在保留原句內(nèi)容的基礎(chǔ)上,重新生成包含特定風(fēng)格屬性的文本。XU 等[3]將該任務(wù)視為單語(yǔ)的機(jī)器翻譯,提出監(jiān)督學(xué)習(xí)的“現(xiàn)代-莎士比亞”文本風(fēng)格轉(zhuǎn)換是一種特殊的自然語(yǔ)言生成技術(shù)。然而在現(xiàn)實(shí)生活中,內(nèi)容相同但風(fēng)格不同的句子往往是很難得到的,因此當(dāng)前文本風(fēng)格轉(zhuǎn)換的工作主要集中于實(shí)現(xiàn)無(wú)監(jiān)督的文本風(fēng)格轉(zhuǎn)換[4]。當(dāng)前的無(wú)監(jiān)督文本風(fēng)格轉(zhuǎn)換主要有3 種實(shí)現(xiàn)途徑:隱式風(fēng)格分離[5]、顯式風(fēng)格分離[6]、不分離風(fēng)格[7]。然而這幾類方法均存在性能不穩(wěn)定的問(wèn)題,特別是對(duì)復(fù)雜信息的處理。因此,本文采用一種基于WANG 等[8]無(wú)監(jiān)督文本風(fēng)格轉(zhuǎn)換模型CTAT 的改進(jìn)模型Balance-CTAT。并以該模型為基礎(chǔ),配合華為Atlas 200深度學(xué)習(xí)開發(fā)板、麥克風(fēng)定位陣列、兩自由度云臺(tái)等硬件設(shè)備,設(shè)計(jì)了一種新型的醫(yī)療咨詢輔助平臺(tái)。
基于文本風(fēng)格轉(zhuǎn)換模型的醫(yī)療輔助咨詢平臺(tái)系統(tǒng)的總體功能設(shè)計(jì)架構(gòu)如圖1 所示。硬件系統(tǒng)主要由4個(gè)部分組成,分別是音頻定位收集模塊、主控處理模塊、云臺(tái)控制模塊、人機(jī)交互模塊。主控模塊由華為Atlas 200 深度學(xué)習(xí)計(jì)算卡構(gòu)成,音頻定位收集模塊由一個(gè)六麥克風(fēng)定位陣列和拾音麥克風(fēng)電路構(gòu)成,云臺(tái)控制模塊則是由STM32F103 和一個(gè)360°舵機(jī)組成,而人機(jī)交互模塊則為一塊可觸控的LCD 顯示器。
音頻定位收集模塊負(fù)責(zé)不間斷處理接收到的聲音信號(hào),實(shí)時(shí)判斷出哪個(gè)方向有人在請(qǐng)求交流,發(fā)送定位信息和交流語(yǔ)音信息給主控模塊;主控模塊為本系統(tǒng)的決策與控制中心,由華為Atlas 200 深度學(xué)習(xí)計(jì)算卡完成,負(fù)責(zé)對(duì)語(yǔ)音信號(hào)濾波、識(shí)別和實(shí)現(xiàn)文本風(fēng)格轉(zhuǎn)換算法,并輸出信息給人機(jī)交互模塊。在華為Atlas 200 計(jì)算卡上部署的以深度學(xué)習(xí)模型為基礎(chǔ)構(gòu)建端到端文本風(fēng)格轉(zhuǎn)化子系統(tǒng),該子系統(tǒng)收集來(lái)自音頻收集模塊的音頻信息和聲源定位信息,隨后通過(guò)對(duì)音頻信息進(jìn)行文本風(fēng)格轉(zhuǎn)換,得到更加便于醫(yī)生和患者理解的文本信息,并將這些信息顯示在人機(jī)交互模塊上。而同時(shí)主控模塊接收到的聲源方位信息計(jì)算出語(yǔ)音發(fā)出者相對(duì)于本系統(tǒng)的物理位置。隨后Atlas 200 根據(jù)相對(duì)位置計(jì)算出云臺(tái)的轉(zhuǎn)角信息,并將其通過(guò)串口傳遞給對(duì)云臺(tái)進(jìn)行控制的STM32F103,隨后由STM32F103控制板控制云臺(tái)將人機(jī)交互模塊轉(zhuǎn)向聲源所方向。
華為Atlas 200 是一款高性能的AⅠ應(yīng)用開發(fā)板,主要集成了昇騰310 AⅠ處理器,8 位整數(shù)算力22TOPS,16 位浮點(diǎn)算力11TFLOPS,附帶一塊8 GB 的LPDDR4X的內(nèi)存,并配備1 個(gè)GE RJ45 以太網(wǎng)接口、1 個(gè)USB2.0接口、1 個(gè)USB3.0 接口、2 路攝像頭51 pin 接口和40 pin Ⅰ/O 接口,電源電源適配5~28 V,功耗20 W。其算力豐富,能滿足大量AⅠ算法的部署場(chǎng)景需求。Atlas 200 電路板及硬件框圖如圖2 所示。
音頻定位收集模塊需要提供喚醒人聲源的軸向角度信息以及錄制的降噪音頻信息,現(xiàn)主流可以實(shí)現(xiàn)聲源定位的音頻模塊主要有3 類[9],分別是三維麥克風(fēng)陣列、二維麥克風(fēng)陣列以及雙耳的音頻收集模塊。本文的音頻處理電路框圖如圖3 所示。設(shè)計(jì)多路基于運(yùn)放電路的聲音收集處理電路,麥克風(fēng)獲取聲音信號(hào)后,首先通過(guò)低噪聲放大器,已達(dá)到幾乎無(wú)損的放大,然后通過(guò)AGC 自動(dòng)增益控制模塊,使得幅值達(dá)到比較均勻的放大。而后由信號(hào)采集模塊進(jìn)行AD 采集,并使用卷積算法進(jìn)行預(yù)處理,廣義互相關(guān)計(jì)算相關(guān)性,計(jì)算得到時(shí)延,最后處理后得出定位信息。音頻定位處理電路較為復(fù)雜,尤其是左側(cè)每一路聲音收集處理電路的可變?cè)鲆娣糯笃骱妥詣?dòng)增益控制AGC 電路設(shè)計(jì)和調(diào)試較為復(fù)雜。根據(jù)本系統(tǒng)特點(diǎn),僅需要聲源的軸向角且從經(jīng)濟(jì)可靠的方面考慮,本文采用二維麥克風(fēng)陣列XFM10621 模塊。該模塊使用了遠(yuǎn)場(chǎng)識(shí)別和降噪技術(shù),可以使拾音距離達(dá)到5 m,可以驅(qū)動(dòng)6 個(gè)麥克風(fēng)陣列,實(shí)現(xiàn)360°語(yǔ)音信號(hào)采集,并能通過(guò)聲源定位來(lái)確定目標(biāo)說(shuō)話人的方向。麥克風(fēng)陣列示意圖如圖4 所示,該模塊利用麥克風(fēng)陣列的空域?yàn)V波特性,在獲得喚醒人聲源角度的同時(shí),形成定向拾音波束,并對(duì)波束以外的噪聲進(jìn)行抑制,獲得降噪的清晰音頻,并且還具有回聲消除技術(shù),可以將揚(yáng)聲器的聲音屏蔽,只接收用戶的聲音,可以提高聲音識(shí)別準(zhǔn)確度。
圖4 麥克風(fēng)陣列示意圖
云臺(tái)控制系統(tǒng)主要由STM32F103 主控系統(tǒng)、電源降壓系統(tǒng)和舵機(jī)組成。STM32F103 主控系統(tǒng)主要用于接收并解算聲源定位信息,并控制舵機(jī)實(shí)施轉(zhuǎn)向。電源降壓系統(tǒng)主要是滿足STM32F103 主控系統(tǒng)以及舵機(jī)的不同電壓的供電需求,如圖5 所示。如圖5(a)所示,利用LM1084 穩(wěn)壓芯片將電壓降到6.125 V 用于舵機(jī)供電,LM1084 參考電壓VREF為1.25 V。這個(gè)電壓通過(guò)電阻1 產(chǎn)生恒定電流,恒定電流通過(guò)電阻2。通過(guò)電阻2 產(chǎn)生的電壓降加到參考電壓上,從而設(shè)定所需的輸出電壓為:
式(1)中:Vout為輸出電壓;VREF為參考電壓;R1和R2分別為電阻1 和電阻2 的電阻值;IADJ為恒定電流,由于R2通常較?。ㄗ畲蟛怀^(guò)120 μA),當(dāng)R1在100 Ω時(shí),IADJR2可以忽略。
圖5(b)是利用TPS7350 芯片將電壓降到3.3 V用于給STM32F103 供電。舵機(jī)使用DSServo 公司的DS3235,堵轉(zhuǎn)扭矩為35 kg·cm,實(shí)現(xiàn)云臺(tái)控制轉(zhuǎn)向聲源所方向。
圖5 電源降壓系統(tǒng)
CTAT 模型通過(guò)自編碼器重建語(yǔ)句,并且利用對(duì)抗樣例生成技術(shù),實(shí)現(xiàn)無(wú)監(jiān)督文本風(fēng)格轉(zhuǎn)換。模型由3部分組成,分別是編碼器、解碼器和風(fēng)格分類器,如圖6 所示。E 和D 分別為編碼器和解碼器,C 為分類器。x為原句,z為潛在表示,x′為模型輸出語(yǔ)句,s為原句標(biāo)簽。⊕表示向量拼接操作。分類器的預(yù)測(cè)標(biāo)簽s′和目標(biāo)標(biāo)簽t由分類器計(jì)算得到梯度值Δ,與z計(jì)算得到風(fēng)格遷移后的潛在表示z′。Lae表示自編碼器重建損失,Lc表示分類器損失。
圖6 CTAT 模型原理示意圖
Balance-CTAT 基于CTAT 模型搭建,并在算法和結(jié)構(gòu)上進(jìn)行改進(jìn),以提升算法性能,具體表現(xiàn)在對(duì)風(fēng)格遷移算法進(jìn)行顯著性優(yōu)化和修改Transformer 解碼器各層注意力頭數(shù)進(jìn)行不同層次的信息融合。Balance-CTAT 模型的結(jié)構(gòu)如圖7 所示。原句x進(jìn)入編碼器E,編碼器中有2 部分,分別是2 個(gè)4 頭Transformer注意力,然后將其潛在表示為z,進(jìn)入解碼器D 和分類器C,在解碼器D 中將原來(lái)的2 個(gè)4 頭Transformer注意力改為單Transformer 注意力和1 個(gè)4 頭Transformer 注意力,潛在目標(biāo)z和目標(biāo)風(fēng)格s經(jīng)過(guò)分類器進(jìn)行顯著化。
圖7 Balance-CTAT 模型結(jié)構(gòu)
為了評(píng)價(jià)提出的Balance-CTAT 模型的有效性,在此采用以下3 個(gè)指標(biāo)來(lái)評(píng)價(jià):①風(fēng)格轉(zhuǎn)換精度Acc。風(fēng)格轉(zhuǎn)換精度用于衡量語(yǔ)句轉(zhuǎn)換到目標(biāo)風(fēng)格的準(zhǔn)確性,這個(gè)數(shù)值越大,說(shuō)明轉(zhuǎn)換精度越高。②內(nèi)容保留度BLEU。內(nèi)容保留度用于衡量模型生成語(yǔ)句與目標(biāo)句的相似性,數(shù)值越大越好。③幾何平均值GM。幾何平均值用于衡量模型的整體性能,數(shù)值越大越好。
本文使用Acc、BLEU 和GM 對(duì)結(jié)果好壞進(jìn)行評(píng)估模型,數(shù)值越大,性能越好。實(shí)現(xiàn)正負(fù)情感轉(zhuǎn)換和浪漫—幽默風(fēng)格轉(zhuǎn)換任務(wù)的實(shí)驗(yàn)采用Yelp 數(shù)據(jù)集對(duì)模型進(jìn)行訓(xùn)練。兩種模型測(cè)試結(jié)果對(duì)比如表1 所示。
表1 Balance-CTAT 模型和CTAT 模型測(cè)試結(jié)果對(duì)比
通過(guò)對(duì)比這3 個(gè)評(píng)估指標(biāo)發(fā)現(xiàn):Balance-CTAT 模型與CTAT 模型相比,內(nèi)容保留度有了顯著的提高,幾何平均值綜合性能提升較大;盡管Balance-CTAT 模型為了提高了內(nèi)容保留程度,以可接受的程度犧牲部分風(fēng)格轉(zhuǎn)換精度,但是精度下降所占百分比極小。總體來(lái)說(shuō),Balance-CTAT 模型用犧牲小部分精度換來(lái)了內(nèi)容保留度的顯著提高,幾何平均值較大提升,實(shí)驗(yàn)效果良好。
基于Balance-CTAT 模型,本文設(shè)計(jì)了一款基于文本風(fēng)格轉(zhuǎn)換技術(shù)的醫(yī)療咨詢輔助平臺(tái)。該平臺(tái)以華為Atlas 200 作為核心主控模塊,負(fù)責(zé)深度學(xué)習(xí)模型的部署和驅(qū)動(dòng)人機(jī)交互模塊,以STM32F103 作為下位機(jī)負(fù)責(zé)控制云臺(tái),將科大訊飛六麥克風(fēng)陣列模塊作為音頻輸入模塊,并采用多線程并發(fā)的方式進(jìn)行系統(tǒng)程序的開發(fā)。該系統(tǒng)可以有效提高內(nèi)容保留度和流暢度,提升在不同的醫(yī)患交互場(chǎng)景下的綜合性能,能夠較好地輔助醫(yī)患交流,具有廣闊的應(yīng)用前景。