- Desafio
- Avaliação
- Comece aqui
- Pré-requisitos
- Treinamento do modelo
- Aplicação na nuvem
- Submissão
- Material de Apoio
- Troubleshooting
- Dúvidas
- PDF do Desafio
- License
A UniJÁ deseja criar um professor de inglês virtual para ajudar os alunos a aprender o idioma.
A iniciativa visa criar um assistente onde o aluno possa interagir enviando textos e imagens para serem traduzidos afim de melhorar seu vocabulário. Os textos serão enviados no idioma português para serem traduzidos para o inglês. A imagem será enviada e, uma vez identificada pelo professor virtual, apresentará seu respectivo nome em inglês.
Para isto, o professor terá a sua disposição todo potencial dos serviços Watson.
Abaixo seguem alguns exemplos de interação entre os alunos e o professor virtual:
O aluno está com dúvidas sobre como ficaria a seguinte frase em inglês: “Onde fica o restaurante mais próximo?” Após ingressar esta frase no professor virtual, o mesmo identifica que o idioma da frase está em português e apresenta automaticamente a tradução: “Where’s the nearest restaurant?”.
O aluno tira uma foto de um objeto com seu celular e envia essa foto para o professor virtual. Após identificar o objeto contido na foto, o professor virtual apresenta em inglês o nome deste objeto.
Alguns detalhes importantes:
Os alunos podem inserir palavras ou frases até um limite de 1024 caracteres. As imagens enviadas pelos alunos possuem uma resolução mínima de 320x320 pixels. Os alunos não vão interagir com o professor virtual utilizando frases com uma mistura de idiomas, como por exemplo “Eu não lembro where I parked my car”. O professor virtual será capaz de identificar objetos no seguinte escopo: cadeira, copo e garrafa de água. Somente uma imagem por vez pode ser enviada.
Para realizar esta atividade, aconselhamos que o participante utilize das APIs de tradução e classificação de imagens do Watson. Portanto, cada participante deve criar sua própria base de dados de imagens que será utilizada para criação do classificador. Lembrando que essas imagens devem passar previamente por um processo de curadoria e pré processamento.
Curadoria é um processo que visa avaliar a qualidade das imagens que serão utilizadas na criação do classificador. Ela é importante para garantir que somente serão utilizadas imagens úteis a solução e também para evitar processamento e volumetria desnecessários.
A curadoria da base de imagens se faz necessária para que apenas as imagens dentro do escopo da solução do professor virtual sejam carregadas, evitando assim poluição nos dados. Este procedimento visa garantir a qualidade da classificação apresentada. Fique a vontade para realizar a curadoria da sua base de imagens da maneira que desejar.
O pré processamento das imagens é um processo no qual deve-se padronizar as imagens que irão ser utilizadas para treinamento do classificador para melhorar sua classificação. Um dos procedimentos de pré processamento é o de padronização da resolução (tamanho) de todas as imagens da base antes do treinamento. Fique a vontade para realizar o pré processamento das imagens da sua base de imagens da maneira que desejar.
Lembrando que o Watson Visual Recognition possui a capacidade de inserção de exemplos negativos na hora de treinamento do modelo customizado de classificação de imagens. Entre outros motivos, essa funcionalidade é útil para desambiguação de imagens.
Os participantes terão que treinar um modelo de classificação de imagem com as 3 (três) classes solicitadas no Watson Visual Recognition. Posteriormente devem disponibilizar a API e o classifier ID para que a avaliação automática ocorra.
Desta forma o avaliador automático enviará as imagens de teste para o classificador criado e validará as respostas encontradas com os resultados já esperados. Para que o avaliador automático valide a classificação das imagens, as classes do classificador do Watson Visual Recognition devem ser nomeadas obrigatoriamente como: chair
, glass
e water_bottle
(cadeira, copo e garrada de água em português).
De forma similar, os textos de testes em português serão enviadas para o API do Watson Language Translator e portanto, a API deste serviço também deve ser disponibilizada por cada participante.
🚨 MANDATÓRIO SEGUIR CADA ITEM ABAXO PARA SUBMETER O DESAFIO 🚨
Para começar no desafio 3, você deve seguir item a item abaixo:
- Leia atentamente o enunciado do Desafio e a Avaliação (será cobrado apenas o que está escrito neles).
- Veja os Pré-requisitos para poder participar do Desafio.
- Crie uma instância do Language Translator, em
Dallas
, e pegue oIAM_APIKEY
do serviço, para configurar o.env
, mais abaixo. - Crie uma instância de Watson Studio, em
Dallas
e acesse a plataforma, clicando no botão "Get Started" - Faça o treinamento do seu modelo de Visual Recognition dentro da plataforma do
Watson Studio
. - Suba a aplicação na IBM Cloud, em
Dallas
, com o serviço do IBM Continuous Delivery (veja o passo-a-passo abaixo) e configure com as credenciais doLanguage Translator
,Visual Recognition
e da Maratona. - Submeta o seu desafio, clicando no botão "SUBMETER DESAFIO".
- Pronto! Agora é só acompanhar no ranking (100+).
Você deverá cumprir os seguintes itens:
- Registrar na Maratona Behind the Code e confirmar o e-mail de cadastro.
- Registrar na IBM Cloud e confirmar o e-mail de cadastro.
Veja o vídeo abaixo de como treinar o seu modelo de Visual Recognition, no Watson Studio.
Para pegar o IAM_APIKEY
(ou, em alguns casos, API Key
apenas), acesse o https://cloud.ibm.com/resources e veja na lista de Service
, você encontrará todos os serviços provisionados na sua conta (incluindo o Watson Assistant e o Discovery, serviços dos desafios 1 e 2 respectivamente).
Para subir a aplicação na IBM Cloud, você deve clicar no botão abaixo para subir usando o IBM Continuous Delivery (também conhecido como Delivery Pipeline). Você deve subir a sua aplicação em Dallas.
-
Configure o
Toolchain Name
com<maratona-id>-desafio3-behindthecode
, substituindo o<maratona-id>
pelo seu ID da Maratona (Ex: 100001). Se você não souber, verifique no seu e-mail, usado no registro da Maratona, para pegar o seu ID. -
Configure o
App name
com a mesmo valor usado no item 1. -
Crie uma chave (de uso interno). Basta clicar em "Create" e depois clique em "Create" novamente. Espere um instante até carregar todas os dados. Se demorar muito (mais de 5 minutos), recarregue a página e faça novamente o passo 1 e 2. Na parte superior, você pode deixar em Washington DC ou Dallas. Já na parte inferior (abaixo do item 2), é mandatório configurar a Região de Dallas.
Clique em Eclipse Orion Web IDE
para configurar a aplicação.
Abaixo estão o passo-a-passo, obrigatório, para configurar a sua aplicação no Eclipse Orion Web IDE.
- Abra o arquivo
.env
para colocar as credenciais doLanguage Translator
,Visual Recognition
e daMaratona
(lembre-se de que é o mesmo código usado para indicar novos participantes na Maratona). Preencha com os dados, após o=
(símbolo de igual).
# Credenciais para o Desafio 3
DESAFIO=3
MARATONA_ID=
# Language Translator
IAM_APIKEY_LANGUAGE_TRANSLATOR=
# Visual Recognition
IAM_APIKEY_VISUAL_RECOGNITION=
CLASSIFIER_ID=
- Abra o arquivo
manifest.yml
e altere o<maratona-id>
com o seu ID da Maratona, o mesmo usado acima. Lembre-se: é mandatório ter a URL com o formato doname
, apresentado abaixo.
applications:
- name: <seu-id>-desafio3-behindthecode
memory: 256M
instances: 1
buildpack: sdk-for-nodejs
Clique em Create new launch configuration
e crie a configuração para a sua aplicação (que está sendo criada em background). Launch Config Name
, Application Name
e Host
devem ter o mesmo nome, com o formato <maratona-id>-desafio3-behindthecode
, igual nos itens anteriores. Clique em SAVE
para salvar as configurações.
Clique em PLAY
(primeiro botão na imagem). Espere até ficar verde
(com o status: running
). Depois, clique em Open
(terceiro botão na imagem). Vai abrir a sua aplicação, com as configurações implementadas.
🚨 TESTE BASTANTE O SEU MODELO DE TREINAMENTO 🚨
Mande várias frases, para testar o Language Translator
. Mande várias frases em Português
e veja o retorno.
Suba uma imagem e aperte em ANALYZE
para ver o retorno do top_class
(ou a classe com a maior nível de confiança). Faça quantos testes forem necessários e, se precisar, treine e re-treine o seu modelo para melhorar cada vez mais. Quando se sentir confortável, faça a submissão do seu desafio. Lembre-se: NÃO é possível submeter mais de uma vez. Fique atento!
Através da aplicação na IBM Cloud (https://<maratona-id>-desafio3-behindthecode.mybluemix.net
), você irá clicar no botão SUBMETER DESAFIO, preencher com o seu CPF e enviar para a avaliação final.
FIQUEM LIGADOS NO ibm.biz/maratona PARA ACOMPANHAR O RANKING GERAL E O RANKING DO DESAFIO! FIQUE NA TORCIDA PARA ESTAR ENTRE OS MELHORES!
-
No
Logs
da aplicação, apresentou um erro (em vermelho). O que pode ser?Resposta: Veja se você colocou as credenciais da Maratona, Language Translator e Visual Recognition no arquivo
.env
e se o arquivomanifest.yml
está correto, conforme descrito acima. Veja se a sua aplicação está rodando na URL correta conforme descrito acima.
Acesse o slack e mande a sua dúvida: ibm.biz/convite-slack.
Baixe o PDF do desafio aqui.
Copyright 2019 Maratona Behind the Code
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.