Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

搜狗汪仔《一站到底》取胜背后的人工智能

在江苏卫视《一站到底》2017 年第一期节目中,搜狗机器人汪仔亮相并以 8:6 的成绩,击败人类选手取得最后胜利。这次人机大战之后,搜狗搜索技术负责人许静芳向《机器之心》详细描述了汪仔参与比赛的技术秘密。


机器之心:比赛中,汪仔需要识别问题、快速判断并抢答,这个过程的技术路径是怎样实现的?


信息图-03.png

图说:汪仔比赛的技术系统流程


许静芳:汪仔有较为完整的大脑,具备听、看、说和思考(答题、聊天)的能力,依靠语音识别、图像识别、语音合成和自然语言理解与计算实现。为了适应一站到底的比赛规则,汪仔背后将这些技术完整串联起来,使得其具有快速准确的答题、抢答能力,系统流程图如上。在答题环节,是由主持人念题并在大屏幕上有字幕(逐字)显示。汪仔系统首先从节目环境中采集问题的语音流与大屏幕的视频流。为了缩短识别时间,采用增量识别方法(包括语音与图像),且每个包都足够小,以便能够最快速度的识别,再将截止目前所有包识别内容进行拼接后发给问题识别融合模块。由于语音识别和图像识别都有一定的错误率,所以有该融合模块来融合语音识别和图形识别的结果,预测更为准确当前的问题的文本发给问答模块。由于问答会根据完整题目输入或部分题目输入采用不同的方法与参数,所以还有一个问题完整性识别的模块,根据当前题目是否完整的判断将识别的题目问题分别发给答题和抢答模块。问答经过计算后会给出答案及置信度,根据不同置信度会决定此时答题或暂不答题。答题则通过语音合成播报出答案,此题结束,暂不答题则返回至增量识别过程继续上述流程。


问答部分可以参考下图,整个问答主要由基于知识库的问答及基于搜索的问答两种路径。首先是对问题的多种形式改写以便找到更多的相关信息,然后对每种改写形式做详尽的问题分析包括词法、句法、核心概念、实体识别、意图理解等,供后续答案的抽取和排序使用。其次是通过搜索和线下挖掘的知识库查找相关信息,及对候选信息与问题的深度语义匹配计算,最后是从全文信息中抽取答案并对答案进行计算及排序,及置信度计算。输出置信度高的答案,或暂时不答,等待更多的信息再计算。


信息图-02.png

图说:基于知识库、搜索的两种问答路径


语音识别:


汪仔听题时,主持人语音采取分包的方式,缓存小段语音后发送至语音识别服务转为文字,并发送至答题模块,其中,语音识别的基本原理是原始语音提取特征后,发送至语音识别解码器,在声学模型、语言模型以及发音词典的共同作用下,寻找匹配语音信号的最优词序列,随着深度学习的发展,深度神经网络被广泛应用到语音识别的模型学习中,目前汪仔语音识别的声学模型使用了 CLDNN(CNN+LSTM+DNN)+CTC 的端到端模型结构,特别是为了降低识别延迟,LSTM 使用了单向 LSTM,特征尽量少的使用下文特征,降低时延,为后续答题模块抢答流出足够时间。同时考虑到一站到底题库中专有名词、命名实体等类型词汇较多,在训练汪仔语音识别的语言模型时,除了基于搜狗搜索和输入法的海量文本数据之外,还重点结合了知乎、搜狗百科等领域相关数据,最终完成了 Ngram+RNNLM 的模型训练。


图像识别:


输入信号除了语音,还有题目的实时截屏图像。通过 OCR 识别技术,将图像中的题目识别成文本,输出给后面的答题模块。OCR 同样采用深度学习技术,设计了基于单字符识别核心的 CNN 识别引擎。通过对图像中的文字进行文字行检测,再对文字行进行字符切分,利用 CNN 识别核心对单字符进行识别后,利用动态规划寻优输出最优的识别结果。针对一站到底视频流信号字幕是逐字显示的特殊形式,引入了增量识别算法,仅仅对新增的字幕进行识别,极大的加快 OCR 速度,提升了汪仔的抢答能力。


语音合成:


答题模块生成答案文本后,会将答案文本送至语音合成模块,合成首先会对文本进行分词、字转音等预处理,随后基于 LSTM 模型对文本韵律进行预测,之后将文本特征送入端到端的多层 LSTM 神经网络中进行合成参数预测,预测生成的参数通过合成器输出最终合成语音。其中,针对汪仔的性格设定,我们会将合成过程中预测的语音韵律传输给机器人模块,用于辅助控制机器人头动,而为了强化合成的抢答语气,我们设计了动态重音预测和生成算法,可以根据上下文预测重音位置,并且将重音位置的声学参数优化为重音参数,从而生成抢答语气。


