深度學習搜索引擎開發(fā) Java實現(xiàn)
定 價:79 元
- 作者:[意]托馬索·泰奧菲利(Tommaso Teofili)
- 出版時間:2020/10/1
- ISBN:9787115547262
- 出 版 社:人民郵電出版社
- 中圖法分類:TP312.8
- 頁碼:259
- 紙張:
- 版次:01
- 開本:16開
本書是市面上少見的將搜索與深度學習相結(jié)合的書,討論了使用(深度)神經(jīng)網(wǎng)絡(luò)來幫助建立有效的搜索引擎的方法。閱讀本書無須具備開發(fā)搜索引擎的背景,也不需要具備有關(guān)機器學習或深度學習的預備知識,因為本書將介紹所有相關(guān)的基礎(chǔ)知識和實用技巧。書中研究了搜索引擎的幾個組成部分,不僅針對它們的工作方式提供了一些見解,還為在不同環(huán)境中使用神經(jīng)網(wǎng)絡(luò)提供了指導。讀完本書,你將深入理解搜索引擎面臨的主要挑戰(zhàn)、這些挑戰(zhàn)的常見解決方法以及深度學習所能提供的幫助。你將清晰地理解幾種深度學習技術(shù)以及它們在搜索環(huán)境中的適用范圍,并深入了解Lucene和Deeplearning4j庫。書中示例代碼用Java編寫。
1.本書教你用深度學習和神經(jīng)網(wǎng)絡(luò)打造更智能的搜索引擎,通過簡單易懂的示例解釋搜索和深度學習技術(shù),大部分示例配有Java代碼。
2.書中介紹了搜索引擎面臨的主要挑戰(zhàn)及其常見解決方法,以及深度學習所能提供的幫助。
3.此外還闡釋了幾種深度學習技術(shù)及其在搜索環(huán)境中的適用范圍,以及Lucene和Deeplearning4j庫的用法。
4.最后討論了更為復雜的應用場景,例如由深度學習驅(qū)動的機器翻譯和圖像搜索。
5.提供源代碼、本書部分彩圖下載。
本書讀者應具備一定的Java編程基礎(chǔ),但不需要具備深度學習和搜索引擎開發(fā)背景。
● 第一部分:搜索、機器學習和深度學習的基本概念;使用神經(jīng)網(wǎng)絡(luò)模型從數(shù)據(jù)中生成同義詞
● 第二部分:使用循環(huán)神經(jīng)網(wǎng)絡(luò)來生成用戶輸入查詢的替代查詢;借助深度神經(jīng)網(wǎng)絡(luò)的幫助,在用戶輸入查詢時提供更好的建議;使用詞嵌入提供相關(guān)性更強的搜索結(jié)果;文檔嵌入在排序函數(shù)和內(nèi)容推薦中的使用
● 第三部分:由深度學習驅(qū)動的機器翻譯和圖像搜索;深度學習模型調(diào)優(yōu)和處理連續(xù)傳入的數(shù)據(jù)流
托馬索·泰奧菲利(Tommaso Teofili)
Red Hat公司高級軟件工程師,曾擔任Adobe公司軟件工程師,對開源和人工智能充滿熱情。他是Apache軟件基金會的成員,參與了許多項目,涉及信息檢索、自然語言處理和分布式計算等主題。
【譯者簡介】
李軍
電子科技大學計算機應用技術(shù)碩士,《IDA Pro代碼破解揭密》合作譯者,現(xiàn)從事電力系統(tǒng)自動化工作。
天舒
曾就讀于四川大學電氣工程及自動化專業(yè),英國曼徹斯特大學電力系統(tǒng)工程碩士,現(xiàn)從事電力系統(tǒng)自動化工作。
第 一部分 當搜索遇上深度學習
第 1章 神經(jīng)搜索 2
1.1 神經(jīng)網(wǎng)絡(luò)及深度學習 3
1.2 什么是機器學習 5
1.3 深度學習能為搜索做什么 7
1.4 學習深度學習的路線圖 9
1.5 檢索有用的信息 10
1.5.1 文本、詞素、詞項和搜索基礎(chǔ) 11
1.5.2 相關(guān)性優(yōu)先 18
1.5.3 經(jīng)典檢索模型 19
1.5.4 精確率與召回率 20
1.6 未解決的問題 20
1.7 打開搜索引擎的黑盒子 21
1.8 利用深度學習解決問題 22
1.9 索引與神經(jīng)元 26
1.10 神經(jīng)網(wǎng)絡(luò)訓練 26
1.11 神經(jīng)搜索的前景 28
1.12 總結(jié) 29
第 2章 生成同義詞 30
2.1 同義詞擴展介紹 31
2.1.1 為什么要使用同義詞 32
2.1.2 基于詞匯表的同義詞匹配 33
2.2 語境的重要性 42
2.3 前饋神經(jīng)網(wǎng)絡(luò) 43
2.3.1 前饋神經(jīng)網(wǎng)絡(luò)如何工作:權(quán)重和激活函數(shù) 44
2.3.2 簡述反向傳播 45
2.4 使用word2vec 46
2.4.1 在Deeplearning4j中設(shè)置word2vec 53
2.4.2 基于word2vec的同義詞擴展 54
2.5 評價和比較 57
2.6 用于生產(chǎn)系統(tǒng)時的考慮 58
2.7 總結(jié) 61
第二部分 將神經(jīng)網(wǎng)絡(luò)用于搜索引擎
第3章 從純檢索到文本生成 64
3.1 信息需求與查詢:彌補差距 65
3.1.1 生成可選查詢 65
3.1.2 數(shù)據(jù)準備 67
3.1.3 生成數(shù)據(jù)的小結(jié) 73
3.2 學習序列 73
3.3 循環(huán)神經(jīng)網(wǎng)絡(luò) 75
3.3.1 循環(huán)神經(jīng)網(wǎng)絡(luò)內(nèi)部結(jié)構(gòu)和動態(tài) 77
3.3.2 長期依賴 80
3.3.3 LSTM網(wǎng)絡(luò) 81
3.4 用于無監(jiān)督文本生成的LSTM網(wǎng)絡(luò) 81
3.5 從無監(jiān)督文本生成到監(jiān)督文本生成 92
3.6 生產(chǎn)系統(tǒng)的考慮因素 95
3.7 總結(jié) 96
第4章 更靈敏的查詢建議 97
4.1 生成查詢建議 98
4.1.1 編寫查詢時的建議 98
4.1.2 基于字典的建議算法 99
4.2 Lucene Lookup API 99
4.3 分析后的建議算法 102
4.4 使用語言模型 108
4.5 基于內(nèi)容的建議算法 111
4.6 神經(jīng)語言模型 112
4.7 基于字符的神經(jīng)語言建議模型 114
4.8 調(diào)優(yōu)LSTM 語言模型 117
4.9 使用詞嵌入使建議多樣化 125
4.10 總結(jié) 127
第5章 用詞嵌入對搜索結(jié)果排序 128
5.1 排序的重要性 128
5.2 檢索模型 130
5.2.1 TF-IDF與向量空間模型 132
5.2.2 在Lucene中對文檔進行排序 134
5.2.3 概率模型 137
5.3 神經(jīng)信息檢索 138
5.4 從單詞到文檔向量 139
5.5 評價和比較 144
5.6 總結(jié) 149
第6章 用于排序和推薦的文檔嵌入 150
6.1 從詞嵌入到文檔嵌入 150
6.2 在排序中使用段向量 154
6.3 文檔嵌入及相關(guān)內(nèi)容 157
6.3.1 搜索、推薦和相關(guān)內(nèi)容 157
6.3.2 使用高頻詞項查找相似內(nèi)容 159
6.3.3 使用段向量檢索相似內(nèi)容 166
6.3.4 從編碼器-解碼器模型用向量檢索相似內(nèi)容 169
6.4 總結(jié) 170
第三部分 延伸
第7章 跨語言搜索 172
7.1 為講多種語言的用戶提供服務(wù) 172
7.1.1 翻譯文檔與查詢 174
7.1.2 跨語言搜索 175
7.1.3 在Lucene上進行多語言查詢 176
7.2 統(tǒng)計機器翻譯 178
7.2.1 對齊 180
7.2.2 基于短語的翻譯 181
7.3 使用并行語料庫 181
7.4 神經(jīng)機器翻譯 184
7.4.1 編碼器-解碼器模型 184
7.4.2 DL4J中用于機器翻譯的編碼器-解碼器 187
7.5 多語言的單詞和文檔嵌入 194
7.6 總結(jié) 199
第8章 基于內(nèi)容的圖像搜索 200
8.1 圖像內(nèi)容和搜索 201
8.2 回顧:基于文本的圖像檢索 203
8.3 理解圖像 204
8.3.1 圖像表示 206
8.3.2 特征提取 208
8.4 圖像表示的深度學習 215
8.4.1 卷積神經(jīng)網(wǎng)絡(luò) 216
8.4.2 圖像搜索 224
8.4.3 局部敏感散列 228
8.5 處理未標記的圖像 231
8.6 總結(jié) 235
第9章 性能一瞥 236
9.1 深度學習的性能與約定 237
9.2 索引和神經(jīng)元協(xié)同工作 251
9.3 使用數(shù)據(jù)流 254
9.4 總結(jié) 259
展望未來 260