Gestão Dev & TIARTIGO

Explore as notícias e reúna insights utilizando o Watson Discovery

Neste artigo, eu foco no serviço Watson Discovery, que, como o nome implica, te ajuda a coletar informações de grandes quantidades de dados.

O Watson Developer Cloud da IBM é uma plataforma de serviços cognitivos que permite que você habilite funcionalidades da computação cognitiva em seu aplicativo. Os sistemas de computação cognitiva aprendem e interagem naturalmente com os humanos para aumentar o entendimento das informações e tomar melhores decisões. O Watson Developer Cloud oferece vários serviços que cobrem diferentes aspectos da interação natural e entendimento, incluindo:

  • Texto (entendimento da linguagem natural, classificador de linguagem natural e conversação);
  • Imagens (reconhecimento visual);
  • Discurso (discurso para texto e texto para discurso);
  • Personalidades (discernimento de personalidade);
  • Tons emocionais e sociais (analisador de tom);

Neste artigo, eu foco no serviço Watson Discovery, que, como o nome implica, te ajuda a coletar informações de grandes quantidades de dados. Você pode utilizar o Discovery em vários casos de uso, como obter insights de dados ou casos de uso de perguntas/respostas, nos quais o corpo consista de um grande número de documentos e o objetivo seja encontrar as respostas mais relevantes para uma pesquisa.

O Discovery permite que você faça o upload dos dados da sua empresa e utilize suas capacidades de aprimoramento para entender os dados e obter insights. O Discovery também traz pré-instalado um conjunto de dados Watson News, um conjunto de dados públicos que é pré-aprimorado com informações cognitivas. O Watson Discovery News é um conjunto de dados de fontes de notícias, principalmente em inglês, que são atualizados continuamente, adicionando-se aproximadamente 300 mil artigos e postagens de blogs todos os dias. Você pode utilizar o Discovery News para realizar buscar sobre insights que você possa integrar diretamente à sua aplicação. Neste artigo, eu explico como configurar uma instância do Discovery no Bluemix e como executar algumas buscas comuns na coleção News.

Pré-requisitos

Antes de começar, você vai precisar de uma conta no Bluemix para poder ser provisionado acesso aos serviços do Watson Developer Cloud. O Bluemix é uma solução de Plataforma como Serviço (PaaS, do inglês Platform as a Service), onde você pode hospedar suas aplicações e fornecer serviços como Watson, serviços móveis e analytics.

Nota: Se você já sabe como construir suas aplicações no Bluemix, fique à vontade para pular esta sessão. Caso contrário, use os seguintes passos para construir um aplicativo simples “Hello World” no Bluemix.

1. Registre-se em uma conta no Bluemix. O Bluemix é gratuito por 30 dias.
2. Faça o log in no Bluemix utilizando as credenciais com as quais você se cadastrou.
3. Clique em Criar Aplicativo (Create app).
4. Na coluna de navegação à esquerda, selecione Cloud Foundry Apps, então em SDK for Node.js. O Bluemix oferece um rico conjunto de runtimes, incluindo Java, Swift, PHP e Ruby, mas neste artigo vou utilizar o Node.js.

5. Forneça um nome de aplicativo que seja único e clique em Create:

Nesse ponto, você criou um app “Hello World” simples em Node.js e o hospedou na sua conta do Bluemix. Para ver seu aplicativo em execução, no seu navegador, entre no seguinte endereço: http://appname.mybluemix.net, onde appname é o nome do seu aplicativo. Para o meu aplicativo de exemplo, utilizei o nome discovery-lab, então eu digito o endereço http://discovery-lab.mybluemix.net para ver a mensagem de “Hello World”.

Crie uma instância de serviços do Watson Discovery

Nesta sessão, eu explico como configurar uma instância de serviço do Watson Discovery. Para criar a instância:

1. Acesse o Bluemix com suas credenciais.
2. Clique em Catalog, então clique em Watson no painel de navegação à esquerda. O catálogo exibirá os serviços do Watson que estiverem disponíveis. Clique em Discovery.

