范超霏:我的智能硬件创业之路

个人简介 范超霏,斯坦福大学计算机硕士, 曾工作于美国Google Gmail和Disney Game Studio。2012年回国创业, 参与了移动社交应用许愿树和增强现实Morpheus Lab的开发。 2013年加入出门问问, 先后参与了语音识别系统的开发, Ticwear/Ticwatch系统开发, 负责Ticwear系统整体架构, 包括手表ROM, 手表应用, Launcher, 蓝牙服务, Android/iOS手机配套应用等。

全球架构师峰会(International Architect Summit,下简称ArchSummit)是由InfoQ中文站主办的一次全球性架构师峰会。ArchSummit专门针对架构师人群,讲述与架构和架构师相关的各方面趋势、技术和案例。这也是继QCon之后,InfoQ中文站主办的又一次高端技术盛会。

   

1. 各位InfoQ的网友大家好,现在我们是在ArchSummit北京大会的现场,做客我们专访间的是出门问问Ticwear的系统架构师范超霏,先请你做一下自我介绍和创业的经历。

范超霏:我是大概三年前回国进行创业,之前是在斯坦福大学读研究生硕士,其实我硕士还没有读完现在处于休学状态,之前也在Google Gmail和迪斯尼做了实习。去了斯坦福之后,那边的创业风气比较好,再加上国内创业特别火,我就决定回来创业。第一年回来创业的时候先是自己参与了两个项目,一个是社交项目,叫许愿树,另外一个是增强现实的项目叫Morpheus Lab,再一年之后加入出门问问一直到现在。

   

2. 那你当初从斯坦福选择休学,就是因为那边的创业风气感染了你?

范超霏:对,在斯坦福那边几乎是每个人每天都在谈论创业的事情,作为一个学计算机的人,肯定是要赶在最前面。

   

3. 你过去的创业经历对你现在在出门问问的工作有哪些帮助?

范超霏:帮助挺多的,从技术方面讲,之前创业我也积累了很多技术方面的经验,从后端一直做到前端,在Morpheus Lab还做过很多跟图像相关的东西,今天在创业的时候都会用到。除了技术方面,自己创业可能要关注整个公司的每个方面,到了出门问问之后这些技能也都用得上。

   

4. 你觉得Ticloud中如何运用自然语言处理技术?

范超霏:我在昨天演讲也说到,Ticloud自然语言处理技术目前是国内非常好的技术,用户问我们一句话,我们可以识别出他的查询意图是什么,帮他做精准的搜索,具体这东西是怎么做的,大家可以到时候去看我分享的slides。

   

5. 自然语言处理技术目前是什么样的发展现状?

范超霏:看怎么看了,这个技术本身还是非常成熟的,但是跟比如像语音和图像这种技术可能就落后一点,因为语音和图像已经开始把深度学习运用的非常好了,但是自然语言学习这块,深度学习并没有用的非常好,还只是尝试状态,所以自然语言这块还是用的一些最基本的机器学习方法,以及一些规则匹配,在某一个特定的领域要做很多的深度定制才能达到好的效果。

   

6. 跟语音、图像识别相比,目前自然语音处理是不是存在一些难点和技术瓶颈?

范超霏:因为自然语言它本身不像语音和图像,他们都是来自于自然世界的原始信号,语言这个东西是经过人类加工创造出来的产物,所以它本身就会有很多很难处理的情况,比如各种各样的歧义,中文还需要分词,所以自然语言会比这些原始信号难处理很多,这是自然语言处理目前最大的难点。

   

7. 目前针对这些难点有哪些解决方法?

范超霏:一般是需要大量的经验和数据的积累,比如出门问问来说,我们一开始会有自己的知识库,做自然语言处理的时候我会需要经常查知识库,比如这句话里的这个词在知识库里面到底代表什么东西。但是这个知识库怎么得来的呢,需要一开始通过网上公开数据,爬取这些数据建立一个基本知识库,然后再通过后期真实用户数据不停的迭代,不停的更新数据库才能让它变得越来越准,需要用这样的方法让它变得越来越好。

   

8. 您之前开发过语音识别系统,语音识别系统开发过程中出了问题怎么解决?

