就对话流程而言,Rasa Core和Botkit框架有何区别?

4

我正在学习使用Rasa进行机器人开发。我选取了一个简单的银行系统用例。以下是简短的流程:

I want to apply for loan
                Home loan   Car Loan   Personal Loan

**User comes again after some days**

                Hey, you inquired about the loan previously, what is the status?
Bought from another bank
                    Which bank?
Axis Bank
                    What interest rate did you buy the loan at?
5%

假设用户问“我想申请贷款”,那么我可以分类意图并提取实体,然后相应地回复用户。但是如果用户说“Axis Bank”,我该如何跟踪他回答“Axis Bank”的问题,并且我的下一个问题或回答会是什么?
我搜索了“如何跟踪对话状态?”
我找到了[https://github.com/RasaHQ/rasa_nlu/issues/303][1] 这个链接 在那里他们提到

我认为这不应该是RASA的目标:NLU本身是一个非常大而复杂的主题。但是您可以使用像botkit这样的特定框架。

但是在rasa-core中有一个选项(在对话期间跟踪信息(例如用户年龄))
在下面的链接中提到 Rasa核心和Rasa nlu之间的区别 Rasa Core 用于引导对话流程,而 Rasa NLU 则用于理解和处理文本以提取信息(实体)。请问有人可以帮我理解在对话流程方面,rasa-core 和 botkit 的区别吗?
1个回答

8
RASA和Botkit并不是唯一的选择,当然您还可以选择(只举几个开发者友好的选项)IBM Watson,MS Bot Framework(或现在所称的botbuilder),其中v4正在开源中开发。
RASA Core的独特之处在于它根据意图和当前对话状态学习下一步该做什么。而其他平台则需要您编写流程脚本(或者您必须构建一个可以容纳流程的数据结构,供他人填充)。
您选择哪种方式取决于您已经拥有多少对话数据以及您的机器人将会有多复杂。对于简单的机器人,使用脚本流程会更快。但当它变得庞大时,您的脚本机器人将难以扩展。
这是我学习RASA时阅读的几篇不错的文章。 https://medium.com/rasa-blog/a-new-approach-to-conversational-software-2e64a5d05f2a

https://medium.com/@harjun1601/building-a-chatbot-with-botkit-and-rasa-a18aa4d69ebb


1
不错的回答,Ed!我有一个小评论要补充: 你选择哪个方向取决于你已经拥有多少对话数据以及你的机器人会有多复杂。Rasa Core 的设计使得您实际上不需要任何训练数据就可以开始。您可以利用作为工程师的领域知识来引导初始培训数据。所有的机器人都是从简单开始的,但你会惊讶于一个简单的机器人变得多么复杂 :) - amn41

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接