楊進才, 曹煜欣, 胡 泉, 蔡旭勛
1(華中師范大學 計算機學院, 武漢 430079)
2(華中師范大學 人工智能教育學部, 武漢 430079)
中文信息處理進程分為字處理、詞處理、句處理、篇章處理4個階段[1], 目前, 字處理和詞處理方面的研究均取得了巨大的進展, 對句以及篇章的研究正在繼續向前推進.
復句是由兩個或兩個以上的分句組成的句子[2], 漢語文本中復句占多數. 復句連接單句和篇章, 在篇章視野大范圍內進行復句關系識別有助于加深對篇章句間語義關系的理解[3,4]. 因而可以廣泛應用到機器翻譯[5]、篇章分析[6]、自動問答[7]和信息抽取[8]等領域中.
復句的語義表達復雜, 復句的分類問題作為復句理論研究與應用研究的重要內容, 一直是漢語言學界關注的熱點, 同時也是自然語言處理的難點. 目前, 在語言界最有影響的是《現代漢語》教材的分類和邢福義[2]在《漢語復句研究》(2001)中提出的復句三分系統. 三分系統將復句劃分為因果、轉折、并列大類, 又將這3大類依次劃分為因果、假設、推斷、條件、目的, 并列、連貫、遞進、選擇, 轉折、讓步、假轉12個二級類. 本文采用三分系統的12個二級類作為分類標準.
關系詞(關系標記)用來連接復句的各個分句, 擁有關系詞標志的復句被界定為有標復句[9]. 在有標復句中, 由于關系詞的積極指向作用, 使得識別有標復句關系類別的準確率要高于無標復句[10,11]. 但在有標復句關系識別中存在如下困難: (1)搭配使用的關系詞部分缺省, 余下的關系詞可對應多種類別; (2)存在一部分跨類別的關系詞.
例1. 你不說, 我們<也>查得出你姓甚名誰!(吳強《紅日》)
例2. 條件不同, 面臨的任務<也>不同. (《鄧小平文選》)
在例1與例2中, 關系詞均為“也”, 但對應的關系分別為讓步與因果.
從中文信息處理角度對復句類別自動識別的方法包括: 利用規則、結合規則和機器學習、利用深度學習的方法3類. 李艷翠等[12]以有標的清華漢語樹庫作為研究對象, 抽取顯式和隱式的自動句法樹的規則特征, 判定復句關系類別; 楊進才等[13]把已知的復句句法、關系詞搭配等知識結合在一起, 以非充盈態二句式有標復句為研究對象, 鑒定復句所屬關系類別; 楊進才等[14]探索復句字面及內部語法等特征, 并總結特征形成規則, 判斷復句所屬的關系類別. 隨著深度學習方法研究的不斷發展, 因其可以自動獲取特征, 所以被應用在復句類別識別的研究中. 孫凱麗等[15]將Bi-LSTM模型學習到的句內注意力多路特征與CNN建模得到的復句局部特征結合, 使用Inatt-MCNN模型對復句進行因果、并列、轉折3大關系類別識別. 孫凱麗等[16]使用CNN和Bi-LSTM相結合的BCCNN網絡和詞聚類算法來捕獲單詞間的相似特征, 從而輔助計算機識別復句的關系類別.
深度學習不需要人工操作, 能夠自己獨立研究復句語料中的特征. 然而, 在深度學習過程中融入已有的、顯然的、人們主動選擇的外部知識, 對模型而言依然具有吸引力[17]. Qin等[18]以詞性為句子特征, 聯合詞向量一起傳輸到CNN中, 來判斷無標復句所屬關系類別; 楊進才等[19]在CNN模型中融合關系詞特征, 對非充盈態復句進行3類識別; 楊進才等[20]在Transformer網絡中拼接關系詞、詞性的特征, 完成因果、假設、推斷、條件、目的的因果類復句識別任務.
復句作為中文中出現頻率最高的句子形態, 語言學界對復句的研究積累了豐富的知識. 前述的關系類別識別的利用規則、機器學習、深度學習的方法用到了這些語句特征, 本文探討在深度學習模型中充分融入多種語句特征, 進行復句關系類別的識別.
復句主要組成部分為詞, 計算機將詞處理成稠密的詞向量表示[21], 詞向量的表示效果影響著復句關系識別的準確率. 目前主流的詞向量模型分為兩類: 一類是以Word2Vec[22]為代表的詞向量模型, 它分為連續詞袋模型(CBOW)和Skip-gram模型, 另一類是最新的BERT詞向量模型[23].
Word2Vec詞向量模型利用輸入的單詞及其上下文信息, 在映射層中將信息整合, 由輸出層輸出對單詞分析的結果. 但Word2Vec得到的詞向量與對應的單詞之間屬于靜態文本表示, 這種表示方式在解決一詞多義問題上表現局限, 因而在某些任務中不能很好地動態優化. BERT模型在中文處理方面有很大的優勢,它利用雙向Transformer語言模型[24]進行預訓練, 在不同單詞間添加注意力機制將單詞聯合起來, 為解決中長期依賴問題提供了思路. 掩碼語言模型和下一句預測是BERT的兩種任務. 這兩項任務使BERT不僅具備對目標句上下文進行預測的能力, 同時能夠捕獲句子間的深層語義關聯. 因而, BERT文本表示比Word2Vec表達的語義更豐富, 內容更全面. 將例2輸入BERT預訓練模型, 獲得的輸入表示如圖1所示. 句子開頭和結束分別使用[CLS]和[SEP]標志表示, 復句映射的向量由詞向量, 詞在整個復句中的位置向量, 詞在子句中的位置向量3部分組成.

