• No se han encontrado resultados

Análisis del uso del procesamiento del lenguaje natural y su aplicación en sistemas conversacionales

N/A
N/A
Protected

Academic year: 2020

Share "Análisis del uso del procesamiento del lenguaje natural y su aplicación en sistemas conversacionales"

Copied!
114
0
0

Texto completo

(1)

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMATICAS Y FISICAS

CARRERA DE INGENIERIA EN NETWORKING Y TELECOMUNICACIONES

ANÁLISIS DEL USO DEL PROCESAMIENTO DEL LENGUAJE NATURAL Y

SU APLICACIÓN EN SISTEMAS CONVERSACIONALES

PROYECTO DE TITULACIÓN

Previa a la obtención del Título de:

INGENIERO EN NETWORKING Y TELECOMUNICACIONES

AUTOR:

Escobar Macías Ariana Dennise

TUTOR:

Ing. Jorge Chicala Arroyave, M.Sc.

(2)

I

Guayaquil FACULTAD: Ciencias Matemáticas y Físicas

CARRERA: Ingeniería en Networking y Telecomunicaciones

FECHA DE PUBLICACIÓN: N° DE PÁGS.: 114

ÁREA TEMÁTICA: Inteligencia Artificial

PALABRAS CLAVES:

Inteligencia artificial, chatbot, sistema conversacional, procesamiento de lenguaje natural, algoritmos, frameworks.

RESUMEN: El objetivo principal de la presente investigación se centra en el desarrollo y evolución del procesamiento del lenguaje natural, su modelo de funcionamiento y sus características, además de su aplicación en sistemas conversacionales, los algoritmos que utilizan para resolver consultas y las plataformas que se pueden emplear para su desarrollo. Mediante el estudio realizado se planteó una prueba de concepto utilizando una plataforma basada en inteligencia artificial a través del algoritmo de árboles de decisión, con el fin de evaluar su comportamiento y viabilidad de uso.

(3)

II

CARTA DE APROBACION DEL TUTOR

En mi calidad de Tutor del trabajo de investigación, “Análisis del uso del procesamiento del lenguaje natural y su aplicación en sistemas conversacionales” elaborado por la Srta. Ariana Dennise Escobar Macías, Alumno no titulado de la Carrera de Ingeniería en Networking y Telecomunicaciones, Facultad de Ciencias Matemáticas y Físicas de la Universidad de Guayaquil, previo a la obtención del Título de Ingeniero en Networking y Telecomunicaciones, me permito declarar que luego de haber orientado, estudiado y revisado, la apruebo en todas sus partes.

Atentamente,

Ing. Jorge Chicala Arroyave, M.Sc

(4)

III

DEDICATORIA

A mis padres Xavier Escobar y Jazmín Macías, mi más grande apoyo y mi constante motivación en toda etapa de mi vida. A ustedes les debo todo lo que soy.

(5)

IV Agradezco a mi familia por su apoyo incondicional durante mi formación universitaria.

A David, gracias por siempre creer en mí. A mi tutor de tesis Ing. Jorge Chicala, por su valiosa guía durante el desarrollo del presente trabajo.

Y finalmente, a todos los docentes por los conocimientos impartidos a lo largo de la carrera.

(6)

V

TRIBUNAL PROYECTO DE TITULACIÓN

Ing. Fausto Cabrera Montes, M.Sc Ing. Abel Alarcón Salvatierra, Mgs. DECANO DE LA FACULTAD DIRECTOR DE LA CARRERA DE CIENCIAS MATEMÁTICAS Y INGENIERÍA EN NETWORKING Y

FÍSICAS TELECOMUNICACIONES

Ing. Eduardo Alvarado Unamuno Ing. María Fernanda Molina PROFESOR REVISOR DEL ÁREA PROFESOR REVISOR DEL ÁREA

TRIBUNAL TRIBUNAL

Ing. Jorge Chicala Arroyave, M.Sc PROFESOR TUTOR DEL PROYECTO

DE TITULACIÓN

(7)

VI

DECLARACIÓN EXPRESA

“La responsabilidad del contenido de este Proyecto de Titulación, me corresponden exclusivamente; y el patrimonio intelectual de la misma a la UNIVERSIDAD DE GUAYAQUIL”

(8)

VII

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS

CARRERA DE INGENIERÍA EN NETWORKING Y

TELECOMUNICACIONES

ANÁLISIS DEL USO DEL PROCESAMIENTO DEL LENGUAJE NATURAL Y

SU APLICACIÓN EN SISTEMAS CONVERSACIONALES

Proyecto de titulación que se presenta como requisito para optar por el título de

INGENIERO EN NETWORKING Y TELECOMUNICACIONES

Autor:

Escobar Macías Ariana Dennise

C.I.:

0921672960

Tutor:

Ing. Jorge Chicala Arroyave, M.Sc

(9)

VIII

CERTIFICADO DE ACEPTACIÓN DEL TUTOR

En mi calidad de Tutor del proyecto de titulación, nombrado por el Consejo Directivo de la Facultad de Ciencias Matemáticas y Físicas de la Universidad de Guayaquil. CERTIFICO:

Que he analizado el Proyecto de Titulación presentado por la estudiante Escobar Macías Ariana Dennise, como requisito previo para optar por el título de Ingeniero en Networking y Telecomunicaciones cuyo título es:

“ANÁLISIS DEL USO DEL PROCESAMIENTO DEL LENGUAJE NATURAL Y SU APLICACIÓN EN SISTEMAS CONVERSACIONALES”

Considero aprobado el trabajo en su totalidad. Presentado por:

Escobar Macías Ariana Dennise C.I. 0921672960

Tutor: Ing. Jorge Chicala Arroyave, M.Sc

(10)

IX

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS

CARRERA DE INGENIERÍA EN NETWORKING Y TELECOMUNICACIONES

Autorización para Publicación de Proyecto de Titulación en Formato Digital

1. Identificación del Proyecto de Titulación

Nombre de la alumna: Escobar Macías Ariana Dennise Dirección: Cdla. Los Esteros mz 16 A2 villa 8

Teléfono: 0960627808 E-mail: ariana.escobarm@ug.edu.ec

Facultad: Ciencias Matemáticas y Físicas

Carrera: Ingeniería en Networking y Telecomunicaciones Proyecto de titulación al que opta: Investigación Profesor guía: Ing. Jorge Chicala Arroyave M.Sc

Título del Proyecto de Titulación: ANÁLISIS DEL USO DEL PROCESAMIENTO DEL LENGUAJE NATURAL Y SU APLICACIÓN EN SISTEMAS

CONVERSACIONALES

Tema del Proyecto de Titulación: Inteligencia artificial, procesamiento del lenguaje natural, chatbot

(11)

X A través de este medio autorizo a la Biblioteca de la Universidad de Guayaquil y a la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica de este Proyecto de titulación.

Publicación electrónica:

Inmediata X Después de un año

Firma alumno: Escobar Macías Ariana Dennise

3. Forma de envío:

El texto del proyecto de titulación debe ser enviado en formato Word, como archivo .Doc. O .RTF y Puf para PC. Las imágenes que la acompañen pueden ser: .gif, jpg o .TIFF.

(12)

XI

INDICE GENERAL

CARTA DE APROBACION DEL TUTOR ... II DEDICATORIA ... III

UBICACIÓN DEL PROBLEMA EN UN CONTEXTO ... 3

SITUACIÓN CONFLICTO NUDOS CRITICOS ... 4

CAUSAS Y CONSECUENCIAS DEL PROBLEMA ... 5

DELIMITACIÓN DEL PROBLEMA ... 6

JUSTIFICACIÓN E IMPORTANCIA DE LA INVESTIGACIÓN ... 9

UTILIDAD PRÁCTICA DE LA INVESTIGACIÓN ... 10

BENEFICIOS DE LA INVESTIGACIÓN ... 10

METODOLOGIA DEL PROYECTO ... 11

(13)

XII

VARIABLES DE LA INVESTIGACION ... 52

DEFINICIONES CONCEPTUALES ... 53

CAPITULO III ... 54

METODOLOGIA DE LA INVESTIGACION ... 54

DISEÑO DE LA INVESTIGACIÓN ... 54

POBLACION Y MUESTRA ... 55

OPERACIONALIZACIÓN DE LAS VARIABLES ... 57

