Conteúdo


Compartilhe Personality Insights com um robô cognitivo do Twitter

Crie rapidamente um app para analisar os tweets de um usuário usando o Bluemix, Watson Personality Insights e Node-RED

Comments

O Node-RED simplifica a programação complexa em uma interface do navegador na qual é possível prototipar rapidamente aplicativos conectando dispositivos, APIs e serviços. Os nós Watson e Twitter em aplicativos Node-RED que você cria com o IBM Bluemix estão um passo além, pois removem a necessidade de chaves de API e chamadas complicadas.

Você criará dois aplicativos relacionados que o ajudarão a explorar o serviço Watson insights de personalidade . Os dois apps respondem à questão do que tweets recentes de alguém (pelo menos 50 tweets significativos) dizem sobre a personalidade dessa pessoa.

Primeiro, você criará um app da web no qual usuários inserem um identificador de Twitter e o app retorna Personality Insights detalhados (de Watson) com base nos tweets dessa conta. Depois, você incluirá módulos de contexto globais na interface de Node-RED à medida que cria um segundo app que analisa tweets de um usuário e cria uma simples interação com um robô cognitivo do Twitter. O tweet de resposta do robô fornece as 5 principais características do usuário e inclui um link para análise de personalidade mais detalhada de seu app da web:

A seguir, você também aprenderá como incluir pacotes NPM em uma instância de Node-RED e referenciará essas funções externas dentro dos nós.

Node-RED efetua o processo de criação — da ideia para o app — de forma rápida e simples e abre caminho para incluir e alterar nós à medida que suas ideias se expandem.

O que será necessário para desenvolver o aplicativo

Execute o aplicativoObtenha o código

Etapa 1. Crie a instância de serviço e um app Twitter

Antes de iniciar a criação de seus apps Bluemix, será útil definir o serviço Personality Insights que o app usará e reunir suas credenciais do Twitter. Nesta etapa, você criará o serviço e depois registrará um app com o Twitter para adquirir credenciais que permitirão que seus apps Bluemix coletem tweets.

  1. Efetue login em sua conta Bluemix (ou registre-se para obter uma avaliação gratuita).
  2. No catálogo do Bluemix, selecione o filtro Watson e depois selecione o serviço Watson insights de personalidade . Bluemix catalog icon for Watson Personality Insights
  3. Na caixa de diálogo à direita, mude o nome do serviço para tweetmewatson-PersonalityInsights, deixe o serviço desvinculado e clique em CRIAR.
  4. Em uma nova guia ou janela do navegador, abra a página Twitter Application Management e clique em Criar novo app.
  5. Na janela Detalhes do aplicativo, complete os campos Name, Descriçãoe Website para seu aplicativo. O campo Website requer uma URL para seu app. Use http://yourappname.mybluemix.net, em que yourappname é um nome exclusivo para seu aplicativo. (Teste a URL em um navegador para garantir que ela seja exclusiva). Você não precisa de uma URL de retorno de chamada, portanto, deixe esse campo em branco.
  6. Aceite o Contrato de desenvolvedor e clique em Criar seu aplicativo Twitter.
  7. Selecione Chaves e tokens de acesso no menu tabulado. Role para baixo para a seção Seu Token de acesso e clique em Criar meu token de acesso : Screenshot of the Create my access token button in Twitter

Mantenha as informações do app Twitter abertas em seu navegador ou copie-as para um arquivo de texto; você precisará dessas credenciais na próxima etapa e futuramente na Etapa 5.

Etapa 2. Bifurque e implemente o código

