Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

Processamento de Linguagem Natural com Node.js

Processamento de Linguagem Natural com Node.js

Aprenda o que é Processamento de linguagem natural, onde usar, como funciona e como fazer PLN com node.js

Rodrigo Matheus

March 22, 2014
Tweet

More Decks by Rodrigo Matheus

Other Decks in Technology

Transcript

  1. pln

  2. ☻ Extração de informação
 ☻ Recuperação de informação
 ☻ Tradução

    automática
 ☻ Geração Automática de Texto
 ☻ Geração de linguagem natural
 ☻ Interpretação de linguagem natural
 ☻ Simplificação de texto
 ☻ Correção ortográfica.
 ☻ Reconhecimento Vocal
 ☻ Reconhecimento de Escritura Manuscrita
  3. Tokenizer var natural = require('natural'); ! var tokenizer = new

    natural.WordTokenizer(); ! console.log(tokenizer.tokenize("your dog has flees.")); ! // [ 'your', 'dog', 'has', 'flees' ]
  4. Classifiers var natural = require('natural’); var classifier = new natural.BayesClassifier();

    classifier.addDocument(‘eu quero, 'buy'); classifier.addDocument(‘vou comprar, 'buy'); classifier.addDocument(‘vendo, 'sell'); classifier.addDocument(‘promoção, 'sell'); classifier.train(); ! console.log(classifier.classify(‘iPhone em promoção, aproveite.)); // sell console.log(classifier.classify(‘vou comprar hoje o iphone)); // buy
  5. Phonetics var natural = require('natural’); var metaphone = natural.Metaphone, soundEx

    = natural.SoundEx; ! var wordA = 'phonetics'; var wordB = 'fonetix'; ! if(metaphone.compare(wordA, wordB)){ console.log(‘Eles são iguais); }
  6. Pluralized/Singularized var natural = require('natural’); var nounInflector = new natural.NounInflector();

    ! console.log(nounInflector.pluralize('radius')); // radii ! console.log(nounInflector.singularize('beers')); // beer
  7. Pluralized/Singularized var natural = require('natural’); var nounInflector = new natural.NounInflector();

    ! console.log(nounInflector.pluralize('radius')); // radii ! console.log(nounInflector.singularize('beers')); // beer
  8. N-­‐Grams var natural = require('natural’); var NGrams = natural.NGrams; !

    console.log(NGrams.bigrams('some words here')); // [ [ 'some', 'words' ], [ 'words', 'here' ] ] ! console.log(NGrams.trigrams(['some', 'other', 'words', 'here'])); // [ [ 'some', 'other', 'words' ], [ 'other', 'words', 'here' ] ]
  9. tf-­‐idf var natural = require('natural’); var TfIdf = natural.TfIdf; var

    tfidf = new TfIdf(); ! tfidf.addDocument('this document is about node.'); tfidf.addDocument('this document is about ruby.'); tfidf.addDocument('this document is about node. it has node examples'); ! tfidf.tfidfs('node', function(i, measure) { console.log('document #' + i + ' is ' + measure); }); // document #0 is 1.4469189829363254 // document #1 is 0 // document #3 is 2.8938379658726507
  10. WordNet // npm install WNdb   var wordnet = new

    natural.WordNet(); ! wordnet.lookup('node', function(results) { results.forEach(function(result) { console.log('------------------------------------'); console.log(result.synsetOffset); console.log(result.pos); console.log(result.lemma); console.log(result.synonyms); console.log(result.pos); console.log(result.gloss); }); });