張 倩,高建瓴,丁 容
(貴州大學 大數據與信息工程學院,貴陽 550025)
隨著自然語言處理以及人工智能的快速發(fā)展,已陸續(xù)涌現出各類超大量級的文本信息。在大量的文本信息中,中文分詞(CWS)、通常是作為中文自然語言處理的第一步,則被認為是一項基于字符的序列標記任務,而分詞結果的好壞將直接影響著后續(xù)的應用。因此,中文分詞就成為許多領域研究中至關重要的一部分。通過提高中文分詞的準確性,則使得人力投入的減少也已成為可能。
中文分詞的任務是將整個句子在不改變語義的前提下切分成一個個單詞。不同于英語、德語、法語等語言,中文詞與詞之間沒有明確的空格分隔符,加上漢字文化博大精深,經常會遇到一個詞語代表多個含義、一個詞語以多種形式出現的情況,這種特性很容易造成切分歧義,例如,輸入的句子為“重慶市長江東路”,只有被切分為“重慶市”和“長江東路”時,切分正確,對應的檢索結果才是準確的。如果錯誤切分為“蘇州市長”和“江東路”,檢索結果就會出現偏差。通過上述的例子可知,作為自然語言處理中底層任務之一的分詞,對于準確率有著較高要求。
近些年來,分詞研究已經得到各方關注,且已掀起研究熱潮,目前就提出多種算法、旨在提高分割準確率,但是也還未見到能夠媲美人工分割精準度的算法,故其研究仍具有重要的應用價值。例如,文獻[4]提出了一種利用膨脹卷積神經網絡DCNN來進行中文分詞的方法,解決了現階段一些模型存在的計算速度慢、輸入特征不足等問題。文獻[5]提出使用長短時記憶神經網絡(Long Short-Term Memory,LSTM)學習中文分詞的字符表示,使用CRF(Conditional Random Field)聯合解碼標簽的方法。文獻[6]提出了一種改進BiLSTM-CRF網絡的分詞方法,解決了原分詞模型在編碼過程中的記憶壓縮問題。文獻[7]提出了改進卷積神經網絡(Convolutional Neural Networks,CNN)的中文分詞模型,克服了模型過于依賴人工處理特征的缺點,簡化了模型結構,從而提高了分詞準確率。文獻[8]提出一種基于樣本遷移學習的中文分詞方法,增強了分詞模型的領域自適應能力,然而這些分詞方法往往忽略了中文的本質特征。自Mikolov等人提出Word2Vec技術以來,單詞或字符的向量表示已成為神經網絡解決不同語言的NLP任務的先決條件。現有的中文分詞方法忽略了一個重要事實,即漢字同時包含語義和語音含義,目前存在各種各樣的漢字表示法用于捕捉這些特征。最直觀的是通過使用拼音來表達漢字。從學習漢字到推廣普通話、從文本輸入到信息溝通、從教育普及到國際交流,漢語拼音早已滲透進日常生活中的各個領域。但漢字中也還存在著不少多義詞、同音詞,這在中文分詞任務中既常見、又關鍵。除了拼音之外,五筆輸入也是漢字語義表達的另一種有效表征。因為漢語中有著大量較為豐富的象形文字,且五筆在嵌入結構方面更加有效,因此與偏旁相比,五筆包括了更加系統(tǒng)、全面的圖形和結構信息,且這些信息與語義以及詞語邊界高度相關。
基于此,為了提高中文分詞的準確性,本文提出一種結合拼音特征、五筆特征、字符特征的共享Bi-LSTM-CRF模型,可以有效地融合多種嵌入,并可共享有用的語言特征,并且通過在Bakeoff2005和CTB6語料庫上進行評估實驗證明,特征融合有助于在沒有外部詞匯資源的情況下得到高準確率的中文分詞結果。
為了充分利用漢字的特征,本文將字符級嵌入分為3部分:文本特征的字符嵌入、語音特征的拼音嵌入和結構級特征的五筆輸入嵌入。對此擬做研究闡釋如下。
中文分詞(CWS)通常被認為是一種基于字符的序列標記任務,主要作用是用{,,,}標記方案來標記每個字符。現有的大量研究表明,字符嵌入是神經網絡最基本的輸入。然而,漢字往往包括語音、語義和象形文字三個方面,因此在本文中,將融合中文特征,以字符作為基本輸入,并融入另外2種表示法、即拼音和五筆作為輔助。
漢語拼音是一種輔助漢字讀音的工具,代表漢字的發(fā)音,其作用與英語中的音標無異。此外,拼音與語義有高度相關的聯系,一個漢字可能存在不同的拼音、不同的語義,這種現象在中文文本中極為常見,被稱為多音字、多義詞。圖1展示了多音字以及多義詞的幾個例子。例如,“樂”字在圖1(a)中有2種不同的發(fā)音。當發(fā)音為“l(fā)è”時,代表快樂、愉悅。然而,“yuè”的發(fā)音指的是音樂、樂器等意思。同樣,“惡”字在圖1(b)中,甚至有4種含義,且有4種不同的拼音。通過拼音這一輔助工具,就能夠在漢字和語義之間建立起直觀聯系。既然人類可以根據不同的發(fā)音來理解漢字的不同含義,那么神經網絡也有可能自動學習語義和拼音之間的映射。顯而易見的是,拼音可以提供中文分詞所需的額外語音和語義信息,而且拼音是漢字計算機的主要輸入方法,很容易用拼音作為補充輸入來表示漢字。

