在之前的文章里,我们测试过百度UNIT的图形化多轮对话编辑功能TaskFlow,今天我们将带大家体验UNIT和小i机器人最新的文档问答(document-based question answering,DBQA)功能。这两家也是作者目前了解到仅有的在开放平台提供这一功能的厂商。

传统的问答机器人产品往往需要用户提供大量自己整理的问答对(FAQ)用于模型的训练或知识库的构建;但借助基于文档的问答技术用户只需上传如产品手册、宣传文档这样的文本材料便可直接产生一个问答机器人。相比于FAQ,文档问答方式将大大降低机器人的启动门槛,在实际业务场景中是很有吸引力的。

技术背景

与文档问答相关的是NLP领域里一种称为机器阅读理解(machine reading comprehension,MRC)的算法,是在近两年大热的一个领域。该领域著名的排行榜如SQuAD、CNN/Daily Mail等一直都是NLP技术的风向标,也是NLP列强的兵家必争之地。

所谓机器阅读理解,就是给出一段文章,让机器能够回答与文章相关的问题。虽然定义简单,但细节不少,阅读理解相关数据集的难度其实是渐渐提高的。以SQuAD为例,2016年斯坦福大学发布SQuAD1.0[1]版本,该数据集一共针对题材广泛的500多篇维基百科中的23000多个段落提了十万个问题,在这些问题中主要的几类提问目标是常见名词、人名、日期等等。因为这些问题的答案都可以在文章中找到,算法的目标就是在文章中标出一个能回答问题的区间(Span)。

2018年斯坦福在1.0版本数据集的基础上发布了新的SQuAD 2.0。新版数据集不仅包含了原来的所有10万条问题,还人工撰写了五万句根据文章无法回答的问题,而且这些问题都是精心设计,让它们看起来和可回答的问题非常相似。

SQuAD2.0段落样例

SQuAD2.0问题及答案样例,包含了不可回答问题

在前BERT时代,针对阅读理解的模型往往很复杂,在文章和问题、文章和标题、问题和标题间充满了各种人工设计的attention机制。而在预训练语言模型大行其道的今天,阅读理解问题的算法范式已经变得非常简单。例如在BERT[2]论文里,将问题和文章内容拼接后输入语言模型模型,然后用一个简单的2输出全连接层获得每个字词作为答案开始和结束的概率;再根据这两个概率经过简单的后处理即可得到预测的区间。

BERT 运用于阅读理解问题的示意图

目前阅读理解问题的排行榜已经完全被各种强大的预训练语言模型占领,SQuAD2.0上的SOTA是来自上海交通大学的Retro-Reader on ALBERT[3]。精确匹配准确率达到了惊人的90.115,已经远远超过了人类86.831的水平。

SQuAD2.0SOTA水平趋势图,来自paperswithcode

虽然在一些特定的数据集上AI算法已经取得了优异的成绩,但这些都是在大量数据支撑训练下达到的结果。而在实际的应用场景中,一般的企业很难针对自身的业务场景提供如此大量的数据。

UNIT和小i的文档问答

在我们看来,百度和小i敢于在实际产品中上线文档型问答是非常有勇气的,但似乎两家都将这一功能定位为体验为主。UNIT的文档问答入口并不显眼,仅仅是作为创新技术页面的三个功能之一。功能介绍写得也很直白,突出了文档问答对业务友好的特点。建立文档问答技能的操作方式也很傻瓜,准备好一个txt或者word格式的文档直接上传即可,再经过一段时间的训练就可以部署或测试模型了。

百度UNIT“创新功能”页面,包含了文档问答

而小i的Bot开放平台将文档知识作为知识管理的一个栏目,并且非常明显地标上了Beta图标。操作方式也同样简单,上传文档即可开始测试。与百度不同的是整个过程甚至无需训练。

小i开放平台的文档知识页面

测试方法与结果

本次我们从百度百科的天安门词条[4]选取了一些文字作为文档。文档不长,一共500余字,包括了较大量的数字信息。针对这段文档,我们仿照SQuAD数据集人工整理了15道可回答问题和5道不可回答问题来对两家的算法进行测试。为了给大家一个直观的印象,在此摘抄第一段:

