什么是聊天机器人

聊天机器人,是一种通过自然语言模拟人类进行对话的程序,比如微软小冰、Siri、图灵机器人等。

聊天机器人框架是什么 聊天机器人功能描述_聊天机器人框架是什么


一般来说聊天机器人大致可分为两种,分别是任务导向型和非任务导向型。

  • 任务型聊天机器人指特定条件下提供信息或服务的机器人,后文将重点介绍。
  • 非任务导向型机器人一般是与人类在开放场景进行交互,提供合理的回复和娱乐消遣功能。由于非任务型聊天机器人问答内容的不确定性,因此存在很大的敏感词风险,具体表现为:
    - 语料库中存在违规内容;
    - 语料库过大,人工审核难度大;
    - 即时经过了模型过滤,也很难保证已过滤内容的安全性;
    - 即使语料库中不含有风险内容,也有可能由于用户与之对话,带来上下文联想的内容风险。

聊天机器人可以干什么

聊天机器人框架是什么 聊天机器人功能描述_聊天机器人_02


聊天机器人可以作为应用的入口和载体,可以作为运营工具,为其他业务方赋能。

  • 可以支持对话、客服、游戏、虚拟形象等多种场景
  • 可以支持SDK、HTTP、RPC等多种接入方式
  • 通过管理平台多种技能可以自由配置
  • 依托深度学习算法和大数据让机器人更智能

聊天机器人框架是什么 聊天机器人功能描述_人工智能_03

聊天机器人案例

聊天机器人框架是什么 聊天机器人功能描述_聊天机器人框架是什么_04

任务型聊天机器人技术要点

聊天机器人框架是什么 聊天机器人功能描述_自然语言处理_05

语言理解(NLU)

Natural Language Understanding,语言理解模块,负责对传入的请求进行意图解析和实体识别,主要包括IR和NER两部分。

  • IR
    Intent Recognition,意图识别,对输入的请求,解析到对应的意图,主要包括意图分类和模板匹配两部分。
    1)意图分类用于对数据的预分类,为了减少后台计算量,只对分类后topN类别进入模板匹配和ner,这块需要根据日志数据提升分类准确率,存在离线学习模块;
    2)模板匹配是根据用户定义的相关pattern,计算之间的匹配度(ner之后),返回精确的匹配分值。
  • NER
    Named Entity Recognition,命名实体识别,如果意图包含实体信息,需要抽取对应的实体信息,则调用ner模块,获取对应实体信息。
对话管理(DM)

Dialogue Management,对话管理模块,负责处理用户对话请求和回答,包含服务接口、数据流管理、调用控制、DC(Dialogue Context,对话上下文)、DST(Dialogue State Tracking,对话状态跟踪)、DS(Dialogue strategy,对话策略)。

聊天机器人框架是什么 聊天机器人功能描述_人工智能_06

  • DC
    Dialogue Context,对话上下文模块,处理意图之间的上下文关系,包括上一个意图是否包含指定下一个请求意图对象,每个意图进入解析的条件判断。
  • DST
    Dialogue State Tracking,对话状态跟踪,包括持续对话的各种信息,根据旧状态,用户状态与系统状态(即通过与数据库的查询情况)来更新当前的对话状态。
  • 聊天机器人框架是什么 聊天机器人功能描述_模板匹配_07

  • DS
    Dialogue strategy,对话策略,与所在任务场景息息相关,通常作为对话管理模块的输出,如对该场景下缺失槽位的反问策略等。例如,用户问“今天天气怎么样?”,机器人反问”请问你在哪个城市?“,以引导用户补全用户意图信息。
语言生成(NLG)

Natural Language Generation,语言生成模块,负责根据解析到的意图,返回对应的结果,主要包括第三方提供的内容、用户定义的actions等。