Amazon Machine Learning Bot(以下称为 Amazon ML bot)为用户提供了一种疾速的开箱即用的解决方案,其底层基于 Amazon SageMaker 将机器学习模型的定制及部署实现了高效的自动化。并且,Amazon ML bot 提供了可视化、易操作的 Web User Interface 界面。用户能够上传具体利用场景的图片或文字数据,疾速实现从数据标注,模型训练到模型成果评估的全副流程。
本文重点介绍了如何使用 Amazon ML 的命名实体辨认(name entity recognition)来疾速构建自然语言解决 Amazon API 性能。具体内容如下:
Amazon Machine Learning Bot 框架介绍
Amazon ML bot 是一个一键式打包封装的机器学习解决方案,它提供了多种不同类型的原始机器学习模型,并且能够依据需要通过相互交互来评估模型。在一键式利用的根底上,Amazon ML bot 也确保了数据的安全性,基于亚马逊云科技云技术的加密和受权,用户能够把数据贮存在亚马逊云科技的云端并间接导入到 Amazon ML bot 的模型当中。Amazon ML bot 不仅领有用户敌对的人性化交互界面,也为用户提供了实时更新的最新机器学习模型。
本文中咱们采纳了 Amazon ML bot 下的命名实体辨认模型(NER)。命名实体辨认是指辨认文本中具备特定意义的实体,次要包含人名、地名、机构名、专有名词等。命名实体辨认是信息提取、问答零碎、句法分析、机器翻译等应用领域的重要根底工具,作为结构化信息提取的重要步骤,该模型能够在后续阶段通过对不同文本内容的剖析而后被利用于疾速消费品,金融和医疗等畛域中。
数据集阐明
为了在 Amazon ML bot 上展现咱们的模型,咱们采纳了从社交媒体上采集来的蕴含命名实体的公开数据集作为咱们的训练集。该数据集中的文本采纳 UTF- 8 进行编码,每行为一个段落标注,共包含 2000 段落。所有的实体以如下的格局进行标注:{{实体类型:实体文本}}
标注的实体类别包含以下六种:time: 工夫 location: 地点 person_name: 人名 org_name: 组织名 company_name: 公司名 product_name: 产品名。
例:此次 {{location: 中国}} 个展,{{person_name: 苏珊菲利普斯}}将与她 80 多岁高龄的父亲一起单干,哼唱一首古老的 {{location: 威尔士}} 民歌 {{product_name:《白蜡林》}}。届时在{{location: 画廊大厅}} 中将安放 6 个音箱进行播放,艺术家还特意回到他乡 {{location: 格拉斯哥}},同父亲一起在{{org_name: 中国音乐学院}} 里为作品录制了具备 {{location: 中国}} 元素的音乐片段。
Amazon Machine Learning Bot 的 Named-entity Recognition (NER)应用步骤
因为咱们大部分的数据都存储在亚马逊云科技海内区的 Amazon Simple Storage Service(S3)中,本文将着重介绍通过海内区亚马逊云科技来部署 Amazon ML bot,具体的步骤能够参考 Amazon ML bot 的 documentations。首先,咱们须要在Amazon CloudFormation 上创立一个新的堆栈,并导入事后设置好 Amazon ML bot 的模板。
- Amazon ML bot 的 Documentations
http://ml-bot.s3-website.cn-n… - Amazon CloudFormation
https://console.aws.amazon.co…
随后在 Amazon Cloud9 控制台 外面,为刚刚创立好的堆栈新建一个环境,在新建过程始终保持应用默认配置并在实现后为该环境赋予一个具备 administrator access 的 Amazon identity and access management(IAM)role,无关 Amazon Web Service 的详细信息能够参考相干的 Amazon documentations(https://aws.amazon.com/iam/)。
- Cloud9 控制台
https://console.aws.amazon.co…
最初,在亚马逊云科技的 Cognito 用户池中找到与之前创立的堆栈雷同 UserPoolId 的用户池,在该用户池的配置页面中抉择“用户和组”并点击“创立用户”,输出用户名和明码等必要信息之后进行邮件确认。从 Amazon Cloudformation 下找到创立好的堆栈并在 Outputs 标签下找到 CloudFrontDomain,点击进入该页面并应用刚刚设置好的用户名和明码登录并开始应用 Amazon ML bot。
- Cognito
https://console.aws.amazon.co…
在 Amazon ML bot 的主页面下抉择“Get Started”并在下一个页面中选中“Named Entity Recognition”模型,上传训练用的数据集所在的 Amazon S3 地址。
点击“Start Model Training”并期待模型训练实现,在训练过程中能够通过点击“View logs in CloudWatch”来查看模型的训练状况及 accuracy 的评分(如下图),Amazon ML bot 的 NER 模型在应用咱们提供的 training data 下,accuracy 根本稳固在 0.9 以上并在训练过程中逐步向 1.0 靠近,阐明该模型绝对比较稳定。
训练实现的模型能够应用任意的中文文本字段来进行测试,具体后果如下图。经过训练的 Amazon ML bot 的 NER 模型胜利学习了并预测和提取出了工夫和组织名相干的命名实体。该条测试用的文本来自于当天的热门新闻。
Amazon API 部署及测试
在 Amazon ML bot 的 NER 模型后果页面的右下角的“Deploy to SageMaker Endpoint”选项能够一键把曾经训练好的 NER 模型部署到 Amazon SageMaker Endpoint 上作为可调用的 Amazon API 应用,具体的调用办法和后果如下图所示。比照间接在 Amazon ML bot 网站应用 NER 模型,将模型打包成 Amazon API 使得模型具备更多的灵活性,能够将封装好的模型作为命名实体预测的环节来嵌入到不同的模型流水线中。这一套逻辑和流程不仅操作简略,代码实现也较容易,更能够被利用于多样化的业务场景中,具备肯定的普适性。
论断
本文介绍了如何使用 Amazon ML bot 来疾速建设 NER 模型。用户能够把数据安全的贮存在 Amazon S3 上并导入到该模型中来实现机器学习模型的训练。训练实现的模型在预测准确度上体现良好。模型的调用不仅能够在繁难操作的 Amazon ML bot 页面上间接实现,也能够部署到 Amazon Sagemaker Endpoint 上作为一个独立的 Amazon API 来调用。咱们认为该套计划在具备易操作和易实现的前提下,更具备十分宽泛的适用性,可能很好的解决一些企业须要机器学习解决方案同时又不足相干畛域技术教训与积攒的商业痛点。
本篇作者
Andy Li
现任 PwC U.S. Acceleration Center Shanghai Office 的 Director
是一位专一于数字化、新兴技术(例如:区块链,加强事实 / 虚拟现实,人工智能)和基于机器学习以及深度学习的高级剖析的创新型首领。行业教训包含金融服务,医疗和高科技畛域。同时也是云技术的踊跃倡导者,热衷于为客户提供当先的服务交付。
Sean Li
现任 PwC U.S. Acceleration Center Shanghai Office 的 Senior Data Scientist 大数据开发工程师
在解决简单大数据问题方面的经验丰富同时热衷于钻研学习最前端的人工智能技术。