📜  rasa 中的两种形式 (1)

📅  最后修改于: 2023-12-03 15:34:37.471000             🧑  作者: Mango

Rasa中的两种形式

Rasa是一个开源的自然语言处理框架,用于构建聊天机器人和语音助手。在Rasa中,有两种不同的形式可以使用:Rasa NLU和Rasa Core。

Rasa NLU

Rasa NLU是一种自然语言理解(NLU)库,它可以学习并了解用户提出的问题。它主要的功能是将自然语言转换成结构化的数据,然后将这些结构化数据传递给Rasa Core。

在Rasa NLU中,我们使用以下三个文件来训练它:

  • nlu.md:包含一组用户语句和相应的意图和实体标记。
  • config.yml:包含nlu pipeline的定义,通常包含tokenizer、intent_classifier和entity_extractor等组件。
  • data/nlu文件夹:这是包含一个实体列表的文件夹,用于识别实体。

下面是一个例子,展示了如何标记一个用户的意图:

## intent:greeting
- hey
- hello
- hi
Rasa Core

Rasa Core则负责聊天机器人的流程和会话管理。它使您能够根据用户的回答和机器人的回答来指导对话,从而实现流畅的对话体验。

在Rasa Core中,我们主要使用以下两个文件:

  • domain.yml:定义了聊天机器人的领域,在这里您可以定义自己的实体、意图、操作和响应。
  • stories.md:包含几个用户场景和聊天机器人的回应。

下面是一个例子,展示了如何定义一个“OrderPizza”故事:

## OrderPizza
* greet
 - utter_greet
* inform{"pizza_type": "veggie"}
 - slot{"pizza_type": "veggie"}
 - utter_ask_size
* inform{"pizza_size": "small"}
 - slot{"pizza_size": "small"}
 - action_check_order
* goodbye
 - utter_goodbye

以上就是Rasa中的两种形式,它们的不同之处在于,Rasa NLU是使用自然语言理解和实体提取来将人类语言转换为计算机可以理解的数据,而Rasa Core则是使用有向图来管理对话流程。