2017-06-04 4 views
1

Gibt es eine integrierte Helper-Methode in LUIS Sdk oder Bot Sdk, um die LUIS DatetimeV2 Entitäten in JS Date Objekte zu konvertieren? Ich habe gesehen, dass einige den Chronischen Parser für C# benutzt haben, aber ich konnte nichts finden, was für Nodejs funktioniert.Konvertieren von LUIS Datetime V2 nach JS Datum

const dt = builder.EntityRecognizer.findEntity(args.intent.entities, 'datetimeV2'); 
if (dt) { 
    // this is just the matching intent, I believe. 
    // example intents; today, yesterday, 2/28, 31/5, ... 
    // How do I convert this to a valid Date is where I am stuck. 
} 

Antwort

1

datetimeV2 Einheiten in NodeJS zu extrahieren, es präziser in das heißt Sie laufen müssen werden:

const dt = builder.EntityRecognizer.findEntity(args.intent.entities, 
    'builtin.datetimeV2.date'); 

const dt_daterange = builder.EntityRecognizer.findEntity(args.intent.entities, 
    'builtin.datetimeV2.daterange'); 

Um ein Date-Objekt erstellen Sie es bei MDN hier nachschauen.

Hier ist ein blogpost auf DatetimeV2, die die Struktur der Entität im LUIS-Antwortobjekt zeigt.

Um ein Date-Objekt zu erstellen, können Sie dt.resolution.values[i]['value'] nehmen und es in einen Konstruktor setzen wie so:

const dt_obj = new Date(dt.resolution.values[i]['value']); 
+1

Dank. Ich wusste nicht, dass es 'Auflösung'-Eigenschaft im' IEntity'-Typ gibt. Ich habe es einfach gesehen, als ich das gesamte 'dt'-Objekt' zeichnete'. Das funktioniert wie ein Zauber! –

Verwandte Themen