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:

semantic

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.

semanticnn

More Information

SLING: A Natural Language Frame Semantic Parser

https://github.com/google/sling

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.

 

Banner


Apache SINGA Reaches Top Level Status
12/11/2019

Apache SINGA has been promoted to a top level project. SINGA is an open source distributed, scalable machine learning library originally developed at the National University of Singapore.



.NET Jupyter Notebooks Announced
18/11/2019

Microsoft has announced that you'll be able to run .NET code in Jupyter Notebooks, specifically C# and F#, and therefore ML.NET as well. The new support is enabled by the .NET kernel for Jupyter and T [ ... ]


More News

graphics

 



 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Friday, 17 November 2017 )