Agora que as credenciais de serviço e do Twitter estão preparadas, é possível simplesmente bifurcar o código de aplicativo da web, atualizar as informações de credenciais no código e então implementar o app — a partir do Bluemix DevOps Services.

  1. Na seção "O que será necessário para desenvolver o aplicativo" deste tutorial, clique no botão Obtenha o código .
  2. Na página de visão geral do projeto tweetmewatson no Bluemix DevOps Services, clique em BIFURCAR PROJETO no canto superior direito.
  3. Na caixa de diálogo, forneça ao app o nome exclusivo que você escolheu na etapa 2, marque a caixa de seleção Tornar isso um projeto Bluemix e clique em CRIAR.
  4. Na página de visão geral de seu projeto recém-criado do Bluemix DevOps Services, clique no botão CÓDIGO DE EDIÇÃO para abrir o editor.
  5. Clique no arquivo manifest.yml. Mude a propriedade host e na name de tweethmewatson para o nome fornecido para seu aplicativo. (Se você usou um nome para a instância de serviço Watson Personality Insights em vez de tweetmewatson-PersonalityInsights, substitua tweetmewatson-PersonalityInsights pelo nome usado.)
  6. Abra app.js no editor.
  7. Atualize a variável tweet com a chave do consumidor, segredo do consumidor, token de acesso e segredo do token de acesso com suas credenciais do Twitter (na guia Abrir navegador ou arquivo de texto). Twitter credentials
    Twitter credentials
  8. Clique no botão de seta próximo ao nome do app para implementar o app: Screenshot of the arrow button
    Screenshot of the arrow button

    Pode levar vários minutos até a implementação de seu aplicativo.

  9. Quando a implementação estiver concluída, clique no símbolo Abrir a URL do aplicativoScreenshot of the icon for opening the app URL para abrir o aplicativo Bluemix.
  10. Teste o app inserindo um identificador do Twitter e clicando em Analisar para visualizar os insights sobre a personalidade da pessoa: Screenshot of results of analyzing Twitter feed
    Screenshot of results of analyzing Twitter feed

Até aqui, você criou um app da web independente funcional. No lembrete deste tutorial, você usará Node-RED para criar um robô do Twitter que permite que usuários do Twitter obtenham automaticamente Personality Insights do Watson. A saída do robô inclui um link para uma análise detalhada gerada pelo app da web; caso contrário, o app da web e o app do robô funcionarão relativamente de forma independente um do outro.

Etapa 3. Crie o robô

Agora você usará o texto padrão de Node-RED para criar um aplicativo Node.js básico e depois ligará sua instância existente do Personality Service a ele.

  1. Efetue login em sua conta do Bluemix (se ainda não estiver conectado).
  2. No catálogo do Bluemix, selecione o texto padrão do Node-RED Starter.
  3. Deixe o título SDK for Node.js selecionado. Na caixa de diálogo à direita, forneça ao seu app um nome exclusivo (diferente do nome do aplicativo da web já criado) e clique em CRIAR.
  4. Vá para o painel do Bluemix e selecione seu app. Aguarde até que a seção FUNCIONAMENTO DO APP na parte superior direita mostre que seu app está sendo executado. Em seguida, clique em LIGAR UM SERVIÇO OU API.
  5. Selecione o serviço Watson Personality Insights que você criou na Etapa 1 (tweetmewatson-PersonalityInsights) e clique em ADD para disponibilizá-lo para este aplicativo. Remonte o app quando solicitado.
  6. Quando seu app estiver executando novamente, retorne ao painel do Bluemix e abra a página de visão geral do app.
  7. No serviço recém-ligado insights de personalidade, clique em Mostrar Credenciais. Anote os valores nome de usuário e na password , que precisará em uma etapa posterior.

Etapa 4. Obtenha o módulo twit

