摘要:本文介紹了自然語言處理中成分句法分析,包括定義、基本任務、常見方法以及短語結構和依存結構的關係,最後,分享了一些流行的工具以及工具實戰例子。句法結構分析可以分爲基於規則的分析方法、基於統計的分析方法以及近年來基於深度學習的方法等。

本文介紹了自然語言處理中成分句法分析,包括定義、基本任務、常見方法以及短語結構和依存結構的關係,最後,分享了一些流行的工具以及工具實戰例子。

01

定義

維基百科上給的定義如下:The constituency-based parse trees of constituency grammars (= phrase structure grammars) distinguish between terminal and non-terminal nodes. The interior nodes are labeled by non-terminal categories of the grammar, while the leaf nodes are labeled by terminal categories.

句子的組成成分叫句子成分,也叫句法成分。在句子中,詞與詞之間有一定的組合關係,按照不同的關係,可以把句子分爲不同的組成成分。句子成分由詞或詞組充當。

句法結構分析是指對輸入的單詞序列(一般爲句子)判斷其構成是否合乎給定的語法,分析出合乎語法的句子的句法結構。

句法結構一般用樹狀數據結構表示,通常稱之爲句法分析樹(syntactic parsing tree)或簡稱分析樹(parsing tree),而完成這種分析過程的程序模塊稱爲句法結構分析器(syntactic parser),也簡稱分析器(parser)。

02

基本任務

句法結構分析的基本任務主要有三個

1. 判斷輸入的字符串是否屬於某種語言。

2. 消除輸入句子中的詞法和結構等方面的歧義。

3. 分析輸入句子的內部結構,如成分構成、上下文關係等。

如果一個句子有多種結構表示,句法分析器應該分析出該句子最有可能的結構。有時人們也把句法結構分析稱爲語言或句子識別。

一般構造一個句法分析器需要考慮二部分:語法的形式化表示和詞條信息描述問題,分析算法的設計。目前在自然語言處理中廣泛使用的是上下文無關文法(CFG)和基於約束的文法(又稱合一語法)。

03

常見方法

句法結構分析可以分爲基於規則的分析方法、基於統計的分析方法以及近年來基於深度學習的方法等。

基於規則的分析方法:其基本思路是由人工組織語法規則,建立語法知識庫,通過條件約束和檢查來實現句法結構歧義的消除。

基於統計的分析方法:統計句法分析中目前最成功當屬基於概率上下文無關文法(PCFG或SCFG)。該方法採用的模型主要包括詞彙化的概率模型(lexicalized probabilistic model)和非詞彙化的概率模型(unlexicalized probabilistic model)兩種。

基於深度學習的分析方法:近幾年深度學習在nlp基礎任務取得了不錯的效果,也湧現出了不少論文。

04

短語結構和依存結構關係

短語結構樹可以被一一對應地轉化成依存關係樹,反過來則不然,因爲一棵依存關係樹可能對應多個短語結構樹。轉化方法可以通過如下實現:

定義中心詞抽取規則,產生中心詞表;

根據中心詞表,爲句法樹中每個結點選擇中心子結點;

同一層內將非中心子結點的中心詞依存到中心子結點的中心詞上,下一層的中心詞依存到上一層的中心詞上,從而得到相應的依存結構。

05

工具推薦

1. StanfordCoreNLP

斯坦福的,提供成分句法分析功能。

Github 地址:

https://github.com/Lynten/stanford-corenlp

官網:

https://stanfordnlp.github.io/CoreNLP/

2. Berkeley Parser

伯克利大學 NLP 組開源的工具。提供英文的句法分析功能。

官方地址:

http://nlp.cs.berkeley.edu/software.shtml

3. SpaCy

工業級的自然語言處理工具,遺憾的是不支持中文。

Gihub 地址:

https://github.com/explosion/spaCy

官網:

https://spacy.io/

代碼已上傳:

https://github.com/yuquanle/StudyForNLP/blob/master/NLPbasic/Constituency.ipynb

參考:

1. 統計自然語言處理

2. 中文信息處理報告-2016

作者簡介

樂雨泉 (yuquanle),湖南大學在讀碩士,研究方向機器學習與自然語言處理。曾在IJCAI、TASLP等會議/期刊發表文章多篇。歡迎志同道合的朋友和我在公衆號"AI小白入門"一起交流學習,探討成長。

相關文章