《自然語言處理導論》主要介紹自然語言處理理論與技術,旨在讓更多人了解和學習自然語言處理技術,讓人工智能更好地為我們服務。
《自然語言處理導論》共16章,包括自然語言理解基礎和具體任務探索兩部分,主要講述了自然語言處理文本表示、分析、挖掘、推理等方面的相關概念、方法、技術和近期研究進展;詳細介紹了文本分類、情感計算、知識抽取等基礎方法;全面講述了自動文摘、問答系統(tǒng)、機器翻譯、社會計算、內容生成和跨模態(tài)計算等具體任務;最后討論了深度學習前沿問題。
《自然語言處理導論》致力于幫助高等院校計算機相關專業(yè)學生牢固掌握自然語言處理的基本理論與技術,掌握如何分析文本信息、解決問題、完成相關研究的方法,以及了解自然語言處理的典型應用場景。
自然語言處理是一門融計算機科學、語言學、數(shù)學、認知學、邏輯學于一體的研究學科。機器學習、深度學習方法持續(xù)地引領著自然語言處理的進步與發(fā)展。以ChatGPT為代表的語言模型更是展現(xiàn)出了強大的通用能力,亦離不開自然語言處理技術的發(fā)展積累。
《自然語言處理導論》內容源自中山大學開設的自然語言處理課程,以及作者的產業(yè)實踐;主要介紹自然語言處理理論與技術,旨在讓更多人了解和學習自然語言處理技術,讓人工智能更好地為我們服務。
自然語言處理(Natural Language Processing,NLP)是一門融計算機科學、語言學、數(shù)學、認知學、邏輯學于一體的研究學科。自然語言處理涉及自然語言,關注計算機和人類語言之間的交互,在計算機的支持下對語言信息進行定量化的研究,包括自然語言理解(Natural Language Understanding,NLU)和自然語言生成(Natural Language Generation,NLG)兩部分研究內容,旨在使計算機能夠分析、處理和理解人類語言,提供可供人與計算機之間能共同使用的語言描寫。
利用計算機處理自然語言,根據其不同時期或不同側重點,可分為不同階段,即自然語言理解、人類語言技術(Human Language Technology,HLT)、計算語言學(computational linguistics)、計量語言學(quantitative linguistics)、數(shù)理語言學(mathematical linguistics)等。近年來,以機器學習、深度學習、知識圖譜為代表的人工智能技術逐漸變得普及。大數(shù)據時代的機器學習,需面向復雜多樣的數(shù)據進行深層次分析。深度學習的實現(xiàn)在于建立模擬人腦進行分析學習的神經網絡。得益于數(shù)據的增多、計算能力的增強、學習算法的成熟以及應用場景的豐富,深度學習在學術界和工業(yè)界取得了廣泛的成功,受到了越來越多的關注,并掀起新一輪的人工智能熱潮。
機器學習、深度學習和自然語言處理的交叉在實際任務中取得了長足進步,被用來解決一些通用人工智能問題,如文本分類、自動文摘、問答系統(tǒng)、機器翻譯、社會計算、推薦系統(tǒng)、內容生成和跨模態(tài)計算等。以機器翻譯任務為例,它從基于規(guī)則方法、基于統(tǒng)計方法、基于實例方法到基于深度學習方法的快速發(fā)展,帶著鮮明的時代背景烙印,也吻合技術發(fā)展脈絡。如今,機器學習、深度學習方法持續(xù)地引領著自然語言處理的進步與發(fā)展。以ChatGPT為代表的語言模型更是展現(xiàn)出了強大的通用能力,亦離不開自然語言處理技術的發(fā)展積累。
《自然語言處理導論》適用范圍包括高年級本科生、碩士博士研究生以及任何對自然語言處理技術感興趣的人!蹲匀徽Z言處理導論》共16章。第1章是緒論,概要介紹自然語言處理的基本概念、發(fā)展歷程和研究內容,使讀者能夠全面了解相關知識。第2~7章分別講述了語言模型、神經網絡和神經語言模型、詞和語義向量、預訓練語言模型、序列標注和語義分析,介紹了自然語言處理文本表示、分析、挖掘、推理等方面的相關概念、方法、技術和近期研究進展。第8~10章介紹了文本分類、情感計算、知識抽取等基礎方法。第11~15章介紹了自動文摘、統(tǒng)計機器翻譯和神經機器翻譯、問答系統(tǒng)與多輪對話、社會計算、內容生成和跨模態(tài)計算,這些都是目前自然語言處理的難點和熱點問題。第16章討論了深度學習前沿問題。
2020年中山大學智能工程學院開設了自然語言處理課程。講好基于機器學習和深度學習的自然語言處理課程并不是一件容易的事,課程涉及的知識點繁多且雜亂,與實踐結合也十分緊密。作為任課教師,我嘗試梳理了自然語言處理的知識體系,擬定了教學大綱、教案、習題詳解、試卷等。過程中得到了學校與學院的高度重視,進行了相關教研探索,同時也獲得華為產教融合協(xié)同育人項目的數(shù)據和資源支持。在機械工業(yè)出版社的熱情邀請和大力支持下,我著手撰寫這本面向在校學生和相關從業(yè)人員的關于自然語言處理的圖書。但我依然低估了寫作的難度:一方面是深度學習、自然語言處理的發(fā)展十分迅速,我的認知也在不斷變化,導致需不斷增改已成稿的內容;另一方面是平時的科研教學任務十分繁重,只能在碎片化的時間中匍匐前行。
《自然語言處理導論》能夠完成,無疑得到了很多人的支持和幫助。感謝中山大學各位領導專家的支持和幫助。感謝我的搭檔丁寧博士,他基于對自然語言處理任務的獨到見解和實踐經驗,提出了富有建設性的意見。感謝編寫第10章的清華大學博士酈煬寧和李映輝,以及協(xié)助他們完成該章的胡婧、曹志雄、張豪。感謝各位同事、同學和好友,在《自然語言處理導論》撰寫過程中提供了很多研究資料和熱情的幫助。此外,本書在寫作過程中參考了互聯(lián)網上大量的優(yōu)秀資料,如維基百科、知乎、Quora等網站。
由于深度學習、自然語言處理技術日新月異,而我們所知有限,難免有掛一漏萬之憾!蹲匀徽Z言處理導論》中難免有不當和錯誤之處,還望讀者海涵和指正,不勝感激。如有重要進展或成果沒有涉及,絕非作者故意為之,敬請大家批評指正。無論是指出錯誤還是改進建議,請直接發(fā)郵件至sheny76@mail.sysu.edu.cn,我們會在《自然語言處理導論》修訂時改正所有發(fā)現(xiàn)的錯誤。
沈 穎
沈穎,中山大學智能工程學院副教授,獲法國巴黎第十大學計算機博士學位。主要研究方向為通用人工智能的知識計算與推理,在國防信息和醫(yī)學應用領域獲得一系列有特色的成績。在IEEE TOC、TKDE、TNNLS、TIP、TAC和ACL、AAAI、IJCAI、SIGIR等人工智能領域的知名國際期刊和會議上發(fā)表相關論文100余篇;開源數(shù)十項研究工作代碼和6個數(shù)據集;授權專利16項;授權軟件著作權15項。主持國家自然科學基金、國防科技173計劃技術領域基金項目、科技發(fā)展中心新一代信息技術創(chuàng)新項目、高教司項目等。曾獲歐盟優(yōu)秀碩士獎、法蘭西大島博士獎學金、巴黎大學博士一等榮譽畢業(yè)生、中國國家留學基金管理委員會優(yōu)秀海外留學生獎。多次擔任IJCAI、ACL等國際會議程序委員會委員,AAAI和SDM領域主席。
前言
第1章緒論
1.1基本概念
1.1.1語言學與語音學
1.1.2自然語言
1.1.3自然語言處理
1.2自然語言處理的發(fā)展歷程
1.2.1自然語言處理的發(fā)展歷史
1.2.2自然語言處理的研究現(xiàn)狀
1.2.3自然語言處理的發(fā)展前景
1.3自然語言處理的基本方法
1.3.1理性主義方法
1.3.2經驗主義方法
1.3.3對比分析
1.4自然語言處理的研究內容
1.4.1文本分類
1.4.2信息抽取
1.4.3文本摘要
1.4.4智能問答
第2章語言模型
2.1語言模型概述
2.2n-gram統(tǒng)計語言模型
2.2.1何為n-gram模型
2.2.2n-gram語言模型評估詞序列
2.2.3n-gram統(tǒng)計語言模型的應用
2.2.4n-gram模型中n對性能的影響
2.2.5n-gram模型小結
思考題
參考文獻
第3章神經網絡和神經語言模型
3.1人工神經網絡和神經語言模型
3.1.1人工神經網絡
3.1.2神經語言模型
3.2卷積神經網絡
3.2.1卷積神經網絡結構
3.2.2卷積神經網絡的文本處理
3.3循環(huán)神經網絡
3.4遞歸神經網絡
3.4.1遞歸神經網絡的前向計算
3.4.2遞歸神經網絡的訓練方法
思考題
參考文獻
第4章詞和語義向量
4.1離散分布表示
4.1.1獨熱表示法
4.1.2詞袋表示法
4.2分布式表示
4.2.1Word2vec
4.2.2矩陣分解
4.2.3GloVe
4.3文本特征選擇法
4.3.1基于文檔頻率的特征提取法
4.3.2 2統(tǒng)計量
4.3.3信息增益法
4.3.4互信息法
4.4特征權重計算方法
4.4.1布爾權重
4.4.2絕對詞頻
4.4.3TF-IDF
思考題
參考文獻
第5章預訓練語言模型
5.1Transformer
5.2ELMo
5.3GPT
5.4BERT
5.5后BERT時代
思考題
參考文獻
第6章序列標注
6.1馬爾可夫模型
6.2條件隨機場、維特比算法
6.2.1條件隨機場的原理解析
6.2.2條件隨機場的特性
6.3序列標注任務
6.3.1自動分詞
6.3.2漢語自動分詞中的基本問題
6.3.3歧義切分問題
6.3.4未登錄詞問題
6.4漢語分詞方法
6.4.1基于詞頻度統(tǒng)計的分詞方法
6.4.2N-最短路徑方法
6.4.3基于詞的n元語法模型的分詞方法
6.4.4由字構詞的漢語分詞方法
6.4.5基于詞感知機的漢語分詞方法
6.4.6基于字的生成式模型和區(qū)分式模型相結合的漢語分詞方法
6.4.7其他分詞方法
6.5詞性標注
6.5.1詞性標注概述
6.5.2基于規(guī)則的詞性標注方法
6.5.3基于統(tǒng)計模型的詞性標注方法
6.5.4統(tǒng)計方法與規(guī)則方法相結合的詞性標注方法
6.5.5詞性標注的一致性檢查
6.5.6技術評測
6.6命名實體識別
6.6.1基于條件隨機場的命名實體識別方法
6.6.2基于多特征的命名實體識別方法
6.6.3基于神經網絡的命名實體識別方法
思考題
參考文獻
第7章語義分析
7.1詞義消歧
7.1.1有監(jiān)督的詞義消歧方法
7.1.2基于詞典的詞義消歧方法
7.1.3無監(jiān)督的詞義消歧方法
7.1.4詞義消歧系統(tǒng)評價
7.2語義角色標注
7.2.1語義角色標注基本方法
7.2.2語義角色標注的領域適應性問題
7.3雙語聯(lián)合語義角色標注方法
7.3.1基本思路
7.3.2雙語聯(lián)合語義角色標注方法系統(tǒng)實現(xiàn)
思考題
參考文獻
第8章文本分類
8.1文本分類概述
8.2傳統(tǒng)分類器設計
8.2.1樸素貝葉斯分類器
8.2.2基于支持向量機的分類器
8.2.3KNN法
8.2.4線性最小二乘擬合法
8.2.5決策樹分類器
8.3基于神經網絡方法
8.3.1文本分析中的循環(huán)神經網絡方法
8.3.2文本分析中的遞歸神經網絡方法
8.4文本分類性能評測
思考題
參考文獻
第9章情感計算
9.1文檔或句子級情感計算方法
9.1.1情感詞典方法
9.1.2基于傳統(tǒng)機器學習的監(jiān)督情感分類
9.1.3深度神經網絡方法
9.2屬性級情感分析
9.2.1意見挖掘和屬性抽取
9.2.2針對特定目標的情感分析
9.2.3立場檢測
9.3其他情感分析任務
9.3.1諷刺識別
9.3.2多模態(tài)情感分析
思考題
參考文獻
第10章知識抽取
10.1知識抽取概述
10.2命名實體識別
10.2.1命名實體識別概述
10.2.2基于詞典及規(guī)則的方法
10.2.3基于機器學習的有監(jiān)督方法
10.2.4基于深度學習的方法
10.3實體鏈接
10.3.1實體鏈接概述
10.3.2通用解決框架
10.3.3實體鏈接數(shù)據集
10.4關系抽取
10.4.1關系抽取概述
10.4.2有監(jiān)督關系抽取
10.4.3遠程監(jiān)督
10.4.4實體關系聯(lián)合抽取
10.4.5小樣本關系抽取
10.4.6開放域關系抽取
10.5事件抽取
10.5.1事件抽取概述
10.5.2基于模式匹配的方法
10.5.3基于機器學習的方法
10.5.4基于深度學習的方法
10.5.5事件抽取數(shù)據集
思考題
參考文獻
第11章統(tǒng)計機器翻譯和神經機器翻譯
11.1機器翻譯概述
11.1.1機器翻譯的發(fā)展
11.1.2機器翻譯方法
11.1.3機器翻譯研究現(xiàn)狀
11.2基于HMM的詞對位模型
11.3基于短語的翻譯模型
11.4基于最大熵的翻譯模型
11.4.1對位模板與最大近似
11.4.2特征函數(shù)
11.4.3參數(shù)訓練
11.5基于層次短語的翻譯模型
11.5.1概述
11.5.2模型描述和參數(shù)訓練
11.5.3解碼方法
11.6樹翻譯模型
11.6.1樹到串的翻譯模型
11.6.2樹到樹的翻譯模型
11.6.3串到樹的翻譯模型
11.7樹模型的相關改進
11.8基于謂詞論元結構轉換的翻譯模型
11.9集外詞翻譯
11.9.1數(shù)字和時間表示的識別與翻譯
11.9.2普通集外詞的翻譯
11.10統(tǒng)計翻譯系統(tǒng)實現(xiàn)
11.11譯文質量評估方法
11.11.1概述
11.11.2技術指標
11.11.3相關