如何使用node.js从Azure聊天机器人对话窗口收集反馈

时间:2019-03-26 11:13:04

标签: node.js azure chatbot

我已经通过使用Bot Frame Work V4和Node.js实现了Azure聊天Bot。 在对话中,我想从“聊天”中捕获用户体验。

我能知道如何实施/信息将存储在何处以及响应中的Analytics(分析)。

在Node.js上共享任何文章/ git中心代码

关于, 塔拉克

应用程序就像表单流

用户体验 例如:不好,很好,任何改善沟通的建议

1 个答案:

答案 0 :(得分:0)

与网络应用程序一样,机器人本质上是无状态的;您的漫游器的其他实例可以处理任何给定的对话。对于某些僵尸程序,这种简单性是可取的-僵尸程序可以在没有其他信息的情况下运行,或者保证所需的信息在传入消息中。对于其他人来说,状态(例如,我们在会话中的位置或先前接收到的有关用户的数据)对于机器人进行有用的会话是必需的。

我为什么需要状态?

通过保持状态,您的机器人可以通过记住有关用户或对话的某些内容来进行更有意义的对话。例如,如果您以前与某个用户交谈过,则可以保存有关他们的先前信息,这样就不必再次询问。 State还可以将数据保留比当前回合更长的时间,因此您的机器人可以在多回合对话过程中保留信息。

与机器人有关,使用状态将涉及几层:存储层,状态管理(在下图中的bot状态下包含)和状态属性访问器。该图说明了这些层之间交互序列的一部分,其中实线箭头表示方法调用,而虚线箭头表示响应(有或没有返回值)。

bot state

从后端开始,实际上是存储状态信息的地方,是我们的存储层。可以将其视为我们的物理存储,例如内存,Azure或第三方服务器。

Bot Framework SDK包括一些用于存储层的实现:

•内存存储实现了用于测试目的的内存存储。内存中数据存储仅用于本地测试,因为该存储是易失性和临时性的。每次重新启动bot都会清除数据。

•Azure Blob存储连接到Azure Blob存储对象数据库。

•Azure Cosmos DB存储连接到Cosmos DB NoSQL数据库。

有关如何连接到其他存储选项的说明,请参见write directly to storage

有关更多信息,请参阅以下文章。

https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-concept-state?view=azure-bot-service-4.0 https://docs.microsoft.com/en-us/azure/bot-service/javascript/bot-builder-javascript-quickstart?view=azure-bot-service-4.0