通常来说,聊天机器人的系统框架如下图所示,包含五个主要的功能模块。语音识别模块负责接收用户的语音输入并将其转换成文字形式交由自然语言理解模块进行处理。自然语言理解模块在理解了用户输入的语义之后将特定的语义表达式输入到对话管理模块中。对话管理模块负责协调各个模块的调用及维护当前对话状态,选择特定的回复方式并交由自然语言生成模块进行处理。自然语言生成模块生成回复文本输入给语音合成模块将文字转换成语音输出给用户。这里我们仅以文本输入形式为例介绍聊天机器人系统,语音识别和语音合成相关技术则不做展开介绍。

聊天机器人系统框架图

自然语言理解

自然语言理解的目的是为聊天任务生成一种语义表示形式[1]。通常来说,聊天机器人系统中的自然语言理解功能包括用户意图识别、用户情感识别、指代消解、省略恢复、回复确认及拒识判断等技术。

1)用户意图识别:用户意图又包括显式意图和隐式意图,显示的意图通常对应一个明确的需求,如用户输入“我想预定一个标准间”,明确表明了想要预定房间的意图,而隐式意图则较难判断,如用户输入“我的手机用了三年了”,有可能想要换一个手机或者显示其手机性能和质量良好。

2)用户情感识别:用户情感同样也包含显式和隐式两种,如用户输入“我今天非常高兴”,明确表明了喜悦的情感,而“今天考试刚刚及格”,则不太容易判断用户的情感。

3)指代消解和省略恢复:在对话过程中,由于人们之间具备聊天主题背景一致性的前提,用户通常使用代词来指代上文中的某个实体或事件,或者干脆省略一部分句子成分。但对于聊天机器人系统来说只有明确了代词指代的成分以及句子中省略的成分,才能正确理解用户的输入,给出合乎上下文语义的回复。因此需要进行代词的消解和省略的恢复。

4)回复确认:用户意图有时会带有一定的模糊性,这时就需要系统具有主动询问的功能,进而对模糊的意图进行确认,即回复确认。

5)拒识判断:聊天机器人系统应当具备一定的拒识能力,主动拒绝识别超出自身回复范围之外或者涉及敏感话题的用户输入。

当然,词法分析、句法分析以及语义分析等基本的自然语言处理技术对于聊天机器人系统中的自然语言理解功能也起到了至关重要的作用。

对话管理

对话管理功能主要协调聊天机器人的各个部分,并维护对话的结构和状态[9]。对话管理功能中涉及到的关键技术主要有对话行为识别、对话状态识别、对话策略学习及对话奖励等。

1)对话行为识别:对话行为是指预先定义或者动态生成的对话意图的抽象表示形式。分为封闭式和开放式两种,所谓封闭式对话行为,即将对话意图映射到预先定义好的对话行为类别体系。常见于特定领域或特定任务的对话系统,如票务预订、酒店预订等,例如:“我想预订一个标准间”,这句话被识别为Reservation(Standard_room) 的对话行为。相对的,开放式对话行为则没有预先定义好的对话行为类别体系,对话行为动态生成。常见于开放域对话系统,如聊天机器人。例如:“今天心情真好啊”,这句话的对话行为可以通过隐式的主题、N元组、相似句子簇、连续向量等形式表达。

2)对话状态识别:对话状态与对话的时序及对话行为相关联,在t时刻的对话行为序列即为t时刻的对话状态。因此,对话状态的转移就由前一时刻的对话状态与当前时刻的对话行为决定。

3)对话策略学习:通常是通过离线的方式,从人-人对话数据中学习对话的行为、状态、流行度等信息,从而作为指导人-机对话的策略。这里流行度通常是指特定模式在语料库中的频度。

4)对话奖励:对话奖励是对话系统的中间级评价机制,但会影响对话系统的整体评价。常见的对话奖励有槽填充效率和回复流行度等。

自然语言生成

自然语言生成通常根据对话管理部分产生的非语言信息,自动生成面向用户的自然语言反馈[10]。近年来,在聊天机器人系统上的对话生成主要涉及检索式和生成式两类技术。

1)检索式对话生成技术:检索式的代表性技术[2]是在已有的人人对话语料库中通过排序学习技术和深度匹配技术找到适合当前输入的最佳回复。这种方法的局限是仅能以固定的语言模式进行回复,无法实现词语的多样性组合。

