1. 程式人生 > >【自然語言處理】句法分析 (syntactic parsing) 在 NLP 領域的應用是怎樣的?

【自然語言處理】句法分析 (syntactic parsing) 在 NLP 領域的應用是怎樣的?

文章整理自郭江師兄問題回答(被收錄於知乎編輯推薦)!已取得師兄授權!@jiangfeng


原問題如下:

opinion extraction system,information retrieval system是如何通過syntactic parsing實現的?

解答如下:

這裡面有兩個問題:1. 在opinion extraction/IR中如何使用句法分析;2. 句法分析在多大程度上對這兩個任務有幫助(原題)。

由於我自己主要還是做句法分析本身,暫時很少做上層應用,所以簡單談談我對應用的理解,拋磚引玉。

  1. 在opinion extraction/IR中如何使用句法分析。

舉幾個例子吧。
比如在opinion extraction中我們常常要抽取評價物件(aspect):
例:
“知乎的內容質量很好”

這裡 “很好” 形容的是 “內容質量”。通過依存句法分析,就可以抽取出對應的搭配。如下圖: 再說說IR,以百度框計算為例。對於以下兩個query:
Query 1: 謝霆鋒的兒子是誰?
Query 2: 謝霆鋒是誰的兒子?

這兩個Query的bag-of-words完全一致,如果不考慮其語法結構,很難直接給使用者返回正確的結果。
類似的例子還有很多。在這種情況下,通過句法分析,我們就能夠知道使用者詢問的真正物件是什麼。


推而廣之,對Query進行更general的需求分析大都離不開描述物件的提取,很多時候句法結構非常關鍵,更是下一步語義分析的前提。

2. 句法分析在多大程度上對這兩個任務有幫助(原題)。

原問題很好,可以擴展出很多思考。在煉丹紀到來之前,也許我們可以給一個非常樂觀的回答,比如60%。但是現如今,我們需要思慮再三。主要原因在於,RNN/LSTM等強大的時序模型(sequential modeling)能夠在一定程度上刻畫句子的隱含語法結構。

儘管我們暫時無法提供一個清晰的解釋,但是它在很多工上的確表現出非常promising的效能。

文中的一個性能對比能夠說明問題:Tree-LSTM是基於句法結構之上的LSTM,Bi-LSTM則是簡單的雙向(left<->right)LSTM。在很多工上,Bi-LSTM都表現得比Tree-LSTM更好。

但是,這並不說明句法結構是沒有用的,詳細分析請參考上面提到的survey。

需要提及的是,句法分析目前的效能是防礙其實際應用的一個關鍵因素,尤其是在open-domain上。

目前在英文WSJ上的parsing效能最高能夠做到94%,但是一旦跨領域,效能甚至跌到80%以下,是達不到實際應用標準的。而中文上parsing效能則更低。