聲明:轉(zhuǎn)載請(qǐng)注明出處,謝謝:http://www.itdecent.cn/p/24e0d53b1ee2
另外,更多實(shí)時(shí)更新的個(gè)人學(xué)習(xí)筆記分享,請(qǐng)關(guān)注:
知乎:https://www.zhihu.com/people/yuquanle/columns
公眾號(hào):StudyForAI
CSDN地址:http://blog.csdn.net/m0_37306360
句法分析(syntactic parsing)是自然語(yǔ)言處理中的關(guān)鍵技術(shù)之一,它是對(duì)輸入的文本句子進(jìn)行分析以得到句子的句法結(jié)構(gòu)的處理過程。對(duì)句法結(jié)構(gòu)進(jìn)行分析,一方面是語(yǔ)言理解的自身需求,句法分析是語(yǔ)言理解的重要一環(huán),另一方面也為其它自然語(yǔ)言處理任務(wù)提供支持。例如句法驅(qū)動(dòng)的統(tǒng)計(jì)機(jī)器翻譯需要對(duì)源語(yǔ)言或目標(biāo)語(yǔ)言(或者同時(shí)兩種語(yǔ)言)進(jìn)行句法分析;語(yǔ)義分析通常以句法分析的輸出結(jié)果作為輸入以便獲得更多的指示信息。
根據(jù)句法結(jié)構(gòu)的表示形式不同,最常見的句法分析任務(wù)可以分為以下三種:
句法結(jié)構(gòu)分析(syntactic structure parsing),又稱短語(yǔ)結(jié)構(gòu)分析(phrase structure parsing),也叫成分句法分析(constituent syntactic parsing)。作用是識(shí)別出句子中的短語(yǔ)結(jié)構(gòu)以及短語(yǔ)之間的層次句法關(guān)系。
依存關(guān)系分析,又稱依存句法分析(dependency syntactic parsing),簡(jiǎn)稱依存分析,作用是識(shí)別句子中詞匯與詞匯之間的相互依存關(guān)系。
深層文法句法分析,即利用深層文法,例如詞匯化樹鄰接文法(Lexicalized Tree Adjoining Grammar, LTAG)、詞匯功能文法(Lexical Functional Grammar, LFG)、組合范疇文法(Combinatory Categorial Grammar, CCG)等,對(duì)句子進(jìn)行深層的句法以及語(yǔ)義分析。
今天學(xué)習(xí)一波依存句法分析,依存句法分析屬于淺層句法分析。
首先我們依舊來看看它的定義:
百度百科定義:依存句法是由法國(guó)語(yǔ)言學(xué)家L.Tesniere最先提出。它將句子分析成一顆依存句法樹,描述出各個(gè)詞語(yǔ)之間的依存關(guān)系。也即指出了詞語(yǔ)之間在句法上的搭配關(guān)系,這種搭配關(guān)系是和語(yǔ)義相關(guān)聯(lián)的。
維基百科定義:The dependency-based parse trees of dependency grammars see all nodes as terminal, which means they do not acknowledge the distinction between terminal and non-terminal categories. They are simpler on average than constituency-based parse trees because they contain fewer nodes.
在自然語(yǔ)言處理中,用詞與詞之間的依存關(guān)系來描述語(yǔ)言結(jié)構(gòu)的框架稱為依存語(yǔ)法(dependence grammar),又稱從屬關(guān)系語(yǔ)法。利用依存句法進(jìn)行句法分析也是自然語(yǔ)言理解的重要技術(shù)之一。
依存分析的一些重要概念:
依存句法認(rèn)為“謂語(yǔ)”中的動(dòng)詞是一個(gè)句子的中心,其他成分與動(dòng)詞直接或間接地產(chǎn)生聯(lián)系。
依存句法理論中,“依存”指詞與詞之間支配與被支配的關(guān)系,這種關(guān)系不是對(duì)等的,這種關(guān)系具有方向。確切的說,處于支配地位的成分稱之為支配者(governor,regent,head),而處于被支配地位的成分稱之為從屬者(modifier,subordinate,dependency)。
依存語(yǔ)法本身沒有規(guī)定要對(duì)依存關(guān)系進(jìn)行分類,但為了豐富依存結(jié)構(gòu)傳達(dá)的句法信息,在實(shí)際應(yīng)用中,一般會(huì)給依存樹的邊加上不同的標(biāo)記。
依存語(yǔ)法存在一個(gè)共同的基本假設(shè):句法結(jié)構(gòu)本質(zhì)上包含詞和詞之間的依存(修飾)關(guān)系。一個(gè)依存關(guān)系連接兩個(gè)詞,分別是核心詞(head)和依存詞(dependent)。依存關(guān)系可以細(xì)分為不同的類型,表示兩個(gè)詞之間的具體句法關(guān)系。
依存分析方法簡(jiǎn)介:
基于規(guī)則的方法: 早期的基于依存語(yǔ)法的句法分析方法主要包括類似CYK的動(dòng)態(tài)規(guī)劃算法、基于約束滿足的方法和確定性分析策略等。
基于統(tǒng)計(jì)的方法:統(tǒng)計(jì)自然語(yǔ)言處理領(lǐng)域也涌現(xiàn)出了一大批優(yōu)秀的研究工作,包括生成式依存分析方法、判別式依存分析方法和確定性依存分析方法,這幾類方法是數(shù)據(jù)驅(qū)動(dòng)的統(tǒng)計(jì)依存分析中最為代表性的方法。
基于深度學(xué)習(xí)的方法:近年來,深度學(xué)習(xí)在句法分析課題上逐漸成為研究熱點(diǎn),主要研究工作集中在特征表示方面。傳統(tǒng)方法的特征表示主要采用人工定義原子特征和特征組合,而深度學(xué)習(xí)則把原子特征(詞、詞性、類別標(biāo)簽)進(jìn)行向量化,在利用多層神經(jīng)元網(wǎng)絡(luò)提取特征。
依存分析器的性能評(píng)價(jià):
通常使用的指標(biāo)包括無標(biāo)記依存正確率(unlabeled attachment score,UAS)、帶標(biāo)記依存正確率(labeled attachment score, LAS)、依存正確率(dependency accuracy,DA)、根正確率(root accuracy,RA)、完全匹配率(complete match,CM)等。這些指標(biāo)的具體意思如下:
無標(biāo)記依存正確率(UAS):測(cè)試集中找到其正確支配詞的詞(包括沒有標(biāo)注支配詞的根結(jié)點(diǎn))所占總詞數(shù)的百分比。
帶標(biāo)記依存正確率(LAS):測(cè)試集中找到其正確支配詞的詞,并且依存關(guān)系類型也標(biāo)注正確的詞(包括沒有標(biāo)注支配詞的根結(jié)點(diǎn))占總詞數(shù)的百分比。
依存正確率(DA):測(cè)試集中找到正確支配詞非根結(jié)點(diǎn)詞占所有非根結(jié)點(diǎn)詞總數(shù)的百分比。
根正確率(RA):有二種定義,一種是測(cè)試集中正確根結(jié)點(diǎn)的個(gè)數(shù)與句子個(gè)數(shù)的百分比。另一種是指測(cè)試集中找到正確根結(jié)點(diǎn)的句子數(shù)所占句子總數(shù)的百分比。
完全匹配率(CM):測(cè)試集中無標(biāo)記依存結(jié)構(gòu)完全正確的句子占句子總數(shù)的百分比。
依存分析任務(wù)數(shù)據(jù)集:
Penn Treebank:Penn Treebank是一個(gè)項(xiàng)目的名稱,項(xiàng)目目的是對(duì)語(yǔ)料進(jìn)行標(biāo)注,標(biāo)注內(nèi)容包括詞性標(biāo)注以及句法分析。
-
SemEval-2016 Task 9中文語(yǔ)義依存圖數(shù)據(jù):http://ir.hit.edu.cn/2461.html
-
CoNLL經(jīng)常開放句法分析的學(xué)術(shù)評(píng)測(cè)。
比如2018年的通用句法分析評(píng)測(cè)任務(wù):http://universaldependencies.org/conll18/
2009年多語(yǔ)言多語(yǔ)言的句法依存和語(yǔ)義角色聯(lián)合評(píng)測(cè)任務(wù):http://ufal.mff.cuni.cz/conll2009-st/
2008年英語(yǔ)的依存句法-語(yǔ)義角色聯(lián)合評(píng)測(cè)任務(wù):https://www.clips.uantwerpen.be/conll2008/
2007年多語(yǔ)言依存分析評(píng)測(cè):https://www.clips.uantwerpen.be/conll2007/
最后當(dāng)然是推薦一波依存分析的工具:
-
StanfordCoreNLP:斯坦福的,提供依存句法分析功能。
-
Hanlp:HanLP是一系列模型與算法組成的NLP工具包。提供了中文依存句法分析功能。
Github地址:https://github.com/hankcs/pyhanlp
官網(wǎng):http://hanlp.linrunsoft.com/
-
SpaCy:工業(yè)級(jí)的自然語(yǔ)言處理工具,遺憾的是不支持中文。
Gihub地址:https://github.com/explosion/spaCy
官網(wǎng):https://spacy.io/
-
FudanNLP:復(fù)旦大學(xué)自然語(yǔ)言處理實(shí)驗(yàn)室開發(fā)的中文自然語(yǔ)言處理工具包,包含信息檢索: 文本分類、新聞聚類;中文處理: 中文分詞、詞性標(biāo)注、實(shí)體名識(shí)別、關(guān)鍵詞抽取、依存句法分析、時(shí)間短語(yǔ)識(shí)別;結(jié)構(gòu)化學(xué)習(xí): 在線學(xué)習(xí)、層次分類、聚類。
Github地址:https://github.com/FudanNLP/fnlp
參考:
1.統(tǒng)計(jì)自然語(yǔ)言處理
2.中文信息處理報(bào)告-2016