Inteligência de dados generativa

Use os serviços de IA e ML da AWS para promover a acessibilidade e a inclusão de pessoas com deficiência visual ou de comunicação

Data:

A AWS oferece um amplo conjunto de serviços de inteligência artificial (IA) e aprendizado de máquina (ML), incluindo um conjunto de serviços pré-treinados e prontos para uso para desenvolvedores sem experiência anterior em ML. Neste post, demonstramos como utilizar esses serviços para construir um aplicativo que promova a inclusão de pessoas com deficiência visual ou de comunicação, o que inclui dificuldades para ver, ler, ouvir, falar ou conversar em uma língua estrangeira. Com serviços como Amazon Transcribe, Amazon Polly, Amazon Tradutor, Reconhecimento da Amazônia e amazontext, você pode adicionar recursos aos seus projetos, como transcrição ao vivo, texto para fala, tradução, detecção de objetos e extração de texto de imagens.

Segundo a Organização Mundial de Saúde, mais de 1 bilhão de pessoas – cerca de 15% da população global – vivem com algum tipo de deficiência, e esse número provavelmente crescerá devido ao envelhecimento da população e ao aumento da prevalência de algumas doenças crônicas. Para pessoas com deficiência de fala, audição ou visão, tarefas cotidianas, como ouvir um discurso ou um programa de TV, expressar um sentimento ou uma necessidade, olhar ao redor ou ler um livro, podem parecer desafios impossíveis. Um amplo corpo de pesquisas destaca a importância das tecnologias assistivas para a inclusão de pessoas com deficiência na sociedade. De acordo com pesquisa do Serviço de Pesquisa do Parlamento Europeu, as tecnologias convencionais, como os smartphones, fornecem cada vez mais recursos adequados para atender às necessidades das pessoas com deficiência. Além disso, quando você projeta para pessoas com deficiência, tende a criar recursos que melhoram a experiência de todos; isso é conhecido como o efeito de corte.

Este post demonstra como você pode usar o SDK da AWS para JavaScript para integrar recursos fornecidos pelos serviços de IA da AWS em suas próprias soluções. Para fazer isso, um exemplo de aplicativo web mostra como usar o Amazon Transcribe, Amazon Polly, Amazon Translate, Amazon Rekognition e Amazon Textract para implementar recursos de acessibilidade com facilidade. O código-fonte deste aplicativo, AWS AugmentAbility, está disponível em GitHub para usar como ponto de partida para seus próprios projetos.

Visão geral da solução

Capacidade de aumento da AWS é alimentado por cinco serviços de IA da AWS: Amazon Transcribe, Amazon Translate, Amazon Polly, Amazon Rekognition e Amazon Textract. Ele também usa Amazon Cognito grupos de usuários e grupos de identidade para gerenciar autenticação e autorização de usuários.

Depois de implantar o aplicativo Web, você poderá acessar os seguintes recursos:

  • Transcrição ao vivo e texto para fala – O aplicativo transcreve conversas e discursos para você em tempo real usando o Amazon Transcribe, um serviço de reconhecimento automático de fala. Digite o que você quer dizer, e o aplicativo diz para você usando os recursos de conversão de texto em fala do Amazon Polly. Esse recurso também se integra ao Amazon Transcribe identificação automática de idioma para transcrições de streaming—com um mínimo de 3 segundos de áudio, o serviço pode detectar automaticamente o idioma dominante e gerar uma transcrição sem que você precise especificar o idioma falado.
  • Transcrição ao vivo e texto para fala com tradução – O app transcreve e traduz conversas e discursos para você, em tempo real. Digite o que você quer dizer e o aplicativo traduz e diz para você. A tradução está disponível em mais de 75 idiomas atualmente suportados pelo Amazon Translate.
  • Tradução de conversas em tempo real – Selecione um idioma de destino, fale no seu idioma e o aplicativo traduz o que você disse no idioma de destino combinando os recursos do Amazon Transcribe, Amazon Translate e Amazon Polly.
  • Detecção de objetos – Tire uma foto com seu smartphone e o aplicativo descreve os objetos ao seu redor usando os recursos de detecção de rótulos do Amazon Rekognition.
  • Reconhecimento de texto para etiquetas, sinais e documentos – Tire uma foto com seu smartphone de qualquer etiqueta, placa ou documento, e o aplicativo lê em voz alta para você. Esse recurso é desenvolvido pelos recursos de extração de texto do Amazon Rekognition e do Amazon Textract. O AugmentAbility também pode traduzir o texto em mais de 75 idiomas ou torná-lo mais legível para usuários com dislexia usando a fonte OpenDyslexic.