INSTRUMENTOS DE RECOLECCIÓN DE DATOS ... 58

TÉCNICA DE LA INVESTIGACIÓN ... 58

INSTRUMENTO DE INVESTIGACIÓN ... 58

PROCEDIMIENTO DE LA INVESTIGACIÓN ... 59

RECOLECCIÓN DE INFORMACIÓN ... 60

PROCESAMIENTO Y ANÁLISIS ... 60

CAPITULO IV ... 72

RESULTADOS, CONCLUSIONES Y RECOMENDACIONES ... 72

RESULTADOS ... 72

CONCLUSIONES ... 77

RECOMENDACIONES ... 78

BIBLIOGRAFÍA ... 79

ANEXOS ... 87

ANEXO 1: MODELO DE ENCUESTAS PARA ESTUDIANTES ... 87

ANEXO 2: MODELO DE ENTREVISTA A EXPERTOS ... 89

(14)

XIII

ABREVIATURAS

PLN Procesamiento del Lenguaje Natural LN Lenguaje Natural

IA Inteligencia Artificial

SDK Kit de Desarrollo de Software

API Interfaz de Programación de Aplicaciones ANN Redes Neuronales Artificiales

(15)

XIV

INDICE DE CUADROS

Cuadro 1 Causas y Consecuencias del Problema ... 5

Cuadro 2 Delimitación del Problema ... 6

Cuadro 3 Niveles del Lenguaje Natural ... 18

Cuadro 4 Aspectos a evaluar ... 43

Cuadro 5 Idiomas soportados ... 43

Cuadro 6 Integración con plataformas de mensajería ... 44

Cuadro 7 Soporte con SDK’s ... 44

Cuadro 8 Algoritmo utilizado ... 45

Cuadro 9 Sumatoria de totales de aspectos evaluados ... 46

Cuadro 10 Variables de la Investigación ... 52

Cuadro 11 Población ... 56

Cuadro 12 Matriz de Operacionalización de las Variables ... 57

Cuadro 13 Análisis de resultados de la pregunta N° 1 ... 61

Cuadro 14 Análisis de resultados de la pregunta N° 2 ... 62

Cuadro 15 Análisis de resultados de la pregunta N° 3 ... 63

Cuadro 16 Análisis de resultados de la pregunta N° 4 ... 64

Cuadro 17 Análisis de resultados de la pregunta N° 5 ... 65

Cuadro 18 Análisis de resultados de la pregunta N° 6 ... 66

Cuadro 19 Análisis de resultados de la pregunta N° 7 ... 67

(16)

XV

INDICE DE GRÁFICOS

Gráfico 1 Distinción entre IA como ciencia e IA como ingeniería ... 14

Gráfico 2 Arquitectura de un sistema PLN ... 19

Gráfico 3 Ejemplo de red semántica ... 21

Gráfico 4 Modelo de Regresión Lineal ... 25

Gráfico 5 Agrupamiento K-means... 27

Gráfico 6 Redes Neuronales Artificiales ... 28

Gráfico 7 Funcionamiento de un chatbot ... 30

Gráfico 8 Proceso de Creación de un chatbot ... 31

Gráfico 9 Funcionamiento de IBM Watson ... 34

Gráfico 10 Funcionamiento de DialogFlow ... 35

Gráfico 11 Funcionamiento de Microsoft Azure Bot ... 36

Gráfico 12 Funcionamiento Amazon Lex ... 38

Gráfico 13 Características de LUIS ... 39

Gráfico 14 Funcionamiento de RASA NLU ... 40

Gráfico 15 Funcionamiento de Recast.AI ... 41

Gráfico 16 Porcentajes de la pregunta N° 1 ... 61

Gráfico 17 Porcentajes de la pregunta N° 2 ... 62

Gráfico 18 Porcentajes de la pregunta N° 3 ... 63

Gráfico 19 Porcentajes de la pregunta N° 4 ... 64

Gráfico 20 Porcentajes de la pregunta N° 5 ... 65

Gráfico 21 Porcentajes de la pregunta N° 6 ... 66

Gráfico 22 Porcentajes de la pregunta N° 7 ... 67

Gráfico 23 Porcentajes de la pregunta N° 8 ... 68

Gráfico 24 Funcionamiento del modelo de prueba de concepto ... 74

Gráfico 25 Palabras claves del escenario Saludos ... 75

Gráfico 26 Prueba del Chatbot ... 76

Gráfico 27 Resultado del JSON de configuración inicial del bot ... 90

Gráfico 28 Resultado del JSON del escenario Saludos ... 90

Gráfico 29 Corpus de frases del escenario Saludo... 91

Gráfico 30 Respuestas del escenario Saludos ... 91

(17)

XVI

Gráfico 32 Corpus de frases del escenario Matrículas... 92

Gráfico 33 Respuestas del escenario Matrículas ... 93

Gráfico 34 Prueba de respuestas a consulta de Matrículas ... 93

Gráfico 35 Corpus de frases del escenario Horarios ... 94

Gráfico 36 Respuestas del escenario Horarios ... 95

(18)

XVII

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS

CARRERA DE INGENIERÍA EN NETWORKING Y TELECOMUNICACIONES

ANÁLISIS DEL USO DEL PROCESAMIENTO DEL LENGUAJE NATURAL Y

SU APLICACIÓN EN SISTEMAS CONVERSACIONALES

Autor:

Escobar Macías Ariana Dennise

Tutor:

Ing. Jorge Chicala Arroyave M.Sc

RESUMEN

El objetivo principal de la presente investigación se centra en el desarrollo y evolución del procesamiento del lenguaje natural, su modelo de funcionamiento y sus características, además de su aplicación en sistemas conversacionales, los algoritmos que utilizan para resolver consultas y las plataformas que se pueden emplear para su desarrollo. Mediante el estudio realizado se planteó una prueba de concepto utilizando una plataforma basada en inteligencia artificial a través del algoritmo de árboles de decisión, con el fin de evaluar su comportamiento y viabilidad de uso.

(19)

XVIII

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS

CARRERA DE INGENIERÍA EN NETWORKING Y TELECOMUNICACIONES

ANALYSIS OF THE NATURAL LANGUAGE PROCESSING USE AND ITS

APPLICATION IN CONVERSATIONAL SYSTEMS

Autor:

Escobar Macías Ariana Dennise

Tutor:

Ing. Jorge Chicala Arroyave M.Sc

ABSTRACT

(20)

1

INTRODUCCION

Dentro de las ciencias de la computación, la Inteligencia artificial es un campo que está revolucionando nuestra forma de interactuar con el mundo, esta tecnología se encuentra en métodos informáticos como el Machine Learning, en la interconexión de dispositivos conocido como Internet of Things y también en el procesamiento del lenguaje natural, el cual tiene su origen en los años 1950 cuando el matemático Alan Turing propone lo que ahora conocemos como el Test de Turing, planteándose el siguiente cuestionamiento “¿Pueden las máquinas pensar?”, el cual tiene como objetivo determinar si una computadora posee la capacidad de simular una inteligencia igual a la de un ser humano.

Desde entonces se han desarrollado diversos mecanismos y algoritmos de aprendizaje automático del lenguaje natural cada vez más precisos y avanzados. Hoy en día, la inteligencia artificial está siendo considerablemente utilizada en áreas como la medicina, ingeniería, economía, viajes, deportes, entretenimiento, comercio electrónico, entre otras, e incluso en nuestro diario vivir desde juegos y aplicaciones hasta software sofisticados.

De hecho, un estudio realizado por (Gartner, 2011) proyecta que “para el 2020 más de 85% de las interacciones con los clientes se gestionarán sin un ser humano.” Es entonces donde aparece una de las aplicaciones más relevantes de la inteligencia artificial: los chatbots o sistemas conversacionales.

Estos programas informáticos han sido desarrollados con el fin de establecer una interacción entre el humano y la computadora. Dichos sistemas basan su funcionamiento en técnicas de procesamiento de lenguaje natural, es decir, su entrada será un texto en lenguaje natural (LN), el cual será analizado a nivel morfológico, sintáctico, semántico y pragmático para obtener una orden que la computadora sea capaz de entender y ejecutar.

(21)

