纸币清分机全面解读!QQ浏览器搜索中的智能问答技术 大家好,这里是NewBeeNLP。智能问答是人工智能领域中一个比较受关注的方向,目前广泛应用于各种垂直或综合的搜索引擎、智能客服、智能助手以及智能手机、车载音箱等。
今天我们分享的主题是QQ浏览器搜索中的智能问答技术,主要分为以下几个部分:
1.背景介绍
∙智能问答在搜索中的应用
∙搜索中的Top1问答
2.关键技术
∙搜索问答的技术框架
∙KBQA:基于知识图谱的问答
∙DeepQA:基于搜索+机器阅读理解的问答
3.前沿研究
∙端到端问答
∙知识指导的问答
∙多模态问答
01
背景介绍
1. 问答在搜索中的应用
问答的核心是通过理解语言和运用知识来进行提问和回答。从应用角度看,由于人类有获取信息的需求和旺盛的好奇心,问答的场景无处不在;从研究角度看,问答是认知智能的前沿之一。 问答在搜索场景的应用可以分为两类。一类是满足用户的直接搜索需求,即在搜索结果页
给用户提供精准的答案,例如Top1问答卡片。另一类是通过问答的方式与用户交互,来帮助用户澄清、细化和延伸需求,例如推荐和对话形式的问答。 2. 搜索中的Top1问答
下图展示了QQ浏览器搜索中Top1问答的一些产品形态,包括短答案、长答案、列表答案、视频答案、集合和图片答案。
水貂肉02
关键技术
1. 搜索问答技术与系统
搜索中问答的明确需求占比接近1/4。这些问题不限领域,不限类型,一般可分成事实类和非事实类。搜索中问答的数据源是多种多样的。从资源类型上看,包括网页、UGC(用户生产内容,如社区问答)和PGC(专业生产内容,例如自媒体号)。从文本的组织形态上来讲,数据可以分成结构化、半结构化和无结构化三种。结构化的数据具有一定约束,以
知识图谱为代表;半结构化数据的典型代表是开放生态构建或者从社区问答抽取的具有一定格式的问答对数据;无结构化数据广泛存在,例如普通的网页文本。
搜索中的问答技术主要分为KBQA和DeepQA。
KBQA指基于知识图谱的问答,面向的是结构化数据,底层是离线构建的知识图谱,在线通过问题解析、图谱查询和推理得到答案,主要适用于事实类问题。
DeepQA是一系列基于搜索和机器阅读理解(MRC)的问答技术,可以处理更广泛的非结构化数据,基于离线问答内容构建和理解,在线通过搜索获得候选文档、使用机器阅读理解技术来抽取答案,能解决更多问题需求类型。在实际应用中,针对不同类型的数据,我们构建了三套DeepQA系统,分别是优质问答数据源上的独立检索系统、全网搜索结合在线MRC的通用问答系统、以及端到端问答系统。 电力系统谐波分析下图右侧展示的是搜索问答系统的整体架构。离线部分是问答内容的构建和理解,比如对专业生产内容做质量和权威性分析、从全网数据中进行问答对的挖掘和选取等;数据源包括网页库、优质问答库和知识图谱;在线部分包括搜索问答结果的召回和排序、段落匹配
和答案抽取、知识图谱检索和推理计算等,以及问答融合决策从多源结果中决定最终展现给用户的答案。
2. KBQA:基于知识图谱的问答系统
图谱问答系统的数据依据不同实体更新的要求分为三路,数据通过直接的三元组索引查询或者图数据库存储检索系统应用。
在线图谱问答的流水线之一是语义解析的方法,系统先对查询进行领域分类以装配不同类型的处理流程(例如汉语诗词类、单实体类、多实体关系类),然后对查询进行语法树分析和形式逻辑规约,在三元组中递归查询和拼装得到最终答案。该方法的优点是支持一些复杂的查询推理,且在规则适用的范畴内准确率较高。另一种流水线是基于深度学习的方法,系统首先识别出具有问答意图的查询,然后通过深度模型识别查询问题中的实体,对实体属性和查询表达进行深度语义匹配映射,计算出候选结果并进行清洗和排序得到答案。该方法的优点是对查询语义理解较好,泛化性强,召回率较高。
3. DeepQA:基于搜索+机器阅读理解的问答系统
语音播放模块下面主要围绕DeepQA相关工作展开介绍。
早期的DeepQA系统具有非常复杂的流水线,例如IBM的Waston,以及2017年第一版“立知“问答。系统包括多个数据挖掘和机器学习模块,在问题分析、答案候选的特征抽取、评分排序等诸多环节都可能有错误的传播和积累,可扩展性不强。2017年以后,斯坦福的陈丹琦等人提出了一个面向规模文档集的开放域问答系统——DrQA,系统定义了一种新的开放域问答实现方式,即通过检索和深度机器阅读理解(MRC)产生答案。在SQuAD等公开数据集和评测的推动下,深度机器阅读理解发展迅速,在查询和文档语义建模、上下文信息交互建模、答案抽取和预测方式建模上都不断涌现新的方法,2019年机器阅读理解系统甚至在事实类问答上超过了人类水平。
柴油机启动器然而在真实的搜索场景中,DeepQA仍然面临着很多挑战。首先是用户的需求纷繁复杂,表达方式也千差万别,而互联网数据规模巨大,需求检索匹配的难度很大。其次是网页数据多种多样,页面类型和格式繁多、质量参差、答案的形式不一,机器阅读理解面临较大的挑战。
下面介绍一些应对搜索场景的问题我们所做的工作。
(1)短答案MRC
短答案MRC任务的定义是从搜索结果的多个文档中抽取唯一的答案片段,并提供支持答案的文本来源。这个任务会面临以下一些挑战:
①搜索结果噪声过多
噪声包括不相关结果、不一致答案等。短答案抽取模型是一个多文档段落抽取的模型,我们将搜索排名topN(常用N=10)的文档段落输入到BERT中进行表示建模,然后预测段落中答案的起始位置。为了解决输入文档不相关的问题,我们将“答案存在性判别”和“答案起止位置预测”两个目标进行联合训练;为了应对各文档的答案不一致问题,我们加入了多文档交互,将多个文档中包含答案概率最大的片段拼接起来进行建模,信息融合之后再预测文档包含答案的概率。
②答案出现常识性错误
常识性错误即模型输出无意义答案,例如边界错误、答案类型错误。我们的做法是引入一些外部知识,例如百科、知识图谱等,给候选文档中符合答案类型的实体打上特殊的标记,
蚀刻刀模在建模过程中加强对它们的关注。
③鲁棒性问题
这里鲁棒性问题指的是由于过拟合导致模型输出不稳定。Dropout是一种有效的减少过拟合的方式,但它的缺点是不能保持输出的一致性。我们应用了R-Drop,通过将Dropout作用于输出层,降低了训练和测试的不一致性,同时引入对称KL散度作为正则项,增强了输出的稳定性。在实验过程中,我们发现对输出层使用两次dropout效果较好。此外我们还对训练数据进行了同语义问题的数据增强,加入相同语义query下的段落输出部分的KL-Loss,增强了模型的稳定性。
④答案归一化和多span问题
在抽取式阅读理解中,由于多文档表述的不一致,往往会遇到答案归一化的问题,比如“安全带使用期限是几年”的问题答案可能有“3到5年”、“3年至5年等”;而且还有答案并不是连续判断,比如“沉鱼落雁指的是谁”这个问题中,答案可能对应文档中两个片段(span)。为了解决上述问题,我们尝试用生成式阅读理解方法,以Fusion-in-Decoder(FiD)为例,将检索得到的多文档分别进行编码表示,拼接起来输入到decoder生成统一的答案。
实践中利用大规模点击日志文档生成查询进行预训练,利用短答案日志构建大量弱监督数据进行自训练,有效提升了生成式阅读理解的效果。由于生成模型输出的答案得分其实是语言模型的困惑度,不能很好地刻画答案本身的置信度,我们训练了一个生成答案的置信度预测模型,对答案输出进行决策。
(2)长答案MRC
相比短答案,长答案MRC受到的研究关注相对较少,一方面因为问题更加复杂,数据集稀缺,另一方面因为长答案在内容和表达方式上有不确定性,评价起来也相对较难。
搜索场景中长答案和短答案主要有以下几个方面的差异:
①长答案MRC-组合式问答
针对长答案包含信息量大、不连续的特点,我们提出了一种“组合式问答”的任务形式:从搜索结果的单个文档中抽取出一组片段来合成精选摘要答案。任务输入为给定问题和文档的完整片段组合,输出为答案片段组合。评价方式为片段预测的F1和人工评价相结合。
组合式问答模型的整体框架基于BERT,输入是问题和进行了启发式分句的文档句子序列,输出是每个句子是否是答案的概率。我们引入了两个非常有用的设计。
第一个是引入页面的结构信息。由于网页的HTML能够一定程度上反映页面结构、文本关联以及展示内容的重要度等特征,我们选择了部分网页标签作为符号输入到模型中。
第二个是引入针对性的预训练任务。—般预训练都是建模句子级别的关系,没有有效挖掘文档结构的信息;我们引入了两类相关的预训练任务,一类是问题选择(QS),即随机替换一个问题并预测;另一类是节点选择(NS),可以对句子和符号进行随机替换或打乱顺序。这样的预训练任务可以让模型更深刻地理解问题和长文本的内容。
由于文档具有层级结构,一个自然的想法是利用图网络来建模。我们尝试在模型输出侧增加图网络,将句子中词的连接、句子之间的连接以及问题和句子的连接用图结构表示并通过Attention Mask实现,实验表明加入层次结构信息的效果提升明显。
长答案阅读理解中同样可以采用短答案阅读理解类似的思路:(1)同时预测文档可答概率和答案句子概率;(2)引入门机制学习文档和句子的关系;(3)使用R-drop提升鲁棒性。