过去一年,机器学习无疑是最热门的主题之一,各种公司都在努力使他们的产品更加智能,以改善用户体验并使其产品脱颖而出。
现在,Apple已进入提供面向开发人员的机器学习的竞赛。 Core ML使开发人员可以轻松地向其应用程序添加深度机器学习。
只需看一下您的iOS设备,您就会发现几乎每个系统应用程序都集成了机器学习功能,其中最明显的是Siri。 例如,当您发送短信时,Apple使用自然语言处理(NLP)来预测您的下一个单词或在键入单词时智能地建议更正。 期望机器学习和NLP在我们从搜索到客户服务的技术使用中将继续存在并根深蒂固。
本教程的目标
本教程将向您介绍机器学习的一个子集:自然语言处理(NLP)。 在介绍构成NLP的各个层或方案之前,我们将介绍NLP是什么以及为什么值得实施。 这些包括:
- 语言识别
- 标记化
- 语音识别的一部分
- 命名实体识别
在研究了NLP的理论之后,我们将通过创建一个分析推文的简单Twitter客户端来将我们的知识付诸实践。 继续并克隆该教程的GitHub回购 ,然后看看。
假设知识
本教程假定您是经验丰富的iOS开发人员。 尽管我们将进行机器学习,但您不需要具备该主题的任何背景。 此外,尽管Core ML的其他组件需要一些Python知识,但我们不会使用NLP处理任何与Python相关的方面。
机器学习和NLP简介
机器学习的目标是使计算机无需经过明确编程即可执行任务,而是具有自主思考或解释的能力。 当今最受瞩目的用例是自动驾驶:赋予汽车视觉上诠释其环境并独立驾驶的能力。
除了视觉识别,机器学习还引入了语音识别,智能网络搜索等功能。 随着Google,Microsoft,Facebook和IBM处于普及机器学习并将其提供给普通开发人员的最前沿,Apple还决定朝着这个方向发展,并使机器学习更易于集成到第三方应用程序中。
Core ML是Apple SDK系列的新功能,是iOS 11的一部分,可让开发人员实现多种机器学习模式和深度学习层类型。
从逻辑上讲,自然语言处理(NLP)与另外两个强大的库Vision和GameplayKit一起位于Core ML框架内。 Vision为开发人员提供了实现计算机视觉机器学习以完成诸如检测面部,地标或其他对象之类的功能的能力,而GameplayKit为游戏开发人员提供了用于编写游戏和特定游戏功能的工具。
在本教程中,我们将重点介绍自然语言处理。
自然语言处理(NLP)
自然语言处理是一门能够分析和理解文本,分解句子和单词以完成诸如情感分析,关系提取,词干,文本或句子摘要等任务的科学。 简单来说,NLP是计算机以自然语言或书面形式理解人类语言的能力。
上下文中提取和封装单词和句子的能力允许通过有意义的内容块改善用户和设备之间甚至两个设备之间的集成。 我们将在短期内详细探讨每个组件,但是首先重要的是要理解为什么要实现NLP。
为什么要实施自然语言处理?
随着公司继续依赖大数据的存储和处理,NLP可以解释自由和非结构化的文本,从而使其可分析。 通过将大量信息存储在非结构化文本文件(例如,医疗记录)中,NLP可以筛选大量数据,并提供有关上下文,意图甚至情感的数据。
除了能够分析语音和书面文本外,