我试图从Rasa core和Rasa nlu的官方文档中了解有关rasa的信息,但无法得出很多结论。我能理解的是
Rasa核心用于指导对话流程,而Rasa nlu则用于理解和处理文本以提取信息(实体)。
第二件事,有一些在Rasa core中构建聊天机器人的示例以及Rasa nlu都可以用于构建聊天机器人,但无法理解两种方法的区别以及何时遵循哪种方法。
您能否帮助我更好地理解。
最佳答案
你做对了。两者一起工作,但有各自不同的目标。简单来说,Rasa Core处理对话流程,话语, Action 和Rasa NLU提取实体和意图。
关于第二个问题:
第一个示例显示了创建bot的整个工作流程,并显示了如何设置域和故事。这些是Rasa Core而非Rasa NLU的功能。在此示例的第2项(称为“定义解释器”)上,作者明确表示他正在使用Rasa NLU作为解释器(但您甚至可以使用其他实体提取器框架)。
第二个示例(Rasa NLU一个)显示了如何仅训练实体和意图提取器。您没有关于域和故事的任何信息,也没有关于对话流程的任何信息,这是一个纯粹的NLU示例(即使他使用Rasa Core的默认运行方法来运行该机器人)。
当我开始学习Rasa时,很难理解开发机器人的概念。但是随着您开始编码,它变得清晰起来。无论使用哪种平台,NLU都将处理实体和意图,而对话流程则将是其他东西。
甚至可以使用一个库来处理机器人的核心,而使用另一个库来处理NLU。
我想指出,与您可以用来构建bot核心的大多数工具不同,Rasa Core使用机器学习来更好地概括对话流程。您可以使用可能的对话路径的数据集并训练核心以对其进行概括,而不必为对话中的每个可能的节点编写代码。这是一个非常酷而强大的功能:)
希望能帮助到你。