Os recursos de transcrição ao vivo, texto para fala e tradução de conversas em tempo real estão atualmente disponíveis em chinês, inglês, francês, alemão, italiano, japonês, coreano, português do Brasil e espanhol. Os recursos de reconhecimento de texto estão atualmente disponíveis em árabe, inglês, francês, alemão, italiano, português, russo e espanhol. Uma lista atualizada dos idiomas suportados por cada recurso está disponível no Repositório GitHub AugmentAbility.

Você pode criar e implantar o AugmentAbility localmente em seu computador ou em sua conta da AWS usando Hospedagem do AWS Amplify, um serviço de hospedagem na Web estático e de CI/CD totalmente gerenciado para aplicativos renderizados estáticos e do lado do servidor rápidos, seguros e confiáveis.

O diagrama a seguir ilustra a arquitetura do aplicativo, supondo que ele seja implantado na nuvem usando o AWS Amplify Hosting.

Diagrama de arquitetura incluindo AWS Amplify, Amazon Cognito, Transcribe, Translate, Polly, Rekognition, Textract.

O fluxo de trabalho da solução inclui as seguintes etapas:

  1. Um navegador móvel é usado para acessar o aplicativo web — um aplicativo HTML, CSS e JavaScript hospedado pelo AWS Amplify Hosting. O aplicativo foi implementado usando o SDK para JavaScript e o Biblioteca JavaScript do AWS Amplify.
  2. O usuário entra digitando um nome de usuário e uma senha. A autenticação é realizada no grupo de usuários do Amazon Cognito. Após um login bem-sucedido, o grupo de identidades do Amazon Cognito é usado para fornecer ao usuário as credenciais temporárias da AWS necessárias para acessar os recursos do aplicativo.
  3. Enquanto o usuário explora os diferentes recursos do aplicativo, o navegador móvel interage com o Amazon Transcribe (StartStreamTranscriçãoWebSocket operação), Amazon Translate (TraduzirTexto operação), Amazon Polly (Sintetizar Fala operação), Amazon Rekognition (Detectar rótulos e Detectar Texto operações) e Amazon Textract (DetectarDocumentoTexto Operação).

Os serviços da AWS foram integrados ao aplicativo da web móvel usando o SDK para JavaScript. De um modo geral, o SDK para JavaScript fornece acesso aos serviços da AWS em scripts de navegador ou Node.js; para este projeto de amostra, o SDK é usado em scripts de navegador. Para obter informações adicionais sobre como acessar os serviços da AWS a partir de um script de navegador, consulte Iniciando em um script de navegador. O SDK para JavaScript é fornecido como um arquivo JavaScript compatível com um conjunto padrão de serviços da AWS. Este arquivo é normalmente carregado em scripts de navegador usando um <script> tag que faz referência ao pacote do SDK hospedado. Um SDK de navegador personalizado foi criado com um conjunto específico de serviços (para obter instruções, consulte Criando o SDK para navegador).