2 En el presente proyecto de titulación se expondrán conceptos claves referentes a estas nuevas tecnologías, su modo de funcionamiento, las técnicas de procesamiento que emplea, así como también las ventajas que supone la implementación de chatbots en organizaciones o instituciones que brinden atención al cliente. Desde un punto de vista más técnico, se expondrán diversas plataformas que sirven de apoyo en el proceso de creación e implementación de un chatbot y también los lenguajes de programación que se utilizan para su codificación.

En el Capítulo I se situará el problema dentro de un contexto investigativo, se establecerá la situación conflicto, así como también las causas y consecuencias, además se expondrán los objetivos generales y específicos de la investigación, su importancia, alcance y los beneficios que se obtendrán con su realización.

El Capítulo II se centrará en establecer la fundamentación teórica de la investigación, basada en fuentes científicas y por medio del uso de buscadores totalmente académicos, además se expondrá la fundamentación legal sustentada en artículos de la Constitución de la República del Ecuador y demás códigos y leyes vigentes.

(22)

3

CAPITULO I

EL PROBLEMA

UBICACIÓN DEL PROBLEMA EN UN CONTEXTO

Una de las ambiciones más grandes en el campo de la informática es proporcionar a las máquinas la naturaleza de la inteligencia humana (Scarcello, 2018) a partir de esta premisa, los estudios en el campo de inteligencia artificial (IA) se han enfocado en desarrollar el potencial para transformar aspectos de la vida humana, desde el reconocimiento facial hasta software capaces de jugar campeonatos de ajedrez. (Starikov, Al’Aref, Singh, & Min, 2018).

El Procesamiento del Lenguaje Natural (PLN) es una rama de la inteligencia artificial que ha ganado protagonismo en un mundo cada vez más digital, es gracias a las técnicas de PLN que actualmente se pueden realizar traducciones automáticas de textos, revisión de ortografía o conteo de palabras. Según (Zeroual & Lakhouaja, 2018) esta disciplina tiene como objetivo “aprender, comprender, reconocer y producir contenido de lenguaje humano”. Es decir, trata de lograr una comunicación eficiente entre el humano y la máquina mediante el uso de lenguas naturales como español, inglés, francés, etc.

(23)

4 Hoy en día los sistemas conversacionales son de gran utilidad en diversas áreas medicina, educación, comercio, industria, entre otras. Específicamente en el área comercial, según (Rojas, 2001) es en 1989 cuando se empieza a desarrollar en Estados Unidos, el primer sistema de “servicios de pago alternos automáticos” por parte de la empresa Bell Northern Research, este sistema se llamó “Ameritech” cuyo funcionamiento se basaba en llamar a los clientes, informarles que tenían una llamada por cobrar y preguntar si la aceptaban o la rechazaban, automatizando así el proceso de cobro por parte de las empresas de servicios telefónico. Desde entonces se buscó aprovechar el potencial que ofrecía esta tecnología como medio de soporte y automatización, así, actualmente podemos encontrar chatbots que realizan tareas de búsqueda de información, consultas a bases de datos, reservas de viajes, obtención de información meteorológica, localización de números de teléfono en directorios, localización de información en Internet, entre otras. (R. López-Cózar; A. J. Rubio; J. E. Díaz-Verdejo; J. M. López-Soler, 2002)

Dentro de este contexto, se puede evidenciar que, sin duda, estos sistemas representan un avance tecnológico en cuanto a automatización de servicios. En la actualidad, la gran mayoría de instituciones o empresas poseen una página oficial de información, pero muchas veces esta no es completa y no brindan una respuesta específica a los requerimientos del usuario. Es por esto, que se considera importante evaluar mediante un estudio detallado las características y beneficios de estos sistemas, así como también el impacto que supondría la implementación de un chatbot en una organización con el fin de mejorar la atención e interacción con el usuario.

SITUACIÓN CONFLICTO NUDOS CRITICOS

(24)

5 las oficinas de atención al cliente para acceder a información, lo cual supone una barrera de distancia y además un gasto tanto en tiempo como en dinero.

El uso de un sistema conversacional solucionaría esta problemática puesto que brindaría acceso a información de forma ágil y rápida desde cualquier lugar y en cualquier horario, desde un smartphone o un computador con acceso a internet. En la ciudad de Guayaquil, existen empresas que ya manejan este tipo de sistemas tales como instituciones bancarias, sin embargo, no han sido implementadas en instituciones educativas con el fin de brindar un nuevo canal de información al estudiante. Por estos motivos, es útil documentar las características y funcionamiento de un sistema conversacional basado en procesamiento del lenguaje natural, para que se evalúe la posibilidad de implementarlo en nuestra institución educativa.

CAUSAS Y CONSECUENCIAS DEL PROBLEMA

Cuadro 1 Causas y Consecuencias del Problema

CAUSAS CONSECUENCIAS

Falta de canales de información No existe disponibilidad de información

Gran número de usuarios y poco personal administrativo

Saturación de procesos administrativos

Desconocimiento acerca de nuevas tecnologías para brindar información

Los procesos se manejan de forma tradicional y no eficiente

Obtención de información sólo en horarios preestablecidos

Los usuarios no tienen acceso a la información en cualquier horario Los usuarios no son atendidos de manera

instantánea

Retraso en los procesos administrativos

(25)

6

DELIMITACIÓN DEL PROBLEMA

Cuadro 2 Delimitación del Problema CAMPO: Informática

ÁREA: Inteligencia Artificial

ASPECTOS: Procesamiento del Lenguaje Natural

TEMA: ANÁLISIS DEL USO DEL PROCESAMIENTO DEL LENGUAJE NATURAL EN SISTEMAS CONVERSACIONALES

Fuente: Datos de la investigación Autor: Ariana Escobar Macías

FORMULACIÓN DEL PROBLEMA

¿Cuál sería el beneficio que supondría el desarrollo de un sistema conversacional, o chatbot basado en procesamiento de lenguaje natural, para los estudiantes de la Carrera de Ingeniería en Networking y Telecomunicaciones de la Universidad de Guayaquil como un canal adicional de información?

EVALUACIÓN DEL PROBLEMA

Para la evaluación del problema se señalan diez aspectos tales como: Delimitado, Claro, Evidente, Concreto, Relevante, Original, Contextual, Factible, Identifica los productos esperados y Variables. Para el presente estudio, se han seleccionado seis, los cuales se detallan a continuación:

(26)

7 Evidente: Es notable la necesidad de un canal virtual de información para atención al cliente, tanto en áreas comerciales, como educación, o medicina, su uso brindaría una mejor experiencia al usuario, además de ahorro de tiempo y acceso a la información a cualquier hora del día y sin limitaciones geográficas. La realización del estudio permitirá conocer las características de estos sistemas y evaluar su implementación.

Concreto: El uso de sistemas conversacionales para brindar información acerca de las funciones administrativas surge como una ayuda tanto para el personal que brinda servicio al cliente como para los usuarios que se harán uso de los chatbots, ya que contribuirá a la agilización de procesos varios dentro de instituciones de distinta índole, ya sean bancarias, educativas, entre otras, aprovechando así la aparición de nuevas tecnologías, y satisfaciendo las necesidades de ambas partes.

Relevante: El presente análisis tiene una gran relevancia en el área de inteligencia artificial puesto que contempla una solución tecnológica en un campo nuevo y en constante evolución, que beneficiará a los usuarios que necesiten acceder a información de manera rápida, y a su vez se evaluará la posibilidad de implementación en la Universidad de Guayaquil permitiendo así estar a la vanguardia de nuevas tecnologías.

Contextual: El problema se basa en las herramientas que se posee actualmente en cuanto a implementación de sistemas conversacionales, dichos sistemas ya han sido implementados en áreas como marketing, servicio al cliente, entre otros, reflejando una clara evidencia de la utilidad que brindan en cuanto a automatización de procesos y ahorro de tiempo. En diversas empresas o instituciones, los procesos se realizan de forma tradicional, es decir, los usuarios deben acercarse a las oficinas de atención al cliente para obtener la información que necesitan, esto representa una barrera tanto geográfica como de tiempo y es un problema que se puede resolver de forma fácil mediante el uso de nuevas tecnologías tales como los chatbots.

(27)

8 estas evidencias, se considera que implementación de esta solución es viable tecnológicamente.

Original: Dentro del ámbito educativo, en la ciudad de Guayaquil, no existen institutos de educación superior que cuenten con un sistema conversacional capaz de resolver dudas y brindar información de forma automática e inmediata, por lo cual esta propuesta resulta útil y de gran impacto en cuanto a la investigación y aplicación de las nuevas tecnologías que aquí se presentan.

