胡欽諳
在語文辭書編纂工作中,語料庫正發(fā)揮著日益重要的作用。目前,漢語辭書編纂者普遍采用北京語言大學BCC現代漢語語料庫(荀恩東,饒高琦等 2016),北京大學中國語言學研究中心CCL語料庫(詹衛(wèi)東,郭銳等 2019)等通用或特定領域語料庫,或者使用通用搜索引擎(如百度)等作為檢索工具。用戶輸入關鍵字、詞或短語等作為檢索 詞,[1]由檢索系統(tǒng)返回排序后的句子列表,然后由人工進行篩選。
然而,隨著語料庫規(guī)模不斷擴大,返回結果的數目動輒逾萬。人的精力有限,往往只能聚焦于返回結果列表的頭部。有時要在語料庫中找到一個恰當的例句,仿若大海撈針。海量檢索結果與用戶趨于飽和的語料消化能力之間的矛盾已成為辭書編纂過程中的痛點之一。
本研究觀察到,辭書編纂人員在檢索語料庫時,實際上更為關注的是檢索詞出現的語境(或稱上下文)。語境具有相對穩(wěn)定的語言學規(guī)律,語料庫中往往存在著大量符合同一語言規(guī)律的語境。這種同質的語境對辭書編纂提供的價值相對有限。此時,單純依靠增加語料數量對辭書編纂的貢獻已呈現出邊際效益遞減的現象。
因此,本研究嘗試以海量檢索結果中的同質語境為突破口,通過人工智能方法,以可視化及可交互的形式為辭書編纂人員展現檢索結果分布的概貌,批量處理同質的語境,以提升辭書編纂的效率。
語料庫檢索系統(tǒng)不同于通用搜索引擎。通用搜索引擎通常會賦予來自權威網站、高點擊率的網頁更高的權重,并考慮個性化等因素;而語料庫檢索系統(tǒng)則需要更多地聚焦于檢索詞出現的語境。然而,刻畫語境所涉及的語言現象相當復雜。
首先,語境的范圍具有模糊性,常隨檢索詞的不同而靈活多變。
其次,現代漢語語法信息詞典(在2017年由俞士汶、朱學鋒研制)從詞語語法屬性的角度對語境進行了抽象概括。具體地,該詞典按形、音、詞類、詞項、義項等維度對同形詞及其語境進行區(qū)分。然而詞項、義項等信息都隱含在語境中,對于語料庫檢索系統(tǒng)來說缺乏顯式的說明。
最后,雖然共現為刻畫語境提供了顯式特征,但是語料庫中存在著大量語境難以利用共現進行區(qū)分。如例(1)、例(2)中的“松”,屬于“常綠喬木”義項;例(3)、例(4)中的“松”,屬于“放開,使松散”義項。然而,下面四個句子的語境之間并沒有任何交集,因此無法利用共現判斷出“松”分別在例(1)、例(2)和例(3)、例(4)的語境下語義相近。
(1) 大松樹沒有回答。
(2) 過了幾天,松鼠再也受不了啦。
(3) 現在給你松綁。
(4) 千萬不能松手!
類似地,語料庫中亦存在大量難以通過分詞、詞性標注甚至句法分析等手段區(qū)分的語境。例如,從句法的角度來看,例(5)與例(6)中的“服”都與其右側的字構成并列復合詞,語境中都出現了“需要”,并且都以名詞作為賓語;但是從語義的角度,例(5)中“服”屬于“吃(藥)”義項,而例(6)與例(7)中的“服”語義相近,屬于“順從” 義項。
(5) 她需要按時服用藥物。
(6) 士兵需要服從命令。
(7) 母親信服地點點頭。
義項和釋義是對詞匯語義的高度抽象,是語文辭書編纂工作的重點和難點。吳云芳、俞士汶(2006)指出,語境是計算機區(qū)分詞匯語義的最終憑借。因此,在為語文辭書編纂服務的語料庫檢索系統(tǒng)中,語境的量化須圍繞著檢索詞的語義,對檢索詞在不同語境下的語義具備基本的辨別能力。
本文將詞匯在特定語境下的語義稱為語境相關的詞匯語義。
在向量空間模型中,詞匯的語義可以表征為向量空間中的點,詞匯之間的語義距離可以表征為點間的距離。首先,向量空間模型可以為理解語境相關的詞匯語義提供一種全局視角。檢索詞的基本義及其引申義、比喻義等新義、不同義項以及同一義項的不同屬性等均可以表示為同一語義空間中的點。一般來說,同一義項屬性之間的語義距離較近,而不同義項之間的語義距離較遠。如圖1所示,“蘋果”的基本義、品牌義項、蘋果樹義項、果實義項及其價格屬性均可以表示為向量空間中的點。其中,“蘋果”的價格屬性也是“蘋果”本身所蘊含的語義的一部分。
圖1 向量空間模型中語境相關的詞匯語義
其次,向量空間模型可以為理解語境相關的詞匯語義提供一種動態(tài)視角。當檢索詞出現在不同語境中時,在形、音、義、詞法、句法及共現等各維度表現出的差異,可以認為是檢索詞與語境互動的結果。語境對檢索詞的影響可以體現在檢索詞的語義上。一方面,與檢索詞存在照應關系的語境的語義將深刻地影響檢索詞的語義;另一方面,不存在照應關系的語境對檢索詞語義的影響則微乎其微。在這里,照應泛指依存、指代等各種具有語言學意義的關系。
上述觀點在語義空間中就體現為詞匯的語義位置不是固定的,而是會隨語境而發(fā)生位移。位移的原點代表基本義,終點代表發(fā)生位移后的某個義項、屬性、引申義或比喻義等新義。不同的語境帶給檢索詞語義的影響不同,造成最終檢索詞在語義空間中的位置也各不相同。如圖1所示,例(8)中的“手機”以及例(9)中的“吃”將“蘋果”從基本義拉向了兩個相反的方向。
(8) 他買了蘋果手機。
(9) 我喜歡吃蘋果。
鑒于語境對檢索詞語義的影響可以體現在檢索詞在語義空間中的位移上,那么語境的量化問題就可以轉化為語境相關的詞匯語義量化問題來解決。(詳見圖2)
圖2 將語境量化問題轉化為詞匯語義量化問題
神經網絡中的注意力機制、上下文相關詞向量以及預訓練語言模型等技術為語境相關的詞匯語義提供了量化方案。
注意力機制刻畫了語境內詞與詞之間的各種照應關系(Vaswani,Shazeer,Parmar,et al.2017)。它可以突破語境被限定在預定義寬度的窗口范圍內的限制,處理長距離依賴關系時依然有效。照應關系的強度通過注意力權重反映出來。
在神經網絡中,詞的語義以詞向量(或稱詞嵌入)的形式表示。(Mikolov,Sutskever,Chen,et al.2013)詞向量由低維、稠密的實值組成。詞向量使得語義匹配可以不再依賴共現等顯式特征,可以進行模糊匹配。上下文相關詞向量是指向量數值會隨語境不同而發(fā)生變化的詞向量,其數值的變化可以由注意力機制等引發(fā)。
預訓練語言模型是使用海量語料訓練的參數量巨大的神經網絡模型(Devlin,Chang,Lee,et al.2018)。詞向量的初始值以及詞與詞之間的注意力權重等均保存在預訓練語言模型中。圖3展示的是漢語預訓練語言模型Chinese-BERT-wwm-ext[3](Cui,Che,Liu,et al.2021)在輸入例(10)后得到的注意力權重。(Vig 2019)注意力權重越高,連線顏色越深。其中,左圖“她”和“女”“媧”、中圖“這”和“作”“品”之間的照應關系是指代,右圖“對于”和“感到”之間的照應關系是依存。
圖3 注意力機制中的指代及依存關系[2]
(10) 女媧對她這優(yōu)美的作品,感到很滿意。
檢索詞的上下文相關詞向量可以用于對語境相關的詞匯語義進行量化表征。在神經網絡的輸入層,詞向量的初始值代表詞匯的基本義。在輸入層之后的各層,與檢索詞照應關系強的語境中的詞向量的數值將被更多地累加到檢索詞的詞向量上,而照應關系弱的語境中的詞向量則對檢索詞的詞向量的影響較小。隨著神經網絡層數不斷加深,各種存在照應關系的語境的詞向量就被逐層累加到檢索詞的詞向量上。體現在語義空間中,檢索詞的語義位置就從詞向量的初始值,隨著存在照應關系的語境的語義被逐層累加到檢索詞的語義上,不斷發(fā)生位移。
例如,圖4中的注意力權重顯示“女”與“媧”之間存在著強烈的照應關系。值得注意的是,這種照應關系是單向的。這是因為“媧”的語義比較單一,比“女”更接近“女媧”的語義。這種單向照應關系使得“女”的語義需要做出重大調整才能得以靠近“女媧”的語義。具體地,如圖5所示,“女”的語義受“媧”的語境影響出現了較大位移,向“媧”靠近;而反之則不然,“女”作為“媧”的語境,對“媧”語義則影響不大。
圖4 注意力機制中的構詞關系
圖5 語境“媧”對“女”語義的影響
實驗語料選取自人民教育出版社、語文出版社、北京師范大學出版社和江蘇教育出版社出版的中小學語文教材,句子長度不超過128個字,合計3萬句。
實驗使用經典的漢語預訓練語言模型Chinese-BERT-wwm-ext(Cui,Che,Liu,et al.2021)計算上下文相關詞向量。圖6是模型輸入的示例。輸入時按照BERT的輸入格式,句子前后填充[CLS]、[SEP]。為了消除BERT中位置嵌入(position embeddings)對檢索詞向量的影響,檢索詞統(tǒng)一放在輸入序列正中間的位置,左右兩側的語境長度相同,前后空位填充[PAD]。輸出值取輸入層詞向量初始值以及BERT內部12層隱狀態(tài)的均值,作為檢索詞上下文相關詞向量。對輸出的向量采用tensorflow embedding projector[4]及UMAP(Uniform Manifold Approximation and Projection)[5](McInnes,Healy,Melville 2018)降維至三維空間進行可視化。
圖6 檢索字居中輸入
圖7—圖9是為辭書編纂人員展現的可視化界面。圖中的三維空間表示檢索詞的語義空間,圓點表示檢索詞在一條檢索結果語境下的語義,圓點的位置由檢索詞上下文相關詞向量決定。用戶可以點擊圓點查看該圓點對應的檢索結果原文,也可以對檢索結果進行拖拽旋轉、縮放、選擇、查找、重置等操作。
以“打”字為例,在語料中檢索“打”字時共返回480條檢索結果。圖7將“打”字在所有這些檢索結果中的語義展現在同一界面中,其語義分布自然呈現出聚集的狀態(tài)。這有助于辭書編纂人員掌握檢索結果分布的概貌,識別同質的語境。
圖7 “打”的檢索結果
圖8顯示出拖拽一個圓點至前景放大后的局部結果,拖拽時與該圓點語義相近的圓點也會被一同置于前景??梢钥闯?,這些語義相近的“打”對應的檢索結果其右側語境都是“算”,說明這些語境中的“算”對“打”的語義產生了顯著影響。這些語義還可以進一步細分。圖中上部“打算”承接的是賓語從句,出現在疑問句中的“打算”在圖下部,出現在否定詞后的“打算”在圖左側,圖右側“打算”是名詞性用法,說明這四種不同的語境對“打”的語義各自產生了不同的影響。
圖8 “打”字右側為“算”的檢索結果
當用戶點擊選擇一個圓點時,界面右側將列出與在該語境下檢索詞語義相似的檢索結果,左側將標示出相似檢索結果在語義空間中的位置。例如,圖9列出與例(11)中的“打”語義相似的檢索結果。
圖9 與例(11)中的“打”語義相似的檢索結果
(11) 他態(tài)度粗暴嚴厲,常常打學生。
16名辭書編輯被隨機分為兩組,為給定的字頭編寫義項條目。兩組的不同在于檢索結果的展現形式?;谏窠浘W絡的語料庫檢索系統(tǒng)使用Tensorflow的可視化界面進行操作。對照組使用AntConc[6]concordance,檢索結果列表按檢索詞右側及左側各一個字進行排序,圖10顯示的是“點”字檢索結果。
圖10 使用AntConc concordance對檢索結果列表排序
實驗選取了《新華字典》第12版中義項最多的“干、生、開、點、下、子、起、對”8個字。實驗要求辭書編輯在不使用互聯網、手機或查字典的情況下,僅根據前述教材語料庫的檢索結果及自身語感為給定的字頭歸納義項,給出義項釋義及例詞,但無需推敲釋義的措辭。
實驗結果詳見表1。表中對標義項數是指以《新華字典》第12版中的義項為標準,與辭書編輯給出的義項進行比對時,相同的義項數。[7]兩組對標義項數分別是6.38、6.88,說明檢索結果的兩種展現形式在義項分立任務上的效能大致相同。
表1 字頭及編纂時間、對標義項數
基于神經網絡的語料庫檢索的優(yōu)勢主要體現在效率方面。兩組分別平均用時34.63及47.38分鐘,前者比對照組節(jié)省了26.92%的時間。
本文以海量檢索結果中的同質語境為突破口,探討了基于神經網絡的語料庫檢索系統(tǒng)的構建。本文將語境的量化問題轉化為語境相關的詞匯語義量化問題,使用上下文相關詞向量使得檢索結果的分布呈現出聚集的狀態(tài),為語料庫檢索提供了可視化及交互功能。
義項分立的實驗表明,基于神經網絡的語料庫檢索系統(tǒng)有助于辭書編纂人員對檢索結果去蕪存菁,提升辭書編纂效率。
在后續(xù)研究中,我們將持續(xù)改進可視化的展現形式,把檢索詞從字擴展至詞及短語,并為詞語辨析、例句甄選等更多的語文辭書編纂應用場景提供量化依據。
附 注
[1] 本文中檢索詞泛指用戶輸入的關鍵字、詞、短語等。
[2] 圖中Layer i表示神經網絡第i層,Head i表示第i個注意力頭,[CLS]和[SEP]是標志位,前者置于句首,后者置于句尾。
[3] https://github.com/ymcui/Chinese-BERT-wwm。
[4] https://projector.tensorflow.org/。
[5] UMAP算法學習的是高維空間中的流形結構及其低維表示。
[6] https://www.laurenceanthony.net/software。
[7] 計數以義項為單位計算,而非以子義項為單位計算。例如,“下”義項②由高處到低處有 6個子義項,包括1.進2. 離開3. 往……去4.投送,頒布5.向下面6.降落等,計數時按一個義項計算。