Cada serviço foi integrado no aplicativo web móvel seguindo as diretrizes e exemplos de código disponíveis no Guia do desenvolvedor do AWS SDK para JavaScript. A implementação dos recursos de transcrição ao vivo exigiu algumas etapas adicionais porque WebSocket de streaming do Amazon Transcribe exige que os desenvolvedores codifiquem o áudio com codificação de fluxo de eventos e usem o Processo de assinatura do Signature versão 4 para adicionar informações de autenticação às solicitações de API da AWS enviadas por HTTP. Para obter mais informações sobre essa abordagem, consulte Transcreva fala para texto em tempo real usando o Amazon Transcribe com WebSocket.

A página da Web de login do usuário foi implementada usando autenticação recursos da biblioteca JavaScript do AWS Amplify. Para obter mais detalhes sobre o fluxo de autenticação e autorização, consulte Acessar serviços da AWS usando um grupo de identidades após o login.

O passo a passo a seguir mostra como implantar o AugmentAbility usando o AWS Amplify Hosting; inclui os seguintes passos:

  1. Crie o grupo de usuários e o grupo de identidades do Amazon Cognito e conceda permissões para acessar os serviços de IA da AWS.
  2. Clone o repositório do GitHub e edite o arquivo de configuração.
  3. Implante o aplicativo da Web para dispositivos móveis no Amplificar AWS console.
  4. Use o aplicativo da Web para dispositivos móveis.

Crie o grupo de usuários e o grupo de identidades do Amazon Cognito e conceda permissões para acessar os serviços de IA da AWS

A primeira etapa necessária para implantar o aplicativo consiste em criando um grupo de usuários do Amazon Cognito com o IU hospedada ativada, criando um grupo de identidades do Amazon Cognito, integrando as duas piscinas, e finalmente concedendo permissões para acessar os serviços da AWS para o Gerenciamento de acesso e identidade da AWS (IAM) associado ao grupo de identidades. Você pode concluir esta etapa trabalhando manualmente em cada tarefa ou implantando um Formação da Nuvem AWS template.

O modelo do CloudFormation provisiona e configura automaticamente os recursos necessários, incluindo os pools do Amazon Cognito, funções do IAM e políticas do IAM.

  1. Entre no Console de gerenciamento da AWS e inicie o modelo do CloudFormation escolhendo Pilha de Lançamento:

    O modelo é iniciado na região da AWS Oeste da UE (Irlanda) por padrão. Para iniciar a solução em uma região diferente, use o seletor de região na barra de navegação do console. Certifique-se de selecionar uma região na qual os serviços da AWS no escopo (Amazon Cognito, AWS Amplify, Amazon Transcribe, Amazon Polly, Amazon Translate, Amazon Rekognition e Amazon Textract) estejam disponíveis (us-east-2, us-east-1, us-west-1, us-west-2, ap-south-1, ap-northeast-2, ap-southeast-1, ap-southeast-2, ca-central-1, eu-central-1, eu-west-1, eu-west-2).
  2. Escolha Próximo.
  3. Escolha Região, insira o identificador da Região que deseja usar (entre os suportados).
  4. Escolha Nome de Utilizador, insira o nome de usuário que deseja usar para acessar o aplicativo.
  5. Escolha E-mail, insira o endereço de e-mail para o qual a senha temporária de seu primeiro login deve ser enviada.
  6. Escolha Próximo.
  7. No Configurar opções de pilha página, escolha Avançar.
  8. No Avaliações página, reveja e confirme as configurações.
  9. Marque a caixa de seleção reconhecendo que o modelo criará recursos do IAM e pode exigir um recurso do AWS CloudFormation.
  10. Escolha Criar pilha para implantar a pilha.

Você pode visualizar o status da pilha no console do AWS CloudFormation no Status coluna. Você deve receber um CREATE_COMPLETE status em alguns minutos.

Como parte da implantação do modelo, as seguintes permissões são concedidas à função do IAM assumida pelo usuário autenticado:

  • transcribe:StartStreamTranscriptionWebSocket
  • translate:TranslateText
  • comprehend:DetectDominantLanguage
  • polly:SynthesizeSpeech
  • rekognition:DetectText
  • rekognition:DetectLabels
  • textract:DetectDocumentText

