●NLP專用Python開發環境架設
●自然語言處理的發展歷程
●無監督學習的原理與應用及實作
●Pretraing的完整實作
●文字分類、機器閱讀理解、命名實體辨識
●ChatGPT的原理 - 文字生成
●損失函式與模型瘦身
大型語言模型已經成為現代AI的範式,不管是ChatGPT或是llama、Falcon等,這個新興學科是人工智慧時代最熱門的話題,沒有一個有志於AI的人可以忽略這個趨勢。而大型語言模型的基礎,當然就是自然語言處理(Natural Language Processing,簡稱NLP)。自然語言處理主要工作包括了語言理解、語言生成、機器翻譯、語音識別等。目前見的應用非常多,包括了自動化客服、垃圾郵件檢測、社交媒體情感分析、醫療記錄分析、金融預測和新聞摘要等。
總結來說,自然語言處理是一個動態且充滿潛力的領域,它正在不斷改變我們與計算機和數字訊息互動的方式。隨著技術的不斷發展,我們可以期待在更多領域看到 NLP 的創新應用,同時也需要持續關注與其發展相關的倫理和社會問題。本書最重要目的就是將你帶入這個行業,如果你是程式設計師,網頁設計師,又或者是App的開發者,如果不想被人工智慧搶掉工作,加入是最好的選擇。
作者簡介:
王志立
自然語言處理工程師,曾在國際與國內的學術會議上發表學術論文多篇,先後在騰訊等多家知名企業從事大數據與人工智慧演算法工作,運作與分享人工智慧相關知識,曾獲多項人工智慧比賽國家級獎項。
雷鵬斌
華為AI演算法工程師,主要從事chatops、知識圖譜的研究與實踐工作,對自然語言處理各項任務有深入的研究。2019-2021年在國內知名競賽的文本分類、命名實體辨識、機器閱讀理解、智慧問答,以及文本生成任務中摘獲大量榮譽。曾參與多項課題研究,在AAAI、《中文資訊學報》等高影響力期刊上發表多篇論文。
吳宇凡
騰訊演算法應用研究員,長期從事業務安全與金融量化相關演算法研究與實務工作,已在國際頂尖期刊發表多篇論文,申請專利數項。
作者序
筆者在這短短一年多的時間裡經歷了人生中很多大事,在撰寫本書的同時,人工智慧自然語言處理領域的發展也經歷了很多大事件,有預測蛋白質結構的alpha-fold 模型、有1750 億參數量的超大無比GPT3 屠榜自然語言處理各個任務的榜單,也有實現增量推理與分散式推理的盤古預訓練模型。整體來講,自2018年底Google 公司發佈BERT 預訓練模型後,自然語言處理領域呈現井噴式發展,但是,無論當前自然語言處理模型如何發展,其仍舊基於深度神經網路,無非是網路的結構、神經元的數目及使用的硬體資源不同罷了。
資訊時代的來臨,人類從資訊匱乏的年代走向資訊爆炸的年代,現在的學習資料多如牛毛,但量大並不代表質優,因此,如何將雜亂無章的基礎知識整理成高效可擴充的知識路線,是筆者在撰寫本書時無時無刻不在思考的問題。本書從一個人工智慧演算法工程師的角度並依據筆者多個國家級競賽的獲獎經驗撰寫,目的是讓每個讀者都能夠從流程化的演算法中掌握一筆符合自己的學習路線。
因此,本書將架設一個自然語言處理的學習框架,以幫助讀者用最低的學習成本掌握自然語言處理任務。這不僅可以幫助讀者建構屬於自己的自然語言處理知識宇宙,同時也方便讀者可以基於自己的知識系統進行二次擴充,加深對自然語言處理的理解。本書的內容涉及自然語言處理領域的演算法流程、無監督學習、預訓練模型、文字分類、智慧問答、命名實體辨識、文字生成、模型的蒸餾與剪枝等。
本書是筆者在清華大學出版社出版的第二本書。不得不說,完成一本書的過程非常艱辛但十分有意義,筆者將其當成另一種形式的創業,也是對自己思考方式另一個維度的錘煉,同時也是向這個世界每個學習自然語言處理的讀者分享有益的知識。
另外,感謝深圳大學資訊中心和電子與資訊工程學院提供的軟硬體支援,感謝我的導師秦斌及實驗室為本書內容與程式做出貢獻的每位同學,感謝在背後支援我的父母、親人、朋友。筆者很高興能為浩如煙海的人工智慧領域知識庫提交一份有用的學習材料。
由於筆者水準與精力有限,書中難免存在某些疏漏,衷心歡迎讀者指正批評!
王志立
筆者在這短短一年多的時間裡經歷了人生中很多大事,在撰寫本書的同時,人工智慧自然語言處理領域的發展也經歷了很多大事件,有預測蛋白質結構的alpha-fold 模型、有1750 億參數量的超大無比GPT3 屠榜自然語言處理各個任務的榜單,也有實現增量推理與分散式推理的盤古預訓練模型。整體來講,自2018年底Google 公司發佈BERT 預訓練模型後,自然語言處理領域呈現井噴式發展,但是,無論當前自然語言處理模型如何發展,其仍舊基於深度神經網路,無非是網路的結構、神經元的數目及使用的硬體資源不同罷了。
資訊時代的來臨,人類從資訊匱乏的...
目錄
第1 章 導論
1.1 基於深度學習的自然語言處理
1.2 本書章節脈絡
1.3 自然語言處理演算法流程
1.4 小結
第2 章 Python 開發環境配置
2.1 Linux 伺服器
2.2 Python 虛擬環境
2.3 PyCharm 遠端連接伺服器
2.4 screen 任務管理
2.5 Docker 技術
2.6 小結
第3 章 自然語言處理的發展處理程序
3.1 人工規則與自然語言處理
3.2 機器學習與自熱語言處理
3.3 深度學習與自然語言處理
3.4 小結
第4 章 無監督學習的原理與應用
4.1 淺層無監督預訓練模型
4.2 深層無監督預訓練模型
4.3 其他預訓練模型
4.4 自然語言處理四大下游任務
4.5 小結
第5 章 無監督學習進階
5.1 生成式對抗網路
5.2 元學習
5.3 小結
第6 章 預訓練
6.1 賽題任務
6.2 環境架設
6.3 程式框架
6.4 資料分析實踐
6.5 小結
第7 章 文字分類
7.1 資料分析
7.2 環境架設
7.3 程式框架
7.4 文字分類實踐
7.5 小結
第8 章 機器閱讀理解
8.1 機器閱讀理解的定義
8.2 評測方法
8.3 研究方法
8.4 經典結構
8.5 多文件機器閱讀理解實踐
8.6 小結
第9 章 命名實體辨識
9.1 NER 技術的發展現狀
9.2 命名實體辨識的定義
9.3 命名實體辨識模型
9.4 命名實體辨識實驗
9.5 小結
第10 章 文字生成
10.1 文字生成的發展現狀
10.2 基於預訓練模型的文字生成模型
10.3 文字生成任務實踐
10.4 小結
第11 章 損失函式與模型瘦身
11.1 損失函式
11.2 常用的損失函式
11.3 損失函式的進階
11.4 模型瘦身
11.5 小結
第1 章 導論
1.1 基於深度學習的自然語言處理
1.2 本書章節脈絡
1.3 自然語言處理演算法流程
1.4 小結
第2 章 Python 開發環境配置
2.1 Linux 伺服器
2.2 Python 虛擬環境
2.3 PyCharm 遠端連接伺服器
2.4 screen 任務管理
2.5 Docker 技術
2.6 小結
第3 章 自然語言處理的發展處理程序
3.1 人工規則與自然語言處理
3.2 機器學習與自熱語言處理
3.3 深度學習與自然語言處理
3.4 小結
第4 章 無監督學習的原理與應用
4.1 淺層無監督預訓練模型
4.2 深層無監督預訓練模型
4.3 其他預訓練模型
4.4 自然語言處理四...