(轉 )十分鐘學習天然語言處理概述

(轉 )十分鐘學習天然語言處理概述

做者:白寧超html

2016年9月23日00:24:12java

摘要:近來天然語言處理行業發展朝氣蓬勃,市場應用普遍。筆者學習以來寫了很多文章,文章深度層次不一,今天由於某種須要,將文章所有看了一遍作個整理,也能夠稱之爲概述。關於這些問題,博客裏面都有詳細的文章去介紹,本文只是對其各個部分高度歸納梳理。本文原創,轉載註明出處十分鐘學習天然語言處理概述  )算法

1 什麼是文本挖掘?

文本挖掘是信息挖掘的一個研究分支,用於基於文本信息的知識發現。文本挖掘的準備工做由文本收集、文本分析和特徵修剪三個步驟組成。目前研究和應用最多的幾種文本挖掘技術有:文檔聚類、文檔分類和摘要抽取。數組

2 什麼是天然語言處理?

天然語言處理是計算機科學領域與人工智能領域中的一個重要方向。它研究人與計算機之間用天然語言進行有效通訊的理論和方法。融語言學、計算機科學、數學等於一體的科學。
天然語言處理原理:形式化描述-數學模型算法化-程序化-實用化
語音的自動合成與識別、機器翻譯、天然語言理解、人機對話、信息檢索、文本分類、自動文摘等。服務器

3 經常使用中文分詞?

中文文本詞與詞之間沒有像英文那樣有空格分隔,所以不少時候中文文本操做都涉及切詞,這裏整理了一些中文分詞工具。
Stanford(直接使用CRF 的方法,特徵窗口爲5。) 網絡

漢語分詞工具(我的推薦)機器學習

哈工大語言云函數

庖丁解牛分詞工具

盤古分詞  ICTCLAS(中科院)漢語詞法分析系統 學習

IKAnalyzer(Luence項目下,基於java的) 

FudanNLP(復旦大學)

4 詞性標註方法?句法分析方法?

原理描述:標註一篇文章中的句子,即語句標註,使用標註方法BIO標註。則觀察序列X就是一個語料庫(此處假設一篇文章,x表明文章中的每一句,X是x的集合),標識序列Y是BIO,即對應X序列的識別,從而能夠根據條件機率P(標註|句子),推測出正確的句子標註。  

顯然,這裏針對的是序列狀態,即CRF是用來標註或劃分序列結構數據的機率化結構模型,CRF能夠看做無向圖模型或者馬爾科夫隨機場。   用過CRF的都知道,CRF是一個序列標註模型,指的是把一個詞序列的每一個詞打上一個標記。通常經過,在詞的左右開一個小窗口,根據窗口裏面的詞,和待標註詞語來實現特徵模板的提取。最後經過特徵的組合決定須要打的tag是什麼。

5 命名實體識別?三種主流算法,CRF,字典法和混合方法  

1 CRF:在CRF for Chinese NER這個任務中,提取的特徵大可能是該詞是否爲中國人名姓氏用字,該詞是否爲中國人名名字用字之類的,True or false的特徵。因此一個可靠的百家姓的表就十分重要啦~在國內學者作的諸多實驗中,效果最好的人名能夠F1測度達到90%,最差的機構名達到85%。  

2 字典法:在NER中就是把每一個字都當開頭的字放到trie-tree中查一遍,查到了就是NE。中文的trie-tree須要進行哈希,由於中文字符太多了,不像英文就26個。  

3 對六類不一樣的命名實體採起不同的手段進行處理,例如對於人名,進行字級別的條件機率計算。   中文:哈工大(語言云)上海交大    英文:stanfordNER等

7 基於主動學習的中醫文獻句法識別研究  

7.1 語料庫知識?       

語料庫做爲一個或者多個應用目標而專門收集的,有必定結構的、有表明的、可被計算機程序檢索的、具備必定規模的語料的集合。    

語料庫劃分:① 時間劃分② 加工深度劃分:標註語料庫和非標註語料庫③ 結構劃分⑤ 語種劃分⑥ 動態更新程度劃分:參考語料庫和監控語料庫    