圖1 多音詞以及多義詞示例Fig.1 Examples of polysyllabic words and polysemous words
五筆是五筆字型輸入法的簡稱,五筆字型是按照漢字的筆畫和字形特征來進行編碼,屬于典型的形碼輸入法。由于大量的漢字都是象形文字,因此使用五筆輸入可以用來找出潛在的語義關系以及詞語邊界,且往往具有相似結構(例如部首)的漢字更有可能組成一個單詞。要了解其在結構描述中的有效性,必須遵循五筆輸入法的規(guī)則。五筆是一種高效的編碼系統(tǒng),每個漢字最多使用4個英文字母來表示。具體來說,這些字母分為5個區(qū)域,每個區(qū)域代表一種筆劃。
圖2提供了一些漢字及其相對應的五筆碼(4個字母)的示例。例如圖2(a)中的“抬”、“扶”和“打”都是與手有關的動詞,在中文文本中,這些漢字都屬于左右結構,并且具有相同的部首(在五筆碼中為“R”)。也就是說,在語義上高度相關的漢字通常具有相似的結構,且這些結構可以被五筆完美地捕捉到。此外,結構相似的漢字一般更有可能組成一個單詞。例如圖2(b)中的“花”、“草”和“苗”都是名詞。而且也都是上下結構,并具有相同的部首(五筆碼中的“A”)。而這些字通常可以組成詞語,例如“花草”和“花苗”等。

圖2 漢字的五筆輸入Fig.2 Five-stroke input of Chinese characters
此外,五筆碼中的順序也是解釋漢字關系的一種方法。在圖2中,很容易找到一些有趣的編碼規(guī)則。例如,研究后可以得出結論:
(1)五筆碼的順序意味著漢字結構的順序,如:“IA”與“AI”和“IY”與“YI”。
(2)有些編碼是具有實際意義的,如:“I”是指水。
因此,在本文提出的多特征模型中,五筆是一種有效的漢字編碼,可以作為本文的特征來進行融合。
為了充分利用漢字的各種特征,本文引入了拼音嵌入和五筆嵌入作為2個補充字符級特征。本文首先按照Lample等人的方法對字符進行預處理,獲得基本字符嵌入。同時使用Pypinyin庫注釋拼音,并使用官方轉換表將漢字轉換為五筆編碼。接著基于Word2Vec來得到拼音、五筆編碼的向量映射。為了簡易方便,該文將拼音編碼和五筆碼視為由Word2Vec處理得到的標準字符單元,這可能會丟棄掉一些語義相似性。但值得關注的是,考慮到中文結構是按字母順序編碼的,所以五筆編碼中的序列順序是一個有趣的特性(見下文第2節(jié)),對于這一點可以展開進一步研究。雖然本文生成拼音特征是依賴于外部資源,但五筆編碼是在轉換表下進行轉換的,不會引入任何外部資源。
近年,各種各樣的深度學習方法被廣泛應用在中文分詞任務中,通常采用RNN模型及其變體結構,在理論上來說,RNN模型可以有效捕獲遠程上下文之間的關系,但其缺點是會因為梯度消失或是梯度爆炸而失效。因此,在實際應用中往往會選擇LSTM來解決這類問題。在中文分詞任務中,將會同時訪問當下時刻的上下文,以便去預測當前的時刻,但是LSTM的隱藏狀態(tài)()只會接受狀態(tài)之前的信息。因此本文使用Bi-LSTM模型來獲得每一個狀態(tài)的上下文,且從左到右和從右到左使用2個相對獨立的隱藏狀態(tài),用來同時捕獲過去和未來的信息。而用CRF模型實現中文分詞,則可在具有良好學習性能的同時從一定程度上實現對生詞的識別。
基于此,本文采用BiLSTM-CRF作為本次實驗的基線模型,該基線模型不包含拼音嵌入和五筆嵌入,類似于Lample等人提出的架構。為了獲得多個功能的有效融合和共享機制,本文設計了一種基于特征融合的共享Bi-LSTMs-CRF模型架構如圖3所示。接下來,本文將給出詳細的解釋和分析。