3. Forneça um nome de serviço que seja único (ou utilize o nome de serviço padrão), e escolha o plano Free (ele é gratuito por 30 dias e permite 1.000 novas pesquisas). Clique em Create.

Isso criará uma instância do Discovery e fornecerá as credenciais, que você poderá acessar clicando em Service Credentials.

4. Clique na aba Service Credentials, então expanda o menu View Credentials. Copie as credenciais (usuário e senha) e salve, porque você vai precisar delas para integrar seu serviço Discovery em sua aplicação.

5. Clique na aba Manage, então clique em Lauch Tool. Isso lançará uma interface interativa de ferramentas onde você poderá interagir com seu serviço Discovery, incluindo a coleção Watson News.

Conforme mencionado acima, o Discovery permite que você crie uma coleção que utilize seus próprios dados, mas também tem, pré-instalado, um conteúdo de notícias aprimorado que está armazenado na coleção Watson News.

6. Clique em Watson News.

Isso levará você a uma página com detalhes sobre o Watson News (300 mil novos artigos adicionados diariamente e o histórico de notícias dos últimos 60 dias). Nessa página, você também vai ter as informações que precisa para realizar as chamadas das APIs: environment_id, configuration_id e collection_id. Grave o environment_id e o collection_id, pois você vai precisar deles nos passos futuros.

7. Clique em Query this colection. Isso vai lançar uma página My data insights com alguns pesquisas úteis geradas previamente, que retornam as principais palavras-chave, as principais entidades, o sentimento geral, conceitos relacionados e hierarquia de conteúdo. Passe um tempo explorando os resultados e filtrando pelas várias palavras-chave e entidades.

Em seguida, vou explicar como construir buscar personalizadas. Clique em Build your own query, o que leva você para a interface de ferramentas de pesquisa que vai permitir que você crie suas próprias pesquisas. Eu sempre recomendo que você crie uma pesquisa muito simples, que retorne apenas um documento. Isso é útil para que você entenda o esquema dos seus documentos e os tipos de resultados que são retornados. Para fazer isso, digite “1” no campo Number of results to return e clique em Run Query.

Explore os resultados do retorno da coleção Watson News. Você pode utilizar cada um dos campos do retorno para buscar, filtrar ou agregar resultados. Por exemplo, note o campo enrichedTitle e todos os seus aprimoramentos. Você pode utilizar o campo enrichedTitle para realizar buscas por palavras-chave, entidades e conceitos que são especificamente identificados no título do artigo. Note também os campos de entidades, palavras-chave, conceitos e taxonomia. Todos eles são aprimoramentos que você pode utilizar quando estiver executando pesquisas para capturar insights.

Como referência, a Query URL (destacada em oval vermelho na imagem anterior) mostra para você a chamada exata da API para obter exatamente o mesmo resultado para a pesquisa. Para essa pesquisa simples, a chamada da API é: https://gateway.watsonplatform.net/discovery/api/v1/environments/${environment_id}/collections/${collection_id}/query?version=2016-11-07&query=&count=1&offset=&aggregation=&filter=&return=#.

Em seguida, execute uma pesquisa para encontrar todos os artigos com a palavra-chave IBM. Para isso, inclua keywords.text:IBM no campo Narrow your query results (Filter) e clique em Run Query.

Outra pesquisa interessante é encontrar todos os artigos que incluem IBM como palavra-chave no título, e então encontrar as principais palavras-chave desses artigos. Isso é útil para descobrir rapidamente sobre os principais tópicos que são discutidos nas notícias que são relacionadas à IBM. Isso pode ser feito também para um período de tempo específico. A seguinte pesquisa retorna as principais palavras-chave de todos os artigos com IBM no título nos últimos 7 dias.

Exemplos de pesquisas no Watson News utilizando serviço o Watson Discovery

Para dar mais exemplos, as seguintes URLs mostram algumas interessantes pesquisas de interesse. Por favor, certifique-se de substituir o ${environment_id} e o ${collection_id} pelos dados que você copiou mais cedo (passo 6 de Criar uma Estância de serviços Watson Discovery). Você também vai precisar fornecer suas credenciais (usuário e senha) para sua instância de serviço Watson Discovery.

  • Encontrar todos os artigos onde a entidade aparece no título:

