更新時間:2025-03-17 09:50:27作者:佚名
前言
本文基于作者多年來所采取的彎路和陷阱。本文簡要介紹了。我希望這對剛進入NLP領域的學生會有所幫助。
文章作者
Li Jiwei:Shannon Technology的創始人和斯坦福大學的計算機科學博士學位最短。在劍橋學者Marek Rei從2012年到2016年的自然語言處理的頂級會議作者的統計數據中,Li Jiwei在14個頂級會議論文的第一作者的數據中排名第一。
輸入NLP字段的一些技巧
ACL 2019的貢獻剛剛結束,有2800多個提交的意見,可以說是歷史上最大的ACL。在深度學習的驅動下,自然語言處理的子場逐漸被推到了人工智能階段的最前沿。
最近,在與同學的電子郵件中,許多學生,尤其是那些剛進入Jin學校的學生,在深度學習的背景下提到了很多關于做NLP科學研究的困惑。基本上可以將其匯總到以下幾點中:如今,可以通過數十行Tensorflow或Pytorch來解決模型。每個人都忙于刷數據集的基準,但是由于實現模型的閾值現在較低,因此Sota很難再次刷新。即使最終被刷掉了,因為該模型都已得到修復,并且由于新穎性是有限的,并且文章不值得天空投資。即使在文章中,似乎沒有新的含義,并且已經在水中混淆了。
深度算法的普及將使研究人員對這些算法本身過度關注,并且模型結構的無限調整和改進將使我們眼花azz亂。當談論深度學習網絡結構成為非常酷的事情時,虛榮心將使每個人同時忽略幾個要點。基于我多年來所采取的彎路以及我已經啟用的坑,本文簡要介紹了。我希望這對剛進入NLP領域的學生會有所幫助。
1。了解NLP的最基本知識
Jurafsky和Martin的語音和語言處理是該領域的經典教科書,其中包含NLP,語言掃盲知識,基本任務和解決方案的基本知識。閱讀本書將為您帶來許多NLP的最基本任務和知識,例如標記,各種解析,核心,語義角色標簽等。這對于全球對NLP字段的理解至關重要。
書中的知識不需要細致,但是如果您刷一次或兩次,您將對NLP任務有基本的了解。下次遇到它時,知道在哪里可以找到它是非常有意義的。此外,克里斯·曼寧(Chris Manning)的“信息檢索簡介”也是一本可以盲目掃描的書。當然,我認為所有細節都不需要記住,但是需要理解大綱。 IR與NLP重疊的許多基本算法。
告訴我有關我采取的彎路。斯坦福大學NLP的資格考試的一部分是在Jurafsky和Manning Book中選擇一些章節進行閱讀,然后老師將提出相關問題。起初,我太懶了,無法觀看它,所以我一次又一次地參加了資格考試。但是,當醫生無法延遲去年時,他意識到,如果他知道這些事情,醫生早年就可以避免許多繞道。
為什么了解NLP的基本知識的重要性?我會給你一些例子。
最近,我一直在與同學進行與語言建模有關的語言模型。許多學生可以使用語言模型使用LSTM或Transformers進行語言模型。但是,由于OOV的平滑問題,我大部分時間都被卡住了(熟悉的學生可能知道需要拉普拉斯平滑或需要更復雜的旋轉式平滑)。
為什么Bigram或Trigram LM很重要?要解決語言模型問題,在實施深層模型之前interpolation是什么意思,第一步是編寫Bigram或Trigram LM。為什么?因為這些N-Gram模型易于實現和強大。通過如此簡單的實現,您可以告訴您該數據集的LM模型的下限。這樣,我們將知道神經網絡模型不應比該模型更糟糕。由于其超參數,梯度爆炸和其他問題,有時我們很難確定該模型是否真的不好,參數不能很好地調整或代碼是錯誤的。然后,通過N-gram LM給出的下限,我們可以直觀地知道神經網絡是否具有錯誤或參數尚未正確調整。
第二個示例是關于發布文章。我想知道我的任何一位同學是否曾經想過為什么在伯特訓練的LM隨機更換會使結果變得更好,到底是隨機替代的,以及它將如何變得好。實際上,在Bert之前,Ziang Xie的數據no噪聲是斯坦福大學NG小組的神經網絡語言模型(ICLR 2017)中的平滑級別,這是第一次提出了這種方法,并提供了理論上的解釋。這種隨機替換本質上是一種基于語言建模中插值的平滑方法,而基于插值的LM平滑性位于Jurafsky的書的第3.4.3節中。
2。了解早期經典的NLP模型和論文
與簡單和粗糙的神經網絡模型相比,早期的NLP算法確實更加繁瑣和復雜,但是在困難的硬件條件下,早期學者的智慧結晶確實存在許多智慧。如果您熟悉這些模型,則可以將它們集成到當前的神經網絡中。去年,我曾在人民人大學擔任研討會,大約30-40名學生參加了會議。我問了一個問題,有人知道機器翻譯中的IBM模型是什么嗎?大約五分之一的學生舉起了手。我再次問,誰可以寫(或可能是筆跡)IBM Model1,沒有人。對于基于IBM模型的基于層次的MT,許多引用較高的文章近年來一直基于該模型的想法。有無數的例子:
1)將結構對齊偏置納入Chris Dyer組的注意力神經翻譯模型(NAACL16),提出了使用雙向注意作為神經機器翻譯的約束術語,這意味著,如果英語翻譯產生的目標中的法語單詞在源中是英語單詞,那么在源中就會在英語中進行英語單詞,而同一語言則是在英語中的英語單詞。
實際上,這個想法完全類似于珀西·梁的著名作品之一。早在NAACL達成協議時,每個人都可以通過標題的含義來猜測文章的內容,而向前翻譯和反向翻譯的一致性應保持一致。有多少正在從事神經機器翻譯的學生讀過珀西的杰作(您知道珀西可能是球隊)。
2)要處理對話系統中無聊的答復,現在使用P(目標|源)重新掌握的是標準配置。例如,Rico Sennrich的著名作品之一將單語數據與SEQ2SEQ模型相結合。實際上,這一想法已被廣泛用于短語基準MT。 MT在神經之前需要使用MERT來重新列出大型N最好的列表。反向概率p(目標|源)和語言模型概率p(目標)是重新管理中功能的標準配置。
3)由哈佛NLP集團,Sam Wiseman和Alex出版的亞軍,序列到序列學習作為梁搜索優化(EMNLP 2016最佳論文),基本上繼承了Daume′iii和Daniel Marcu的2005 Laso模型,將其思想調整到神經上。
由神經機器翻譯誕生的注意力不是IBM模型的神經網絡版本。
3。了解機器學習的基本模型
神經網絡的簡單暴力是有效的。但是從科學研究的角度來看,熟悉基本的機器學習算法是一個強制性的課程。例如,NG的機器學習是必要的選擇。我記得不久前,我采訪了一個年輕人,發現他是一個非常聰明的同學。在短時間內,有一篇NAACL文章。我問年輕人什么是EM算法。這位年輕人說他從未聽說過Em,也無法使用EM進行科學研究。我認為這實際上是一個很大的誤解。當我想到自己時,我遭受了許多類似的損失。由于早期數學的基礎很薄弱,而且我沒有決心彌補它,所以我看到了與早期的變異推斷有關的算法,并且非常巨大。這種偏見持續了很長時間,限制了科學研究的廣度。與粗糙的神經網絡相比,諸如CRF之類的模型的推斷確實相對復雜(我已經看了很多次,然后才能徹底弄清楚它)。
但是了解這些是NLP研究人員的基本質量。書籍模式識別和機器學習,尤其是某些小節確實很困難(并揭示了數學基礎很差的事實)。即使只是要經過它,它也需要強大的耐力才能閱讀它interpolation是什么意思,更不用說完全理解它了。我已經放棄了很多次,但是現在我仍然不了解很多章節。但是我認為許多基本章節值得閱讀。實際上,您可以組成一個由兩個或三個人組成的研究小組。您不需要有雄偉的目標。您可以花一兩年的時間來瀏覽幾章。
NLP是相對應用的科學,而不是特殊的數學。但是,我認為我們每天使用的算法的基本數學邏輯仍然需要完成,例如輟學,例如優化(SGD,動量,Adaboost,Adagrad),例如各種批次和層歸一化。這實際上節省了很多浪費的時間網校頭條,銳化刀不會延遲切碎的木頭。
多年來,在幫助學生調整錯誤的過程中,我至少遇到了3-5名在訓練時開始輟學的學生,并且在測試時不要使用(1-Dropout)來縮放每個單元格(不要笑,這是真的)。然后繪制輟學曲線,輟學值越大,結果越糟。在討論中,同學看上去很困惑,不知道考試期間需要的規模是否。實際上,本質是我不了解輟學背后的數學原理。
4。在NLP的其他子字段中閱讀更多論文
NLP有許多子字段,包括機器翻譯,信息提取,解析,標記,情感分析,MRC等。有必要更熟悉其他子領域的進度。實際上,在不同的子場中使用的模型不會有太大的差異,但是一開始就很難看到在陌生領域的問題,因為它們對問題的形式化沒有很好的了解。這可能需要更多時間詢問了解的學生。實際上,了解不同問題的形式化也是領域知識的最佳擴展。
5。了解簡歷和數據挖掘領域的基本主要進步
在熟悉上述要點(當然可能需要至少一年)之后,熟悉CV領域中的基本任務和基本算法對于開放科學研究視野也很重要。但是,不可否認的是,由于不同的領域,寫作風格和術語差異很大,并且由于缺乏背景知識(文章中將省略某些基本知識,并且每個人默認情況下都會理解它,但是整個領域的人們可能不了解它)。實際上,第一次了解跨域文章并不容易。
我碰巧的是,我直接在討論課上直接說出rcnn,以為我理解了,然后說錯了(Yu Xian仍然每天都在嘲笑我)。但是,重要的是,NLP領域中的一些重要文章實際上或多或少地將CV中的想法借給了NLP的CV借款。 NLP神經網絡可視化和可解釋性的研究仍然落后于CV在CV中的可視化時間。如此眾多的工作在簡歷中借了許多類似的工作。 NLP實際上也使用GAN從簡歷中借用。
實際上,這兩個領域中的許多非常相似。例如,如果您不考慮問題查詢,即視覺檢測中的區域提案(在大圖背景下找到特定區域),您想知道它是否與MRC中的跨度提取相似(在許多文本中找到跨度)。更不用說圖像字幕的生成和序列到序列模型幾乎沒有很大的差異。
增強學習是在一代領域產生的。發布MT(Ranzato等,ICLR2016)之后,發送了圖像標題的生成,然后返回摘要。參與者批評的模型相似,并且仍然有許多具有產生多樣性的文章。
因為很難在各個領域中理解,所以建議第一次閱讀教程。如果有一個帶有sudo代碼的教程,那會更好。此外,您還可以查看掃盲班的視頻,例如斯坦福CS231N。此外,在NLP組中有一個很好的簡歷(謝謝Yuxian),反之亦然,這也非常重要。
在過去兩年中,數據挖掘場中的圖嵌入增加了。目視估計,NLP中的許多任務將被廣泛使用。考慮到幾年前,Deep Walk借Word2Vec并開始在數據挖掘領域發揮作用,然后似乎再次回到NLP。