2)生成式对话生成技术:生成式的代表性技术[3,4]则是从已有的人人对话中学习语言的组合模式,是通过一种类似机器翻译中常用的“编码-解码”的过程去逐字或逐词地生成一个回复,这种回复有可能是从未在语料库中出现的、由聊天机器人自己“创造”出来的句子。

聊天机器人研究存在的挑战

当前,聊天机器人的研究存在的挑战包括:对话上下文建模、对话过程中的知识表示、对话策略学习、聊天机器人智能程度的评价等。

1)对话上下文建模:聊天是一个有特定背景的连续交互过程,在这一过程中经常出现上下文省略和指代的情况。一句话的意义有时要结合对话上下文或者相关的背景才能确定,而现有的自然语言理解主要基于上下文无关假设,因此对话上下文的建模成为聊天机器人系统的主要挑战之一。

2)对话过程中的知识表示:知识表示一直就是人工智能领域的重要课题,也是聊天机器人提供信息服务的基础。聊天机器人相关的领域任务可能有复杂的组成,牵涉很多的因素,只有了解这些因素的关系和相关的含义,才能与用户做到真正意义上的交流。

3)对话策略学习:对话策略涉及很多方面,其中最主要的是对话的主导方式。对话主导方式可以分为用户主导、系统主导和混合主导三种方式。在当前的对话管理研究中,系统应答的目标是自然、友好、积极,在不会发生问题的情况下,让用户尽可能自主,实现对话的混合主导。

4)聊天机器人智能程度的评价:目前聊天机器人智能程度的评价也是一项挑战。虽然可以采用一些通用的客观评价标准,如回答正确率、任务完成率、对话回合数、对话时间、系统平均响应时间、错误信息率等,对聊天机器人进行评价,评价的基本单元是单轮对话。但是,由于人机对话过程是一个连续的过程,而对不同聊天机器人系统的连续对话的评价仅能保证首句输入的一致性,当对话展开后,不同系统的回复不尽相同,因此不能简单地将连续对话切分成单轮对话去评价,于是设计合理的人工主观评价也许能够成为客观评价标准之外,对聊天机器人系统智能程度评价的重要指标。

聊天机器人在研究上的展望

随着聊天机器人研究的广泛开展,未来的研究将着眼于以下三方面:

1)端到端:得益于深度学习技术的发展,已有学者开始着手研究端对端的对话系统[5],即利用统一的模型代替序列化地执行自然语言理解、对话管理和自然语言生成的步骤,从用户的原始输入直接生成系统回复。

2)从特定域到开放域:随着大数据时代的到来,一方面,使得开放域的聊天机器人系统得以获取丰富的对话数据用于训练,另一方面,在大数据上可以自动聚类或抽取对话行为等信息,避免繁杂的人工定义。

3)更加关注“情商”:如果说传统的聊天机器人关注的是“智商”,即聊天机器人的信息和知识获取能力的话,那么今后的聊天机器人研究则更加注重“情商”,即聊天机器人的个性化情感抚慰、心理疏导和精神陪护等能力。

相信在不久的将来,一个能够让人们与之无所不谈的高“情商”聊天机器人将走入我们的日常生活,成为我们的朋友、同事甚至是家人。

[1] Ginzburg J, Fernandez R. Computational Models of Dialogue[M]// The Handbook of Computational Linguistics and Natural Language Processing. Wiley‐Blackwell, 2010:429-481.

[2] Z. Ji, Z. Lu, H. Li. An information Retrieval Approach to Short-text Conversation. arXiv: 1408.6988, 2014.

[3] Ritter A, Cherry C, Dolan W B. Data-Driven Response Generation in Social Media.[J]. Empirical Methods in Natural Language Processing, 2011:583-593.

[4] L. Shang, Z. Lu, and H. Li. Neural Responding Machine for Short-text Conversation. In Proceedings of ACL, 2015.

[5] I.V. Serban., A. Sordoni, Y. Bengio et al. Building End-To-End Dialogue Systems Using Generative Hierarchical Neural Network Models. arXiv:1507.04808v2 [cs.CL] 25 Nov 2015.

