Google SLING: An Open Source Natural Language Parser
Written by Alex Armstrong   
Friday, 17 November 2017

Google Research has just released an open source project that might be of interest if you are into natural language processing. SLING is a combination of recurrent neural networks and frame based parsing.

Natural language parsing is an important topic. You can get meaning from structure and parsing is how you get structure. It is important in processing both text and voice. If you have any hope that Siri, Cortana or Alexa are going to get any better then you need to have better natural language understanding - not just the slot and filler systems currently in use.

Google in particular needs to find ways to extract better meaning from text because how else are its search results going to improve? It is reasonable to speculate that Google is doing a lot more than what it is prepared to talk about in the area of language understanding.

The researchers involved are stressing that this is an experimental system and, unless you are going to put a lot of work into it, I doubt that it is going to lead to anything usable. The approach is to use a semantic frame graph, a diagram that sums up the meaning of a sentence. Its nodes are concepts and its edges are relationships. The Google team gives a good example in its blog post:


You can see that the graph shows that a prediction has two relalted concepts, the person making the prediction and the event predicted.

What is different about SLING is that it uses a recurrent neural network to build the graph:

SLING trains a recurrent neural network by optimizing for the semantic frames of interest. The internal learned representations in the network’s hidden layers replace the hand-crafted feature combinations and intermediate representations in pipelined systems. Internally, SLING uses an encoder-decoder architecture where each input word is encoded into a vector using simple lexical features like the raw word, its suffix(es), punctuation etc. The decoder uses that representation, along with recurrent features from its own history, to compute a sequence of transitions that update the frame graph to obtain the intended frame semantic representation of the input sentence. SLING trains its model using TensorFlow and DRAGNN.

You can find SLING on Github. It is written in C++ and comes with a pre-trained model and some data.


More Information

SLING: A Natural Language Frame Semantic Parser

SLING: A framework for frame semantic parsing

Related Articles

Google Open Sources Accurate Parser - Parsey McParseface

NLUlite – An NLP Database 

Grammar and Torture

Taming Text 

TextTeaser Open Sourced 

Nitra Open Sourced 

New Open Source Semantic Engine 

Handbook of Natural Language Processing 

Geek Sublime 


To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.



Amazon Bedrock Adds Support For Anthropic's Claude3 Opus

Bedrock, Amazon's fully managed service for building generative AI applications, has been enhanced with support for Anthropic's Claude 3 Opus Foundation Model.

Akka Adds Database Sharding Support

Lightbend, the company behind Akka, has released Akka version 24.05. Lightbend produces cloud-native microservices frameworks while Akka allows for building distributed applications.

More News

raspberry pi books



or email your comment to:

Last Updated ( Friday, 17 November 2017 )