写点什么

Amazon Comprehend – 不断受训的自然语言处理

  • 2019-11-01
  • 本文字数:2852 字

    阅读完需:约 9 分钟

Amazon Comprehend – 不断受训的自然语言处理

多年前,我在美国马里兰大学的计算机科学图书馆里闲逛时找到一本名为《计算机不能做什么》(What Computers Can’t Do)的又脏又旧的书,旁边是其续本《计算机仍不能做什么》(What Computers Still Can’t Do)。第二本书更加厚,这让我意识到计算机科学是值得研究的领域。在准备撰写本文时,我找到了第一本书的归档副本并发现了一条有趣的言论:


由于人类对用自然语言编写的句子的使用和理解需要句子的上下文相关使用的隐性知识,因此,Turing 认为,使计算机了解和转换自然语言的唯一方式可能是对计算机进行编程以了解这个世界。


这个言论非常有先见之明,并且我想告诉您的是 Amazon Comprehend 这项新服务实际上知道 (并且非常乐意分享) 有关世界的许多知识!


Amazon Comprehend 简介



Amazon Comprehend 将分析文本并告知您它找到的结果,从语言 (从南非荷兰语到约鲁巴语,这之间有 98 种以上的语言) 开始。它可识别不同类型的实体 (人、位置、品牌、产品等)、关键短语、情绪 (积极、消极、复杂或中性) 并从采用英语或西班牙语的所有文本中提取关键短语。最后,Comprehend 的主题建模服务可从大型文档集中提取主题以进行分析或基于主题的分组。


前 4 项函数 (语言检测、实体分类、情绪分析和关键短语提取) 专为交互使用而设计,可在几百毫秒内进行响应。主题提取适用于基于作业的模型,其响应与集合的大小成比例。


Comprehend 是一项不断受训的自然语言处理 (NLP) 服务。我们的工程师和数据科学家组成的团队将继续扩展和完善培训数据,旨在使服务的准确度更高且应用更广泛。


探究 Amazon Comprehend


您可使用控制台探究 Amazon Comprehend,然后构建利用 Comprehend API 的应用程序。我将使用我的有关 Direct Connect 的最新文章中的开头段落来练习 Amazon Comprehend API 资源管理器。我将文本粘贴到框中并单击 Analyze



Comprehend 将快速处理文本,突出显示它识别的实体 (如您在前面所见),并通过一次单击使所有其他信息可用:



让我们看看结果的每个部分。Comprehend 可在我提供的文本中检测许多类别的实体:



下面是在我的文本中找到的所有实体 (它们还可以列表或原始 JSON 形式显示):



下面是第一个关键短语 (其余的关键短语可通过单击 Show all 显示):



语言和情绪是简单而直接的:



嗯,这些是交互式函数。让我们了解一下批处理函数!我已有一个包含我之前的几千篇博客文章的 S3 存储桶,一个用于我的输出的空存储桶以及一个允许 Comprehend 访问这两个存储桶的 IAM 角色。我输入它并单击 Create job 以开始使用:



我可在控制台中查看我最近的作业:



作业完成后,输出将显示在我的存储桶中:



在演示中,我可下载数据并快速浏览 (大多数情况下,我会将数据馈送到可视化或分析工具中):


Bash


$ aws s3 ls s3://comp-out/348414629041-284ed5bdd23471b8539ed5db2e6ae1a7-1511638148578/output/2017-11-25 19:45:09     105308 output.tar.gz$ aws s3 cp s3://comp-out/348414629041-284ed5bdd23471b8539ed5db2e6ae1a7-1511638148578/output/output.tar.gz .download: s3://comp-out/348414629041-284ed5bdd23471b8539ed5db2e6ae1a7-1511638148578/output/output.tar.gz to ./output.tar.gz$ gzip -d output.tar.gz$ tar xf output.tar$ ls -ltotal 1020-rw-r--r-- 1 ec2-user ec2-user 495454 Nov 25 19:45 doc-topics.csv-rw-rw-r-- 1 ec2-user ec2-user 522240 Nov 25 19:45 output.tar-rw-r--r-- 1 ec2-user ec2-user  20564 Nov 25 19:45 topic-terms.csv$
复制代码


topic-terms.csv 文件将收集通用主题编号 (第一列) 内的相关术语。以下是前 25 行:


Bash


topic,term,weight000,aw,0.0926182000,week,0.0326755000,announce,0.0268909000,blog,0.0206818000,happen,0.0143501000,land,0.0140561000,quick,0.0143148000,stay,0.014145000,tune,0.0140727000,monday,0.0125666001,cloud,0.0521465001,quot,0.0292118001,compute,0.0164334001,aw,0.0245587001,service,0.018017001,web,0.0133253001,video,0.00990734001,security,0.00810732001,enterprise,0.00626157001,event,0.00566274002,storage,0.0485621002,datar,0.0279634002,gateway,0.015391002,s3,0.0218211
复制代码


随后,doc-topics.csv 文件将指示哪些文件引用了第一个文件中的主题。同样地,下面是前 25 行:


Bash


