2017-08-07 2 views
0

J'ai une intention dans LUIS appelée ChangeFlight. Je peux extraire l'entité de date lorsque l'utilisateur saisit un format de date au début. Lorsque l'utilisateur oublie de saisir une date, il demande à l'utilisateur d'entrer une date.Extraction d'une entité en cours de conversation

Cependant, je ne veux pas simplement obtenir les résultats de la réponse, je veux plutôt extraire l'entité de date telle que l'étape initiale. J'ai bot.dialog ('askForDate') qui demande la date de l'utilisateur mais je ne suis pas sûr comment extraire l'entité de date intégrée au milieu de la conversation.

Comment dois-je gérer cela? Merci.

+0

La réponse de Nicolas Est-ce que résoudre votre question? Si vous avez besoin de plus d'informations sur le fonctionnement de l'analyse de date-heure dans 'Prompts.time', le SDK utilise [chrono] (https://github.com/wanasit/chrono). Si les dates d'utilisation des utilisateurs ne sont toujours pas correctement analysées, vous pouvez ajouter un NLP comme LUIS.ai pour aider à déchiffrer les énoncés. –

Répondre

0

Vous pouvez utiliser l'invite dédiée à la résolution temporelle. Elle permet à l'utilisateur d'entrer une heure ou une date/heure. doc est here.

Par exemple:

function (session, results, next) { 
    if (results.response) { 
     session.dialogData.name = results.response; 
     builder.Prompts.time(session, "What time would you like to set an alarm for?"); 
    } else { 
     next(); 
    } 
}, 
function (session, results) { 
    if (results.response) { 
     session.dialogData.time = builder.EntityRecognizer.resolveTime([results.response]); 
    } 

    // TO DO : add here what you want to do with the value 
}