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

进行安装。Rasa Nlu 同理。可以先根据项目里自带的example进行训练运行。具体运行方式见项目及Demo中的Makefile。

Rasa NLU 深入了解

NLU 的难点主要在语料的准备, 接下来就自己了解到的经验进行一一记录。

  • 每个意图要有关键字,意图中的每句都要有关键字。
  • 每个关键字要扩充20左右的语句。
  • 所有语句之间要够发散、离散(即除关键字外尽量不用重复的词语)。
  • 除关键字之外,所有的词字,在每个意图中重复率要低、要低,最好不重复。
  • 整个文件中,除关键字之外,所有的词字,重复率要低、要低,最好不重复。
  • 上面两条造成的现象就是,你我他啊是的吗之类的词都要去掉(语义可以稍微不通顺,可接受)。
  • 句式相同,参数不同的意图进行合并,通过后期校验参数进行分辨。

意图识别的准确度跟两方面有关

  • 关键字在当前意图中出现的频率
  • 关键字在整个文件中出现的频率

有什么错误欢迎指出,其他的具体问题也可以在评论中留言。

你可能感兴趣的:(人工智能)