Efficient parallel CKY parsing using GPUs

Low-latency solutions for syntactic parsing are needed if parsing is to become an integral part of user-facing natural language applications. Unfortunately, most state-of-the-art constituency parsers employ large probabilistic context-free grammars for disambiguation, which renders them impractical for real-time use. Meanwhile, Graphics Processor Units (GPUs) have become widely available, offering the opportunity to alleviate this bottleneck by exploiting the fine-grained data parallelism found in the Cocke–Kasami–Younger (CKY) algorithm. In this article, we explore the design space of parallelizing the dynamic programming computations carried out by the CKY algorithm. We use the Compute Unified Device Architecture (CUDA) programming model to reimplement a state-of-the-art parser, and compare its performance on three recent GPUs with different architectural features. Our best results show a 33-fold speedup for the CUDAparser compared to a sequential C implementation.

[1]  John Cocke,et al.  Programming languages and their compilers: Preliminary notes , 1969 .

[2]  Egidio P. Giachin,et al.  A Parallel Parser for Spoken Natural Language , 1989, IJCAI.

[3]  Brian Roark,et al.  Efficient Matrix-Encoded Grammars and Low Latency Parallelization Strategies for CYK , 2011, IWPT.

[4]  Daniel H. Younger,et al.  Recognition and Parsing of Context-Free Languages in Time n^3 , 1967, Inf. Control..

[5]  Dan Klein,et al.  Hierarchical Search for Parsing , 2009, HLT-NAACL.

[6]  Koji Nakano,et al.  Accelerating the CKY Parsing Using FPGAs , 2002, HiPC.

[7]  Dan Klein,et al.  Learning Accurate, Compact, and Interpretable Tree Annotation , 2006, ACL.

[8]  Beatrice Santorini,et al.  Building a Large Annotated Corpus of English: The Penn Treebank , 1993, CL.

[9]  Eugene Charniak,et al.  Coarse-to-Fine n-Best Parsing and MaxEnt Discriminative Reranking , 2005, ACL.

[10]  Dan Klein,et al.  Discriminative Log-Linear Grammars with Latent Variables , 2007, NIPS.

[11]  Dan Klein,et al.  A* Parsing: Fast Exact Viterbi Parse Selection , 2003, NAACL.

[12]  Tadao Kasami,et al.  An Efficient Recognition and Syntax-Analysis Algorithm for Context-Free Languages , 1965 .

[13]  David Chiang,et al.  Better k-best Parsing , 2005, IWPT.

[14]  Dan Klein,et al.  Improved Inference for Unlexicalized Parsing , 2007, NAACL.

[15]  Joshua Goodman,et al.  Global Thresholding and Multiple-Pass Parsing , 1997, EMNLP.

[16]  Christopher D. Manning,et al.  Efficient, Feature-based, Conditional Random Field Parsing , 2008, ACL.

[17]  Eugene Charniak,et al.  A Maximum-Entropy-Inspired Parser , 2000, ANLP.

[18]  Erik Lindholm,et al.  NVIDIA Tesla: A Unified Graphics and Computing Architecture , 2008, IEEE Micro.

[19]  Marcel P. van Lohuizen,et al.  Parallel processing of natural language parsers , 2000, PARCO.

[20]  Kevin Skadron,et al.  Scalable parallel programming , 2008, 2008 IEEE Hot Chips 20 Symposium (HCS).

[21]  George K. Papakonstantinou,et al.  Automatic generation of portable parallel natural language parsers , 1997, Proceedings Ninth IEEE International Conference on Tools with Artificial Intelligence.

[22]  Mark Johnson Parsing in Parallel on Multiple Cores and GPUs , 2011, ALTA.