2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

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:00842

评论

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

一分钟搞懂DDD

俞凡

架构 DDD

性能测试之并发模型对比(JMeter,Locust和Gatling篇)

刘冉

软件测试 性能测试 自动化测试

软件测试中的服务虚拟化

刘冉

Mock测试框架 服务虚拟化

Flink 实践教程-入门(7):消费 Kafka 数据写入 PG

腾讯云大数据

flink 流计算 Oceanus

点进来,与白洞一起体验一场沉浸式智慧轨道之旅

白洞计划

Flink 实践教程-入门(6):读取 PG 数据写入 ClickHouse

腾讯云大数据

flink 流计算 Oceanus

如何使用 JavaScript 扁平化/非扁平化嵌套 JSON 对象?

devpoint

JavaScript json Object 11月日更

测试用例编写和管理

刘冉

软件测试 测试用例

springboot中poi操作合集

小鲍侃java

11月日更

EDAS 4.0 助力企业一站式实现微服务架构转型与 K8s 容器化升级

阿里巴巴云原生

阿里云 云原生 PaaS EDAS

契约测试理论篇

刘冉

软件测试 契约测试

服务端系统性能测试

刘冉

性能测试

自定义View:如何实现图片放大后拖动和滑动效果

Changing Lin

11月日更

2021年了,数据分析还吃香么?

Geek_utwige

Python 最佳实践 数据分析 爬虫 职业发展

模块四作业

bob

「架构实战营」

北鲲云超算平台对于基因组学研究能够提供哪些帮助?

北鲲云

瀑布vs敏捷质量控制

刘冉

敏捷开发 敏捷测试

架构实战营模块三作业

spark99

架构实战营

数据产品经理实战-数据分析能力养成

第519区

数据分析 数据产品

探索式测试落地实践

刘冉

探索测试

【架构实战营】模块三作业

liu🍊

纯CSS实现轮播图

Augus

CSS 11月日更

模块八作业

potti

AI 预测:基于流计算 Oceanus(Flink) 实现病症的实时预测

腾讯云大数据

flink 流计算 Oceanus

Scrum模式之估算点模式读后感

Bruce Talk

敏捷 随笔 Agile User Story Scrum Patterns

如何使用Camtasia给视频打码

淋雨

Camtasia

学生管理系统设计文档

Geek_cb2b43

Python 官方研讨会:彻底移除 GIL 真的可行么?

Python猫

Python

Java8中Stream初试

Geek_4bdbe1

学习心得 - 架构训练营 - 第八课

Fm

架构实战训练营模块三

人生就是梦

「架构实战营」

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