Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Good Examples: English Parsing / Natural Language Processing

I would like to make a calendar application that accepts plain english input better than those that exist. I have found Stanford's NLP which seems cool, but I was wondering if it's helpful to this kind of task. I can't find examples of people using it for anything. Should an app actually understand the language? It seems like the natural english calendars that exist are looking for keywords / patterns and trying to parse that way, but I think an app could do better than that.

My real question: Could someone tell me how to find examples of people using the NLP or a different (publicly available) english parser to make a really useful app?

like image 563
Scot Nery Avatar asked Jun 21 '12 23:06

Scot Nery


People also ask

What is an example of natural language processor?

Email filters. Email filters are one of the most basic and initial applications of NLP online. It started out with spam filters, uncovering certain words or phrases that signal a spam message.

Is Grammarly an example of NLP?

At Grammarly, we are passionate about improving human communication. Core to this mission has been our work in natural language processing (NLP). We rely on our team's deep expertise in NLP, machine learning (ML), and linguistics to create a delightful product for Grammarly's 30 million daily active users.

What is the appropriate text parsing techniques in NLP?

Dialogue systems and summarization are the examples of NLP applications where deep parsing is used. Information extraction and text mining are the examples of NLP applications where deep parsing is used. It is also called full parsing. It is also called chunking.

What is parsing in natural language processing?

Parsing in natural language is termed as “to analyze the input sentence in terms of grammatical constituents, identifying the parts of speech, syntactic relations”. Parsing is a process of determining how a string of terminals(sentence) is generated from its constituents, by breaking down of sentence into tokens.


2 Answers

Check out NLTK.

NLTK is a leading platform for building Python programs to work with human language data. It provides easy-to-use interfaces to over 50 corpora and lexical resources such as WordNet, along with a suite of text processing libraries for classification, tokenization, stemming, tagging, parsing, and semantic reasoning.

Example of 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 great free book, which is available online: http://nltk.googlecode.com/svn/trunk/doc/book/book.html

A nice overview 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 NLTK parser

like image 87
Franck Dernoncourt Avatar answered Sep 19 '22 13:09

Franck Dernoncourt


A couple years on there is significant emergent technology in NLP around NodeJS. See here for more of an overview of the situation: http://www.quora.com/Are-there-any-JavaScript-natural-language-processing-projects

But, here is the example to the +1 question, because I too was looking for the same question... just a few years later.

Working Example of NLP... in JavaScript?

Here was 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 app running at localhost:3000

For full info on easy Node server setup go here: https://github.com/stonebk/nodeboilerplate

STEP 2 - Include Natural Library:

Head to GitHub Natural Library to check out what it can do...

https://github.com/NaturalNode/natural

Run:

npm install natural 

(within your bootstrap server named naturalNode)

STEP 3 - Run an Example:

Include the example code from the link above into the app.js bootstrap file.

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

Now when you run your server you have full access to the natural library, and the ability to extend it with front-end interface.

Let me know if any instruction is missing...

like image 45
Nash Worth Avatar answered Sep 19 '22 13:09

Nash Worth