天然語言處理知識太龐大了,網上也都是一些零零散散的知識,好比單獨講某些模型,也沒有前因後果,學習起來較爲困難,因而我本身總結了一份知識體系結構,不足之處,歡迎指正。內容來源主要參考黃志洪老師的天然語言處理課程。主要參考書爲宗成慶老師的《統計天然語言處理》,雖然不少內容寫的不清楚,但好像中文NLP書籍就這一本全一些,若是想看好的英文資料,能夠到個人GitHub上下載:
http://github.com/lovesoft5/ml
下面直接開始正文:git
1、天然語言處理概述
1)天然語言處理:利用計算機爲工具,對書面實行或者口頭形式進行各類各樣的處理和加工的技術,是研究人與人交際中以及人與計算機交際中的演員問題的一門學科,是人工智能的主要內容。
2)天然語言處理是研究語言能力和語言應用的模型,創建計算機(算法)框架來實現這樣的語言模型,並完善、評測、最終用於設計各類實用系統。
3)研究問題(主要):
信息檢索
機器翻譯
文檔分類
問答系統
信息過濾
自動文摘
信息抽取
文本挖掘
輿情分析
機器寫做
語音識別
研究模式:天然語言場景問題,數學算法,算法如何應用到解決這些問題,預料訓練,相關實際應用
天然語言的困難:
場景的困難:語言的多樣性、多變性、歧義性
學習的困難:艱難的數學模型(hmm,crf,EM,深度學習等)
語料的困難:什麼的語料?語料的做用?如何獲取語料?
2、形式語言與自動機
語言:按照必定規律構成的句子或者字符串的有限或者無限的集合。
描述語言的三種途徑:github
窮舉法
文法(產生式系統)描述
自動機
天然語言不是人爲設計而是天然進化的,形式語言好比:運算符號、化學分子式、編程語言算法
形式語言理論朱啊喲研究的是內部結構模式這類語言的純粹的語法領域,從語言學而來,做爲一種理解天然語言的句法規律,在計算機科學中,形式語言一般做爲定義編程和語法結構的基礎數據庫
形式語言與自動機基礎知識:編程
集合論
圖論
自動機的應用:
1,單詞自動查錯糾正網絡
2,詞性消歧(什麼是詞性?什麼的詞性標註?爲何須要標註?如何標註?)框架
形式語言的缺陷:編程語言
一、對於像漢語,英語這樣的大型天然語言系統,難以構造精確的文法工具
二、不符合人類學習語言的習慣性能
三、有些句子語法正確,但在語義上卻不可能,形式語言沒法排出這些句子
四、解決方向:基於大量語料,採用統計學手段創建模型
3、語言模型
1)語言模型(重要):經過語料計算某個句子出現的機率(機率表示),經常使用的有2-元模型,3-元模型
2)語言模型應用:
語音識別歧義消除例如,給定拼音串:ta shi yan yan jiu saun fa de
可能的漢字串:踏實菸酒算法的 他是研究酸法的 他是研究算法的,顯然,最後一句才符合。
3)語言模型的啓示:
一、開啓天然語言處理的統計方法
二、統計方法的通常步驟:
收集大量語料
對語料進行統計分析,得出知識
針對場景創建算法模型
解釋和應用結果
4) 語言模型性能評價,包括評價目標,評價的難點,經常使用指標(交叉熵,困惑度)
5)數據平滑:
數據平滑的概念,爲何須要平滑
平滑的方法,加一法,加法平滑法,古德-圖靈法,J-M法,Katz平滑法等
6)語言模型的缺陷:
語料來自不一樣的領域,而語言模型對文本類型、主題等十分敏感
n與相鄰的n-1個詞相關,假設不是很成立。
4、機率圖模型,生成模型與判別模型,貝葉斯網絡,馬爾科夫鏈與隱馬爾科夫模型(HMM)
1)機率圖模型概述(什麼的機率圖模型,參考清華大學教材《機率圖模型》)
2)馬爾科夫過程(定義,理解)
3)隱馬爾科夫過程(定義,理解)
HMM的三個基本問題(定義,解法,應用)
注:第一個問題,涉及最大似然估計法,第二個問題涉及EM算法,第三個問題涉及維特比算法,內容不少,要重點理解,(參考書李航《統計學習方法》,網上博客,筆者github)
5、馬爾科夫網,最大熵模型,條件隨機場(CRF)
1)HMM的三個基本問題的參數估計與計算
2)什麼是熵
3)EM算法(應用十分普遍,好好理解)
4)HMM的應用
5)層次化馬爾科夫模型與馬爾科夫網絡
提出緣由,HMM存在兩個問題
6)最大熵馬爾科夫模型
優勢:與HMM相比,容許使用特徵刻畫觀察序列,訓練高效
缺點: 存在標記偏置問題
7)條件隨機場及其應用(概念,模型過程,與HMM關係)
參數估計方法(GIS算法,改進IIS算法)
CRF基本問題:特徵選取(特徵模板)、機率計算、參數訓練、解碼(維特比)
應用場景:
詞性標註類問題(如今通常用RNN+CRF)
中文分詞(發展過程,經典算法,瞭解開源工具jieba分詞)
中文人名,地名識別
8) CRF++
6、命名實體 識別,詞性標註,內容挖掘、語義分析與篇章分析(大量用到前面的算法)
1)命名實體識別問題
相關機率,定義
相關任務類型
方法(基於規程->基於大規模語料庫)
2)未登陸詞的解決方法(搜索引擎,基於語料)
3)CRF解決命名實體識別(NER)流程總結:
訓練階段:肯定特徵模板,不一樣場景(人名,地名等)所使用的特徵模板不一樣,對現有語料進行分詞,在分詞結 果基礎上進行詞性標註(可能手工),NER對應的標註問題是基於詞的,而後訓練CRF模型,獲得對應權值參數值
識別過程:將待識別文檔分詞,而後送入CRF模型進行識別計算(維特比算法),獲得標註序列,而後根據標 注劃分出命名實體
4)詞性標註(理解含義,意義)及其一致性檢查方法(位置屬性向量,詞性標註序列向量,聚類或者分類算法)
7、句法分析
1)句法分析理解以及意義
一、句法結構分析
徹底句法分析
淺層分析(這裏有不少方法。。。)
二、 依存關係分析
2)句法分析方法
一、基於規則的句法結構分析
二、基於統計的語法結構分析
8、文本分類,情感分析
1)文本分類,文本排重
文本分類:在預約義的分類體系下,根據文本的特徵,將給定的文本與一個或者多個類別相關聯
典型應用:垃圾郵件斷定,網頁自動分類
2)文本表示,特徵選取與權重計算,詞向量
文本特徵選擇經常使用方法:
一、基於本文頻率的特徵提取法
二、信息增量法
三、X2(卡方)統計量
四、互信息法
3)分類器設計
SVM,貝葉斯,決策樹等
4)分類器性能評測
一、召回率
二、正確率
三、F1值
5)主題模型(LDA)與PLSA
LDA模型十分強大,基於貝葉斯改進了PLSA,能夠提取出本章的主題詞和關鍵詞,建模過程複雜,難以理解。
6)情感分析
藉助計算機幫助用戶快速獲取,整理和分析相關評論信息,對帶有感情色彩的主觀文本進行分析,處理和概括例如,評論自動分析,水軍識別。
某種意義上看,情感分析也是一種特殊的分類問題
7)應用案例
9、信息檢索,搜索引擎及其原理 1)信息檢索起源於圖書館資料查詢檢索,引入計算機技術後,從單純的文本查詢擴展到包含圖片,音視頻等多媒體信息檢索,檢索對象由數據庫擴展到互聯網。 一、點對點檢索 二、精確匹配模型與相關匹配模型 三、檢索系統關鍵技術:標引,相關度計算 2)常見模型:布爾模型,向量空間模型,機率模型 3)經常使用技術:倒排索引,隱語義分析(LDA等) 4)評測指標 10、自動文摘與信息抽取,機器翻譯,問答系統 1)統計機器翻譯的的思路,過程,難點,以及解決 2)問答系統 基本組成:問題分析,信息檢索,答案抽取 類型:基於問題-答案, 基於自由文本 典型的解決思路 3)自動文摘的意義,經常使用方法 4)信息抽取模型(LDA等) 11、深度學習在天然語言中的應用 1)單詞表示,好比詞向量的訓練(wordvoc) 2)自動寫文本 寫新聞等 3)機器翻譯 4)基於CNN、RNN的文本分類 5)深度學習與CRF結合用於詞性標註