圖1 例2的BERT詞向量組成
2.2.1 候選關系詞及類別特征
候選關系詞(準關系詞)是可以充當關系詞的詞,當候選關系詞在一條復句中能夠將各分句聯系起來時,該候選關系詞是關系詞. 候選關系詞的所屬類別對識別復句的關系類別有著積極的指示作用. 因此, 候選關系詞及其所屬類別是至關重要的語句特征.
例3. 法不僅有階級性的一面, 而且有社會性的一面. (《人民日報》1981年01月27日)
“不僅”“一面”“而且”“一面”, “一面”是復句存在的部分, 屬于句中的方位名詞, 它不是句子的關系詞. 例3的兩個分句由“不僅”“而且”連接, “不僅”“而且”屬于遞進關系類別. 例3是表示遞進的復句.
2.2.2 詞性特征
復句的各個單詞均有與之相對應的詞性, 詞性反映了單詞所具有的語法功能, 也約束了該詞在復句中所充當的角色. 對例句3詞性標注, 結果如圖2所示.

圖2 例3的詞性標注圖
例句3中“一面/一面”的詞性都為nd (方向名詞),它們屬于復句的組成部分, 代表了句中的方位, 因此不是復句的關系詞.
2.2.3 句法依存關系特征
法國語言學家特斯尼耶爾將句子中的詞的關聯構成句子的句法依存關系. 句法依存關系能夠辨析復句中主、謂、賓、定、狀、補的組成結構, 從復句的構成單元出發, 分析各個單元之間的相互關聯, 加深對復句句法關系的理解. 5條公理[25]規定了句法依存關系,復句中有且僅有一個獨立核心成分, 其他單詞都與支配詞有句法依存關系. 復句核心詞的句法依存特征為HED (核心關系), 再依次抽取復句中其他單詞與支配詞之間的句法依存關系, 構成本文的句法依存關系特征. 將復句根據句法依存關系轉換為相應的句法依存圖, 例3分析結果如圖3所示.

