capítulo iii - upsin

26
46 Capítulo III Diseño y Desarrollo En el siguiente capítulo se llevará a cabo el diseño y el desarrollo del sistema, en este apartado se colocó la justificación de la utilización de las metodologías de desarrollo ágil, parte de la codificación del sistema y aquellas pruebas realizadas para asegurar una excelente funcionalidad.

Upload: others

Post on 04-Jul-2022

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Capítulo III - UPSIN

46

Capítulo III Diseño y Desarrollo

En el siguiente capítulo se llevará a cabo el diseño y el desarrollo del sistema, en este

apartado se colocó la justificación de la utilización de las metodologías de desarrollo

ágil, parte de la codificación del sistema y aquellas pruebas realizadas para asegurar

una excelente funcionalidad.

Page 2: Capítulo III - UPSIN

47

3.1 Diseño

En la siguiente sección se describirá de una manera detallada y concisa el

diseño que fue aplicado a esta Investigación titulada “Inteligencia Cognitiva: Nao Robot,

IBM Watson y Web Services”.

3.1.1 Metodología de Investigación

Se entiende por metodología el conjunto de pautas y acciones orientadas a

describir un problema.

Para esta Investigación se optará por la utilización de una metodología mixta, ya que en

ella intervienen el enfoque cualitativo como el enfoque cuantitativo.

El enfoque cuantitativo será utilizado con la finalidad de medir las variables

descritas en las pruebas realizadas, esto con la finalidad de describir de una mejor

manera todos los resultados obtenidos de dichas variables.

En cuanto al enfoque cualitativo, este será utilizado en la recolección de datos no

numéricos, en los cuales será necesaria la interpretación de los resultados obtenidos.

Dicha interpretación seria la información procesada por Watson a fin de generar un

patrón de comportamiento en base a los posts de redes sociales.

En los siguientes apartados se describirán de una manera más detallada todo acerca

de la metodología utilizada en el desarrollo de esta Investigación.

3.1.2 Metodología del Proyecto

Para el desarrollo de cada proyecto es necesario la utilización de una

metodología de desarrollo. En este proyecto se decidió por la utilización de una

metodología de desarrollo ágil denominada Design Thinking; no obstante, también se

decidió por la utilización en paralelo de otra metodología de desarrollo ágil llamada

SCRUM con el fin de llevar a cabo el proyecto de un manera más amena y concisa.

Scrum se caracteriza por la gestión regular de las expectativas del cliente, resultados

anticipados, flexibilidad y adaptación, retorno de inversión, mitigación de riesgos,

productividad y calidad, alineamiento entre cliente y equipo, por último, equipo

motivado. [37]

Page 3: Capítulo III - UPSIN

48

En este proyecto se tomó la decisión de utilizar Scrum ya que sus roles están bien

definidos y resultan fáciles de llevar. Aunado a ello su utilización resulto conveniente ya

que el equipo de trabajo resultaba adecuado para ello, se contaba con un equipo de

trabajo de tan solo 4 personas, en las cuales uno de ellos fungía como Scrum master,

uno más como Product Owner y dos más como desarrolladores.

En cuanto a Design Thinking, se decidió por su utilización gracias a la flexibilidad que

esta ofrece, ya que Design Thinking sugiere un desarrollo centrado en el usuario el cual

permite tener aún más clara la meta que se desea lograr; Design Thinking sugiere un

loop de trabajo el cual consiste en sprints los cuales son realizados en lapsos de tiempo

relativamente cortos, dichos sprints pueden ser efectuados semanal o diariamente,

reduciendo así el margen de error en el desarrollo de los proyectos, ya que dichos

sprints permiten la verificación y aprobación de los usuarios en un tiempo de desarrollo

prematuro.

3.1.3 Funcionamiento del Proyecto

En la siguiente sección se presenta el funcionamiento completo del proyecto. En

este apartado se expondrán diagramas de flujo que como su nombre lo indican,

mostrarán el flujo que deberán tomar los datos para poder llegar al fin principal de este

