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大数据开发工程师
在解决简单大数据问题方面的经验丰富同时热衷于钻研学习最前端的人工智能技术。