常见的对话系统

  • 个人助手

    •Apple Siri, Amazon Alexa, Baidu Xiaodu
  • 客户服务•餐厅预定、商品咨询、债务催收
  • 休闲娱乐

    •Microsoft XiaoIce,Replika

放域对话系统

  • 检索式系统
  • 生成式系统

检索式系统



生成模型

  • Sequence-to-sequence
  • Generative Pre-training Models

Sequence-to-sequence







Generative Pre-training Models

  • BERT 使用了双向注意力机制,每个token可以向左向右看到各个token
  • GPT 使用了单向注意力机制(从左到右),是一个生成模型,每个 token只能看到自己和前他面的词,只能看到以前的,所以比较适合用来做生成任务,像平常说话也是一个词一个词的,Q:你有没有养宠物,A:我有一只猫,
  • PrefixLM (Unified Transformer)使用了编码端双向、生成端单向的注意力机制,适合开放域的对话任务



解码策略

  • Greedy Decoding

  • Sampling-based Decoding

  • 每一步,选取最可能的单词(i.e. argmax)

  • 把选取的单词补充到input中,继续下一步解码

  • 停止条件: 继续解码直到产生[EOS] 或者达到了事先定义的最大生成长度

Sampling-based Decoding







解码策略–总结

  • Greedy decoding 方法很简单,但效果一般较差
  • Sampling-baseddecoding可以得到更多样化/随机的回复

    •比较适合于开放式/创造性的生成任务,像对话、诗词、故事生成

    •Top-k/p sampling 可以通过调节k/p,对生成的多样性进行控制

对话评估

  • 自动评估: BLEU、Distinct
  • 人工评估

BLEU



Distinct

人工评估









开放域对话模型演进历史



PLATO-2







总结及展望

视频:https://aistudio.baidu.com/aistudio/course/introduce/24177?sharedLesson=1493709&sharedType=2&sharedUserId=2631487&ts=1687157269113

课件:https://aistudio.baidu.com/aistudio/course/introduce/24177?sharedLesson=1567921&sharedType=2&sharedUserId=2631487&ts=1687157254946

