在游戏和软件开发的世界里面最有挑战性的事情是什么?用C++进行服务器网络编程?用OpenGL进行3D渲染?用各种物理引擎来模拟控制物体的交互?用后台数据库进行海量数据分析和处理?这些看似很可怕的东西在一个名词的前面都不值一提,那就是人工智能。
事实上,人工智能不仅仅是游戏和软件开发,更是整个IT技术发展的终极目标。在无数的科幻小说和电影中,人工智能都是当之无愧的最佳配角(主角当然是打不死的人类小强了)。
很可惜的是,自图灵测试诞生以来至今,人工智能的发展极为缓慢,鲜有突破。可以预料的是,除非生物芯片,机器学习,脑科学研究,情感计算,量子计算和3D打印等技术突破某个临界点,人工智能和富有人性的人造生命只能是科幻小说中最引人入胜的元素之一。
就在人们对人工智能已经逐渐失去兴趣的时候,2011年美国当地时间10月4日,乔帮主离去的前一天,苹果发布了新一代的智能手机-iPhone4S。时隔一年多,帮主已经仙去,几乎无人记得iPhone4S这款帮主遗作的各种软硬件特性,除了一样,那就是自称为谦卑个人助理的Siri。虽然Siri和真正意义上的人工智能还有相当大的差异,但是仅从心理感受上来说,她已经是第一款可以让人接受的富有人性化的AI服务。
彼时的苹果高级副总裁iOS负责人Scott Forstall在台上骄傲的展示着Siri的各种人性化功能,让无数极客为之震撼不已。而看着keynote激动不已的开发人员们也无比期待着Siri能够面向大众开放。毕竟,DARPA,CALO这两个神秘的名词让人敬畏十分。如果想要从零打造一个类似Siri这样富有智慧和人性化的服务,即便是高级极客也感到十分头疼。
遗憾的是,从iOS5到iOS6,直到现在的iOS6.1.1beta,苹果对于Siri的核心API一直在不断完善,除了简单的语音输入外,并没有开放任何相关API和服务。希望iOS7能给开发者一个意外的惊喜吧。
因为自然语言处理和语义分析的技术实在太难,也几乎很少开源的API或者服务,因此开发者只能退而求其次,先实现一般的语音识别和输入技术。
这两天打算整理下iOS开发中和语音相关的技术,比如语音识别和输入,音频输入和处理(类似talking tom),录音,音频播放等。
期待有高手牛人可以分享下自然语言处理和语义分析的最新技术,如有开源项目,框架或相关服务是更好不过了。
首先将要介绍的就是针对英语的OpenEars语音识别与语音文字转换框架。