Python自然語言理解:自然語言理解系統開發與應用實戰 Natural Language Understanding with Python: Combine natural language technology, deep learning, and large language models to create human-like language comprehension in computer systems

Deborah A.Dahl 譯 李波//江凡//姚志浩//胡軒//劉行

相關主題

商品描述

本書的目標是為Python開發人員提供堅實的NLU基礎。
本書將深入探索自然語言理解相關實用技術,並幫助讀者創建各種新穎實用的自然語言理解應用程式。
本書共分為三部分:
第1部分介紹了NLU的背景以及如何開始一個NLU專案;
第二部分探討了完成NLU任務所需使用的Python工具和相關技術;
第三部分討論了在管理和部署NLU應用程式時應該考慮的因素,以及對NLU未來的展望。

目錄大綱

前言
作者簡介
審校者簡介
第一部 自然語言理解技術入門
第 1 章 自然語言理解方法與應用 2
1.1 自然語言基礎 3
1.2 自然語言與字元編碼 3
1.3 對話式人工智慧與自然語言理解 4
1.4 互動式應用程式—聊天機器人與語音助理 5
1.4.1 通用語音助理 6
1.4.2 企業助手 6
1.4.3 翻譯 7
1.4.4 教育 7
1.5 非互動式應用程式 8
1.5.1 分類 9
1.5.2 情緒分析 9
1.5.3 垃圾郵件與網路釣魚偵測 9
1.5.4 虛假新聞檢測 10
1.5.5 文件檢索 10
1.5.6 分析 10
1.5.7 資訊抽取 11
1.5.8 機器翻譯 11
1.5.9 其他應用 11
1.5.10 應用程式類型總結 12
1.6 Python 自然語言處理展望 12
1.7 本章小結 13
第 2 章 辨識自然語言理解問題 14
2.1 辨識適合目前技術水準的問題 15
2.1.1 自然語言理解難以解決的問題 17
2.1.2 不需要自然語言理解的應用程式 21
2.1.3 訓練資料 24
2.1.4 應用數據 25
2.2 開發成本 25
2.3 維護成本 26
2.4 決定是否使用自然語言理解的流程 27
2.5 本章小結 28
第二部分 自然語言理解系統開發與測試
第 3 章 自然語言理解方法 30
3.1 基於規則的方法 30
3.1.1 詞與辭典 31
3.1.2 詞性標註 31
3.1.3 語法 32
3.1.4 句法分析 32
3.1.5 語意分析 32
3.1.6 語用分析 33
3.1.7 pipeline 33
3.2 傳統的機器學習演算法 34
3.2.1 文件表示 35
3.2.2 文件分類 35
3.3 深度學習方法 36
3.4 預訓練模型 37
3.5 選擇自然語言理解方法需要考慮的因素 37
3.6 本章小結 38
第 4 章 用於自然語言理解的Python 函式庫與工具 39
4.1 技術要求 40
4.2 安裝 Python 40
4.3 安裝 JupyterLab 和 GitHub 41
4.3.1 JupyterLab 41
4.3.2 GitHub 42
4.4 常用的自然語言處理Python 庫 42
4.4.1 NLTK 43
4.4.2 spaCy 45
4.4.3 Keras 47
4.4.4 其他自然語言處理Python 庫 47
4.4.5 自然語言處理 Python函式庫的選擇 47
4.4.6 其他有用的 Python 函式庫 48
4.5 一個範例 49
4.5.1 設定 JupyterLab 49
4.5.2 處理一句話 51
4.5.3 查看語料庫屬性 52
4.6 本章小結 56
第 5 章 資料收集與資料預處理 57
5.1 資料收集與資料標註 57
5.1.1 收集應用程式所需資料 58
5.1.2 收集科學研究項目所需資料 59
5.1.3 元資料 60
5.1.4 常用語料庫 61
5.2 確保資料的隱私性並遵守道德準則 62
5.2.1 確保訓練資料的隱私 63
5.2.2 確保運行時資料的隱私 63
5.2.3 人道地對待實驗參與者 63
5.2.4 人道對待眾包工作者 63
5.3 資料預處理 64
5.3.1 刪除非文字資料 64
5.3.2 文本正則化 66
5.3.3 拼字錯誤校正 72
5.4 針對特定應用程式的資料預處理 74
5.4.1 用類別 token 取代單字和數字 74
5.4.2 修改數據 75
5.4.3 特定領域的停用詞 75
5.4.4 刪除 HTML 標記 75
5.4.5 數據不平衡問題 75
5.4.6 文字預處理 pipeline 75
5.5 選擇合適的資料預處理方法 76
5.6 本章小結 77
第 6 章 資料探索與資料視覺化 78
6.1 為什麼要進行資料視覺化 78
6.2 資料探索 80
6.2.1 頻率分佈 80
6.2.2 文件相似度量 93
6.3 資料視覺化注意事項 99
6.4 基於資料視覺化資訊對後續資料處理做出決策 102
6.5 本章小結 102
第 7 章 自然語言處理方法選擇與資料表示 103
7.1 自然語言處理法選擇 103
7.1.1 選擇適合任務的方法 104
7.1.2 從數據出發 104
7.1.3 計算效率 105
7.1.4 初步研究 105
7.2 自然語言處理應用程式中的語言表示 106
7.3 使用數學向量表示語言 108
7.4 使用上下文無關向量表示單字 114
7.5 使用上下文相關向量表示單字 117
7.6 本章小結 117
第 8 章 基於規則的方法 118
8.1 基於規則的方法簡介 118
8.2 為什麼要使用規則 119
8.3 正規表示式 119
8.3.1 使用正規表示式識別、分析和替換字串 120
8.3.2 常用的正規表示式技巧 122
8.4 詞彙層級分析 122
8.4.1 詞形還原 123
8.4.2 本體 123
8.5 句子層級分析 125
8.5.1 句法分析 125
8.5.2 語意分析與槽填充 128
8.6 本章小結 133
第 9 章 機器學習第1部分—統計機器學習 134
9.1 模型評估方法簡介 135
9.2 基於詞頻逆文檔頻率的文檔表示與基於樸素貝葉斯演算法的文檔分類 136
9.2.1 詞頻逆文檔頻率 136
9.2.2 樸素貝葉斯文件分類 136
9.2.3 基於詞頻逆文檔頻率的文檔表示與基於樸素貝葉斯演算法的文檔分類範例 137
9.3 基於支援向量機的文件分類 139
9.4 基於條件隨機場模型的槽填充 141