Git Product home page Git Product logo

christmas-challenge's Introduction

IBM Christmas Challenge

Para te ajudar

1. Introdução

A Natal Corp.(NYSE:SNTK1, NASDAQ:SNTK), desde do ano 374 D.C no ramo de brinquedos, trazendo alegria para as crianças que se comportaram bem durante o ano e buscando sempre inovar seus processos internos, propõem um desafio em conjunto com a IBM, para a comunidade de desenvolvedores ajudar nossa empresa a continuar prestando o excelente serviço que temos prestado a séculos. Os Duendes tem reclamado muito que a quantidade de cartas recebidas é enorme e que a cada ano que passa as horas extras realizadas só aumenta, mesmo com a contratação de novos funcionários. Dentro deste contexto, o desafio é: criar um analisador de cartas com Inteligência Artifical, capaz de extrair informações importantes que possam nos ajudar a cumprir nossa milenar tarefa.

Ho ho ho Feliz Natal!
Papai Noel
CEO da Natal Corp.

2. Desafio

Para completar o desafio, você irá utilizar a ferramenta Watson Knowledge Studio (WKS) para criar o modelo anotador de texto personalizado, e expô-lo via API através do serviço Watson Natural Language Understanding (WNLU).

3. Avaliação

Você deverá disponibilizar as credencias do Watson Natural Language Understanding criado, e o MODEL_ID do seu modelo personalizado criado com o Watson Knowledge Studio. Uma vez submetido, seu modelo será pontuado por um algoritmo automatizado que irá realizar chamadas para o seu modelo. O pontuador espera receber um JSON com uma lista de entidades identificadas (API padrão do WNLU). A lista de respostas será comparada com um gabarito. Em outras palavras, com a lista de resultados já esperados.

É mandatório criar as entidades no Knowledge Studio com os seguintes nomes:

  • Nome
  • Endereco
  • Motivo
  • Brinquedo

E também a relação, com o seguinte nome:

  • Deseja (relação entre as entidades Nome e Brinquedo)

4. Requisitos

Para iniciar o desafio você deverá primeiramente cumprir os seguintes itens:

5. Instanciando o Watson Natural Language Understanding

5.1. Credenciais do Watson Natural Language Understanding

🚨 SALVE AS CREDENCIAIS. VOCÊ PRECISARÁ DELAS PARA SUBIR A APLICAÇÃO 🚨

Você precisará da credencial IAM_APIKEY (ou, em alguns casos, APIKEY apenas) e da URL do serviço. Para obter ambas, acesse https://cloud.ibm.com/resources e veja a lista de serviços, você encontrará todos os serviços provisionados na sua conta da IBM Cloud. Clique no Watson Natural Language Understanding provisionado anteriormente.

Clique na barra lateral esquerda em service credentials, conforme mostrado na imagem abaixo.

6. Treinando um modelo anotador de texto personalizado com WKS

  • Crie uma instância de Watson Knowledge Studio, e acesse a plataforma, clicando no botão "Launch Watson Knowledge Studio".
  • Descompacte e importe o seu dataset para o processo de Annotation Task.
  • Faço o treinamento por anotação manual dos documentos.
  • Exporte o modelo para o Watson Natural Language Understanding.

A API exposta pelo Watson Natural Language Understanding utilizará o MODEL_ID criado pelo WKS para analisar os textos com base no modelo personalizado, portanto salve seu MODEL_ID!

Se precisar de ajuda, veja o vídeo abaixo de como treinar o seu modelo de anotação de texto personalizado usando o Watson Knowledge Studio.

7. Subindo sua aplicação Node js na nuvem

Para subir a aplicação na IBM Cloud, você deve clicar no botão abaixo, que irá ativar a ferramenta de Continuous Delivery da IBM Cloud (também conhecida como Delivery Pipeline).

🚨 CLIQUE PARA SUBIR A APLICAÇÃO NA IBM CLOUD 🚨

7.1. Configurando o IBM Continuous Delivery

  1. Configure o Toolchain Name com o nome IBM Christmas Challenge. A região onde sua Toolchain irá rodar fica a sua escolha, recomendamos que use Dallas. Com campos preenchidos clique no ícone de Delivery Pipeline na parte de baixo da imagem.

img-01

  1. Preencha o Campo ID para o desafio com o seu ID, você recebeu ele no email que usou para se increver no desafio, procure na sua caixa de entrada um email com assunto Christmas Challenge - Dados para o desafio, caso não encontre verifique também sua caixa de spam.

img-02

  1. Preencha os campos restantes com as credenciais que você guardou ao executar o passo 5.1. Uma vez com todos os campos preenchidos clique em Criar, no canto superior direito.

  2. Clique em Criar para que seja fazer o deploy da aplicação na sua conta.

img-03

  1. Neste momento sua Toolchain estará configurada corretamente. Para acompanhar o deploy da aplicação clique em Delivery Pipeline.

img-04

  1. Quando ambos os cartões estiverem com o estágio aprovado sua aplicação estará disponível para uso, basta acessar <seu-id>-icc.mybluemix.net, onde <seu-id> deve ser o id recebido por email. Caso o processo não inicie automaticamente, clique no botão Play do cartão Build. Caso ocorra algum erro no processo recomendamos que você tente refazer o porcesso.

img-05

8. Submetendo sua solução

🚨 TESTE BASTANTE O SEU MODELO DE TREINAMENTO 🚨

Mande vários textos para analisar, com base no seu treinamento. 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. Você pode submeter novas soluções quantas vezes desejar -- apenas a submissão com a maior nota será considerada.

Para submeter você deve acessar a aplicação Node.js implantada previamente na nuvem, e clicar no botão para submeter sua solução.

Obs: Caso queira trocar credenciais, não é necessário um novo deploy para substituir as credencias antigas. Dentro da aplicação no canto superior direito existe um ícone de engrenagem, ao clicar nele você poderá trocar as credencias do NLU e o Model ID sem precisar realizar um novo deploy.

  1. Acesse <seu-id>-icc.mybluemix.net, onde <seu-id> deve ser subtituído pelo seu id do desafio, o qual você deve ter recebido por email cujo assunto é Christmas Challenge - Dados para o desafio. Ao acessar a página você deve visualizar a imagem abaixo.

img-06

  1. Faça os testes que julgar necessário.

img-07

  1. Quando se sentir confortável submeta sua solução. Será pedida uma senha, que foi enviada por email junto com seu id, procure na sua caixa entrada e spam por um email cujo assunto é Christmas Challenge - Dados para o desafio.

img-08

  1. Com a submissão realizada você deverá visualizar a mensagem da imagem abaixo.

img-09

  1. Após alguns segundos você deverá receber sua pontuação na tela conforme a imagem abaixo.

img-10

Material de apoio

Troubleshooting

  1. Caso ocorram erros, nos Logs da aplicação uma provável explicação (em vermelho) é apresentada. Use essa informação para descobrir a causa do problema.

License

Copyright 2019 IBM

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.

christmas-challenge's People

Contributors

joaopedropp avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.