我是luis和bot框架的新手。直到现在我学到的是如何通过路易斯认可的意图触发对话。但我不知道如何在对话框中向luis发送消息。我想使用' builder.EntityRecognizer.findEntity'方法。我非常确定我的builder.prompts.text只是给了我纯文本作为结果,而不是LUIS识别的这个文本的意图和实体。但我无法找到一个解决方案,我可以向luis发送一个请求,以便找回一个luis-json对象,我认为这个对象需要找到一个luis-json对象。方法。
bot.dialog('reklamation',[
function(session){
session.send('Gerne kümmere ich mich um Ihre Reklamation.');
builder.Prompts.text(session, 'Bitte nennen Sie mir Ihr Anliegen.');
},
function(session, results){
session.dialogData.reklamation = results.response;
session.send('Ich habe Ihre Mitteilung aufgenommen.');
builder.Prompts.text(session, 'Bitte geben Sie mir eine E-Mail-Adresse, unter der wir Ihnen den aktuellen Stand Ihrer Reklamation mitteilen können.');
},
function(session, results){
var email = builder.EntityRecognizer.findEntity(results.entities, 'email');
session.dialogData.email = email;
session.send('Ok! Ich habe folgende Informationen gespeichert:');
session.send('Reklamationsgrund: ' + session.dialogData.reklamation);
session.send('E-Mail: ' + session.dialogData.email);
session.endDialog('Wir werden uns schnellstmöglich mit Ihnen in Verbindung setzen. Vielen Dank für Ihre Anfrage!');
}]).triggerAction({
matches: 'reklamation'});
我感谢任何建议。
答案 0 :(得分:2)
在瀑布的第一步中检索实体。意图基本上在比赛中定义。因此,如果您的LUIS应用程序具有“reklamation”意图
,则会触发您的代码然后您需要将第一个函数的签名更新为:
bot.dialog('reklamation', [
function (session, args, next) {
然后你可以使用:
builder.EntityRecognizer.findEntity(args.intent.entities, 'email');
如果您正在寻找的是在瀑布的第一步之后手动调用LUIS,您可以尝试:
builder.LuisRecognizer.recognize("your input", modelUrl, (err, intents, entities) { ... }
请查看LUIS Node.js sample了解详情。