OTO:友好的机器学习助手

2020-07-28 21:25:13

Otto是一款智能聊天应用程序,旨在帮助有抱负的机器学习工程师用最少的领域知识从想法到实现。我们的网站具有轻松的模型选择、富有洞察力的可视化效果和直观的自然语言体验,为您提供每一步的指导。

我们很高兴地告诉大家,奥托因其对Wit.ai NLP平台的创新使用,在2020年Facebook人工智能挑战黑客马拉松系列赛中获得了季军。祝贺其他获奖者,也祝贺所有参与的人!

适合初学者的设计。奥托是为新手设计的,因为它假定对机器学习最不熟悉。用户只需描述他们的最终目标即可获得智能建议,也可以从样本数据集中进行选择,以便立即利用我们的模型。

强大的机器学习工具。支持一系列机器学习功能,包括用于回归、分类和自然语言处理的模型,以及为您的问题量身定做的预处理器。使用神经网络,探索数据可视化,并在浏览器中生成现成的Python代码!

教育经历。用户将了解该过程的每个阶段,并在需要时由奥托解释术语。带注释的代码块为急于学习的学习者提供了对其端到端管道的高级理解。

比方说:我想用花瓣长度来标记花卉种类,以观看Otto预先填充您的管道组件,并可视化流行的虹膜数据集的最近邻居分类。

选择:回归&>样本数据集以预览回归的样本数据集,并使用不同的最佳拟合线发现最强的预测值。

例如:检测欺诈性信用卡活动,并选择自定义数据集选项来体验奥托-马季奇模型推荐和交互式神经网络设计器。

比方说:我想解释一下评论的心情,质疑基于Wit的自然语言模型的实时结果。

尽情发挥创意吧!制定你自己的机器学习目标,看看奥托把你带到哪里去。

那些刚开始使用ML的人面临的最大障碍之一是大量的术语,从“损失函数”到“等高线边界”--不能指望初学者根据晦涩的术语来决定使用什么模型,更不用说从头开始开发了!奥托从一个简单的目标陈述中推断手头的高级任务,从而缩小了你的选择范围。

任务推理由Wit应用程序(Otto-Task)提供支持,该应用程序对300个这样的语句(例如。“我想检测贷款申请是否具有欺诈性”,“帮我预测股价”,或者“让我们把一篇文章总结成一段话”),这些都来自真实世界的机器学习研究。OTTO-Task试图将任务意图归类为回归、分类或自然语言处理,并且附加地提取体现目标的简化形式的主题实体,以便过滤掉无关的词。

根据我们的样本数据集数据库,解析主题以查找关键字匹配(“twets”、“Housing”等)。如果找到相关的数据集,则Otto将为该数据集提取最佳任务、模型和预处理器,并在整个管道构建过程中为用户预先选择它们。否则,奥托将根据公认的意图发布任务建议。如果没有识别出意图,就会向用户提供一些提示,帮助他们自己选择最好的任务。

建议用户选择与其主题相匹配的特定样本数据集,或者让用户自己预览并选择一个样本数据集。样本数据允许初学者快速、轻松地制作模型原型,而无需复杂地查找数据集并从几十个数据中找出相关功能。用户也可以选择使用他们自己的数据,稍后他们可以将其包含在生成的代码中。

如果用户选择自定义数据,则Otto利用Wit来执行选择分类器或回归器的关键步骤。Wit客户端(OTO-Model)解析其数据的简短用户描述,以寻找指示特定模型的可取性的关键短语。OTTO-Model每个模型包含大约15个短语和同义词,并执行模糊字符串匹配,使其成为一种有效的、可扩展的模型推荐技术。

将分类数据集描述为“简单”或“只有几列”将使K-近邻算法成为一个很好的选择,而将回归数据描述为“犯罪率”或“年度消费者排名”将分别建议泊松模型或序数模型。如果没有标记短语,奥托将默认使用最通用的模型:用于分类的神经网络,或用于回归的线性拟合。

在自然语言任务的情况下,用户可以将多个模型组合在一起以进行更全面的分析。奥托将同时推荐情感分析和实体识别模型,但会为用户提供有关这两种模型的信息,以防他们想要调整这一点。我们的NLP模型构建在Wit后端(Otto-NLP)上,配置为识别内置的特征和实体。

如果一个花哨的模特需要很长时间的训练,那还有什么用呢?在这一步中,奥托为用户的数据和模型选择提供了精心挑选的预处理器,抽象出了复杂的特征工程和降维-机器学习技术,这些技术优化了数据,实现了高效的学习。一如既往,用户可以覆盖建议。

可视化阶段激活以进行神经网络设计,或渲染基于样本数据构建的任何模型。

Otto通过基于研究的激活和初始化器预先配置了一个标准模型架构,但是用户可以根据自己的意愿一层一层地修改它。此外,奥托还可以借助专门的Wit模型(Otto-Net)执行即时重新设计,该模型将用户指令转换为架构更改。

全都做完了!。整理好数据、设置好预处理器并配置好模型后,Otto为您提供了一个很好的工作视图。为方便起见,我们提供了将代码复制到剪贴板、将其部署到Google Colab笔记本或重新启动该过程的按钮。

奥托的模块化设计使其具有可靠的可扩展性,它对Wit的使用意味着它的自然语言能力可以扩展到更多的领域。以下是为奥托计划的几件事:

更聪明的建议:能够要求奥托解释机器学习的概念或描述选项之间的区别。

欢迎投稿!你可以随意处理上面的任何一项,或者其他任何事情。我们将审查在此回购中打开的问题和PR。

卡蒂克是弗吉尼亚大学的大二学生,目前在亚马逊的Alexa团队实习。作为一名狂热的开源贡献者,他对API设计和开发酷炫的机器学习工具充满热情。

Sanuj是Facebook的一名软件工程师,他喜欢构建基于Reaction的交互式应用程序。在可能的情况下,他喜欢引入错误,然后修复错误,以获得最大的影响。)。

这里有头韵,脑海中浮现出聪明的猫头鹰的肖像,还有OttoML的微妙用法。