Good examples: English interpretation / natural language processing

I would like to make a calendar application that will accept simple English input better than those that exist. I found the Stanford NLP, which seems cool, but I was wondering if this is useful for this kind of task. I can’t find examples of people who use it for anything. Should the app really understand the language? It seems that existing English calendars are looking for keywords / templates and trying to figure this way out, but I think the application can do better than that.

My real question is: can someone tell me how to find examples of people using NLP or another (publicly available) English parser to make a really useful application?

+4
source share
3 answers

After a couple of years, significant technology appeared in the NLP around NodeJS. See here for more details: http://www.quora.com/Are-there-any-JavaScript-natural-language-processing-projects

But here is an example of question +1, because I was also looking for the same question ... in just a few years.

Working NLP example ... in JavaScript?

Here is my answer ...

Steps 1 - Boilerplate Node Server:

install npm npm install nodebootstrap nodebootstrap naturalNode cd naturalNode && npm install node app 

// This should give you a Node bootstrap application running on localhost: 3000

Full details of the simple Node server setup can be found here: https://github.com/stonebk/nodeboilerplate

STEP 2 - Enable the natural library:

Head to the GitHub Natural Library to see what it can do ...

https://github.com/NaturalNode/natural

Launch:

 npm install natural 

(inside your boot server named naturalNode)

STEP 3 - Run the example:

Include the sample code from the above link in the app.js. boot file

 var natural = require('natural'), tokenizer = new natural.WordTokenizer(); console.log(tokenizer.tokenize("your dog has fleas.")); // [ 'your', 'dog', 'has', 'fleas' ] 

Now, when you start your server, you have full access to the natural library and the ability to expand it using the interface.

Let me know if any instructions are missing ...

+1
source

Check NLTK .

NLTK is a leading platform for creating Python programs for working with human language data. It provides user-friendly interfaces to more than 50 corporations and lexical resources such as WordNet, as well as a set of word processing libraries for classification, tokenization, tagging, parsing and semantic reasoning.

Example parsing with NLTK :

 >>> import nltk >>> rd_parser = nltk.RecursiveDescentParser(grammar) >>> sent = 'Mary saw a dog'.split() >>> for t in rd_parser.nbest_parse(sent): ... print t (S (NP Mary) (VP (V saw) (NP (Det a) (N dog)))) 

NLTK is provided with a large free book that is available online: http://nltk.googlecode.com/svn/trunk/doc/book/book.html

Good review from IBM: http://www.ibm.com/developerworks/linux/library/l-cpnltk/index.html

PS: Another SO question that is similar to yours: Using integers / dates as terminals in an NLTK parser

+3
source

Since you did not specify any programming language, I would suggest a Java lib called Natty . You can ask your author about real applications using his lib if he knows about anyone.

0
source

All Articles