OBJETIVOS

OBJETIVO GENERAL

Realizar un análisis y evaluación del procesamiento del lenguaje natural y su aplicación en sistemas conversacionales o chatbots automatizados.

OBJETIVOS ESPECÍFICOS

• Analizar datos históricos y acontecimientos que dan origen al desarrollo del procesamiento del lenguaje natural.

• Identificar el principio de funcionamiento del procesamiento del lenguaje natural y su aplicación en sistemas conversacionales.

• Analizar las características y modo de funcionamiento de los sistemas conversacionales.

• Analizar los niveles fonológico, morfológico, léxico, sintáctico, semántico y pragmático del lenguaje natural aplicados a sistemas conversacionales.

• Analizar los principales algoritmos que utilizan los sistemas conversacionales.

• Analizar las plataformas y lenguajes de programación utilizados en la creación de sistemas conversacionales basados en procesamiento del lenguaje natural.

• Elaborar un cuadro comparativo de las plataformas y algoritmos utilizados para diseñar sistemas conversacionales basados en procesamiento de lenguaje natural.

(28)

9

ALCANCES DEL PROBLEMA

Continuando con los alcances de la presente investigación, se definen los siguientes contenidos:

• Analizar información contenida en fuentes científicas publicadas desde 2003 hasta el 2019 acerca del procesamiento del lenguaje natural, sus características y aplicaciones.

• Recopilar información acerca de los sistemas conversacionales, plataformas utilizadas para su desarrollo y los algoritmos que utilizan, para posteriormente elaborar una matriz de comparación.

• Realizar una prueba de concepto de un chatbot para que brinde información básica a los estudiantes de la Carrera de Networking y Telecomunicaciones matriculados en el período académico 2018-2019 Ciclo II, en: horarios y fechas de matriculación, mediante el uso de una plataforma gratuita y un host alojado en la nube que permita el acceso al chatbot.

JUSTIFICACIÓN E IMPORTANCIA DE LA INVESTIGACIÓN

Los sistemas conversacionales han sido creados con el fin de lograr una comunicación directa, precisa e interactiva con los seres humanos, ya sea a través de voz o texto, utilizando inteligencia artificial y técnicas de procesamiento de lenguaje natural. Su desarrollo supone grandes ventajas en diversos ámbitos, incluyendo el campo educativo universitario ya que nos permitirán acceder a un canal de información mucho más rápido y ágil, acortando barreras de distancia y tiempo.

La información que se puede recopilar acerca de los sistemas conversacionales permitirá conocer nuevas metodologías para actualizar procesos que se realizan de manera tradicional, enfocándolos al sector de desarrollo tecnológico junto con la implementación de técnicas de procesamiento de lenguaje natural, logrando así estar a la vanguardia de estas nuevas tecnologías.

(29)

10

UTILIDAD PRÁCTICA DE LA INVESTIGACIÓN

Por medio de la presente investigación podremos obtener información clara y precisa sobre las distintas técnicas de procesamiento de lenguaje natural aplicadas en sistemas conversacionales que se han implementado en otros países, además de investigar las tendencias actuales de dichos sistemas, se determinaran conclusiones acerca de los beneficios que ofrece la implementación de un sistema conversacional para soporte de información y automatización de procesos. El estudio se centrará en determinar los conceptos claves de esta tecnología y la elaboración de un cuadro comparativo de distintas plataformas para el desarrollo de sistemas conversacionales que se han desarrollado y que han contribuido al crecimiento de la investigación de este campo. Además, se pretende realizar una prueba de concepto de un sistema conversacional para validar su funcionamiento y evaluar las ventajas que tendría su implementación en la Carrera de Ingeniería en Networking y Telecomunicaciones de la Universidad de Guayaquil.

BENEFICIOS DE LA INVESTIGACIÓN

(30)

11

METODOLOGIA DEL PROYECTO

En base al formato del proyecto que se quiere realizar y con el fin de lograr la consecución de los objetivos planteados, los tipos de investigación más acertados para su desarrollo son los siguientes:

Investigación Bibliográfica o Documental

Por medio de este tipo de investigación se podrá revisar información sobre el tema planteado y a su vez realizar un análisis profundo en base a artículos científicos de mayor trascendencia en el área de estudio, mediante el uso de motores de búsqueda netamente académicos.

Investigación de campo

Este tipo de investigación es la más idónea cuando se desea implementar una nueva solución tecnológica puesto que mediante técnicas de recolección de datos previamente definidos se podrá obtener datos que permitan dar respuesta al problema planteado.

(31)

12

CAPITULO II

MARCO TEÓRICO

ANTECEDENTES DEL ESTUDIO

El estudio científico de lenguaje desde una perspectiva computacional tiene su origen en la década de 1950, cuando el matemático Alan Turing propone una prueba empírica para medir la inteligencia de una computadora, esta prueba, conocida como el Test de Turing fue la base para las investigaciones en esta disciplina. A partir de entonces, se combinaron dos paradigmas, la automatización y el uso de modelos probabilísticos, como procesos de Markov, para desarrollar computadoras capaces de pensar. Posteriormente, Chomsky considera un modelo para caracterizar la gramática de los lenguajes naturales usando álgebra y teoría de conjuntos, gracias a esto, en los años 1960 ya aparecen los primeros algoritmos para realizar análisis sintácticos. Luego se desarrollaron modelos para el análisis semántico y a nivel de discurso y todo esto se unificó en sistemas que utilizaban lógica predicada como representaciones semánticas, un ejemplo de estos sistemas es LUNAR, el cual se diseñó para responder preguntas acerca de las rocas y tierra recolectadas en la luna por la misión Apollo 11. (Cardie, 2006)

(32)

13

FUNDAMENTACIÓN TEÓRICA

INTELIGENCIA ARTIFICIAL

DEFINICIÓN

El término inteligencia Artificial (IA) nace en 1956 por John McCarthy, reconocido científico informático y cognitivo, quien describe a la AI como “la ciencia e ingeniería de hacer máquinas inteligentes, especialmente programas informáticos inteligentes. Está relacionado con la tarea similar de usar computadoras para comprender la inteligencia humana.” (McCarthy, 2007)

Según (McCarthy J., Minsky M., Rochester N., 1955) la IA se basa en “cómo hacer que las máquinas utilicen el lenguaje, formen abstracciones y conceptos, resuelvan tipos de problemas que ahora están reservados para los humanos y se mejoren a sí mismos.” Uno de los aportes más significativos en el campo de IA es el desarrollo de sistemas cuyo objetivo es tratar de emular electrónicamente el funcionamiento del cerebro. Con esta definición concuerda (Gómez Herrera, 2013) ya que la IA puede definirse como un medio que permite que las computadoras realicen actividades simulando la inteligencia humana. Estas tareas pueden ser: dar respuesta a órdenes verbales, resolver problemas, entre otras.

El desarrollo de sistemas inteligentes, según explica (Ochoa Hernández, 2012) incluye la integración de otras ciencias y áreas de estudio, entre ellas la robótica, la comprensión y traducción de lenguajes, el aprendizaje automático y el reconocimiento automático de palabras para lograr reproducir el comportamiento humano y aplicarlo en la realización de diversas actividades, esto conlleva múltiples beneficios como reducción de costos en personal, mejoras en el control de calidad y si son aplicados en sectores industriales se reducen riesgos en la manipulación humana en áreas peligrosas.

Dentro de la IA podemos distinguir dos campos básicos de aplicación y desarrollo: la IA como ciencia y la IA como ingeniería.

La IA como ciencia es para (Palma & Marín, 2008) una tarea de análisis. engloba el conjunto de hechos asociados a la neurología y la cognición, de las que emergen las funciones globales de percepción, memoria, lenguaje, decisión, emoción y acción que han dado lugar a lo que llamamos “comportamiento inteligente en humanos.”

(33)

14 formalización y transformación por procesos de su mismo nivel o de metaniveles superiores (aprendizaje). (Palma & Marín, 2008).

En el siguiente gráfico se explica la diferencia entre los conceptos previamente mencionados.

Gráfico 1 Distinción entre IA como ciencia e IA como ingeniería

Fuente: (Palma & Marín, 2008) Autor: Ariana Escobar Macías