范超霏:坑是不停的有的,举一个具体的例子当时我们怎么克服这个挑战的。当时这个语音系统最开始是在后端服务器上搭建的,后端服务器性能非常好,很大内存很大CPU,所以可以把模型做的非常复杂,在后台服务器上跑起来。但是我们接下来要把语音识别挪到手表和手机上,特别是手表上的计算资源非常有限,我们就需要对它做很多优化,怎么优化,需要从最底层的硬件指令集方面,在服务器上可以不考虑这些东西,但是我们在手表上就需要考虑有这样的指令集可以把运算加速,一定要把硬件的每一滴的性能都榨干,比如在ARM平台上,我就要用ARM指令集,在X8平台上我就用SSE指令集,去做这种非常细节非常底层的优化。

   

9. 相对于同行的其他产品,比如说百度和科大迅飞的东西,Ticloud语音识别功能在远场识别和噪音环境下的识别的优势是哪些?

范超霏:我们应用场景不一样,科大讯飞他们可能更多做一些远场,因为他们可能在会议室里会有这种使用场景,而我们是手表,离你非常近,远场的需求不是特别大,所以我们其实并没有在方面做特别多的优化。反而是在我们自己的垂直领域,用户在出门想要问的一些问题上,我们会做一些很深入的优化,让用户无论说什么东西、问什么地点都可以精准识别。

   

10. 现在Ticloud有没有运行大规模的机器学习的东西?

范超霏:我们后面的机器学习的数据量是非常大的,比如说语音我们有数千小时数据,要训练这些数据我们最开始只有一个GPU,后来说一个GPU肯定不够,我们要同时开多个GPU同时训练,才能把速度加起来。另外就是自然语言分析这块,一开始文本数据没有那么多,但是数据量从GB级增加到TB级的话,我会从一台机器上放到多台机器上做分布式训练。

   

11. 你刚才也谈到你们一开始做的时候其实没有太多的真实数据,不像图像也不像语音,有那么多数据样本。你们现在这么多数据样本怎么采集的?

范超霏:自然语言这块我们分成两大部分,一部分是需要非常大的数据量,叫语言模型,它是学习人类语言怎么沟通的过程,这个东西通过很大数据量扔到系统里面是可以学习到的。另外一块语义分析,它不需要那么大的数据量,反而是需要规则与准确精准数据的积累。

   

12. Ticloud你们一直在研发,整个过程中用到哪些开源工具和开源方面的框架?

范超霏:语音识别是基于一个开源软件叫kaldi,是一个开源语音识别引擎,我们在上面做了很多优化与二次封装,把它从一个科研性质的东西变成能在生产环境中使用的而且在各种硬件平台上都能跑的东西。语义分析这块,斯坦福有一个语义分析组,他们做了很多开源语义分析工具,他们的分词器和各种开源工具我们都使用了。

   

13. 分词器我记得之前一些做字典词典的用的比较多。

范超霏:对,分词器一般都会背后有一个词典去做分词,但是往往有些词典不够了,有些时候自然语言有各种歧义,需要通过概率模型判断这种时候最有可能出现什么样的词。

   

14. 现在出门问问的语义分析可以支持70个垂直领域的语义理解,能够理解多达11个维度的自然语言查询,你们是通过什么技术保证它的精确程度的,因为我之前能看到的这种多个领域的语义理解也就是在输入法里面有词库,你们是如何保证精确度的?

范超霏:精确度你是指用户查一个东西我能精确把结果反馈给他们,对吧?

   

15. 或者是对他的查询语句进行一个精确理解,知道他准确要问的是什么。

范超霏:这里面两个部分,第一部分是机器学习算法本身的优化,包括算法提升,还有训练数据量的增加。这个东西我们主要是前期把系统搭建得非常好,让新的数据能够源源不断的进来。另外一个这方面的优化我们做的事情在Google是叫做search quality搜索质量,像Google做搜索的时候能让你输入关键词利马结果回来,它其实也不是特别的技术在里面,而是后面有一堆人会每隔一段时间评估一下用户输入一个词得到的结果他满意不满意,通过这个结果反馈到系统,提升系统,我们做的也是一样的事情,就是把真实的query拿来看一下,做一些分析和评估找到我们系统本身的漏掉、或者算法、数据的漏洞,然后补全到系统里面作为反馈让它学习得越来越好。

   