圖3 例3的句法依存分析圖
候選關系詞依次為“不僅”“一面”“而且”“一面”, 與它們的支配詞之間的句法依存關系分別為“ADV (狀中關系)”“VOB (動賓關系)”“ADV”“VOB”. 關系詞與其支配詞之間出現頻率相對較高的句法依存關系是狀中關系, 而VOB關系常見于動名詞之間的句法依存連接.從句法依存角度分析, 例3中的關系詞為“不僅”“而且”, 它是一條表示遞進關系的復句.
2.2.4 語義依存關系特征
語義依存和句法依存形似, 它們都是一種框架, 用以直觀描述語言內部結構. 而不同的是, 語義依存采用單詞的語義結構特征來闡述復句中單詞彼此之間的關系, 它著重分析實詞在句中的語義關聯以及邏輯關聯.語義依存不會隨著語句結構變化而變化, 它能夠超越句子表層的句法結構, 更進一步得到句子的語義信息.通過分析句子的語義依存關系, 能夠明晰詞匯在復句中所承擔的語義角色. 語義依存關系中, 復句有且僅有一個核心詞匯, 其他詞匯與支配詞間均有語義依存關系. 核心詞的語義依存關系特征為Root (根節點), 依次抽取復句中其他單詞與其支配詞之間的語義依存關系,構成本文的語義依存關系特征. 將語義依存關系轉換成相應的語義依存圖, 例3分析結果如圖4所示.

圖4 例3的語義依存分析圖
由圖4知, 候選關系詞依次為“不僅”“一面”“而且”“一面”, 與它們的支配詞之間的語義依存關系分別為“mRELA (關系標記)”“LINK (系事關系)”“mRELA”“LINK”. 關系標記是關系詞與其支配詞之間多見的語義依存關系, 而系事關系表示的是與事件相關聯的客體, 表示“一面”在例3中是方位名詞, 不是句子的關系詞. 因此, 例3句由“不僅”“而且”連接, 表示遞進關系.
將單詞的文本表示分別與候選關系詞 (candidate relational words, CRW)、詞性 (part of speech, POS)、句法依存關系 (grammar dependency relation, GDR)、語義依存關系 (semantic dependency relation, SDR)排列組合得到的語句特征拼接作為復句的文本特征表示.具體表示如下, 對于一個長為L的, 含有n個單詞的句子, 第i個單詞文本表示為Wi(i=1,…, n), 其候選關系詞特征為CRWi, 詞性為POSi, 句法依存關系為GDRi,語義依存關系記為SDRi.
候選關系詞特征表示如式(1)所示, flag為候選關系詞是否為關系詞的標志, relation是候選關系詞所屬類別的關系矩陣; 融合上述多個特征的第i個單詞的詞向量VecWi表示如式(2)所示:

在例3中, “不僅”的詞向量為[0.3145324], 候選關系詞標志為1, 候選關系詞屬于遞進關系, relation是遞進關系的特征矩陣, 詞性為“c”, 句法依存關系是“ADV”,語義依存關系為“mRELA”. “不僅”融合多個特征的文本特征表示為[0.3145324, 1, 遞進, 5, 4, 7].
為了研究語句特征對復句關系識別的影響, 本文利用BERT預訓練模型動態表示復句文本, 并在HAN神經網絡中融入外部語言學知識, 得到FHAN模型. 進而構建BERT-FHAN模型, 該模型結構如圖5所示.

圖5 BERT-FHAN模型結構圖
詞嵌入層用機器能夠識別的數字向量表示文本,使用第2.3節提出的融合復句語句特征的文本表示方法, 獲得每個單詞的特征文本表示VecW1, VecW2, …,VecWn. 將它們依次輸入單詞注意力機制層, 幫助機器捕獲語義知識.
使用雙向GRU來獲取單詞的進一步表示, GRU通過重置門、更新門模擬語言模型, 綜合單詞的上下文信息獲取到每個單詞的隱藏狀態.復句中第i個子句的第j個單詞單詞的前向隱藏狀態后向隱藏狀態其計算公式為:

通過單詞的前后向隱藏狀態得到單詞的編碼表示信息hij:

