1. 程式人生 > >nlp-形式語言與自動機-ch08-句法分析

nlp-形式語言與自動機-ch08-句法分析

1、(空)

2、(空)

3、句法分析(syntactic parsing)是自然語言處理中的關鍵技術之一,其基本任務是確定句子的句法結構(syntactic structure)或句子中詞彙之間的依存關係。 一般來說,句法分析並不是一個自然語言處理任務的最終目標,但是,它往往是實現最終目標的重要環節,甚至是關鍵環節。 

4、句法分析分為句法結構分析(syntactic structure parsing)和依存關係分析(dependencyparsing)兩種。
5、句法結構分析又可稱為成分結構分析(constituent structure parsing)或短語結構分析(phrase structure parsing)。 
6、以獲取整個句子的句法結構為目的的句法分析稱為完全句法分析(full syntactic parsing)或者完全短語結構分析(full phrase structure parsing)(有時簡稱full parsing)。
7、而以獲得區域性成分(如基本名詞短語(base NP))為目的的句法分析稱為區域性分析(partial parsing)或稱淺層分析(shallow parsing)。
8、依存關係分析又稱依存句法分析或依存結構分析,簡稱依存分析。
9、句法結構分析是指對輸入的單詞序列(一般為句子)判斷其構成是否合乎給定的語法,分析出合乎語法的句子的句法結構。 
10、句法結構一般用樹狀資料結構表示,通常稱為句法分析樹(syntactic parsing tree),簡稱分析樹(parsing tree)。 
11、完成這種分析過程的程式模組稱為句法結構分析器(syntactic parser),通常簡稱為分析器(parser)。
12、句法結構分析的任務有三個:①判斷輸入的字串是否屬於某種語言;②消除輸入句子中詞法和結構等方面的歧義;③分析輸入句子的內部結構,如成分構成、 上下文關係等。 
13、有時人們也將句法結構分析稱為語言或句子識別。
14、詞法歧義和結構歧義等各種型別的歧義在自然語言中普遍存在,而句法結構歧義的識別和消解是句法分析面臨的主要困難。
15、構造一個句法分析器需要考慮兩部分工作:一部分是語法的形式化表示和詞條資訊描述問題。 形式化的語法規則構成了規則庫,詞條資訊(包括詞性、 動詞的配價和中心詞資訊等)由詞典或相關詞表提供,規則庫與詞典或相關詞表構成了句法分析的知識庫;另一部分工作是分析演算法的設計。
16、語法形式化(grammar formalism)屬於句法理論研究的範疇。 目前在自然語言處理中廣泛使用的是上下文無關文法(CFG)和基於約束的文法(constraint-based grammar)的簡單形式,後者又稱為合一語法(unification grammar)。
17、常用的基於約束的語法有:功能合一語法(FUG)、樹連結語法(TAG)、詞彙功能語法(LFG)、廣義的短語結構語法(GPSG)、中心短語驅動的短語結構語法(HPSG)。
18、簡單地講,句法結構分析方法可以分為基於規則的分析方法和基於統計的分析方法兩大類。 
19、基於規則的句法結構分析方法的基本思路是,由人工組織語法規則,建立語法知識庫,通過條件約束和檢查來實現句法結構歧義的消除。
20、根據句法分析樹形成方向的區別,人們通常將這些分析方法劃分為三種類型:自頂向下(top-down)的分析方法、 自底向上(bottom-up)的分析方法和兩者相結合的分析方法。
21、基於規則的句法結構分析方法的主要優點是,分析演算法可以利用手工編寫的語法規則分析出輸入句子所有可能的句法結構;對於特定的領域和目的,利用手工編寫的有針對性的規則能夠較好地處理輸入句子中的部分歧義和一些超語法(extra-grammatical)現象。
22、規則分析方法也存在一些缺陷:①對於一箇中等長度的輸入句子來說,要利用大覆蓋度的語法規則分析出所有可能的句子結構是非常困難的,分析過程的複雜性往往使程式

無法實現;②即使能夠分析出句子所有可能的結構,也難以在巨大的句法分析結果集合中實現有效的消歧,並選擇出最有可能的分析結果;③手工編寫的規則一般帶有一定的主觀性,對於實際應用系統來說,往往難以覆蓋大領域的所有複雜語言;④手工編寫規則本身是一件大工作量的複雜勞動,而且編寫的規則對特定的領域有密切的相關性,不利於句法分析系統向其他領域移植。

