阿里云智能机器人—云博士
云博士(Dr. Cloud)的官网地址为https://drcloud.aliyun.com,主要功能是通过大数据分析来猜测用户可能遇到的问题并给出解决方案,通过人工智能的技术提供秒级的在线智能问答服务。

Portal层:Portal层是用户与云博士进行交互的界面,包含PC端、阿里云APP端与钉钉端。一方面用户可以通过PC和阿里云APP两个途径和云博士进行便捷交互,另一方面可以将把云博士作为机器人加入到了钉钉群,群内所有用户只要在群里@云博士就可以开启提问模式,也可以在钉钉上直接和云博士进行一对一的会话。
智能服务引擎层:智能服务引擎层是云博士处理所有重要逻辑的核心层,同时提供接口供Portal层调用,使得Portal层只需要关注input和output。引擎层主要分为在线响应和离线分析两部分,包涵几个重要的模块:
- 人工智能算法:用户输入问题后,引擎层调用阿里云ET的问答引擎获取相应答案,根据业务需要对备选答案进行再次处理和答案可信度计算,最后依据设置的可信度阈值来判断答案是否能解决用户的问题。
- 缓存处理:为了保证高并发情况下的秒级应答体验,云博士使用缓存机制提升性能。在流量比较大的时候,云博士把问答输入和输出存入缓存,之后来自用户的问题如果命中缓存中的问答输入,云博士会把缓存中对应的答案直接返回给用户。
- 数据封装:把从数据库和调用外部服务获取的各种数据进行封装,输出给Portal层。
- 调度:Portal层通过调用HSF(类似Dubbo服务)接口,把请求分发到引擎层不同的服务器中实现调度均衡。其中job调度利用DTS(阿里自研的任务调度服务,类似Quartz)和ODPS(大数据计算服务)来运行相应的job。
- 负载控制:当流量陡然增大时,为了防止服务超负荷运转出现问题甚至宕机,引擎层还做了负载控制,在超过系统承受范围时做限流,保证服务能够正常运转。
- 提供服务调用:系统通过HTTP和HSF接口为Portal层提供服务调用。
- 数据分析:把云博士所有问答记录取出进行分析,以帮助算法和数据的优化。
- RDS: 即MySQL数据库,主要存放的是需要经常使用,对于读写实时性要求高的数据。
- ODPS: 一般存放的是离线任务执行后生成的数据,对于读写的实时性要求并不高。离线任务生成的部分数据会同步到RDS,供引擎层使用。
- OSS: 主要存放训练算法模型的训练集数据。
外部数据来源层:调用外部系统获取相应的数据使得云博士更好的进行状态判定和问题排查,比如调用账单系统查看用户有没有因为欠费而导致服务处于异常状态,调用黑洞清洗查看用户实例有没有处于黑洞中等等。
- 语料编辑:供人工智能训练师编辑语料。
- 数据运维:实时监控云博士的各种指标,如准确率、PV、UV、、响应时间和一些业务指标。
- 知识点标题:如 “如何连接RDS数据库?”
- 扩展问句集: 因为不同的用户会有不同的问法,有些问法之间算法相似度并不高,需要算法把同一个知识点不同问法都放入扩展问句集中。


最后更新:2017-08-13 22:29:15