天安门,坐落在中华人民共和国首都北京市的中心、故宫的南端,与天安门广场以及人民英雄纪念碑、毛主席纪念堂、人民大会堂、中国国家博物馆隔长安街相望,占地面积4800平方米,以杰出的建筑艺术和特殊的政治地位为世人所瞩目。天安门是明清两代北京皇城的正门,始建于明朝永乐十五年(1417年),最初名“承天门”,寓“承天启运、受命于天”之意。设计者为明代御用建筑匠师蒯祥。清朝顺治八年(1651年)更名为天安门。由城台和城楼两部分组成,有汉白玉石的须弥座,总高34.7米。天安门城楼长66米、宽37米。城台下有券门五阙,中间的券门最大,位于北京皇城中轴线上,过去只有皇帝才可以由此出入。正中门洞上方悬挂着毛泽东画像,两边分别是“中华人民共和国万岁”和“世界人民大团结万岁”的大幅标语。   --百度百科天安门词条

测试过程中UNIT的体验还是不错的,当它在文档中找到相关答案且置信度较高时会在聊天框回复答案所在的句子,并且用加粗字体标出可直接回答问题的信息(一个区间)。

UNIT命中回答样例

但如果UNIT没有直接命中答案则会给用户提供选项,选项稍微有点奇怪,似乎是把每句话的关键词罗列了出来。

UNIT未命中时的回答样例

而小i则是不一样的风格,只有当他找到答案时才会回答,并且回答很简洁,就是一个词,直击问题。遗憾的是大部分时候系统都是直接提示答案未找到。虽然他的召回率较低,但回答的答案没有答错的。

小i回答样例

测试结果如下所示。对于可回答问题,小i答对了4道(26.7%),其余均为未回答,没有打错的;UNIT如果不计提供选择的测例答对了5道(33.3%),如果计入提供选择且排第一位的测例则答对了8道(53.3%),答错一道(6.7%),其余为提供选择且排在第一的选项未命中。

可回答问题测试结果

不可回答问题测试结果

查看UNIT返回的json可以发现它对提供的选项都给出了置信度。虽然我们不知道UNIT提供的置信度具体定义是什么,但如果比较可回答问题和不可回答问题里的置信度可以发现这个值的指示性并不强。要想通过调节置信度的阈值来改善输出准确率似乎是一件比较困难的事情。而且我们还发现如果用户在UNIT的一个session里选择过他提供的选项,那么下次再问这个问题时它就可以命中了。但当重置对话之后又会变为无法命中的情况。

在响应速度方面两家的差距不大。当提问可回答问题的时候反应都很迅速,但当问不可回答问题的时候两家都有2-3秒的等待时间。测试的两家厂商实际的方案不得而知,但从百度的中间结果看,他们提取出了句子的关键词,应该在检索上做了很多工作。也欢迎大家在公众号后台跟我们交流。

后记

今天的评测大概就到这里,相信大家对文档问答都有了一个直观的认识。作为NLP爱好者,确实非常欣喜地看到有厂商已经在实际产品中推广DBQA。虽然目前看问答的效果并不是特别好,但相信随着优化的深入,这种技术可以渐渐代替传统问答的位置。一个可行的方案是在产品上线初期使用DBQA来直接冷启动得到一个问答机器人,上线之后再根据用户实际的提问针对性地建立FAQ知识库。

为了让大家可以快速测试,我们在公众号后台绑定了这个天安门知识问答机器人,欢迎大家关注我们进行体验。UNIT研发环境每天请求次数有限,大家先测先得。

我们也已经在之前提到的GitHub项目[5]里更新了这次评测相关的数据,大家如有兴趣可以自己体验。对话平台评测项目涉及到大量的数据准备工作,在此再次真诚邀请有兴趣的朋友们一起加入到这个项目中来。

参考资料

[1]

SQuAD数据集论文: https://arxiv.org/abs/1606.05250

[2]

BERT: https://arxiv.org/abs/1810.04805

[3]

Retro-Reader on ALBERT: http://arxiv.org/abs/2001.09694

[4]

天安门百度百科词条: https://baike.baidu.com/item/%E5%A4%A9%E5%AE%89%E9%97%A8/63708?fr=aladdin

[5]

对话平台评测GitHub项目地址: https://github.com/thuwyh/dialog-platform-evaluation

往期精彩回顾适合初学者入门人工智能的路线及资料下载机器学习在线手册深度学习在线手册AI基础下载(pdf更新到25集)本站qq群1003271085,加入微信群请回复“加群”获取一折本站知识星球优惠券,请回复“知识星球”喜欢文章,点个在看