LENGUAJE NATURAL

DEFINICIÓN

Se conoce como lenguaje natural al medio que utilizamos los seres humanos para comunicarnos y expresarnos. Es aquel que ha ido evolucionando a través del tiempo como puede ser el español, inglés, alemán o cualquier otro idioma o dialecto. (José & Kohan, 2006)

Los lenguajes naturales se definen a partir de la gramática, la cual va evolucionando y enriqueciéndose progresivamente, y la semántica, la cual aporta un gran poder expresivo a la comunicación.

Inteligencia Artificial

Ingeniería

Tareas y métodos de

solución

Ciencia

(34)

15 El lenguaje natural continúa evolucionando sin considerar las reglas gramaticales, a diferencia del lenguaje formal, el cual se rige a reglas preestablecidas.

El lenguaje formal se define considerando componentes léxicos, reglas gramaticales y una delimitación semántica, su principal ventaja es que se elimina la ambigüedad ya que se utilizan expresiones precisas, un ejemplo de esto, es un lenguaje de programación en el cual se define una secuencia de instrucciones ordenadas correctamente, que se le da al computador, este la entiende y la ejecuta. (Cortez Vásquez, Vega Huerta, Pariona Quispe, & Huayna, 2009)

PROCESAMIENTO DEL LENGUAJE NATURAL

Desde el nacimiento del Internet, hasta el año 2003 cuando nacieron las primeras redes sociales se comenzaron a producir docenas de bits de información en la web, hoy en día la cantidad de información ha crecido considerablemente, y es que el internet ha permitido crear y compartir ideas y opiniones con millones de personas de una forma eficiente. Para que la información sea analizada, es necesario que la máquina comprenda el lenguaje humano, de ahí el nacimiento de las técnicas de procesamiento del lenguaje natural (PLN).

Actualmente existen algoritmos basados en la representación textual de páginas web, los cuales pueden realizar diversas tareas, tales como recuperación de textos, revisión de ortografía o conteo de palabras. Sin embargo, poseen capacidades limitadas en cuanto a la interpretación de frases, ya que para poder realizar esto, el PLN requiere de capacidades de alto nivel como acceso de léxico y memorias semánticas, es decir, es necesario que más allá se procesar el lenguaje natural, se logre una total comprensión de este. (Cambria & White, 2014)

DEFINICIÓN

(35)

16 como objetivo especificar una comprensión de lenguaje a tal nivel de detalle de que una persona puede escribir un programa de computadora que puede entender y producir un lenguaje natural. Para (Covington, 1994) el PLN se basa en el uso de computadoras para entender lenguajes naturales, con esto nos referimos a que el computador pueda reconocer y utilizar información expresada en lenguaje humano, por lo tanto no se requiere que el computador tenga pensamientos o sentimientos. Según (Camacho, Moreno, Suarez-Obando, Carlos Puyana, & Gomez-Restrepo, 2013) “Un sistema de PLN se basa en el reconocimiento de conceptos en el texto y la comprensión de las relaciones entre esos conceptos.” Para tener una comprensión total del texto, el procesamiento del lenguaje natural debe realizar tareas como recuperación de información, desambiguación del sentido de la palabra y similitud del texto. (Tarantino, Monica, & Bergenti, 2018). Podemos decir entonces que la tarea principal de un sistema PLN es “diseñar una aplicación para hacer que una computadora entienda el lenguaje natural e interprete la forma en que lo hacen los humanos.”(Gupta, Jain, & Joshi, 2018)

Según (Manaris & Slator, 1996) para que un sistema PLN sea exitoso debe utilizar algoritmos y técnicas eficientes de interpretación del lenguaje natural, las cuales en su mayoría involucran otras áreas de investigación, tales como la lingüística y matemáticas.

Sin embargo, los sistemas de PLN también enfrentar una variedad de problemas relacionados al lenguaje natural tales como:

• Inexactitud, engloba los errores ortográficos, errores de puntuación y errores gramaticales.

• Incompletitud, incluye construcciones elípticas y anáforas.

• Imprecisión, el uso de términos relativos sin un punto específico de referencia.

• Ambigüedad, da lugar a múltiples interpretaciones en cualquier nivel lingüístico.

(36)

17

NIVELES DEL LENGUAJE NATURAL

El lenguaje humano se puede sustentar en distintos niveles para su análisis, estos niveles se encuentran interrelacionados y son elementales para la correcta interpretación de la estructura del lenguaje. A continuación, se detalla cada uno de los niveles según Lidy y Feldman citados en (Peñalver, 2015):

• Nivel Fonológico: Estudia los fonemas de una lengua, es decir, los sonidos del lenguaje humano, analiza cómo las palabras se relacionan con los sonidos que representan. Un sistema de procesamiento fonológico tiene como entrada la voz humana, esta se analiza y codifica para establecer comparaciones con otros lenguajes.

• Nivel Morfológico: Comprende el estudio de la composición y derivación de las palabras. Transforma las secuencias de caracteres en una secuencia de morfemas, haciendo uso de etiquetadores POS part-of-speech, también permite clasificar las palabras en categorías gramaticales tales como verbos, sustantivos, adverbios, entre otros. En ese nivel se logra conocer el significado de cada morfema.

• Nivel léxico: Interpreta el vocabulario de un idioma o lengua de manera individual. Utiliza técnicas de asignación de etiquetas individuales a cada palabra del texto para determinar la categoría léxica de cada palabra y asignar su función en el texto.

• Nivel Sintáctico: Se centra en el orden y relación de las palabras comprendidas en la oración y la función que cumplen. Se analiza la estructura gramatical de la oración, gracias a un analizador sintáctico o parser cuya función es obtener la estructura y representarla en forma de árbol o red, visibilizando las relaciones de dependencia estructural. Una de las técnicas utilizadas para este fin son las redes de transición.

• Nivel Semántico: trata del significado de las palabras y de cómo los significados se unen para dar significado a una oración, también se refiere al significado independiente del contexto. Este nivel requiere de técnicas de desambiguación semántica para comprender aquellas palabras que tengan varios significados.

(37)

18 significado correcto de aquellas palabras polisémicas. Se utilizan herramientas como la resolución anafórica y el reconocimiento de la estructura del texto o discurso

• Nivel Pragmático: Se analiza cómo las oraciones se usan en distintas situaciones y cómo el uso afecta al significado de las oraciones. Intervienen factores como la intención comunicativa, el contexto verbal, la situación o conocimiento del mundo. Se utilizan herramientas como bases de conocimiento y módulos de inferencia que faciliten la interpretación de las intenciones y objetivos de un texto.

A continuación, se presenta un resumen de las características más importantes de los niveles antes mencionados.

Cuadro 3 Niveles del Lenguaje Natural

Niveles del PLN Ámbito de Actuación Herramientas que utiliza

Fonético Sonidos Corpus de aprendizaje

Modelos acústicos

Léxico Formas Etiquetado POS

Lexicón computacional

Morfológico Formas Etiquetado POS

Lexicón computacional

Sintáctico Estructuras Bases de datos sintácticas

Árboles de decisión

Semántico Significados Bases de datos

semánticas

Discurso Comunicación Bases de datos

semánticas Ontologías

Pragmático Comunicación Bases de datos

semánticas Ontologías Fuente: (Peñalver, 2015)

(38)

19

ARQUITECTURA DE UN SISTEMA DE PLN

Gracias a un análisis realizado en base a los niveles del lenguaje natural, la computadora es capaz de interpretar y analizar las oraciones que le sean proporcionadas. El funcionamiento de un sistema PLN es el siguiente:

Gráfico 2 Arquitectura de un sistema PLN

Fuente: (Cortez Vásquez et al., 2009) Autor: Ariana Escobar Macías

Se obtiene como entrada la información en lenguaje natural que el usuario quiere expresar a la computadora, luego la computadora realiza un análisis morfológico y sintáctico de la oración proporcionada, es decir, identifica los morfemas y la estructura de la oración. Es aquí donde se utiliza además un analizador lexicográfico denominado scanner, que se encargará de identificar los componentes léxicos y un analizador sintáctico denominado parser, el cual verificará si los elementos léxicos cumplen un orden gramatical correcto.