机器之心:与人的记忆力相比,机器在海量数据存储和搜索功能上有明显优势,所以汪仔赢得这次比赛核心考验是什么?为此,做了哪些针对性训练吗?


许静芳:机器在海量数据存储及搜索相关信息上确实有优势,但目前绝大部分的机器是把文字当做符号,依靠相同符号的匹配来找到「相关信息」,也就是说目前大部分机器擅长的是存储和计算,在语言的理解上其实还做得很不够。大家所熟悉的搜索其实是依靠人机辅助来完成答案的获取的,即机器通过符号匹配找到包含和查询词相关的信息,再由人通过阅读多条搜索结果,在人脑中进行一些的思考最终由人来形成答案的。而汪仔是在现有搜索之上,完成由搜索结果到答案的自动生成,这样一个之前一直由人来完成的过程。所以大家常用的搜索是一种人机合作获取信息/答案的过程,而汪仔是全部由机器完成产生答案的过程,且是在一站到底的比赛规则的设定下获得了超出人类最强选手的能力。


这里面最核心的考验有以下几点:


  1. 对问题的准确理解,包括问题中的核心概念、问题的类型: 我们一方面利用搜索积累的自然语言处理的经验,包括词法、句法、实体识别、意图分析等技术,另一方面也收集了历史上的一站到底的题目做针对性的学习优化。多种基于深度学习的自然语言理解方法在这里有较大贡献。

  2. 问题与信息的语义匹配计算,一站到底答题要求非常精确的答案,这对问题与候选答案信息之间的语义匹配提出了更高的要求。这里我们相应采用了多种深度学习匹配模型及 embedding 的方法。

  3. 答案的抽取、排序及置信度计算:搜索返回的是相关的网页或文档,一站答题需要从网页、文档中抽取出准确的答案候选并进一步计算答案的特征、排序及置信度。相对于搜索,这是一种更细致的语言处理能力,难度更大。

  4. 知识图谱的构建与应用:除了基于搜索的问答,还有一类方法就是基于知识图谱的问答。一站到底的一部分题目可以用知识图谱来回答,如何构建一个全面、精准的知识图谱及如何将复杂的自然语言问句转化为图谱的结构化查询是非常具有挑战性的问题,这方面搜狗搜索一直不断积累,在一站到底的比赛中也发挥了较大作用。

  5. 抢答: 上面说过整个系统为了能够更快的抢答在多个模块都做了非常极致的优化,这里强调根据部分题目去推测完整题目并回答的能力。实际上这是人相对机器最有优势的方面,也是研发中花了最多时间的问题。我们对全网信息做了大量数据挖掘工作,形成很多有针对性的知识库供答题使用。


机器之心:汪仔在语音识别、语义识别方面的速度性能达到什么水平?准确率如何?进一步提升的技术难点是什么?


许静芳:汪仔语音识别的实时率目前在 0.3 倍实时左右,识别延迟最低可以控制在 100ms 以内,准确率方面,针对主持人语音的识别准确率在 97% 以上。汪仔语音识别部分希望进一步提升的难点在:


  • 吞音问题: 主持人读题的过程中,发音较快,很多字或者词一带而过,该现象会导致识别丢字的问题,这部分也是自然语音识别系统的重大问题,我们正在从数据、模型等多个维度进行优化;

  • 新词/专有名词识别:一站到底题目每期都有变化,新词热词以及专有名词层出不穷,识别精度要保持在高水准的话,就需要我们不断推动模型对这几类词汇的学习;

  • 现场观众及音乐的干扰:尽管主持人是头戴式麦克风,但是仍会有现场观众呐喊声以及现场背景音乐声混入到主持人语音中影响到识别性能,这部分我们正通过语音增强的方式进行优化。

机器之心:汪仔使用的计算资源情况是怎样的?节目比拼过程中所用到的分析处理是在现场本地化完成的吗?


许静芳:其实在这个项目中我们对于成本控制是挺严格的,对于语音识别、图像识别我们采用本地完成。答题部分,我们有多套系统,对于基于线下挖掘的知识库我们采用本地检索;而对于基于搜索的问答我们并没有针对一站到底专门搭建系统,因为这样要求较大的计算资源,这部分我们直接利用搜狗搜索的线上系统完成,实际占用的计算资源也较少。当然也可以把基于搜索的问答放到本地完成,它就需要在本地部署一套较大的系统,当然 watson 就是这么做的,但是确实需要较高的成本,我们选择了成本上更为经济的方法。


机器之心:汪仔的背后是搜狗立知问答系统,能否介绍一下这套系统及其大致研发过程?


