Rasa NLU 聊天机器人自然语言理解
Posted APM工作者联盟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rasa NLU 聊天机器人自然语言理解相关的知识,希望对你有一定的参考价值。
Rasa NLU
RasaCore 是一个自然语言理解框架。https://nlu.rasa.ai,下文将对基本流程及使用方式以及部分原理进行描述,本文来自http://lvchongstudio.top/。
Rasa Nlu 工作原理
智能机器人是人工智能一个重大分支,只能机器人包括几大模块:自然语言识别(ASR)、自然语言处理(NLU)、对话流程(DM)、自然语言生成(TTS),目前自己的工作涉及的方面主要是 NLU 与 DM,本文主要写一下NLU,即Rasa NLU。关于对话流程见另一篇博文。
具体流程:
编写一个文件 intent.md 用来存放语料(需要根据意图,进行语料扩展)
接下来就是用上面的个文件,训练出 Rasa NLU 的模型。
最后,这就到最后了,使用Rasa NLU 的模型就可以开启服务。
哦,这才是最后,现在就可以测试问题具体的识别准确率了,以及参数的提取准确度。
看完自己写的工作原理,发现真的很简练,哈哈,根本不能上手使用。总要写的完全一些,深入一些的。
Rasa NLU 项目使用方法
github 上面搜索 Rasa_NLU,具体安装方式参见项目介绍。建议将整个项目源码拉下来,在项目的根目录运行
python setup.py install
1
2
进行安装。Rasa Nlu 同理。可以先根据项目里自带的example进行训练运行。具体运行方式见项目及Demo中的Makefile。
Rasa NLU 深入了解
NLU 的难点主要在语料的准备, 接下来就自己了解到的经验进行一一记录。
每个意图要有关键字,意图中的每句都要有关键字。
每个关键字要扩充20左右的语句。
所有语句之间要够发散、离散(即除关键字外尽量不用重复的词语)。
除关键字之外,所有的词字,在每个意图中重复率要低、要低,最好不重复。
整个文件中,除关键字之外,所有的词字,重复率要低、要低,最好不重复。
上面两条造成的现象就是,你我他啊是的吗之类的词都要去掉(语义可以稍微不通顺,可接受)。
句式相同,参数不同的意图进行合并,通过后期校验参数进行分辨。
意图识别的准确度跟两方面有关
关键字在当前意图中出现的频率
关键字在整个文件中出现的频率
以上是关于Rasa NLU 聊天机器人自然语言理解的主要内容,如果未能解决你的问题,请参考以下文章
Transformer课程发布 业务对话机器人Rasa核心算法DIET及TED论文详解