proyecto de investigación, dichos diagramas están divididos en diferentes flujos, ya que

proyecto sigue un proceso de acciones lineal y un único diagrama resultaría enorme,

las subdivisiones son: Conexión a Internet, Watson y Redes Sociales, Lectura, análisis,

búsqueda y guardado de comentarios negativos, Identificación de usuario y generación

de perfil psicológico, Comparación, generación y guardado de reportes, Visualización

de resultados Sistema Web, Visualización de resultados Nao Robot.

3.1.3.1 Conexión a Internet, Watson y Redes Sociales

Como se observa en el diagrama 3.1 , el sistema una vez es comienza su

ejecución, este intenta conectarse a internet, si la conexión falla sigue intentando hasta

que lo logra, en caso de que la conexión sea exitoso el sisma intenta cargar los

servicios de IBM Watson, nuevamente si la carga de los servicios no es exitosa el

sistema tratara de cargarlo hasta lograrlo, una vez que la carga se logra, el sistema e

IBM Watson generar una conexión con las redes sociales, más concretamente con

Twitter.

Page 4: Capítulo III - UPSIN

49

3.1.3.2 Lectura, análisis, búsqueda y guardado de comentarios

negativos

Como se observa en el diagrama 3.2, el sistema en conjunto con IBM Watson

acceden a las redes sociales, después comienzan a leer todos los posts que están

publicados en ellas, IBM Watson comienza a analizar dichos posts, después IBM

Watson comienza a buscar comentarios negativos en los posts analizados, una vez que

encuentra y analiza los comentarios negativos, el sistema e IBM Watson guardan la

información en una base de datos en IBM Cloudant para poder accederlos más tarde en

la generación el perfil psicológico.

Diagrama 3.1: Conexión a Internet, Watson y Redes Sociales

Page 5: Capítulo III - UPSIN

50

Diagrama 3.2: Lectura, análisis, búsqueda y guardado de comentarios negativos

Page 6: Capítulo III - UPSIN

51

3.1.3.3 Identificación de usuario y generación de perfil psicológico

Como se observa en el diagrama 3.3, una vez que el sistema e IBM Watson

guardan información sobre comentarios negativos lo siguiente es, acceder nuevamente

a esa información, IBM Watson usa su conexión con la red social para identificar al

usuario que realizo dicho comentario, una vez identificado, IBM Watson centra toda su

atención en dicho usuario y comienza un análisis de su perfil de red social, desde sus

posts, fotos, etc. Para así poder generar un perfil psicológico en base a ello.

Diagrama 3.3: Identificación de usuario y generación de perfil psicológico

Page 7: Capítulo III - UPSIN

52

3.1.3.4 Comparación, generación y guardado de reportes

Como se observa en el diagrama 3.4, una vez que el sistema e IBM Watson

generan un perfil psicológico el siguiente paso es la comparación, la comparación

consiste en comparar el perfil psicológico generado por el sistema e IBM Watson con el

perfil psicológico de un verdadero psicópata, una vez realizada la comparación el

sistema genera un reporte en el cual se contienen las coincidencias del perfil del

usuario con el perfil comparado, una vez generado se guarda dicho reporte en una base

de datos de IBM Cloudant para su futura muestra a usuario final.

Diagrama 3.4: Comparación, generación y guardado de reportes

Page 8: Capítulo III - UPSIN

53

3.1.3.5 Visualización de resultados Sistema Web

Como se observa en el diagrama 3.5, una vez guardados los reportes con las

coincidencias, el sistema accede a ellos y empieza a desplegarlos en una tabla, si el

porcentaje de coincidencia es igual o mayor a 80 porciento, el sistema manda un aviso

de un posible incidente encontrado.

Diagrama 3.5: Visualización de resultados Sistema Web

Page 9: Capítulo III - UPSIN

54

3.1.3.6 Visualización de resultados Nao Robot

Como se observa en el diagrama 3.6, este diagrama es muy parecido al

diagrama 3.5, salvo por la diferencia de que en este diagrama el encargado del

despliegue de información es un Robot humanoide de la serie Nao, el cual obtiene la

