常见的对话系统

  • 个人助手

    •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. windows通过修改注册表来修改暂停更新时间

    但通过修改注册表,我们可以将这个天数修改成自己期望的,比如10年. 在小娜或者运行中输入 regedit 打开注册表编辑器,展开至 HKEY_LOCAL_MACHINE\SOFTWARE\Micros ...

  2. Windows注册表中修改UAC(用户账号控制)及批处理脚

    我在windows电脑上安装软件时,或者设置开机启动软件时,会先弹出提示框: 用户账户控制 你要允许此应用对你的设备进行更改吗? 很烦人,我不想每次都提醒.需要关闭"用户账户控制" ...

  3. mysql锁及锁出现总结

    转载请注明出处: 1.按锁粒度分类: 行锁:锁某行数据,锁粒度最小,并发度高:: 行锁是指加锁的时候锁住的是表的某一行或多行记录,多个事务访问同一张表时,只有被锁住的记录不能访问,其他的记录可正常访问 ...

  4. Seal AppManager发布:基于平台工程理念的全新应用部署管理体验

    4月12日,数澈软件Seal(以下简称"Seal")宣布推出新一代应用统一部署管理平台 Seal AppManager,采用平台工程的理念,降低基础设施操作的复杂度为研发和运维团队 ...

  5. Python ArcPy批量计算多时相遥感影像的各项元平均值

      本文介绍基于Python中ArcPy模块,对大量长时间序列栅格遥感影像文件的每一个像元进行多时序平均值的求取.   在遥感应用中,我们经常需要对某一景遥感影像中的全部像元的像素值进行平均值求取-- ...

  6. C#中使用CAS实现无锁算法

    CAS 的基本概念 CAS(Compare-and-Swap)是一种多线程并发编程中常用的原子操作,用于实现多线程间的同步和互斥访问. 它操作通常包含三个参数:一个内存地址(通常是一个共享变量的地址) ...

  7. percona-server-rocksdb-8.0.32 安装

    MyRocks是关系型数据库Mysql 基于RocksDB 的存储引擎,一个可嵌入的.持久的键值存储.Percona MyRocks 是集于 Percona Server for MySQL的. Ro ...

  8. 花式WA

    如果WA了,请从下述所有方面全方面考察反思一下= =,(不断更新): 1.输出YES,NO不是N0,还有"."不要眼瞎= =,(只有空格回车不对才提示PE): 2.边界值,0,1, ...

  9. 2023-03-15:屏幕录制并且显示视频,不要用命令。代码用go语言编写。

    2023-03-15:屏幕录制并且显示视频,不要用命令.代码用go语言编写. 答案2023-03-15: 使用moonfdd/ffmpeg-go和moonfdd/sdl2-go库来实现屏幕录制并显示视 ...

  10. 2022-08-07:以下go语言代码输出什么?A:1 1;B:3 1;C:0 3;D:不能编译。 package main import ( “fmt“ “math“ ) func main

    2022-08-07:以下go语言代码输出什么?A:1 1:B:3 1:C:0 3:D:不能编译. package main import ( "fmt" "math&q ...