Antes de começar a usar a interface Node-RED, você precisará de um conjunto mais complexo de credenciais do que o nó básico do Twitter nos fornecimentos de Node-RED. Siga estas etapas para obter twit, um cliente de API do Twitter para Node.js:

  1. No Bluemix, clique em INCLUIR GIT na parte superior direita da página de visão geral do app: Screnshot of the ADD GIT link in Bluemix
    Screnshot of the ADD GIT link in Bluemix
  2. Certifique-se de que a caixa de seleção para Preencher o repositório com o pacote de aplicativo iniciador e ativar Delivery Pipeline (Criar e implementar) está selecionada e clique em CONTINUAR: Screenshot of the Create Git Repository dialog box
    Screenshot of the Create Git Repository dialog box

    O Bluemix levará alguns instantes para criar seu repositório Git no Bluemix DevOps Services.

  3. Depois que a mensagem de êxito for exibida, clique em FECHAR.
  4. Clique na URL GIT localizada agora no canto superior direito da página de visão geral no Bluemix. (Caso a URL não seja exibida, atualize a página e tente incluir Git novamente). (Se você não vir a URL, atualize a página e tente incluir Git novamente.)
  5. Em Bluemix DevOps Services, clique em CÓDIGO DE EDIÇÃO em seu projeto recém-criado para abrir o editor de código.
  6. Abra o arquivo package.json no editor e inclua esta linha nas dependências para incluir os módulos twit :

    "twit":"*",

    Screenshot of package.json with twit modules added to dependencies
    Screenshot of package.json with twit modules added to dependencies
  7. Abra bluemix-settings.js no editor. Inclua o módulo twit para que a linha para a configuração functionGlobalContext (na linha 52 ou perto dela) assemelhe-se à seguinte linha de código:

    functionGlobalContext: {twitModule:require('twit')},

    Screenshot of bluemix-settings.js with the                              functionGlobalContext variable updated
    Screenshot of bluemix-settings.js with the functionGlobalContext variable updated
  8. Realize push de atualizações locais para a ramificação remota clicando no ícone de repositório Git Screenshot of the Git repository icon na barra de ferramentas à esquerda.
  9. Para aplicar todas as atualizações do app, marque a caixa de seleção Selecionar tudo e insira um comentário sobre as atualizações: Screenshot of the Select All checkbox and Git comment text area
    Screenshot of the Select All checkbox and Git comment text area
  10. Clique em Confirmar para realizar o push das mudanças no diretório de saída: Screenshot of the commit button
  11. Para o diretório de saída na caixa de diálogo à esquerda, clique em Realizar o push para enviar as mudanças para a ramificação remota e iniciar uma implementação no Bluemix: Screenshot of the Push button
    Screenshot of the Push button
  12. Clique em Criar e implementar na parte superior direita da página para ver o progresso dos estágios de criação e implementação. Para visualizar mais detalhes sobre a implementação, clique em Visualizar logs e histórico.

Você acabou de concluir as atualizações do Bluemix DevOps Services. Agora você está pronto para trabalhar no Node-RED. Agora você está pronto para trabalhar no Node-RED.

Etapa 5. Importar e atualizar o fluxo no Node-RED

