趙玉媛 王 斌 張澤丹 李青山 胡建斌
1(北京大學軟件與微電子學院 北京 102627)
2(中國中醫(yī)科學院中醫(yī)藥數(shù)據(jù)中心 北京 100700)
3(博雅正鏈(北京)科技有限公司 北京 100037)
4(北京大學計算機學院 北京 100871)
數(shù)據(jù)脫敏[1](data masking或data desensitization),指通過預設規(guī)范或變換算法對隱私或個人信息進行處理,使得數(shù)據(jù)中個人身份不可識別[2].通常分為4個步驟:定義隱私信息、抽取隱私信息、選擇隱私保護算法、完成數(shù)據(jù)脫敏.隨著數(shù)據(jù)脫敏技術的快速發(fā)展,隱私保護算法逐漸成熟,隱私信息定義通常依據(jù)相關規(guī)范,數(shù)據(jù)脫敏的準確率主要依賴于隱私信息抽取算法的效果.近年來,隱私信息抽取算法從規(guī)則化階段過渡到模型自動抽取階段,主要采用自然語言處理技術中的命名實體識別算法,自動標記文本中的隱私信息.
基于深度學習的隱私信息抽取算法分為2個階段:第1階段以循環(huán)神經(jīng)網(wǎng)絡(recurrent neural networks, RNN)[3]為主,例如Dernoncourt等人[4]建立的長短期記憶(long short-term memory, LSTM)[5]網(wǎng)絡模型,結合條件隨機場(conditional random field, CRF)[6]進行優(yōu)化.之后,如Liu等人[7]提出的CharCNN-BiLSTM-CRF模型,將BiLSTM-CRF[8]模型與CNN模型結合,提取字符級特征.第2階段,以Transformers[9],BERT[10]等模型為代表,例如Khin等人[11]提出的ELMo-BiLSTM-CRF模型,增加了ELMo動態(tài)表征和CNN提取的字符特性,顯著提升了隱私信息識別效果.
盡管基于深度學習的算法在上下文表征能力方面取得突破,特別是Transformer類預訓練模型利用多頭注意力機制充分考慮全局上下文信息,但在實體結構感知方面存在不足,影響了隱私信息實體邊界的準確判斷.為了引入結構感知信息,Strubell等人[12]、Zhang等人[13]、Bugliarello等人[14]嘗試利用結構信息優(yōu)化注意力機制,但這些嘗試僅限于特定任務,未應用于隱私信息抽取任務.因此,本文提出一種融入結構先驗知識的隱私信息抽取算法,以提升隱私實體邊界判斷的準確性和抽取效率.
本文算法利用結構先驗知識增強機制,將結構感知信息融入預訓練模型(PLM)的輸入和注意力機制中,提升對句子整體結構和實體邊界的感知能力,從而提高隱私信息邊界判斷的準確率和實體抽取效率.具體而言,本文工作的主要貢獻包括:1)提出文本語義編碼和文本結構編碼2個概念,區(qū)分傳統(tǒng)文本嵌入和依賴解析樹解析出的結構感知信息;2)在結構先驗知識增強機制中,分別提出嵌入層面和注意力層面的特征空間融合機制,充分引入結構感知信息到PLM中;3)結合以上概念和機制,提出融入結構先驗知識的隱私信息抽取算法,以解決隱私信息邊界判斷問題,提升實體抽取準確率.
融入結構先驗知識的隱私信息抽取算法中,“結構先驗知識”指的是通過依存句法解析算法獲取詞語間的依存關系.這種“依存關系”表示了句子在句法層面的搭配結構.該抽取任務的核心在于將“依存結構”這一非歐幾里得空間數(shù)據(jù)特征映射到傳統(tǒng)隱私信息抽取的數(shù)據(jù)特征空間,以此增強模型對句子整體結構的感知能力,并提升對實體邊界與類型的感知能力.
f(Dtext,Dstructure)→y,
其中Dtext是隱私信息抽取算法中抽取的文本特征,主要由大規(guī)模預訓練模型處理而來,包含豐富的上下文語義信息.Dstructure特指通過自然語言處理(natural language processing, NLP)技術,從依存解析特征中挖掘并得出的以句子為單位的結構性數(shù)據(jù).本文通過設計的算法,將上述2類特征空間進行對齊與融合,以提高隱私信息抽取的準確率.
為了提高以句子為單位的“結構”信息在隱私信息抽取模型中的融合效果,從而提升抽取準確率,本文基于大規(guī)模預訓練模型,提出了一種融入結構先驗知識的隱私信息抽取算法(integrating structural knowledge network, ISKN).如圖1所示,ISKN主要包含3個部分:特征編碼器、特征空間融合機制和隱私信息抽取網(wǎng)絡.
1) 特征編碼器.
首先抽取原始數(shù)據(jù)中的每條文本的“結構”信息,然后將這一結構信息和原文本信息轉化為嵌入表示矩陣,通過特征編碼器編碼對應的結構向量和文本語義向量.本文選用圖注意力網(wǎng)絡對結構特征進行編碼.
2) 特征空間融合機制.
為了有效對齊“結構”特征空間和文本特征并進行特征融合,本文提出了2種特征空間融合機制:一種將圖注意力網(wǎng)絡編碼的“結構”特征視為文本特征的補充,將其特征向量補充輸入到BERT模型的文本嵌入部分(下文稱為ISKN-EMB);另一種則將圖注意力網(wǎng)絡所編碼的結構特征視為獨立的結構語義空間,除了將其特征向量補充到BERT模型的文本嵌入部分外,還將其注意力矩陣融合到BERT的注意力矩陣中(下文稱為ISKN-ATTENTION).
3) 隱私信息抽取網(wǎng)絡.
將隱私信息抽取任務視為命名實體識別任務,提前定義隱私信息特征類別,并在訓練集上標注相應類別的位置.隱私信息抽取網(wǎng)絡負責將獲取的特征映射到預測概率最大的類別.
圖1 融入結構先驗知識的隱私信息抽取算法
2.2.1 特征編碼器
特征編碼器由文本語義編碼和文本結構編碼2部分組成.首先,對應給定的文本樣例x={e0,e1,…,et},分別進行文本語義編碼和文本結構編碼:
1) 文本語義編碼.該部分具體使用大規(guī)模預訓練模型(例如BERT)進行嵌入編碼,最終獲得1組向量w={w0,w1,…,wt},wt∈d,d為文本語義嵌入維度,一般為768.
圖2 依賴解析樹解析出的依賴關系表示
2) 文本結構編碼.針對輸入文本樣例進行結構層面編碼,主要處理文本的句法結構,通過以依賴解析樹形式進行解析.如圖2所示,依賴解析樹可視化展示了句子的句法結構,拼接的邊的類型表示為依賴關系類型.這一解析過程對理解文本上下文意義重大,并且,由于它將文本中的實體按常用詞典分詞,有助于提高隱私信息邊界劃分的準確度.
該部分具體采用圖注意力網(wǎng)絡(graph attention networks, GAT)[15]進行編碼獲取文本結構特征:
graphh=GAT(w,dep,adj),
其中w即為文本語義編碼所獲取的初始化文本語義嵌入向量,dep即為對應的token的依賴關系向量,adj即為對應的token的連接向量,通常設定為存在依賴關系則連接向量值為1,否則值為0.最終獲得1組向量graphh={graphh0,graphh1,…,graphht},其中graphht∈d,d為文本語義嵌入維度,與wt的維度一致.
2.2.2 特征空間融合機制
該機制一共分為2部分:嵌入層面的特征空間融合機制以及注意力層面的特征空間融合機制.
1) 嵌入層面的特征空間融合機制(ISKN-EMB).
嵌入層面的特征空間融合機制,即在模型嵌入表示階段進行特征融合,考慮到本文所需利用的特征空間包含2種:文本語義空間和文本結構空間,所以模型所采用的骨干模型為大規(guī)模預訓練模型的代表(BERT)以及表格模型的代表(TAPAS).模型整體融入思想均為將上文所取得的文本語義編碼和文本結構編碼并行輸入到模型中,從而幫助模型通過不同層面理解所輸入的文本.對于以下不同模型而言:
① BERT:
wfinalt=wt+graphht,
hfinal=BERT(wfinal,posfinal,segfinal),
② TAPAS:
借鑒TAPAS的附加嵌入(additional embeddings),這里將上文所獲得的結構編碼視為TAPAS模型輸入中的Rank ID,即將依賴類型映射到TAPAS模型預設的Rank ID的空間中,進而達到將依賴關系這一特征并行輸入到模型中的目的,即
hfinalt=wt+post+segt+graphht,
最后,總結這一嵌入層面的特征空間融合機制為
xfinal=embeddingfusionφ(wfinal,
posfinal,segfinal,graphfinal),
φ即為網(wǎng)絡對應的所需要訓練的參數(shù).
2) 注意力層面的特征空間融合機制(ISKN-ATTENTION).
為了更有效地融合結構特征,本文不僅在嵌入層面加入了結構特征,還設定了注意力矩陣層面的特征空間融合機制.該機制在注意力矩陣中引入了“結構”概念.如圖3所示,在文本結構編碼過程中,除了獲取上述的結構嵌入編碼外,還保留了模型中的注意力矩陣,即
attentiongraph=GAT(w,dep,adj),
從而獲得attentiongraph,其中
attentiongraph={attentiongraph{0,0},…,attentiongraph{t,t}}.
接下來細化到注意力機制:
Attention-Graph(Q,K,V)=
其中Q=K=V,均為大規(guī)模預訓練模型輸入的嵌入表示,V=(V0,V1,…,Vn),n為輸入的句子數(shù)目,V0={v0,0,v0,1,v0,2,…,v0,t},v0,t∈d,t為每句話的長度,d為輸入嵌入維度,通常為768,注意,本文所采用的骨干attention機制為self-attention機制,在此基礎上,本文通過加和機制將結構空間的注意力矩陣與文本空間的注意力矩陣進行融合,同時作用在融入“結構”嵌入的整體嵌入,得到最終的隱藏層表示.
圖3 注意力層面的“結構”融合
綜上,注意力矩陣層面的特征空間融合機制為
yfinal=Attention-Graph(xfinal,xfinal,xfinal).
2.2.3 隱私信息抽取網(wǎng)絡
隱私信息抽取網(wǎng)絡,即將上文最后一層編碼層所獲得的隱藏層表示yfinal經(jīng)過非線性層gc映射到標簽空間所得到的logits:
logits=gc(yfinal),
最后,模型整體的目標函數(shù)為
其中yt為第t個token的真實標簽.
本節(jié)將闡述融入結構先驗知識的隱私信息抽取算法在不同公開數(shù)據(jù)集上的實驗結果.這些數(shù)據(jù)集包括中文和英文數(shù)據(jù)集:中文數(shù)據(jù)集為微軟發(fā)布的命名實體數(shù)據(jù)集MSRA-NER[16],英文數(shù)據(jù)集為2014年I2B2 De-identification賽道公開的數(shù)據(jù)集[17].具體的測試結果如下所述.
微軟命名實體識別公開數(shù)據(jù)集MSRA-NER是專門用來測試隱私信息抽取算法準確率的中文數(shù)據(jù)集,因為該數(shù)據(jù)集需要識別的實體均是帶有個人隱私性質的,包括人名、地名、機構名稱、年齡、電話、郵編等在內的24種命名實體.該數(shù)據(jù)集主要由訓練集、驗證集和測試集構成,而本文所涉及的測試數(shù)據(jù)為訓練集和驗證集:訓練集包含46400條文本,字符數(shù)為2169900,所涉及的實體數(shù)量為74800;驗證集包含了4400條文本,字符數(shù)為172600,實體數(shù)量為6200.
I2B2 De-identification 2014數(shù)據(jù)集是專門用于測試隱私信息抽取算法準確率的英文數(shù)據(jù)集,所謂De-identification即去識別化操作(去除英文所定義的屬于隱私信息類別的實體),具體而言,該數(shù)據(jù)集中所包含的類別有PHI定義的7大類以及賽事中對這7大類所細分的31小類,整體數(shù)據(jù)集所涉及的數(shù)據(jù)為訓練集50880條文本、驗證集32586條文本.
傳統(tǒng)的隱私信息抽取算法種類繁多,如:采用大量人工特征的純CRF模型;采用詞向量或字向量的LSTM-CRF及其變種(如Lattice-LSTM)[18],基于BERT,BERT-CRF及其變種(如CharCNN-BERT,CharCNN-BERT-CRF等).
3.2.1 中文數(shù)據(jù)集基線模型
1) Word Baseline based on LSTM-CRF.LSTM-CRF應用在中文數(shù)據(jù)集上的模型,區(qū)別于英文版在于模型字典不同和輸入采用詞為單位.
2) Char Baseline based on LSTM-CRF.LSTM-CRF應用在中文數(shù)據(jù)集上的模型又一變種,其將模型輸入改為以字為單位.
3) Lattice-LSTM.以字為單位的BiLSTM-CRF模型,其與傳統(tǒng)的BiLSTM-CRF模型相比,融入了詞的特征,具有更準確的預測能力.
4) BERT.大規(guī)模預訓練模型,其依賴在大規(guī)模數(shù)據(jù)集上自監(jiān)督訓練所獲取的強大表征能力,在下游任務中均表現(xiàn)不俗.
5) BERT-CRF.將BERT作為編碼層獲取字符表征后,通過條件隨機場CRF得到受約束后各個位置聯(lián)合概率最大值的解碼路徑,從而達到效果提升的目的.
3.2.2 英文數(shù)據(jù)集基線模型
1) CharCNN-BiLSTM-CRF.即charCNN的模型架構,charCNN模型參考了ELMO模型處理字符嵌入的思想,將字符嵌入目前的淺層表征轉化為高維表征,再與單詞形態(tài)特征向量進行拼接,從而緩解了英文中因為不規(guī)則的單詞構詞法所引起的表征不準確問題.
2) ELMO-CharCNN-BiLSTM-CRF.該模型為CharCNN-BiLSTM-CRF模型的又一變種,即用ELMO模型初始化CharCNN的輸入,從而提升模型整體的表征能力.
3) CharCNN-BERT.該模型將CharCNN-BiLSTM-CRF模型的BiLSTM-CRF整體的編碼層替換為BERT,從而利用了BERT強大的上下文表征能力提升模型預測的準確率.
4) CharCNN-BERT-CRF.該模型在CharCNN-BERT的基礎上增加條件隨機場模型,從而緩解了CharCNN-BERT模型計算聯(lián)合概率分布時的不準確性問題.
3.3.1 實現(xiàn)設置
1張V100顯卡;運行環(huán)境為Linux;16GB內存;CPU型號為Intel?Xeon?Platinum8163CPU@2.50GHz;模型搭建采用python3.6,pytorch 1.7.0實現(xiàn).
3.3.2 數(shù)據(jù)預處理標注策略
當句子處理為token列表后,數(shù)據(jù)集所采用的標記方法為“BIO”(B代表實體的開始位置,I代表實體的內部位置,O代表不屬于實體的位置),例如“Patient presented to Massachusetts General Hospital on.”則被標記為“O O O B-Loc I-Loc I-Loc O”.需要注意的是,因為將句子進行tokenizer的過程中采用的是WordPiece策略,有些詞也會被拆成一些詞典里常見的詞根或詞綴,這時,除了拆下來的第1個詞根(綴)外,這個詞其余所拆出來的詞綴都需要標注為“X”,例如,“Mr.Villegas”將會被切分成“Mr”“.”“Ville”“##gas”,它所對應的標注結果為“O O B-PAITENT X”.此外,tokenizer的文本需要在句首和句尾加入開始標識符“[CLS]”和結尾標識符“[SEP]”.
3.3.3 參數(shù)設置
中文數(shù)據(jù)集采用BERT(110M)為骨干模型,英文數(shù)據(jù)集采用BERT(110M)和TAPAS為骨干模型.
在提取依賴解析樹的過程中,針對不同語言的數(shù)據(jù)集選用了相應的解析器.在英文數(shù)據(jù)集i2b2上,采用Biaffine Parser[19]作為解析句子依賴關系的模型,使用Allennlp[20]作為提取工具包.而在中文數(shù)據(jù)集MSRA-NER上,則選用哈工大提供的pyltp工具及其內置的“parser”解析模型進行解析.
在提取結構特征的過程中采用了圖注意力網(wǎng)絡(graph attention network, GAT).依賴關系的嵌入維度設定為64,圖注意力網(wǎng)絡的層數(shù)選擇為[1,2,3,4].實驗表明,網(wǎng)絡層數(shù)為3時,解析的嵌入表征效果最佳.模型優(yōu)化器選用Adam[21],模型學習率設為3E-5,條件隨機場(conditional random field, CRF)模型的學習率為1E-3,訓練輪數(shù)為3.
3.3.4 評估方法
由于實驗中涉及多類別實體,所以引入多類別下的評估方法MicroF1[22]:
F1mi=2×Pmi×Rmi/(Pmi+Rmi),
其中TPi為其中一個類別的正陽性樣本數(shù)目,FPi為對應類別的偽陽性樣本數(shù)目,FNi為對應類別的偽負性樣本數(shù)目.
本節(jié)展示融入結構先驗知識的隱私信息抽取算法在不同語言公開數(shù)據(jù)集上的測試結果,并通過可視化注意力機制觀察模型的注意力分布.此外,通過樣例分析的方法,解釋了本文算法在數(shù)據(jù)集上的效果.
3.4.1 模型整體效果分析
本文實驗將ISKN模型中的ISKN-EMB,ISKN-ATTENTION分別與benchmark模型(CRF, Word Baseline based on LSTM-CRF)在數(shù)據(jù)集上進行整體對比.從表1和表2可知,ISKN模型在中文和英文數(shù)據(jù)集上均有助于提升結果,但ISKN-EMB模型在測試集上的表現(xiàn)與BERT-CRF相近.這表明,僅將圖神經(jīng)網(wǎng)絡學習到的“結構”嵌入表示融入模型是不足的,還需將圖神經(jīng)網(wǎng)絡中的“attention-graph”也整合進網(wǎng)絡架構,以實現(xiàn)完整“結構”框架的融合.究其原因,結構嵌入作為模型輸入,只在結構建模的初期階段發(fā)揮作用.而當前使用的大規(guī)模預訓練模型,如BERT,由于其龐大的參數(shù)量,訓練過程中易出現(xiàn)梯度消散現(xiàn)象.因此,初始傳入的“結構”知識在訓練過程中易被削弱,對模型效果提升的影響有限.同時將“結構”嵌入和“結構”知識同時輸入模型則可以防止訓練過程中的知識消散,對隱私信息識別準確率有較大的提升.
表1 在中文數(shù)據(jù)集MSRA-NER上整體效果 %
表2 在英文數(shù)據(jù)集I2B2上整體效果 %
3.4.2 模型局部效果分析
下面將分析本文模型對不同隱私類型提取的效果.從表3可以看出,對于經(jīng)常出現(xiàn)在訓練集中的隱私實體如LOC,模型的幫助有限,表明對這類實體的學習已經(jīng)較為充分,難以進一步提升.然而,對于ORG和PER這類在訓練集中不常出現(xiàn)的隱私實體,模型在MicroF1評估標準中實現(xiàn)了近1%的提升,說明模型在這些較少出現(xiàn)的隱私實體提取中起到了增強效果.這表明模型通過緩解長尾問題,提升了整體的識別效果.
3.4.3 數(shù)據(jù)分布分析
本節(jié)通過TSNE[23]工具展示BERT-CRF與ISKN-ATTENTION訓練過程中模型輸出表示的數(shù)據(jù)分布情況.如圖4和圖5所示,將模型最終獲取的嵌入向量用于降維,得到這些特征的2維空間可視化數(shù)據(jù)分布,從而觀察融入結構先驗知識的隱私信息抽取算法在數(shù)據(jù)特征分布上的顯著貢獻.結果顯示,BERT-CRF模型訓練得到的數(shù)據(jù)輸出表示較為分散,而ISKN-ATTENTION模型訓練得到的數(shù)據(jù)表示則表現(xiàn)出同一類別的數(shù)據(jù)更集中,不同類別數(shù)據(jù)間距離更大.這表明融入的“結構”知識影響了模型訓練數(shù)據(jù)之間的分布,使得同類別數(shù)據(jù)表示更為相似,不同類別數(shù)據(jù)表示更分散.
圖4 BERT-CRF模型在中文數(shù)據(jù)集MSRA-NER上的數(shù)據(jù)分布
圖5 ISKN-ATTENTION模型在中文數(shù)據(jù)集MSRA-NER上的數(shù)據(jù)分布
3.4.4 模型注意力可視化
本文通過熱力圖的方式展示了不同模型最終熱力圖的效果.圖6和圖7示出了attention矩陣中“結構”知識的顯著特征.這一特征在2張圖中均有出現(xiàn),表明在attention層面的“結構”表示已經(jīng)成功融入到以BERT為代表的大規(guī)模預訓練模型的attention參數(shù)中,輔助進行隱私信息抽取.
圖6 在中文數(shù)據(jù)集MSRA-NER上的attention可視化
圖7 在中文數(shù)據(jù)集MSRA-NER上的“結構”attention可視化
隱私實體識別任務中經(jīng)常忽視句子整體的結構感知信息對抽取隱私實體的影響.針對這一問題,本文提出了一種融入結構先驗知識的隱私信息抽取算法,設計了隱私數(shù)據(jù)結構知識增強機制.這一機制賦予模型對句子語義結構的判斷能力,增強其判定實體邊界的能力,并在一定程度上緩解了隱私實體識別過程中的長尾問題,從而提高了隱私命名實體抽取的準確率.