Train classifier (Natur – NLP) auf node.js für unerwartete Sätze

Etwas Kontext: Node.js Bot, Natürliche-Modul.

Ich würde gern ein Bot und ich bin mit dem natürlichen Modul, um zu analysieren und insgesamt klassifizieren der Eingabe des Benutzers.

var classifier = new natural.BayesClassifier();
classifier.addDocument('Hi', 'welcome');
classifier.addDocument('Hello', 'welcome');
classifier.addDocument('Hey', 'welcome');
classifier.addDocument('Good', 'welcome');
...
//back to home
classifier.addDocument('go back to home', 'back2home');
classifier.addDocument('go back home', 'back2home');
classifier.addDocument('return',  'back2home');
classifier.addDocument('return to home', 'back2home');
...
classifier.train();
...
classifier.classify(text);

Diese tests funktionieren:

  "I would like to go back home" => back2home
  "Hi" => welcome

Alles gut, aber was ist, wenn der Benutzer text enthält so etwas wie: „bla bla bla“, ich will einen Weg, um zu wissen, dass der, dass der text nicht passend genug, in jedem der genannten Fälle. „bla bla bla“ gibt me => gerne, aber eigentlich möchte ich es wieder etwas wie „unknown“(unbekannt/nicht verstanden.

Es ist ein Weg, um „Zug“ der Klassifizierer in einer solchen Weise?
Danke.

InformationsquelleAutor Vincenzo | 2016-05-15



One Reply
  1. 2

    Können Sie die getClassifications() Methode, um eine Liste von Klassifikationen und die zugehörige Partitur, oder ‚Vertrauen‘, mit. Aus dieser Liste können Sie bestimmen, welche, wenn überhaupt, es am besten passt. Ex:

    console.log(classifier.getClassifications('blah blah blah'));

    Ausgabe:

    [ { label: 'welcome', value: 0.5 },
      { label: 'back2home', value: 0.5 } ]

    Diesem Beispiel ist nicht groß, aber Sie können sehen, dass es doesn ‚ T match any one label sehr gut. Je höher die value je höher das Vertrauen.

    Können Sie den Wert der it, um sicherzustellen, dass es oberhalb einer bestimmten Ebene. Ich möchte 0.8 als mein check Wert. Schleife durch die Ergebnisse.

    const results = classifier.getClassifications('blah blah blah');
    let intents = [];
    
    //Check for confidence greater than 8
    results.forEach((result) => {
        if(result.value > 0.8) {
            intents.push(result);
        }
    });
    
    //Sort intents array by object.value
    intents.sort((a,b) => {
        if(a.value < b.value) {
            return -1;
        }
        if(a.value > b.value) {
            return 1;
        }
        return 0;
    });

    Haben Sie jetzt ein array von intents mit Vertrauen größer als 0,8, absteigend sortiert, indem Sie Ihr Vertrauen Partitur.

    Weitere Informationen unter https://github.com/NaturalNode/natural#classifiers

    Kredit für Sortier-Funktion Sortieren, array von Objekten, die durch die string-Eigenschaft-Wert in JavaScript

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.