Read Full Article
A blog about how-to, internet, social-networks, windows, linux, blogging, tips and tricks.
15 November 2017
Google adds a slew of new Assistant features for app developers
Read Full Article
SLING: A Natural Language Frame Semantic Parser
Posted by Michael Ringgaard, Software Engineer and Rahul Gupta, Research Scientist
Until recently, most practical natural language understanding (NLU) systems used a pipeline of analysis stages, from part-of-speech tagging and dependency parsing to steps that computed a semantic representation of the input text. While this facilitated easy modularization of different analysis stages, errors in earlier stages would have cascading effects in later stages and the final representation, and the intermediate stage outputs might not be relevant on their own. For example, a typical pipeline might perform the task of dependency parsing in an early stage and the task of coreference resolution towards the end. If one was only interested in the output of coreference resolution, it would be affected by cascading effects of any errors during dependency parsing.
Today we are announcing SLING, an experimental system for parsing natural language text directly into a representation of its meaning as a semantic frame graph. The output frame graph directly captures the semantic annotations of interest to the user, while avoiding the pitfalls of pipelined systems by not running any intermediate stages, additionally preventing unnecessary computation. SLING uses a special-purpose recurrent neural network model to compute the output representation of input text through incremental editing operations on the frame graph. The frame graph, in turn, is flexible enough to capture many semantic tasks of interest (more on this below). SLING's parser is trained using only the input words, bypassing the need for producing any intermediate annotations (e.g. dependency parses).
SLING provides fast parsing at inference time by providing (a) an efficient and scalable frame store implementation and (b) a JIT compiler that generates efficient code to execute the recurrent neural network. Although SLING is experimental, it achieves a parsing speed of >2,500 tokens/second on a desktop CPU, thanks to its efficient frame store and neural network compiler. SLING is implemented in C++ and it is available for download on GitHub. The entire system is described in detail in a technical report as well.
Frame Semantic Parsing
Frame Semantics [1] represents the meaning of text — such as a sentence — as a set of formal statements. Each formal statement is called a frame, which can be seen as a unit of knowledge or meaning, that also contains interactions with concepts or other frames typically associated with it. SLING organizes each frame as a list of slots, where each slot has a name (role) and a value which could be a literal or a link to another frame. As an example, consider the sentence:
The figure below illustrates SLING recognizing mentions of entities (e.g. people, places, or events), measurements (e.g. dates or distances), and other concepts (e.g. verbs), and placing them in the correct semantic roles for the verbs in the input. The word predicted evokes the most dominant sense of the verb "predict", denoted as a PREDICT-01 frame. Additionally, this frame also has interactions (slots) with who made the prediction (denoted via the ARG0 slot, which points to the PERSON frame for people) and what was being predicted (denoted via ARG1, which links to the EVENT frame for Black Monday). Frame semantic parsing is the task of producing a directed graph of such frames linked through slots.
Although the example above is fairly simple, frame graphs are powerful enough to model a variety of complex semantic annotation tasks. For starters, frames provide a convenient way to bring together language-internal and external information types (e.g. knowledge bases). This can then be used to address complex language understanding problems such as reference, metaphor, metonymy, and perspective. The frame graphs for these tasks only differ in the inventory of frame types, roles, and any linking constraints.
SLING
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.
The animation below shows how frames and roles are incrementally added to the under-construction frame graph using individual transitions. As discussed earlier with our simple example sentence, SLING connects the VERB and EVENT frames using the role ARG1, signifying that the EVENT frame is the concept being predicted. The EVOKE transition evokes a frame of a specified type from the next few tokens in the text (e.g. EVENT from Black Monday). Similarly, the CONNECT transition links two existing frames with a specified role. When the input is exhausted and the last transition (denoted as STOP) is executed, the frame graph is deemed as complete and returned to the user, who can inspect the graph to get the semantic meaning behind the sentence.
One key aspect of our transition system is the presence of a small fixed-size attention buffer of frames that represents the most recent frames to be evoked or modified, shown with the orange boxes in the figure above. This buffer captures the intuition that we tend to remember knowledge that was recently evoked, referred to, or enhanced. If a frame is no longer in use, it eventually gets flushed out of this buffer as new frames come into picture. We found this simple mechanism to be surprisingly effective at capturing a large fraction of inter-frame links.
Next Steps
The illustrative experiment above is just a launchpad for research in semantic parsing for tasks such as knowledge extraction, resolving complex references, and dialog understanding. The SLING release on Github comes with a pre-trained model for the task we illustrated, as well as examples and recipes to train your own parser on either the supplied synthetic data or your own data. We hope the community finds SLING useful and we look forward to engaging conversations about applying and extending SLING to other semantic parsing tasks.
Acknowledgements
The research described in this post was done by Michael Ringgaard, Rahul Gupta, and Fernando Pereira. We thank the Tensorflow and DRAGNN teams for open-sourcing their packages, and various colleagues at DRAGNN who helped us with multiple aspects of SLING's training setup.
1 Charles J. Fillmore. 1982. Frame semantics. Linguistics in the Morning Calm, pages 111–138.↩
Study: Russian Twitter bots sent 45k Brexit tweets close to vote
Read Full Article
How to Find Infinite Free Kindle Books to Read
If you are a Kindle owner, then you probably look for discounted ebooks all the time. And there is no better deal than a freebie, right? The problem is finding out which Kindle books are available at no charge, especially when many are only free for a short time. Here are 10 awesome websites that will point you towards infinite free Kindle books. If you are ready to curl up with a new book, bookmark these sites to save yourself some money. 1. BookBub BookBub offers free Kindle books in over 20 genres from mystery to romance to adventure. You...
Read the full article: How to Find Infinite Free Kindle Books to Read
Read Full Article
Adeptmind raises $4.5M from Fidelity to bring smarter search to retailers
Read Full Article
8 Amazing Android TV Apps That You Didn’t Know Existed
Cast your mind back to April 2010: Apple had just released the first iPad, thus firing the starting gun on the tablet revolution. If you had one of those early Apple or Android tablets, you’ll probably remember the utterly miserable experience of using apps. Most developers hadn’t adapted their products for a tablet’s larger screen size, forcing users to install the smartphone version instead. Of course, the problem no longer exists with tablets. But it does exist on the Android TV platform. Sure, you can install any mobile or tablet app by sideloading it, but the experience isn’t as enjoyable...
Read the full article: 8 Amazing Android TV Apps That You Didn’t Know Existed
Read Full Article
The Moto Z’s latest Mod turns the phone into a Polaroid instant camera
Read Full Article
12 Awesome HTML5 Templates You Should Be Using
HTML5 is the latest and greatest version of the language that powers the internet. Even if you know all of the basics, building a site from scratch takes a long time. Why not use a template instead? There are lots of free HTML5 templates out there, and choosing one can be difficult. We’ve scoured the internet to bring you a variety of cool templates that you can use for business, personal, portfolio, and all kinds of other sites. Just pick one and get started! 1. Basic HTML5 Page Template If you want a bare-bones template to build on, this is...
Read the full article: 12 Awesome HTML5 Templates You Should Be Using
Read Full Article
Sprint adds free Hulu service to its Unlimited Freedom plan
Read Full Article
5 Best Apps for Reading Feedly on the Mac
Twitter is full of bots and trolls. Facebook is full of your family, fake news, and photos of kids and pets. RSS is the only place you can go to read news from the sources you want peacefully. Feedly is one of the best RSS services, out of the many that rose from the ashes of Google Reader. So with that in mind, we set out to find the best ways to use Feedly on the Mac for your RSS fix. Why Feedly? You can get started with Feedly for free. There are some limits though. You can follow up...
Read the full article: 5 Best Apps for Reading Feedly on the Mac
Read Full Article
Amazon brings Echo and Alexa to Canada
Read Full Article
Become a Linux Command Line Master With These Tips and Tricks
For Linux users, the command line is an essentially, and ultra-powerful tool. While more user-friendly Linux operating systems (OS) offer loads of functionality without the need for entering the terminal, it’s a necessary element of the OS. Contrary to popular opinion, the command line can even simplify certain actions. Whether you’re brand new to Linux distros, or a seasoned Linux veteran, the command line offers a bevy of uses. Try these tips for mastering the command line. Files and Folders Image Credit: ProSmile via Pixabay Although you can easily create, move, and navigate between folders with a graphical user interface...
Read the full article: Become a Linux Command Line Master With These Tips and Tricks
Read Full Article
Xbox One X Review – It’s The Next, Next Generation of Gaming
Our verdict of the Xbox One X:If you don't already own an Xbox One, and have a 4K TV, it's worth getting. Otherwise, you should wait and see what 4K enhanced games come out as time goes on – it's not a worthwhile upgrade, yet. 810It’s really starting to feel like we’re in a new era of video games. Instead of a major console release every five to six years, both Sony and Microsoft are opting to go with a more smartphone-like model of incremental upgrades. Sony already released its PS4 Pro, and Microsoft put out the HDR capable Xbox...
Read the full article: Xbox One X Review – It’s The Next, Next Generation of Gaming
Read Full Article
How to Create a OneNote Calendar Template
OneNote is fantastic for taking and organizing notes. If you also use OneNote to manage tasks, you probably wish it included a calendar tool. Unfortunately, that’s one feature it’s missing. While OneNote won’t do reminders, you can still set up a custom calendar. We’ll show you five ways to create a OneNote calendar template. Download: Microsoft OneNote for Windows | macOS | iOS | Android (Free) 1. How to Make a Calendar Template in OneNote First, we’ll look at what’s possible within OneNote itself. This first way to make a calendar is almost as easy as editing a standard Word...
Read the full article: How to Create a OneNote Calendar Template
Read Full Article
Google’s jobs search engine gets salary ranges, a better location filter and more
Read Full Article
LinkedIn rolls out its Career Advice mentoring program to US, UK and India
Read Full Article
Call to ban sale of IoT toys with proven security flaws
Read Full Article
How to Stop Automatic Chrome Updates in Windows
Chrome updates are pretty unobtrusive, but if you’ve decided you don’t want to them to run automatically, there’s actually no setting in the browser to turn them off. Fortunately, Windows users can disable automatic updates in just a few easy steps. Method 1: System Configuration Open the Run prompt. You can do this by using the keyboard shortcut Windows key + R or searching for Run using Cortana. Once it opens, type msconfig and hit Enter. In the System Configuration window, go to the Services tab. You’ll want to look for the two following items: Google Update Service (gupdate) and Google Update Service (gupdatem). To find...
Read the full article: How to Stop Automatic Chrome Updates in Windows
Read Full Article
Use eBay for Charity to Donate Cheer This Season
Start Christmas early! Why wait for the end of the year to sprinkle cheer in someone’s life when you can do it right now from your couch? Sites like Amazon and eBay provide guilt-free ways to donate to charitable causes while you shop online. And you don’t need to alter or deviate from your shopping spree in any way. Many know about the AmazonSmile program, but eBay has a similar way to give charitably using its eBay for Charity website. Use eBay to Support a Cause You have good intentions, but you are either too busy or lazy. eBay for Charity uses several tools to help...
Read the full article: Use eBay for Charity to Donate Cheer This Season
Read Full Article
How to Rollback and Uninstall the Windows 10 Fall Creators Update
It’s fair to say Microsoft has largely gotten its act together. Windows 10 is now comfortable, and the biannual update cycle is popular with many users. But maybe you just upgraded and you’re unhappy. If so, Microsoft is flexible enough to let you rollback and uninstall updates. It’s an easy process and doesn’t take a massive amount of time. We’ll show you how to rollback and uninstall the Windows 10 Fall Creators Update: Go to Start > Settings. Open Update and Security. Click on Recovery in the left-hand menu. Head to Go back to the previous version of Windows 10...
Read the full article: How to Rollback and Uninstall the Windows 10 Fall Creators Update
Read Full Article
How to Disable Autoplaying Videos in the Microsoft Store
The Microsoft Store, formerly Windows Store, is where Microsoft wants you to download Modern apps, movies, and more. While many people don’t bother with it, there are some solid Windows Store apps worth checking out. With the Windows 10 Fall Creators Update came the rebranding of the shop to the Microsoft Store. But it also includes annoying auto-playing videos, usually on game and app pages. Just like on social media and mobile sites, these videos are a pain. If you don’t realize that your volume is on, you could end up blasting by mistake. Plus, you probably don’t want to...
Read the full article: How to Disable Autoplaying Videos in the Microsoft Store
Read Full Article
Essential offers up an Android Oreo beta for the Essential Phone
Read Full Article
Essential offers up an Android Oreo beta for the Essential Phone
Read Full Article