Crie um Wikipedia Bias Tracker em 4 Passos com StdLib e IBM Watson

Wikipedia é um recurso inestimável quando se tenta obter algumas informações rápidas sobre um tópico. Para uma pesquisa mais rigorosa, pode fornecer um lugar para começar e encontrar mais fontes através das referências anexadas a um artigo. Como a Wikipedia é uma plataforma aberta, assine cinco pilares de conduta para prevenir abusos. Um deles é que os artigos mais são escritos com um "ponto de vista neutro". Uma parte importante da escrita a partir do ponto de vista neutro é usar um tom imparcial :

Mesmo quando um tópico é apresentado em termos de fatos e não de opiniões, o tom inadequado pode ser introduzido através do modo como os fatos são selecionados, apresentados ou organizados. Os artigos neutros são escritos com um tom que fornece uma representação imparcial, precisa e proporcionada de todas as posições incluídas no artigo.

A questão é: quão bem a Wikipedia mantém esse ponto de vista neutro, em particular o tom imparcial. Usando a API de Compreensão de Linguagem Natural da IBM Watson, podemos tentar examinar esta questão. A API permite que você procure emoções e sentimentos no texto. Em um mundo ideal, tanto a emoção como o sentimento de um texto neutro devem ser próximos de zero. Para verificar isso, você pode usar a API do IBM Watson e a API do Wikimedia , coladas junto com o StdLib .

Se você ainda não ouviu o StdLib, somos a maneira mais rápida de criar serviços da web backend e enviar o valor comercial real. Construído em arquitetura "sem servidor", você nunca precisa se preocupar em gerenciar servidores ou alocar recursos para escala. Escreva uma função, implante e você está pronto para ir! Nós também temos um crescente ecossistema de integrações contribuído por outros desenvolvedores que são fáceis de usar.

Passo 1: Inscreva-se para o StdLib

Começar com o StdLib é fácil – dirija-se ao nosso site , escolha escolher um nome de usuário e toque em "Namespace de reivindicação". Mais tarde, você irá buscar nossa CLI e implementar serviços. Mas primeiro, você precisa configurar o banco de dados para este aplicativo.

Etapa 2: Configuração do Watson

Chegou aqui para começar a criar uma conta com o Bluemix. Depois de confirmar seu e-mail, você pode acessar a página do Watson . Clique em 'Criar serviço Watson' e você receberá algumas opções.

Escolha 'Compreensão da linguagem natural'. Todas as opções padrão estão bem, apenas certifique-se de que o plano 'Lite' (livre) esteja selecionado!

Depois de clicar em 'Criando' e aterrando na nova página, você verá uma guia chamada 'Credenciais de Serviço' no canto superior esquerdo. Clique em "Nova credencial", que lhe dá um menu suspenso onde você pode encontrar seu nome de usuário e senha para o seu serviço. Tome nota disso, você usará apenas um pouco.

Etapa 3: Configuração Wikimedia API

A API da Wikimedia e, portanto, a Wikipedia, não requer nenhuma autenticação. No entanto, pode ser um pouco confuso para usar. Então, por conveniência, publiquei um serviço StdLib que envolve algumas operações comuns. Por exemplo, se você quisesse os 1000 artigos mais vistos para um determinado mês e ano, você poderia ligar, usando o pacote lib npm :

Ou se você quisesse os 100 artigos mais editados do ano passado:

Ambos os pontos de extremidade retornam os URLs para os artigos, que joga bem com o serviço que você está prestes a criar.

Passo 4: colocando tudo junto

Você vai usar o StdLib para compor as APIs Watson e Wikimedia. Para usar o StdLib, você precisará obter as ferramentas de linha de comando, disponíveis aqui no GitHub. Primeiro, se você não possui o Node.js instalado, você pode baixar a versão mais recente, juntamente com npm, aqui . Agora, com o nó instalado, você pode obter a CLI do StdLib abrindo um terminal e executando:

 $ npm instalar lib.cli -g 

Agora crie um espaço de trabalho e navegue até ele com:

 $ mkdir stdlib-workspace 
$ cd stdlib-workspace
$ lib init

Em seguida, obtenha o código da lista Waston executando:

 $ lib create -s @ steve / watson 

Você será solicitado a dar um nome ao novo serviço, o restante deste tutorial assume que ainda é o watson . Agora você pode navegar para o novo serviço com:

 $ cd <nome do usuário> / watson 

Agora você pode abrir o arquivo env.json encontrado na raiz do diretório. Existem dois campos. Copie e cole o nome de usuário e a senha de quando criou sua conta IBM em seus respectivos locais.

Agora, simplesmente execute:

 $ lib up dev 

Com esse comando, seu Watson API está ao vivo em um ambiente de desenvolvimento mutable. Ele expõe apenas um ponto final __main__ que leva uma variedade de URLs. Para cada url, ele reúne dados de emoção e emoção dessa página e mede os resultados em todos os textos. O Watson faz alguma limpeza da página, então você não precisa se preocupar com anúncios e outros. Se você quiser tentar o serviço a partir da linha de comando, você pode inserir:

 $ lib <username> .watson '[" https://en.wikipedia.org/wiki/IBM"]' 

O que retornará resultados apenas para o artigo da Wikipedia sobre a IBM. Este serviço funcionará com qualquer página da Web com texto, para que você possa tentar sua fonte de notícias favorita (ou menos preferida), por exemplo.

Com esta configuração de ponto final, você pode realizar algumas análises simples. Basta abrir um arquivo de texto e digitar o código abaixo. Ele usa o wrapper da Wikipedia para obter os artigos mais vistos de dezembro de 2017 e, em seguida, alimenta isso na API do Watson.

Executando este script, com $ node example.js , deve dar-lhe alguns resultados como:

 {sentiment: -0.037099235591900016, 
emoções:
{tristeza: 0,21031268868868871,
alegria: 0.45655976376376384,
medo: 0,07352899499499507,
nojo: 0,0967122352352352,
raiva: 0.07937950750750744}
}

A categoria de sentimento está em uma escala de (-1, 1), inferior significa sentimento negativo e significa superior positivo. As emoções estão em uma escala de (0, 1) onde um número maior significa que as emoções estão mais presentes. Idealmente, todos os números devem ser próximos de 0, para um artigo imparcial. Para os 1000 artigos mais vistos de dezembro de 2017, isso parece ser verdade, deixando a nota de alegria relativamente alta. Agora, se você quisesse olhar para os artigos mais editados (e, portanto, mais contestados), você poderia usar:

O que retorna:

 {sentiment: -0.48160470200000033, 
emoções:
{tristeza: 0,39764493939393936,
alegria: 0.1554383434343435,
medo: 0.13799211111111104,
nojo: 0,08601269696969707,
raiva: 0.2993595656565651}
}

Esses números são bastante diferentes. No geral, eles são muito mais negativos e a raiva, bem como a tristeza, são mais proeminentes. Isso faz sentido, considerando artigos que são editados com freqüência provavelmente estão em tópicos controversos.

Obrigado

E é isso, obrigado por ler! Espero que você tenha aprendido um pouco sobre a composição de APIs com o StdLib. Se você tiver uma boa idéia que gostaria de compartilhar, contacte -me diretamente por e-mail: steven@stdlib.com , ou siga- me e a equipe do StdLib no Twitter.

Como sempre, estamos ansiosos para ouvir de você e construir feliz!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *