Java 自然語言處理, 2/e Natural Language Processing with Java - Second Edition: Advanced machine learning and neural networks for building NLP applications

Richard M. Reese, AshishSingh Bhatia 鄒偉 李妍 武現臣譯

  • 出版商: 機械工業
  • 出版日期: 2020-07-01
  • 定價: $474
  • 售價: 8.0$379
  • 語言: 簡體中文
  • 頁數: 234
  • 裝訂: 平裝
  • ISBN: 711165787X
  • ISBN-13: 9787111657873
  • 相關分類: Text-mining
  • 立即出貨

買這商品的人也買了...

商品描述

本書將教會讀者如何在Java庫的幫助下執行語言分析,同時不斷地從結果中獲得見解。
首先介紹NLP及其各種概念是如何工作的,然後探索Java中用於NLP的重要工具和庫,
如CoreNLP、OpenNLP、Neuroph、Mallet等。
之後,讀者將開始對不同的輸入和任務執行NLP,例如標記、模型訓練、部分語音、解析樹等。
讀者會學習到統計機器翻譯、摘要、對話系統、複雜搜索、有監督和無監督的NLP,以及其他內容。
在本書的最後,讀者也會學習到更多關於NLP、神經網絡和其他各種Java中用於增強NLP應用程序性能的訓練模型。

目錄大綱

譯者序
前言
作者簡介
審校者簡介
第1章NLP概論1
1.1 NLP是什麼2
1.2為什麼使用NLP 2
1.3為什麼NLP這麼難3
1.4 NLP工具匯總4
1.4.1 Apache OpenNLP 5
1.4.2 Stanford NLP 7
1.4 .3 LingPipe 8
1.4.4 GATE 9
1.4.5 UIMA 9
1.4.6 Apache Lucene Core 10
1.5 Java深度學習10
1.6文本處理任務概述11
1.6.1查找文本的各部分11
1.6.2文本斷句13
1.6.3特徵工程14
1.6.4查找人物和事件14
1.6.5詞性判斷16
1.6.6對文本和文檔進行分類17
1.6.7關係提取17
1.6.8使用組合方法19
1.7理解NLP方法19
1.7.1識別任務19
1.7.2選擇模型20
1.7.3建立並訓練模型20
1.7.4驗證模型20
1.7.5運用模型21
1.8準備數據21
1.9總結22

第2章查找文本的各部分24
2.1理解文章的各個部分24
2.2分詞是什麼25
2.3簡單的Java分詞器27
2.3.1使用Scanner類27
2.3.2使用split方法29
2.3 .3使用BreakIterator類29
2.3.4使用StreamTokenizer類30
2.3.5使用StringTokenizer類32
2.3.6 Java核心分詞的性能考慮32
2.4 NLP分詞器API 33
2.4.1使用OpenNLPTokenizer類33
2.4.2使用Stanford分詞器35
2.4.3訓練分詞器找出文本的各部分38
2.4.4分詞器比較41
2.5了解規範化42
2.5.1轉換成小寫42
2.5.2刪除停用詞43
2.5.3使用詞幹分析45
2.5. 4使用詞元化48
2.5.5使用管道進行標準化處理51
2.6總結52

第3章文本斷句53
3.1 SBD方法53
3.2 SBD難在何處54
3.3理解LingPipe的HeuristicSentenceModel類的SBD規則55
3.4簡單的Java SBD 56
3.4.1使用正則表達式56
3.4.2使用BreakIterator類58
3.5使用NLP API 59
3.5.1使用OpenNLP 60
3.5.2使用Stanford API 62
3.5 .3使用LingPipe 69
3.6訓練文本斷句模型73
3.6.1使用訓練好的模型75
3.6.2使用SentenceDetector-Evaluator類評估模型75
3.7總結76

第4章人物識別77
4.1 NER難在何處78
4.2 NER方法78
4.2.1列表和正則表達式79
4.2.2統計分類器80
4.3使用正則表達式進行NER 80
4.3.1使用Java的正則表達式來尋找實體80
4.3.2使用LingPipe的RegEx-Chunker類82
4.4使用NLP API 83
4.4.1使用OpenNLP進行NER 83
4.4.2使用Stanford API進行NER 88
4.4.3使用LingPipe進行NER 89
4.5使用NER註釋工具構建新數據集93
4.6訓練模型98
4.7總結101

第5章詞性判斷102
5.1詞性標註102
5.1.1詞性標註器的重要性104
5.1.2詞性標註難在何處105
5.2使用NLP API 106
5.2.1使用OpenNLP POS標註器107
5.2.2使用Stanford POS標註器115
5.2.3使用LingPipe POS標註器120
5.2.4訓練OpenNLP POSModel 124
5.3總結125

第6章用特徵表示文本127
6.1 n- gram 127
6.2詞嵌入129
6.3 GloVe 131
6.4 word2vec 133
6.5降維134
6.6主成分分析134
6.7 t-SNE 135
6.8總結138

第7章信息檢索139
7.1布爾檢索139
7.2字典和容錯性檢索141
7.2.1通配符查詢141
7.2.2拼寫校正142
7.2.3 Soundex 143
7.3向量空間模型143
7.4計分和術語加權144
7.5逆文檔頻率145
7.6 TF-IDF加權145
7.7信息檢索系統的評估145
7.8總結146

第8章對文本和文檔進行分類147
8.1如何使用分類147
8.2理解情感分析148
8.3文本分類技術150
8.4使用API對文本進行分類151
8.4.1使用OpenNLP 151
8.4.2使用Stanford API 154
8.4.3使用LingPipe對文本進行分類158
8.5總結165

第9章主題建模166
9.1什麼是主題建模166
9.2 LDA的基礎167
9.3使用MALLET進行主題建模168
9.3.1訓練168
9.3.2評價168
9.4總結171

第10章使用解析器提取關係172
10.1關係類型173
10.2理解解析樹174
10.3使用提取的關係175
10.4提取關係178
10.5使用NLP API 178
10.5.1使用OpenNLP 178
10.5.2使用Stanford API 181
10.5.3查找共指消解實體184
10.6為問答系統提取關係186
10.6.1查找單詞依賴關係186
10.6.2確定問題類型187
10.6.3尋找答案188
10.7總結190

第11章組合管道192
11.1準備數據193
11.1.1使用Boilerpipe從HTML抽取文本193
11.1.2使用POI從Word文檔中抽取文本195
11.1.3使用PDFBox從PDF文檔抽取文本200
11.1.4使用Apache Tika進行內容分析和抽取201
11.2管道203
11.2.1使用Stanford管道203
11.2.2在Stanford管道中使用多核處理器205
11.3創建用於搜索文本的管道206
11.4總結211

第12章創建一個聊天機器人212
12.1聊天機器人架構213
12.2人工語言網絡計算機實體214
12.2.1了解AIML 214
12.2.2使用ALICE和AIML開發聊天機器人216
12.3總結221