Agora que você configurou o ambiente e implementou um app básico, precisa obter um fluxo no Node-RED. Criar um fluxo do zero envolveria escolher os nós corretos para uso e criar código JavaScript para obter os dados fora do Twitter. Mas é possível ignorar esse processo oportuno e simplesmente importar um fluxo existente do projeto tweetmewatson no Bluemix DevOps Services. Esta etapa o orienta pela importação de um fluxo e configuração de autenticação com os nós do Twitter. Depois, você testará o app.

  1. Na seção "O que será necessário para desenvolver o aplicativo" deste tutorial, clique no botão Obtenha o código .
  2. No código-fonte tweetmewatson, selecione o diretório com nó e abra tweetmewatsonflow.txt. Copie o conteúdo do arquivo para sua Área de transferência.
  3. No Bluemix, marque FUNCIONAMENTO DO APP na página de visão geral do app para confirmar que seu app esteja executando (e reinicie se necessário). Em seguida, clique na rota do app: Screenshot of application route
    Screenshot of application route
  4. Em seu app em execução, clique no botão Ir para o editor de fluxo de Node-RED .
  5. Em sua área de trabalho de Node-RED, clique no botão de menu de hambúrguer e selecione Importar > Área de transferência: Screenshot of import in Node-RED
    Screenshot of import in Node-RED
  6. Cole o conteúdo de tweetmewatsonflow.txt na janela Importar nós : Screenshot of the pasted flow code
    Screenshot of the pasted flow code
  7. Clique em Ok.
  8. Clique em qualquer lugar no meio da área de janela da área de trabalho para descartar o fluxo na área de trabalho. Agora você tem o fluxo completo do app, que está pronto para customização, incluindo suas informações do Twitter.
  9. Clique duas vezes no nó de entrada do Twitter (chamado de Menção de tweet) na extrema esquerda do fluxo para abrir a caixa de diálogo Editar twitter no nó :

    Este nó simplifica o processo de autenticação com Twitter para monitoramento básico de tweets. Clique no ícone de lápis à direita do campo Twitter. O Node-RED agora percorrerá a autenticação no Twitter.
  10. Clique no serviço Clique aqui para autenticar com o Twitter ) e clique em Autorizar app para autorizar o Node-RED a acessar sua conta do Twitter. Quando aparecer a mensagem "Autorizado. Você pode fechar esta janela e retornar ao Node-RED", retorne ao Node-RED e clique em Incluir para incluir um novo usuário.
  11. Na seção for , substitua @WhatsMyBig5 por seu identificador do Twitter e substitua #tweetmewatson por uma hashtag exclusiva, mas divertida. O app varrerá todos os novos tweets públicos que correspondem a esses dois termos. Também é possível usar apenas o identificador do Twitter ou apenas a hashtag. Clique em Ok. Screenshot of updated Log in as field
    Screenshot of updated Log in as field
  12. No fluxo de Node-RED, abra o nó de função Obter tweets usando twit . Copie as credenciais do app Twitter que você criou na Etapa 1 nas linhas corretas da definição de variável tweet . Lembre-se de manter aspas simples no texto. Clique em Ok para fechar a caixa de diálogo de edição. Screenshot of the Get Tweets Using Twit with updated credentials
    Screenshot of the Get Tweets Using Twit with updated credentials
  13. O app robô envia (junto com os 5 principais traços) um link para o app da web independente, anexando o identificador do Twitter do usuário para a URL do app da web. Para atualizar a URL com a rota de seu app, abra o nó Corpo do tweet e localize http://tweetmewatson.mybluemix.net?user={{handle}}. Substitua tweetmewatson pelo nome do aplicativo da web criado na Etapa 2.
  14. Edite o nó Resposta do tweet , selecione seu nome de usuário na lista e clique em OK: Updating the Tweet Reply node
    Updating the Tweet Reply node

    O Node-RED cria um nó de credencial para armazenar esses dados, assim você precisará configurar uma conta do Twitter apenas uma vez.

  15. Abra o projeto Watson insights de personalidade . Insira o nome de usuário e senha para o serviço Personality Insights que você anotou no final da Etapa 3.
  16. Clique no serviço Implemente na parte superior da página. Depois, mude para a guia depurar .

Etapa 6: Teste seus apps

  1. No painel do Bluemix, verifique se ambos os apps estão executando (e reinicie-os se necessário).
  2. Envie um tweet que inclua o identificador ou hashtag escolhida na Etapa 5.
  3. Na guia de depuração, você verá a saída bruta. No Twitter, uma resposta de seu app robô do Twitter deve ser exibida.

Conclusão

Neste tutorial, você aprendeu como bifurcar um projeto Bluemix DevOps Services e duas formas diferentes de implementar um app a partir do Bluemix DevOps Services. Você também aprendeu a importar um fluxo em um aplicativo Node-RED, incluir um módulo em uma instância de Node-RED, fazer referência ao módulo dentro do contexto global, acessar o serviço Watson Personality Insights sem inserir suas credenciais de API e usar os nós do Twitter para atender e criar respostas.

Node-RED efetua o processo de criação — da ideia ao app, — rápido e simples e abre caminho para incluir e alterar nós à medida que suas ideias se expandem. Aqui foi mostrado apenas o uso dos serviços Watson; é possível integrar facilmente uma dezena de outros nós de Watson em seu fluxo de Node-RED para criar uma interação mais complexa.


Recursos para download


Temas relacionados


Comentários

Acesse ou registre-se para adicionar e acompanhar os comentários.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Cognitive computing, Internet of Things, Cloud computing
ArticleID=1025004
ArticleTitle=Compartilhe Personality Insights com um robô cognitivo do Twitter
publish-date=02012016