10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

面向智能设备的语音交互编程语言:VSL 的架构与应用场景

  • 2019-05-24
  • 本文字数:1601 字

    阅读完需:约 5 分钟

面向智能设备的语音交互编程语言:VSL的架构与应用场景

随着智能科技的快速发展,各种各样的智能设备把越来越多的便利与创新功能融入到我们的生活中。大家对于智能设备的交互行为也不再仅仅满足于鼠标和触控操作,“解放双手”的语音交互逐渐成为了大家期望的新交互形式。


如何才能低成本的让语音传达到业务场景中,并实现视图内的交互呢?百度搜索前端团队探索开发出了一套语音交互编程语言——VSL。到底什么是 VSL?它是如何架构设计的?哪些应用场景更适合使用 VSL?我们在 InfoQ 主办的QCon 2019 全球软件开发大会现场采访到了百度前端工程师陈奇。

面向智能设备的编程语言 VSL 到底是什么?

VSL 全称为 Voice Specific Language,是一种为了解决语音交互视图问题而诞生的领域特定语言,通过提供一套接入规范和基础框架,封装语音交互核心功能,使得各场景能快速低成本接入语音交互功能。


目前语音交互主要有两种形式,一种是对话式交互,另一种是视图操作式交互。前文我们介绍到,VSL 是一种领域特定编程语言,这里的“领域”指的就是视图操作式语音交互。


视图操作式语音交互最常见的应用场景就是手机,虽然大多数人使用手机时习惯于触控操作,但是面对一些比较复杂的场景,例如复杂表单的输入和操作,语音可以发挥快速输入、快速选择和多控件组合输入的优势,达到快速操作的目的。除了手机,车载和智能家用设备可能是视图操作式语音交互更契合的场景,这两个场景能够最大幅度发挥语音的优势——解放双手。在车载场景下,由于双手需要放在方向盘上,所以使用语音与智能设备交互是一种更安全的方式;而在家用场景下,语音具有天然优势,在家里用户不仅无需克服语言表达的胆怯心理,同时也不用担心隐私泄露。另外,语音交互还有很多其它使用场景,例如无障碍场景,有些残障人士可能无法使用双手或者外设顺利的进行视图交互,而语音恰好可以解决这样的问题。



VSL 是如何架构设计的呢?陈奇表示,“我们把 VSL 设计成了两个模块,一个是核心模块,一个是扩展模块。核心模块主要是用来实现视图内语音交互的场景,包括 DSL Parser、Actions、Action Manager 等。而扩展模块主要体现了 VSL 的进化过程,包括 App 端能力、DuerOS 端能力等。扩展模块的出现使得 VSL 成为了一个在交互场景中适配性相对较强的产品框架。”

VSL 的具体应用场景

2017 年 5 月,陈奇所在的团队接到了一个用视图控制音频的需求。刚开始他们采用了 JavaScript 的方式去实现,结果发现这种实现方式不仅开发和维护成本高、可复用性差,而且多场景下交互效果不一致,没有形成规范。2018 年 1 月,经过长时间的踩坑,陈奇及团队成员开始考虑一个全新的解决方案。2018 年 4 月,VSL 作为一种解决方案开始应用于手机上的某些场景,例如快递查询、飞机票查询等。


据陈奇介绍,目前 VSL 主要是在百度内部应用,应用场景主要有三大类,第一是百度搜索结果,例如快递查询、机票查询、房贷计算器等;第二是百度产品,例如百度作业模式等;第三是搭载 DuerOS 的智能设备,例如在小度智能音箱中语音视图交互场景,覆盖率达 90%。


接下来,我们以机票查询为例详细讲讲 VSL 是如何应用的?



从上图中我们可以看到,整个机票查询的界面有 5 个控件,分别是单程 Or 往返、出发城市、到达城市、出发日期和立即查询。如果使用最原始的方式给这些控件来编写程序的话,那么代码量得有数百行。而采用 VSL 之后,我们只需要对控件进行数据声明,代码量出现了明显减少,大概只有十几行。


在机票查询场景下,我们主要要做的工作就是对用户话术进行管理。用户在话术表达之后发送到后端服务器,在意图服务返回需求信息之前,需要主动对视图中的控件进行填充,例如该控件是 Input 还是 Click。


在谈到 VSL 未来发展时,陈奇表示,“VSL 现在的主战场还是在百度,但是未来我们有计划将 VSL 开放出去,为更多场景提供语音交互支持。”

采访嘉宾介绍:

陈奇,毕业于西安电子科技大学,现任百度前端高级工程师,主要负责百度搜索输出 DuerOS 智能设备以及语音交互编程语言 VSL。


2019-05-24 14:526688
用户头像

发布了 497 篇内容, 共 341.9 次阅读, 收获喜欢 1927 次。

关注

评论

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

掌握进阶:高级功能、图表定制与地理数据绘制

申公豹

Python

WorkPlus十年铸剑,成就千万级用户信赖与认可

BeeWorks

WorkPlus企业即时通讯系统的领先者,提升沟通效率的利器

BeeWorks

利用开源框架BMF实现高效视频处理

Geek-yan

HarmonyOS的功能及场景应用

芯动大师

个人技术成长方面的心得体会:边缘计算之旅

农夫三拳

Python文件操作指南:读写、异常处理与上下文管理器详解

申公豹

Python

Python图像处理:批量添加水印的优雅实现与进阶技巧

申公豹

Python

简洁灵活:Python中基于字段的不使用元类的ORM实现

申公豹

Python

WorkPlus Meet实现企业局域网视频会议的领先解决方案

BeeWorks

WorkPlus打造企业即时通讯平台,助力高效沟通与协作

BeeWorks

WorkPlus超级APP助力企业节省IT人力成本,实现快速移动化

BeeWorks

鸿蒙 API 9工程转换为API 10工程

坚果

HarmonyOS OpenHarmony

深入学习Python与Vscode环境的安装与配置

申公豹

Python

Python从基础到进阶字符串验证

申公豹

Python

Seaborn 数据可视化全攻略:从基础到高级实战

申公豹

Python

用纯 Python 打造的轻量级 Excel 到 Markdown 转换工具

申公豹

Python

架构决策的弹性

agnostic

架构决策

移动UI交互设计与动效制作

坚果

设计 UI 坚果派

记一次本地环境启动不了Mysql的故障

DoHornBurg

Java MySQL hyper-v

项目分享:AIGC技术在智能教学生成中的应用

YoLo

AI

在Python中实现条形图动态追赶动画效果

申公豹

Python

从学习到实践——火山引擎多媒体处理框架BMF的深度探索

熬夜磕代码、

文心一言 VS 讯飞星火 VS chatgpt (163)-- 算法导论13.1 3题

福大大架构师每日一题

福大大架构师每日一题

E3PO: 探索360°视频流传输的未来

不会算法。

WorkPlus一站式协同解决方案,助力企业降本增效

BeeWorks

面向智能设备的语音交互编程语言:VSL的架构与应用场景_编程语言_田晓旭_InfoQ精选文章