Skip to content

Latest commit

 

History

History
66 lines (58 loc) · 1.83 KB

nlp-classifier.md

File metadata and controls

66 lines (58 loc) · 1.83 KB

NLP Classifier

You can train a classifier (indicating language) with utterances and their intents. Then you can give a different utterance, and get the classifications for each intent, sorted descending by the score value.

const { NlpClassifier } = require('node-nlp');

const classifier = new NlpClassifier({ language: 'fr' });
classifier.add('Bonjour', 'greet');
classifier.add('bonne nuit', 'greet');
classifier.add('Bonsoir', 'greet');
classifier.add("J'ai perdu mes clés", 'keys');
classifier.add('Je ne trouve pas mes clés', 'keys');
classifier.add('Je ne me souviens pas où sont mes clés', 'keys');
classifier.train();
const classifications = classifier.getClassifications('où sont mes clés');
// value is [ { label: 'keys', value: 0.994927593677957 }, { label: 'greet', value: 0.005072406322043053 } ]

Or you can get only the best classification

const { NlpClassifier } = require('node-nlp');

const classifier = new NlpClassifier({ language: 'fr' });
classifier.add('Bonjour', 'greet');
classifier.add('bonne nuit', 'greet');
classifier.add('Bonsoir', 'greet');
classifier.add("J'ai perdu mes clés", 'keys');
classifier.add('Je ne trouve pas mes clés', 'keys');
classifier.add('Je ne me souviens pas où sont mes clés', 'keys');
classifier.train();
const classification = classifier.classify('où sont mes clés');
// value is { label: 'keys', value: 0.994927593677957 }

Currently 27 languages are supported:

  • Arabic (ar)
  • Armenian (hy)
  • Basque (eu)
  • Catala (ca)
  • Chinese (zh)
  • Czech (cs)
  • Danish (da)
  • Dutch (nl)
  • English (en)
  • Farsi (fa)
  • Finnish (fi)
  • French (fr)
  • German (de)
  • Hungarian (hu)
  • Indonesian (id)
  • Irish (ga)
  • Italian (it)
  • Japanese (ja)
  • Norwegian (no)
  • Portuguese (pt)
  • Romanian (ro)
  • Russian (ru)
  • Slovene (sl)
  • Spanish (es)
  • Swedish (sv)
  • Turkish (tr)
  • Tamil (ta)