李 慧,寧康林,馮志斌
(火箭軍工程大學基礎部,陜西 西安 710025)
根據中國《全國醫療衛生服務體系規劃綱要(2015—2020 年)》發布信息,醫療衛生資源總量不足、質量不高等問題日益突出[1]。這些問題驅動著醫療行業不斷向著智慧醫療的方向發展。然而當前現有的智慧醫療應用方向主要集中在技術性的問題上,而忽略了醫患溝通問題。現實生活中,受制于醫生的溝通能力和患者的理解能力,醫患沖突頻發[2],因此使用文本風格轉換的技術來輔助醫患溝通問題,成為了一種極具吸引力的方案。文本風格轉換任務于2012 年提出,最初以“文本釋義”的形式出現。文本風格轉換是指在保留原句內容的基礎上,重新生成包含特定風格屬性的文本。XU 等[3]將該任務視為單語的機器翻譯,提出監督學習的“現代-莎士比亞”文本風格轉換是一種特殊的自然語言生成技術。然而在現實生活中,內容相同但風格不同的句子往往是很難得到的,因此當前文本風格轉換的工作主要集中于實現無監督的文本風格轉換[4]。當前的無監督文本風格轉換主要有3 種實現途徑:隱式風格分離[5]、顯式風格分離[6]、不分離風格[7]。然而這幾類方法均存在性能不穩定的問題,特別是對復雜信息的處理。因此,本文采用一種基于WANG 等[8]無監督文本風格轉換模型CTAT 的改進模型Balance-CTAT。并以該模型為基礎,配合華為Atlas 200深度學習開發板、麥克風定位陣列、兩自由度云臺等硬件設備,設計了一種新型的醫療咨詢輔助平臺。
基于文本風格轉換模型的醫療輔助咨詢平臺系統的總體功能設計架構如圖1 所示。硬件系統主要由4個部分組成,分別是音頻定位收集模塊、主控處理模塊、云臺控制模塊、人機交互模塊。主控模塊由華為Atlas 200 深度學習計算卡構成,音頻定位收集模塊由一個六麥克風定位陣列和拾音麥克風電路構成,云臺控制模塊則是由STM32F103 和一個360°舵機組成,而人機交互模塊則為一塊可觸控的LCD 顯示器。
音頻定位收集模塊負責不間斷處理接收到的聲音信號,實時判斷出哪個方向有人在請求交流,發送定位信息和交流語音信息給主控模塊;主控模塊為本系統的決策與控制中心,由華為Atlas 200 深度學習計算卡完成,負責對語音信號濾波、識別和實現文本風格轉換算法,并輸出信息給人機交互模塊。在華為Atlas 200 計算卡上部署的以深度學習模型為基礎構建端到端文本風格轉化子系統,該子系統收集來自音頻收集模塊的音頻信息和聲源定位信息,隨后通過對音頻信息進行文本風格轉換,得到更加便于醫生和患者理解的文本信息,并將這些信息顯示在人機交互模塊上。而同時主控模塊接收到的聲源方位信息計算出語音發出者相對于本系統的物理位置。隨后Atlas 200 根據相對位置計算出云臺的轉角信息,并將其通過串口傳遞給對云臺進行控制的STM32F103,隨后由STM32F103控制板控制云臺將人機交互模塊轉向聲源所方向。
華為Atlas 200 是一款高性能的AⅠ應用開發板,主要集成了昇騰310 AⅠ處理器,8 位整數算力22TOPS,16 位浮點算力11TFLOPS,附帶一塊8 GB 的LPDDR4X的內存,并配備1 個GE RJ45 以太網接口、1 個USB2.0接口、1 個USB3.0 接口、2 路攝像頭51 pin 接口和40 pin Ⅰ/O 接口,電源電源適配5~28 V,功耗20 W。其算力豐富,能滿足大量AⅠ算法的部署場景需求。Atlas 200 電路板及硬件框圖如圖2 所示。
音頻定位收集模塊需要提供喚醒人聲源的軸向角度信息以及錄制的降噪音頻信息,現主流可以實現聲源定位的音頻模塊主要有3 類[9],分別是三維麥克風陣列、二維麥克風陣列以及雙耳的音頻收集模塊。本文的音頻處理電路框圖如圖3 所示。設計多路基于運放電路的聲音收集處理電路,麥克風獲取聲音信號后,首先通過低噪聲放大器,已達到幾乎無損的放大,然后通過AGC 自動增益控制模塊,使得幅值達到比較均勻的放大。而后由信號采集模塊進行AD 采集,并使用卷積算法進行預處理,廣義互相關計算相關性,計算得到時延,最后處理后得出定位信息。音頻定位處理電路較為復雜,尤其是左側每一路聲音收集處理電路的可變增益放大器和自動增益控制AGC 電路設計和調試較為復雜。根據本系統特點,僅需要聲源的軸向角且從經濟可靠的方面考慮,本文采用二維麥克風陣列XFM10621 模塊。該模塊使用了遠場識別和降噪技術,可以使拾音距離達到5 m,可以驅動6 個麥克風陣列,實現360°語音信號采集,并能通過聲源定位來確定目標說話人的方向。麥克風陣列示意圖如圖4 所示,該模塊利用麥克風陣列的空域濾波特性,在獲得喚醒人聲源角度的同時,形成定向拾音波束,并對波束以外的噪聲進行抑制,獲得降噪的清晰音頻,并且還具有回聲消除技術,可以將揚聲器的聲音屏蔽,只接收用戶的聲音,可以提高聲音識別準確度。

