【自然语言处理】自然语言处理(NLP)知识结构总结
感謝原創(chuàng)博主,轉自:https://blog.csdn.net/meihao5/article/details/79592667
自然語言處理知識太龐大了,網(wǎng)上也都是一些零零散散的知識,比如單獨講某些模型,也沒有來龍去脈,學習起來較為困難,于是我自己總結了一份知識體系結構,不足之處,歡迎指正。內(nèi)容來源主要參考黃志洪老師的自然語言處理課程。主要參考書為宗成慶老師的《統(tǒng)計自然語言處理》,雖然很多內(nèi)容寫的不清楚,但好像中文NLP書籍就這一本全一些,如果想看好的英文資料,可以到我的GitHub上下載: ?http://github.com/lovesoft5/ml? 下面直接開始正文:
? ? 一、自然語言處理概述
? ? ? ? ? ? ? ?1)自然語言處理:利用計算機為工具,對書面實行或者口頭形式進行各種各樣的處理和加工的技術,是研究人與人交際中以及人與計算機交際中的演員問題的一門學科,是人工智能的主要內(nèi)容。
? ? ? ? ? ? ? 2)自然語言處理是研究語言能力和語言應用的模型,建立計算機(算法)框架來實現(xiàn)這樣的語言模型,并完善、評測、最終用于設計各種實用系統(tǒng)。
? ? ? ? ? ? ? 3)研究問題(主要):
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?信息檢索
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?機器翻譯
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文檔分類
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?問答系統(tǒng)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?信息過濾
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?自動文摘
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?信息抽取
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文本挖掘
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?輿情分析
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?機器寫作
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?語音識別
研究模式:自然語言場景問題,數(shù)學算法,算法如何應用到解決這些問題,預料訓練,相關實際應用? ? ? ? ? ? ? ?自然語言的困難:? ? ? ? ? ? ? ? ? ? ? ? ? ?場景的困難:語言的多樣性、多變性、歧義性
? ? ? ? ? ? ? ? ? ? ? ? ? ?學習的困難:艱難的數(shù)學模型(hmm,crf,EM,深度學習等)
? ? ? ? ? ? ? ? ? ? ? ? ? ?語料的困難:什么的語料?語料的作用?如何獲取語料?
? ? 二、形式語言與自動機?
? ? ? ? ? ? ? ?語言:按照一定規(guī)律構成的句子或者字符串的有限或者無限的集合。
? ? ? ? ? ? ? ? 描述語言的三種途徑:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 窮舉法
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文法(產(chǎn)生式系統(tǒng))描述
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 自動機
? ? ? ? ? ? ? ?自然語言不是人為設計而是自然進化的,形式語言比如:運算符號、化學分子式、編程語言
? ? ? ? ? ? ? ?形式語言理論朱啊喲研究的是內(nèi)部結構模式這類語言的純粹的語法領域,從語言學而來,作為一種理解自然語言的句法規(guī)律,在計算機科學中,形式語言通常作為定義編程和語法結構的基礎
? ? ? ? ? ? ? ?形式語言與自動機基礎知識:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?集合論
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?圖論
? ? ? ? ? ? ? ?自動機的應用:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1,單詞自動查錯糾正
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2,詞性消歧(什么是詞性?什么的詞性標注?為什么需要標注?如何標注?)
? ? ? ? ? ? ? 形式語言的缺陷:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1、對于像漢語,英語這樣的大型自然語言系統(tǒng),難以構造精確的文法
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2、不符合人類學習語言的習慣
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3、有些句子語法正確,但在語義上卻不可能,形式語言無法排出這些句子
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 4、解決方向:基于大量語料,采用統(tǒng)計學手段建立模型 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? 三、語言模型
? ? ? ? ? ?1)語言模型(重要):通過語料計算某個句子出現(xiàn)的概率(概率表示),常用的有2-元模型,3-元模型
? ? ? ? ? ?2)語言模型應用:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?語音識別歧義消除例如,給定拼音串:ta shi yan yan jiu saun fa de
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?可能的漢字串:踏實煙酒算法的 ? 他是研究酸法的 ? ? ?他是研究算法的,顯然,最后一句才符合。
? ? ? ? ? 3)語言模型的啟示:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1、開啟自然語言處理的統(tǒng)計方法
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2、統(tǒng)計方法的一般步驟: ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?收集大量語料
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?對語料進行統(tǒng)計分析,得出知識
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?針對場景建立算法模型
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?解釋和應用結果
4) 語言模型性能評價,包括評價目標,評價的難點,常用指標(交叉熵,困惑度)? ? ? ? ? 5)數(shù)據(jù)平滑:
? ? ? ? ? ? ? ? ? ? ? ? ?數(shù)據(jù)平滑的概念,為什么需要平滑
? ? ? ? ? ? ? ? ? ? ? ? ?平滑的方法,加一法,加法平滑法,古德-圖靈法,J-M法,Katz平滑法等
? ? ? ? 6)語言模型的缺陷:
? ? ? ? ? ? ? ? ? ? ? ? 語料來自不同的領域,而語言模型對文本類型、主題等十分敏感
? ? ? ? ? ? ? ? ? ? ? ? ?n與相鄰的n-1個詞相關,假設不是很成立。
? ?四、概率圖模型,生成模型與判別模型,貝葉斯網(wǎng)絡,馬爾科夫鏈與隱馬爾科夫模型(HMM)
? ? ? ? ? ??1)概率圖模型概述(什么的概率圖模型,參考清華大學教材《概率圖模型》)
? ? ? ? ? ?2)馬爾科夫過程(定義,理解)
3)隱馬爾科夫過程(定義,理解)? ? ? ? ? ? ? HMM的三個基本問題(定義,解法,應用)
? ? ? ? ? ? ? ? ?注:第一個問題,涉及最大似然估計法,第二個問題涉及EM算法,第三個問題涉及維特比算法,內(nèi)容很多,要重點理解,(參考書李航《統(tǒng)計學習方法》,網(wǎng)上博客,筆者github)
? ? ? ?
? ? 五、馬爾科夫網(wǎng),最大熵模型,條件隨機場(CRF)
? ? ? ? ? ? ? ?1)HMM的三個基本問題的參數(shù)估計與計算
? ? ? ? ? ? ? ?2)什么是熵
? ? ? ? ? ? ? ?3)EM算法(應用十分廣泛,好好理解)
? ? ? ? ? ? ? ?4)HMM的應用
? ? ? ? ? ? ? ?5)層次化馬爾科夫模型與馬爾科夫網(wǎng)絡
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 提出原因,HMM存在兩個問題
? ? ? ? ? ? ? ?6)最大熵馬爾科夫模型
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?優(yōu)點:與HMM相比,允許使用特征刻畫觀察序列,訓練高效
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?缺點: 存在標記偏置問題
? ? ? ? ? ? ? ?7)條件隨機場及其應用(概念,模型過程,與HMM關系)
? ? ? ? ? ? ? ? ? ? ? ? ? ? 參數(shù)估計方法(GIS算法,改進IIS算法)
? ? ? ? ? ? ? ? ? ? ? ? ? ? CRF基本問題:特征選取(特征模板)、概率計算、參數(shù)訓練、解碼(維特比)
? ? ? ? ? ? ? ? ? ? ? ? ? ? 應用場景:
?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 詞性標注類問題(現(xiàn)在一般用RNN+CRF)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?中文分詞(發(fā)展過程,經(jīng)典算法,了解開源工具jieba分詞)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?中文人名,地名識別
? ? ? ? ? ? ? ?8) ?CRF++
? ? 六、命名實體 識別,詞性標注,內(nèi)容挖掘、語義分析與篇章分析(大量用到前面的算法)
? ? ? ? ? ? 1)命名實體識別問題
相關概率,定義? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?相關任務類型
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?方法(基于規(guī)程->基于大規(guī)模語料庫)
2)未登錄詞的解決方法(搜索引擎,基于語料)? ? ? ? ? ? ? 3)CRF解決命名實體識別(NER)流程總結:
? ? ? ? ? ? ? ? ? ? ? ?訓練階段:確定特征模板,不同場景(人名,地名等)所使用的特征模板不同,對現(xiàn)有語料進行分詞,在分詞結 ? ? ? ? ? ? ? ? ? ? ?果基礎上進行詞性標注(可能手工),NER對應的標注問題是基于詞的,然后訓練CRF模型,得到對應權值參數(shù)值
? ? ? ? ? ? ? ? ? ? ? ?識別過程:將待識別文檔分詞,然后送入CRF模型進行識別計算(維特比算法),得到標注序列,然后根據(jù)標 ? ? ? ? ? ? ? ? ? ? ? ? ? ?注劃分出命名實體
? ? ? ? ? ? ? 4)詞性標注(理解含義,意義)及其一致性檢查方法(位置屬性向量,詞性標注序列向量,聚類或者分類算法)
? ? ? ? ? ??
? ? 七、句法分析
? ? ? ? ? ? ? 1)句法分析理解以及意義
? ? ? ? ? ? ? ? ? ? ? ? ? ?1、句法結構分析
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 完全句法分析
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?淺層分析(這里有很多方法。。。)
? ? ? ? ? ? ? ? ? ? ? ? ? ?2、 依存關系分析
? ? ? ? ? ?? 2)句法分析方法
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1、基于規(guī)則的句法結構分析
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2、基于統(tǒng)計的語法結構分析
? ? 八、文本分類,情感分析
? ? ? ? ? ? ? ?1)文本分類,文本排重
文本分類:在預定義的分類體系下,根據(jù)文本的特征,將給定的文本與一個或者多個類別相關聯(lián)典型應用:垃圾郵件判定,網(wǎng)頁自動分類? ? ? ? ? ? ? ?2)文本表示,特征選取與權重計算,詞向量
? ? ? ? ? ? ? ? ? ? ? ? ? 文本特征選擇常用方法:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1、基于本文頻率的特征提取法
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2、信息增量法
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3、X2(卡方)統(tǒng)計量
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 4、互信息法
? ? ? ? ? ? ? ?3)分類器設計
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? SVM,貝葉斯,決策樹等
? ? ? ? ? ? ? ?4)分類器性能評測
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1、召回率
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2、正確率
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3、F1值
? ? ? ? ? ? ? ?5)主題模型(LDA)與PLSA
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? LDA模型十分強大,基于貝葉斯改進了PLSA,可以提取出本章的主題詞和關鍵詞,建模過程復雜,難以理解。
? ? ? ? ? ? ? ?6)情感分析? ? ? ? ? ? ? ? ? ? ? ? ?借助計算機幫助用戶快速獲取,整理和分析相關評論信息,對帶有感情色彩的主觀文本進行分析,處理和歸納例如,評論自動分析,水軍識別。
? ? ? ? ? ? ? ? ? ? ? ? 某種意義上看,情感分析也是一種特殊的分類問題
? ? ? ? ? ? ? ?7)應用案例
? ? 九、信息檢索,搜索引擎及其原理
? ? ? ? ? ? ? 1)信息檢索起源于圖書館資料查詢檢索,引入計算機技術后,從單純的文本查詢擴展到包含圖片,音視頻等多媒體信息檢索,檢索對象由數(shù)據(jù)庫擴展到互聯(lián)網(wǎng)。
1、點對點檢索2、精確匹配模型與相關匹配模型3、檢索系統(tǒng)關鍵技術:標引,相關度計算2)常見模型:布爾模型,向量空間模型,概率模型3)常用技術:倒排索引,隱語義分析(LDA等) ??4)評測指標?? ? 十、自動文摘與信息抽取,機器翻譯,問答系統(tǒng)
? ? ? ? ? ? ? 1)統(tǒng)計機器翻譯的的思路,過程,難點,以及解決
? ? ? ? ? ? 2)問答系統(tǒng)
? ? ? ? ? ? ? ? ? ? 基本組成:問題分析,信息檢索,答案抽取
? ? ? ? ? ? ? ? ? ? 類型:基于問題-答案, 基于自由文本
? ? ? ? ? ? ? ? ? ? 典型的解決思路
? ? ? ? ? ?3)自動文摘的意義,常用方法
? ? ? ? ? ?4)信息抽取模型(LDA等)
?
? ? 十一、深度學習在自然語言中的應用 ?
? ? ? ? ? ? ?1)單詞表示,比如詞向量的訓練(wordvoc)
? ? ? ? ? ? ?2)自動寫文本
? ? ? ? ? ? ? ? ? ? ? ? ? ? 寫新聞等
? ? ? ? ? ? ?3)機器翻譯
? ? ? ? ? ? ?4)基于CNN、RNN的文本分類
5)深度學習與CRF結合用于詞性標注? ? ? ? ? ? ? ? ? ? ? ?...............
? ? ? ? ?更多深度學習內(nèi)容,可參考我之前的文章。
? ? ?
?
《新程序員》:云原生和全面數(shù)字化實踐50位技術專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的【自然语言处理】自然语言处理(NLP)知识结构总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【大数据】大数据思维的十大核心原理
- 下一篇: 【机器视觉】计算机视觉如何入门