información de los reportes y se encarga de desplegar aquellos casos donde la

coincidencia sea mayor o igual a 80 porciento, esto lo hace por medio de la voz

simulando ser un Guardian de redes sociales.

Diagrama 3.6: Visualización de resultados Nao

Robot

Page 10: Capítulo III - UPSIN

55

3.2 Codificación del Proyecto

Como se mencionó anteriormente en el capítulo 2 de esta investigación, para la

codificación del sistema y de los servicios de IBM Watson se usará como lenguaje de

programación a NodeJs ya que resulta demasiado fácil el desarrollar sistemas webs, en

conjunto con NodeJs se utilizará Python como lenguaje de programación utilizado como

parte de la programación que será llevada a cabo en el Robot Humanoide de la serie

Nao denominada como “Minerva”.

Para poder realizar la codificación del sistema serán usadas herramientas como

editores de texto (atom), los cuales permitirán trabajar de una manera local sin la

necesidad de una conexión a internet.

Se usará la plataforma de nube de IBM (PaaS) llamada IBM Bluemix como plataforma

principal ya que dicha plataforma ayuda en la publicación del sistema en tiempo real,

además de que permite trabajar bajo el esquema DevOps.

Como intermediario entre el editor de texto e IBM Bluemix se hará el uso de Cloud

Foundry, el cual se encargará de hacer los push Bluemix desde la maquina local en que

se esté trabajando, permitiendo poder trabajar en los 2 ámbitos de manera paralela.

En paralelo a Cloud Foundry se usará Git, esto con el fin de tener un respaldo del

proyecto, ya que Git permite tener un muy buen control de versiones.

3.2.1 Conexión a Tone Analyzer

Dentro de los servicios de IBM Watson utilizados para este proyecto se

encuentra tone analyzer, un servicio que como su nombre lo indica analiza el tono de

los comentarios, dichos tonos están en el rango de ira, miedo, alegría, tristeza,

analítico, confidente y tentativo.

En la imagen 3.1 se muestra la creación de la conexión a dicho servicio, para ello es

necesario un usuario, una contraseña y la versión del servicio, todos estos parámetros

son dados al usuario por la plataforma de IBM Bluemix para su configuración inmediata.

Page 11: Capítulo III - UPSIN

56

En la imagen 3.2 se muestra una pequeña prueba de la lectura e interpretación de un

archivo llamado tone.json.

3.2.2 Conexión a Personality Insight

Aunado a el servicio de tone analyzer se encuentra el servicio llamado personality

insights, el cual será usado para generar un perfil psicológico de las personas

analizadas, este servicio obtiene información sobre cómo y por qué las personas

piensan, actúan y se sienten de la manera en que lo hacen. Este servicio aplica el

análisis lingüístico y la teoría de la personalidad para inferir atributos del texto no

estructurado de una persona.

Imagen 3.2: Prueba de lectura Tone Analyzer

Imagen 3.1: Creación de la conexión Tone Analyzer

Page 12: Capítulo III - UPSIN

57

En la imagen 3.3 se muestra la manera en que se debe de conectar el servicio con el

sistema, dicha forma de conectarse resulta similar a la de tone analyzer, ya que al igual

hacen uso de un nombre de usuario, una contraseña y una versión.

A continuación, en la imagen 3.4 se muestra la manera en que se utiliza el servicio

antes descrito.

El servicio hace uso de un archivo llamado profile.json el cual es interpretado y

analizado por el servicio de personality insight como se muestra en la función

personality_isight.profile.

Imagen 3.4: Probando Personality Insights

Imagen 3.3: Creación de la conexión Personality Insights

Page 13: Capítulo III - UPSIN

58

3.2.3 Conexión a base de datos IBM Cloudant Dentro de cada proyecto informático es necesario almacenar la información recabada y

este proyecto no es la excepción, para esto se optó por usar una de las bases de datos

proporcionadas por la plataforma IBM Bluemix. IBM Cloudant fue elegida por su

facilidad de uso además de que es una base de datos no relación algo que ha estado

de moda en los últimos años.

A diferencia de las bases de datos convencionales este tipo de base de datos resulta

extremadamente fácil de conectar a los sistemas ya que al pertenecer a la plataforma

IBM Bluemix solo es necesario agregar credenciales para que esta pueda ser usada.

La imagen 3.5 muestra cómo se realiza la conexión de la base de datos conocida como

IBM Cloudant.

Como se puede apreciar en la anterior imagen, la creación de la conexión a una base

de datos de IBM Cloudant se resume en 4 pequeñas líneas de código, en las cuales

solo son necesario un nombre de usuario y una contraseña, estos parámetros son

otorgados por la plataforma de IBM Bluemix.

A continuación, en la imagen 3.6 se muestra el uso en paralelo del servicio de tone

analyzer e IBM Cloudant.

Imagen 3.5: Conexión a base de datos

Page 14: Capítulo III - UPSIN

59

Como se puede apreciar en la imagen 3.6 lo primero que se hace dentro de este

apartado es obtener la información de una fuente, en este caso las redes sociales,

después esto se manda al servicio de tone analyzer el cual se encarga de analizar los

diferentes tonos contenidos en el post, una vez analizado el post, lo siguiente es la

inserción a la base de datos, en la cual se guarda tanto el tono como el score que se

obtuvo en el análisis.

Imagen 3.6: Uso de Tone Analyzer e IBM Cloudant

Page 15: Capítulo III - UPSIN

60

En conjunto con la base de datos se creó una pequeña función la cual se encargaba de

traer todos aquellos registros guardados en la base de datos, esto se muestra en la

imagen 3.7.

3.2.4 Codificación Nao Robot (Minerva)

Como se mencionó anteriormente en el capítulo 2, se hará uso de un robot humanoide

de la familia Nao llamada Minerva, la cual se encargará de fungir como un vigilante de

redes sociales, minerva estar conectada a IBM Watson y se encargará de dar reportes

de manera oral, en contraparte del sistema web antes descrito el cual solo se limitará a

reportes escritos.

Imagen 3.7: Buscar id en base de datos

Page 16: Capítulo III - UPSIN

61

A continuación, se muestra un pequeño fragmento de la codificación efectuada en

Minerva para hacer uso de los servicios de Watson, dicha codificación está escrita en

lenguaje Python ya que resulta el lenguaje nativo de los robots de la familia Nao.

La imagen 3.8 muestra como Minerva hace uso del servicio tone analyzer y de como

esta se comunica mediante peticiones (requests) con los servicios anteriormente

creados en la plataforma IBM Bluemix (tone analyzer, personality insight).

Para que Minerva pueda efectuar las acciones en el código anterior es necesario un

comando, dicho comando es efectuado por el usuario mediante comandos de voz, en la

imagen 3.9 se muestra cuál es ese comando.

Cada comando de voz contenido en Minerva hace uso de outputs los cuales se

accionan haciendo uso de su nombre y de un estado, en la imagen anterior el output

Imagen 3.8: Nao service

Imagen 3.9: Comando de voz Nao

Page 17: Capítulo III - UPSIN

62

seria $analizar y el estado seria 1. A continuación en la imagen 3.10 se muestra de

manera gráfica lo antes descrito.

3.2.5 Codificación sistema front-end Dentro de la codificación del sistema, fue necesaria la utilización de lenguajes de

programación como lo son NodeJs y Python, aunado a ellos se hiso uso de frameworks

para hacer más amena la funcionalidad del sistema, para ello se hiso la utilización de

frameworks como AngularJs y Bootstrap los cuales son frameworks de Java Script y

CSS respectivamente.

En la imagen 3.11 se muestra parte del código escrito en HTML usando los frameworks

antes descritos, dicho código pertenece a la vista de reportes.

Imagen 3.11: Código Reports

Imagen 3.10: Circuito Nao

Page 18: Capítulo III - UPSIN

63

En la imagen 3.12 se muestra la función abrirReporte la cual es utilizada en el ejemplo

de codigo anterior, esta función como su nombre lo indica se encarga de abrir un

reporte, para ello necesita poder conocer el id del reporte a abrir.

Como se mencionó al principio de esta sección se hizo uso de Bootstrap el cual es un framework de CSS, esto para facilitar un buen diseño dentro del sistema, pero no obstante también se hiso uso de CSS puro o CSS convencional, a continuación, en la imagen 3.13 se muestra parte del código utilizado.

Dentro de la codificación del front-end hubo muchos

módulos los cuales fueron utilizados, por cuestiones

de privacidad solo se optó por mostrar parte del

módulo de reportes.

3.2.6 Codificación sistema back-end

Resulta totalmente imposible el realizar un sistema sin codificación de un back-end, ya

que este se encarga de la conexión entre el front y la base de datos. En este proyecto

Imagen 3.12: Función Abrir Reporte

Imagen 3.13: CSS

Page 19: Capítulo III - UPSIN

64

el back-end fue un punto clave, ya que sin el el sistema no hubiera sido capaz de

mostrar la información de los reportes, el back-end en conjunto con la codificación de

web services (en este caso usadas como apis) y el uso de IBM Cloudant, fueron el pilar

principal en la implementación del sistema.

A continuación, en la imagen 3.14, se muestra parte del código implementado en el

back-end para hacer uso del web service programado (api).

En la imagen anterior se muestra el método con el cual se conecta el web service con el

back-end, mientras que en la imagen 3.15 se muestra como esta se implementa.

En esta imagen se muestra a la función getApiReportes la cual es fácil de describir ya

que su nombre lo dice todo, esta función se encarga de traer todos los reportes

contenidos en el web service (api), esto lo hace por medio de la variable llamada

apiUrlReportes, la cual apunta a la dirección del web service (api) contenido en la

plataforma de IBM Bluemix, aunado a esta funcionalidad, esta función se encarga de

mandar toda la informacion de los reportes al front-end para que este se encargue de

del despliegue de la información de una manera gráfica y amigable para que el usuario

pueda interpretarla de una manera rápida y precisa, en caso de Minerva (robot

humanoide de la familia nao) esta recibirá la información directamente del web

service(api) y se encargara de desplegarla mediante sonido, gracias a su capacidad de

transformar el texto a habla.

Imagen 3.14: Api de Reportes

Imagen 3.15: Obtención de Reportes

Page 20: Capítulo III - UPSIN

65

3.3 Pruebas del Proyecto

Durante el capítulo 2 se mencionó el uso de Postman, dicho programa fue usado

para realizar peticiones al web service (api), esto se hiso de esta manera para que

desde el momento de su creación este pudiera ser testeada sin la necesidad de tener

una interfaz de usuario, que en este caso sería el sistema en concreto.

3.3.1 Resultados arrojados por tone analyzer En la siguiente sección se muestran los resultados obtenidos por postman al momento

de probar el web service (api) de tone analyzer, dichos resultados fueron obtenidos con

información no verídica, ya que solo era necesaria probar la versatilidad con que esta

se manejaba y la veracidad de los resultados arrojados por el web service (api).

En la imagen 3.16, se muestra los resultados obtenidos durante la prueba de análisis de emociones, dichos resultados muestran la puntuación (score) o el grado de concordancia con la emoción, el id de la emoción y el nombre de dicha emoción, todo esto es desplegado en un formato json. La información obtenida en esta prueba es guardada en una base de datos de IBM Cloudant con la finalidad de poder ser procesada por IBM Watson y posteriormente ser mostrada en un reporte por parte del sistema.

Imagen 3.16: Resultados Tone Analyzer 1

Page 21: Capítulo III - UPSIN

66

En la imagen 3.17 se muestran los resultados obtenidos en otras de las pruebas realizadas en postman, pero esta vez los resultados son agrupados por sentencias por sentencias, esto quiere decir que ahora se muestra la puntuación (score) o concordancia con las emociones y además se muestra en que parte del post o de la información a analizar se hacen presente dichas emociones, todo lo antes descrito se puede apreciar en la imagen #

3.3.2 Resultados arrojados por personality insight

Al igual que con el servicio tone analyzer, dentro de las pruebas del servicio de

personality insight también se optó por el uso de postman como herramienta de testing

por los mismos motivos que se mencionaron en Los resultados arrojados por Tone

Analyzer. A continuación, se muestran los resultados arrojados por este servicio y se

muestran imágenes del código utilizado en este proyecto.

Imagen 3.17: Resultados Tone Analyzer 2

Page 22: Capítulo III - UPSIN

67

En la imagen 3.18 se muestran los resultados obtenidos por postman al momento del testing del servicio de personality insights, como se puede observar e la imagen, el servicio de personalaty insight hace un conteo de todas las palabras contenidas dentro de los post de un usuario en determinada red social, luego sobre esto empieza a generar un perfil psicológico de la persona, con la finalidad de saber cómo y porque actúa de la manera que lo hace, todos estos aspectos de la personalidad están dentro de categorías dadas en el servicio, esto se evalúa dentro de los percentiles y de un puntuación en concreto, cada que un comentario cae en una de las diferentes categorías la puntuación va aumentando, dándole más valores cada vez más grandes, esto se resume a una tendencia por cierto perfil psicológico. Al igual que con Tone Analyzer estas pruebas se hicieron utilizando un perfil falso en una red social esto con el fin de evaluar la versatilidad del servicio y la veracidad de los datos obtenidos, además de que con un perfil controlado el dato obtenido seria de la misma clase.

3.3.3 Resultados arrojados por IBM Cloudant

Dentro de las pruebas realizadas cabe mencionar las realizadas por parte de IBM

Cloudant que si no son muy vistosas den a entender aún mejor la información

proporcionada por los servicios de Tone analyzer y Personality insight, esto gracias a

Imagen 3.18: Resultados Personality Insights 1

Page 23: Capítulo III - UPSIN

68

que IBM Cloudant muestra dicha información aún más estructurada, IBM Cloudant al

ser una base de datos muestra toda su información en forma de tablas, aunado a ello

IBM Cloudant puede mostrar su información en diferentes formatos, como lo son tablas,

metadata, texto plano y archivos json, lo cual resulta de gran ayuda a la hora de mandar

la información al sistema.

A continuación de muestran algunas de las tablas obtenidas en las inserciones de la

información procesada por los servicios de Tone analyzer y Personality insights.

En las tablas 3.1 y 3.2 se muestra como es la visualizan la información dentro de la herramienta de IBM Cloudant, como se mencionó anteriormente, esta herramienta permite la visualización de la información de diferentes maneras, la información puede ser visualizada en tablas, haciendo uso de la medadata y por ultimo mostrada en un formato json, la información mostrada en las imágenes # y # corresponde a la inserción de datos de los servicios de Tone Analyzer y Personality Insights, respectivamente. 3.4 Resultados y Discusión En este apartado como su nombre lo indica, se darán a conocer los resultados de la investigación, así como también se llevará a cabo una discusión de dichos resultados, con el fin de servir como retroalimentación en futuras investigaciones de esta índole. El sistema como tal no fue terminado en su totalidad, ya que dentro del equipo de trabajo solo se contaban con 2 programadores, los cuales se encargaban de la codificación de los web services (apis), la conexión de la base de datos, la implementación de los servicios cognitivos de IBM Watson (Tone Analyzer y Personality Insights) y la codificación del robot humanoide de la familia nao llamada Minerva, todas estas actividades eran realizadas por solamente 2 personas, aunado a esas

Tabla 3.1: Tone Analyzer

Tabla 3.2: Personality Insights

Page 24: Capítulo III - UPSIN

69

actividades, hubo lapsos de tempo en la que dichos programadores se encontraban en capacitación para hacer uso de los diversos lenguajes de programación utilizados en el proyecto, además de una capacitación para hacer uso correcto de los servicios cognitivos de IBM Watson (Tone Analyzer y Personality Insights), todas estas capacitaciones tomaron alrededor del 33% del tiempo destinado al proyecto. La mayoría de los resultados obtenidos se mostraron en el apartado de Pruebas del Proyecto, en dicho apartado se mostraron los resultados arrojados por los servicios cognitivos de IBM Watson y las diferentes inserciones realizadas en las bases de datos utilizadas en el proyecto.

