通常来说,聊天机器人的系统框架如下图所示,包含五个主要的功能模块。语音识别模块负责接收用户的语音输入并将其转换成文字形式交由自然语言理解模块进行处理。自然语言理解模块在理解了用户输入的语义之后将特定的语义表达式输入到对话管理模块中。对话管理模块负责协调各个模块的调用及维护当前对话状态,选择特定的回复方式并交由自然语言生成模块进行处理。自然语言生成模块生成回复文本输入给语音合成模块将文字转换成语音输出给用户。这里我们仅以文本输入形式为例介绍聊天机器人系统,语音识别和语音合成相关技术则不做展开介绍。
聊天机器人系统框架图
自然语言理解
自然语言理解的目的是为聊天任务生成一种语义表示形式[1]。通常来说,聊天机器人系统中的自然语言理解功能包括用户意图识别、用户情感识别、指代消解、省略恢复、回复确认及拒识判断等技术。
1)用户意图识别:用户意图又包括显式意图和隐式意图,显示的意图通常对应一个明确的需求,如用户输入“我想预定一个标准间”,明确表明了想要预定房间的意图,而隐式意图则较难判断,如用户输入“我的手机用了三年了”,有可能想要换一个手机或者显示其手机性能和质量良好。
2)用户情感识别:用户情感同样也包含显式和隐式两种,如用户输入“我今天非常高兴”,明确表明了喜悦的情感,而“今天考试刚刚及格”,则不太容易判断用户的情感。