23、目前研究較多的統計句法分析方法是語法驅動的(grammar-driven),其基本思想是由生成語法(generative grammar)定義被分析的語言及其分析出的類別,在訓練資料中觀察到的各種語言現象的分佈以統計資料的方式與語法規則一起編碼。 在句法分析的過程中,當遇到歧義情況時,統計資料用於對多種分析結果的排序或選擇。

24、基於概率上下文無關文法(probabilistic (或stochastic)context-free grammar, PCFG或SCFG)的短語結構分析方法可以說是目前最成功的語法驅動的統計句法分析方。 該方法採用的模型主要包括詞彙化的概率模型(lexicalized probabilistic model)和非詞彙化的概率模型(unlexicalized probabilistic model)兩種。

//2017/4/25

1、在給定PCFG G的情況下,快速計算句子W的概率P(W|G)有兩種方法:內向演算法(inside algorithm)和外向演算法(outside algorithm)。

2、對於一個給定的句子W=w1w2…wn和文法G,選擇該句子的最佳結構也就是選擇句法結構樹t使其具有最大概率,即求解argmaxtP(t|W,G)。 這一問題可以利用韋特比演算法(Viterbi algorithm)求解。

3、PCFG的概率引數估計

對於給定的CFG G和句子W=w1w2…wn,如何調整G的概率引數,使句子W的概率最大。 解決這一問題的基本思路是採用EM迭代演算法:給G的每個產生式隨機地賦予一個概率值(滿足歸一化條件),得到文法G0。 然後,根據G0和訓練資料(樹庫),可以計算出每條規則使用次數的期望值,用期望次數進行最大似然估計,得到語法G的新的引數值,新的語法記作G1。 迴圈執行該過程,G的概率引數將收斂於最大似然估計值。

4、基於PCFG的詞彙化短語結構分析方法:

這種方法的基本思想是:對句法樹中的每個非終結符都利用其中心詞(及其詞性)進行標註,每條CFG規則的概率都依據中心詞資訊進行估計。 

5、詞彙化句法結構分析模型的提出有效地提升了基於PCFG的句法分析器的能力,獲得了較高的句法分析效能。

6、一種帶有隱含標記的上下文無關文法(PCFG with latent annotations,PCFG-LA),使得非終結符的細化過程可以自動進行:

7、由於基於PCFG的短語結構分析方法具有形式簡潔和引數空間小等優點,而且,對於存在多個分析結構的句子具有一定的消歧能力,因此,在句法分析研究中頗受青睞。 但是,該模型仍存在子樹評分不夠準確、 概率引數估計複雜、 而且需要大規模標註樹庫等不足。

8、目前使用比較廣泛的短語結構分析器效能評價方法是PARSEVAL。 在PARSEVAL評測方法中主要有以下三個基本評測指標:

1)標記正確率(labeled precision, LP):句法分析器輸出結果中正確的短語個數所佔的比例,也是分析結果中與標準分析樹(答案)中的短語相匹配的個數佔分析器輸出結果中所有短語個數的比例。

2)標記召回率(labeled recall, LR):句法分析器輸出結果中正確的短語個數佔標準分析樹中全部短語個數的比例。

3)交叉括號數(crossing brackets, CBs):一棵短語結構樹中所包含的與標準分析樹中邊界相交叉的短語個數。 平均交叉括號數則是指測試集中平均每個句子的短語結構樹中所包含的與標準分析樹中邊界相交叉的短語個數。

//2017/4/26

1、HP演算法主要由三部分組成:①對包含“分割”標點的長句進行分割;②對分割後的各個子句分別進行句法分析(即第一級分析),分析得到的各個最大概率的子樹根結點的詞類或者短語類別標記作為第二級句法分析的輸入;③通過第二遍分析找到各個子句或者短語之間的結構關係,從而獲得最終整句的最大概率分析樹。 其中,在第二級句法分析
之前,預先判斷句子中是否存在並列成分短語,因此,需要加入一個並列成分探測和子樹合併的模組。

2、長句分割
根據前面對標點符號的分類,用逗號、 分號和冒號三類分隔標記把長句分割為一系列子句片段。 需要注意的是,引號和破折號只具有語義上的作用,因此,在句法分析上可以看作是透明的。

3、第一級分析
在HP方法中對各個子句的分析採用圖表分析演算法(chart parsing)。 在第一級分析中,分析的原始輸入為各個子句的詞性序列,經線圖分析演算法分析後,利用維特比Viterbi)演算法,求得每個子句最大概率的分析樹。