語料庫構建原則:①   表明性②   結構性③   平衡性④   規模性⑤   元數據:元數據對       

語料標註的優缺點

①   優勢: 研究方便。可重用、功能多樣性、分析清晰。

②   缺點: 語料不客觀(手工標註準確率高而一致性差,自動或者半自動標註一致性高而準確率差)、標註不一致、準確率低

 7.2 條件隨機場解決標註問題?      

條件隨機場用於序列標註,中文分詞、中文人名識別和歧義消解等天然語言處理中,表現出很好的效果。原理是:對給定的觀察序列和標註序列,創建條件機率模型。條件隨機場可用於不一樣預測問題,其學習方法一般是極大似然估計。      

我愛中國,進行序列標註案例講解條件隨機場。(規則模型和統計模型問題)   

條件隨機場模型也須要解決三個基本問題:特徵的選擇(表示第i個觀察值爲「愛」時,相對yi,yi-1的標記分別是B,I),參數訓練和解碼。     

7.3 隱馬爾可夫模型      

應用:詞類標註、語音識別、局部句法剖析、語塊分析、命名實體識別、信息抽取等。應用於天然科學、工程技術、生物科技、公用事業、信道編碼等多個領域。   

馬爾可夫鏈:在隨機過程當中,每一個語言符號的出現機率不相互獨立,每一個隨機試驗的當前狀態依賴於此前狀態,這種鏈就是馬爾可夫鏈。   

多元馬爾科夫鏈:考慮前一個語言符號對後一個語言符號出現機率的影響,這樣得出的語言成分的鏈叫作一重馬爾可夫鏈,也是二元語法。二重馬爾可夫鏈,也是三元語法,三重馬爾可夫鏈,也是四元語法      

隱馬爾可夫模型思想的三個問題 

問題1(似然度問題):給一個HMM λ=(A,B) 和一個觀察序列O,肯定觀察序列的似然度問題 P(O|λ) 。(向前算法解決)          

問題2(解碼問題):給定一個觀察序列O和一個HMM λ=(A,B),找出最好的隱藏狀態序列Q。(維特比算法解決)          

問題3(學習問題):給定一個觀察序列O和一個HMM中的狀態集合,自動學習HMM的參數A和B。(向前向後算法解決)

7.4 Viterbi算法解碼      

思路:

1 計算時間步1的維特比機率

2 計算時間步2的維特比機率,在(1) 基礎計算

3 計算時間步3的維特比機率,在(2) 基礎計算

4 維特比反向追蹤路徑         

維特比算法與向前算法的區別:     

(1)維特比算法要在前面路徑的機率中選擇最大值,而向前算法則計算其總和,除此以外,維特比算法和向前算法同樣。     

(2)維特比算法有反向指針,尋找隱藏狀態路徑,而向前算法沒有反向指針。      

HMM和維特比算法解決隨機詞類標註問題,利用Viterbi算法的中文句法標註  

7.5 序列標註方法       參照上面詞性標註    

7.6 模型評價方法      

模型:方法=模型+策略+算法   

模型問題涉及:訓練偏差、測試偏差、過擬合等問題。一般將學習方法對未知數據的預測能力稱爲泛化能力。

模型評價參數:      

準確率P=識別正確的數量/所有識別出的數量   

錯誤率 =識別錯誤的數量/所有識別出的數量   

精度=識別正確正的數量/識別正確的數量      

召回率R=識別正確的數量/所有正確的總量(識別出+識別不出的)   

F度量=2PR/(P+R)      

數據正負均衡適合準確率    數據不均適合召回率,精度,F度量   

幾種模型評估的方法:

K-折交叉驗證、隨機二次抽樣評估等    ROC曲線評價兩個模型好壞  

8 基於文本處理技術的研究生英語等級考試詞彙表構建系統  

