天天看點

NLTK基礎教程學習筆記(八)

淺解析與深解析:

通常情況下,在深入解析或者全面解析的過程中,像CFG(Context-Free Grammer,上下文無關文法),PCFG(即probabilistic context-free grammar,機率性上下文無關文法)以及搜尋政策這樣的文法概念的作用都是要将一套完整的文法結構運用的某個句子上。其中淺解析(shallow parsing)是一種面向給定文本的,對其文法資訊部分控模型的有限解析任務。而深解析(deep parsing)則是一種更為複雜的應用。一般來說,深解析比較适合于對話系統和文本綜述這樣的應用場景,而淺解析更适合于資訊提取和文本挖掘這一類的應用。

兩種解析方法:

文本解析方法主要有兩種,其具體情況如下所示:

基于規則的方法:該方法基于規則和文法,在該方法中我們将會基于CFG等文法概念來撰寫文法規則手冊,是一種自上而下的方法,該方法中包含了CFG和基于表達式的解析器。

基于機率的方法:在該方法中通過機率模型來學習規則和文法,該方法使用的是所觀測到的相關語言特征的出現機率,是一個自下而上的方法,方法中包含了PCFG和stanford解析器。

為什麼要進行解析?

編寫解析器時,能提出一組可被當作某種模闆的規則,這些規則就能按照某種适當的順序寫出句子。另外也需要将單詞分門别類即進行詞性的标注。

下面是一個用CFG的例子:

結果:

目前這一文法概念所能産生的句子數量有限。如果出現知道如何一個名詞和一個動詞搭配使用,并且這些動詞和名詞隻能來自于上述代碼所列出的單詞,那麼大概可以搭配出這樣的列句。

President eats apple

Obama drinks coke

顯然我們運用所學的英語文法規則造出句子,了解也是相同的規則,但在這些規則顯然不适用于莎士比亞時期所用的文體。

而且同一套文法也可能會構造出一些毫無意義的句子如:

Apple eats coke.

President drinks Obama.

當涉及到某個文法解析器時(syntactic parser)時,事實上本身就有一定的幾率在文法上形成一些毫無意義的句子。如果想要擷取其中的語義的話,就需要對句子有一個更深入的了解。

NLTK基礎教程學習筆記(八)

繼續閱讀