https://gateway.watsonplatform.net/discovery/api/v1/environments/${environment_id}/collections/${collection_id}/query?version=2016-11-07&query=&count=&offset=&aggregation=&filter=enrichedTitle.entities.text%3AIBM&return=

  • Encontrar todos os artigos onde uma entidade aparece no texto e em um período de tempo:

https://gateway.watsonplatform.net/discovery/api/v1/environments/${environment_id}/collections/${collection_id}/query?version=2016-11-07&query=&count=&offset=&aggregation=&filter=enrichedTitle.entities.text%3AIBM%2Crelation

  • Encontrar todos os artigos com uma entidade específica no título (por exemplo, IBM) e quais títulos estão classificados dentro de uma categoria específica (por exemplo, esportes):

https://gateway.watsonplatform.net/discovery/api/v1/environments/${environment_id}/collections/${collection_id}/query?version=2016-11-07&query=&count=&offset=&aggregation=&filter=enrichedTitle.entities.text%3AIBM%2CenrichedTitle.taxonomy.label%3Asports&return=

  • Encontrar o número de menções de uma entidade (IBM) nos artigos de notícias em um período de tempo específico por um período de tempo específico (por exemplo, um dia)

https://gateway.watsonplatform.net/discovery/api/v1/environments/${environment_id}/collections/${collection_id}/query?version=2016-11-07&query=&count=&offset=&aggregation=timeslice%28blekko.chrondate%2C1day%29&filter=yyyymmdd%3C20170323%2Cyyyymmdd%3E20170316%2CenrichedTitle.entities.text%3AIBM&return=

  • Encontrar todos os artigos de uma entidade especifica (IBM) nos artigos de notícias em período de tempo específico, e descobrir quantos desses artigos apresentam sentimentos positivos, negativos e neutros:

https://gateway.watsonplatform.net/discovery/api/v1/environments/${environment_id}/collections/${collection_id}/query?version=2016-11-07&query=&count=&offset=&aggregation=nested%28entities%29.filter%28entities.text%3AIBM%29.term%28entities.sentiment.type%2Ccount%3A3%29&filter=yyyymmdd%3C20170323%2Cyyyymmdd%3E20170316%2CenrichedTitle.entities.text%3AIBM&return=

  • Encontrar todos os artigos que incluam uma entidade específica (IBM) em um período de tempo específico, então dividi-lo em intervalos específicos (por exemplo, um dia). Para cada um deles, também descobrir quantas entidades da IBM referenciadas têm um sentimento positivo, negativo ou neutro.

https://gateway.watsonplatform.net/discovery/api/v1/environments/${environment_id}/collections/${collection_id}/query?version=2016-11-07&query=&count=&offset=&aggregation=timeslice%28blekko.chrondate%2C1day%29.nested%28entities%29.filter%28entities.text%3AIBM%29.term%28entities.sentiment.type%2Ccount%3A3%29&filter=yyyymmdd%3C20170323%2Cyyyymmdd%3E20170316%2CenrichedTitle.entities.text%3AIBM&return=

Conclusão

Neste artigo, eu expliquei como você pode utilizar os serviços do Watson Discovery e o conteúdo previamente aprimorado e com 300 mil artigos diários do Watson News para encontrar informações sobre vários tópicos em que você possa estar interessado. Eu espero que você possa utilizar esses exemplos, e se você estiver procurando por outras pesquisas, fique à vontade para me avisar que continuarei adicionando mais pesquisas.

***

Joseph Kozhaya faz parte do time de colunistas internacionais do iMasters. A tradução do artigo é feita pela redação iMasters, com autorização do autor, e você pode acompanhar o artigo em inglês no link: https://www.ibm.com/developerworks/library/cc-watson-discovery-service-bluemix-explore/index.html.

É engenheiro sênior na IBM e apaixonado por alavancar as novidades em machine learning, processamento de linguagem natural e tecnologias de recuperação de informações para construir soluções cognitivas.

Ver perfil