大多数浏览器和
Developer App 均支持流媒体播放。
-
在 Create ML 中训练推荐模型
Core ML 的推荐模型可以为使用您 app 的客户带来高度个性化的体验。这些模型能够在您日常使用的 app 中推荐音乐或影片。了解如何利用 Create ML app 根据各种数据来源轻松创建自定推荐模型。更深入地了解如何实现这种个性化,同时保护用户的隐私。查看这些推荐模型之一的实际应用案例。
资源
相关视频
WWDC19
-
下载
大家好 我是 Hoyte 来自 Apple 公司的 Turi 团队 我将在这 告诉你有关 Create ML Recommender 的信息 Create ML 中的 Recommender 是一个 在你的 App 的用户体验中 增加个性化和智能化的绝佳方式
假设我有一个徒步旅行日记 在这里我可以记录不同的 我去过的徒步旅行以及我多喜欢 或者多不喜欢它们中任意一个 那不是超级棒吗 当它还推荐了新的路径 给我尝试基于 我已经表达出来偏好
或者假设我有一个数学问答 App 在 App 中用户必须 在一定时间区间里解出一系列的数学问题 如果能基于以前 用户答对或答错的问题 来选择下一个要问的问题 将会非常合适
或者让我们来看看 这个购物清单 我在上面列出了所需要的食材 下次去杂货店的时候买 现在 这在这里非常简单 但如果它能建议 那些我可能曾经忘记过的食材 会让 App 的使用体验更加 引人入胜而且有趣
我今天的目标是让你 在你的 App 中 创建这样的用户体验 通过 Create ML Recommender 来实现
让我们深入了解我们要 如何做到这一点 让我们从数据开始吧
Recommender 的工作方式是通过寻找 物体组中的模式 回到这个购物清单 当我去杂货店的时候 我很可能在脑海中 已经有一些食谱了 我想买些食材 用这些食谱来做点好吃的 那么 什么是食谱? 它们是由食材组成的群组 我们发现这是一个 完美的例子 集合了一类 你可以用于 Recommender 的数据 事实上 你这里需要做的就是 用这些食谱并 把它们制作成一张表格 分为“Group Column”(组列) 和“Item Column”(项列) 这里的每一行都是 一个特定项和它所属组的组合
现在 这里的组是食谱 项是食材 这还可以应用到更广泛的例子中 我们去看一下数学测验 App 在这里 组可以是 被问到的问题所属的章节 项就是这个问题本身 然后 嗯 我需要介绍一下 另一个概念 我们需要能够给予这个 模型反馈 我们需要告诉它哪个 问题用户答对了或答错了 所以然后这个 Recommender 也 对应生成一个“Rating Column”(评级列) 这个评级可以衡量 某个特定的互动 多么好或者多么理想 在这里 如果用户的回答是正确的 我们可以分配 1 如果他们答错的话就是 0
现在 看这个徒步 App 在这里的数据中 组就是用户 项是路线 评级是用户对于 这段路线喜欢程度的评价
在你的 App 中 你要用同类的数据来查询它 你要在本地跟踪这些交互 并把一组项 或者是 “项-评级”对 输入到你的模型中 然后你的模型会基于 你输入的数据所呈现的偏好和模式 向你推荐新的项
让我们看看这个实际的例子 我这里有一个简单的徒步旅行日记 我还没有任何徒步旅行的记录 所以它其实在 推荐热门项目 一些一直都有着高评价的地方 我们来看看这里有什么有趣的 好吧 我喜欢冒险 那试试这个吧 好吧 它实际上太热了 太干了 我真的不喜欢这个 所以 我要选择“Not for Me” 现在我们可以见到 这个徒步旅行日记已经 基于我表达的偏好 更新了徒步旅行推荐
它推荐了不同的景观 啊 这个看起来很不错 我在科罗拉多州长大 我爱白杨 我喜欢高山 我们来试试吧 OK 太棒了 我喜欢这个 现在模型 更好地了解了我的偏好 它知道我喜欢山脉 岩石和五颜六色的树叶 那么 让我们尝试另一个吧 像这样 好了
现在我筋疲力尽了 一天三次徒步旅行 真的非常多
我们回到这里的幻灯片 现在 我已经向你展示了一个 用于训练这个特定的模型的 数据类型的例子
现在我想深入探究一下 Create ML Recommender 是如何 从数据中提取模式 并且建立一个你可以用于 自己的 App 的模型 Create ML Recommender 主要通过 了解项目之间的联系来运行 什么项目往往与什么其他项目有关 我们假设这里有三个徒步旅行路线 其中两个是很高大的 陡峭的 有山峰 可能是我会喜欢的类型 另一个路线是 在沙滩上的闲庭信步
现在 那些信息其实 并不存在于模型中 我们所有的信息是徒步旅行者 路径 和评价 不管如何 如果你喜欢攀爬 这些高大的山峰 很有 可能你会给这两个相似的评价 所以我们会在数据中看到 同一个徒步旅行者 给这些徒步旅行类似的评价 同样 因为你在海滩上 享受了一个愉快的散步 这并不一定意味着 你也想爬上一个高大的 寒冷的 多风的山 而且 反之亦然 所以你可以给这两个 路线不同的评价
Create ML Recommender 将会 在数据中找到这些模式 并且学习到前两个 徒步旅行是彼此相似的 它们往往会在一起出现 第三个是不同的 现在 当你把你所有的 项目扔到一起打乱 Recommender 会建立一张关系图 展示哪些项目往往与哪些其他项目相联系 它们是如何相联系的 这个图形会被 打包到你的模型中 你训练数据中出现的
所有组数据和用户数据 都没有具体呈现在最终模型中 现在 要在你的 App 中执行此操作 最简单的构建模型的方法 就是通过使用 Create ML App 中的 Recommender 模板
它会像其他模板一样 指导你完成 加载数据 建立模型 评估模型性能 导出模型到 Core ML 里的过程 如果你想以编程方式处理它 也可以借助 Create ML 框架 过程和上面所说的一样
首先我们从 SCV 文件 或者 JSON 文件里 加载我们的训练数据 然后我们指定 组/用户列是什么 项目列是什么 也可以加上评级列
如果我们有的数据 不在训练数据中 我们可以用它们来评估我们的模型有多好 我们的模型可以多准确地 预测这些新数据 只需使用 evaluation() 方法即可 最后 我们可以把这个 模型写入 Core ML 现在 在你的 App 里 你可以在本地跟踪交互 如果你的模型使用评级 你需要跟踪项目和评级的字典 否则 你就只需使用一个项目列表
然后 你要写一个到你模型的输入 也要指明你想要推荐多少项目 最后 你的模型会 返回到建议项目的排名列表 这是模型基于输入的偏好推测出的 作为结束 让我来提几个 最后需要考虑的事情
首先 这些模型非常的灵活 它们可以用在很多中 使用的场景中 不仅仅局限于 Recommender 中传统的“用户-项目-评级”系统 我给了你几个例子 但我很期待 作为创意 App 开发者的你们 会如何将其加入到 你们 App 的用户体验中
其次 这些模型会随着你的 App 变化 这意味着它们在终端设备上的 可以离线工作 并且速度很快 它非常适合 在你 App 的用户体验中 增加一些量身定做的感觉 最后 因为它们 在你的 App 实现 且可以离线工作 所以它们也能保护隐私
这样你就可以向用户保证 他们的数据是安全的 即使 App 在学习和回应他们的喜好 最后 我来总结一下整个会议 你听到了一些 在文字分类上的 令人惊叹的新进展 让我们能够在 输入数据量有限的情况下 充分利用语义
你也了解到了到了新的活动分类 让你能够理解你的用户的 行动和活动 并为其赋予含义 最后 我还介绍了 Recommender 让你能用许许多多不同的方式 个性化你 App 的用户体验 以上内容的更多详细信息 请访问本次会议相关的网站 或者在明天和我们再在实验室里谈谈 谢谢你们 [掌声]
-
-
正在查找特定内容?在上方输入一个主题,就能直接跳转到相应的精彩内容。
提交你查询的内容时出现错误。请检查互联网连接,然后再试一次。