大多数浏览器和
Developer App 均支持流媒体播放。
-
在 Create ML 中训练文本分类器
现在,您可以通过 Create ML 创建基于先进技术的自然语言模型。了解如何通过 Create ML app 轻松地训练和测试这些模型。深入了解用于迁移学习、单词嵌入和文本目录的强大新增选项。
资源
相关视频
WWDC19
-
下载
嗨 大家 大家下午好 欢迎大家来到这次会议
我是 Tao 我来自 Core ML 团队 今天我们十分激动 能够来讨论我们今年 在 Create ML 中添加的一些新功能 在机器学习讨论会的 新内容中 你们了解了 全新的 Create ML App 这是 Apple 设计的 一款出色的新工具 它可指导你完成 机器学习模型培训的基本步骤
我们相信这会使 你们的机器学习工作流程 变得简单易用
现在 让我们 从文本分类开始
什么是文本分类 这是一个机器学习的任务 它将文本分类为 一组预定义标签
你可以将其用于情感分析 例如将文本分类为 正面或负面
或者做垃圾邮件检测 或者更复杂的事情 如主题分析 将文本分类为 食物类 政治类或科学类
好 自去年以来 文本分类一直被推崇 但我们今年正在增加 对艺术迁移学习状态的支持 今天 我将向你们 具体举例说明 如何使用迁移学习 训练文本分类器
要训练这样的一个模型 你要做的第一件事 就是收集一些训练数据
一旦获得数据后 你们便可以轻松地进行整理
我这儿有运动类 娱乐类和自然类
在每个文件夹下 我有一些文本文件 而且他们中的每一个都是 一个训练样例 它们的标签就是 它们所在文件夹的名称 就是这样 这就是你们要对这些数据 做的所有处理 我会给你们一个快速演示 告诉你们如何做到这一点 在我的桌面上 我有一个训练数据的文件夹
那么 我决定找点乐子 我没有使用纯文本作为标签 而是使用了一些表情符号 例如 对于娱乐类我使用 一个摄像机图标 对于运动类 我用了一个橄榄球
对于自然类 我则用了一个可爱的小帐篷
旁边有棵大松树 你注意那儿还有 这个其他文件夹 这其实是我不想要的 训练数据 我希望我的模型能够学习 任何不属于 以上三个目标类的东西 我希望我的模型将它们 分到这个类中 那么 我们来看看 这里的一些例子 例如 如果你们读了 这个句子 有一些关于 作家和 IMDB 的东西 这显然与 娱乐有关
如果我进入其他文件夹 它不是以上三个类中的一个
这是关于数据的问题 现在 我要进入 Create ML App
为此 我转到开发人员工具中 并找到 Create ML
然而我要做一个新文件 然后转去文本 我会这样命名它
创建 好的 我相信你们 已经在早期的会议中 看到了这个用户界面 对象连接和子分类 所以 我在这里就 直接拖动我的训练数据 所以它会为你们提供一些 有关你们训练数据的反馈 但是文本分类器的新功能是 这个特殊的参数部分 所以 对于今天的演示 我将选择迁移学习
如果我们看看它的话就知道 自去年以来 实际上前两种算法 已经被鼓励使用了 那么今年我们正在 添加迁移学习 对于演示 我将 使用名为 Dynamic Embedding 的 此功能提取器 我将在稍后的演示之后 详细介绍 什么是迁移学习 但现在你需要知道的 是用 Dynamic Embedding 进行的迁移学习 它实际上是一种 注重输入文本的 语义含义的算法
我要开始训练数据了
因此 一般来说 迁移学习需要更长的时间来训练 对于这个特定的数据集 在这台特定的机器上 大约需要五分钟
好了 我不会干等着
相反 我在这里预先选择的 解决方案是在完全相同的数据上 进行训练的 模型一旦经过训练后 精度测试可以很好地 总结你的模型 对不同的数据执行情况如何 分解为不同的类做得如何 看起来我的模型 在训练验证和测试数据方面 做得很好 所以 我将直接跳转到 输出选项卡 此预览窗格给你提供了 有关模型的一些总结 以及一些快速实验的 不同方法 例如 如果你转到右下角 则可以直接添加 File 以进行快速测试 或者 你可以跟踪 模型能够预测该文件夹中 所有文本文件的文件夹 该模型实际上 将使用每个文件中的 整个文本来进行 单个预测 但是还有另一种方法 可以让你进行快速实验 即手动输入
因此 在这个特定的文本输入部分 当你 当我键入每个空格时 或者如果我 停止输入一段时间 模型将进行预测 那么 让我们看看它是如何运作的
真是反败为胜啊 运动类 让我们来试试 不同的东西
本季结局为情节 增添了一丝转折 这似乎刚刚好 娱乐类 我实际上也想尝试 一些更近期和 更相关的东西 我昨晚才想到这件事
猛龙是联盟总冠军
自然类
好吧 如果我切换语境的话
它也可以预测运动类 好了 我对模型的表现 非常满意 现在我准备好进行布置 所以 我只需将其拖出来 我就可以把它放在 我的 iOS 设备上
这就是你如何使用 迁移学习训练 文本分类器
但你们可能想问 什么是迁移学习
迁移学习是一种功能强大的 机器学习技术 这其中针对一个特定任务的 大量数据训练模型 可以被重新用于另一个任务 因此你们作为开发人员 只需要准备有限数目的数据 并同样可以获得 个性化的机器学习模型 Create ML 如今实际上使用 迁移学习来进行 图像分类 现在我们将它带到文本中 那么 要为文本训练 一个好的迁移学习模型 问题就有点不同了 如果你们读到这句话 “我能把车停在公园入口附近”
对于一个使用传统技术 或研究嵌入 进行训练的模型 这两个部分看起来是完全相同的 但是对于一个使用 Dynamic Embedding 的迁移学习训练的模型 因为它注重 整个上下文的 语义含义 所以它能够弄清楚 这两个部分实际上意味着 不同的事物
要训练这样好的一个模型 你需要在很多文本上训练 这正是我们所做的 我们对数十亿文本进行了训练 并将这种预先训练的模型 发送到你们的移动设备上去 更重要的是 我们优化了其性能 因此你们只需准备 有限数量的原始文本 将其发送到 Create ML App 上 在它深处 它将与 已经是你们 OS 中 一部分的模型进行交互 并提供自定义文本分类器
而且 你们可以在 iOS 设备上 无缝地部署 相同的模型 因为 预训练模型 已经可供你们使用 好了 这就是使用 Create ML App 训练文本分类器的 工作流程
如果你也想编写代码 那同样会很容易
要使用带 Dynamic Embedding 的 迁移学习 你唯一需要指定的是 此模型参数 其余代码 与去年完全相同
现在 我已经向你们展示了 如何训练文本分类器 但我还想给你们一些简单的提示 以便充分利用你们的文本分类器
现在 选择适合 你们所用例子的算法
迁移学习 只是文本分类器支持的 三种算法之一
不同的算法有 不同的侧重点
要找出哪一个最适合 你的所选例子 请看看这之后举行的 Natural Language 会议 提供均衡的分类 这是非常重要的
在我向你们展示的特定示例中 因为每个文本文件
所以 我大致在每个文件夹中 保留了相同数量的文本文件
数据一致性 如果你希望你的文本分类器 主要用于短句 就像我一样 你的训练数据应该 主要由这些示例组成 如果你希望你的文本分类器 能够处理 几句话 段落 甚至整篇文章 你也需要确保 你的训练数据 同样包括这些例子 [掌声]
-
-
正在查找特定内容?在上方输入一个主题,就能直接跳转到相应的精彩内容。
提交你查询的内容时出现错误。请检查互联网连接,然后再试一次。