4、子樹合併
根據8.7.3節的討論,由於逗號的特殊性,將其統一定義為“分割”標點可能會導致不適當的句子分割。 造成這種問題的主要原因是由於在漢語句子中並列的短語較長時,一些句子使用逗號來替代頓號作為分隔標記,而這些並列短語充當同一句子中的同一個成分。 由於在第一級的句法分析中,對逗號左右的句子成分已經進行了分析,獲得了逗號附近
的句法結構資訊,而這一步需要做的僅僅是判斷逗號左右的成分是否為並列關係的結構完全相同的短語。

5、第二級分析
除了所用的文法規則和輸入串不同以外,第二級分析所用的演算法和第一級分析所用的演算法相同,但兩部分文法規則有部分重疊,可通過演算法自動選擇。在第一級分析中輸入詞性串是輸入句子的各個詞性構成的序列,而第二級分析的輸入則分為兩種情況:一種是當第一級分析的各個子樹單元都能夠獲得最大的概率分析樹時,第二級分析的輸入即為各個分析樹根結點的結構標記和分隔它們的標點符號;另一種情況是,當第一級分析的某些子句分析失敗時,仍取分析失敗的子句中原始詞性序列和其他分析成功的子樹的根結點標記一起作為第二級分析的輸入串。第二級分析最終輸出的結果是整個句子的最大概率句法分析樹。

6、淺層句法分析也稱部分句法分析(partialparsing)或語塊劃分(chunking),它與完全句法分析不同,完全句法分析要求通過一系列的分析過程,最終得到句子的完整句法分析樹,而淺層句法分析只要求識別句子中某些結構相對簡單的獨立成分,例如:非遞迴的名詞短語、 動詞短語等,這些被識別出來的結構通常稱為語塊(chunk)。 

7、淺層句法分析將句法分析分解為兩個子任務:①語塊的識別和分析;②語塊之間的依附關係分析。 其中,語塊的識別和分析是主要任務。

8、由於名詞短語在句子結構中具有舉足輕重的作用,因此,目前的基本短語識別研究主要集中在基本名詞短語的識別分析(base noun phrase chunking,base NP chunking)問題上。

9、。 為了研究這種分類問題,Ramshaw and Marcus (1995)給出了兩種base NP表示方法:括號分隔法(the open/close bracketing)和IOB標註方法(IOB tagging)。 其中,括號分隔方法的基本思想是用方括號界定base NP的邊界,方括號內部的詞屬於base NP,方括號外邊的詞不屬於base NP。

10、WINNOW是解決二分問題的錯誤驅動的機器學習方法,該方法能從大量不相關的特徵中快速學習[Littlestone,1988]。 WINNOW的稀疏網路(sparse network of WINNOWS,SNoW)〔 11〕 學習結構是一種多類分類器,專門用於處理特徵識別領域的大規模學習任務。

11、我們有時不需要或者不僅僅需要知道整個句子的短語結構樹,而且要知道句子中詞與詞之間的依存關係。 用詞與詞之間的依存關係來描述語言結構的框架稱為依存語法(dependence grammar),又稱從屬關係語法(grammaire de dépendance)。

12、依存語法打破了這種主謂關係,認為“謂語”中的動詞是一個句子的中心,其他成分與動詞直接或間接地產生聯絡。

13、在依存語法理論中,“依存”就是指詞與詞之間支配與被支配的關係,這種關係不是對等的,而是有方向的。 處於支配地位的成分稱為支配者(governor,regent,head),而處於被支配地位的成分稱為從屬者(modifier,subordinate,dependency)。

14、依存語法與短語結構語法(phrase structure grammar,PSG)相比最大的優勢是它直接按照詞語之間的依存關係工作,依存語法幾乎不使用詞性和短語類等句法語義範疇,沒有Chomsky的形式化重寫規則,幾乎所有的語言知識都體現在詞典中,是基於詞語法理論的。

//2017/4/27

1、“依次讀入”和“立即處理”的依存分析策略可以構造出一個確定性的句法分析器:句子中的某個詞一旦建立了依附關係,在後續的分析中將不再改變。 這也是後面要介紹的確定性依存句法分析方法的思想基礎。

2、早期的基於依存語法的句法分析方法主要就是以上類似CYK的動態規劃演算法、 基於約束滿足的方法和確定性分析策略三種。 後來隨著統計自然語言處理技術的興起,出現了在形式化的依存語法體系中融入基於語料庫統計知識的依存句法分析方法。

