230 likes | 382 Views
A Parallel Parsing Algorithm for Natural Language using Tree Adjoining Grammar. Tom Nurkkala Vipin Kumar nurkkala@cs.umn.edu kumar@cs.umn.edu Department of Computer Science, University of Minnesota, Minneapolis, MN 55455. Introduction. 1. Tree Adjoining Grammar. 2. Sequential Algorithm.
E N D
A Parallel Parsing Algorithm for Natural Language using Tree Adjoining Grammar Tom NurkkalaVipin Kumar nurkkala@cs.umn.edukumar@cs.umn.edu Department of Computer Science, University of Minnesota, Minneapolis, MN 55455
Introduction 1 Tree Adjoining Grammar 2 Sequential Algorithm Experimental Results 3 5 3 3 Parallel Algorithm Future Work 4 6 4 4 Outline
1.Introduction • first sequential parsing algorithm for TAGs. • 提出者:Vijay-Shankar and Joshi • 採取方式:bottom-up方法 • 時間複雜度: • A parallel parsing algorithm for TAGs. • 提出者:Palis, Shende, and Wei • 缺點:只適用於標準化的TAG • A new parsing algorithm for general TAGs. • 提出者:Palis and Wei • 執行時間: 其中L是語法和輸入字串之間一個穫得相依性的參數。 變化量: 到 平均運算時間:
2.Tree Adjoining Grammar • 在 TAG 中有兩個種類的基本樹:: • (1)初始樹 • (2)輔助樹 內部結點被標記成非終結的節點 ,而非終端節點為大寫字母或字串表示 語法節點 外部(樹葉)節點可被標記成終端或非終結,而終端節點為小寫字母或字串表示
基本樹由兩種操作組合: • (1) substitution • (2) Adjunction
3.Sequential Algorithm • 我們所用的語意分析演算法是基於Palis and Wei所提出的Sequential Algorithm。 • 兩個輸入,一個是TAG “G”另一個是字串”W” 。 • 演算法的行動原理是維持index tuple,(i,j,k,l)是為4 tuple,0≦i≦j≦k≦l≦n。
Example: 輸入的字串“the boy sailed the blue yacht.” 字串被編號: “the blue yacht”被(3,4,4,6)tuple生成。 Company Logo
下圖是基本的順序語意分析演算法。 Company Logo
4.Parallel Algorithm • 下圖是平行語意分析演算法。
5.Experimental Results • 實驗環境:一台Ncube 2電腦。 • 實驗資料來源: Pennsylvania大學。 • 實驗資料內容: 資料包含有隨機生成語法和英文語法。 • 下面介紹幾個符號所代表的意義: • p:處理器的數量; • Tp:對p個處理器平行處理時間; • S:speedup,S=T1/Tp; • E: efficiency ,E=S/p。
5.1.1 Random Grammars • 表1表示分析對1024隨機語法基本樹(平均每個樹有八個節點)且20個的輸入字串的效能。
5.1.2 English Grammars • 表2表示分析一個英語語法的效能。
同樣大小的隨機文法和英語文法效能比較 Company Logo
5.2.1 Computation • 請注意,句子長度跟文法大小比較起來更會影響工作負荷。
5.2.2 Overhead • 平行演算法中主要的overhead來源: • (1) tuple set communication • (2) processor idling
5.2.3 Scalability • 平行演算法,意味著可以得到更大的平行性和更高的效能。 • 平行演算法是可擴展的,因為它們提供較大數量的處理器來達到較好的結果。 • 在這個演算法中,是由於兩個因素來增加工作: • (1)語法大小 • (2)句子長度
Future Work • 未來在平行TAG語意分析上應該考慮兩個方向: • Dynamic Load Balancing • 使用動態負載平衡來降低效能空閒 • Earley- Style Algorithm • 探討一個earley-style語意分析演算法,取得比目前分析方法中還要更好平均複雜度方法
6.1 Dynamic Load Balancing • 當一個處理器空閒,它會跟其他處理器要求工作,其他處理器收到請求時會先去判斷是否有工作,如果有就把工作傳給空閒的處理器做。 • 如何達到動態負載平衡呢? • 未來預估 • 使用一個結構化的指標 • 因此,今後的工作可放在當樹上某節點執行substitution或 adjunction運作的預測。
6.2 Earley- Style Algorithm • Schabes介紹一種earley-style語意分析演算法來分析TGA 。 • 因為它使用自上而下的預測以及自下而上的分析,所以具有較好時間複雜度。 • 除此之外Schabes and Joshi還提出一種LTGA ,此為TGA的變型。
Conclusions • 在本篇論文中我們介紹了一個新的使用平行運算方法解析TAG • 歸納我們的經驗與TAG分析,平行演算法將產生非結構化問題: • (1)overhead的來源不一致,影響整個執行效能 • (2)複雜和意外方式相互作用, 影響overhead • (3)因為處理器的負載不平衡,有顯著overhead