聊天机器人系统的组成结构及关键技术相关推荐

  1. kuka机器人计算机单元有几部分组成,详解KUKA机器人系统原理与结构

    1 系统原理与结构 系统由机械手.CCD 视觉传感器和超声波传感器及相应的信号处理单元等构成. CCD 安装在机械手末端执行器上,构成手眼视觉,超声波传感器的接收和发送探头也固定在机器人末端执行器上, ...

  2. 机器人产业的前途取决于人工智能关键技术的发展

    来源:亿欧 概要:让机器人实现智能的关键技术在最近十年会发展到什么程度?整个产业的应用前景将会如何? 目前的机器人已经能够胜任精确.重复性的工作,但很多时候,它还不能够灵活地为新任务进行自我调整,也不 ...

  3. Chatgpt聊天机器人系统开发

    智能聊天ChatGPT的主要功能包括:     对话生成:生成连贯.自然的对话回复,与用户进行自然而流畅的对话.     意图识别:识别用户的意图和需求,并提供相应的回复或建议.     语义理解:理 ...

  4. 聊天机器人相关中文资料

    聊天机器人三代: 第一代可以理解为:大量的if then else then,典型的特征工程. 第二代可以理解为:对话检索,给定一个问题或者聊天,检索库中已有的答案与之最匹配.比如:小黄鸡. 第三代可 ...

  5. 聊天机器人落地及进阶实战 | 公开课速记

    嘉宾 | 邵浩 编辑 | suiling 来源 | AI科技大本营在线公开课 近年来,聊天机器人技术及产品得到了快速的发展.聊天机器人作为人工智能技术的杀手级应用,发展得如火如荼,各种智能硬件层出不穷 ...

  6. 聊天机器人技术分析综述

    研究背景及发展现状 1950年图灵(Alan M. Turing)在<Mind>上发表文章<Computing Machinery and Intelligence>,文章开篇 ...

  7. 聊天机器人发展及应用技术解析

    本文介绍聊天机器人原理及实现傻瓜式聊天机器人. 1 聊天机器人简介 维基百科 聊天机器人(也称为聊天机器,聊天机器人,Bot,IM bot,交互代理或人工对话实体)是通过语音或文本进行对话的计算机程序 ...

  8. 让阿宅不再寂寞的聊天机器人

    阿宅爱上了阿美 在一个有星星的夜晚 飞机从头顶飞过 流星也划破那夜空 虽然说人生并没有什么意义 但是爱情确实让生活更加美丽 阿美嫁给了二富 在一个有香槟的晴天 豪车从眼前驶过 车笛也震动那烈阳 虽然说 ...

  9. Facebook 推出新聊天机器人,号称击败谷歌?

    来源 | Hyper超神经(ID:HyperAI) 封面图 | CSDN付费下载自视觉中国 4 月 29 日,Facebook AI 和机器学习部门 FAIR 发布博客宣布,经过多年研究,他们已近构建 ...

最新文章

  1. 互联网对erp行业到底有什么影响
  2. Unity Remote使用方法
  3. 在android手机上运行PHP
  4. 2017西南计算机数学基础,[0838]《计算机数学基础》西南大学 2017 秋学期 计算机专业 作业题目及参考答案资料讲解.docx...
  5. 分解和合并:Java 也擅长轻松的并行编程!
  6. 移植linux内核-映像文件,移植Linux内核-映像文件
  7. 添加 code snippets (转)
  8. JS 将图片编码BASE64
  9. Python学习笔记25:接口类、抽象类和封装
  10. mysql 怎么区分大小写_MYSQL区分大小写
  11. 雷霆战机android代码,雷霆战机代码
  12. scrapy extention实战-空闲时关闭爬虫
  13. 中文散步的时候,发现枫叶开始红了
  14. 文科生学python简书_文科生Python教程(一)
  15. mysql外键设置不成功_MySQL数据库建立外键失败的原因总结
  16. SQL外部联合:right outer join、left outer join、full outer join
  17. 信息的可再生性举例_举例说说信息的可处理性
  18. (附源码)计算机毕业设计SSM幼儿园管理系统
  19. 网站优化---页面静态化技术
  20. 分布式微服务项目实现高并发高可用高性能可以使用到的方案

热门文章

  1. 如何做到两个IP地址是否属于同一网段?
  2. node安装升级思考
  3. Cannot download sources Sources not found for:xxx解决方法汇总
  4. 获取当前时间的后一天/前一天或者后1小时/前1小时
  5. Golang 中 map 探究
  6. 百度病了,必应挂了,Yandex疯了。
  7. 记录一次使用Redis中ZSet和List分页
  8. eSIM(Embedded-SIM)-嵌入式SIM卡
  9. h5py is running against HDF5 1.10.5 when it was built against 1.10.4
  10. 四川计算机专业的二本大学排名及分数线,2019-2020四川二本大学排名及分数线(理科+文科)...