rsa详解,rasa安装

  rsa详解,rasa安装

  请注明出处,原地址:

  01.html https://terrifyzhao.github.io/2018/09/17/Rasa用户指南

  Rasa使用指南介绍02本文以Rasa官网文档为基础,经过翻译和整理,补充了一些自己的理解,方便大家入门Rasa。想了解更多的可以关注Rasa官网。

  Rasa是基于多轮对话的框架,包括Rasa核心和Rasa nlu两个模块。

  Rasa nlu用于理解语义,包括意图识别和实体识别。它将把用户的输入转换成结构化数据。例如,在下面的例子中,nlu会识别用户发送邮件的意图(intention)和手机@example.com (entity)的害羞邮件地址。Rascore是一个对话管理平台。它的工作是决定机器下一步应该返回给用户什么。在这里,我们是否应该将您的主电子邮件返回给用户?

  在接下来的内容中,我们将带领大家搭建一个基于简单多轮对话的Rasa平台。为了便于理解,我们暂时不考虑槽位填充。

  安装rasa pip安装rasa _ core pip安装rasa _ nlu [tensorflow] Rasa core。先说rasa核心,包含两个内容,故事和域。

  1.故事故事可以理解为对话的场景流。我们需要告诉机器我们的多轮场景是什么样的。比如下面这个例子,我们想要的流程是这样的:用户打招呼——机器问用户今天过得怎么样——用户反馈情绪——机器根据不同的情绪进行回复。这里其实有两股流,一股是正面情绪,一股是负面情绪。所以,我们也需要写两个故事。

  插图# #故事标题*意图-行动# # story _ happy * happy-utter _ happy * mood _ happy-utter _ happy # # story _ unhappy * greet 2-utter _ happy * mood _ unhappy-utter _ unhappy将以上内容保存到stories.md

  2.领域领域可以理解为机器的知识库,定义了意图、动作,以及相应动作的反馈内容。

  动作动作模板答案模板实体槽意图:-问候-心情_快乐-心情_不快乐动作:-发出_问候-发出_快乐-发出_不快乐templates:发出_问候:-文本:你好,今天过得怎么样发出_快乐:-文本:太好了发出_不快乐:-文本:怎么了,能告诉我吗?将以上内容保存在domain.yml文件中。

  Rascore的任务是在获取用户意图后,选择正确的动作。这些动作都是在以utter_开头的域中定义的,每个动作都会根据模板中的情况返回相应的内容。

  在这个简单的例子中,我们不需要定义单词槽和实体,所以我们暂时没有在domain中使用它们。

  3.训练对话模型的下一步是用神经网络来训练我们的核心模型。我们可以直接执行下面的命令,训练好的模型会保存在models/dialogue文件夹中。

  python-m rasa _ core . train-d domain . yml-s stories . MD-o models/dialogue

  可以看到,训练过程采用了掩蔽-lstm-密集-激活的结构的神经网络。这里简单介绍一下掩膜层。在nlp字段中,输入内容可能不是相同的长度,因此需要固定长度,以便统一处理数据。所以有些值需要用零填充或者砍掉多余的内容,但是填充的部分其实是没有意义的。蒙版层可以让这些填充的部分不参与后续的计算,从而提高。

  4.试着和你的机器人交流。接下来,我们可以用训练好的模型运行我们的机器人,并执行以下命令

  python-mrasa _ core . run-d models/dialog这个时候我们的机器人还不能判断用户的意图,只能根据输入的意图返回具体的答案,所以只能输入一些结构化的数据,比如我们之前在domian中定义的意图。输入信息需要以/开头,我们可以直接输入意向/问候语。当然,如果你想让机器人回答更多,请在故事和域中输入。

  拉萨NLU 1号,增加NLU模块。目前,我们的机器人可以通过输入意图来获得答案,但如何才能让机器理解真正的语言呢?这时,就需要NLU模块了。NLU的任务是解析消息,它可以将自然语言解释成我们需要的结构化数据。我们将继续改进它。

  首先我们需要定义一个对应的文本内容文件nlu.md,它的意图可能会出现。

  ##意图:问候-你好-早上好-下午好-早上好-晚上好##意图:心情_开心-好-我很好##意图:心情_不开心-我感觉不好-我心情不好。将以上内容保存在nlu.md文件中。

  此外,我们还需要一个nlu的配置文件,nlu_config.yml,因为我们是中文系统,语言对应zh。如果需要英文对话,请修改为en。

  语言:zhpipeline:tensor flow _ embedding将以上内容保存在nlu_config.yml文件中。

  准备就绪后,您可以开始训练NLU模型并执行以下命令

  python-mrasa _ nlu . train-cnlu _ config . yml-datanlu . MD-o models-fixed _ model _ name nlu-project current-verbose 2。再次与你的机器人交流。加入nlu模型后,我们可以让机器识别自然语言。我们将执行以下命令。

  python -m rasa_core.run -d模型/dialogue -u模型/current/nlu

  至此,我们简单的Rasa系统已经搭建完成。你可以继续添加故事、域和nlu文件来构建你自己的Rasa系统。下一篇文章将引导您学习如何识别实体和填充槽。

  Rasa用户指南02

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: