Rasa官方视频教程整理(一):愉快的开始

- Rasa官方视频教程整理(一):愉快的开始

Rasa官方视频教程整理(二):管道中的组件

Rasa官方视频教程整理(三):Core

如果还没安装 rasa,点击进入安装教程,文章会涉及到rasa项目实战,官网要做的是一个关于医疗的rasa助手。

-简介-

用户构建的上下文AI助手,也是聊天机器人。

组成:自然语 言理解(nlu)和对话管理组件(Core)。

    NLU:助手的耳朵,帮助手了解人们说的是啥。以非结构化的人类语言接收用户输入并以意图和实体的方式提取结构化的数据。

        意图:用户输入的总体目标。

        实体:碎片,在特定的上下文助手中可能需要的信息。

    Core:助手的大脑,根据对话的状态及上下文,通过观察模式来学习用户和助手之间的对话数据,预测该如何响应。

Rasa X:含有一种允许助手继续学习的机制,通过真实的对话数据学习。

-创建训练数据-

    在与用户对话的开头,告诉用户自己可以干什么,是好习惯。

    我们也要事先拟定于用户对话的流程,然后根据每句对话的类型训练助手。

    项目的Data目录下包含培训数据,我们这次操作的是 nlu.md 文件,在这里编写模型训练的示例。

nlu文件结构

    ## 开头的是意图,下面几行是用户可能说的话,我们叫示例

   下面我们往文件中添加点数据

代码还是手敲有感觉,大家手敲吧

    可以看到我们用 [ ] 标记了实体,这样可以提取位置信息,以便在后续的对话中使用。( ) 是实体的标签。此处定义了两类实体,位置和设施类型。

    注意:不必写出所有用户可能说的话,开始的时候,通常每个意图有10到15个示例就够了。数据虽然越多越好,但更重要的是数据的质量(与意图相对应,有多样化的词汇和句子结构),这样有利于模型学习,并对看不见的数据进行概括。

    问题讲解:类失衡会不会出问题?

    所谓类失衡就是每个意图对应的示例数不一样,有的特别多,有的特别少,这确实会导致一些问题,但可使用supervised_embeddings管道解决,他具有平衡的批处理策略,接下来就会讲到管道。

   问题讲解:示例里写标点符号有用吗?

    标点符号不会被提取为标记,所以不会用作训练模型的特征,不影响意图分类和实体提取结果。

    问题讲解:意图分类和实体提取区分大小写吗?

    这取决于任务,默认情况下是区分的。会影响到实体提取。管道组件CountVectorsFeaturizer(后续会讲到)会将字符转换成小写。

    问题讲解:当两个意图非常相似,且示例只有实体类别不同时怎么办?

    合成一个意图,后期,在对话训练数据中,可以定义不同的故事,路径取决于NLU提取的实体。

    问题讲解:想从单字输入中提取实体怎么办?

    创建特定意图。

-训练NLU模型:预先配置的管道-

    管道:用于提取特定文本特征并训练某些特征,允许自定义,也可以用rasa预先配置的。选择管道就是选择了如何训练NLU模型以及如何解释输出。

    预先配置的管道有两种:pretrained_embeddings_spacy, supervised_embeddings

    pretrained_embeddings_spacy: 用户输入的每个单词都会被转化为密集的数值向量。优点:当训练数据少的时候非常好用,训练并非从头开始的nlu模型会非常快(迭代时间)。缺点:训练数据只支持英文,训练数据不包含特定的词,比如产品名称和单词缩写等。

config.yml

                                                         意注意:引号可以不写!!!

     supervised_embeddings:更适合自然语言学习(从实际对话中学习),适合于有一千以上带标签的示例的模型。优点:可使用特定的词汇,适用于多种语言,可构建能处理高级案例(一个消息具有多个意图)的模型。

config.yml

  管道的选择:

        如果没有训练的词嵌入,用supervised_embeddings,要处理高级案例,用supervised_embeddings,助手必须处理特定于域的词汇,是的话如果训练数据很多,用supervised_embeddings,其他情况用pretrained_embeddings_spacy。

选择管道流程图

    训练nlu模型可以选一个管道,也可以用项目中写好的。请在虚拟环境中进行,进入项目根目录,在终端执行rasa train nlu。不记得命令的可以看这里

    测试模型:可使用 Resa CLI 函数rasa shell nlu 进行测试。(在这里笔者不知道怎么退出rasa shell nlu,怎么也差不到,请看到的小伙伴不吝赐教)

测试nlu模型

    测试时模型的输出,包含了输入的那句话最可能的意图,name 后面的是意图,confidence 后面跟的是对这个意图的确定性。

    管道由很多组件构成,下面是完整组件列表,负责特定的内容。了解每个组件的工作方式对于理解你的模型的行为方式以及如何设计训练数据至关重要。

pretrained_embdddings_spacy
supervised_embeddings

下一章:Rasa官方视频教程整理(二):管道的组件

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,340评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,762评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,329评论 0 329
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,678评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,583评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,995评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,493评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,145评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,293评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,250评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,267评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,973评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,556评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,648评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,873评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,257评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,809评论 2 339

推荐阅读更多精彩内容