Una vez realizados estos análisis, se continúa con el nivel semántico, el cual permitirá conocer cuál es el significado de cada oración. Finalmente, se procede con el análisis pragmático, donde se toman todas las oraciones ya analizadas y se las sitúa dentro de un contexto, logrando que la computadora tenga una total comprensión de la expresión final, la cual será ejecutada para obtener el resultado que desea el usuario. (Cortez Vásquez, Vega Huerta, Pariona Quispe et al. 2009)

RECURSOS LINGUISTICOS EN SISTEMAS DE PLN

Los sistemas de PLN utilizan diversos recursos lingüísticos para su correcto funcionamiento, algunos de ellos se detallan a continuación:

(39)

20 Base de datos léxica:

Se trata de bases de datos con listas de términos, junto a su significado léxico, dentro de un contexto específico. (Peñalver, 2015) Entre las más conocidas podemos mencionar WordNet, una base de datos léxica en idioma inglés, y EuroWordNet la cual es multilingüe.

Diccionarios electrónicos:

Se conoce como “una digitalización del diccionario, a la que se añade una lematización automática que permita la búsqueda de artículos” (Fernández-Pampillón Cesteros & Matesanz del Barrio, 2006) Es de gran utilidad para realizar búsquedas digitales.

Tesauros:

Son vocabularios en los que se representan relaciones semánticas con otras palabras y con sus significados, es decir, facilitan la búsqueda de sinónimos y palabras con significados similares. Estas herramientas hacen mucho más sencillo el proceso de recuperación de información. En palabras de (Peñalver, 2015) “este instrumento está compuesto por listados de palabras o términos analizados y normalizados, que guardan entre sí relaciones semánticas y funcionales, y que se utilizan para representar conceptos, temas o contenidos de documentos.”

Redes semánticas:

(40)

21 Gráfico 3 Ejemplo de red semántica

Fuente: (Smart Computing, 2017) Autor: Smart Computing

APLICACIONES DE PLN

El procesamiento del lenguaje natural constituye una parte crucial en diversos tipos de sistemas relacionados al uso del lenguaje humano. (Gelbukh, 2010) menciona las siguientes aplicaciones:

• Verificación de ortografía

• Traducción automática

• Corrección de textos

• Recuperación de información

• Procesamiento automático de textos

• Evaluación automatizada

• Minería de textos

(41)

22 humano utilizando el lenguaje natural del habla.”

Los chatbots imitan una conversación inteligente, haciendo preguntas y respondiendo a las preguntas del usuario. Siendo un programa basado en PLN, la entrada será una oración en lenguaje natural, que posteriormente será analizada y ejecutada, brindando la mejor respuesta al usuario. (Abdul-Kader & Woods, 2015)

También conocidos como asistentes virtuales, se pueden diseñar para desempeñarse en diversas áreas de aplicación. De acuerdo con (Morales-Rodríguez & Domínguez-Martínez, 2011) estos pueden ser:

Asistentes Virtuales Sociales: Generalmente utilizados para entretenimiento, permiten establecer una conversación libre sobre cualquier tema con el usuario.

Asistentes Virtuales Educacionales: Este tipo de asistente ha sido diseñado con el fin de asistir en el proceso de aprendizaje, es decir, que ayude a aprender algo, ya sea lenguaje, historia, o un nuevo idioma. Son mayormente utilizados en escuelas o centros educativos.

Asistentes Virtuales Orientados a Servicios: Son de gran utilidad para empresas que ofrecen sus productos o servicios vía online, ya que ayudan a los usuarios a navegar por el sitio y pueden ser configurados para responder dudas sobre los productos o brindar información.

CARACTERÍSTICAS DE LOS SISTEMAS CONVERSACIONALES

Según (Cobos Torres, 2013) los sistemas conversacionales presentan las siguientes características generales:

Autonomía: Es capaz de responder basándose en la experiencia, se adapta al entorno y tipo de usuario o pregunta realizada.

(42)

23

Racionalidad: Son capaces de analizar la frase introducida y generar una respuesta apropiada.

Reactividad: Pueden proporcionar respuestas de distinta naturaleza, no sólo respuestas automáticas sino también enlaces dentro de la web, etc.

Proactividad: Pueden comprender el contexto de la conversación.

Adaptabilidad: Define si el chatbot puede cambiar su comportamiento basándose en su propio aprendizaje.

Veracidad: No proporciona información falsa a propósito.

TIPOS DE SISTEMAS CONVERSACIONALES

Basados en Reglas

La gran parte de programas informáticos están gobernados por reglas deterministas, un ejemplo de esto son los cajeros automáticos, estos sistemas basan su funcionamiento en algoritmos, estructuras de datos y estrategias de funcionamiento para lograr la resolución de problemas, en algunos casos es necesario emplear heurísticas, es decir estrategias, métodos y técnicas para encontrar una solución viable al problema planteado. Pero, para llevar a cabo este objetivo, los sistemas conversacionales requieren del apoyo de la inteligencia humana, es así como el desarrollador codifica un conjunto de reglas basados en conocimiento humano, que corresponderán a acciones que el sistema realizará para garantizar el funcionamiento apropiado, dependiendo de lo que el usuario requiera. (Abraham, 2005)

Una regla consiste en una proposición lógica que relaciona dos o más eventos, que en adelante se consideraran como la premisa y la conclusión, conectadas a su vez por medio de un operador lógico. Como explica (Gutiérrez, 2004) una regla se escribe normalmente como “Si premisa, entonces conclusión”.

Como refiere Shridhar citado en (Hald, 2017):

(43)

24 Este modelo de sistemas conversacionales ofrece ventajas en cuanto a su desarrollo pues es más sencillo ya que se limita a responder según las reglas previamente configuradas, cumple su objetivo, pero presenta dificultades cuando el usuario realiza preguntas para las cuales no ha sido configurado el sistema, por lo tanto, en muchos casos, este puede resultar menos eficiente.

Los sistemas basados en reglas se componen de dos elementos fundamentales:

• Base de conocimiento

En palabras de (Badaró, Ibañez, & Agüero, 2013) “contiene el conocimiento necesario para comprender, formular y resolver problemas. Incluye dos elementos básicos: heurística especial y reglas que dirigen el uso del conocimiento para resolver problemas específicos en un dominio particular.” Es decir, son las variables y reglas que se definen con el objetivo de resolver un determinado problema.

• Motor de inferencia

Es el cerebro de los sistemas basados en reglas, se los conoce también como estructura de control o interpretador de reglas. Es básicamente un programa de computadoras que basa su funcionamiento en metodologías para razonamiento de información. El motor de inferencia es el encargado de usar la información contenida en la base de conocimiento para resolver problemas cuando se realiza una consulta. (Badaró et al., 2013)

Basados en Inteligencia Artificial

Gracias a la Inteligencia artificial, el bot es capaz de aprender de las interacciones que tiene con los usuarios, pero para que esto sea posible se utilizan recursos como plataformas de análisis e integraciones con API, con el objetivo principal de brindar al chatbot las herramientas necesarias para que pueda responder de manera correcta al usuario. (Hald, 2017) Si el sistema posee la habilidad de aprender y adaptarse a los cambios, para el desarrollador ya no sería necesario prever y proporcionar respuestas para todos los escenarios que se puedan presentar, esta es su principal diferencia con los sistemas basados en reglas.

(44)

25 rendimiento utilizando datos de ejemplo y experiencias pasadas. El ML es ampliamente usado en diversas áreas tales como financiero, para analizar datos históricos y construir modelos usados en aplicaciones de crédito o detección de fraudes, en medicina como soporte en diagnósticos médicos, o en telecomunicaciones para analizar redes y maximizar la calidad de servicio. (Alpaydin, 2010)

Dentro de los algoritmos de ML más utilizados podemos mencionar los siguientes:

Regresión Lineal

Este algoritmo se basa en encontrar una relación lineal dentro de los datos obtenidos, y basada en esta relación se hace la predicción del nuevo valor.

Como explica (Moral Peláez, 2006), la aplicación de este algoritmo es conveniente en el siguiente escenario:

Cuando se quiere evaluar la relación entre una variable que suscita especial interés (variable dependiente) respecto a un conjunto de variables (variables independientes), las pruebas de contraste de hipótesis mostradas hasta ahora no nos aportan suficiente información sobre la relación en conjunto de todas ellas, dado que los contrastes de hipótesis que conocemos hasta ahora se basan en probar relaciones bivariantes (2 variables), en las que no se tiene en cuenta la posibilidad de que haya otras variables de interés y en las que el sentido de la relación es bidireccional (…) Se expresan de la siguiente forma:

