|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.
or email your comment to: firstname.lastname@example.org
|Last Updated ( Friday, 17 November 2017 )|