讓人工智能聽懂你:你說的話,是如何描述給機器的呢?

自然語言處理是人工智能的一個核心領域,自然語言處理的目的是構建一套可以理解人類語言的系統。很容易想到,計算機一旦能完全理解人類的語言,那麼大量只需要說話的崗位,都會被代替,例如,電話銷售;除此之外,計算機與人類的交互能力大大提升,那麼,挖掘機不再需要藍翔,只需要你的一句話就可以創造東方!

那麼,如何去學習自然語言處理呢?小編認為:讀通理論,重在實踐!人工智能聽起來理論繁多,但真正在工程中用得到的理論和算法也就那麼幾十條。但這些理論分散於十幾本大厚書中,一本本讀完肯定是非常浪費時間的!小編不才,想嘗試把自然語言處理的各路理論,在幾十篇文章裡全部用大白話講出來,讓每一個自然語言處理學習者,都能快速奠定理論基礎!

本文主要講述喬姆斯基4型文法。

讓人工智能聽懂你:你說的話,是如何描述給機器的呢?

喬姆斯基,何許人也?

喬姆斯基是自然語言處理學派最早的研究者,理論奠基者。他並非計算機專家,而是一位純粹的語言學家。他主張機器理解人的語言應當通過一定的語法規則,因此,他一生致力於這套語法規則的描述。

學他的4型文法有啥用?

之所以學習他的4型文法,是因為這個理論可以和另一個理論(自動機)結合,讓機器可以自動糾正語法錯誤。這個聽起來就很酷了吧,寫一個語法糾錯軟件還是很簡單的!

喬姆斯基4型文法

在喬姆斯基的語法理論中,文法被劃分為4種類型:3型文法、2型文法、1型文法和0型文法。

什麼是文法呢?

文法就是用來描述一套語言的規則,寫文章的法規,一套語言的法規。有了這樣一套規則,我們就可以描述任何語言。這套描述方法是喬姆斯基發明的,所以叫喬姆斯基文法,又因為,這套文法分為四部分,所以叫四型文法。

那你寫就寫吧?為啥非要分成4種呢?

這4種文法,分別描述的是不同等級的語言,可以這樣理解,四個人,一個人說話吞吞吐吐,表達不清楚,說起來不流利,那我們就認為他說的話結構性很差,要想描述這種模模糊糊的話,我們就用模模糊糊的規則,這種規則,就起個名字,叫0型文法。

第二個人呢,說的比上一個清楚一點,可以用另一套規則描述,同理,起個名字,叫1型文法。以此類推產生了四種文法,用來描述不同層次的語言。

讓人工智能聽懂你:你說的話,是如何描述給機器的呢?

4種文法既然都知道了,它們的具體又是啥?

首先補充一個概念:形式語法(文法)

形式語法是一個四元組G=(N,Σ,P,S),N和Σ指單詞的意思,就是一個個的詞,其中N是非終止詞,M是終止詞,P是規則的意思,指一套推理規則,就可以理解為說話的規則,S指的是句子符或初始符,就像“但是,可是,而且”這些。那麼這個四元組就可以描述語言了。

0型文法:如果文法G的規則集P中所有規則滿足如下形式:α→β,其 中,α∈(N∪Σ)+,β∈(N∪Σ)*,則稱G為無約束文法或無限制重寫系統,也稱0型文法。

怎麼理解呢?就是隻要你們都是詞(α,β),能前後堆砌(→),拼成一個句子,就屬於0型文法了。顯然,這樣的文法描述的語言隨意性很大。

1型文法:如果文法G的規則集P中所有規則滿足如下形式: αAβ→αγβ,其中,A∈N,α,β,γ∈(N∪Σ)*,且γ至少包含一個字符,則稱文法G為上下文有關文法(context-sensitive grammar, CSG),或稱1型文法。

可以看到,這裡要求變多了哦,必須是在滿足前後文(αAβ)有一定要求的情況下才能推出下一句。就是必須前文是α,後文必須是β,才能由A推出γ。

2型文法:如果文法G的規則集P中所有規則均滿足如下形式: A→α,其中,A∈N,α∈(N∪Σ)*,則稱文法G為上下文無關文法(context-free grammar, CFG),或稱2型文法。

可以看到,必須是非終止符集合(來自N集合)裡的詞彙推出(→)其他集合裡的詞彙(來自N集合或者Σ集合)。就是必須前文(A)是非終止符(來自N集合)才可以。

3型文法:如果文法G的規則集P中所有規則均滿足如下形式:A→Bx,或 A→x,其中,A,B∈N, x∈Σ,則稱該文法G為正則文法,或稱3型文法。

這裡的要求是非常嚴格的,具體描述的是來自N集合的A元素可以推出Bx兩個部分,而B又屬於N,是非終止符,所以B又可以推出其他部分,假設B→Bx,那麼上式子就可以變為A→Bx→Bxx(這裡的B→Bx),以此類推,左邊可以一直延長,直到B→y,這個推理才結束。

看到這裡,也許上邊的分析,你並沒有看懂,那麼也不需要擔心,因為你只需要記住形式語法的概念和4型文法的嚴格性是依次遞增的。要求越嚴格的文法,對應的語言結構化程度越高。越容易進行分析。

讓人工智能聽懂你:你說的話,是如何描述給機器的呢?

篇幅和時間有限,下篇文章繼續講。對人工智能和NLP深度學習感興趣的上車啦!歡迎各路大神評論!


分享到:


相關文章: