--- 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
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.