圖4 麥克風陣列示意圖
云臺控制系統主要由STM32F103 主控系統、電源降壓系統和舵機組成。STM32F103 主控系統主要用于接收并解算聲源定位信息,并控制舵機實施轉向。電源降壓系統主要是滿足STM32F103 主控系統以及舵機的不同電壓的供電需求,如圖5 所示。如圖5(a)所示,利用LM1084 穩壓芯片將電壓降到6.125 V 用于舵機供電,LM1084 參考電壓VREF為1.25 V。這個電壓通過電阻1 產生恒定電流,恒定電流通過電阻2。通過電阻2 產生的電壓降加到參考電壓上,從而設定所需的輸出電壓為:

式(1)中:Vout為輸出電壓;VREF為參考電壓;R1和R2分別為電阻1 和電阻2 的電阻值;IADJ為恒定電流,由于R2通常較小(最大不超過120 μA),當R1在100 Ω時,IADJR2可以忽略。
圖5(b)是利用TPS7350 芯片將電壓降到3.3 V用于給STM32F103 供電。舵機使用DSServo 公司的DS3235,堵轉扭矩為35 kg·cm,實現云臺控制轉向聲源所方向。

圖5 電源降壓系統
CTAT 模型通過自編碼器重建語句,并且利用對抗樣例生成技術,實現無監督文本風格轉換。模型由3部分組成,分別是編碼器、解碼器和風格分類器,如圖6 所示。E 和D 分別為編碼器和解碼器,C 為分類器。x為原句,z為潛在表示,x′為模型輸出語句,s為原句標簽。⊕表示向量拼接操作。分類器的預測標簽s′和目標標簽t由分類器計算得到梯度值Δ,與z計算得到風格遷移后的潛在表示z′。Lae表示自編碼器重建損失,Lc表示分類器損失。

圖6 CTAT 模型原理示意圖
Balance-CTAT 基于CTAT 模型搭建,并在算法和結構上進行改進,以提升算法性能,具體表現在對風格遷移算法進行顯著性優化和修改Transformer 解碼器各層注意力頭數進行不同層次的信息融合。Balance-CTAT 模型的結構如圖7 所示。原句x進入編碼器E,編碼器中有2 部分,分別是2 個4 頭Transformer注意力,然后將其潛在表示為z,進入解碼器D 和分類器C,在解碼器D 中將原來的2 個4 頭Transformer注意力改為單Transformer 注意力和1 個4 頭Transformer 注意力,潛在目標z和目標風格s經過分類器進行顯著化。

圖7 Balance-CTAT 模型結構
為了評價提出的Balance-CTAT 模型的有效性,在此采用以下3 個指標來評價:①風格轉換精度Acc。風格轉換精度用于衡量語句轉換到目標風格的準確性,這個數值越大,說明轉換精度越高。②內容保留度BLEU。內容保留度用于衡量模型生成語句與目標句的相似性,數值越大越好。③幾何平均值GM。幾何平均值用于衡量模型的整體性能,數值越大越好。
本文使用Acc、BLEU 和GM 對結果好壞進行評估模型,數值越大,性能越好。實現正負情感轉換和浪漫—幽默風格轉換任務的實驗采用Yelp 數據集對模型進行訓練。兩種模型測試結果對比如表1 所示。

表1 Balance-CTAT 模型和CTAT 模型測試結果對比
通過對比這3 個評估指標發現:Balance-CTAT 模型與CTAT 模型相比,內容保留度有了顯著的提高,幾何平均值綜合性能提升較大;盡管Balance-CTAT 模型為了提高了內容保留程度,以可接受的程度犧牲部分風格轉換精度,但是精度下降所占百分比極小。總體來說,Balance-CTAT 模型用犧牲小部分精度換來了內容保留度的顯著提高,幾何平均值較大提升,實驗效果良好。
基于Balance-CTAT 模型,本文設計了一款基于文本風格轉換技術的醫療咨詢輔助平臺。該平臺以華為Atlas 200 作為核心主控模塊,負責深度學習模型的部署和驅動人機交互模塊,以STM32F103 作為下位機負責控制云臺,將科大訊飛六麥克風陣列模塊作為音頻輸入模塊,并采用多線程并發的方式進行系統程序的開發。該系統可以有效提高內容保留度和流暢度,提升在不同的醫患交互場景下的綜合性能,能夠較好地輔助醫患交流,具有廣闊的應用前景。