# 系统优化和其他特性

# 面向快速开发的训练优化

当你点击 Train everything 按钮的时候,NLU 的默认动作是把所有的故事都训练一遍,基于你选的 policies 和你创建的故事数量,训练过程可能会持续比较长的时间。优化这个过程的方法之一是,你可以专注在一个或者多个主要的故事组和他们包含的故事上,训练的时候只训练这几个特定的故事组。

把鼠标移动到故事组的名字上,会出现一个 专注(眼睛)图标,点这个图标可以把这个故事组设为需要训练的状态。注意,当你把某一个故事组设置成 专注(眼睛)图标 后,Train everything 图标就会变成一个黄色的 Partial training 按钮,并且上面会有个表示需要训练的故事总数的数。

Story group hover

Story group focus

Story group focus

Partial training button

# 默认域管理

开发一个基于 Rasa 的虚拟助理过程中,维护好 domain 文件 是非常重要的一环,Botfront 通过自动解析你故事的内容,抽取相关的动作、实体、槽等等,做到了自动维护默认域文件。

即便如此,在有些特殊情况下还是需要手动去处理一下域文件,比如,当你想在一个自定义动作里面调用另一个自定义动作或者使用槽的场景。

Default domain management

# 错误和警告信息

错误和警告信息对故事编辑来说是一个非常有用的特性,错误的数据会影响要训练的模型和用户体验,在这些错误数据被添加到模型之前,适当的提醒信息会帮你避免这样的错误。

如图所示,当编辑的内容出现问题时,一个警告或者错误提示标会出现在回复框的一行上,同时,在故事编辑器的头部也会有一个标识符出现,把鼠标移动到这个标上会出现如何解决这个问题的提示。

警告和错误信息覆盖了大部分的可能情况,而且随着 Botfront 的升级还会进一步完善。

# 故事分组管理

把故事分组的方式可以优雅整洁的管理故事,你可以根据需要创建任意数量的故事分组并给这些分组命名,如果把一个故事分组中的最后一个故事删除,也会同时删除这个分组。

点击这个 Move 按钮,你可以把故事移动到任意你想要的分组中去。

Move story

# 故事重命名

故事分组可以在这个位置很容易的重命名。

Rename story

# 折叠和展开故事

为了方便集中精力在几个重要故事上,你可以方便的通过故事编辑器左上角的小三角按钮来折叠或展开故事。

# 特殊的组:开场故事组

开场故事组里面包含了用户初次打开对话机器人聊天界面时接受到的消息,针对不同的打开方式,对应了不同的应答,在对话框的左上角你会发现一个 闪电 标示,点开之后你会发现所有初始应答的内容。

在这里你可以针对不同场景的开场白做编辑,比如有些场景下你希望从不同的 web 页面进来的用户获得不同的开场白,注意,这种情况下需要你在前端做一些小小的适配工作,如果你用的是 Rasa Webchat 这个插件,你可以通过修改 initPayload 参数来完成适配。

每个新项目都会默认创建一个 开场故事组