自然语言处理 Paddle NLP - 开放域对话系统-理论的更多相关文章

  1. 2023计算机领域顶会(A类)以及ACL 2023自然语言处理(NLP)研究子方向领域汇总

    2023年的计算语言学协会年会(ACL 2023)共包含26个领域,代表着当前前计算语言学和自然语言处理研究的不同方面.每个领域都有一组相关联的关键字来描述其潜在的子领域, 这些子领域并非排他性的,它 ...

  2. 聊天机器人(chatbot)终极指南:自然语言处理(NLP)和深度机器学习(Deep Machine Learning)

    在过去的几个月中,我一直在收集自然语言处理(NLP)以及如何将NLP和深度学习(Deep Learning)应用到聊天机器人(Chatbots)方面的最好的资料. 时不时地我会发现一个出色的资源,因此 ...

  3. 自然语言处理(NLP)相关学习资料/资源

    自然语言处理(NLP)相关学习资料/资源 1. 书籍推荐 自然语言处理 统计自然语言处理(第2版) 作者:宗成庆 出版社:清华大学出版社:出版年:2013:页数:570 内容简介:系统地描述了神经网络 ...

  4. Aleax prize (开放域聊天系统比赛)2018冠军论文阅读笔记

    Abstract Gunrock是一种社交机器人,旨在让用户参与开放域的对话.我们使用大规模的用户交互数据来迭代地改进了我们的机器人,使其更具能力和人性化.在2018年Alexa奖的半决赛期间,我们的 ...

  5. [开源]开放域实体抽取泛用工具 NetCore2.1

    开放域实体抽取泛用工具 https://github.com/magicdict/FDDC 更新时间 2018年7月16日 By 带着兔子去旅行 开发这个工具的起源是天池大数据竞赛,FDDC2018金 ...

  6. 注意力机制(Attention Mechanism)应用——自然语言处理(NLP)

    近年来,深度学习的研究越来越深入,在各个领域也都获得了不少突破性的进展.基于注意力(attention)机制的神经网络成为了最近神经网络研究的一个热点,下面是一些基于attention机制的神经网络在 ...

  7. Laya微信小游戏的开放域

    版本2.1.1.1 现在Laya的开放域比较好用了. 新建开放域项目,里面直接有个排行榜的示例. 直接发布 得到较少的文件,复制这些文件,粘贴到主项目bin/openDataContext下. (op ...

  8. 初学者如何查阅自然语言处理(NLP)领域学术资料

    1. 国际学术组织.学术会议与学术论文 自然语言处理(natural language processing,NLP)在很大程度上与计算语言学(computational linguistics,CL ...

  9. 利用Tensorflow进行自然语言处理(NLP)系列之一Word2Vec

    同步笔者CSDN博客(https://blog.csdn.net/qq_37608890/article/details/81513882). 一.概述 本文将要讨论NLP的一个重要话题:Word2V ...

  10. 自然语言处理(NLP)知识结构总结

    自然语言处理知识太庞大了,网上也都是一些零零散散的知识,比如单独讲某些模型,也没有来龙去脉,学习起来较为困难,于是我自己总结了一份知识体系结构,不足之处,欢迎指正.内容来源主要参考黄志洪老师的自然语言 ...

随机推荐

  1. [数据库]mysql/mysqldump命令帮助说明

    1 mysql [root@test ~]# mysql --help mysql Ver 14.14 Distrib 5.7.24-27, for Linux (x86_64) using 6.0 ...

  2. @property、关联关系、继承、多继承

    1.@property使用来修饰属性的,将属性私有化改为公有化,但是可以设置属性条件 格式: class Person: def __init__(self,name,age): self.name ...

  3. 四月二十五号java基础知识

    1.注意:无论哪个构造方法,在创建文件输入输出流时都可能银给出的文件名不对.路径不对文件的属性不对等,不能打开文件而造成错误,此时系统会抛出FileNotFoundException异常执行read( ...

  4. LeeCode 二叉树问题(二)

    二叉树的构建 LeeCode 106: 从中序遍历与后续遍历序列构造二叉树 题目描述 给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, posto ...

  5. windows安装telnet命令

    1.打开控制面板 2.点击程序和功能 3.点击打开或关闭windows功能 4.等候一分钟左右 5.勾选telnet选项 6.测试telnet 7.如果通的话,弹出telnet窗口,按住"C ...

  6. 【Zookeeper】(一)概述与内部原理

    Zookeeper概述 1 概述 Zookeeper是一个开源的.分布式的,为分布式应用提供协调服务的Apache项目. Zookeeper从设计模式的角度来看,是一个基于观察者模式设计的分布式服务管 ...

  7. 深入理解 python 虚拟机:字节码教程(3)——深入剖析循环实现原理

    深入理解 python 虚拟机:字节码教程(3)--深入剖析循环实现原理 在本篇文章当中主要给大家介绍 cpython 当中跟循环相关的字节码,这部分字节码相比起其他字节码来说相对复杂一点,通过分析这 ...

  8. 微软出品的UI自动化测试工具Playwright(三)

    微软出品的UI自动化测试工具Playwright(三) 网址 说明 https://playwright.dev/ 官网首页 https://playwright.dev/python/docs/in ...

  9. 劲(很)霸(不)酷(好)炫(用)的NLP可视化包:Dodorio 使用指北

    朋友们,朋友们,事情是这样的.最近心血来潮,突然想起很久以前看过的一个NLP可视化包.它的效果是下面这个样子: 在此之前,已经有一些文章从论文的角度对这个包进行了介绍,详情请见 推荐一个可交互的 At ...

  10. MySQL相关操作(实用函数和sql语法)

    1.时间函数 当前时间 select current_timestamp(); 当前时间戳 select UNIX_TIMESTAMP(NOW()); 当前时间戳精确到毫秒 select REPLAC ...