𝑌 = 𝑓(𝑥1, 𝑥2, … ) + 𝜀.

Gráfico 4 Modelo de Regresión Lineal

(45)

26

Árboles de decisión

Se trata de un algoritmo utilizado en la minería de datos que cumple tareas de regresión y clasificación y está basado en diagramas de flujo. Su tarea principal es la de clasificar y pronosticar valores de una variable dependiente basada en variables independientes.

Como explica (Berlanga, Rubio Hurtado, & Vilà Baños, 2013) un árbol de decisión se puede definir como “una forma gráfica y analítica de representar todos los eventos que pueden surgir a partir de una decisión asumida en cierto momento.” Ofrece un enfoque probabilístico para ayudar a tomar una decisión acertada.

Entre sus características podemos mencionar la rapidez en la predicción, debido a que requiere pocos parámetros de configuración y es un algoritmo bastante intuitivo, pero a su vez puede consumir grandes cantidades de memoria dependiendo del tamaño del árbol de decisión.

Agrupamiento en Clústeres

Un método eficiente dentro de la minería y análisis de datos es el agrupamiento en clústeres, se basa en dividir los objetos de datos en diversos subconjuntos de manera que los objetos contenidos sean similares entre sí y distintos de los objetos contenidos en otros subconjuntos. Estos algoritmos son ampliamente utilizados en áreas como análisis de imágenes, ciencias sociales, tecnología web, reconocimiento de patrones, telecomunicaciones, entre otros.

El algoritmo más popular de agrupamiento es el algoritmo K-means, el cual brinda ventajas en cuanto a su eficiencia y simplicidad. Como explica (Habib Sardar & Ansari, 2018)

El algoritmo agrupa los objetos N en K agrupaciones que mantienen una alta similitud intragrupo y una baja similitud intergrupal de los objetos. Inicialmente provisto de k centros de cluster (centroides), el algoritmo k-means coloca un objeto de datos en un grupo al encontrar el centro de cluster más cercano utilizando una medida de distancias. Esta medida calcula la distancia de similitud entre cada objeto de datos y centroides.

(46)

27 calcula un nuevo centroide en función de los datos contenidos en el subconjunto y este se alimenta de la siguiente iteración, y se repite el mismo proceso hasta lograr convergencia.

Gráfico 5 Agrupamiento K-means

Fuente: (Blondel, 2017) Autor: SAP Conversational AI

Redes Neuronales Artificiales

Se trata de un modelo de regresión y clasificación basado en las conexiones neuronales del ser humano. También conocidas como ANN, “son sistemas de cómputo en redes biológicas y neuronales que configuran las venas mínimas constitutivas.” Su uso nos permite aproximar relaciones entre variables de entradas y salidas.

Los elementos básicos de procesamiento de las redes neuronales son las neuronas. Una colección de neuronas se conoce como una capa, y la colección de capas interconectadas forma las redes neuronales. En una neurona, la salida se calcula mediante una función no lineal de la suma de sus entradas. Las conexiones entre diferentes neuronas de capas adyacentes están representadas por los pesos en un modelo. Los pesos se ajustan a medida que avanza el aprendizaje, y representan la fuerza de la señal en una conexión. (Chen, Chang, Meng, & Zhang, 2019)

(47)

28 encarga de establecer las relaciones y enviarlo a la capa de salida que se encarga de mostrar el resultado.

Gráfico 6 Redes Neuronales Artificiales

Fuente: (Chen et al., 2019) Autor: Ariana Escobar Macías

FUNCIONAMIENTO DE UN CHATBOT

Un sistema conversacional tiene como finalidad proporcionar diversos tipos de servicios a los usuarios, para lograr esto hace uso de tecnologías de comprensión del lenguaje natural, gestión del diálogo y generación de respuestas.

Comprensión del lenguaje

(48)

29 Gestión del diálogo

Como explica (R. López-Cózar; A. J. Rubio; J. E. Díaz-Verdejo; J. M. López-Soler, 2009) esta técnica, está basada en un conjunto de objetivos que el sistema debe tratar de lograr, y diversos subobjetivos que los usuarios pueden generar durante la conversación con el sistema. De acuerdo con (Morales-Rodríguez & Domínguez-Martínez, 2011) un gestor de diálogo tiene los siguientes objetivos:

• Actualizar el contexto del diálogo

• Proveer el contexto en el que basarán las interpretaciones.

• Coordinar el resto de los módulos.

• Decidir qué información dar al usuario y cuando hacerlo.

Para llevar a cabo estas funciones es necesario construir dos corpus, un corpus de escenarios representativo de posibles objetivos de los usuarios del sistema y un corpus de frases representativas de los posibles objetivos considerados en los escenarios.

Corpus de escenarios

Contiene los diversos escenarios que se pueden presentar durante la interacción con el usuario, es decir el contexto de la conversación. Según (López-Cózar, Segura, De La Torre, & Rubio, 2001) “cada escenario representa los objetivos de un hipotético usuario interactuando con el sistema conversacional”.

Corpus de frases

Contiene todas las frases que el usuario podría proporcionar al chatbot al momento de establecer la interacción. Dentro del corpus de frases se incluyen también significados y sinónimos de las palabras que se podrían utilizar dentro del escenario. (López-Cózar et al., 2001)

Generador de respuestas

(49)

30 Gráfico 7 Funcionamiento de un chatbot

Fuente: Datos de la investigación Autor: Ariana Escobar Macías

PROCESO DE CREACIÓN DE UN CHATBOT

(50)

31 Gráfico 8 Proceso de Creación de un chatbot

Fuente: (Microsoft Azure, 2019a) Adaptador por: Ariana Escobar Macías 1. Planear

Como primer paso, es esencial definir los objetivos, procesos que realizará el chatbot, es decir, que tipo de bot será, su capacidad de procesamiento, el volumen de usuarios que atenderá, cuáles son las interacciones a las que responderá, el lenguaje en el que será desarrollado, entre otras, además se debe definir el público objetivo que interactuará con el bot y las necesidades de estos usuarios. Para que el bot sea exitoso debe asegurar que la experiencia del usuario sea una prioridad, Microsoft presenta las consideraciones clave:

• Fácil resolución del problema del usuario con el número mínimo de pasos.

• Que resuelva el problema del usuario mejor, más fácil y más rápido que cualquiera de las experiencias alternativas.

• Correcta ejecución en los dispositivos y plataformas que le interesan al usuario.

• Diseño intuitivo, que los usuarios sepan naturalmente qué hacer cuando lo usan.

2. Construir

Para iniciar el desarrollo del bot, se debe definir si se utilizará un framework (marco de trabajo) como Microsoft Azure Bot, DialogFlow, entre otros disponibles en el mercado, o si se desarrollará localmente mediante lenguajes de programación como C# o Javascript.

La gran ventaja de utilizar frameworks es que proporcionan herramientas que facilitan el desarrollo del bot, entre ellas podemos mencionar:

• Procesamiento del lenguaje natural.

• Capacidad de responder preguntas.

(51)

32 3. Prueba

Al ser una aplicación compleja, que trabaja con distintos módulos para su correcto funcionamiento, puede que se presenten errores inesperados o que el chatbot no se comporte de la manera esperada. Por esta razón, antes de publicar el bot, es necesario realizar pruebas para verificar que esté respondiendo de la manera esperada.

Una vez realizadas las pruebas y corregidos los errores que se pudiesen presentar, el bot estará listo para ser utilizado por los usuarios.

4. Publicar

Cuando el bot esté listo para ser utilizado, se podrá publicar en su propio servicio web o centro de datos, dependiendo de cuales sean las necesidades del usuario, es importante recalcar que para esto será necesario tener una dirección de internet pública.

5. Conectar

Para facilitar la comunicación entre el bot y el usuario, es posible conectar el bot a distintos canales como Facebook, Messenger, Kik, Skype, Slack, Telegram, texto / SMS, Twilio, Cortana. Como explica Microsoft, un canal es una conexión entre el bot y las aplicaciones de comunicación, que sirve para integrar el bot a distintos servicios populares y brindar atención al usuario desde distintas plataformas.

6. Evaluar

(52)

33