圖3 基于特征融合的BiLSTM-CRF網絡結構Fig.3 BiLSTM-CRF network structure based on feature fusion
在該模型中,本文將字符、拼音和五筆嵌入順序輸入到具有相同參數的堆疊Bi-LSTM網絡中,若將3個LSTM網絡設置為互為獨立的參數,這將忽略不同嵌入之間的相互作用,而且在訓練期間會導致計算成本有較大增加。因此為了在保持訓練效率的同時解決特征依賴性的問題,本文模型引入了一種共享機制,如圖4所示。該模型不是讓拼音和五筆使用不同的Bi-LSTM網絡,而是通過字符嵌入來共享相同的LSTM。研究中推出的數學公式如下:

圖4 Shared Bi-LSTMs-CRF模型Fig.4 Shared Bi-LSTMs-CRF model


本節(jié)中,通過實驗結果驗證了多特征融合對中文分詞的有效性。對此研究可知,本文提出模型Shared Bi-LSTMs-CRF可對數據集進行有效訓練,雖然成本略高于基線模型,但能得到更高的準確率。
為了使實驗結果更具有可比性和說服力,本文在SIGHAN 2005(Emerson,2005)和中國樹庫6.0(CTB6)數據集上評估了本文模型,并將利用標準的Word2Vec工具來訓練拼音、五筆等多重嵌入。實驗中,本文根據Yao等人調整了嵌入大小,設置256,并將Bi-LSTM層的數量設置為3。
本文全面分析了研究提出的模型架構。模型在5個數據集上的分詞性能見表1。由表1可知,與僅以字符嵌入為輸入的基線模型相比,多特征融合模型得到了相當大的改進。且本文提出的Shared Bi-LSTMs-CRF即使在可訓練參數較少的情況下也能獲得更好的性能。

表1 模型在5個數據集上的分詞性能Tab.1 Model's word segmentation performance on five data sets
為了證明融合拼音特征和五筆輸入特征對中文分詞的有效性,將該文提出的方法與近年其他的先進分詞方法在Bakeoff 2005語料庫上進行了比較,其結果見表2。

表2 與其他文獻的模型在Bakeoff 2005四個數據集上的分詞性能比較Tab.2 Comparison of word segmentation performance with other literature models on four data sets of Bakeoff 2005
由表2可以看出,該文提出的基于多特征融合的Bi-LSTMs-CRF模型的在AS和CityU數據集上值分別達到了97.0%和97.4%,且在沒有利用外部資源的情況下(例如預先培訓的字符或單詞嵌入、額外的字典、有標簽或無標簽的語料庫),也能在PKU和MSR數據集上取得具有競爭力的成績。此外值得注意的是,經研究發(fā)現,AS和CityU數據集的容量更大、詞匯量更高,研究人員認為在這2個數據集上進行實驗更具有真實性,這也再次驗證了本文所提出的拼音和五筆嵌入能夠降低大規(guī)模數據中的誤切分率,且能夠得到更準確的分詞結果。
本文通過在CTB6和CityU上進行嵌入消融實驗來分別驗證拼音和五筆嵌入的有效性。CTB6和CityU上的嵌入消融見表3。表3中,+PY和+WB表示在基線模型下分別注入拼音和五筆嵌入。與普通的單字符嵌入模型、即基線模型相比,嵌入拼音特征和五筆特征在分數上能得到顯著提高。此外,與嵌入拼音特征的模型相比,融入五筆特征得到的效果更為顯著。

表3 CTB6和CityU上的嵌入消融Tab.3 Embedded ablation on CTB6 and CityU
本文提出一種融合字符特征、拼音特征、五筆輸入特征的中文分詞模型Shared Bi-LSTMs-CRF,該模型通過利用漢字的語音、結構和語義特征來達到提高分詞準確性的目的。本文通過對比實驗以及消融實驗來驗證了拼音和五筆嵌入在中文分詞任務中起到了極大的作用,此外,本文提出了一個Shared Bi-LSTMs-CRF模型來融合多重嵌入,并在5個公共語料庫中驗證其可行性。經多個實驗結果得到:本文所提出的共享的Shared Bi-LSTMs-CRF模型可以有效地進行訓練,并在AS和CityU這2個語料庫上能夠得到最高準確率,而且證明了融入拼音嵌入以及五筆輸入嵌入可以提高模型的性能。在未來,希望可以將中文語言特征繼續(xù)應用于其他NLP任務(如實體識別和中文分類等)中。