這是復旦19年6月剛發的文章,初略看一遍,記筆記。chinese word segmentation簡稱cws
將多標準學習引入到cws,不同分詞標準語料共享common knowledge,能夠互相提公升;
作者提到應該是第一次從頭開始訓練transformer做分詞任務,避免了rnn和cnn的長依賴;
embedding都是pre-trained,另加pe、criterion embedding,bigram-embedding;
採用共享的全連線self-attention shared model,encoder和decoder都是shared;
用transformer效果顯著且模型簡單高效,且用乙個引數就能控制標準輸出;
transfer capability非常好——只需加入新的criterion embedding訓練;
中文分詞為什麼現存多標準——different linguistic perspectives
做多標準分詞模型的的原因——現存大多數方法只care model單一標準下的效能,造成資源浪費,不能很好的利用所有分詞標準的語料及挖掘他們之間的共性基礎知識。
提出乙個簡單高效的模型——fully-connected self-attention model,根據標準指標來指定期望的model output criterion.
中文分詞不像英文分詞,中文sentence是連續性的字元且words之間沒有明顯的區分邊界;
詞通常作為最小語義單元,so分詞成為乙個比較重要的最初步驟,為nlp的下游提供便利;
the-state-of-art 是有監督機器學習方法,大多數cws當成character-based 序列標註問題;
也有將神經網路引進來的,目的減少特徵工程的耗時耗力(我理解為前期特徵標註?),但他們還是比較依賴大規模的高質量標註語料;欲揚先抑作者指出這樣做的劣勢,語言標註需要語言學家燒錢,不同的語言學角度有不同的分詞標準,應該是想指出訓練的單一分詞標準依賴於訓練語料,不能很好的根據當前語言角度分詞;
舉個栗子:在不同語料庫上分詞結果是不一樣的。
巴拉巴拉講一堆,側面突然做這個多標準研究是有必要的,不然就是浪費資源!
主流的neural cws架構主要三部分:
character embedding layer——>map discrete language into distributed embeddingencoding layer,主流lstm(變種),還有部分rnn和cnn——>提取上下文特徵decoding layer,crf或mlp(多層感知機),文中crf效果更好(output公式不寫了)
在作者之前的研究工作中,提出了乙個cws的多標準學習框架(這是之前的工作,和本文的框架不一樣,文中還詳細列出了公式,肯定一下自己之前的輸出哈哈),把單一標準分詞任務當做mtl(multi-task-learing)中的單個任務,這個框架有乙個shared layer提取標準不變的特徵,還有乙個private layer提取標準特定特徵(我理解為敏感特徵),但這篇文章的實驗結果證明了沒有必要為每個標準單獨分個private layer,因為這些不同標準通常有部分是重疊的。
mtl-based 多標準分詞
不忘誇一誇transformer,畢竟靠他恰飯的嘛,其他的lstm指標都是弟弟,多虧了transformer的全連線self-attention網路,作者才可以設計出fully-shared 架構 for multi-c cws。這個架構中encoder和decoder都是shared,就上圖把private去掉,直接input給shared layer。圖中m表示criterion-embeddings,直接在input的時候指定你的output的criterion。
shared encoder:提取標準感知的上下文特徵;
shared decoder:**特定標準下的label,使用crf
資料集使用五個簡體語料,3個繁體語料,model超引數,6層self-attention,每層4個attention heads.
單標準學習對比模型:bisltms、stacked-bilstm、switch-lstms、transformer
多標準學習對比模型:mtl、switch-lstms、transformer
得出結論:單標準transformer效果明顯更好;多標準transformer相比單標準transformer大部分語料都有提高(f1),平均在0.4 gain。
作者在後面還做了部分切除實驗,分析model效果,主要針對crf、bigram、pretrained emb
crf對model沒有影響,且crf訓練和**占用大量時間,bigram和pretrained emb在有些分詞標準有影響,就平均效能來說,這二者對提公升模型都有貢獻,難分勝負。
還有乙個聯合語料預訓練embedding分析,因為上面的實驗雖然是正體中文,但作者都是轉換為簡體再預訓練生成embedding,因為他不確定繁體和簡體character有沒有聯絡,所以做了個實驗。我的理解是作者不確定簡體中文訓練的shared common knowledge對繁體語料標準有沒有作用。
比較:8個全轉簡體pre-train簡體input、8個全轉繁體pre-train繁體input、5簡3繁input8簡8繁pre-train、8簡8繁input8簡8繁pre-train,結果是聯合語料pre-train,繁體標準也接受到了簡體的有益資訊。
通過余弦相似,列出聯合預訓練語料中指定詞的前8個相似詞,證明中文和繁體character及其bigram能在embedding中很好的對齊。
作者做了個實驗,看model遷移到乙個新的標準上效果會怎麼樣,首先讓多標準模型(switch-lstms、transformer)在7個資料集上進行訓練學習,隨後只學習的新的criterion embedding和7個資料集上的少量訓練例項。
transformer-t表示遷移學習,否則是重新開始學習,重新開始訓練的transformer和switch-lstms在樣本很少的情況下,效能很低,繼續訓練的transformer-t效能最好。
作者期望能夠結合更多的序列標註任務來測試他們的模型。
中文分詞 中文分詞及其應用
一 中文分詞原理 中文分詞是指將乙個漢字序列切分成乙個乙個單獨的詞。分詞就是將連續的字序列按照一定的規範重新組合成詞序列的過程。現有的分詞方法可分為三大類,分別是基於字串匹配的分詞方法 基於理解的分詞方法和基於統計的分詞方法。一 基於字串匹配的分詞方法 基於字串匹配的分詞方法又稱機械分詞方法,它是按...
mysql 中文分詞 MySQL 中文分詞原理
一,首先我們來了解一下其他幾個知識點 1.mysql的索引意義?索引是加快訪問表內容的基本手段,尤其是在涉及多個表的關聯查詢裡。當然,索引可以加快檢索速度,但是它也同時降低了索引列的插入,刪除和更新值的速度。換通俗的話來講 mysql中的索引就是乙個特殊的平衡二叉樹,當在平衡二叉樹中搜尋某一條值的時...
英文分詞和中文分詞
由於英語的基本組成單位就是詞,所以相對來說簡單很多。大致分為三步 3s 根據空格拆分單詞 split 排除停止詞 stop word 提取詞幹 stemming 1 根據空格拆分單詞 這一步是是最簡單的一步,英語的句子基本上就是由標點符號 空格和詞構成,那麼只要根據空格和標點符號將詞語分割成陣列即可...