Cree un rastreador Bias de Wikipedia en 4 pasos con StdLib e IBM Watson

Wikipedia es un recurso invaluable al tratar de obtener información rápida sobre un tema. Para una investigación más rigurosa, puede proporcionar un lugar para comenzar y encontrar más fuentes a través de las referencias adjuntas a un artículo. Dado que Wikipedia es una plataforma abierta, suscribirse a cinco pilares de conducta para evitar el abuso. Una de ellas es que los artículos se escriben con un "punto de vista neutral". Una parte importante de escribir desde el punto de vista neutral es usar un tono imparcial :

Incluso cuando un tema se presenta en términos de hechos en lugar de opiniones, se puede introducir un tono inapropiado a través de la forma en que se seleccionan, presentan u organizan los hechos. Los artículos neutrales se escriben con un tono que proporciona una representación imparcial, precisa y proporcionada de todas las posiciones incluidas en el artículo.

La pregunta es, ¿qué tan bien Wikipedia mantiene este punto de vista neutral, en particular el tono imparcial. Al utilizar la API de comprensión del lenguaje natural de IBM Watson, podemos intentar examinar esta pregunta. La API te permite buscar emociones y sentimientos en el texto. En un mundo ideal, tanto la emoción como el sentimiento por un texto neutral deberían estar cerca de cero. Para verificar esto, puede usar API de IBM Watson y API de Wikimedia , pegadas con StdLib .

Si no ha escuchado StdLib anteriormente, somos la forma más rápida de crear servicios web de back-end y enviar valor comercial real. Construido en una arquitectura "sin servidor", nunca tendrá que preocuparse por administrar servidores o asignar recursos para escalar. ¡Escribe una función, impleméntala y estarás listo para comenzar! También tenemos un ecosistema creciente de integraciones contribuidas por otros desarrolladores que son fáciles de usar.

Paso 1: Regístrese en StdLib

Comenzar con StdLib es fácil: diríjase a nuestro sitio web , elija elegir un nombre de usuario y presione "Claim Namespace". Más adelante, revisará nuestra CLI y desplegará los servicios. Pero primero, debe configurar la base de datos para esta aplicación.

Paso 2: Configurar Watson

Dirígete aquí para comenzar a crear una cuenta con Bluemix. Después de confirmar su correo electrónico, puede ir a la página de Watson . Haga clic en 'Crear servicio de Watson' y se le presentarán algunas opciones.

Elija "Comprensión del lenguaje natural". Todas las opciones predeterminadas están bien, ¡solo asegúrese de seleccionar el plan 'Lite' (gratis)!

Después de hacer clic en 'Crear' y aterrizar en la nueva página, verá una pestaña llamada 'Credenciales de servicio' en la parte superior izquierda. Haga clic en 'Nueva credencial' que le brinda un menú desplegable donde puede encontrar su nombre de usuario y contraseña para su servicio. Toma nota de esto, lo usarás en un momento.

Paso 3: Configurar la API de Wikimedia

La API de Wikimedia, y por lo tanto la de Wikipedia, no requieren ninguna autenticación. Sin embargo, puede ser un poco confuso de usar. Entonces, para mayor comodidad, publiqué un servicio StdLib que envuelve algunas operaciones comunes. Por ejemplo, si desea los 1000 artículos más vistos del mes y el año, puede llamar usando el paquete lib npm :

O si desea los 100 mejores artículos editados del año pasado:

Ambos puntos finales devuelven las direcciones URL para los artículos, lo que funciona bien con el servicio que está por crear.

Paso 4: poner todo junto

Vas a usar StdLib para componer las API de Watson y Wikimedia. Para usar StdLib, necesitarás obtener las herramientas de línea de comandos, disponibles aquí en GitHub. Primero, si no tiene instalado Node.js, puede descargar la última versión, junto con npm, aquí . Ahora con Node instalado, puede obtener StdLib CLI abriendo una terminal y ejecutando:

 $ npm instalar lib.cli -g 

Ahora crea un espacio de trabajo y navega hacia él con:

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

A continuación, obtenga el código de la lista de Waston ejecutando:

 $ lib create -s @ steve / watson 

Se le pedirá que le dé un nombre al nuevo servicio, el resto de este tutorial asume que todavía está en modo watson . Ahora puede navegar al nuevo servicio con:

 $ cd <nombre de usuario> / watson 

Ahora puede abrir el archivo env.json que se encuentra en la raíz del directorio. Hay dos campos Copie y pegue el nombre de usuario y la contraseña desde que creó su cuenta de IBM en sus respectivos lugares.

Ahora simplemente ejecuta:

 $ lib up dev 

Con ese comando, su API de Watson está activa en un entorno de desarrollo mutable. Expone solo un punto final __main__ que toma una matriz de urls. Para cada url, recopila los datos de sentimiento y emoción de esa página y promedia los resultados en todos los textos. Watson hace un poco de limpieza de la página, por lo que no tiene que preocuparse por los anuncios ni por el estilo. Si quieres probar el servicio desde la línea de comando, puedes ingresar:

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

Lo cual arrojará resultados solo para el artículo de Wikipedia sobre IBM. Este servicio funcionará con cualquier página web que tenga texto, por lo que puede probar su fuente de noticias favorita (o menos favorita), por ejemplo.

Con este punto final configurado, puede realizar un análisis simple. Simplemente abra un archivo de texto e ingrese el código a continuación. Utiliza el contenedor de Wikipedia para obtener los artículos más vistos de diciembre de 2017, y luego los introduce en la API de Watson.

Ejecutar este script, con $ node example.js , debería darle algunos resultados como:

 {sentimiento: -0.037099235591900016, 
emociones:
{tristeza: 0.21031268868868871,
alegría: 0.45655976376376384,
miedo: 0.07352899499499507,
disgusto: 0.0967122352352352,
ira: 0.07937950750750744}
}

La categoría de sentimiento está en una escala de (-1, 1), inferior significa sentimiento negativo y más alto significa positivo. Las emociones están en una escala de (0, 1) donde un número más alto significa que las emociones están más presentes. Idealmente, todos los números deberían estar cerca de 0, para un artículo imparcial. Para los primeros 1000 artículos más vistos de diciembre de 2017, esto parece ser cierto, mostrando la puntuación de alegría relativamente alta. Ahora bien, si desea ver los artículos más editados (y, por lo tanto, los más controvertidos), podría usar:

Que devuelve:

 {sentimiento: -0.48160470200000033, 
emociones:
{tristeza: 0.39764493939393936,
alegría: 0.1554383434343435,
miedo: 0.13799211111111104,
disgusto: 0.08601269696969707,
ira: 0.2993595656565651}
}

Estos números son bastante diferentes. En general, son mucho más negativos y la ira, así como la tristeza, son más prominentes. Esto tiene sentido, teniendo en cuenta que los artículos que se editan con frecuencia son, probablemente, sobre temas polémicos.

Gracias

Y eso es todo, ¡gracias por leer! Con suerte, usted pudo aprender un poco sobre cómo componer API con StdLib. Si usted tiene una idea ingeniosa que le gustaría compartir, llegar a mí directamente por e-mail: steven@stdlib.com, o seguir a y la stdlib equipo en Twitter.

Como siempre, esperamos escuchar de usted y ¡feliz construcción!