復旦大學提出中文分詞新方法,Transformer連有歧義的分詞也能學

机器之心發表於2019-07-01
復旦大學邱錫鵬等研究者提出新型分詞方法,只有能 Cover 多個分詞標準和最新 Transformer 的方法,才是好的中文分詞方法。

從不同的角度看待中文句子,可能使中文分詞任務(CWS)的標準完全不同。例如「總冠軍」既可以看成獨立的詞,也能理解為「總」和「冠軍」兩個詞。以前這種情況非常難解決,我們只能定一些字典或規則來加強這些詞的劃分。

但這些應該是分詞模型應該要學的呀,我們不能只關注分詞模型在單一標準中的表現,還需要關注不同分詞標準中的共同特性。這些共同特性才是模型需要重點學習的,它們能構建更合理的分詞結果。

鑑於這一點,復旦大學提出了一個簡潔而有效的模型,它能適用於多種中文分詞標準。這種模型使用共享的全連線自注意力機制,從而能根據不同的標準進行分詞。

研究者已經在八個資料集上測試了這種基於 Transformer 的中文分詞,它天然使用了多個分詞評價標準。結果說明,與單一標準的學習不同,每個語料上的表現都得到了顯著提升。

論文:Multi-Criteria Chinese Word Segmentation with Transformer

論文地址:https://arxiv.org/pdf/1906.12035.pdf

中文分詞難在什麼地方

和英語不同,中文句子由連續的漢字構成,詞語之間缺乏明顯的分界線。由於詞語被認為是最小的語義單位,因此中文分詞任務十分重要。

目前中文分詞效果最佳的方法是監督學習演算法,它們將中文分詞任務視為基於漢字的序列標註問題。在這個問題中,每個漢字都有對應的標籤,用於表示詞和詞之間的分界資訊。

然而,構建高質量的帶標註中文分詞語料面臨兩個挑戰。首先,標註需要語言學專家,成本高昂。其次,現有幾個相互衝突的、依據不同語言學角度的分詞標準。

例如,對一個句子,不同語料的分詞標準是不一樣的,它們往往做不到一致性的分割。

復旦大學提出中文分詞新方法,Transformer連有歧義的分詞也能學

表 1:不同的分詞標準對比。

如表 1 中所示,給定句子「林丹贏得總冠軍」,在三個常用語料中,北大的人民日報語料(PKU)、賓州中文樹庫(CTB)和微軟亞洲研究院(MSRA)使用的標註標準不同。

現在,大部分中文分詞方法集中於提升單一分詞標準的表現。如果不能完全弄清楚使用不同標準的語料特徵,這種研究是浪費資源的。因此,如何高效利用這些(語料)資源依然是一個有挑戰性的問題。

以前有解決思路嗎?

雖然很大程度上中文分詞的難點在於標準不同,但幸運的是它們之間有一種共性知識。從一種分詞標準學到的知識可以給其他語料帶來收益。

在本論文之前的研究中,作者們考慮了一種多標準的中文分詞學習框架。具體來說,它們將每個分詞標準視為在多工學習下的單獨任務。在這個多工學習框架使用一個共享層級,用於提取不同分詞標準下都不變特徵。同時有一個內部層級用於提取對應不同分詞標準的特徵,這個內部層也是共享的,因為不同標準經常有重疊的地方。

例如,在表 1 中,CTB 和 MSRA 對詞語「林丹」的分詞標準是相同的,三個標準對「贏得」的分詞是一致的。因此,不同分詞標準間是有相同知識的,模型學習它們也是可能的。

基於 Transformer 的多標準中文分詞

論文提出了一個簡單的模型,模型能夠共享來自多個分詞標準中的知識,可以應對多標準中文分詞任務。由於 Transformer 的啟發,研究人員設計了一種完全共享的結構。在模型中,共享編碼器用於抽取對分詞標準敏感的語境特徵(criteria-aware contextual features),而共享解碼器則用於預測針對標準而不同的標籤(criteria-specific labels)。最終,他們在 8 個不同的分詞標準上進行了測試,使用了 5 個簡體和 3 個繁體中文的語料。實驗說明,模型可以有效提升在多標準分詞中文任務中的表現。

模型架構

在邱錫鵬等研究者的論文中,編碼器和解碼器可以共享所有的分詞標準。唯一的不同之處在於他們會採用唯一的指示器作為輸入,從而分辨不同的分詞標準。如下圖 1 展示了研究者提出的方法和以前模型的不同之處。

復旦大學提出中文分詞新方法,Transformer連有歧義的分詞也能學

圖 1:單分詞標準和多分詞標準所採用的架構,其中淡黃色的模組是不同標準所共享的部分。

如下圖二展示了多標準中文分詞模型的主要架構,其整體分為嵌入層、編碼層和解碼層。

復旦大學提出中文分詞新方法,Transformer連有歧義的分詞也能學

圖 2:研究者提出用於多標準中文分詞的模型。

嵌入層:嵌入層的目的即將詞對映某個向量,除了標準的字元嵌入,研究者還引入了分詞標準嵌入、位置嵌入、Bigram 嵌入三種額外資訊。其中分詞標準嵌入用來指定期望的輸出標準;二元語法嵌入用於加強字元級嵌入的能力,從而實現更強的分詞效果;最後的位置編碼也就是 Transformer 所需要的位置資訊了。

編碼層:編碼層就是一個 Transformer,主要會透過自注意力機制和 Multi-head Attention 模組抽取中文字的語義資訊。

解碼層:與標準多標準中文分詞不同,新模型的解碼層同樣是共享的,這主要歸功於嵌入層已經將分詞標準的相關資訊新增到字元上。研究者採用了條件隨機場多層感知機兩種解碼方式,並發現 CRF 效果要好一些,因此將其作為預設解碼層。

實驗

從 SIGHAN200 到 SIGHAN2008,實驗選擇了 8 箇中文分詞資料集。在它們之中,AS、CITYU 和 CKIP 是繁體中文資料集,而 MSRA、PKU、CTB、NCC 和 SXU 是簡體中文。除非另有說明,AS、CITYU 和 CKIP 都先從繁體轉換成簡體。

表 2 提供了 8 個資料集在預處理後的細節資訊。整個實驗使用標準的評價方法——評價精度、召回率和 F1 分數。

復旦大學提出中文分詞新方法,Transformer連有歧義的分詞也能學

表 2:預處理後的 8 個資料集的具體資訊。「Word Types」表示唯一詞的數量,「Char Types」表示唯一字的數量。「OOV Rate」表示集外詞所佔的百分比。

表 5 展示了模型在 8 個測試集上的表現。

復旦大學提出中文分詞新方法,Transformer連有歧義的分詞也能學

復旦大學提出中文分詞新方法,Transformer連有歧義的分詞也能學

表 5:模型在測試集上的表現。P、R、F、OOV 分別表示精度、召回率、F1 分數和不在詞表的詞語的召回率值。每個資料集上最高的 F1 分數和 OOV 值已加粗。

下圖 3 展示了 8 中不同分詞標準的二維 PCA 降維結果,它們都是透過本論文的模型學習而來。我們可以看到,8 種分詞標準在嵌入空間會對映到 8 個離散的點,這表明每一個分詞標準都有所不同。其中 MSRA 與其它分詞標準最為不同,可能的原因是 MSRA 將命名實體視為獨立的詞,這和其它分詞標準有很大不同。

復旦大學提出中文分詞新方法,Transformer連有歧義的分詞也能學

圖 3:多標準中文分詞學到的不同分詞基準

相關文章