在復句關系識別過程中, 不是所有單詞對任務都有影響, 因而引入注意力機制來提取對復句語義表示起作用的單詞的隱藏表示uij:

計算與單詞隱藏表示ujt的相似性, 來判斷單詞的重要性, 通過Softmax得到單詞的權重αij:

seni為uij和αij加權和, 它蘊含了分句i的信息:

GRU獲取復句中第i個子句的前、后隱藏狀態

通過子句的前后向隱藏狀態得到子句的編碼表示信息hi:

通過注意力機制來獲取對復句語義表示起作用的子句隱藏表示信息ui, 將子句信息匯總得到復句的表示信息:

通過計算與子句隱藏表示ui的相似性, 來判斷子句的重要性, 通過Softmax得到子句權重 αi, 最后獲得復句的信息表示com_sen:

復句信息表示com_sen蘊含了復句L的所有信息,通過Softmax激活函數得到復句類別的分類結果result:

漢語復句語料庫(the corpus of Chinese compound sentence, CCCS)[26]是目前針對有標復句研究的規模最大的語料庫, 它共收錄了65萬余條有標復句, 數據主要源自《人民日報》與《長江日報》. 我們在CCCS語料庫中添加隨機因子并排序后, 從中選擇了60 000條復句, 構成一個新的用于標注關系類別的語料庫, 簡記為CCCSRA (the corpus of Chinese compound sentence with relation annotation). 在CCCSRA語料庫中, 各個類別的數據分布如表1所示. 將CCCSRA按照14:3:3的比例劃分訓練、測試、驗證集.

表1 CCCSRA語料庫數據分布表
本文使用的是BERT預訓練的768維詞向量, 訓練過程中為了使模型不產生過擬合的情況, 采用了dropout策略[27], 在神經網絡中取舍. 同時, 實驗借助L2正則項來提高模型的實際應用能力. 模型單詞級、句子級注意力層的GRU的值設置為300. 詳細的參數如表2所示.

表2 模型參數設置
為了驗證BERT-FHAN模型的性能, 我們在CCCSRA數據集上設置了幾個基線模型: ① TextCNN模型[28],通過卷積層網絡來捕獲句子的文本特征, 依靠固定的filter窗口抽取特征進行分類; ② 帶自注意力機制的Bi-LSTM模型[29], 通過雙向LSTM提取每個詞語上下文特征, 結合attention對每個詞語加權求和, 使用Softmax激活函數進行輸出; ③ Transformer模型, 使用encoder模型, 通過位置編碼獲取單詞相對位置信息, 使用ReLU激活函數進行輸出; ④ Inatt-MCNN[30], 對復句語義編碼, 添加注意力機制, 之后通過CNN獲得局部特征信息, 通過Softmax得到輸出結果; ⑤ HAN模型[31], 通過多層注意力機制獲得豐富的復句文本知識表示, 使用Softmax激活函數輸出類別; ⑥ 結合BERT模型獲取復句的動態詞向量表示, 與HAN模型結合, 得到BERTHAN模型.
本文使用準確率(Accuracy), 召回率(Recall), 精確率(Precision), F1值作為評估標準. 從圖6可以看出,基線模型的準確率在80%以上, 這證明了實驗中使用的深度學習模型均能夠有效識別復句的關系類別. 其中, BERT-HAN模型的性能優于其他模型, 4項指標的值最高.

圖6 基線模型的實驗結果
為了進一步研究句子特征和不同的文本表示對漢語復句關系識別的影響, 我們分別在HAN和BERTHAN模型中融入CRW、POS、GDR、SDR排列組合的15種組合特征, 得到FHAN和BERT-FHAN模型.FHAN和BERT-FHAN模型的實驗準確率如圖7所示. 在BERT-FHAN模型上的實驗結果如表3所示.

