自然語言處理(三) 句法分析與依存句法分析

2021-09-23 14:34:00 字數 2112 閱讀 5135

在使用stanfordcorenlp對文字句子進行分析時,需要先對句子進行分詞

nlp.word_tokenize(sentence)
然後對分詞後的句子進行句子成分分析

nlp.pos_tag(sentence)
然後繼續進行命名實體識別

nlp.ner(sentence)
再之後就是句法分析與依存句法分析

nlp.parse(sentence)

nlp.dependency_parse(sentence)

在使用stanfordcorenlp對中文文字句子進行分析時,步驟與英文句子分析是一樣的,唯一不同的是這一句

nlp=stanfordcorenlp(r'e:\自然語言處理\stanford-corenlp-full-2018-10-05',lang='zh')
「lang=『zh』」一句表示了處理的是中文。

而在內部實現中,parser函式

public

void

testlexicalizedparser()

throws ioexception );

});}

這裡載入了xinhuafactoredsegmenting.ser.gz

關係說明

依存關係樹大致為

詞性說明

哈工大語言技術平台language technology platform(ltp)是哈工大社會計算與資訊檢索研究中心歷時十年開發的一整套中文語言處理系統。

ltp制定了基於xml的語言處理結果表示,並在此基礎上提供了一整套自底向上的豐富而且高效的中文語言處理模組(包括詞法、句法、語義等6項中文處理核心技術),以及基於動態鏈結庫(dynamic link library, dll)的應用程式介面,視覺化工具,並且能夠以網路服務(web service)的形式進行使用。

在完成前置操作之後,就可以正式開始語言處理了。而依存句法分析大致如下:

arc.head 表示依存弧的父節點詞的索引。

root節點的索引是0,第乙個詞開始的索引依次為1、2、3…arc.relation 表示依存弧的關係。

常用的標註指代與stanfordcorenlp一樣,無需多說。

其具體方法是:

得到結果

在對中文進行依存句法分析時,standfordcornlp使用起來比ltp簡單許多,因為在不自己寫函式的情況下,可以直接呼叫模型函式,而ltp裡需要自己來寫大部分內容,僅**量來說就比stanfordcorenlp多很多。

不過如果自己寫函式的話,其實兩種方法的工作量是差不多的。

再看處理效果,在我的實驗結果中,對中文的處理效果是差不多的,可能standfordnlp要更好一點,但程度不高。而ltp無法處理英文。

句法分析

依存句法分析

統計自然語言處理基礎學習筆記 7 句法分析

在中文的自然語言處理種,句法分析是乙個比較重要的部分。句法分析,英文為parsing,指對句子種的詞語語法功能進行分析。乙個完整的漢語句子,一般有主語 謂語 賓語,複雜一些的句子就會出現各種各樣的依存關係,包括補語 定語 狀語 並列 同位語 數量 介賓 連動 疑問連動 兼語 關聯 重複 標點 的字結...

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

安裝 pip install stanfordcorenlp 國內源安裝 pip install stanfordcorenlp i from stanfordcorenlp import stanfordcorenlp使用stanfordcorenlp進行句法成分分析 對中文進行句子成分分析zh ...

自然語言理解 自底向上chart句法分析

一 建立乙個chart句法分析用的待處理表和乙個活動邊庫。二 邊擴充套件演算法 o表示當前位置 新增乙個從位置p1到位置p2的成分c 1 將c加入到chart的位置p1和位置p2之間 2 對任意一條形式為x x1.oc.xn的活動邊,如果該活動邊在位置p0和p1之間,則在位置p0和p2之間新增一條活...