編輯推薦
(1)三位作者資曆深厚,分彆是阿裏巴巴的數據架構師和NLP專傢、百煉智能的NLP專傢(前明略數據的技術閤夥人和科學傢)、七牛雲AI實驗室NLP&OCR;方嚮負責人
阿裏巴巴、前明略數據和七牛雲的資深NLP專傢撰寫
(2)以實戰為導嚮,繞開各種復雜數學公式與證明,確保讀者零基礎入門,詳細講解自然語言處理 的各種核心技術、方法論和經典算法
(3)阿裏巴巴達摩院高級算法專傢、百煉智能CEO、七牛雲AI LAB負責人、天善智能創始人聯袂推薦
內容簡介
自然語言處理是一門融語言學、計算機科學、數學於一體的學科,比較復雜,學習門檻高,但本書巧妙地避開瞭晦澀難懂的數學公式和證明,即便沒有數學基礎,也能零基礎入門。
本書專注於中文的自然語言處理,以Python及其相關框架為工具,以實戰為導嚮,詳細講解瞭自然語言處理的各種核心技術、方法論和經典算法。三位作者在人工智能、大數據和算法領域有豐富的積纍和經驗,是阿裏巴巴、前明略數據和七牛雲的資深專傢。同時,本書也得到瞭阿裏巴巴達摩院高級算法專傢、七牛雲AI實驗室Leader等專傢的高度評價和鼎力推薦。
全書一共11章,在邏輯上分為2個部分:
第一部分(第1、2、11章)
主要介紹瞭自然語言處理所需要瞭解的基礎知識、前置技術、Python科學包、正則錶達式以及Solr檢索等。
第二部分(第5-10章)
第3~5章講解瞭詞法分析相關的技術,包括中文分詞技術、詞性標注與命名實體識彆、關鍵詞提取算法等。
第6章講解瞭句法分析技術,該部分目前理論研究較多,工程實踐中使用門檻相對較高,且效果多是依賴結閤業務知識進行規則擴展,因此本書未做深入探討。
第7章講解瞭常用的嚮量化方法,這些方法常用於各種NLP任務的輸入。
第8章講解瞭情感分析相關的概念、場景以及一般做情感分析的流程,情感分析在很多行業都有應用。
第9章介紹瞭機器學習的重要概念,同時重點突齣NLP常用的分類算法、聚類算法,還介紹瞭幾個案例。
第10章節介紹瞭NLP中常用的一些深度學習算法,這些方法比較復雜,但是非常實用,需要讀者耐心學習。
作者簡介
塗銘:
阿裏巴巴數據架構師,對大數據、自然語言處理、Python、Java相關技術有深入的研究,積纍瞭豐富的實踐經驗。曾就職於北京明略數據,是大數據方麵的高級谘詢顧問。
在工業領域參與瞭設備故障診斷項目,在零售行業參與瞭精準營銷項目。在自然語言處理方麵,擔任導購機器人項目的架構師,主導開發機器人的語義理解、短文本相似度匹配、上下文理解,以及通過自然語言檢索産品庫,在項目中構建瞭NoSQL+文本檢索等大數據架構,也同時負責問答對的整理和商品屬性的提取,帶領NLP團隊構建語義解析層。
劉祥:
百煉智能自然語言處理專傢,主要研究知識圖譜、NLG等前沿技術,參與機器自動寫作産品的研發與設計。
曾在明略數據擔當數據技術閤夥人兼數據科學傢,負責工業、金融等業務領域的數據挖掘工作,在這些領域構建瞭諸如故障診斷、關聯賬戶分析、新聞推薦、商品推薦等模型。
酷愛新技術,活躍於開源社區,是Spark MLlib和Zeppelin的Contributor。
劉樹春:
七牛雲高級算法專傢,七牛AI實驗室NLP&OCR;方嚮負責人,主要負責七牛NLP以及OCR相關項目的研究與落地。在七牛人工智能實驗室期間,參與大量NLP相關項目,例如知識圖譜、問答係統、文本摘要、語音相關係統等;同時重點關注NLP與CV的交叉研究領域,主要有視覺問答(VQA),圖像標注(Image Caption)等前沿問題。
曾在Intel DCSG數據與雲計算部門從事機器學習與雲平颱的融閤開發,項目獲得IDF大奬。碩士就讀於華東師範大學機器學習實驗室,在校期間主攻機器學習,機器視覺,圖像處理,並在相關國際會議發錶多篇SCI/EI論文。
精彩書評
本書從各個方麵著手,幫助讀者理解NLP的過程,提供瞭各種實戰場景,結閤現實項目背景,幫助讀者理解NLP中的數據結構和算法以及目前主流的NLP技術與方法論,結閤信息檢索技術與大數據應用等流行技術,完成對NLP的學習和掌握。
——黃英 阿裏巴巴達摩院高級算法專傢
目前市麵上的NLP書籍,要麼是針對研究人員的偏理論性的教科書,要麼是針對資深工程師進一步深入瞭解NLP技術的高級讀物。為瞭填補這一空白,三位來自工業界的資深NLP專傢,結閤真實的項目,讓讀者能夠以很快的速度掌握NLP技術的精髓。同時,穿插大量練習,可以幫助讀者反復練習課本中的知識點。所有這些內容,都是為瞭讓讀者能夠解決工作中遇到的實際問題,而不僅是紙上談兵。本書通俗易懂、操作性強。
——馮是聰博士 百煉智能創始人兼CEO/人工智能與信息檢索專傢
本書作者通過對現有的NLP技術以及新興的深度學習方法進行梳理和總結,形成瞭自己的NLP知識體係。本書在內容上平衡瞭理論和技術,在每章的理論之後都配備瞭實踐課,便於讀者通過動手加深理解,避免成為隻會誇誇其談的NLP理論“專傢”。本書可以幫助研究者,特彆是初學者,加強對NLP的理論與技術的學習,授人以魚的同時授人以漁,幫助讀者靈活解決實際工作當中遇到的各種NLP問題。
——林亦寜 七牛雲AI實驗室Leader/10餘年人工智能和深度學習研究
技術的發展和普及,離不開教育的推動,從商業智能到大數據,再到如今的人工智能,莫不是如此。華章是IT技術圖書齣版領域的領軍者,天善智能是IT技術在綫教育領域的佼佼者,我們都在為推動IT技術在中國甚至是世界範圍內的發展貢獻力量。華章與天善智能結成瞭非常重要的戰略閤作夥伴關係,本書是雙方閤作的一本書,後續還會有更多的作品齣版,希望能對大傢有所幫助。
——周劍 天善智能聯閤創始人&谘詢總監
目錄
目 錄
序一
序二
前言
第1章 NLP基礎 1
1.1 什麼是NLP 1
1.1.1 NLP的概念 1
1.1.2 NLP的研究任務 3
1.2 NLP的發展曆程 5
1.3 NLP相關知識的構成 7
1.3.1 基本術語 7
1.3.2 知識結構 9
1.4 語料庫 10
1.5 探討NLP的幾個層麵 11
1.6 NLP與人工智能 13
1.7 本章小結 15
第2章 NLP前置技術解析 16
2.1 搭建Python開發環境 16
2.1.1 Python的科學計算發行版——Anaconda 17
2.1.2 Anaconda的下載與安裝 19
2.2 正則錶達式在NLP的基本應用 21
2.2.1 匹配字符串 22
2.2.2 使用轉義符 26
2.2.3 抽取文本中的數字 26
2.3 Numpy使用詳解 27
2.3.1 創建數組 28
2.3.2 獲取Numpy中數組的維度 30
2.3.3 獲取本地數據 31
2.3.4 正確讀取數據 32
2.3.5 Numpy數組索引 32
2.3.6 切片 33
2.3.7 數組比較 33
2.3.8 替代值 34
2.3.9 數據類型轉換 36
2.3.10 Numpy的統計計算方法 36
2.4 本章小結 37
第3章 中文分詞技術 38
3.1 中文分詞簡介 38
3.2 規則分詞 39
3.2.1 正嚮最大匹配法 39
3.2.2 逆嚮最大匹配法 40
3.2.3 雙嚮最大匹配法 41
3.3 統計分詞 42
3.3.1 語言模型 43
3.3.2 HMM模型 44
3.3.3 其他統計分詞算法 52
3.4 混閤分詞 52
3.5 中文分詞工具——Jieba 53
3.5.1 Jieba的三種分詞模式 54
3.5.2 實戰之高頻詞提取 55
3.6 本章小結 58
第4章 詞性標注與命名實體識彆 59
4.1 詞性標注 59
4.1.1 詞性標注簡介 59
4.1.2 詞性標注規範 60
4.1.3 Jieba分詞中的詞性標注 61
4.2 命名實體識彆 63
4.2.1 命名實體識彆簡介 63
4.2.2 基於條件隨機場的命名實體識彆 65
4.2.3 實戰一:日期識彆 69
4.2.4 實戰二:地名識彆 75
4.3 總結 84
第5章 關鍵詞提取算法 85
5.1 關鍵詞提取技術概述 85
5.2 關鍵詞提取算法TF/IDF算法 86
5.3 TextRank算法 88
5.4 LSA/LSI/LDA算法 91
5.4.1 LSA/LSI算法 93
5.4.2 LDA算法 94
5.5 實戰提取文本關鍵詞 95
5.6 本章小結 105
第6章 句法分析 106
6.1 句法分析概述 106
6.2 句法分析的數據集與評測方法 107
6.2.1 句法分析的數據集 108
6.2.2 句法分析的評測方法 109
6.3 句法分析的常用方法 109
6.3.1 基於PCFG的句法分析 110
6.3.2 基於最大間隔馬爾可夫網絡的句法分析 112
6.3.3 基於CRF的句法分析 113
6.3.4 基於移進–歸約的句法分析模型 113
6.4 使用Stanford Parser的PCFG算法進行句法分析 115
6.4.1 Stanford Parser 115
6.4.2 基於PCFG的中文句法分析實戰 116
6.5 本章小結 119
第7章 文本嚮量化 120
7.1 文本嚮量化概述 120
7.2 嚮量化算法word2vec 121
7.2.1 神經網絡語言模型 122
7.2.2 C&W;模型 124
7.2.3 CBOW模型和Skip-gram模型 125
7.3 嚮量化算法doc2vec/str2vec 127
7.4 案例:將網頁文本嚮量化 129
7.4.1 詞嚮量的訓練 129
7.4.2 段落嚮量的訓練 133
7.4.3 利用word2vec和doc2vec計算網頁相似度 134
7.5 本章小結 139
第8章 情感分析技術 140
8.1 情感分析的應用 141
8.2 情感分析的基本方法 142
8.2.1 詞法分析 143
8.2.2 機器學習方法 144
8.2.3 混閤分析 144
8.3 實戰電影評論情感分析 145
8.3.1 捲積神經網絡 146
8.3.2 循環神經網絡 147
8.3.3 長短時記憶網絡 148
8.3.4 載入數據 150
8.3.5 輔助函數 154
8.3.6 模型設置 155
8.3.7 調參配置 158
8.3.8 訓練過程 159
8.4 本章小結 159
第9章 NLP中用到的機器學習算法 160
9.1 簡介 160
9.1.1 機器學習訓練的要素 161
9.1.2 機器學習的組成部分 162
9.2 幾種常用的機器學習方法 166
9.2.1 文本分類 166
9.2.2 特徵提取 168
9.2.3 標注 169
9.2.4 搜索與排序 170
9.2.5 推薦係統 170
9.2.6 序列學習 172
9.3 分類器方法 173
9.3.1 樸素貝葉斯Naive Bayesian 173
9.3.2 邏輯迴歸 174
9.3.3 支持嚮量機 175
9.4 無監督學習的文本聚類 177
9.5 文本分類實戰:中文垃圾郵件分類 180
9.5.1 實現代碼 180
9.5.2 評價指標 187
9.6 文本聚類實戰:用K-means對豆瓣讀書數據聚類 190
9.7 本章小結 194
第10章 基於深度學習的NLP算法 195
10.1 深度學習概述 195
10.1.1 神經元模型 196
10.1.2 激活函數 197
10.1.3 感知機與多層網絡 198
10.2 神經網絡模型 201
10.3 多輸齣層模型 203
10.4 反嚮傳播算法 204
10.5 最優化算法 208
10.5.1 梯度下降 208
10.5.2 隨機梯度下降 209
10.5.3 批量梯度下降 210
10.6 丟棄法 211
10.7 激活函數 211
10.7.1 tanh函數 212
10.7.2 ReLU函數 212
10.8 實現BP算法 213
10.9 詞嵌入算法 216
10.9.1 詞嚮量 217
10.9.2 word2vec簡介 217
10.9.3 詞嚮量模型 220
10.9.4 CBOW和Skip-gram模型 222
10.1
前言/序言
PREFACE前 言為什麼要寫這本書這是一本關於中文自然語言處理(簡稱NLP)的書,NLP是計算機科學領域與人工智能領域中的一個重要方嚮。它研究能實現人與計算機之間用自然語言進行有效通信的各種理論和方法。NLP是一門融語言學、計算機科學、數學於一體的科學。本書偏重實戰,不僅係統介紹瞭NLP涉及的知識點,同時也教會讀者如何實際應用與開發。圍繞這個主題,本書從章節規劃到具體的講述方式,具有以下兩個特點:
第一個特點是本書的主要目標讀者定位為高校相關專業的大學生(統計學、計算機技術)、NLP愛好者,以及不具備專業數學知識的人群。NLP是一係列學科的集閤體,其中包含瞭語言學、機器學習、統計學、大數據以及人工智能等方麵,尤其依賴數學知識纔能深入理解其原理。因此本書對專業知識的講述過程必須繞過復雜的數學證明,從問題的前因後果、創造者思考的過程、概率或幾何解釋代替數學解釋等一係列迂迴的路徑去深入模型的本源,這可能多少會犧牲一些嚴謹性,但是卻能換來對大多數人更為友好的閱讀體驗。
第二個特點是本書是一本介紹中文自然語言處理的書,中文分詞相對於英文分詞來說更為復雜,讀者將通過例子來學習,體會到能夠通過實踐驗證自己想法的價值,我們提供瞭豐富的來自NLP領域的案例。在本書的內容編製上,從知識點背景介紹到原理剖析,輔以實戰案例,所有的代碼會在書中詳細列齣或者上傳Github方便讀者下載與調試,幫助讀者快速上手掌握知識點,同時可以應用到後續實際的開發項目中。在實際項目章節中,選取目前在NLP領域中比較熱門的項目,將之前的知識點進行匯總,幫助讀者鞏固與提升。本書難度適中屬於入門和擴展級讀物。
讀者將學到什麼如何用NLP 與語言學的關鍵概念來描述和分析語言NLP 中的數據結構和算法是怎樣的自然語言處理目前主流的技術與方法論信息檢索技術與大數據應用讀者對象1)統計學或相關IT專業學生本書的初衷是麵嚮相關專業的學生——大量基於理論知識的認知卻缺乏實戰經驗的人員,讓其在理論的基礎上深入瞭解。通過本書,學生可以跟隨本書的教程一起操作學習,達到對自己使用的人工智能工具、算法和技術知其然亦知其所以然的目的。
2)信息科學和計算機科學愛好者本書是一部近代科技的曆史書,也是一部科普書,還可以作為一部人工智能思想和技術的教科書去閱讀。通過本書可以瞭解到行業先驅們在探索人工智能道路上所做齣的努力和思考,理解他們不同的觀點和思路,有助於開拓自己的思維和視野。
3)人工智能相關專業的研究人員本書具體介紹瞭NLP相關知識。通過本書可以瞭解理論知識,瞭解哪些纔是項目所需的內容以及如何在項目中實現,能夠快速上手。
如何閱讀本書本書內容針對NLP從以下幾個方麵進行闡述:
第一部分的內容包括第1、2、11章,主要介紹瞭NLP所需要瞭解的Python科學包、正則錶達式以及Solr檢索。
第二部分的內容包括第5~10章的內容,主要是介紹NLP相關的各個知識點。分彆是:
第3~5章主要介紹瞭詞法分析層麵的一些技術,這一部分是NLP技術的基礎,需要讀者熟練掌握。
第6章介紹瞭句法分析技術,該部分目前理論研究較多,工程實踐中使用門檻相對較高,且效果多是依賴結閤業務知識進行規則擴展,因此本書未做深入探討,讀者瞭解即可。
第7章介紹瞭常用的嚮量化方法。這些方法常用於各種NLP任務的輸入,讀者需重點掌握。
第8章介紹瞭情感分析相關的概念、場景以及一般做情感分析的流程,情感分析在很多行業都有應用,所以需要讀者熟練掌握。
第9章介紹瞭機器學習的一些基本概念,重點突齣NLP常用的分類算法、聚類算法,同時還介紹瞭幾個案例,這章是NLP的基礎內容,需要重點掌握。
第10章介紹瞭NLP中常用的深度學習算法,這些方法比較復雜,但是非常實用,需要讀者耐心學習。
除瞭以上內容外,以下信息是在本書中涉及特定內容的解釋和說明:
內容延伸。本書每個章節都有一定的內容延伸章節,其內容是對於有興趣深入研究的讀者推薦的資料或進一步瞭解的知識點,由於每個主題都涵蓋很多內容,因此本書僅在內容延伸中拋磚引玉,有興趣的讀者可以加以瞭解和學習。
相關知識點。本書很多章節中都有“相關知識點”的內容介紹,其對特定工具、知識、算法、庫等方麵做瞭較為詳細的介紹,它們是本書的知識堡壘。
本章小結。每章的結尾都有“本章小結”,在小結中包含4部分內容。
內容小結。內容小結是有關本章內容的總結。
重點知識。重點知識是本章重點需要讀者掌握的知識和內容。
外部參考。外部參考是本章提到過但是無法詳細介紹的內容,都在外部參考中列齣,有興趣的讀者可以基於比構建自己的知識圖譜。
應用實踐。基於本章內容推薦讀者在實踐中落地的建議。
提示。對於知識點的重要提示和應用技巧,相對“相關知識點”而言,每條提示信息的內容量較少,一般都是經驗類的總結。
注意。特定需要引起注意的知識,這些注意點是應用過程中需要避免的“大坑”。
關於附件的使用方法除瞭第1章外,本書的每一章都有對應源數據和完整代碼,該內容可在本書中直接找到,有些代碼需要從Github下載,地址是https://github.com/nlpinaction/learning-nlp。需要注意的是,為瞭讓讀者更好地瞭解每行代碼的含義,筆者在注釋信息中使用瞭中文標注,且每個程序文件的編碼格式都是UTF-8。
勘誤和支持由於筆者水平有限,書中難免會齣現一些錯誤或者不準確的地方,懇請讀者批評指正。讀者可通過以下途徑聯係並反饋建議或意見:
即時通訊。添加個人微信(kennymingtu)反饋問題。
電子郵件。發送E-mail到kenny_tm@hotmail.com。
緻謝在本書的撰寫過程中,得到瞭來自多方的指導、幫助和支持。
首先要感謝的是機械工業齣版社華章公司的楊福川編輯,他在本書齣版過程中給予我極大的支持和鼓勵,並為此書的撰寫提供瞭方嚮和思路指導。
其次要感謝黃英和周劍老師在自然語言處理項目和工作中提供的寶貴經驗和支持。
再次要感謝全程參與審核、校驗等工作的張锡鵬、孫海亮編輯以及其他背後默默支持的齣版工作者,是他們的辛勤付齣纔讓本書得以順利麵世。
最後感謝我的父母、傢人和朋友,使得我有精力完
Python自然語言處理實戰:核心技術與算法 下載 mobi epub pdf txt 電子書 格式