完成對2002--2010年17套GET真題的核心單詞抽取。其中包括數據清洗,停用詞處理,分詞,詞頻統計,排序等經常使用方法。真題算是結構化數據,有必定規則,比較容易處理。此過程其實就是數據清洗過程)最後把全部單詞集中彙總,再去除如:a/an/of/on/frist等停用詞(中文文本處理也須要對停用詞處理,諸如:的,地,是等)。處理好的單詞進行去重和詞頻統計,最後再利用網絡工具對英語翻譯。而後根據詞頻排序。    

8.1 Apache Tika?      

Apache Tika內容抽取工具,其強大之處在於能夠處理各類文件,另外節約您更多的時間用來作重要的事情。   

Tika是一個內容分析工具,自帶全面的parser工具類,能解析基本全部常見格式的文件   

Tika的功能:•文檔類型檢測   •內容提取  •元數據提取  •語言檢測

8.2 文本詞頻統計?詞頻排序方法?      

算法思想:

1 歷年(2002—2010年)GET考試真題,文檔格式不一。網上收集                

2 對全部格式不一的文檔進行統計處理成txt文檔,格式化(去除漢字/標點/空格等非英文單詞)和去除停用詞(去除891個停用詞)處理。                

3 對清洗後的單詞進行去重和詞頻統計,經過Map統計詞頻,實體存儲:單詞-詞頻。(數組也能夠,只是面對特別大的數據,數組存在越界問題)。排序:根據詞頻或者字母

4 提取核心詞彙,大於5的和小於25次的數據,能夠本身制定閾值。遍歷list<實體>列表時候,經過獲取實體的詞頻屬性控制選取詞彙表尺寸。                

5 最後一步,中英文翻譯。     

9 樸素貝葉斯模型的文本分類器的設計與實現  

9.1 樸素貝葉斯公式  

0:喜悅  1:憤怒 2:厭惡 3:低落  

9.2 樸素貝葉斯原理  

-->訓練文本預處理,構造分類器。(即對貝葉斯公式實現文本分類參數值的求解,暫時不理解不要緊,下文詳解)  

-->構造預測分類函數  

-->對測試數據預處理  

-->使用分類器分類    

對於一個新的訓練文檔d,究竟屬於如上四個類別的哪一個類別?咱們能夠根據貝葉斯公式,只是此刻變化成具體的對象。    

> P( Category | Document):測試文檔屬於某類的機率    

> P( Category)):從文檔空間中隨機抽取一個文檔d,它屬於類別c的機率。(某類文檔數目/總文檔數目)    

> (P ( Document | Category ):文檔d對於給定類c的機率(某類下文檔中單詞數/某類中總的單詞數)    

> P(Document):從文檔空間中隨機抽取一個文檔d的機率(對於每一個類別都同樣,能夠忽略不計算。此時爲求最大似然機率)    

>  C(d)=argmax {P(C_i)*P(d|c_i)}:求出近似的貝葉斯每一個類別的機率,比較獲取最大的機率,此時文檔歸爲最大機率的一類,分類成功。  

綜述

1.  事先收集處理數據集(涉及網絡爬蟲和中文切詞,特徵選取)      

2.  預處理:(去掉停用詞,移除頻數太小的詞彙【根據具體狀況】)      

3.  實驗過程:

數據集分兩部分(3:7):30%做爲測試集,70%做爲訓練集         

增長置信度:10-折交叉驗證(整個數據集分爲10等份,9份合併爲訓練集,餘下1份做爲測試集。一共運行10遍,取平均值做爲分類結果)優缺點對比分析      

4. 評價標準:          

宏評價&微評價          

平滑因子

9.3 生產模型與判別模型區別       

1)生產式模型:直接對聯合分佈進行建模,如:隱馬爾科夫模型、馬爾科夫隨機場等       

2)判別式模型:對條件分佈進行建模,如:條件隨機場、支持向量機、邏輯迴歸等。          

生成模型優勢:1)由聯合分佈2)收斂速度比較快。3)可以應付隱變量。 缺點:爲了估算準確,樣本量和計算量大,樣本數目較多時候不建議使用。          

判別模型優勢:1)計算和樣本數量少。2)準確率高。缺點:收斂慢,不能針對隱變量。  

9.4 ROC曲線      

