數據科學競賽-自然語言處理賽流程

自然語言處理賽流程

在這裏插入圖片描述

在NLP賽中,如今很多思路和CV賽是類似的,甚至Pipeline思路也是一致的。

簡介

隨着CV(計算機視覺)大量研究人員的涌入,相對而言,計算機視覺的發展進入了一個飽和時期,而自然語言處理的路還有很長,很多NLP科學家認爲未來十年是NLP黃金的十年。

過去幾年我們也看到了NLP領域很多突破性的成果,BERT、XLNet等模型的出現爲NLP帶來一些新的可能性,這些模型也被廣泛使用在比賽中。

NLP主要有一些任務如文本分類、文本相似度、序列標註、閱讀理解、機器翻譯、信息抽取等,目前很多數據科學競賽平臺都舉辦了NLP比賽,並且最近有愈演愈烈之勢。

賽前準備

參加NLP比賽必須要對賽題有充分的理解,也就是對賽題的背景知識有充足的瞭解。此外,可以查閱是否有過類似的任務,看看前人的解決方案,或者在其他人的baseline基礎上修改(注意,從頭開始碼一個賽題的源碼是很累且沒有必要的,有很多人會開放他們的baseline源碼,在這些baseline基礎上修改會事半功倍。這點在Kaggle上尤爲明顯,Kaggle是一個非常優秀的比賽平臺。

到了比賽後期,如果已經沒有什麼突破了,就到了組隊的時機,一般選擇排名差不多的組隊,融合多人的結果會取得更好的效果。(前期不建議組隊是因爲一個隊伍是有提交限制的,分開是爲了更好的在一起。)

工具選擇

NLP是個複雜的任務,要想取得不錯的效果需要使用各種庫,下面推薦幾個常用的工具包。

  • Gensim
  • NLTK
  • TextBlob
  • CoreNLP
  • TensorFlow

數據探索

在NLP比賽中一般不使用EDA(探索性數據分析)來稱呼自然語言任務中的數據探索,這是因爲其數據大多格式統一(文本文件配以一個說明性表格文件)沒必要進行過多的探索,達不到分析的地步(只需要示例性地探索說明文件和文本文件即可)。

  • 數據集存儲信息

    通過shell腳本或者Python腳本瞭解數據集中數據的基本信息,如文本格式,標註方式(文件夾名稱標註一批文本或者csv文件逐一標註每個文本,前者更加常用,適用於分佈式存儲和分類迴歸等多種任務)等。使用Python腳本更加靈活且保證整個項目的流程化。

  • 文本格式

    抽樣顯示文本及其標籤或者標註,確認是否需要對文本進行進一步處理,如文本分類中每個文本是給的是否爲分詞後的結果。

作爲比賽參與者,一般關係下面的信息即可。

  • 文本長度
  • 字頻、詞頻
  • 標籤的分佈

數據預處理

數據決定了模型的上限,算法只是逼近這個上限,所以數據預處理很重要。這一部分主要介紹數據預處理的一些思路,分爲中文和英文兩種思路。

中文

  • 非文本內容刪除(正則表達式)
  • 處理中文編碼問題(轉爲UTF8)
  • 中文分詞(Jiaba分詞、pkuseg等)
  • 引入停用詞(哈工大停用詞表,停用詞取出後的效果不一定很好,特別對於RNN這種序列模型)
  • 特徵工程

英文

  • 非文本內容刪除
  • 拼寫檢查及更正
  • 詞幹提取及詞形還原(NLTK工具包)
  • 大小寫轉化
  • 特徵工程

Pipeline制定

目前對NLP比賽,分爲兩種方法,爲傳統方法和深度方法。不過近年來,深度方法取得了更好的效果,所以比賽中較好的表現大多都採用了深度方法,尤其是一些新模型。

文本特徵構建及建模

文本特徵的構建核心的思路就是爲每個文本(一句或者一段或者一篇文章)生成一個結構化的特徵,方便分類器的訓練。

如何生成這種文本的結構化特徵,目前主要有兩種整體思路,分別爲傳統方法(機器學習方法)和深度學習方法。

  • 傳統方法

    主要有LDA主題模型、LSI主題模型、TFIDF(詞頻逆文檔頻率)等文本特徵提取的方法。一般採用傳統方法進行特徵提取,也會使用傳統的機器學習模型進行建模處理,常用的機器學習模型有邏輯迴歸(LR)、支持向量機(SVM)、LightGBM等。

  • 深度方法
    主要採用深度網絡進行特徵提取,是一種自動進行特徵編碼的機器學習模型,主要有CNN、RNN、Transformer等。使用深度方法進行特徵提取則一般構建端到端的系統,所以不會採用其他的傳統分類器或者回歸器,會在特徵的輸出層結一個全連接層作爲分類或者回歸模型。這一步也會有很多網絡結構的設計方法,但是我們一般採用前人發明的很不錯的結構基礎上進行修改,如BERT等。

模型應用

企業提出比賽當然是希望能在業界使用,過於冗餘的模型就算metric刷得好看也是不會受到青睞的。

補充說明

本文較爲簡略的說明了自然語言處理類比賽的主要流程及方法,由於篇幅限制沒有過細展開,具體的相關問題可以查看我的其他博客。博客同步至我的個人博客網站,歡迎查看。如有錯誤,歡迎指正。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章