问答机器人2.0!文档问答产品科普相关推荐

  1. 最新ChatGPT GPT-4 NLU实战之文档问答类ChatPDF功能(附ipynb与python源码及视频)——开源DataWhale发布入门ChatGPT技术新手从0到1必备使用指南手册(五)

    目录 前言 最新ChatGPT GPT-4 自然语言理解NLU实战之文档问答类ChatPDF功能 引言 ChatGPT 接口 Qdrant数据库Embedding存储 核心代码 测试 其它NLU应用及 ...

  2. 支付宝商户代扣2.0文档

    https://docs.alipay.com/pre-open/20170601105911096277/wob270 支付宝商户代扣2.0文档

  3. Selenium用户指南 - 第一章 Selenium 2.0 文档修订注解

    From: http://blog.csdn.net/planisnothing/article/details/7234995 Selenium 2.0 文档修订注解 你好,欢迎!文档团队欢迎你,并 ...

  4. html如何查看字体样式,css2.0文档查阅及字体样式

    css2.0文档查阅下载     网址:http://soft.hao123.com/soft/appid/9517.html 引入外部样式 这个是正常. 这个是粗体. 这个是粗体 倾斜. varia ...

  5. Beautiful Soup 4.4.0 文档

    Beautiful Soup 4.4.0 文档 文章目录 Beautiful Soup 4.4.0 文档 @[toc] 快速开始 安装 Beautiful Soup 安装完成后的问题 安装解析器 如何 ...

  6. Beautiful Soup 4.4.0 文档 — beautifulsoup 4.4.0q 文档

    Beautiful Soup 4.4.0 文档¶ Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的 ...

  7. OAuth 2.0 文档

    OAuth 2.0 文档 初见OAuth2.0 ​ OAuth 2.0是一个业界标准的授权协议,其定义了四种可以适用于各种应用场景的授权交互模式:授权码模式.应用授信模式.用户授信模式.简化模式.其中 ...

  8. 【企业微信机器人封装介绍文档】

    企业微信机器人封装介绍文档 概述 本文档介绍了一个功能强大的企业微信机器人封装,旨在简化企业微信机器人的使用和开发过程.该封装提供了以下主要功能: 支持发送PNG图片 支持发送文件 支持定时发送文本消 ...

  9. 智表ZCELL产品V1.4.0开发API接口文档 与 产品功能清单

    为了方便大家使用ZCELL,应网友要求,整理编写了相关文档,现与产品一起同步发布,供大家下载使用,使用过程中如有疑问,请与我QQ联系. 智表(ZCELL)V1.4.0版本  功能清单文档下载地址: 功 ...

最新文章

  1. 利用Nginx做负载均衡
  2. python pyqt eric_科学网—PyQt及Eric的安装 - 张鲁新的博文
  3. 这或许才是产品人真实的工资情况
  4. 机器学习——特征工程之特征选择
  5. pythonmatplotlib绘图小提琴_使用seaborn制图(小提琴图)
  6. [ActionScript 3.0] 通过as3操作web内容
  7. horizon服务主要模块_得助智能:智能外呼机器人有哪些模块功能层级?
  8. 树莓派python智能家居_用树莓派DIY一个智能家居服务器
  9. C语言——函数的调用
  10. USB 重定向库usbredir的移植到Android下使用的方法总结
  11. launchpad乐器_PreSonus 发布 ATOM 打击垫控制器(视频)
  12. 经常流鼻血不是上火,可能是寄生水蛭钻进了你的鼻腔
  13. mysql 免费报表工具_10款最出色的免费数据库管理工具
  14. 使用jq来封装一个瀑布流插件
  15. 德语计算机相关的动词,德语常用计算机词汇汇总
  16. 日订单超1000万,美团外卖是如何设计广告推送系统的?
  17. SpringBoot缓存@Cacheable
  18. python tushare backtrader股票回测双均线策略
  19. Discuz 开启开发者模式并且开始默认安装未上架插件调试的模式-并且关掉应用中心-一颗优雅草科技伊凡
  20. java 面向对象 (2)

热门文章

  1. C#比较数组内元素相等-冒泡
  2. Android——按钮的事件监听
  3. C++中的虚函数(virtual function)
  4. 另一个日历(根据农历网上的寿星万年历修改)最新修改适应FF
  5. 如何让采集的数据比原创还要原创!
  6. 【原】网页程序学习Linux利器-----jsuix
  7. 高校实验室管理系统_实验室信息管理系统(LIMS)全解
  8. centos 8 卸载anaconda_CentOS 7.8 (2003) 发布,附地址
  9. JavaWeb(十)——jetty服务器、创建jsp项目、servlet生命周期及url的匹配规则
  10. 视觉SLAM学习--图像匹配(CVPR2020 Tutorial)