3.4.1 Resultados obtenidos por Tone Analyzer A continuación, se muestran algunas de las tablas obtenidas en las diferentes inserciones a las bases de datos de IBM Cloudant, dichas inserciones corresponden al servicio de Tone Analyzer, al igual que en el apartado Pruebas del Proyecto, para estas inserciones se usaron post de redes sociales y perfiles de usuarios totalmente falsos, esto con la finalidad de no causar controversia en la investigación. En la tabla 3.3 se muestra la inserción de la información del servicio de Tone Analyzer, como se puede notar en la tabla, se cuenta con un _id el cual sirve como un indicador del elemento o en este caso el archivo, este campo se pude utilizar para realizar actualizaciones de la información, el siguiente campo es sentences_tone, este campo es un arreglo json el cual contiene la información del post, en dicho arreglo se encuentra el post en cuestión asi como también los scores o resultados obtenidos en el análisis de la información, como se mencionó en capítulos pasados el servicio de Tone Analyzer lleva a cabo un análisis de los tonos o emociones contenidas en un escrito, dichas emociones están en el rango de : ira, alegría, tristeza, analítica y miedo. En este caso en concreto se realizaron un total de 8 llamadas al servicio lo cual resulto en 8 inserciones a la base de datos de IBM Cloudant. A continuación, se muestra la tabla con todas las inserciones realizadas en estas primeras pruebas del servicio de Tone Analyzer e IBM Cloudant.

Tabla 3.3: Inserción Tone Analyzer

Page 25: Capítulo III - UPSIN

70

3.4.2 Resultados obtenidos por Personality Insights

A continuación, se muestran algunas de las tablas obtenidas en las diferentes inserciones a las bases de datos de IBM Cloudant, dichas inserciones corresponden al servicio de Personality Insights, al igual que en el apartado Pruebas del Proyecto, para estas inserciones se usaron post de redes sociales y perfiles de usuarios totalmente falsos, esto con la finalidad de no causar controversia en la investigación.

En la tabla 3.5 se muestra la inserción de la información del servicio de Personality Insights, como se puede notar en la tabla, se cuenta con un _id el cual sirve como un indicador del elemento o en este caso el archivo, este campo se pude utilizar para realizar actualizaciones de la información, el siguiente campo es behavior, este campo al igual que los otros contenidos en la tabla son arreglos json, en especial este campo contiene la información obtenida del análisis del comportamiento de la persona, luego tenemos el campo de consumption_preferences, en este campo se almacenan como su nombre lo indica, las preferencias de consumo, el servicio de Personality Insights realiza un análisis basado en tu ferfil de usuario por lo cual analiza las preferencias de consumo en base a tus gustos en redes sociales, después viene el campo needs en el cual se almacenan nuevamente como su nombre lo indica, las necesidades del usuario, al igual que en el campo anterior esto se consigue con el análisis de las preferencias del usuario en las redes sociales, por ultimo teneos el campo de personality, la cual resulta la de mayor importancia en esta investigación ya que es la columna principal en

Tabla 3.5: Inserción Personality Insights

Tabla 3.4: Inserción completa Tone Analyzer

Page 26: Capítulo III - UPSIN

71

este servicio, y la columna principal en el sistema, en este campo se guardan todos aquellos aspectos de la personalidad obtenidos en el análisis de la preferencias del perfil de usuario de la red social. Al igual que en el apartado anterior se realizaron un par de pruebas para comprobar la eficacia y efectividad del servicio, en total se realizaron 5 llamadas al servicio lo cual resulto en 5 inserciones a la base de datos de IBM Cloudant. A continuación, se muestra la tabla con todas las inserciones realizadas en estas primeras pruebas del servicio de Personality Insights e IBM Cloudant.

Tabla 3.6: Inserción completa Personality Insights