表3 BERT-FHAN融合不同語句特征的實驗結果 (%)
從圖7可知, 無論是Word2Vec還是BERT詞向量表示方法, 融合不同語句特征, 模型訓練后的準確率都在90%以上. BERT文本表示方法的準確率在Word2-Vec基礎上有所提升. 這是因為BERT模型得到的詞向量是動態的, 可以隨復句的上下文而變化, 提升了機器識別復句語義關系的能力.

圖7 FHAN和BERT-FHAN的實驗準確率
從表3的實驗結果可知, 融合了語句特征的實驗結果與無語句特征的結果相比均有所提升. 當添加單個語句特征時, 實驗準確度最高的是POS (詞性), 其次是SDR (語義依存關系), 然后是GDR (句法依存關系),最后是CRW (候選關系詞). 在所有特征組合中, “CRW+POS”組合特征的效果最好, 其準確度可達96.97%. 其次是融合“CRW+POS+SDR”組合特征, 它的準確率為96.88%. 組合多個句子特征的模型通常比單句特征模型結果更好, 這是因為融合單個特征時, 復句的復雜語義會在現有單個特征基礎上產生一些歧義特征. 而多個語句特征的組合可以有效地消除這些歧義, 從而更好地發現復句中的語義關聯, 準確地識別復句之間的關系.
“CRW+POS+GDR+SDR”組合特征融合了所有語句特征, 但它的準確率與最佳組合特征相比降低了0.6%.這是因為不同語句特征相互干擾, 阻礙特征獨立表達,影響模型自動獲取復句的內部特征; 除此之外, BERT動態文本表示與外部特征以及模型都能捕獲句子的語義關聯, 三者內部共同作用, 結果卻適得其反. 在BERTFHAN模型的實驗中, 以上所有特征組合的F1值的變化幅度很小, 表明此方法穩定性較強, 拋開少數的誤差情況, BERT-FHAN模型能夠正確判別復句關系.
在復句關系識別中, 一些關系詞對應關系多種類別會給復句關系識別帶來一定的困難. 經統計, CCCSRA語料庫中有10 722條復句的關系詞對應多種關系類別, 占比為17%. 由實驗結果知, 融合不同語句特征的BERT-FHAN模型準確率均在95%以上, 證實了本文模型對含有一對多關系詞的復句進行類別識別的有效性. 為進一步驗證模型在復句類別識別中的兩個困難問題上的適用性, 在融合“CRW+POS”特征的模型上,統計出測試集中含有跨類別關系詞的復句總數及模型識別的正確率, 結果如表4所示. 模型在這些含有跨復句類別的關系詞的復句上, 識別的正確率均超過87.5%, 統計結果表明文方法可適用在含有一對多關系詞的復句關系識別任務上. 同時將測試集部分結果輸出, 如表5所示. 語料中用縮寫標注復句的關系類別,模型將測試集結果輸出, 數值按照三分系統二級類的順序依次輸出, 0表示因果句, 1表示假設句, 2表示推斷句, 依次類推. 由表4輸出結果可知, 本文使用的模型能夠正確輸出測試集中含有這些關系詞的有標復句的關系類別, 證明了本文方法的有效性.

表4 測試集中跨類別關系詞統計情況

表5 測試集部分一對多關系詞結果
本文提出BERT-FHAN模型, 進行復句關系類別識別. 實驗結果表明, BERT-FHAN模型在復句關系識別任務上相對于多個深度學習模型, 表現較好. 融入15種不同語句特征組合時, 實驗結果較基線模型均有所提升, 其中, 融合候選關系詞、詞性語句特征得到的準確率最高. 充分證明了方法的有效性與適用性. 同時,發掘出對關系類別有顯著影響的語句特征, 彌補了深度學習模型對特征利用的不可解釋的不足.
在今后的工作中, 我們將進一步挖掘復句語句特征,研究在深度學習模型中更有效利用語言學研究的成果.目前, 無標復句關系識別的正確率還很低, 我們將探索借助有標復句關系識別來進行無標復句關系識別的方法.