自动问答技术简介

本文涉及的产品
NLP 自学习平台,3个模型定制额度 1个月
NLP自然语言处理_高级版,每接口累计50万次
NLP自然语言处理_基础版,每接口每天50万次
简介:

引言

无论是苹果公司iPhone上火热的应用Siri,还是去年2月在美国电视竞答节目Jeopardy中打败人类冠军的Watson,都与“自动问答”直接相关。什么是自动问答,自动问答产品能带来什么好处,百度有什么样的自动问答产品,本文将用通俗的语言为您一一道来。

图 1 Siri(左)和Watson(右)

自动问答是自然语言处理领域的一个重要方向,旨在让用户直接用自然语言提问并获得答案。例如,用户询问“百度大厦在哪儿?”,问答系统回答“北京市海淀区上地十街10号”。

从用户的角度看,自动问答是一种简单且简洁的信息获取方法。用户直接用自然语言与问答系统交互,而无需考虑使用什么样的关键词组合表示自己的意图,所以简单;问答系统直接返回问题的答案,用户无需从冗长的相关文档中自己寻找答案内容,所以简洁。

 

传统的自动问答技术

传统的自动问答系统包括三个主要部分:问题分析、信息检索和答案抽取。结构关系如下:

图 2 传统的自动问答系统的组成部分

 

问题分析的目的是分析问题的语义类型,确定用户提问的意图,即用户是询问时间、地点还是询问实体、实体属性或者其他,并提取问题中的关键词。例如,用户询问“刘德华的生日”,经过问题分析后,确定用户是询问人物的某个属性,并提取该问题的两个关键词“刘德华”和“生日”。另外,因为文档中的潜在答案与问题的关键词不一定完全一致,想找“西红柿炒鸡蛋”,文本中只出现“番茄炒鸡蛋”,为了获得更高的召回率,还需要对关键词进行扩展。

信息检索是根据问题分析得到的关键词及其扩展形式从在线或者离线的文档库中检索相关文档。例如,将问题的关键词提交在线的搜索引擎,获取返回结果中排序最前的若干相关文档。

答案抽取是从检索得到的相关文档中抽取答案。根据问题类型的不同,答案形式也不尽相同,可能是一个词语、一个句子,也可能是一个段落或者更长的文本串。以抽取句子作为答案为例,按照一定的策略(如计算问句与候选答案的相似度)计算句子的权重,根据权重大小对句子进行排序得到候选答案列表,并根据问题类型或者其他选取策略筛选获得最终答案。

百度的自动问答产品

百度的自动问答产品由百度自然语言处理部、知识搜索部等部门的工程师联合开发。目前系统已应用于百度知道。用户在检索框输入问题后点击下方的“我要提问”,就得到自动问答的结果啦。

图 3 百度自动问答产品入口

且看自动问答系统如何回答“姚明的身高是多少”和“水煮牛肉的做法”,回答靠谱吧?

图 4 自动问答系统的回答实例

图 5 自动问答系统的回答实例

 

百度自动问答的组成部分

百度的自动问答系统是如何答出上面的问题呢?下面就看一下从用户输入问题,到自动问答给出答案,这中间都发生了什么。

百度的自动问答系统包括问题分析、答案抽取这两个主要模块。用户的问题依次经过这两个模块的处理。俗话说,巧妇难为无无米之炊,这两个模块不是自动问答系统的全部,背后还有一个巨大的知识库作为支撑,可以更准确更迅速的获取答案。技术框架如下:

图 6百度自动问答系统的组成部分

问题分析模块对用户的提问进行分析,确定问题的语义类型,预测答案的类型,例如答案是回答人物、时间、地点或者还是回答人物的年龄、商品的价格等;判断用户的提问是否为确定性问题,对于有明确具体答案的确定性问题,分析问题的结构并直接定位用户的所求。

答案抽取模块从知识库中检索问题的答案并返回给用户。对于确定性问题,根据问题的要点直接检索Ontology并返回答案;对于非确定性问题或者未找到答案的确定性问题,通过检索优质问答资源获取答案,即计算用户的提问与优质问答资源中的问题的相似度,获取相同问题或同义问题,直接返回满足提问的答案。

可以看出,影响自动问答的准确率主要有两个方面,一是知识库的容量是否足够大,存储的资源是否准确可靠;二是非确定性问题或者未找到答案的确定性问题,检索结果是否与原问题一致。

通过多重策略可以保证知识库资源的准确。首先,选择可靠的知识站点和其他web站点进行知识挖掘;第二,利用冗余信息对挖掘得到的资源进行验证;第三,利用多种策略对挖掘结果进行过滤。另外,定期和不定期地对知识库的内容进行更新,增加新的资源并滤除其中杂质。正所谓,“问渠那得清如许,为有源头活水来”。