3、生成式依存分析方法、 判別式依存分析方法和確定性依存分析方法是資料驅動的統計依存分析中具有代表性的三種方法,其中生成式方法和判別式方法是按照傳統的機器學習模型分類方式劃分的,確定性分析方法與前兩者的區別在於最優依存樹的分解和決策方式。

4、生成式依存分析方法採用聯合概率模型生成一系列依存句法樹並賦予其概率分值,然後採用相關演算法找到概率打分最高的分析結果作為最後輸出。

5、確定性依存分析方法以特定的方向逐次取一個待分析的詞,為每次輸入的詞產生一個單一的分析結果,直至序列的最後一個詞。 這類演算法在每一步的分析中都要根據當前分析狀態做出決策(如判斷其是否與前一個詞發生依存關係),因此,這種方法又稱決策式分析方法。

6、基於最大生成樹的依存分析方法以整個句子為最優依存結構搜尋的基本單位,而基於轉換的決策式依存分析方法通過搜尋當前最優分析動作來得到輸入句子的最優依存樹,決策的基本單位是當前格局中的焦點詞對。 這兩種方法分別採用了依存分析單位的兩個極端。 

7、鑑萍等引入了一種處於整句和詞之間的結構單元——依存層(dependency layer)的概念,通過依存層來建立依存句法分析模型。 

8、短語結構樹可以被一一對應地轉換成依存關係樹,反之則不然。 將一棵短語結構樹轉換成依存關係樹的方法可以通過如下三步實現:①定義中心詞抽取規則,產生中心詞表;②根據中心詞表,為句法樹中每個結點選擇中心子結點;③同一層內將非中心子結點的中心詞依存到中心子結點的中心詞上,下一層的中心詞依存到上一層的中心詞上,從而得到相應的依存結構。 

相關推薦

nlp-形式語言自動機-ch08-句法分析

1、(空) 2、(空) 3、句法分析(syntactic parsing)是自然語言處理中的關鍵技術之一,其基本任務是確定句子的句法結構(syntactic structure)或句子中詞彙之間的依存關係。 一般來說,句法分析並不是一個自然語言處理任務的最終目標,但是,它往

形式語言自動機|DFA識別句子

實驗二 DFA識別句子 一、實驗目的 加深對DFA工作原理的理解。 二、實驗內容 1.設計固定DFA。也就是說用if-then-else(一般用來實現字母表中只有兩個字母的情況)、switch(大於兩個字母的情況)、for(用於控制輸入字串,長度為n的字串,for迴圈n次)等語句表示DFA。一個函式定義一

golang知識圖譜NLP實戰第二節——解析依存句法分析結果

1 參考資料 2 思路過程 可以用hanlp做句子的依存句法分析,得到欄位如下:問題,怎樣得到json資料?怎樣讓hanlp提供服務? 1 房頂 房頂 n n _ 2 定中關係 _ _ 2 上 上 nd f _ 3 狀中結構 _

傳智播客c/c++公開課學習筆記--C語言木馬惡意程式碼分析和360安全防護揭祕

【課程簡介】 C/C++語言是除了彙編之外,最接近底層的計算機語言,目前windows,linux,iOS,Android等主流作業系統都是用C/C++編寫的,所以很多病毒、木馬也都是用C/C++實現的。課程的目的就是通過C語言揭祕木馬和各種遠端控制軟體的實現原理以及如

NLP(十二)依存句法分析的視覺化及圖分析

  依存句法分析的效果雖然沒有像分詞、NER的效果來的好,但也有其使用價值,在日常的工作中,我們免不了要和其打交道。筆者這幾天一直在想如何分析依存句法分析的結果,一個重要的方面便是其視覺化和它的圖分析。   我們使用的NLP工具為jieba和LTP,其中jieba用於分詞,LTP用於詞性標註和句法分析,需要事

【自然語言處理】句法分析 (syntactic parsing) 在 NLP 領域的應用是怎樣的?

文章整理自郭江師兄問題回答(被收錄於知乎編輯推薦)!已取得師兄授權!@jiangfeng 原問題如下: opinion extraction system,information retrieval system是如何通過syntactic parsing實現的? 解答如下:這裡面有兩個問題:1.

自然語言處理期末複習(3)-(5)模型句法分析

第三部分 隱馬爾科夫模型與詞類標註1.定義:如果給定一個觀察序列(不同顏色的小球序列),不能直接確定狀態轉換序列(罈子的序列),因為狀態轉移過程被隱藏起來了。所以這類隨機過程被稱為隱馬爾科夫過程。2.詞類標註的方法:(1)基於規則的詞類標註:查字典,給詞標記所有可能,逐步刪除

