本書集學(xué)術(shù)前沿、教學(xué)成果與應(yīng)用實踐于一體,系統(tǒng)講述自然語言處理理論與應(yīng)用。全書分為5篇;A(chǔ)理論篇包括第1~4章,主要內(nèi)容為自然語言處理與應(yīng)用概述、面向自然語言處理的深度學(xué)習(xí)經(jīng)典平臺與算法、面向自然語言處理的深度學(xué)習(xí)前沿進(jìn)展、預(yù)訓(xùn)練語言模型;信息處理篇包括第5~9章,主要內(nèi)容為網(wǎng)絡(luò)爬蟲技術(shù)、多格式文檔解析與管理、語音文字識別、圖像語義表示與字符識別、中文分詞與詞性標(biāo)注;語義分析篇包括第10~13章,主要內(nèi)容為情感分析、新詞發(fā)現(xiàn)、命名實體識別與關(guān)鍵詞提取、知識圖譜的大數(shù)據(jù)自動構(gòu)建與應(yīng)用;文本挖掘篇包括第14~18章,主要內(nèi)容為信息過濾、文本分類、文本聚類、文本校對、自動摘要;應(yīng)用篇包括第19、20章,主要內(nèi)容為自然語言處理應(yīng)用項目和案例。 本書可作為高等學(xué)校自然語言處理方向研究生與高年級本科生的專業(yè)課教材,也可供自然語言處理方向的科研人員、工程技術(shù)人員和愛好者參考。
集自然語言處理學(xué)術(shù)前沿、教學(xué)成果與應(yīng)用實踐于一體;
充分反映自然語言處理方向的國際學(xué)術(shù)前沿進(jìn)展;
融入北京理工大學(xué)團(tuán)隊20余年自然語言處理與應(yīng)用方向的創(chuàng)新性成果,獲得多項省部級科技獎,NLPIR自然語言處理與信息檢索共享平臺網(wǎng)提供配套的演示程序及代碼;
六年多研究型一線教學(xué)實踐,收錄了多個研究小組優(yōu)秀項目業(yè)作為應(yīng)用案例剖析。
自然語言處理是一門融語言學(xué)、計算機科學(xué)、數(shù)學(xué)于一體的學(xué)科,研究人與計算機之間用自然語言進(jìn)行有效通信的各種理論和方法。自然語言處理的目標(biāo)是讓機器在理解語言上像人類一樣有智能,最終目標(biāo)是減小人類交流(自然語言)和計算機理解(機器語言)之間的差距。自然語言處理被譽為 人工智能皇冠上的明珠。微軟全球副總裁、著名人工智能專家沈向洋在中國計算機大會上明確表示: 得語言者得天下。自然語言處理已經(jīng)成為人工智能研究的難點與熱點,孕育著改變世界未來的機會。魔多情報(Mordor Intelligence)公司的報告顯示,2020年全球自然語言處理市場規(guī)模為107.20億美元,預(yù)計到2026年將增長至484.60億美元,平均年復(fù)合增長率為26.84%。隨著新冠疫情的全球傳播,自然語言處理在醫(yī)療健康方面的增長尤為迅速。
近年來,自然語言處理領(lǐng)域已經(jīng)有不少優(yōu)秀專著或教材面世,但主要介紹自然語言處理的經(jīng)典算法與相關(guān)技術(shù),結(jié)合實際系統(tǒng)與應(yīng)用實踐的不多。我從2016年開始在北京理工大學(xué)開設(shè)研究生選修課大數(shù)據(jù)分析與應(yīng)用,2022年開始為北京理工大學(xué)人工智能專業(yè)大三學(xué)生開設(shè)必修課大數(shù)據(jù)處理技術(shù),嘗試將自然語言處理與大數(shù)據(jù)、人工智能相結(jié)合,采用研究型教學(xué)方式,給出自然語言處理的經(jīng)典任務(wù)命題,由學(xué)生們分組給出綜述報告,要求詳細(xì)介紹自然語言處理各個技術(shù)點的經(jīng)典算法,并反映出近3年國際學(xué)術(shù)研究的前沿進(jìn)展,最后給出直觀的演示系統(tǒng)并進(jìn)行實驗驗證。課程期末考試需要團(tuán)隊協(xié)作完成有一定創(chuàng)新性的自然語言處理項目,由校外產(chǎn)學(xué)研各界專家進(jìn)行獨立評審。經(jīng)過6年的不斷探索,課程受到了1000多位修課同學(xué)的廣泛好評,課程期末平均成績?yōu)?4.73分。隨著教學(xué)實踐體系的不斷完善,我希望能將20多年自然語言處理研究和6年教學(xué)實踐的成果分享出來,最終完成了這本自然語言處理與應(yīng)用密切結(jié)合的教材。
本書共分5篇: 基礎(chǔ)理論篇主要包括自然語言處理與應(yīng)用概述、深度學(xué)習(xí)經(jīng)典平臺與算法、深度學(xué)習(xí)前沿進(jìn)展、預(yù)訓(xùn)練語言模型;信息處理篇主要包括網(wǎng)絡(luò)爬蟲技術(shù)、多格式文檔解析與管理、語音文字識別、圖像語義表示與字符識別、中文分詞與詞性標(biāo)注;語義分析篇包括情感分析、新詞發(fā)現(xiàn)、命名實體識別與關(guān)鍵詞提取、知識圖譜的大數(shù)據(jù)自動構(gòu)建與應(yīng)用等;文本挖掘篇包括信息過濾、文本分類、文本聚類、文本校對、自動摘要;應(yīng)用篇主要介紹一些有特色的自然語言處理應(yīng)用項目和案例。
本書的特色是集學(xué)術(shù)前沿、應(yīng)用實踐、教學(xué)成果于一體,充分反映大數(shù)據(jù)、人工智能與自然語言處理方向的國際學(xué)術(shù)前沿進(jìn)展,同時融入作者團(tuán)隊20余年自然語言處理與應(yīng)用方向的創(chuàng)新性成果,相關(guān)成果先后獲得新疆維吾爾自治區(qū)科技進(jìn)步獎一等獎與二等獎以及錢偉長中文信息處理科學(xué)技術(shù)獎一等獎。本書吸收了大數(shù)據(jù)分析與應(yīng)用大數(shù)據(jù)處理技術(shù)6年多一線研究型教學(xué)實踐成果,收錄了多個研究小組的優(yōu)秀項目作為應(yīng)用案例。作為本書成果的配套網(wǎng)站和相關(guān)資料的下載基地,NLPIR(自然語言處理與信息檢索)共享平臺提供了實際成果演示與各類資源的下載。本書可作為高校自然語言處理方向研究生與高年級本科生的教材,也可供自然語言處理方向的科研人員、工程技術(shù)人員和愛好者參考。
本書內(nèi)容主要涉及作者所在的北京理工大學(xué)NLPIR實驗室的研究成果,部分章節(jié)內(nèi)容來自實驗室近10年發(fā)表的學(xué)術(shù)論文與研究生畢業(yè)論文。張華平負(fù)責(zé)總體策劃與任務(wù)安排,商建云負(fù)責(zé)本書的統(tǒng)籌,湯澤陽、雷沛鈳、駱曦完成了全部初稿的整理。本書采用了作者指導(dǎo)的研究生張寶華、姜慶鴻、蔡佳豪、劉子宇等的畢業(yè)論文及發(fā)表的文章,同時采用了北京理工大學(xué)大數(shù)據(jù)分析與應(yīng)用研究生課程、大數(shù)據(jù)處理技術(shù)本科課程部分學(xué)生的課程作業(yè),均在相應(yīng)的部分進(jìn)行了標(biāo)注。各個章節(jié)依次由康鎧、王彥浩、楊蔓芝、張曉松、李育霖、張俊輝、馬弋洋、張恒瑀、高玉簫、趙青青、楊子研、劉維康、張洪彬、嚴(yán)若豪、諶立鳳、李靜、蔡佳豪、杜倫、雷沛鈳、湯澤陽、黃詠儀等同學(xué)進(jìn)行了精心編輯整理。本書得到基礎(chǔ)加強計劃技術(shù)領(lǐng)域基金(編號: 2021JCJQJJ0059)、北京市自然科學(xué)基金(編號: 4212026)、北京理工大學(xué)十四五規(guī)劃教材項目的資助。在本書策劃和寫作過程中,得到了清華大學(xué)出版社白立軍、楊帆老師的大力支持和幫助,作者在此表示衷心感謝。在本書的寫作與相關(guān)科研課題的研究工作中,得到了多方面的支持與幫助,作者在此謹(jǐn)向相關(guān)文獻(xiàn)的作者以及為本書提供幫助的老師、同仁和課題組成員致以誠摯的謝意和崇高的敬意。
限于作者的學(xué)識、水平,書中不妥之處在所難免,懇請廣大讀者批評指正。
張華平
2023年5月
第1篇基礎(chǔ)理論篇
第1章自然語言處理與應(yīng)用概述3
1.1自然語言處理3
1.1.1自然語言處理的定義、難點及其發(fā)展歷程3
1.1.2自然語言處理的上下游任務(wù)4
1.2中文自然語言處理發(fā)展現(xiàn)狀7
1.2.1自然語言處理任務(wù)評測結(jié)果7
1.2.2中文數(shù)據(jù)集與評測現(xiàn)狀8
1.2.3中文預(yù)訓(xùn)練語言模型現(xiàn)狀9
1.2.4中國影響力現(xiàn)狀9
1.3自然語言處理的發(fā)展趨勢11
1.3.1處理從人工到自動化11
1.3.2應(yīng)用從通用到場景化13
1.3.3算法從單一到平臺化15
1.4中文互聯(lián)網(wǎng)自然語言處理面臨的挑戰(zhàn)16
1.4.1信息對抗16
1.4.2多語言交互16
1.4.3社會演化17
第2章面向自然語言處理的深度學(xué)習(xí)經(jīng)典平臺與算法18
2.1深度學(xué)習(xí)經(jīng)典平臺18
2.1.1TensorFlow18
2.1.2PyTorch20
2.1.3PaddlePaddle21
2.2深度學(xué)習(xí)經(jīng)典算法22
2.2.1卷積神經(jīng)網(wǎng)絡(luò)222.2.2循環(huán)神經(jīng)網(wǎng)絡(luò)23
2.2.3生成對抗網(wǎng)絡(luò)26
第3章面向自然語言處理的深度學(xué)習(xí)前沿進(jìn)展30
3.1傳統(tǒng)深度學(xué)習(xí)遇到的瓶頸30
3.1.1深度學(xué)習(xí)概述30
3.1.2傳統(tǒng)深度學(xué)習(xí)遇到的問題31
3.2面向數(shù)據(jù)的深度學(xué)習(xí)前沿進(jìn)展33
3.2.1主動學(xué)習(xí)33
3.2.2自監(jiān)督學(xué)習(xí)35
3.2.3提示學(xué)習(xí)37
3.2.4圖神經(jīng)網(wǎng)絡(luò)39
3.2.5多模態(tài)學(xué)習(xí)41
3.3面向訓(xùn)練的深度學(xué)習(xí)前沿進(jìn)展43
3.3.1多任務(wù)學(xué)習(xí)43
3.3.2終身學(xué)習(xí)45
3.3.3范式遷移46
3.4面向應(yīng)用的深度學(xué)習(xí)前沿進(jìn)展47
3.4.1模型壓縮47
3.4.2可解釋學(xué)習(xí)48
3.4.3對抗與算法安全49
〖1〗〖2〗自然語言處理與應(yīng)用目錄第4章預(yù)訓(xùn)練語言模型51
4.1預(yù)訓(xùn)練語言模型概述51
4.1.1預(yù)訓(xùn)練語言模型定義51
4.1.2預(yù)訓(xùn)練語言模型的發(fā)展歷程51
4.2常見預(yù)訓(xùn)練語言模型介紹52
4.2.1BERT52
4.2.2GPT354
4.2.3ELMo54
4.2.4ERNIE55
4.3預(yù)訓(xùn)練語言模型的使用56
4.3.1遷移學(xué)習(xí)56
4.3.2微調(diào)56
4.4預(yù)訓(xùn)練語言模型發(fā)展趨勢58
4.4.1多語種58
4.4.2多模態(tài)58
4.4.3增大模型58
4.4.4替換預(yù)訓(xùn)練任務(wù)59
4.4.5結(jié)合外部知識60
4.4.6預(yù)訓(xùn)練語言模型壓縮61
4.5應(yīng)用與分析61
4.5.1模型介紹61
4.5.2模型使用62
第2篇信息處理篇
第5章網(wǎng)絡(luò)爬蟲技術(shù)65
5.1概述65
5.1.1網(wǎng)絡(luò)爬蟲的概念內(nèi)涵65
5.1.2網(wǎng)絡(luò)爬蟲的技術(shù)發(fā)展65
5.1.3網(wǎng)絡(luò)爬蟲的爬取過程66
5.2網(wǎng)絡(luò)爬蟲分類67
5.2.1通用網(wǎng)絡(luò)爬蟲67
5.2.2深層網(wǎng)絡(luò)爬蟲68
5.2.3聚焦網(wǎng)絡(luò)爬蟲68
5.2.4增量式網(wǎng)絡(luò)爬蟲70
5.3網(wǎng)絡(luò)爬蟲庫與框架71
5.3.1網(wǎng)絡(luò)爬蟲庫71
5.3.2網(wǎng)絡(luò)爬蟲框架72
5.4網(wǎng)絡(luò)爬蟲技術(shù)前沿75
5.4.1網(wǎng)絡(luò)爬蟲技術(shù)的最新進(jìn)展75
5.4.2反爬的前沿技術(shù)75
5.5應(yīng)用與分析76
第6章多格式文檔解析與管理80
6.1概述80
6.1.1文檔格式80
6.1.2文檔標(biāo)準(zhǔn)的發(fā)展歷程80
6.2多格式文檔解析81
6.2.1Word文檔解析81
6.2.2PDF文檔解析83
6.3多格式文檔管理85
6.3.1在線文檔管理85
6.3.2區(qū)塊鏈文檔管理87
6.4應(yīng)用與分析88
6.4.1多格式文檔讀取算法88
6.4.2多格式文檔解析實例90
第7章語音文字識別95
7.1概述95
7.1.1發(fā)展歷程95
7.1.2基本原理96
7.2經(jīng)典算法98
7.2.1經(jīng)典語言模型98
7.2.2經(jīng)典聲學(xué)模型99
7.3最新進(jìn)展103
7.3.1DFCNN模型104
7.3.2混合網(wǎng)絡(luò)Conformer105
7.4應(yīng)用與分析106
第8章圖像語義表示與字符識別108
8.1圖像字幕108
8.1.1問題背景108
8.1.2技術(shù)分析108
8.1.3建模方法112
8.1.4應(yīng)用與分析114
8.2OCR及領(lǐng)域優(yōu)化115
8.2.1問題背景115
8.2.2技術(shù)分析116
8.2.3應(yīng)用與分析120
第9章中文分詞與詞性標(biāo)注123
9.1中文分詞概述123
9.2中文分詞的困難124
9.3基于機械匹配的中文分詞算法127
9.3.1詞典匹配法127
9.3.2N最短路徑法130
9.4基于統(tǒng)計語言模型的中文分詞算法132
9.4.1N元語言模型132
9.4.2互信息模型133
9.4.3最大熵模型134
9.5NLPIRICTCLAS: 基于層次隱馬爾可夫模型的中文分詞算法135
9.5.1層次隱馬爾可夫模型136
9.5.2基于類的隱馬爾可夫分詞算法138
9.5.3N最短路徑的切分排歧策略139
9.6基于雙向循環(huán)神經(jīng)網(wǎng)絡(luò)與條件隨機場的詞法分析140
9.6.1概述140
9.6.2基于雙向循環(huán)神經(jīng)網(wǎng)絡(luò)的序列標(biāo)注140
9.6.3融合條件隨機場的深度神經(jīng)網(wǎng)絡(luò)模型141
9.7應(yīng)用與分析142
9.7.1NLPIRICTCLAS應(yīng)用演示142
9.7.2LTP143
9.7.3結(jié)巴分詞143
9.7.4PKUSeg143
第3篇語義分析篇
第10章情感分析147
10.1情感分析概述147
10.1.1研究任務(wù)148
10.1.2研究熱點148
10.2經(jīng)典方法149
10.2.1基于情感詞典的情感分析方法149
10.2.2基于機器學(xué)習(xí)的情感分析方法150
10.2.3基于深度學(xué)習(xí)的情感分析方法152
10.2.4先進(jìn)模型153
10.3應(yīng)用與分析153
第11章新詞發(fā)現(xiàn)158
11.1新詞發(fā)現(xiàn)概述158
11.2多語種新詞發(fā)現(xiàn)前沿綜述159
11.3基于規(guī)則的新詞發(fā)現(xiàn)方法161
11.3.1規(guī)則抽取方法161
11.3.2規(guī)則過濾方法162
11.4基于統(tǒng)計模型的新詞發(fā)現(xiàn)方法162
11.4.1凝固度163
11.4.2信息熵163
11.4.3新詞IDF163
11.5基于深度學(xué)習(xí)的新詞發(fā)現(xiàn)方法164
11.6應(yīng)用與分析165
11.6.1面向社會媒體的開放領(lǐng)域新詞發(fā)現(xiàn)165
11.6.2多語種新詞發(fā)現(xiàn)示例171
第12章命名實體識別與關(guān)鍵詞提取173
12.1命名實體識別與關(guān)鍵詞提取概述173
12.1.1命名實體識別173
12.1.2關(guān)鍵詞提取177
12.2經(jīng)典算法177
12.2.1命名實體識別經(jīng)典算法177
12.2.2關(guān)鍵詞提取經(jīng)典算法185
12.2.3算法分類189
12.3應(yīng)用與分析191
12.3.1命名實體識別示例191
12.3.2關(guān)鍵詞提取實驗194
第13章知識圖譜的大數(shù)據(jù)自動構(gòu)建與應(yīng)用198
13.1知識圖譜概述198
13.2知識圖譜的數(shù)據(jù)來源200
13.2.1大規(guī)模知識庫200
13.2.2互聯(lián)網(wǎng)鏈接數(shù)據(jù)200
13.2.3多數(shù)據(jù)源的知識融合202
13.3知識圖譜的構(gòu)建203
13.3.1概念發(fā)現(xiàn)206
13.3.2關(guān)聯(lián)計算207
13.3.3關(guān)系抽取208
13.4應(yīng)用與分析211
13.4.1智能搜索211
13.4.2機器人學(xué)習(xí)機212
13.4.3文檔表示212
第4篇文本挖掘篇
第14章信息過濾215
14.1信息過濾概述215
14.1.1信息過濾推薦最新進(jìn)展217
14.1.2重點關(guān)注信息過濾最新進(jìn)展219
14.2信息過濾推薦經(jīng)典算法219
14.2.1內(nèi)容過濾219
14.2.2協(xié)同過濾220
14.2.3混合過濾221
14.3重點關(guān)注信息過濾經(jīng)典算法222
14.3.1黑白名單過濾222
14.3.2基于內(nèi)容的文本過濾222
14.3.3基于內(nèi)容的圖片過濾225
14.4應(yīng)用與分析228
14.4.1信息過濾推薦示例228
14.4.2垃圾信息過濾示例229
14.4.3智能過濾系統(tǒng)展示232
第15章文本分類234
15.1文本分類概述234
15.1.1基于統(tǒng)計規(guī)則的文本分類234
15.1.2基于機器學(xué)習(xí)的文本分類234
15.1.3基于深度學(xué)習(xí)的文本分類235
15.2文本分類算法237
15.2.1稠密連接網(wǎng)絡(luò)237
15.2.2圖神經(jīng)網(wǎng)絡(luò)239
15.2.3注意力模型242
15.3應(yīng)用與分析245
15.3.1數(shù)據(jù)集245
15.3.2實驗245
第16章文本聚類246
16.1文本聚類概述246
16.2文本聚類算法體系246
16.3半監(jiān)督文本聚類248
16.4基于關(guān)鍵特征聚類的Top N熱點話題檢測方法研究250
16.4.1研究概述250
16.4.2基于文檔關(guān)鍵特征的話題聚類251
16.4.3實驗結(jié)果展示254
第17章文本校對256
17.1文本校對概述256
17.2文本校對算法257
17.2.1基于統(tǒng)計機器學(xué)習(xí)的文本校對方法258
17.2.2基于深度學(xué)習(xí)的文本校對方法258
17.2.3基于預(yù)訓(xùn)練語言模型的文本校對方法259
17.3KDN: 基于知識驅(qū)動的多類型文本校對融合算法264
17.3.1語法校對264
17.3.2語病校對265
17.3.3基于音形碼的相似度計算266
17.3.4校對融合算法266
17.4NLPIR文本自動校對系統(tǒng)設(shè)計與應(yīng)用267
17.4.1自動校對模塊267
17.4.2前后端設(shè)計與實現(xiàn)267
17.4.3在線校對插件office268
17.4.4在線校對功能示例269
第18章自動摘要270
18.1自動摘要概述270
18.1.1基于抽取的自動文摘272
18.1.2基于理解的自動文摘274
18.2基于關(guān)鍵詞提取的自動摘要274
18.2.1文本預(yù)處理274
18.2.2停用詞表275
18.2.3雙數(shù)組Trie樹276
18.2.4關(guān)鍵詞提取277
18.2.5句子切分279
18.2.6句子相似度計算280
18.3面向主題的自動摘要280
18.3.1改進(jìn)的最大邊緣相關(guān)度方法281
18.3.2面向主題的詞特征統(tǒng)計282
18.3.3領(lǐng)域主題詞表282
18.3.4句子間的包含關(guān)系283
18.4基于主題模型與信息熵的中文文檔自動摘要技術(shù)研究284
18.4.1主題模型285
18.4.2信息熵286
18.4.3句子信息熵的計算方法286
18.4.4算法介紹287
18.4.5自動摘要應(yīng)用示例288
第5篇應(yīng)用篇
第19章自然語言處理應(yīng)用項目293
19.1裁判文書閱讀理解293
19.1.1背景介紹293
19.1.2數(shù)據(jù)集簡介293
19.1.3評價標(biāo)準(zhǔn)293
19.1.4實驗過程及分析294
19.2PDF敏感信息發(fā)現(xiàn)與隱私保護(hù)295
19.2.1背景介紹295
19.2.2數(shù)據(jù)處理296
19.2.3個人信息識別297
19.2.4脫敏技術(shù)298
19.2.5結(jié)果展示300
19.3微博博主的特征與行為大數(shù)據(jù)挖掘301
19.3.1背景介紹301
19.3.2宏觀特征大數(shù)據(jù)挖掘302
19.3.3實驗與分析307
19.3.4微博博主的價值觀自動評估方法307
19.4用于中文影視劇臺詞的語義消歧系統(tǒng)309
19.4.1背景介紹309
19.4.2語義消歧知識圖譜的構(gòu)建310
19.4.3基于知識圖譜和語義特征的語義消歧算法312
19.4.4實驗結(jié)果與分析314
19.4.5語義消歧系統(tǒng)315
19.5大數(shù)據(jù)考研分析316
19.5.1背景介紹316
19.5.2模塊設(shè)計317
19.5.3結(jié)果及分析318
19.6客服通話文本摘要提取319
19.6.1背景介紹319
19.6.2數(shù)據(jù)說明320
19.6.3評價指標(biāo)320
19.6.4實驗方法320
第20章自然語言處理應(yīng)用案例322
20.1《紅樓夢》前80回和后40回作者同一性分析322
20.1.1背景介紹322
20.1.2輸入數(shù)據(jù)322
20.1.3分析工具和方法322
20.1.4結(jié)果及分析323
20.2丁真走紅事件網(wǎng)絡(luò)輿情分析327
20.2.1背景介紹327
20.2.2系統(tǒng)結(jié)構(gòu)及方法327
20.3個人語言特征消除工具330
20.3.1背景介紹330
20.3.2技術(shù)概念330
20.3.3系統(tǒng)設(shè)計331
20.3.4總結(jié)分析332
20.4問藥小助手333
20.4.1應(yīng)用概述333
20.4.2數(shù)據(jù)來源333
20.4.3數(shù)據(jù)標(biāo)注333
20.4.4癥狀識別334
20.4.5醫(yī)療槽填充335
20.5自動寫詩與古詩詞鑒賞翻譯系統(tǒng)336
20.5.1自動寫詩336
20.5.2古詩詞鑒賞與翻譯337