保证检索结果与用户的提问相一致依赖于一个秘密武器,“语义相似度计算”,这里不再赘述,有兴趣的且听下回分解。

百度自动问答的特点

与传统的自动问答技术相比,百度的自动问答系统具有如下特点:

1)       快速响应

因为百度自动问答系统有巨大的知识库作为支持,对于满足条件的问题可以直接从知识库中获取答案,节省了信息检索和答案抽取的时间。

2)       较高准确率

传统的自动问答从文档库中动态抽取答案,准确率方面难以满足用户需求。百度自动问答系统的知识库的内容经过多重验证并且持续更新,因此自动问答的结果能够准确地回答用户的提问,提高了用户的体验。

3)       开放的回答领域

依赖于知识库中开放领域的问答资源,百度的自动问答系统可以回答的问题领域也是开放的,面向用户的各种需求。可以是学习型的“三个火字念什么”,也可以是生活型的“宫爆鸡丁的做法”,甚至可以是无聊型的“讲个笑话吧”。

4)       质量不断提升

知识库中的资源的数量在持续增加,质量也在不断提升。知识库的更新方式包括定期手动添加资源以及实时自动挖掘资源,用更合适的问答资源替换现有的部分。因此,问答的准确率和召回率会逐步递增。

结语

自动问答作为一种快速方便地获取信息的技术,在信息爆炸的今天,将会发挥越来越大的作用,为人们提供更多的便捷。有什么想知道的,“百度自动问答”一下吧。

by Zou Hongjian, Hu Dawei, Fang Gaolin








本文转自百度技术51CTO博客,原文链接:http://blog.51cto.com/baidutech/1033633,如需转载请自行联系原作者

相关文章
|
5月前
|
XML JavaScript Java
技术经验分享:Asea——轻量级的AS3模块配置与加载管理库
技术经验分享:Asea——轻量级的AS3模块配置与加载管理库
42 0
|
1月前
|
存储 NoSQL 关系型数据库
从基础到高级应用的全面解析
【10月更文挑战第17天】从基础到高级应用的全面解析
21 0
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
从提示工程到代理工程:构建高效AI代理的策略框架概述
该文探讨了AI代理的发展,特别是ChatGPT等模型如何展示了AI系统的潜力。文章提出从提示工程转向代理工程,定义了代理能力需求,并提出一个框架来设计和实施AI代理。代理工程涉及明确代理的任务、所需行动、能力及熟练度,通过现有技术满足这些需求。文章强调了广泛和特定知识的熟练度、精确信息获取以及代理的结构设计和协调。随着技术进步,该框架为AI代理的未来发展提供了基础。
388 0
|
Kubernetes 安全 Docker
k8s教程(基础篇)-安装与配置概述
k8s教程(基础篇)-安装与配置概述
386 0
SWMM从入门到实践教程 03 快速入门案例的设施参数设置与批量设置
SWMM从入门到实践教程 03 快速入门案例的设施参数设置与批量设置
|
存储 数据可视化 Ubuntu
bcftools学习笔记丨软件简介、安装方式、使用方法、核心功能、参数解释等一文速览
bcftools学习笔记丨软件简介、安装方式、使用方法、核心功能、参数解释等一文速览
|
缓存 算法 前端开发
协同文档工作机制简介
随着在线办公的兴起,传统办公套件 Office 的在线化需求也随之增加。钉钉文档作为钉钉核心办公套件之一,上线已经三年,其间持续迭代,已成为一个极其复杂的产品。对前端工程师而言,协同文档是一个较为有挑战的领域,除了传统天坑富文本编辑器外,还引入了协同编辑这一挑战,钉钉文档甚至还支持专业排版能力。 来自钉钉的前端技术专家本杰,就在第十六届D2前端技术论坛进行了分享,本次分享以钉钉文档为例,简述协同文档的工作机制。
725 0
协同文档工作机制简介
|
小程序 数据库 数据安全/隐私保护
关于小程序云开发cms内容管理无法使用,无法同步内容模型到云开发数据库的解决方案
关于小程序云开发cms内容管理无法使用,无法同步内容模型到云开发数据库的解决方案
327 0
|
Prometheus Kubernetes Cloud Native
Flagger(应用自动发布)介绍和原理剖析
## 简介 [Flagger](https://github.com/weaveworks/flagger)是一个能使运行在k8s体系上的应用发布流程全自动(无人参与)的工具, 它能减少发布的人为关注时间, 并且在发布过程中能自动识别一些风险(例如:RT,成功率,自定义metrics)并回滚. ## 主要特性 ![features](https://intranetproxy.ali
4486 0
|
数据采集 机器学习/深度学习 监控
企业端功能概述|学习笔记
快速学习企业端功能概述
企业端功能概述|学习笔记
下一篇
无影云桌面