自然語言處理課程的第二天今天總算是補完了,課程的時間有限,但是內容繁多,而且都是能深挖的大坑,我的主要研究重點不在這里,所以無法展開,下面是我對這次課的簡單介紹和筆記,來自深藍學院。
什么是句法分析 1
按照百度百科的解釋就是指對句子中的詞語語法功能進行分析,例如“我來晚了”中,“我”是主語,“來”是謂語,“晚了”就是補語。這塊內容其實在語言學等領域已經有比較深入的研究,但是隨著數據的逐漸增多,這種分析就需要利用計算機自動化,句法分析就是這樣誕生的。
那么句法分析到底有什么用呢?句法分析的結果是一句話的句子成分分析,其實就可以用來做知識發現和挖掘,例如“張三是李四的兒子”,通過句法分析,能夠知道主謂賓等關系,能夠抽取具體的消息,例如這里能夠獲取一個關系——張三和李四是父子關系,根據這些知識,無論是做知識圖譜,還是做問答機器人等,都有大的作用,可見,句法分析是知識抽取的重要基礎。
句法分析的評價指標 2
要深入研究句法分析,首先要知道,什么樣的句法分析算是好的句法分析,所以句法分析方法的評價是首要思考的問題,目前進行句法分析,主要是用依存句法分析,其具體的評價指標有下面5種。
無標記依存正確率(UAS):所有詞中找到正確的頭詞所占的百分比,對于沒有頭詞的根節點,只要根節點是對的,也將這個根節點算作其中(Nivre et al., 2004)
根正確率(RA):所有句子中找到正確根的句子所占的百分比(Yamada and Matsumoto, 2003)
完全匹配率(CM):所有句子中無標記依存結構完全正確的句子所占的百分比(Yamada and Matsumoto, 2003)
帶標記依存正確率(LAS):所有詞中找到正確的頭詞并分配到正確標記的詞所占的百分比,對于沒有頭詞的根節點,只要根節點是對的,也將這個根節點算作其中(Nivre et al., 2004)
標記正確率(LA):所有詞中依存標記正確的詞所占的百分比,只要根節點是對的,也將這個根節點算作其中(Nivre et al., 2004)
對現行方法的簡單評價 3
首先看看英文的,英文畢竟是目前自然語言處理的主力和焦點,而且英語具有相對嚴禁的語法結構。
本身UAS的定義相比CM,就較弱,而且USA是無監督的方法,所以會比CM的正確率高很多。從CM看來,正確率不足50%,其實并不高,可見依存句法分析任重道遠。
然后看中文,中文的自然語言處理相對比較難,一方面是中文本身的語法特性,另一方面中文分詞的時候本就有誤差,再進行句法分析會產生誤差疊加。
可以明顯地看到,UAS和CM相比英文會更加低,說明中文的難度會比英文高,目前的潛力仍比較強。
綜上所述,目前雖然已經有比較豐富的方法,但是準確度還有比較大的上升空間。
句法分析的主要方法 4
糾結了很久,想了要怎么寫,要是詳細些,這就不是公眾號,是書了,要是不詳細寫,又怕你們罵我,于是我想了一個比較中和的方案,那就是我弄綜述,參考文獻給你們,有興趣的你們自己去看,你們覺得怎么樣?
句法分析,尤其針對依存句法分析,主要有基于動態規劃,基于決策,基于融合的方法,當然還有一些擴展性的方法。
基于動態規劃的方法
基于動態規劃的方法,其實就是直接對依存樹進行分析。早期,采用的方法是將依存圖中的節點看作短語結構中的節點,從而可以應用上下文無關文法中成熟的CKY算法(Gaifman, 1965),然而時間復雜度非??膳碌剡_到了O(n5),后來提出了雙詞匯語法,其方法主要分為產生式方法(Eisner, 1996)和判別式方法(McDonald et al., 2005; McDonald, 2006),成功地將復雜度降低到O(n3)。
生成式和判別式和機器學習里面的生成和判別相同,生成式方法采用聯合概率模型生成一系列依存句法樹并賦予其概率分值,然后采用相關算法找到概率打分最高的分析結果作為最后的輸出,說白了就是把概率分布求出來,然后根據概率分布進行下一步的分析和決策,在句法分析中將詞與詞之間的依存關系看作是成分結構,用類似于短語結構句法分析的方法來獲取依存關系,其優點是能夠得到每種決策的概率關系,決策更加全面,但是缺點是畢竟在相同的信息下,相比判別式整體決策精度可能會下降,其信息消耗花在進行計算概率分布上太多,導致最后拍板的時候受到約束。
判別式將依存分析看作是在一個依存圖上尋找最大生成樹(MST)的問題,該生成樹滿足上述三個約束條件:連通、單一父節點、無環,并不需要求概率分布,相比生成式,其優點是操作更為簡單,可以運用更多的機器學習方法,而且出現下溢的情況更少(計算機在計算10的負好多次方的時候會出現下溢情況,精度會大大下降),復雜度相對較低,最終精度偏高。
基于決策的方法
基于決策的方法把分析過程看成是分析序列,建立詞之間的聯系,Covington(2001) 將決策的過程從句子的左端開始,逐個接受每個詞,并嘗試連接每個詞與先前的詞并將其作為頭詞或依存詞,這種算法簡單易懂,但是窮舉法計算低效而且受到語料庫約束較大;Yamada和Matsumoto(2003)通過將關系分為左依存、右依存和無依存三種情況進行動作分析從而得到句法結構;Nivre和Scholz(2004)在Yamada和Matsumoto(2003)的基礎上提出新的數據結構和動作分析方法,依存句法分析器主要由一個三元組構成,其中S表示一個棧結構, I表示剩余輸入詞序列, A表示在當前分析狀態下所得到的依存關系集合,將動作從原來的3個升級為Left-arc, right-arc, reduce, shift四個。
從整體而言,基于決策的方法模型直觀清晰,但是決策過程是貪婪的,局部的,精度收到很大限制,誤差還會傳遞,所以仍存在較大問題。
基于融合的方法
機器學習中有基本的支持向量機、決策樹等優秀的方法,但是卻各有問題,于是提出了bagging,而基于融合的方法,將上述兩個方法的優點結合。
基于搜索策略融合的方法(Duan et al., 2007)認為整個決策式依存句法分析過程可以看作是馬爾科夫鏈。在每一步分析中會有若干個候選分析動作。句法分析的目標是在馬爾科夫假設下尋找最有可能的分析動作序列,這樣既可以利用豐富的上下文特征,又從全局的視角對決策動作建模,而算法的復雜度介于決策式方法和動態規劃方法之間。按照他的說法進行實驗得到的精度是這樣的,可見優化了不少。
基于特征的融合方法(Nivre and McDonald, 2008)在McDonald和Nivre(2007)的“不同的句法分析器產生不同的錯誤”觀點下提出兩種思路,如下圖所示(符號太復雜所以我就截圖了):
最后還有基于模型的融合方法,Zhang和Clark(2008)將動態規劃的方法和決策的方法進行加權組合。
擴展性工作
受限于樹庫規模較小,尤其是有標注的材料太少,所以句法分析的性能一直受到嚴重限制,目前有部分學者開始在有限的標注材料和較多的無標注材料下,使用半監督或者無監督的方法。
面臨的挑戰 5
前人尚且已經在句法分析上有豐碩的成果,但是下面幾個方面仍有巨大的研究價值和研究潛力。
句法分析的準確度仍十分有限;
句法分析的評價指標是否合理目前尚無定論,CoNLL仍有一些問題,而且有人針對多個角度,例如語種等,有無更加靈活的機制;
句法分析的魯棒性仍不夠高,和評價指標的靈活性類似;
句法分析的速度,目前仍無法投入大數據的實現,然而速度和精度的兩大矛盾體的存在性導致兩者相互制約;
運用在互聯網中的研究仍處起步階段,主要針對句法分析的下游技術,面向信息抽取的句法分析,面向社區問答的句法分析等;
句法分析并不是上游技術,需要依賴分詞、詞性標注等關鍵技術,這些技術同樣具有較大誤差等問題,于是誤差的傳遞下句法分析的性能受到較大約束。
小結 6
句法分析不是我的主要研究重點,也沒太關注過這個重點,經過一些相關材料的閱讀和學習,感覺還是有很大的研究空間,后續可能會有一些深入的閱讀,擴充自己的知識面,也讓自己應對各種問題多了一把新的有力武器。
責任編輯:lq
-
算法
+關注
關注
23文章
4625瀏覽量
93140 -
CM
+關注
關注
0文章
29瀏覽量
23156 -
自然語言處理
+關注
關注
1文章
619瀏覽量
13603
原文標題:句法分析綜述
文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論