呂焯宸,李孝忠
(天津科技大學人工智能學院,天津300457)
隨著網(wǎng)絡的發(fā)展,在線的醫(yī)療服務已經(jīng)日趨豐富,尤其是近十年來,人們開始以網(wǎng)絡平臺為媒介,在網(wǎng)上查詢醫(yī)療信息,尋求醫(yī)療咨詢,甚至憑借其獲取的殘缺信息進行自我診斷。專家的建議和外行對它的理解之間往往存在著一定的差異[1]。以醫(yī)療咨詢?yōu)槔?,患者使用的搜索詞可能過于模糊,以至于找不到對應的醫(yī)療資源[2]。
為了消除醫(yī)療專家(expert)與外行(layman)間的溝通障礙,Cao 等[3]基于文本風格遷移,定義了一個全新的子任務,即醫(yī)療專家-外行風格遷移。這一任務旨在通過文本風格遷移的相關技術,在專業(yè)語言與外行語言之間進行文本風格遷移,在保留語句內(nèi)容的基礎上,將醫(yī)療專家的專業(yè)文本轉(zhuǎn)化為外行也能夠快速理解的通俗化語言文本,或?qū)⑼庑袑τ卺t(yī)療咨詢、病情癥狀相關的描述性語言文本轉(zhuǎn)化為醫(yī)學專業(yè)語言。Cao 等[3]還貢獻了一個人工注釋的非并行數(shù)據(jù)集——MSD 數(shù)據(jù)集,這個數(shù)據(jù)集是目前醫(yī)學專家-外行風格遷移領域唯一可用的公開數(shù)據(jù)集。Irbaz 等[4]和李慧等[5]對文本風格遷移模型進行改進,使用不同的無監(jiān)督方法和不同的數(shù)據(jù)進行研究,并取得了一定的成果。Xu 等[6]使用基于邊緣的數(shù)據(jù)挖掘[7]對MSD數(shù)據(jù)集進行并行化拓展,從 MSD 數(shù)據(jù)集中提取 了11 500 個并行句子對,將其用于預訓練之后的 微調(diào)。
作為文本風格遷移的一個新的方向,目前僅有一個非并行的數(shù)據(jù)集MSD。由于專家風格和外行風格在句子結(jié)構(gòu)上存在較大的差異,傳統(tǒng)的基于詞對齊的方法效果并不好,如最小編輯距離、TF-IDF(term frequency-inverse document frequency)等。本文針對醫(yī)療專家-外行風格遷移任務缺乏并行數(shù)據(jù)集的問題,提出一種基于回譯和大規(guī)模分層對齊[8](large-scale hierarchical alignment,LHA)的并行句子增強方法。
回譯通常被用于機器翻譯。由于機器翻譯依賴大量雙語的并行語料,而實際可用的并行語料有限,但是單語語料十分充足,因此可以對單語語料使用回譯生成并行數(shù)據(jù)集,然后將并行數(shù)據(jù)集添加到原有的數(shù)據(jù)集中。使用回譯進行數(shù)據(jù)擴充,可以有效提高機器翻譯的效果[9]。使用回譯進行數(shù)據(jù)增強,依賴于將文本數(shù)據(jù)翻譯成另一種語言,然后再將其翻譯回原始語言。這種技術可以生成與原始文本不同的文本數(shù)據(jù),同時保留原始的上下文和含義。
1.2.1 機器翻譯中的句子對齊
句子對齊是一種文本到文本的重寫方法,是一種從原始語料中提取句子對的方法。目前關于句子對齊的大部分工作研究,主要集中在機器翻譯的任務中,被用于從不同語言的大型并行語料庫中提取合適的句子對。這種添加偽并行句子對的方法可以提高機器翻譯模型的性能[10]。句子對齊方法主要用于從雙語句子中提取偽并行句子對,對于單語語料庫的句子對齊方法的研究非常少。Barzilay 等[11]提出了一種針對單語語料庫的層次對齊方法,即先將相似主題的段落聚類,然后再進行句子對齊。Marie 等[12]使用預訓練的單詞嵌入和句子嵌入提取兩種語言的粗略翻譯句子對,隨后再使用通過并行翻譯數(shù)據(jù)訓練的分類器過濾掉低質(zhì)量的翻譯句子對。
1.2.2 LHA 方法
LHA 方法將句子對齊方法用于文本風格遷移任務[8,11-12]。該方法使用一種基于層次結(jié)構(gòu)的對齊算法,先進行短語對齊,再進行句子對齊。從不同語言風格的單語語料中提取語義相似的偽并行句子對。
LHA 方法是一種使用文檔對齊和句子對齊的分層對齊方法。它先在文檔級別上進行對齊,根據(jù)源數(shù)據(jù)集中的文檔,從目標數(shù)據(jù)集中檢索與其匹配的文檔進行文檔對齊,產(chǎn)生文檔對;然后,再在對齊的文檔對中檢索并提取語義高度相似的句子對。
文檔對齊:首先將源語言文本和目標語言文本分別劃分為短語,然后在兩種語言中查找相似的短語。如果兩個短語相似,則將它們對齊。對齊的短語被組織成樹形結(jié)構(gòu),形成源語言文本和目標語言文本的文檔對齊結(jié)構(gòu)。
句子對齊:使用一種基于最長公共子序列(longest common subsequence,LCS)算法對齊兩個層次結(jié)構(gòu)之間的句子。將源語言和目標語言的句子都表示成一個單詞序列,然后計算它們之間的LCS。通過LCS 的匹配,找到源語言文本和目標語言文本之間的對應關系,從而實現(xiàn)句子對齊。
本文將回譯和LHA 方法相結(jié)合,針對醫(yī)療專家-外行風格遷移任務缺少并行數(shù)據(jù)集的現(xiàn)狀,提出一種從單語可比語料中獲取并行數(shù)據(jù)集的方法。首先,對兩種風格的可比語料庫中的原始文本進行預處理,再借助回譯生成增強文本;然后,對增強文本使用LHA 方法,從中提取并行句子對和句子對應的序號;最終,根據(jù)句子序號和人工方法,從原始文本中提取對應的句子對。本文方法的總體流程如圖1 所示。
圖1 本文方法的總體流程Fig.1 Overall flow chart of the method in this article
圖2 改進后的LHA方法Fig.2 Improved LHA method
2.1.1 數(shù)據(jù)來源
原始文本來源于默沙東醫(yī)療手冊(MSD MANUAL,https://www.msdmanuals.com)。默沙東醫(yī)療手冊的每篇文章均由數(shù)百名醫(yī)學專家合作編寫,包括兩個版本:一個是為外行量身定制的消費者版,另一個是為專業(yè)醫(yī)學生和醫(yī)學專家量身定制的專業(yè)版。本文從默沙東醫(yī)療手冊的消費者版獲取外行風格的文章,從專業(yè)版獲取專家風格的文章。
2.1.2 對文本的預處理
對文本的預處理主要是對兩種風格的文章進行匹配以及對每篇文章進行分句處理:根據(jù)每篇文章對應的醫(yī)療主題(一共有23 個醫(yī)療主題)和文章標題,對兩種風格的文章進行簡單匹配,從多組醫(yī)療主題中獲得對應的文章對;使用Python 的NLTK 庫對每篇文章進行分句處理,給每個句子額外標注一個序號,用于提取相應序號的句子。
2.2.1 基本原理
一般的機器翻譯模型無法顯式地捕捉數(shù)據(jù)中出現(xiàn)的各種風格,也不能以不同的、可控的風格生成新數(shù)據(jù),從而導致回譯前后的文本風格發(fā)生變化[13]。這種變化會導致回譯產(chǎn)生的增強文本發(fā)生風格上的趨同:專家句子的結(jié)構(gòu)發(fā)生了一定變化,從而降低了句子對的編輯距離(editing distance,ED);外行句子的部分非專業(yè)詞匯被回譯成了專業(yè)詞匯(如高血壓 high blood pressure 變成了hypertension),從而提高句子對的文本相似度。將回譯與分層對齊相結(jié)合,通過回譯帶來的風格趨同,消除醫(yī)療專家風格和外行風格的部分差異,從而縮小句子對的編輯距離,提高二者的文本相似度。
2.2.2 相關模型
使用Edunov 等[9]的英德翻譯模型,該模型相對成熟,已被用于大規(guī)模的翻譯,并取得了良好的效果。它基于預訓練的transformer 模型[14],使用6 層相同的編碼器-解碼器結(jié)構(gòu)(具體結(jié)構(gòu)如圖1 所示)。該模型使用來自WMT’18 英德新聞翻譯任務[15]的數(shù)據(jù)進行訓練,并使用BLEU(bilingual evaluation understudy)衡量回譯前后的相似度。
本文方法先將專家文本和外行文本分別輸入英德翻譯模型中,借助德語作為中間語言,將原文本翻譯成德語,再翻譯回英語,由此生成增強后的專家句子和外行句子,之后再將回譯生成的增強文本作為分層對齊模型的輸入,參與后續(xù)的分層對齊工作。
2.3.1 句子相似度的計算標準
在LHA 方法中,對文本的相似度或相關度進行匹配通常涉及使用特定的計算公式或原則標準。具體的方法和標準可以根據(jù)具體的應用場景和任務而有所不同。本文的相似度是基于詞向量的相似度計算。使用預訓練的詞向量模型可以將詞語表示為詞向量,然后通過計算詞向量之間的相似度評估句子或文檔之間的相似度。
本文所使用的詞嵌入模型是由Facebook AI Research 團隊開發(fā)的wiki.simple.bin,它是一個基于維基百科語料庫訓練得到的詞嵌入模型。它將單詞表示為在連續(xù)向量空間中的稠密向量,通過向量表示捕捉詞語之間的語義關聯(lián)性,從而可用于衡量詞語的相似度、句子的語義相似度。
2.3.2 文檔對齊
分層對齊方法需要先對同一次級主題內(nèi)的兩種不同風格的文檔S 和T 中的文章進行對齊,其中S表示專家風格的源文檔集,T 表示外行風格的目標文檔集,S 和T 分別由多篇文章組成。
對于目標文檔,LHA 方法可以計算它與源文檔集合中每個文章的相似度,然后將它們按照相似度進行排序。通過設置參數(shù)(閾值),使用類似二分查找的方法快速確定相似度大于等于閾值的文檔個數(shù)。
原始LHA 方法的S 和T 中的文章數(shù)量不同,即S={s1,s2,… ,sn},T={t1,t2,…,tm},可能會為每篇文章si產(chǎn)生多組文章對(si,tj)、(si,tk)等。
由于本文方法在預處理時根據(jù)文章的標題對文章進行了簡單匹配,所以S 與T 由等量文章組成,即S={s1,s2,… ,sn},T={t1,t2,…,tn}。本文方法為S 中的每篇文章在T 中找到唯一一篇與之匹配的文章即可,即通過設置參數(shù),只為每篇源文檔保留相似度最高的一篇目標文檔,產(chǎn)生一組文章對(si,ti)。
2.3.3 句子對齊
經(jīng)過文檔對齊后,從兩種風格的語料庫中獲得了匹配的文章對(si,ti),其中 si和 ti由數(shù)量不同的句子組成,記作。通過句子對齊,在每個文章對中找到匹配的句子對。
對ti的每個句子,都計算它與si中每一個句子的相似度,并根據(jù)相似度進行排序。與文檔匹配類似,可以通過設定閾值控制句子匹配的個數(shù)。
由于專家句屬于復雜句,一句專家句的內(nèi)容,往往包含了多句外行句的內(nèi)容,所以在句子對齊時,不能像原始LHA 方法那樣將兩種風格的句子一一匹配,而是要將一個專家句子與多個外行句子進行匹配。
經(jīng)過實驗觀察,為每個 si中的句子最多匹配2 個ti中的句子,即為匹配2 個句子,最終產(chǎn)生句子對。
2.4.1 提取并行句子對
回譯所生成的增強文本縮小了專家文本和外行文本的風格差異,同時也意味著增強文本中的專家文本和外行文本都發(fā)生了風格的改變,因此不能使用增強文本的輸出作為最終對齊的句子對。
為了最終獲得“原汁原味”的專家風格、外行風格的句子對,還需要根據(jù)LHA 方法獲得句子對的序號,從沒有經(jīng)過回譯的原文本中分別提取對應序號的句子。
2.4.2 人工過濾句子對
分層對齊方法是通過計算句子相似度進行并行句子的提取,但由于醫(yī)療專家句子和外行句子的風格差異過大,而且醫(yī)療術語和外行用語之間的單詞嵌入不匹配,使最終提取的句子對中存在與實際內(nèi)容不相符的句子對。
經(jīng)過觀察發(fā)現(xiàn),可以通過簡單的單詞替換輕易騙過自動評估指標,比如只需要在外行句子中添加1 個專業(yè)詞匯,就可以大幅度提高BLEU 分數(shù),從而影響實驗效果。因此,不能使用傳統(tǒng)的自動過濾方法,而是必須對提取的句子對進行人工驗證,判斷兩個句子的內(nèi)容是否相同,并將不合格的句子對過濾掉。由于本文為每個專業(yè)句子最多匹配2 個外行句子,所以進一步增加了人工過濾的必要性。
2.4.3 組合外行句
由于專家句子的復雜性,經(jīng)過人工過濾后,存在一個專家句匹配多個外行句的情況,即,因此需要對其進行人工處理。本文參考MSD 測試集中的例子,將多個外行句作為一組數(shù)據(jù)組合在同一行中,即對于最終的句子對,其中可能是由多個完整句子組成的一個段落。
3.1.1 MSD 數(shù)據(jù)集
MSD 數(shù)據(jù)集由一個非并行的訓練集和一個并行的測試集組成。非并行訓練集中包含245 000 個醫(yī)學句子,其中有130 000 個專家句子和114 000 個外行句子。并行測試集中包含675 對具有相同含義的專家-外行句子對,其中測試集經(jīng)過專家的人工標注。
3.1.2 SimpWiki 數(shù)據(jù)集
為了檢驗并行句子對的質(zhì)量,除了MSD 數(shù)據(jù)集之外,本文還使用另一個數(shù)據(jù)集SimpWiki 進行比較。SimpWiki 數(shù)據(jù)集來源于簡單維基百科和普通維基百科之間的鏈接文章,它專注于醫(yī)學領域,通過計算文章的BLEU 分數(shù)自動提取并行句子。
本文的實驗目的主要有兩個,其一是比較本文提出的回譯+LHA 方法與其他句子對齊方法以及LHA方法之間的優(yōu)劣,其二是驗證本文方法所提取的偽并行句子對的質(zhì)量。
為了對比實驗效果,設計了兩組實驗。首先,為了測試本文算法并行句子的提取效果,從MSD 測試集中抽取500 對句子,分別使用LHA 方法和基于詞對齊的方法(使用GIZA++實現(xiàn))進行句子對齊,并比較這些算法的準確率。除了LHA 方法之外,其他方法都只測試在原文本上的句子對齊效果。為了比較回譯對LHA 方法的提升效果,LHA 方法在原文本和回譯產(chǎn)生的增強文本上分別進行測試。其次,為了驗證偽并行句子對的質(zhì)量,使用本文方法和LHA 方法從默沙東醫(yī)療手冊的文章中提取并行句子對。LHA方法作為對照方法,從經(jīng)過預處理的原文本中獲取并行句子對。本文方法則是先對專家、外行兩種風格的原文本分別進行回譯,再對回譯后的增強文本使用LHA 方法。將使用原文本生成的數(shù)據(jù)集記作LHAMSD,將使用回譯產(chǎn)生的增強文本生成的數(shù)據(jù)集記作BT-MSD(back translation MSD)。
3.3.1 算法性能
評價句子對齊算法的常用指標包括準確率(precision)、召回率(recall)、F1值和對齊錯誤率(AER)。但由于用于測試的總句子數(shù)已定,此時準確率=召回率=1-對齊錯誤率=F1值,故只使用準確率作為相關評價指標。
3.3.2 句子簡易度
參考Cao 等[3]的方法,使用3 個標準可讀性指標衡量數(shù)據(jù)集中句子的簡易度水平。FleshKincaid[16]是用來衡量文本可讀性的指標,Gunning[17]是計算文本復雜度的指標,Coleman[18]是用于劃分文本閱讀等級的指標。指標的分數(shù)越低,表示句子越簡單,可讀性越好,反之則句子越復雜,可讀性越差。
對每個數(shù)據(jù)集中兩種風格的句子分別測定其單個句子的化簡水平,從而判斷每個數(shù)據(jù)集整體的句子復雜度。
3.3.3 并行句質(zhì)量
在常用的評價指標中,BLEU 分數(shù)越高,則內(nèi)容保存度越高。對于專家和外行兩種風格,由于句子結(jié)構(gòu)、專業(yè)術語之間的差距太大,無法單純使用BLEU衡量并行句子的質(zhì)量,因此本文參考Cao 等[3]的方法,使用ED 與4-gram BLEU 共同判斷并行句的質(zhì)量。ED 越高,表明兩個句子的結(jié)構(gòu)差異越大,風格差異越明顯。
4-gram BLEU 和 ED 的計算公式見式(1)和 式(2)。
式中:r 表示目標文本的長度,本文中為外行句子的長度;c 表示參考文本的長度,本文中為專家句子的長度;ip 表示目標文本中的4 個連續(xù)的單詞(4-gram)在參考翻譯中出現(xiàn)的概率。
式中:m 和n 分別為字符串X 和字符串Y 的長度;D[i][j]是一個矩陣,表示X 的前i 個字符與Y 的前j個字符之間的編輯距離。
本文方法的評價標準并非BLEU 越高越好,ED越低越好,而是以人工標注的MSD 測試集的對應分數(shù)為黃金參考,認為越接近此分數(shù)的并行數(shù)據(jù)集的質(zhì)量越好。
3.4.1 算法準確率
以專家風格作為源語言,以外行風格作為目標語言,對比LHA 方法在原文本上的表現(xiàn)及其在回譯的增強文本上的表現(xiàn),將后者記作BT-LHA。用于比較基于詞對齊的算法包括基于TF-IDF、最小編輯距離(Least Edit Distance)、詞義相似度匹配這3 種詞對齊算法,其中詞義相似度匹配使用的是期望最大化算法(EM)。算法準確率見表1。
表1 算法準確率Tab.1 Algorithm accuracy
由表1 可知,LHA 方法的準確率遠遠高于基于詞對齊的3 種方法,而LHA 方法在回譯產(chǎn)生的增強文本上的表現(xiàn)又高于其在原文本上的表現(xiàn)?;刈g+LHA 方法的效果約為LHA 的1.2 倍。但是,即使使用了回譯,此方法的準確率也只有58.67%,這也表明了對偽并行句子對進行人工過濾的必要性。
3.4.2 句子簡易度分數(shù)
表2 展示了公共數(shù)據(jù)集和本文生成的兩個數(shù)據(jù)集的專業(yè)句子和外行句子的流暢度指標。公共數(shù)據(jù) 集的相關數(shù)據(jù)來自Cao 等[3]的報道,LHA-MSD 和BT-MSD 的數(shù)據(jù)是分別從兩種風格的句子中隨機抽取的350 個句子計算而得。
表2 句子簡易度分數(shù)Tab.2 Sentence simplicity score
由表2 可知,本文的兩組實驗所提取數(shù)據(jù)集的總體簡易度與MSD 訓練集相比沒有太大差距,與人工標注的MSD 測試集相比,依舊存在一定的差距。而外行句子的復雜度明顯高于MSD 和SimpWiki 中的外行句子。
與SimpWiki 相比,本文的兩組數(shù)據(jù)集的專家風格和外行風格的句子都表現(xiàn)出了更為明顯的差異,這種差異可能主要與原文本的來源有關。
MSD 測試集中的專家句子相對簡單,這可能是由于它對專家句子進行了分割,而本文數(shù)據(jù)集中的專家句子都沒有經(jīng)過拆分,因此其復雜度高于MSD 測試集。由于本文方法對部分外行句子進行了拼接,因此LHA-MSD 和BT-MSD 的外行句子都更為復雜。
與LHA-MSD 相比,BT-MSD 專家句子的復雜度更高,外行句子的復雜度更低。兩種風格的句子復雜度都更接近MSD 訓練集的。這表明經(jīng)過回譯之后,LHA 方法提取到質(zhì)量更好的并行句子,可以獲得與原文本句子風格差異更大的句子對。
3.4.3 并行句子對的質(zhì)量分數(shù)
表3 中記錄了本文生成的兩個數(shù)據(jù)集和SimpWiki、MSD 的測試集的并行句子的相關指標。SimpWiki、MSD 測試集的分數(shù)源于Cao 等[3]的數(shù)據(jù),本文從本文的兩個數(shù)據(jù)集中分別抽取350 對句子,測量其BLEU 和ED 分數(shù)。由于MSD 訓練集是非并行的語料庫,故無法計算相關指標。
表3 并行句子對的質(zhì)量分數(shù)Tab.3 Evaluation score for parallel sentences
從表3 來看,與人工標注的MSD 測試集相比,本文方法提取的并行句子對的質(zhì)量仍然具有相當大的改進空間。兩組數(shù)據(jù)集的句子風格差異都與人工標注的并行句子對有一定差距。相對于SimpWiki 數(shù)據(jù)集,本文方法的兩組并行句子對的風格差異更為明顯,句子結(jié)構(gòu)變化也更加復雜,更接近MSD 測試集的數(shù)據(jù)。這說明本文方法提取的并行句子對的質(zhì)量更高。
對比兩組實驗,BT-MSD 的并行句子具有更低的BLEU 分數(shù)和更高的ED。這表明使用回譯可以獲取風格差異更大、句子結(jié)構(gòu)變化更大的句子對。這也符合本文方法的預期和前文的觀點。
實驗中還發(fā)現(xiàn),對回譯后的增強文本使用LHA方法,經(jīng)過人工過濾之后,BT-MSD 的合格句子對數(shù)約為LHA-MSD 的1.3 倍。這一結(jié)果在實踐中驗證了表1 中算法的準確率,進一步表明本文方法比原始LHA 方法具有更好的性能。
本文針對醫(yī)療專家-外行風格遷移工作,提出了一個基于回譯和句子對齊的并行數(shù)據(jù)增強方法,并對其結(jié)果進行了比較。本文使用基于序列到序列的回譯模型和基于預訓練的詞(句子)嵌入的分層對齊方法,從兩種風格的文本中提取并行句子對,實現(xiàn)了對MSD 數(shù)據(jù)集的并行化拓展。與MSD 人工標注的句子對比,本文方法在質(zhì)量上仍存在差距,但考慮到人工標注的成本,本文方法具有較好的可行性。與自動獲取的SimpWiki 數(shù)據(jù)集相比,本文方法獲得并行句子的質(zhì)量更高。未來可以考慮從提高人工過濾效率的角度出發(fā),進一步改進本文方法,同時嘗試尋找更為有效的自動評價指標。