繼百度詞法分析工具LAC 2.0開源之後,8月4日,百度NLP又重磅發布了中文依存句法分析工具—DDParser!
相較於目前的其他句法分析工具,DDParser基於大規模標註數據進行模型的訓練,採取了更加簡單易理解的標註關係,並且支持一鍵安裝及調用,更加適合開發者快速學習及使用。
01DDParser是什麼
DDParser(Baidu Dependency Parser)是百度NLP基於大規模標註數據和深度學習平臺飛槳研發的中文依存句法分析工具,可幫助用戶直接獲取輸入文本中的關聯詞對、長距離依賴詞對等。
如圖1所示,輸入文本通過DDParser輸出其對應的句法分析樹,其中,兩詞之間的弧表示兩個詞具有依賴關係,由核心詞指向依存詞,弧上的標籤表示依存詞對核心詞的關係。
02DDParser能做什麼
通過依存句法分析可直接獲取輸入文本中的關聯詞對、長距離依賴詞對等,其對事件抽取、情感分析、問答等任務均有幫助。
如圖1所示實例,在事件抽取任務中,我們通過依存分析結果可提取句子中所包含的各種粒度的事件,如「納達爾擊敗梅德韋傑夫」、「納達爾奪得冠軍」、「納達爾奪得2019年美網男單冠軍」。
相應的,在問答任務中,我們根據問題的句法樹與答案所在文本的句法樹進行基於樹的結構匹配,可獲取對應的答案。例如,問題「誰奪得了2019年美網男單冠軍」,句法樹見圖2,其答案所在文本的句法樹見圖1,我們通過兩棵樹的對應部分匹配,可得出答案為「納達爾」。
在情感分析任務中,依存分析可用於評價對象的情感極性判斷。如圖3所示,我們根據依存分析結果提取評價對象「羊肉串」的觀點:「羊肉串鹹」和「羊肉串不新鮮」,基於此來判斷該評價對象的情感極性。
利用依存分析結果可獲取詞之間的依賴關係和關聯路徑,如圖4所示實例。前半句中存在兩條路徑「打疫苗」和「在哪兒打」,後半句中存在兩條路徑「打疫苗」和「打在哪兒」,這些路徑信息可以給相似度計算等其他任務提供更多特徵。
總而言之,依存分析將句子表示為一棵樹,提供了詞之間的依賴關係和關聯路徑,其在句子序列基礎上提供了更多的句子結構信息,可幫助其他任務從句子結構角度獲取所需信息。
03DDParser的優勢
基於大規模優質標註數據
DDParser訓練數據近百萬,包含搜索query、網頁文本、語音輸入數據等,覆蓋了新聞、論壇等多種場景。從應用的角度出發,為了方便用戶快速上手,DDParser共設計了14種依存關係,並著重凸顯實詞間的關係,在隨機數據上LAS可達到86.9%。
基於深度學習框架,不依賴繁複的特徵工程
首先,DDParser採用bilinear attention mechanism對句子語義進行表示,代替複雜的特徵工程模式。其次,其輸入層加入了詞的char級別表示,緩解粒度不同帶來的效果下降,網絡結構如圖5所示。
調用便捷
DDParser支持Python一鍵安裝,方便用戶快速使用。
04DDParser與其他開源工具的效果對比
DDParser在與訓練數據同源分布的標準測試集合上,LAS達到92.9%。同時,為了驗證DDParser在中文句法分析的優勢,我們選擇市面上關注度高的2款句法分析開源工具進行效果對比,評估方式為專家根據各工具依存關係定義人工標註。
經測試,在從搜索、聊天、網頁文本、語音輸入等數據集合中隨機抽取構成的隨機測試集合上,DDParser效果達到了86.9%,效果優於同類工具,具體效果對比情況如表1所示。
05DDParser如何安裝使用
DDParser支持pip一鍵安裝,兼容Windows、Linux和MacOS,調用方法如下所示:
pip install ddparser
from ddparser import DDParser
ddp = DDParser()
ddp.parse("百度是一家高科技公司")
具體安裝方法參見GitHub的README文檔中的快速開始。
如果您有任何意見或問題都可以提issue到Github,工具開發者將及時為您解答。