Articles of luis

提示没有路由的文本

我想join到我的机器人中是一种方式来提示用户本质上自由forms的自然语言文本,然后保存它。 我认为这将是足够简单的使用: builder.Prompts.text(session, prompt); 但UniversalBot似乎试图根据用户提供的文本来解释和路由。 我确实有LUIS作为识别器连接到机器人,很明显这是什么在这里发挥作用,因为它是解决我的一个定义的意图。 或者至less它是说它意识到这个意图,但实际上并没有把用户带到那个对话中。 有什么方法可以实现我的目标? 在收到对提示的响应时,基本上禁用识别器? 我在Node中编码。

如何从LUIS 中的实体列表中获取键/值

我试图让我的机器人破解各种缩写词的定义。 我把他们都join了实体列表,同义词是我想要显示的值。 我想知道如何处理这个JSON数据,并调用正确的信息,以便在这种情况下,首字母缩写WWW将导致“万维网” 我想接收规范forms并输出“万维网”的同义词。 我只是不明白如何在node.js中做到这一点。 有人可以澄清在什么对象,我可以从这个列表中find一个search实体的同义词。

你可以在一个triggerAction中使用多个意图吗?

我有一个QnA机器人应该工作几个意图,我想触发它​​的意图,问候,因为我有一些独特的反应,和IT的帮助,因为这是QnA机器人的主要目的。 我必须复制粘贴我的整个对话框,只是改变意图的名字,或者我可以列出匹配方法的多个意图? bot.dialog('QnABotRequest', function (session, args) { //Code }).triggerAction({ matches: 'Greeting' | 'None' | 'IT Help' //Maybe something like this ? }); https://docs.botframework.com/en-us/node/builder/chat-reference/modules/_botbuilder_d_.html#matchtype这里定义它说: {(RegExp|string)[]} 可以传递正则expression式或已命名的意图的数组以便以许多可能的方式匹配用户话语。 产生最高分数(最佳匹配)的规则将用于评分目的。

Botframework提示对话框,直到用户完成

我正在使用微软的botbuilder和LUIS创build一个聊天机器人。 有没有办法继续使用builder.Prompts.text()不断询问用户是否有用户想要放置的信息,比如for或while循环? 例如,我想继续询问用户未定义的次数,如果有一个用户想要保存的key ,只有当用户键入done ,然后我会有相同数量的builder.Prompts.text()问用户input每个键的值。 function (session, results, next) { builder.Prompts.text(session, "Another key to put?"); }, function (session, results, next) { builder.Prompts.text(session, "Value to put?"); } 看起来好像我可以用一个数组来保存每个键的值来创build某种循环,我不知道如何处理这个。 谢谢。

Botframework findEntity()问题

我遇到了一个奇怪的问题。 最初我有这个让我的实体,它正常工作。 x = builder.EntityRecognizer.findEntity(args.entities, 'get_x'); 然而,由于某种原因,我似乎无法弄清楚为什么,它停止了工作,我不得不改变它添加一个额外的intent ,让它再次工作。 x = builder.EntityRecognizer.findEntity(args.intent.entities, 'get_x'); 当我认为这开始发生时,我正在改变我对LUIS的一个意图。 然后我立即撤消所有的意图的变化,但是我所有的意图都受到了某种影响,因为我需要为findEntity()方法的实体参数添加另一个附加intent 。 有什么我改变,可能会导致这个? 编辑:实际上改变我的LUIS意图不应该有影响,因为我有另一个机器人使用相同的LUIS模型,它仍然正常工作。 编辑2:我的args返回我这个: { action: '*:SomeIntent', intent: { score: 0.999846458, intent: 'SomeIntent', intents: [ [Object], [Object], [Object], [Object], [Object], [Object], [Object] ], entities: [ [Object], [Object], [Object], [Object] ] }, libraryName: '*' } 最初我可以使用args.entitiesfind我的实体,但现在格式改变了,我必须使用args.intent.entitiesfind我的实体。 我find了这个使用args.entities例子,而这个使用了args.intent.entities 。 我知道这并不影响我,因为我可以改变我的代码,但我很想知道为什么会发生这种情况? 谢谢。

Bot框架与LUIS intent&match intent&pro-active对话框一起工作

我已经使用LUIS框架构build了一个工作正常的机器人。 而在下面提到的几点,通过工作 连接LUIS意图后; 机器人无法检查正则expression式的意图 为前ex dialog.matches('^ helpdesk /我',函数()) ,我试图设置 var dialog = new builder.IntentDialog({ recognizers: [recognizer] }); 如何主动向用户发送问候消息之前发起对话,就像我会发送提示select用户可以select的用户。 如果没有什么符合这个要求,我希望LUIS工作和理解 如何知道Skype for Business频道中login的用户上下文 卡不工作在Skype的业务

在LUIS中的date范围

我正在使用LUIS识别旅行社chatbot的date范围。 所有为我工作,但由于某种原因,我不能得到没有date分隔符工作的话语。 例如“9月12日13日”不被认为是date范围,即使“9月12日至13日”是。 我在某处读到LUIS使用chrono进行dateparsing,但“9月12日13日”在Chrono上完美工作。 我正在修复,因为我的许多用户都受到这个影响。 我能做什么?

Microsoft chatbot(Node.js)在单个LUIS.AI应用程序中是否支持多种语言?

我有一个在Node.js的微软bot框架中build立的聊天机器人,我将这个机器人与一个叫做LUIS.AI智能的NLP框架集成在一起,以处理基于他们的意图和实体的用户对话。 在这里我需要这个机器人来支持单个LUIS应用程序中的多种语言,但是它不允许我们这样做。 在单个LUIS应用程序或代码级别中是否支持多种语言?

我可以托pipeMS Bot框架Node.js实例本地

我们已经构build了一个MS Bot框架bot,在对话期间使用我们现有的内部本地API。 我们希望通过将Web聊天组件放入我们现有的面向内部的本地应用程序的DOM中来释放此机器人。 使用我们现有的架构, 我们自然也想在内部托pipe这个机器人 –以利用我们现有的所有configuration和部署stream程。 我们知道,无论如何,机器人都必须与LUIS沟通 – 这对我们来说是很好的; 它不需要Azure直接连接到我们内部业务数据API的更复杂(更大的攻击面,更less的中央IT买入)设置。 我认为这个图更清晰: 我们可以实现底层托pipeconfiguration中所描述的内容吗? 编辑1:我们是否也可以托pipe直接线路或类似的连接器本地,而不必编写自定义连接器? 另外,我们可以通过这种连接器与我们的机器人聊天,而不必为DOM编写自定义聊天组件/小部件吗? (只要指向我们的频道,networking聊天组件就可以正常工作。) 这里的最终目标是让我们所有的聊天stream量保持在本地,因为这是一个数据驱动的聊天机器人,服务于敏感数字。 在另一个完全可以在本地运行的框架中重新开发这个框架需要花费更less的时间,而不是从我们的中央IT部门获得批准。 注意:我知道Azure堆栈预览。 最低的硬件要求(也可能是订阅成本)是极端矫枉过正的。 (毕竟,我们正在谈论一个Node应用程序。) 这不是这个问题的重复,因为这个问题也解决了直接/线路连接器本地托pipe的关键因素,其他问题假设连接器仍然在Azure上运行。