斯坦福大學-自然語言處理深度學習(CS224n) 筆記 第六課 依存句法分析

課程概要 1、句法結構:成分句法、依存句法 2、依存語法 3、 Transition-based依存句法分析 4、神經網路的依存句法分析 一、句法結構:成分句法、依存句法 二、依存語法 三、Transition-based依存句法分析 四、神經網路的依存句

斯坦福大學-自然語言處理入門 筆記 第十六課 依存句法分析(Dependency Parsing)

一、介紹 1、依存句法 依存句法假設:句法結構包含相互之間是雙邊不對稱關係的詞典(lexical)元素,這種不對稱的關係成為依存(dependency),在圖中的表現是單向箭頭。 箭頭通常還會打上這種語法關係的名字(主語,前置賓語等等) 箭頭一邊連線中心詞head

斯坦福大學-自然語言處理入門 筆記 第十三課 統計語言句法分析(prasing)

課程來源:Introduction to NLP by Chris Manning & Dan jurafsky 關於專用名詞和概念:剛接觸NLP領域,所以有些專有名詞的翻譯和專有概念可能會存在一定的偏誤,隨著學習的深入,我會隨時更新改正。 一、關於句法結構的兩種看法

系統學習NLP(五)--句法分析

轉自:https://www.jianshu.com/p/fb408b6a0904  真佩服作者的毅力,把基礎概念都敲出來了。。。 句法分析的基本任務是確定句子的語法結構或句子中詞彙之間的依存關係。句法分析不是一個自然語言處理任務的最終目標,但它往往是實現最終目標的關鍵環節。 句法

自然語言處理基礎技術之依存句法分析

宣告:轉載請註明出處,謝謝:https://blog.csdn.net/m0_37306360/article/details/84639081 另外,更多實時更新的個人學習筆記分享,請關注: 知乎:https://www.zhihu.com/people/yuquanle/columns

自然語言處理基礎技術之依存句法分析實戰

宣告:轉載請註明出處,謝謝:https://blog.csdn.net/m0_37306360/article/details/84645682 另外,更多實時更新的個人學習筆記分享,請關注: 知乎:https://www.zhihu.com/people/yuquanle/columns

自然語言處理基礎技術之成分句法分析

宣告:轉載請註明出處,謝謝:https://blog.csdn.net/m0_37306360/article/details/84670800 另外,更多實時更新的個人學習筆記分享,請關注: 知乎:https://www.zhihu.com/people/yuquanle/columns

自然語言處理基礎技術之成分句法分析實戰

宣告:轉載請註明出處,謝謝:https://blog.csdn.net/m0_37306360/article/details/84712213 另外,更多實時更新的個人學習筆記分享,請關注: 知乎:https://www.zhihu.com/people/yuquanle/columns

數學的符號語言形式語言

  版權宣告:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/T_Jumping/article/details/73699282       形式語言和自然語言本質上都是一種符號系統,形式語言是人為的設計的,而

NLP句法分析小結

句法分析是自然語言處理(natural language processing, NLP)中的關鍵底層技術之一,其基本任務是確定句子的句法結構或者句子中詞彙之間的依存關係。    句法分析分為句法結構分析(syntactic structure parsing)和依存關係分析

條件隨機場句法分析

句法分析就是為每個句子建立語法樹。最初的句法分析,受形式語言的影響,使用的是規則方法,不斷使用規則樹從底向上的將樹的末端節點向上合併,直到合併出根節點。當然也可以使用自頂向下的方法。但這種方法不能一次選對,一旦選錯一步,就需要回溯很多步,因此計算複雜度特別高。後來出現在選擇文

NLP ---句法分析

句法分析是在計算機系統的基礎上進行發展的,常見的句法分析應用有: 計算機的翻譯、文字的註釋、一對一的問答系統、資訊的自然摘錄以及自動搜尋等。如果對句法分析這一詞不瞭解,那麼一定知道文法分析,這是該定義不同的兩個說法。句法分析說白了就是在一定規則的語法中,進行句子以及句法單位的自動識別,並按照規定

人工智慧-語音互動-NLP自然語言(一) 詞法分析

NLP自然語言處理(一) 詞法分析 1.什麼是自然語言處理NLP(natural language processing)? 如圖所示: 我希望計算機對房間的評論結果是,可以欣賞日出。