spaCy 第三篇:依存分析

句法是指句子的各個組成部分的相互關係,句法分析分爲句法結構分析(syntactic structure parsing)和依存關係分析(dependency parsing)。句法結構分析用於獲取整個句子的句法結構,依存分析用於獲取詞彙之間的依存關係,目前的句法分析已經從句法結構分析轉向依存句法分析。瀏覽器

依存語法經過分析語言單位內成分之間的依存關係揭示其句法結構,主張句子中核心動詞是支配其它成分的中心成分,而它自己卻不受其它任何成分的支配,全部受支配成分都以某種依存關係從屬於支配者。ide

在20世紀70年代,Robinson提出依存語法中關於依存關係的四條公理:ui

  1. 一個句子中只有一個成分是獨立的;
  2. 其它成分直接依存於某一成分;
  3. 任何一個成分都不能依存與兩個或兩個以上的成分;
  4. 若是A成分直接依存於B成分,而C成分在句中位於A和B之間,那麼C或者直接依存於B,或者直接依存於A和B之間的某一成分;

一,依存關係

依存關係是一箇中心詞與其從屬之間的二元非對稱關係,一個句子的中心詞一般是動詞(Verb),全部其餘詞要麼依賴於中心詞,要麼經過依賴路徑與它關聯。url

1,依存關係spa

依存結構是加標籤的有向圖,箭頭從中心詞指向從屬,具體來講,箭頭是從head指向child,從該解析樹能夠看出,每一個Token只有一個Head。.net

2,關係標籤3d

標籤表示從屬的語法功能,名詞性的標籤是:code

  • root:中心詞,一般是動詞
  • nsubj:名詞性主語(nominal subject)
  • dobj:直接賓語(direct object)
  • prep:介詞
  • pobj:介詞賓語
  • cc:連詞

其餘經常使用的標籤:orm

  • compound:複合詞
  • advmod:狀語
  • det:限定詞
  • amod:形容詞修飾語

二,解析依存關係

SpaCy可以快速準確地解析句子的依存關係,而且具備豐富的API用於導航依存關係樹,SpaCy使用head和child來描述依存關係中的鏈接,識別每一個Token的依存關係:blog

  • token.text:token的文本
  • token.head:當前Token的Parent Token,從語法關係上來看,每個Token都只有一個Head。
  • token.dep_:依存關係
  • token.children:語法上的直接子節點
  • token.ancestors:語法上的父節點
  • _pos:詞性
  • _tag:詞性

讓我使用SpaCy來對句子進行依存分析:

import spacy nlp = spacy.load('en') doc = nlp( "spaCy uses the terms head and child to describe the words" ) for token in doc: print('{0}({1}) <-- {2} -- {3}({4})'.format(token.text, token.tag_, token.dep_, token.head.text, token.head.tag_))

打印每一個Token的依存關係和head節點,箭頭表示從屬關係,獲得的結果是:

spaCy(NNP) <-- nsubj -- uses(VBZ) uses(VBZ) <-- ROOT -- uses(VBZ) the(DT) <-- det -- head(NN) terms(NNS) <-- compound -- head(NN) head(NN) <-- dobj -- uses(VBZ) and(CC) <-- cc -- head(NN) child(NN) <-- conj -- head(NN) to(TO) <-- aux -- describe(VB) describe(VB) <-- xcomp -- uses(VBZ) the(DT) <-- det -- words(NNS) words(NNS) <-- dobj -- describe(VB)

也可使用display來顯示依存關係,在瀏覽器中輸入 http://localhost:5000 顯示依存結構:

import spacy from spacy import displacy nlp = spacy.load('en') doc = nlp( "spaCy uses the terms head and child to describe the words" ) displacy.serve(doc, style='dep')

 

 

 

 

 

參考文檔:

Complete Guide to spaCy

SpaCy Dependency Parse

相關文章
相關標籤/搜索