Apesar de Amazon Comprehend não é usado explicitamente neste aplicativo da web, as permissões são concedidas para a ação compreenda:DetectDominantLanguage. O Amazon Translate pode invocar automaticamente o Amazon Comprehend para determinar o idioma do texto a ser traduzido se um código de idioma não for especificado.

Clone o repositório do GitHub e edite o arquivo de configuração

Agora que o acesso aos serviços de IA da AWS foi configurado, você está pronto para clonar o repositório do GitHub e editar o arquivo de configuração.

  1. No Repositório do AWS AugmentAbility GitHub, escolha Code e Baixar ZIP.
    Você é solicitado a escolher um local em seu computador para onde o arquivo ZIP deve ser baixado ou ele será salvo automaticamente em seu Downloads pasta.
  2. Depois de baixar o arquivo, descompacte-o e exclua o arquivo ZIP.
    Você deve ter obtido uma pasta chamada aws-augmentability-main com alguns arquivos e subpastas nele.
  3. Crie um arquivo chamado config.js com qualquer editor de texto e insira o seguinte conteúdo nele:
    var appConfig = {
        "IdentityPoolId": "INSERT_COGNITO_IDENTITY_POOL_ID"
    }
    
    var amplifyConfig = {
        "Auth": {
            "region": "INSERT_AWS_REGION_ID",
            "userPoolId": "INSERT_COGNITO_USER_POOL_ID",
            "userPoolWebClientId": "INSERT_COGNITO_USER_POOL_CLIENT_ID",
            "mandatorySignIn": true,
            "cookieStorage": {
                "domain": window.location.hostname,
                "path": "/",
                "expires": 30,
                "secure": true
          }
        }
    }

  4. No config.js arquivo que você criou, substitua os quatro INSERT_ strings com o ID do grupo de identidades do Amazon Cognito, o identificador de sua região de escolha, o ID do grupo de usuários do Amazon Cognito e o ID do cliente do grupo de usuários.
    Você pode recuperar esses valores abrindo o console do AWS CloudFormation, escolhendo a pilha chamada augmentability-stack, e escolhendo o Saídas aba.
    Captura de tela da guia Saídas da pilha do CloudFormation.
  5. Salve o arquivo config.js no aws-augmentability-main pasta e compacte a pasta para obter um novo aws-augmentability-main.zip arquivo.

Implantar o aplicativo da Web para dispositivos móveis no console do Amplify

Agora que você baixou e editou os arquivos do projeto AugmentAbility, está pronto para criar e implantar o aplicativo da web móvel usando o console do Amplify.

  1. No Comece com o Amplify Hosting página, escolha Implantar sem provedor Git.
  2. Escolha Continuar.
  3. No Iniciar uma implantação manual seção, para Nome do aplicativo, insira o nome do seu aplicativo.
  4. Escolha Nome do ambiente, insira um nome significativo para o ambiente, como development or production.
  5. Escolha Forma, escolha Arraste e solte.
  6. Ou arraste e solte o aws-augmentability-main.zip arquivo do seu computador para a zona de soltar ou use Escolher os arquivos para selecionar o aws-augmentability-main.zip arquivo do seu computador.
  7. Escolha Salvar e implantare aguarde a mensagem Implantação concluída com sucesso.

Use o aplicativo da Web para dispositivos móveis

O aplicativo da web móvel agora deve ser implantado. Antes de acessar o aplicativo pela primeira vez, você deve definir uma nova senha para o usuário que foi criado automaticamente durante a Etapa 1. Você pode encontrar o link para a tela de login temporário no Saídas guia para a pilha do CloudFormation (campo UserPoolLoginUrl). Para este primeiro login, você usa o nome de usuário que configurou e a senha temporária que recebeu por e-mail.

