这群工程师,业余时间将中文 NLP 推进了一大步
內容一覽:什么?中文 NLP 和英文 NLP 研究的是兩個方向?源遠流長的漢語讓 NLP 的探索,變得步履維艱?我們將在本文的內容里,一起回顧最近以來,那些給中文 NLP領域帶來突破的幾個項目。
關鍵詞:NLP? ?中文? 預訓練模型??測試基準
有人這么說到,如果你研究過 NLP (自然語言處理),就會知道中文 NLP 有多難。
雖然同屬 NLP,但在英文和中文領域,因為語言習慣的不同,導致二者的分析和處理存在很大的差異,難點和挑戰也各不相同。
中文?NLP 中的一些方法
而且當前流行的一些模型,大都是針對英文開發,再加上在中文用語的特有習慣,很多任務(如分詞)都十分困難,導致了中文 NLP 領域進展十分緩慢。
但這一類問題或許將會很快被改變,因為自去年以來,陸續出現很多十分出色的開源項目,極大地推動了 NLP 中文領域的發展。
模型:中文預訓練的 ALBERT
2018 年,谷歌推出了語言模型 BERT ,Bidirectional Encoder Representations from Transformers,因為極其強勁的性能,一發布就血洗了多項 NLP 標準的榜單,隨即被封神。
但 BERT 的一個缺點就是太過龐大,BERT-large 擁有 3 億參數,訓練起來十分不易。2019 年谷歌 AI 推出了輕量級的 ALBERT (A Little BERT),它比BERT 模型的參數小了 18 倍,但性能卻在其之上。
ALBERT 推出時的性能對比
雖然解決了預訓練模型訓練成本高,參數量巨大的問題,但 AlBERT 還是只針對于英文語境,這讓專注中文開發的工程師感到了一絲無奈。
為了讓這個模型可在中文語境下使用,造福更多的開發者,數據工程師徐亮所在的團隊,于 2019 年 10 月,開源了首個中文預訓練的中文版 ALBERT 模型。
項目在 GitHub?上收獲了 2200?多個點贊
? 項目地址??
https://github.com/brightmart/albert_zh
這個中文預訓練的 ALBERT 模型(記作 albert_zh),是在海量中文語料上訓練而得來,其訓練的內容來自多個百科,新聞以及互動社區,包含了?30G 的中文語料,超過一億億漢字。
從數據對比來看,albert_zh 預訓練序列長度設置為 512,批次為 4096,訓練產生了 3.5 億個訓練數據,而另一款強勁的預訓練模型 roberta_zh ,預訓練產生了 2.5 億個訓練數據,序列長度為 256。
albert_zh 預訓練生成的訓練數據更多、使用的序列長度更長,預計 albert_zh 會有比 roberta_zh 更好的性能表現,并且能更好處理較長的文本。
albert_zh 和其他模型的性能比較
此外,albert_zh 訓練了從 tiny 版到 xlarge 版一系列不同參數量的 ALBERT 模型,極大地促進了 ALBERT 在中文 NLP 領域的普及。
值得一提的是在 2020 年 1 月,谷歌 AI 發布了 ALBERT V2 ,才緩緩地推出了 ALBERT 的谷歌中文版。
基準?:做中文 GLUE 的 ChineseGLUE
當有了模型之后,又該如何去判斷它們好壞呢?這需要有足夠好的測試基準,同樣在去年,針對中文 NLP 的基準測試 ChineseGLUE 也被開源。
ChineseGLUE 借鑒于業內著名的測試基準 GLUE,后者是九種英語語言理解任務的集合,其目標是推動通用的、魯棒的自然語言理解系統的研究。
此前沒有與 GLUE 相對應的中文版本,一些預訓練模型在不同任務上的公開測試無法得到評斷,導致中文領域 NLP 發展和應用出現錯位,甚至是技術應用上的滯后。
面對這種情形,AlBERT 第一作者藍振忠博士,ablbert_zh 開發者徐亮等 20?多位工程師,共同推出了針對中文 NLP 的基準:ChineseGLUE。
? 項目地址??
https://github.com/chineseGLUE/chineseGLUE
ChineseGLUE?的出現,讓中文被納入作為新模型評價的一個指標,對中文預訓練模型的測試,形成了一個完整的評價體系。
這個強大的測試基準,包含了以下幾個方面的內容:
1)包含若干句子或句子對的中文任務基準測試,覆蓋多個不同程度的語言任務。
2)提供性能評估的排行榜,排行榜會定期更新,以此來提供模型的選擇依據。
3)收集了一些基準模型,包含開始的代碼、預訓練模型 ChineseGLUE 任務的基準,這些基準在 TensorFlow,PyTorch,Keras 等框架下可用。
4)擁有預訓練或語言建模研究的巨型原始語料庫,大約達到了 10G(2019 年),而且計劃到 2020 年底將擴大到充足的原始語料庫(如 100G)。
項目于 2019 年 10 月增加了評測網站
ChineseGLUE 的推出和不斷完善,有望像 GLUE 見證 BERT 出現那般,見證更強大的中文 NLP 模型誕生。
2019 年 12 月 11 月底,該項目遷移至更全面的更多技術支持的項目:CLUEbenchmark/CLUE。
? 項目地址??
https://github.com/CLUEbenchmark/CLUE
數據:史上最全數據集、最大語料庫
有了預訓練模型和測試基準,還有一個重要的環節在于數據集、語料庫等數據資源。
這就促成了一個更全面的組織 CLUE?,CLUE 為 Chinese GLUE 的縮寫,這是一個為中文語言理解提供評估基準的開源組織,他們關注的方向有:任務和數據集,基準,經過預訓練的中文模型,語料庫和排行榜發布。
前段時間,CLUE 發布了最大最全的中文 NLP 數據集,涵蓋 10 個大類共 142 個數據集,CLUEDatasetSearch。
最終的網頁界面展示
? 項目地址??
https://github.com/CLUEbenchmark/CLUEDatasetSearch
其內容包括?NER、QA、情感分析、文本分類、文本分配、文本摘要、機器翻譯、知識圖譜、語料庫以及閱讀理解等當前研究的全部主要方向。
只要在網站頁面上鍵入關鍵詞,或者所屬領域等信息,就能搜索到相應的資源。每一個數據集,會提供名稱、更新時間、提供者、說明、關鍵字、類別以及論文地址等幾方面的信息。
最近,CLUE 組織又陸續開源了 100 GB 的中文語料,以及高質量的中文預訓練模型集合,并且在 arViv 提交了一篇論文。
https://arxiv.org/abs/2003.01355
在語料方面,CLUE 開源了 CLUECorpus2020:Large-scale Pre-training Corpus for Chinese 100G 的中文預訓練語料。
這些內容,是對 Common Crawl 數據集的中文部分,進行語料清洗后得到的數據。
它們可直接用于預訓練、語言模型或語言生成任務,或發布專用于中文 NLP 任務的小詞表。
使用小數據集在 BERT-base 上的性能對比
? 項目地址??
https://github.com/CLUEbenchmark/CLUECorpus2020
在模型合集方面,則是發布了 CLUEPretrainedModels:高質量中文預訓練模型集合---最先進大模型、最快小模型、相似度專門模型。
大模型(第三行)性能對比
其中大模型取得與當前中文 NLP 效果最佳模型一致的效果,某些任務有勝出;小模型速度比 Bert-base 提升了 8 倍左右;語義相似度模型,用于處理語義相似度或句子對問題,大概率比直接用預訓練模型效果更優。
? 項目地址??
https://github.com/CLUEbenchmark/CLUEPretrainedModels
這些資源的發布,某種程度上來講,像是推動發展進程的燃料,而足夠充足的資源,或許將開啟中文 NLP 行業的飛奔之路。
?
他們讓中文?NLP 變得?Easy
在語言角度來說,中文和英文是全球使用人數最多,影響力最大的兩種語言,但因為不同的語言特色,在 NLP 領域的研究上也面對著不同的問題。
?
雖然中文的 NLP 發展,相比于機器能更好理解的英文研究,確實要困難和滯后了一些,但正是因為有文中那些愿意推動中文 NLP 發展的工程師,不斷地探索并分享自己的成果,才能讓這些技術能夠更好地進行迭代。
CLUE 的幾位代碼貢獻者
感謝他們的努力,貢獻了這么多優質的項目!同時,也期望有更多的人,能夠參與進來,共同推動中文 NLP 的發展大業。
往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習在線手冊深度學習在線手冊AI基礎下載(pdf更新到25集)本站qq群1003271085,加入微信群請回復“加群”獲取一折本站知識星球優惠券,請回復“知識星球”喜歡文章,點個在看
總結
以上是生活随笔為你收集整理的这群工程师,业余时间将中文 NLP 推进了一大步的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深度学习到底有多难?这篇文章带你入门!
- 下一篇: 总结和展望:情感分析研究的新视野