FRAMEWORKS PARA LA CREACIÓN DE CHATBOTS

Un framework es un conjunto de métodos y clases predefinidos y preinstalados creados para desarrolladores de bot. Son de gran utilidad para el desarrollador ya que brindan un conjunto de herramientas que ayudan a escribir el código mejor y más rápido. Generalmente, los desarrolladores y programadores de bots usan frameworks para crear chatbots desde cero utilizando distintos lenguajes de programación. (Sannikova, 2018).

Entre las plataformas más famosas para crear bots se encuentran IBM Watson, desarrollado por IBM, DialogFlow, desarrollado por Google, Microsoft Bot Framework, entre otras, las cuales se detallan a continuación.

IBM WATSON

Es un software desarrollado por la empresa IBM, capaz de responder preguntas en lenguaje natural. Se basa en una red neuronal, comprende intenciones, interpreta entidades y diálogos, es compatible con los idiomas inglés y japonés, y proporciona herramientas para desarrolladores como “Node SDK, Java SDK, Python SDK, iOS SDK y Unity SDK”. (Chatbots Journal, 2017)

IBM Wtason posee las siguientes capacidades:

• Procesamiento del lenguaje natural ayudando a comprender las complejidades de los no estructurados, datos, que representan hasta el 80 por ciento de los datos en el mundo actual

• Generación y evaluación de hipótesis aplicando analíticas avanzadas para pesar y evaluar un panel de respuestas basado solo en evidencia relevante

• Aprendizaje dinámico al ayudar a mejorar el aprendizaje basado en resultados para ser más inteligente con cada iteración e interacción (High, 2013)

(53)

34 Gráfico 9 Funcionamiento de IBM Watson

Fuente: (High, 2013)

Adaptado por: Ariana Escobar Macías

DIALOGFLOW

Es una tecnología desarrollada por Google para facilitar la interacción persona-computadora basada en conversaciones del lenguaje natural. Dialogflow proporciona una plataforma que permite a los desarrolladores diseñar e implementar interfaces de conversación que pueden integrarse en aplicaciones externas como bots. (Sannikova, 2018)

En Dialogflow, el flujo básico de conversación está conformado por los siguientes pasos:

1. El usuario da una entrada

2. El agente de Dialogflow analiza esa entrada

3. El agente devuelve una respuesta al usuario. (DialogFlow, 2018b)

Esta plataforma utiliza entidades e intenciones para representar los corpus de frases y escenarios.

(54)

35 Las entidades son el mecanismo de Dialogflow para identificar y extraer datos útiles de las entradas de lenguaje natural. Las intenciones permiten a su agente comprender la motivación detrás de una entrada de usuario determinada, las entidades son utilizadas para seleccionar información específica que requieren sus usuarios, desde direcciones de calles hasta nombres de productos o cantidades con unidades. Todo dato importante que se requiera obtener de la solicitud de un usuario tendrá una entidad correspondiente. (DialogFlow, 2018)

El flujo básico de funcionamiento de esta plataforma se detalla en el siguiente gráfico. Gráfico 10 Funcionamiento de DialogFlow

Fuente: (Sannikova, 2018) Adaptado por: Ariana Escobar Macías

MICROSOFT BOT FRAMEWORK

El servicio de bot desarrollado por Microsoft proporciona un entorno integrado diseñado específicamente para el desarrollo de bots, que le permite construir, conectar, probar, implementar y administrar bots inteligentes, todo desde un solo lugar. El servicio de Bot aprovecha el SDK de Bot Builder con soporte para C # y JavaScript. (Microsoft Azure, 2018)

Esta plataforma brinda diferentes funcionalidades como:

• Comprensión del lenguaje

• Sistema de preguntas y respuestas

(55)

36

• Corrector ortográfico

Los bots realizados en esta plataforma suelen constar de los siguientes componentes:

• Un servidor web, en la mayoría de los casos, uno que está disponible en la Internet pública.

• El Bot Builder SDK y Bot Builder Tools proporcionan una interfaz para desarrollar bots

• Servicios cognitivos de Azure

• Almacenamiento Azure (Microsoft, 2018b)

Además, ofrece integración con plataformas como como Facebook, Messenger, Kik, Skype, Slack, Equipos de Microsoft, Telegram, texto / SMS, Twilio, Cortana.

Su funcionamiento se detalla a continuación:

Gráfico 11 Funcionamiento de Microsoft Azure Bot

Fuente: (Microsoft, 2018)

(56)

37

PANDORABOTS

Desarrollado en 2008 por el Dr. Richard Wallace, es un servicio web de código abierto, que permite desarrollar y publicar chatbots en la web.

Como se puede leer en su página oficial:

Pandorabots es la mayor comunidad de chatbot en internet. 166,000 maestros de bot registrados han elegido crear más de 206,000 pandorabots en múltiples idiomas. Pandorabots se han adaptado a casi todos los nichos ecológicos en internet. Los pandorabots aparecen en las páginas web, en la mensajería instantánea, y responden a mensajes de correo electrónico y foros. Se pueden encontrar en Second Life, en juegos en línea y en redes sociales como Facebook y Twitter. Cada vez más pandorabots están apareciendo en aplicaciones móviles y mensajes de texto. Los pandorabots apoyan el marketing y la publicidad y se utilizan en la educación. (Pandorabots, 2018) La plataforma PandoraBots admite AIML (Artificial Intelligence Markup Language) un lenguaje de scripting abierto, que según (Wallace, 2003) “describe una clase de objetos de datos llamados objetos AIML y describe parcialmente el comportamiento de los programas informáticos que los procesan. Los objetos AIML están formados por unidades llamadas temas y categorías, que contienen datos analizados o no analizados.”

Es una plataforma multilingüe y ofrece SDK’s gratuitos como Java, Node.js, Python, Ruby, PHP y Go. (Pandorabots, 2018)

(57)

38

AMAZON LEX

Servicio de Amazon para la creación de interfaces de conversación mediante voz y texto. Utiliza los mismos algoritmos de Amazon Alexa y ofrece funcionalidades muy útiles al momento de construir un chatbot.

Como menciona en su página web, esta plataforma integra técnicas de aprendizaje profundo para realizar procesos de reconocimiento de voz y también modelos de comprensión del lenguaje natural, gracias a esto, logra brindar una mejor experiencia al usuario, mucho más interactiva y realista. (Amazon, 2019b)

Entre las características principales que ofrece esta plataforma podemos resaltar las siguientes:

• Reconocimiento del habla y comprensión del lenguaje natural.

• Preguntas utilitarias

• Integración con AWS Lambda

• Encadenamiento de intenciones

Gráfico 12 Funcionamiento Amazon Lex

Fuente:(Amazon, 2019)

Figure

Cuadro 2 Delimitación del Problema  CAMPO:  Informática
Gráfico 1 Distinción entre IA como ciencia e IA como ingeniería
Gráfico 2 Arquitectura de un sistema PLN
Gráfico 6 Redes Neuronales Artificiales
+7

Referencias

Documento similar

Es necesario también que el gestor de chat conozca el tipo de usuario al que pertenece la conversación, así como otros datos que puedan ser relevantes, para ello hace uso de la base

En la base de datos de seguridad combinados de IMFINZI en monoterapia, se produjo insuficiencia suprarrenal inmunomediada en 14 (0,5%) pacientes, incluido Grado 3 en 3

En este ensayo de 24 semanas, las exacerbaciones del asma (definidas por el aumento temporal de la dosis administrada de corticosteroide oral durante un mínimo de 3 días) se

En un estudio clínico en niños y adolescentes de 10-24 años de edad con diabetes mellitus tipo 2, 39 pacientes fueron aleatorizados a dapagliflozina 10 mg y 33 a placebo,

• Descripción de los riesgos importantes de enfermedad pulmonar intersticial/neumonitis asociados al uso de trastuzumab deruxtecán. • Descripción de los principales signos

que hasta que llegue el tiempo en que su regia planta ; | pise el hispano suelo... que hasta que el

E Clamades andaua sienpre sobre el caua- 11o de madera, y en poco tienpo fue tan lexos, que el no sabia en donde estaña; pero el tomo muy gran esfuergo en si, y pensó yendo assi

Social Media, Email Marketing, Workflows, Smart CTA’s, Video Marketing. Blog, Social Media, SEO, SEM, Mobile Marketing,