Depois de definir sua nova senha, você estará pronto para testar o aplicativo da Web para dispositivos móveis.

No Geral seção do console do Amplify, você poderá encontrar um link para o aplicativo na seção URL da filial de produção etiqueta. Abra-o ou envie-o para o seu smartphone, faça login com suas novas credenciais e comece a jogar com o AugmentAbility.

Captura de tela animada mostrando o recurso “Transcrição ao vivo e conversão de texto em fala” do AWS AugmentAbility.

Captura de tela animada mostrando o recurso “Transcrição ao vivo e conversão de texto em fala” do AWS AugmentAbility.

Captura de tela animada mostrando o recurso “Detecção de objetos” do AWS AugmentAbility.

Captura de tela animada mostrando o recurso “Detecção de objetos” do AWS AugmentAbility.

Captura de tela animada mostrando o recurso “Reconhecimento de texto” do AWS AugmentAbility.

Captura de tela animada mostrando o recurso “Reconhecimento de texto” do AWS AugmentAbility.

Próximos passos

Se você quiser fazer alterações no aplicativo web móvel, você pode trabalhar nos arquivos clonados do repositório, construir localmente o aplicativo web móvel (conforme explicado no Arquivo README) e, em seguida, reimplemente o aplicativo carregando o arquivo ZIP atualizado por meio do console do Amplify. Como alternativa, você pode criar um GitHub, Bitbucket, GitLab ou AWS CodeCommit repositório para armazenar seus arquivos de projeto e conectá-lo ao Amplify para se beneficiar de compilações automáticas em cada confirmação de código. Para saber mais sobre essa abordagem, consulte Introdução ao código existente. Se você seguir este tutorial, certifique-se de substituir o comando npm run build de npm run-script build na Etapa 2a.

Para criar usuários adicionais no console do Amazon Cognito, consulte Criando um novo usuário no Console de gerenciamento da AWS. Caso você precise recuperar a senha de um usuário, você deve usar a tela de login temporária usada para alterar a senha temporária. Você pode encontrar o link no Saídas guia da pilha do CloudFormation (campo UserPoolLoginUrl).

limpar

Quando terminar seus testes, para evitar cobranças futuras, exclua os recursos criados durante este passo a passo.

  1. No console do AWS CloudFormation, escolha Pilhas no painel de navegação.
  2. Escolha a pilha augmentability-stack.
  3. Escolha Apagar e confirme a exclusão quando solicitado.
  4. No console do Amplify, selecione o aplicativo que você criou.
  5. No Opções menu, escolha Excluir aplicativo e confirme a exclusão quando solicitado.

Conclusão

Neste post, mostrei como implantar um exemplo de código que usa os serviços AWS AI e ML para colocar recursos como transcrição ao vivo, texto para fala, detecção de objetos ou reconhecimento de texto nas mãos de todos. Saber construir aplicativos que possam ser usados ​​por pessoas com uma ampla gama de habilidades e deficiências é fundamental para criar produtos mais inclusivos e acessíveis.

Para começar com o AugmentAbility, clone ou fork o Repositório GitHub e comece a experimentar o aplicativo da Web para dispositivos móveis. Se você quiser experimentar o AugmentAbility antes de implantar recursos em sua conta da AWS, confira o demonstração ao vivo (credenciais: demo-user, Demo-password-1).


Sobre o autor

Lucas Guida é Arquiteto de Soluções na AWS; ele está sediado em Milão e oferece suporte a ISVs italianos em sua jornada na nuvem. Com formação acadêmica em ciência da computação e engenharia, ele começou a desenvolver sua paixão por IA/ML na universidade; como membro da comunidade de processamento de linguagem natural (NLP) na AWS, Luca ajuda os clientes a serem bem-sucedidos ao adotar serviços de IA/ML.

local_img

Inteligência mais recente

local_img