ROC曲線又叫接受者操做特徵曲線,比較學習器模型好壞可視化工具,橫座標參數假正例率,縱座標參數是真正例率。曲線越靠近對角線(隨機猜想線)模型越很差。      

好的模型,真正比例比較多,曲線應是陡峭的從0開始上升,後來遇到真正比例愈來愈少,假正比例元組愈來愈多,曲線平緩變的更加水平。徹底正確的模型面積爲1

10 統計學知識

信息圖形化(餅圖,線形圖等)

集中趨勢度量(平均值 中位數 衆數 方差等)

機率

排列組合

分佈(幾何二項泊松正態卡方)

統計抽樣

樣本估計

假設檢驗

迴歸

11 stanfordNLP

句子理解、自動問答系統、機器翻譯、句法分析、標註、情感分析、文本和視覺場景和模型, 以及天然語言處理數字人文社會科學中的應用和計算。

12 APache OpenNLP

Apache的OpenNLP庫是天然語言文本的處理基於機器學習的工具包。它支持最多見的NLP任務,如斷詞,句子切分,部分詞性標註,命名實體提取,分塊,解析和指代消解。

句子探測器:句子檢測器是用於檢測句子邊界

標記生成器:該OpenNLP斷詞段輸入字符序列爲標記。常是這是由空格分隔的單詞,但也有例外。

名稱搜索:名稱查找器可檢測文本命名實體和數字。

POS標註器:該OpenNLP POS標註器使用的機率模型來預測正確的POS標記出了標籤組。

細節化:文本分塊由除以單詞句法相關部分,如名詞基,動詞基的文字,但沒有指定其內部結構,也沒有其在主句做用。

分析器:嘗試解析器最簡單的方法是在命令行工具。該工具僅用於演示和測試。請從咱們網站上的英文分塊

13 Lucene

Lucene是一個基於Java的全文信息檢索工具包,它不是一個完整的搜索應用程序,而是爲你的應用程序提供索引和搜索功能。Lucene 目前是 Apache Jakarta(雅加達) 家族中的一個 開源項目。也是目前最爲流行的基於Java開源全文檢索工具包。

目前已經有不少應用程序的搜索功能是基於 Lucene ,好比Eclipse 幫助系統的搜索功能。Lucene可以爲文本類型的數 據創建索引,因此你只要把你要索引的數據格式轉化的文本格式,Lucene 就能對你的文檔進行索引和搜索。

14 Apache Solr

Solr它是一種開放源碼的、基於 Lucene Java 的搜索服務器。Solr 提供了層面搜索(就是統計)、命中醒目顯示而且支持多種輸出格式。它易於安裝和配置, 並且附帶了一個基於HTTP 的管理界面。可使用 Solr 的表現優異的基本搜索功能,也能夠對它進行擴展從而知足企業的須要。

Solr的特性包括:

•高級的全文搜索功能

•專爲高通量的網絡流量進行的優化

•基於開放接口(XML和HTTP)的標準

•綜合的HTML管理界面

•可伸縮性-可以有效地複製到另一個Solr搜索服務器

•使用XML配置達到靈活性和適配性

•可擴展的插件體系 solr中文分詞

15 機器學習降維

主要特徵選取、隨機森林、主成分分析、線性降維

16 領域本體構建方法   

1 肯定領域本體的專業領域和範疇

2 考慮複用現有的本體

3 列出本體涉及領域中的重要術語

4 定義分類概念和概念分類層次

5 定義概念之間的關係

17 構建領域本體的知識工程方法:

主要特色:本體更強調共享、重用,能夠爲不一樣系統提供一種統一的語言,所以本體構建的工程性更爲明顯。

方法:目前爲止,本體工程中比較有名的幾種方法包括TOVE 法、Methontology方法、骨架法、IDEF-5法和七步法等。(大可能是手工構建領域本體)

現狀: 因爲本體工程到目前爲止仍處於相對不成熟的階段,領域本體的建設還處於探索期,所以構建過程當中還存在着不少問題。

方法成熟度: 以上經常使用方法的依次爲:七步法、Methontology方法、IDEF-5法、TOVE法、骨架法。

相關文章
相關標籤/搜索