16. 在复杂语义分析方面,比如一些多义词,反问句,尤其是俚语,ticloud在处理复杂语义分析方面做过哪些尝试和改进?比如说俚语,有一些像中国的歇后语,俗话。

范超霏:这块我觉得最主要的也是刚刚我说的搜索质量。一些老俚语,我们通过之前的机器学习就可以知道这些话是什么意思,如果有一些新的词进来,比如说我们当时做了帝都与魔都,对应的是北京和上海,这个东西机器很难自己学习到,我们通过search quality观察用户会问这样的东西,我们把这个规则加到系统里面去,让系统实时学习到最新的知识。

   

17. 其实还有很多人工参与?

范超霏:对,是要有很多人工参与,机器也会自动去网上爬取这些信息。

   

18. 您能谈一谈自然语言处理技术的未来发展趋势和展望?

范超霏:自然语言和深度学习的结合这块将来肯定是会走的越来越好,因为Google在这块已经做了非常多的尝试,有一些非常好的成果出现,但是远远没有到语音和图像这块,一旦能把这两个东西的结合得非常好,将会有重大的突破在里面。

   

19. 下面我们聊聊物联网跟智能硬件,在物联网体系中有一个非常重要的感知节点就是现在各种所谓的智能穿戴设备,Ticware怎么做到省电优化?

范超霏:当时我们的ticware系统是基于开源的安卓系统修改过来的,安卓系统其实对电量优化做的并不是特别好,同时因为它是为手机打造的系统没有考虑到手表这么多要素,所以我们当时做的优化第一是把手表上不需要的组件全部裁减掉,比如说电话,照相机,gps模块,这些在手表上都用不到,全都裁剪掉。另外就是引入深度睡眠的概念,当手表不用的时候尽量让它睡眠,不要让它唤醒,只有当手腕亮的时候,或者用户操作的时候才让它醒过来去做一些事情。刚刚说的比较上面,再往下就是靠近硬件层面做一些优化,比如说很多传感器不是直接连到CPU上,而是连到Sensor Hub上,它能非常低功耗的调用传感器信息。还有蓝牙,让蓝牙尽可能的在没有做数据传输的时候也进入睡眠状态,减少功耗。

   

20. 这几年物联网信息安全大家一直都在诟病,Ticware怎么保证数据传输过程中的个人数据安全?

范超霏:因为手表和手机之间是进行蓝牙传输,本身这两个设备是要经过配对的,连接本身是加密过的,基本可以保证就算有人在空中把蓝牙包截取过去了他也不能看到传输的数据。

   

21. 这个加密是蓝牙协议本身的吗?

范超霏:对,蓝牙本身的协议。蓝牙协议跟其他物联网协议不太一样,物联网协议只是提供基本的多个设备之间的连接,黑客只要能够进入你这个局域网,就可以获取到所有设备之间的信息,但蓝牙不一样,蓝牙是两个设备之间点对点的连接,是经过加密的,所以在安全性方面要比其他协议好一点。

   

22. 你们现在这个蓝牙协议是什么版本?

范超霏:我们现在用的是3.0。

   

23. 未来你们在智能硬件方面还有什么新的产品研发规划吗?

范超霏:肯定是有的,但是现在还不能说。

   

24. 出门问问在自然语言处理方面,跟微软小冰,苹果SIRI是不是也有很多一样的地方或者是有什么不一样的地方?

范超霏:肯定用的最基本的技术都是一样的。不一样的地方,比如跟SIRI做横向对比的话,我们支持的语义标签和垂直领域更多一点,比如你问SIRI帮我找一个附近好吃的川菜馆人均50以内的,它可能就帮你找附近的川菜馆,把后面的条件给忽略掉了。或者说你想问北京的PM2.5是多少,它也不能帮你找出答案,这些我们都支持。跟小冰比的话,我最近没有关注小冰的动态,它之前主要是聊天对话机器人,查询概念少一点,对话聊天多一点,因为微软本身有很多用户聊天数据,根据这个东西做这件事情,所以侧重点不一样,这是我们跟他们主要不一样的地方。

InfoQ:好的,谢谢!

你可能感兴趣的:(范超霏:我的智能硬件创业之路)