许静芳:立知是一套智能问答服务系统,从它的名字可以看出,这个服务希望能够让用户在有任何问题时,通过它就可以「立即知道」答案。


信息图-01.png

图说:立知问答系统的关键构成模块


从功能上看,整个立知问答系统包含三个核心子系统:事实类问答子系统、分析类问答子系统和观点类问答子系统。当立知接收到用户请求问题时,通过意图分析模块理解问题意图类型后,自动将问题转发到相应的处理子系统。其中事实类问答子系统可以针对客观事实类问题作出响应,比如类似「五环之歌是谁唱的」这样的问题,这类问题的答案一般是明确唯一的客观知识,并可以通过简短的实体或概念将用户需要的信息完整表达出来,搜狗汪仔的智能答题能力背后依赖的就是这个子模块;分析类问答子系统可以处理更加复杂的问题,比如用户想知道某件事情的做法步骤,或者某种现象的原因,答案表述通常需要数十到数百字的一段文本;观点类问答子系统可以响应用户对事物看法的问题,它是群体智慧的集中体现。这三个子系统深度挖掘利用了海量互联网资源,构建有效的知识库系统,并充分结合了推理计算能力,它们集成起来能够响应大多数用户的真实问题需求。可以看出,立知可以回答开放领域各种类型的问题,它不仅支撑了汪仔机器人的答题能力,而且比汪仔的知识面更广,功能更强。


从技术应用角度看,立知系统的各个模块综合运用了自然语言处理、信息检索、机器学习和深度学习以及大数据高并发处理等人工智能领域的多项前沿技术,是一个技术密集型的复杂智能系统。


这套系统的研发难度相当大,从项目组成立到第一版上线,研发过程持续了将近一年的时间。整个系统研发依赖搜狗搜索提供的海量网页数据和基础计算平台。我们整合了多个业务线的优秀算法研究和开发人员,针对不同类型的问题,研发相应的人工智能算法和高效系统架构,让系统逐步拥有快速回答各类问题的能力。这个研发过程目前还在持续优化中,我们希望进一步尽可能多的满足用户的各种真实问答需求。


机器之心:自去年 10 月上线后,立知相关的使用数据表现如何?接下来,还会有哪些场景化应用方向?


许静芳:目前,立知每天为数百万用户提供精准答案服务,回答准确率在 98% 以上,大幅提升了用户使用搜狗搜索的体验,达到了我们的预期。立知系统的后端是一个针对问题提供答案的云端服务,当前的主要应用是在搜狗搜索结果的首条为用户查询提供答案,未来我们的目标是将这一服务嵌入所有存在问答需求的场景。


近期,我们有两个与搜狗已有产品密切联系的应用方向。首先我们会将立知技术融入普通网页搜索服务,尽可能将多条自然搜索结果都以答案的方式呈现给用户,将搜索和问答更加紧密的联系起来,更充分地提升用户获取信息的效率。立知的另一个重要应用场景是搜狗输入法。大家知道输入法是搜狗强大的客户端应用,它可以通过接收语音或者文字输入的方式,每天为数亿用户表达信息提供了快捷服务。但是相比快捷的需求表达过程,用户获取信息的过程目前还不太方便和智能。我们希望通过立知系统,能够更好满足针对问答的一大类信息需求:用户在完成信息需求输入时,答案就会在输入法应用内立刻以语音或者文字的方式呈现出来,这样可以大幅改善信息获取效率和用户体验。整个需求表达和信息获取效率的提升,将会很好地体现搜狗在人工智能领域的核心使命---「自然交互和知识计算」。


机器之心:能否介绍一下,搜狗目前在语音技术研究方面的整体近况?今年还有哪些新的计划?


许静芳:从技术维度来看,作为深度学习应用非常成功的领域,语音识别技术已经全面深度学习化,17 年,我们会继续深耕前沿深度学习技术,尝试更深的模型结构、端到端的终极解决方案以及离线语音识别能力的升级;同时针对语音识别难度较大的场景进行深入的探索,比如远场高噪、口音、中英混输等重点场景,制定出软硬件结合的解决方案。


从产品维度来看,搜狗语音识别技术是搜狗知音引擎的重要能力,其中知音引擎是搜狗于 2016 年 8 月 3 日发布的语音交互解决方案,涵盖了搜狗语音识别、语义理解和语音合成的能力,面向车载、智能家居、可穿戴设备等重要场景,17 年我们会继续在重点场景进行布局,探索技术和产品深度结合的方式,提升语音交互产品的用户体验。同时会与其他人工智能技术进行进一步的结合,实现语音翻译 (语音识别+机器翻译) 等技术的产品化。

理论机器人访谈搜狗语音识别产业
暂无评论
暂无评论~