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