小明带你看WWDC 2017(day3实况)

作者介绍:

黄明,WWDC 2017大会的小时光茶社特派员 ,腾讯SNG增值产品部内容中心iOS组leader,主要负责手Q个性化业务、手Q WebView等项目。作为终端开发也喜欢学习些图像图形方向的知识,同好者可以技术交流。生活中,休闲比较喜欢看书,娱乐比较喜欢电竞。 


今天内容依然是Machine Learning(机器学习),让我们大家持续兴奋。


1. NLP(Nature Language Processing)

还在为终端分词而苦恼吗?没有好的分词算法?分词词库太大?今天参加了我昨日提到的NLP(Nature Language Processing)的session,关于终端分词问题,苹果为广大开发者提供了统一解决方案。

如昨天所述,NLP是建立在Core ML的基础之上,使用Machine Learning来实现语言处理。具体的API在已有的NSLinguisticTagger中做了扩展。NSLinguistic Tagger提供了众多能力,你只要输入文本,指定具体scheme,它就自动帮你完成相关工作。

这些能力包括:

  1. 语言识别(Language identification);

  2. 分词(Tokenization);

  3. 词性划分(Part of speech);

  4. 词性还原(Lemmatization):如各种单词不同时态还原成原词;

  5. 命名实体识别(Named entity recognition):如识别人名、组织名称等。

session中用demo演示了使用NLP的图片描述搜索,效果不错,使用不同时态的同一个词都可以搜索到相关的图片。

NLP目前的准确率,session中给出了大概数据,如下图:

例如,词性划分和命名实体识别在英语和西班牙语下都达到了80%以上的准确率。

NLP的性能如何呢?session中也给了大概结论,如下图:

在子线程做异步处理看起来是问题不大的。

NLP底层使用Core ML实现,因此它也需要ML MODEL,目前NLP的ML MODEL是从苹果后台下载的,这样苹果可以随时更新更好的ML MODEL给用户。当然如果下载失败,NLP的调用也可能失败,因此开发者需要做好异常处理。

怎么样?好想用一用是吧?不过遗憾的告诉中国开发者,部分能力还没支持中文(上述3、词性划分(Part of Speech)、4、词性还原(Lemmatization):如各种单词不同时态还原成原词、5、命名实体识别)。

原因应该是中文处理比起英文还是要难做一些,相信苹果在不久一定会提供中文支持的。大家敬请期待吧~


2. Vision

Vision和NLP是同一层级的Framework,都是建立在Core ML基础之上,NLP处理语言,Vision则处理视觉。开发者可以使用Vision来做各种关于图像的Machine Learning处理,如人脸检测(Face Detection:Machine Learning的人脸检测可以检测更多场景下的人脸,比如侧脸,戴眼镜都可以检测出)、人脸标记(Face Landmarks)、图像配准(Image registration)、矩形探测(Rectangle Detection),扫描二维码(Barcode Detection)、文字检测(Text Detection)、物体追踪(Object Tracking)等。

Vision是一个高层次API,为开发者封装了复杂的机器视觉实现,开发者不需要成为一个机器视觉的专家,只需要明白自己需要什么,就可以使用Vision轻易完成。记住两个关键API:VNImageRequestHandler、VNSequnenceRequestHandler。一个处理单张图片,一个处理序列图片如摄像头实时捕捉的场景。使用两个Handler perform对应的Request就可以Observe到相关结果了,使用起来真的非常方便。如下图:

更详细的应用请参加已公开文档:https://developer.apple.com/documentation/vision。

有没有觉得原来不可以想象的事情,随着Machine Learning的普遍应用,通过苹果的良好封装,都变得如此的简单。


3. Depth

Depth,这个概念真的很神奇,WWDC第一天有提到对开发者放开Depth信息的获取。那么到底Depth是个什么东西呢?

Depth就如其本意,是代表深度,在图像领域即是图像的深度信息。在iPhone 7P以上的双摄像头机型才能支持,原因很简单,iPhone的镜头是双摄像头,两个摄像头才能获取到图像的深度信息,就如人的双眼。

Depth信息有什么用呢?可以来做更复杂的图像处理,如处理人物背景:

更复杂的应用在AR中也有体现。

Depth提供的是一个很底层的能力,对于APP上层开发者可能应用场景不多,但是对于图像处理的专业人员来说,他们可以拥有多一维的深度信息,对图像摆弄的空间将会大大增加。session中有基本原理的介绍,专业人士可以后续查看相关视频详细了解。

怎么获取深度信息呢?下图让你一目了然:


4. WKWebview

WKWebview又有了相关更新。新的WKWebview支持Cookie设置、支持过滤内容,支持提供自定义资源。使用WKHTTPCookieStore可以轻松设置和管理cookie:

使用WKContentRuleList可以过滤内容:

使用WKURLSchemeHandler可以拦截URL的内容:

咋眼一看以为和UIWebview的能力一致,但细看还不一定,只能拦截WKWebview不会处理的URL Scheme:

众多使用UIWebview拦截请求的各种机制能否顺利切换到WKWebview仍然还是一个问号,需要大家继续研究。


最后有一些零散的信息分享:

  1. TestFlight将在今年晚些时候放大人数限制到1万;

  2. iOS11的Phased Release支持上架时指定灰度,按苹果固定放量规则进行放量自动更新,需要注意的是这个灰度对于手动在商城点击更新的用户无效,仅仅是对于未灰度的用户不推自动更新,出现问题后,开发者需要再提供一个修复问题后的版本重新审核上架。这也是一个大大的进步了,可以很大程度上解决iOS APP灰度的问题;

  3. HEVC即H265, JEIF也是一个13年MPEG定义的标准,于15年定稿,苹果在新系统中率先对两者做了支持。


好了,今天的内容就到这里,咱们明天见。


关于我们:

小时光茶社(Tech Teahouse),由腾讯QQ会员技术团队创建,用于技术分享和交流。

欢迎长按二维码,关注我们^__^。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值