标记一下各类名词,但是不做过多的解释了,看到不懂的朋友们自行搜索吧
-
标准对话机器人架构
基本的对话机器人框架
- ASR
Auto Speech Recognition
自动语音识别
现在已经很普遍了,各种云平台上的开放API也很多了,一般个人和企业感觉没必要从这块开始自己做
可选的讯飞、百度、阿里、腾讯
- TTS
Text To Speech
语音合成
同样很多家都在做了。
可选的讯飞、百度、阿里、腾讯
额外的是Google的Tacotron系列论文,效果说是很好,最新的是Tacotron-2,github上也有各类的实现代码,以及语音数据
另外中文部分可以用来训练的也有一些,后续再详细分享。
- NLU
Natural Language Understanding
基本上NLP里核心的核心就是的先understanding,分词、词性识别、句法分析,常见的jieba分词,哈工大的ltp等等
然后是意图识别,命名实体识别
- DM
Dialogue Management
对话管理
简单来说,看过有的公司对这块能力的等级评定,基本上最早的就是FAQ类的一问一答型的对话。随着能力的提升,任务型对话、多轮对话,都是通过对话管理来实现的。多轮对话中,实现意图切换、上下文继承等等。
- NLG
Natural Language Generation
自然语言生成
处理之后,当然要生成一句话返回给用户,如果每次都是同样的模板,就显得有些古板和不智能了吧。
- Tokenize
分词
在之前的处理过程中,分词都是必经的第一步,无论是意图识别、还是关键字段信息的识别都绕不开分词。但是随着BERT以及百度ERNIE的提升,貌似这些都不是必须的了。
同时,在折腾rasa框架过程中,试用过各种分词后进行意图识别、命名实体识别的,后来发现对于中文里面,很多词必须带着上下文,带着意图啥的才能分词分好。所以后期基于BERT的方案,可以不用分词了。
- NER
Naming Entity Recognition
命名实体识别
这个是处理的重点之一,毕竟我们大脑处理一句话的时候,也是要提取关键字段信息的,从小就开始训练我们的,时间、地点、人物等等要素是必须的。然后根据各自领域、行业、业务等自己增加需要训练和识别的字段,这也是fine tune的价值所在。
- Intent Recognition
意图识别
要让机器明白我们想要让它干嘛,对于机器来说,可以理解为一个分类过程。
- BERT
满大街都是介绍和解释的文章,我就不班门弄斧了。后续的XLNet、ERNIE2.0等等都是在这个思路上往前走。做为折腾的必经之路,这个是必须搞得。
