(早前的一个智能聊天机器人设计, 实际使用中已经改了很多了.)
简述
主要分三块:
SuperRobot 框架主体.
自然语言理解系统.
词向量 Trainer.
SuperRobot
AliceBot 负责闲聊, 采用 AIML Engine, 属于 rulebased.
闲聊语句通过后台输入到 DB.
ServiceBot 负责业务 QA,Matcher 负责匹配工作.
自定义 QA 对通过后台输入到 DB.
AbilityBot 负责与第三方系统交互, 通过 REST 请求自然语言理解系统返回意图及实体.
后台能定义交互的服务接口.
用 Java 开发.
自然语言理解系统
主要负责的工作时意图预测和实体识别.
需要标注业务数据样本的实体和意图.
实体提取器通过序列标注训练模型并实现实体提取.
意图分类器通过 SVM 训练模型并实现意图预测.
麻省理工 NLP 工具 MITIE.
用 Python,C++ 开发.
词向量 Trainer
主要负责词向量训练.
普通语料包括维基百科百度百科.
业务语料包括业务系统数据.
用 DLib 机器学习库.
用 C++ 开发.
训练的模型供前面使用.
来源: https://juejin.im/post/5a751d326fb9a0634e6c65db