三行code部署一個 ALBERT中文閱讀理解問答模型
效果
DRCD Test
albert-small EM:72.71% F1:84.65%
DRCD Dev
albert-small EM:73.70% F1:85.33%
三行code部署一個 ALBERT中文閱讀理解問答模型
效果
albert-small EM:72.71% F1:84.65%
albert-small EM:73.70% F1:85.33%
這篇文章主要介紹怎麼用我們的nlp工具包訓練及部署一個ner模型,以及分享一下當中的心得。
transformer架構的模型最近在大放異彩,我們都想將不同的資料集和任務都換到transformer來試看看有什麼突破。麻煩在,嘗試不同的資料集和任務免不得有不少重複的操作,現在huggingface project過於臃腫,難以靈活地換到不同的資料集上。
我們換個想法,將其中的部件拆分,變成幾個主要的部件各司其職。主要是希望降低耦合性,讓我們可以專注解決每一個階段的問題,同時也更好維護。這也是打造這樣一套nlp訓練工具的原因。
一個完整的機器學習project,基本上都是 預處理 - 訓練 -預測 這樣的步驟。
按照這樣的想法,這一套nlp工具包也會如此:
訓練我們的NLP模型或者一個神經網路,需要的是大量的標記的資料。資料有限的時候,怎麼樣再給自己的模型帶來一些提升呢?這裡將會給大家介紹一些有趣的技巧:
Bert出來都有一段不短的時間了,這段時間NLP界狂暴式地發展,各種模型和方法讓人目不暇接。在這裡整理了近期的進展和相關的資源,也可以藉此猜想往後的方向。
最近有一篇論文,探討現在中文NLP還需不需要斷詞
《Is Word Segmentation Necessary for Deep Learning of Chinese Representations? 》
發現在深度學習中 以字建立的模型 比 以詞建立的模型 結果要好。但詞模型的表現不好,有原因是因爲沒有解決Out of vocabulary word(OOV,新詞)的問題。加上現在還有應用是基於詞來分析的 - 比如說討論區熱點,詞雲等……
可見,斷詞裏面新詞的問題依然存在。有沒有一個簡單有效的方法找到新詞呢?成爲本文想要探討的問題,提出一個新的方法,有以下改善:
文末也會有code,希望可以一起改善。
這篇文章講的是:
這篇文章講的是:
這篇文章講的是:
這篇文章講的是: