写点什么

小团队怎么跟百人研发团队 PK 智能交互?这份秘籍可以告诉你

  • 2017-09-11
  • 本文字数:5170 字

    阅读完需:约 17 分钟

支撑人工智能时代发展的一个最重要因素,在于每一个智能设备是否拥有语音交互能力。所谓语音交互,一方面是要让计算机能够听懂我们在说什么,另外就是更进一步让计算机理解这背后的含义,这也正是 UNIT 重要之所在。百度 UNIT(Understanding and Interaction Technology),即理解与交互技术,是建立在百度多年积累的自然语言处理与对话技术以及大数据基础上的、一个面向第三方开发者提供开放能力的对话系统开发平台。

在最近由百度开发者中心主办、极客邦科技承办的 74 期百度技术沙龙上,百度理解与交互技术 UNIT 技术负责人孙珂分享了有关《UNIT:语言理解与交互技术》的演讲。除他之外,百度 AI 技术生态部高级运营顾问张扬、百度语音技术部架构师李超、百度 AI 技术生态部高级产品经理吴延宇,也分别从语音和语义理解应用实践、远场语音识别方案、百度开放平台使用指南这几个维度,对百度智能交互技术进行全方位解读。

UNIT 是什么?能给开发者带来什么?

在演讲中孙珂首先整体回顾了 AI 是什么。AI 的根本,是希望让机器拥有人的能力。首先,机器能听懂我们在说什么,也能说出我们的话,这就是语音能力;其次,人接受信息时,70% 以上的信息通道都来自于视觉,我们也希望机器同样如此,这就是图像能力;第三层我们不光让机器听懂我们在说什么,还要知道这背后的含义,这就是语言能力;最后一层,我们希望机器听懂我们的指令后,还能够规划自己的行为:比如自动驾驶中,机器除了能够看到所有路况以外,还能够操作汽车去规避所有路障,这就是行动能力。在这些表层能力之外,内层能力还要包括思考能力、知识能力、学习能力。这是人工智能时代我们希望机器拥有的能力。

既然语言对于人工智能来说这么重要,我们就期望让语言技术为人工智能服务,这也是对话即平台概念的核心——我们可以通过自然流畅的语言形式去控制智能设备,来表达我们的需求。

对话系统的组成首先就是语音,ASR 要做语音识别,从语音识别到文字,这是百度在语音层面做的事情。接着进入 NLP,首先要把文字进行语言理解 (即 NLU),把一段文字里面的意图具像化出来,之后把这一段文字里边最关键的信息点提炼出来,通常情况下我们做到这一步的时候很多应用可以满足了。

但是我们人类的语言交流并不是每一句话都会把前面的信息带上,所以需要机器能够把之前的关键信息记录下来,下一次再说就不需要不停重复,这就是对话状态管理;之后,如果想让机器根据对话过程中所收集到的关键信息来决定下一步应该执行什么动作,就需要动作侯选排序模块来处理并选择了;接下要通过语言生成的模块,利用刚才解析出来的关键信息到数据库里面找到最终信息内容,去执行出最终对用户的反馈。当然,我们现在说的话是文字,我们要有 TTS 语音合成能力,这样才能进行语音的展示。

在这样一个业内最常见的对话系统组成架构中,其中的每一个部分都需要相当规模的团队来进行深入的技术研发与积累才能达到可用状态。百度把这些拥有深厚技术底蕴的能力开放出来,其目的就是为了让一个两三个人的创业团队也能够开发出颠覆某个行业的产品。为什么叫 UNIT?因为百度希望让 UNIT 成为每个产品里面的组件,希望大家直接用这个组件来搭建自己需要的任意智能产品

在 UNIT 中,百度拥有技术优势、强大的定制化能力以及海量真实的大数据,对于百度而言,其价值在于最后把技术开放出来与大家分享、让开发者把最好的技术嵌入到自己的产品中,由此带来生态的共建。UNIT 的核心技术,主要包括语言理解、多轮交互和 NLP 基础分析技术等方面。

在语言理解方面,如果对于“今晚六点帮我在全聚德预约一个包间,十个人”这样一句话,如果我们要想理解它,其关键是需要理解它背后的意思。我们的理解模型可以分析出来它的意图是要预定餐馆。除此之外,它里面有关键信息,比如餐厅是“全聚德”,时间是“6 点”,人数是“10 人”等等,这些信息都是需求理解所需要完成的工作。但理解并不是对话系统的全部,与之配合的交互也非常重要。例如,信息的记忆与使用是一种交互,要把对话中的关键信息记住并适时地应用于对话过程中;除此之外,也许用户一开始并没有告诉系统所有的关键信息,这时候需要对话系统能够主动询问出来;另外系统帮用户做完一件事情之后,可能还会按照关联场景推荐其他的关联需求。这些整体组成了面向意图和词槽的理解与交互所能提供的能力。

这只是对外提供接口时候的一个全貌,背后 UNIT 提供了更多的定制化能力,分别是领域知识的定制化、交互逻辑的定制化、模型训练的定制化。

进一步的,对于开发者而言,更关心的可能是 UNIT 的整体框架。UNIT 在学习模块部分提供了众多定制与学习能力,包括快速生效、持续优化、预置能力、对话逻辑四大部分。通过学习模块,开发者可以自行定义地图、场景、词槽,并提供一定量训练样本,并最终通过这个模块学习出自己的对话模型。接下来 UNIT 会把模型推送到在线服务模块中。在这里,在线服务模块会整体理解用户的当前需求与历史状态,完成意图和词槽的解析工作。之后,解析结果会被传入到对话管理部分去进行对话状态更新和执行动作决策,并最终生产出对用户的回应。

目前 UNIT 提供的系统词槽识别能力有 20 多种,与之搭配的是词槽灵活的组装能力。除此之外还有十几个预置的对话场景,比如天气、商超、地图、外卖等,百度很快会把这些场景开放给第三方使用。除此之外还有一些基于海量用户数据的训练数据扩展能力,并在其中整合了主动学习能力。

基于一个传统的双向 GRNN 和 CRF 的意图识别网络,UNIT 进一步增强了对知识的整合能力。融合了知识的理解模型可以帮助开发者用更少的语料得到更好的理解模型,减轻开发者的数据标注成本。

刚才大家可能在视频里边也看到了零门槛的训练师模式——开发者定制一个任务机器人,用来与用户进行交流。但是 UNIT 在这其中增加了响应用户反馈的逻辑,努力让对话变得更顺畅,让用户更轻松地纠正任务机器人的错误。同时也让机器完成了对错误的学习,随时随地去消灭一些错误,一次错误就会被记住并被纠正。

除此之外,我们还需要根据自己的业务流程来管理对话单元之间的跳转逻辑,以便让用户能够通过对话系统更流畅更场景化地达成自己的任务。例如,对话单元与对话单元之间,对话单元与问答单元之间,都可以通过定制规则进行串联与引导。同时,UNIT 的对话管理也可以很轻松的完成意图切换、意图澄清、词槽切换、词槽澄清等对话功能。所有的对话流程管理,都被梳理为衔接规则,开发者可以自行通过多种规则与手段完成对话逻辑的定制。

从百度语音及 UNIT 应用案例 看背后的技术突破

张扬的分享侧重在众多语音交互及 UNIT 应用案例的展示。第一个场景是语音导航寻找清华大学西门的一个实际应用场景,是一个比较典型的人机交互场景,是为百度地图开发的一个语音交互应用。通过语音能够做出一些语音指令、语音交互,它的背后是怎么实现的呢?背后经过了四步。第一步语音唤醒,呼叫“小度小度”,让机器设备知道这个话是你对它说的;第二步语音识别,就是把语音转成文字;第三步就是 UNIT 平台,这是一个语音交互的开放对话配置平台;第四步将配置好的指令或者对话结果通过语音合成把它说出来。经过这四步以后,就跟两个人之间说话是一样的,有问有答。

现在百度支持十个唤醒词,其中三个是可以自定义的,在 AI.BAIDU.COM 平台上,有一个唤醒词测试,开发者在确定唤醒词的时候,可以在平台上进行测试。

语音识别就是把语音变成文字,分为短语音和长语音,短语音最大支持 60 秒,现在支持中文、英文、广东话、四川话。如果是天津话、东北话,正常人不经过训练也能听懂,这是口音,口音用标准的普通话版本端口就能够识别。在比较安静的环境下,比较正常的语速,比较标准的普通话识别准确率已经能够达到 97%。长语音现在支持没有限时,没有时间限制。

现在的语音合成已经不像早期科幻片那样,像机器说话一样,而是已经非常接近人声,目前支持四种音色,普通女声、普通男声、情感合成 - 度逍遥、情感童声 - 度丫丫,支持中英混读方式,还有离在线混合方式。

从有线电视的应用案例展示中,我们可以看到其中用到了语音、UNIT 以及其他一些人工智能端口。通过语音加上 UNIT 这两个端口,创造出非常有趣的一个应用场景——它在摇控器上集成一个麦克风,通过语音方式进行一些很便捷的操作,而且还能创造出一些原来在摇控器上所实现不了的新功能,比如查询演员是谁。如果是综合端口,可应用的场景就更多了,智能家居就是语音加 UNIT;商业机器人、智能客服、语音翻译是语音加上百度翻译。

如何破解远场语音识别难度

在当前这场人工智能和物联网的浪潮里,语音识别又一次被推到了风口浪尖。而语音识别技术也在这场潮流中发生着变化,在李超看来,现在变化的方向就是远场语音交互。大家会发现市面上大量的公司都在做智能交互设备,有做智能手表的,还有做智能音箱、智能电视、智能电冰箱、智能空调的。但是这些设备有多智能呢?大部分其实只是加上了语音控制,好一点,有语音唤醒和命令词,最牛的是可以完成语音交互的全链条,像今天讲的 speech + UNIT, 还有 DUEROS, ALEX。

远场的语音交互是个大系统,李超聚焦在远场的语音识别技术和解决方案。远场的语音识别有什么难度呢?当麦克风和说话人的距离足够远的时候,语音识别就要考虑整个空间的声学特性。就像演讲的会议室,这里面有空调、净化器、风扇的噪声,有感兴趣的说话人,同时会有其他干扰说话人在窃窃私语,房间里的扬声器发出的声音会再次传到麦克风形成混响,地板墙壁天花板会产生回声。这些所有的因素构成了我们所属的 3D 声学空间,要从噪声、混响、回声、干扰声中把感兴趣的声音提取出来,并顺利的识别成文字。相对于传统的 20cm 左右的近场语音识别,远场语音识别需要更先进的信号处理前段算法,泛化能力更强的后端神经网络模型,而这些正是百度语音技术部现在努力在做的事情。

这是百度远场语音系统的整体框架。首先,多个麦克风采集到声音信号,连同当前扬声器正在播放的声音的参考信号一起传给 AEC 模块,进行混响消除。然后是一个实时的声源定位模块,定位当前主声源的位置。同事 AEC 会输出一路信号进行后处理增强后传给唤醒模块,唤醒就像一个开关,它控制着后面的链路是否启动。当唤醒成功以后,多路信号和位置信息会传给 beamformer,得到一路空间滤波后的语音,经过后处理送到 ASR 模块。整个的前端信号处理,百度语音技术部有专门的一个团队进行算法研究和硬件设计。

下图是一个端到端的解决方案。Google home 提出来,我们正在跟进,这是继 CTC 之后,语音识别声学模型的又一个划时代的技术,把前端和后端打通,融合在一个深度神经网络里面。除了技术的高大上,其实这是一个更适合工业界的方案,2 个 mic 就可以和 6mic 一样的识别率,不再需要信号处理芯片进行复杂的 beamorming 和后处理,直接发送到远端,让高性能的服务器计算,更低的端上成本,广泛的适用性。我们相信这是语音识别技术的未来,百度也在积极的朝着这个方向前进。

远场语音交互因为受限于设备的通用性,现在还没有一个比较通用的示范性比较强的模型提供给开发者

AI.BAIDU.COM:你要的它都提供

吴延宇的分享侧重在介绍 AI.BAIDU.COM 平台的威力。刚才有一位朋友说他想做机器人,能不能用 UNIT 直接来做,其实机器人的视觉理解、语音理解…所有的技术在百度 AI 平台(AI.BAIDU.COM)上都有,你怎么玩都可以自己去拿。我们分为图像技术、自然语言技术、语音技术、视频技术、知识图谱、数据智能、增强现实、深度学习等多个维度。

这些所有的技术,只要放到导航栏上,在我们的平台现在都可以使用。同时我们还包装一些解决方案,例如在比较火的人脸上,商用比较多的人脸核身方案——会场签到。包括像机器人视觉、呼叫中心等等,这些解决方案现在都可以对外开放。不过因为整个解决方案比较复杂,不能说给你一个产品马上就能用,需要集成,根据你的业务场景思考怎么跟业务结合。

我们在平台上提供了很多开发支持,比如 API、SDK、参考代码、示例、配置系统等等,此外还包括人工的咨询解答。另外我们也提供一系列的管理功能,包括应用管理、个性配置、调用统计、工单系统、计费系统等等。

我们的官网提供了很多 SDK,包含客户端和服务端,在 SDK 下载页,提供所有方向的 SDK 下载。这里边包含服务端,也包含客户端,也包含语音开发包,就是给你集成好的模块包。首先你要下载 SDK 文件,这个时候拿到还不能用,要进行授权。人脸识别比较特殊,人脸识别把人脸的活体算法离线写到了 SDK 里面,不需要联网请求,所以人脸的 SDK 必须完成认证,先完成一个资质审核。

在概览页的时候,像现在已经开通付费的文字识别、人脸识别,在概览页的时候每个接口都可以独立单独开通付费,开通付费之后可以在里面选择你要开通具体的接口,不开通付费的话接口每天送你调用次数供你做测试,每个人账号每天都会免费送,而且以后只会扩大免费量。

2017-09-11 03:532284
用户头像
张晓楠 InfoQ总编辑

发布了 144 篇内容, 共 101.2 次阅读, 收获喜欢 378 次。

关注

评论

发布
暂无评论
发现更多内容

Hamcrest

insight

单元测试 3月日更

Nginx配置静态文件服务从入门到精通

happlyfox

28天写作 3月日更

融云清空历史消息 Android 端

融云 RongCloud

sdk

融云即时通讯SDK集成 -- 定制UI(二) ——添加自定义表情库

融云 RongCloud

融云 IM SDK 集成 --- 刷新会话界面和会话列表界面

融云 RongCloud

IM

产品经理训练营 - 大作业

joelhy

产品经理训练营

Android 端如何添加自定义表情

融云 RongCloud

IM

诊所数字化:医疗机构常见的系统整理

boshi

医院 医疗 七日更

大作业

LouisN

yum安装Nginx全流程指南

happlyfox

28天写作 3月日更

唠一唠融云的消息扩展功能

融云 RongCloud

sdk

融云即时通讯SDK集成 -- 通知检查

融云 RongCloud

即时通讯

一卷河图赋太虚:HMS Core CG kit与移动游戏新可能

脑极体

Wireshark 数据包分析学习笔记 Day13

穿过生命散发芬芳

Wireshark 数据包分析 3月日更

5 分钟部署一个 OIDC 服务并对接 nightingale

冯骐

CAS Nightingale 认证授权 OIDC Apereo

融云 IMkit 拦截或监听所有发送消息

融云 RongCloud

sdk

阿里大师口述:让你可以在简历上写精通SpringBoot

编程 架构 springboot

京东数科面试真题:常见的 IO 模型有哪些?Java 中的 BIO、NIO、AIO 有啥区别?

Java 架构 面试

金三银四跳槽阿里必备:分布式/高并发/Redis,不看我真的怕你后悔

比伯

Java 编程 架构 面试 程序人生

markdown如何插入图片、音频、视频?

xiezhr

markdown markdown语法 音频

假期无聊冰河开发了一款国民级游戏!

冰河

Java 游戏

算法攻关-climbing-stairs(O(n))_70

小诚信驿站

刘晓成 小诚信驿站 28天写作 算法攻关

php的一些漏洞梳理

依旧廖凯

28天写作 3月日更

像这样操作 Python 列表,能让你的代码更优雅 | pythonic 小技巧

AlwaysBeta

Python

容器or虚拟机?

xcbeyond

Docker 容器 3月日更 专业术语

美丽的数学学习笔记(1)

方勇(gopher)

LeetCode题解:91. 解码方法,动态规划(优化),JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

项目延期了,怎么办?

石云升

项目管理 28天写作 职场经验 管理经验 3月日更

短网址服务设计整理

程序员架构进阶

架构 设计实践 28天写作 实操案例 3月日更

算命、运气和其他「Day 24」

道伟

28天写作

产品训练营 第四周作业

万顷湖天碧

小团队怎么跟百人研发团队PK智能交互?这份秘籍可以告诉你_DevOps & 平台工程_张晓楠_InfoQ精选文章