//www.oreilly.com/library/view/natural-language-processing/9781098103231/
自2017年推出以來,Transformer已迅速成為在各種自然語言處理任務上實現最先進結果的主導架構。如果你是一名數據科學家或程序員,這本實用的書向你展示了如何使用基于python的深度學習庫hugs Face transformer來訓練和擴展這些大型模型。
Transformers 已經被用來編寫真實的新聞故事,改進谷歌搜索查詢,甚至創造出講笑話的聊天機器人。在本指南中,作者Lewis Tunstall、Leandro von Werra和Thomas Wolf(擁抱Transformers 的創始人之一)使用親身實踐的方法來教你Transformers如何工作,以及如何將它們集成到應用程序中。你會很快學到他們能幫你解決的各種任務。
為核心NLP任務構建、調試和優化Transformers模型,如文本分類、命名實體識別和回答問題
學習如何使用Transformers進行跨語言遷移學習
在真實世界中標簽數據稀缺的場景中應用Transformers
利用蒸餾、剪枝和量化等技術,使Transformers模型有效地用于部署
從零開始訓練Transformers ,學習如何擴展到多個GPU和分布式環境
本書的目標是讓您能夠構建自己的語言應用程序。為了達到這個目的,它關注于實際的用例,并且只在必要的時候深入研究理論。這本書的風格是動手操作,我們強烈建議您親自運行代碼示例來進行試驗。本書涵蓋了NLP中transformers的所有主要應用,每一章(除了少數例外)專門針對一個任務,結合一個實際的用例和數據集。每一章還介紹了一些額外的概念。以下是我們將涉及的任務和主題的一個高級概述:
第一章,你好Transformers,介紹了Transformers,并把它們放到了背景中。它還介紹了“Hugging Face”生態系統。
第二章文本分類,重點介紹了情感分析(一個常見的文本分類問題),并介紹了Trainer API。
第三章,Transformer剖析,更深入地介紹了Transformer架構,為接下來的章節做準備。
第四章,多語言命名實體識別,重點關注在多語言文本中識別實體的任務(一個令牌分類問題)。
第五章,文本生成,探討了Transformers模型生成文本的能力,并介紹了解碼策略和度量。
第六章,摘要,深入研究了文本摘要的復雜序列到序列任務,并探討了該任務使用的度量。
第七章“問答”,重點介紹了基于綜述的問答系統的構建,并介紹了利用Haystack進行檢索的方法。
第八章《Transformers在生產中高效運行》,重點介紹了模型性能。我們將著眼于意圖檢測的任務(序列分類問題的一種類型),并探索知識蒸餾、量化和剪枝等技術。
第九章,處理很少或沒有標簽,著眼于在沒有大量標簽數據的情況下提高模型性能的方法。我們將構建一個GitHub問題標簽和探索技術,如零樣本分類和數據增強。
第十章,從頭開始訓練Transformer,向您展示了如何從頭開始構建和訓練一個自動完成Python源代碼的模型。我們將研究數據集流和大規模培訓,并構建我們自己的標記器。
第十一章,未來方向,探討了Transformers面臨的挑戰和一些令人興奮的新方向的研究,在這一領域將進入。
在 Hugging Face,我們正在為深度強化學習的研究人員和愛好者的生態系統做出貢獻。最近,我們集成了Deep RL框架,比如Stable-Baselines3。
今天,我們很高興地宣布,我們將Decision Transformer(一種離線強化學習方法)集成到??Transformer庫和擁抱面部中心中。我們有一些令人興奮的計劃來提高Deep RL領域的可訪問性,我們期待著在未來的幾周和幾個月與您分享。
什么是離線強化學習? 引入 決策 Transformers 使用??Transformer中的Decision Transformer 結論 接下來是什么? 參考文獻
自然語言處理實戰教你如何創建實用的NLP應用,而不陷入復雜的語言理論和深度學習的數學。在這本引人入勝的書中,您將探索構建大量強大的NLP應用所需的核心工具和技術,包括聊天機器人、語言檢測器和文本分類器。
真實世界的自然語言處理不是典型的自然語言處理教科書。我們專注于構建真實世界的NLP應用。這里真實世界的意義有兩個方面:首先,我們關注構建真實世界的NLP應用需要什么。作為讀者,您不僅將學習如何訓練NLP模型,還將學習如何設計、開發、部署和監控它們。在此過程中,您還將學習現代NLP模型的基本構建模塊,以及對構建NLP應用有用的NLP領域的最新開發。其次,與大多數介紹性書籍不同,我們采用自上而下的教學方法。我們不采用自下而上的方法,一頁頁地展示神經網絡理論和數學公式,而是專注于快速構建“正常工作”的NLP應用程序。然后我們深入研究組成NLP應用的各個概念和模型。您還將學習如何使用這些基本構建塊構建端到端定制NLP應用,以滿足您的需求。
這本書由三個部分組成,共11章。第1部分介紹了NLP的基礎知識,其中我們學習了如何使用AllenNLP 快速構建一個NLP應用,以完成情感分析和序列標記等基本任務。
第1章首先介紹了NLP的“什么”和“為什么”——什么是NLP,什么不是NLP,如何使用NLP技術,以及NLP如何與人工智能的其他領域相關聯。
第2章演示了如何構建第一個NLP應用程序,一個情感分析器,并介紹了現代NLP模型的基礎知識——單詞嵌入和遞歸神經網絡(RNN)。
第3章介紹了自然語言處理應用的兩個重要組成部分,單詞和句子的嵌入,并演示了如何使用和訓練它們。
第4章討論了最簡單但最重要的NLP任務之一,句子分類,以及如何在這個任務中使用RNN。
第5章介紹了序列標注任務,如詞性標注和命名實體提取。它還涉及到一個相關的技術,語言建模。
第2部分介紹高級NLP主題,包括序列到序列模型、Transformer以及如何利用遷移學習和預先訓練過的語言模型來構建強大的NLP應用。
第6章介紹了序列到序列的模型,它將一個序列轉換為另一個序列。我們在一個小時內構建了一個簡單的機器翻譯系統和一個聊天機器人。
第7章討論了另一種流行的神經網絡結構,卷積神經網絡(CNN)。
第8章深入介紹了Transformer,它是當今最重要NLP模型之一。我們將演示如何使用Transformer構建改進的機器翻譯系統和拼寫檢查器。
第9章在前一章的基礎上,討論了遷移學習,這是現代NLP中的一種流行的技術,使用預先訓練過的語言模型,如BERT。
第3部分將討論與開發NLP應用程序相關的主題,這些應用程序對真實數據具有健壯性,并部署和服務它們。
第10章詳細介紹了開發NLP應用程序時的最佳實踐,包括批處理和填充、正則化和超參數優化。
第11章總結了如何部署和服務NLP模型。它還涵蓋了如何解釋和解釋ML模型。
通過調整預訓練的機器學習模型來解決特殊問題,在時間內建立自定義NLP模型。
在自然語言處理遷移學習中,您將學習:
//www.manning.com/books/transfer-learning-for-natural-language-processing
從頭開始訓練深度學習NLP模型是昂貴的、耗時的,并且需要大量的數據。在自然語言處理的遷移學習中,DARPA研究員Paul Azunre揭示了前沿的遷移學習技術,可以將可定制的預訓練模型應用到您自己的NLP架構中。您將學習如何使用遷移學習為語言理解提供最先進的結果,即使使用有限的標簽數據。最重要的是,您將節省訓練時間和計算成本。
關于本書:
自然語言處理遷移學習教你通過構建現有的預訓練模型快速創建強大的NLP解決方案。這是一本非常有用的書,書中提供了一些非常清晰的概念解釋,你需要這些概念來學習轉學,同時也提供了一些實際的例子,這樣你就可以馬上練習你的新技能。隨著您的學習,您將應用最先進的遷移學習方法來創建垃圾郵件分類器、事實檢查器和更多的現實世界的應用程序。
如何在各種設置中建模序列數據是跨許多領域的一個重要機器學習問題,包括對時間序列數據、自然語言文本和事件流的預測。不同領域的序列數據通常具有不同的特征。例如,自然語言文本可以看作是離散變量的序列,而傳感器網絡信號可以看作是連續向量空間中的多變量序列。為了在如此多的現實領域中開發成功的神經網絡模型,我們需要根據數據和問題的性質定制體系結構和算法。本文針對順序建模及其應用設計了新穎高效的神經網絡解決方案。具體來說,這些貢獻可以分為四個部分。 //www.cs.cmu.edu/~glai1/
第一部分主要關注多元序列數據中變量之間的相關性,如多個傳感器的時間序列,提出了利用相關模式提高預測精度的新算法,即深度可分圖卷積網絡(DSGC)(第2章)[60]和分解遞歸神經網絡(FRNN)(第3章)[63]。
第二部分的重點是在時序數據依賴模式的時間建模中結合人類先驗知識。具體地說,我們提出了一種新的方法,稱為長短期時間序列網絡(LSTNet)(第4章)[59],它被證明在不同的應用中特別有效地捕捉各種周期模式。
第三部分重點討論了變換器Transformers在序列分類任務中的有效算法。具體來說,通過識別常用Transformer架構中的計算冗余,并提出一種新的替代方案,即漏斗Transformers(第5章)[27],我們在計算和精度之間實現了更好的權衡。
第四部分著重于建模/預測事件之間的時間關系,其中的主要挑戰是有效地從稀疏標記的數據中學習。我們通過結合高級數據增強、半監督學習和引入人類先驗知識來解決這一挑戰(第6章)。因此,我們大大提高了這項任務的最先進性能。
簡介: 人們在閱讀文章時,可以識別關鍵思想,作出總結,并建立文章中的聯系以及對其他需要理解的內容等方面都做得很出色。深度學習的最新進展使計算機系統可以實現類似的功能。用于自然語言處理的深度學習可教您將深度學習方法應用于自然語言處理(NLP),以有效地解釋和使用文章。在這本書中,NLP專家Stephan Raaijmakers提煉了他對這個快速發展的領域中最新技術發展的研究。通過詳細的說明和豐富的代碼示例,您將探索最具挑戰性的NLP問題,并學習如何通過深度學習解決它們!
自然語言處理是教計算機解釋和處理人類語言的科學。最近,隨著深度學習的應用,NLP技術已躍升至令人興奮的新水平。這些突破包括模式識別,從上下文中進行推斷以及確定情感語調,從根本上改善了現代日常便利性,例如網絡搜索,以及與語音助手的交互。他們也在改變商業世界!
目錄:
1深度NLP學習
2 深度學習和語言:基礎知識
3文字嵌入
4文字相似度
5序列NLP和記憶
6NLP的6種情景記憶
7注意力機制
8多任務學習
附錄
附錄A:NLP
附錄B:矩陣代數
附錄C:超參數估計和分類器性能評估