docname,topic,proportioncalillona_brows.html,015,0.577179calillona_brows.html,062,0.129035calillona_brows.html,003,0.128233calillona_brows.html,071,0.125666calillona_brows.html,076,0.039886amazon-rds-now-supports-sql-server-2012.html,003,0.851638amazon-rds-now-supports-sql-server-2012.html,059,0.061293amazon-rds-now-supports-sql-server-2012.html,032,0.050921amazon-rds-now-supports-sql-server-2012.html,063,0.036147amazon-rds-support-for-ssl-connections.html,048,0.373476amazon-rds-support-for-ssl-connections.html,005,0.197734amazon-rds-support-for-ssl-connections.html,003,0.148681amazon-rds-support-for-ssl-connections.html,032,0.113638amazon-rds-support-for-ssl-connections.html,041,0.100379amazon-rds-support-for-ssl-connections.html,004,0.066092zipkeys_simplif.html,037,1.0cover_art_appli.html,093,1.0reverse-dns-for-ec2s-elastic-ip-addresses.html,040,0.359862reverse-dns-for-ec2s-elastic-ip-addresses.html,048,0.254676reverse-dns-for-ec2s-elastic-ip-addresses.html,042,0.237326reverse-dns-for-ec2s-elastic-ip-addresses.html,056,0.085849reverse-dns-for-ec2s-elastic-ip-addresses.html,020,0.062287coming-soon-oracle-database-11g-on-amazon-rds-1.html,063,0.368438coming-soon-oracle-database-11g-on-amazon-rds-1.html,041,0.193081
复制代码


使用 Amazon Comprehend 构建应用程序


大多数情况下,您将使用 Amazon Comprehend API 将自然语言处理添加到您自己的应用程序。下面是委托人交互式函数:


DetectDominantLanguage – 检测文本的主导语言。其他一些函数需要您提供此信息,因此请先调用此函数。


DetectEntities – 检测文本中的实体并以 JSON 形式返回这些实体。


DetectKeyPhrases – 检测文本中的关键短语并以 JSON 形式返回这些短语。


DetectSentiment – 检测文本中的情绪并返回 POSITIVE、NEGATIVE、NEUTRAL 或 MIXED。


提供了这些函数的 4 个变体 (每个变体的前缀均为 批处理),它们可并行处理最多 25 个文档。您可使用它们构建高吞吐量的数据处理管道。


下面是可用于创建和管理主题检测作业的函数:


StartTopicsDetectionJob – 创建作业并开始运行它。


ListTopicsDetectionJobs – 获取当前和最新作业的列表。


DescribeTopicsDetectionJob – 获取有关单个作业的详细信息。


现在提供


Amazon Comprehend 现已推出,您可立即使用它开始构建应用程序!


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/amazon-comprehend-continuously-trained-natural-language-processing/


2019-11-01 08:00792

评论

发布
暂无评论
发现更多内容

[安利] 可能会让你爱上书写的工具组合!

猴哥一一 cium

Typora markdown markdown编辑器 玩转写作平台

Kafka面试题:基础27问,必须都会的呀!

Java小咖秀

大数据 kafka 分布式 队列 延时消息

终于有人把 java代理 讲清楚了,万字详解!

root

Java jdk 后端 动态代理 cglib

效率思维模式与Zombie Scrum

易成研发中心

敏捷开发

在项目中随手把haseMap改成了currenHaseMap差点被公司给开除了

root

Java 后端 BigDecimal金额 Arrays.asList

[架构师训练营] 2 依赖倒置

悬浮

啥是CPU缓存?又如何提高缓存命中率呢?

八两

架构师训练营 - 第2周学习总结

红了哟

架构师第二周学习总结

陈靓-哲露

区块链系列教程之:比特币的钱包与交易

程序那些事

比特币 区块链 智能合约 钱包 交易

ArrayList哪种循环效率更好你真的清楚吗

root

Java 后端 ArrayList 循环效率 方式

SpringIOC 是依赖倒置吗?

yupi

软件设计原则

yupi

架构师训练营第三周学习总结

张明森

Java操作Excel竟如此简单

生命在于折腾

Java EasyExcel

Git 基础知识学习

LeoBing

大话设计模式 | 3. SOLID原则

Puran

设计模式

LeetCode | 4. Palindrome Number 回文数

Puran

Python C# 算法 LeetCode

【Golang runtime学习笔记-启动过程分析】

卓丁

初始化 runtime 汇编 Go 语言

实现一个redis命令--nonzerodecr

老胡爱分享

redis 源码分析 源码阅读

策略模式解析

Seven七哥

设计模式 策略模式

架构师训练营 - 第 2 周命题作业

红了哟

从拼多多突破阿里和京东两大巨头绞杀,市值破千亿美金来看职业价值链

非著名程序员

程序员 程序人生 职业规划 职业成长

一款跨平台免费的开源 SQL 编辑器和数据库管理器!

JackTian

数据库 sql GitHub 开源 实用工具

游戏夜读 | RPG的美式和日式

game1night

架构师训练营第二周作业

陈靓-哲露

优化工程师逻辑视角下的微信“拍一拍”功能

Earth_Polarbear

人工智能 微信 系统工程 优化逻辑

由一次管理后台定时推送功能引发的对 RabbitMQ 延迟队列的思考 (二)

LSJ

Java RabbitMQ 延迟队列 优先级队列

如何做好职场印象管理?

石云升

职场 印象管理 职场形象

golang-pprof实战笔记

卓丁

pprof 性能分析 Go 语言

程序员的晚餐 | 6 月 20 日 随便牛肉和翡翠白玉

清远

美食

Amazon Comprehend – 不断受训的自然语言处理_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章