--- tags: Knock Knock! Deep Learning --- Day 16 / DL x NLP / NLP 總結與發展 === 這篇是 DL x NLP 的最後一篇,下一個子系列是 DL x CV,也是做 machine learning 的人最想擠進的一個熱門領域。 我們簡單總結這個子系列學的東西、沒有篇幅能介紹的 NLP tasks、還有一些 NLP 的發展方向。 ## 總結 從 2013 年 Word2Vec 的興起,以及和 RNN 做結合的架構,讓 NLP 領域搭上了 deep learning 的熱潮開始蓬勃發展。 人們的生活也有了改變。最知名的 NLP project 之一莫過於 Google 翻譯,整個 model 在 2016 年翻新成 Seq2Seq 後,顯而易見的能力提升讓大家對 Google 翻譯從參考參考到日常生活中的仰賴。 而之後 transformer 的出現更打破了 NLP 搭配 RNN 的既定架構,讓 NLP model 的訓練也能快速有效。BERT 更是簡單建立於 transformer 之上即能有多項 state-of-the-art result,再次把 NLP 帶入新紀元。 NLP 還有很多有趣的應用可以探索,也還留有很多還沒有完全解決的問題。我們來簡單看一下 NLP 還有哪些發展。 ## NLP Tasks NLP 相關應用太多了,我自己簡單分成幾個領域: - **Semantics** - Word / Sub-Word / Sentence Embedding - **Relative Semantics** - Paraphrase Detection:判斷兩個句子是不是換句話說 - Entailment:A 句是不是 B 句的結果 - **Text generation** - Natural Language Generation (NLG) - Question Answering - Machine Translation - Text Summarization:為文章做總結 - **Natural Language with Vision** - Optical Character Recognition (OCR):把圖片中的字轉成文字 - Image Captioning:為圖片加註解 - **Sequence Tagging** - Word Segmentation:把句子中的字詞斷開,等於在字上標示 `是開頭` 和 `不是開頭` - Named Entity Recognition (NER):命名實體識別,識別一個字是不是人名 / 地名 / 組織名 - Part-of-Speech (POS) Tagging:詞性判別 - Coreference Resolution:判定兩個字是不是在指同一個人事物 - Sentence Parsing:建立一個句子的關聯樹 - **Classification** - Sentiment Analysis:情緒分析 - Topic Detection - Language Identification - **Speech** - Speech Segmentation:將一段話的不同字詞分開 - Text-to-Speech (TTS) - Speech Style Transfer:把你的聲音換成我的 - **Evaluation methods** - Machine Translation evaluation - Natural language evaluation:個人覺得超重要,怎麼檢驗 AI 說的話的品質 - **And many others** 有興趣開始的可以挑幾個來玩玩,挑幾篇新一點的 paper 讀讀看。 ## NLP 發展 最後來看看 NLP 有哪些難題。 ### Fairness Research in NLP NLP 需要向現有的 corpus 學習,但他們都存在 bias。如何確保 AI 不會學到這些 bias,或不會被這些 bias 的存在影響學習,是個很重要的課題。 我們來看一些例子:  *—— Google search 的結果 "female doctor" 是 "male doctor" 的兩倍。大家預設 "doctor" 的性別是男生嗎?[1]*  *—— 文字中出現 "murdered"(殺人) 的頻率遠高於 "blinked"(眨眼),並不代表在現實世界中總殺人次數比眨眼次數多。[1]*  *—— 世界上講不同英文的地方很多,我們 train 的 English model 能代表所有的英文嗎?[1]* 因為我們訓練的 model 很多都是基於 real-world data,這些 model 很可能也會學習到人類社會中的 bias。而我們的目標是不要讓這些 model 放大這些 bias。 [1] 中還提到了許多 bias 的例子,非常有趣,推薦大家看看。 ### Low Resource NLP Data 一直是訓練一個好 model 很重要甚至最重要的元素。但有些時候不是所有 task 都有足夠的 data 可以使用。怎麼樣用少量 data 也能訓練出好的 model 也是一個難題。 其實我們也看過一些解法: - Unsupervised / semi-supervised learning - Transfer learning - Domain alignment 有興趣研究的可以參考 [2]。 ### Interpretability Neural network 為人詬病的一直是 low interpretability,也就是你不太能解釋他學到了什麼,或是哪個因素讓 model 這麼好或這麼差。這會造成改進架構上的困難,也會降低 model 的 reliability。 系列中我們也一直有提到一些讓 model 更容易解釋的方法: - Embedding visualization - Attention 而為了得到更多解釋,還可以選擇: - Ablation study:把 model 裡的東西一個一個拿掉,比較 performance - Architecture modification:改一下 model 看結果是不是會被影響 - Breaking the model:小改一下 input,看 output 會不會受影響 這些分析方法都對 train 出一個更好的 model 很有幫助。 [3] 可以參考更多! ## 參考資料 1. [CS224n Guest Lecture Slides: Fairness and Inclusion in AI](http://web.stanford.edu/class/cs224n/slides/Vinodkumar_Prabhakaran_Socially_Responsible_NLP.pdf) 2. [CS224n Guest Lecture Slides: Recent Advances in Low Resource Machine Translation](http://web.stanford.edu/class/cs224n/slides/MarcAurelio_Ranzato_Low_Resource_MT.pdf) 3. [CS224n Lecture Slides: Analysis and Interpretability of Neural NLP](http://web.stanford.edu/class/cs224n/slides/cs224n-2020-lecture20-interpretability.pdf)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up