De Inteligencia Artificial A Los Chatbots

Subscribe
Es una subárea de la informática y de la ciencia computacional. La definición de Inteligencia Artificial se refiere a la capacidad que tienen las máquinas para entender, pensar y aprender de una manera similar a como lo hacen los seres humanos, lo que indica la posibilidad de utilizar las computadoras para simular la inteligencia humana.
La AI ha experimentado 60 años de desarrollo continuo, con grandes avances y retrocesos. En normal, se inició tratando de resolver tareas que son fáciles para los seres humanos, pero difícil para las computadoras, tratar de realizar un sistema que pueda hacer cualquier cosa que un ser humano hace (quizás sin cosas puramente físicas). Esto es bastante genérico e incluye todo tipo de tareas como: planificar, moverse de un lado a otro, reconocer objetos y sonidos, hablar, traducir, realizar transacciones sociales comerciales, trabajo creativo (hacer arte poesía), entre otras.
Vehículos autónomos son un tema candente en la actualidad relacionado con AI. Google , Volvo , Tesla , Uber … estos son sólo algunos de las grandes compañías que están tratando de demostrar que los vehículos sin conductor son mejores, he inclusive, más seguros que los vehículos impulsados ​​por humanos.
Ya se tiene un poco claro el poder que tiene la AI, y como muchas cosas en la vida tienen sus desventajas, esta tecnología no es la excepción, hay quienes se preocupan por el futuro de la AI. Tanto así que hace unos meses hubo una discusión entre el CEO de TESLA y SpaceX , Elon Musk, y el fundador de Facebook , Mark Zuckerberg, donde Musk advierte acerca de los peligros de la inteligencia artificial, describiéndola como una amenaza potencialmente existencial para la raza humana, los seres humanos podrían estar condenados si hacemos máquinas que son más inteligentes que nosotros. Zuckerberg tiene una visión diferente, se siente optimista, mencionó que la AI podría ser una fuerza para el bien porque ayuda a conducir automóviles de una forma más segura y a diagnosticar enfermedades. Otro que no se mantiene ajeno del tema y está preocupado por el desarrollo de la AI y de la robótica, es el cofundador de Microsoft , Invoice Gates, quien menciona que como los robots están tomando trabajos humanos, el gobierno debe imponer impuestos a las empresa que los usan, como forma de disminuir temporalmente la automatización y usar ese dinero para financiar otras fuentes de empleo, en otras palabras, que los robots paguen impuestos como lo hacen los humanos.
Dejando el lado pesimista de la Inteligencia Artificial, los investigadores han seguido desarrollando, creando e investigando nuevos métodos y forma de resolver problemas hacer tareas cotidianas del ser humano automáticamente. Se ha tenido tanto desarrollo en AI, que la misma ha sido clasificada en varias áreas y dando como resultado varias subáreas.
Machine studying (ML)
ML es un subcampo de la informática que evolucionó a partir del estudio del reconocimiento de patrones y la teoría del aprendizaje computacional en la inteligencia artificial. Es un tipo de Inteligencia Artificial que permite a los programadores escribir programas de una manera más sencilla, se centra más en el desarrollo de programas que enseñan a las computadoras a cambiar cuando se exponen a nuevos datos y crecer, su objetivo es entender y seguir los métodos, usando algoritmos para hacer esa tarea automáticamente sin ninguna ayuda humana. En 1959, Arthur Samuel definió ML como un campo de estudio que da a las computadoras la capacidad de aprender sin ser programadas explícitamente.
ML es un conjunto de algoritmos que se entrenan con un conjunto de datos, para hacer predicciones tomar acciones con el fin de optimizar algunos sistemas. For example, los algoritmos de clasificación supervisados ​​se utilizan para clasificar a los clientes potenciales en buenas malas perspectivas, con el fin de obtener un préstamo, sobre una base de datos históricos. Las técnicas involucradas, para una tarea dada (for example, agrupación supervisada), son variadas: Naive Bayes, SVM (Assist Vector Machines), redes neuronales, árboles de decisión, regresión logística una combinación de muchos.
ML permite que dado un problema de AI que se puede describir en términos discretos (for example, a partir de un conjunto explicit de acciones, determinar cuál es el correcto), y dado un montón de información sobre el mundo, descubrir cuál es la accióncorrecta”, sin que el programador lo haga directamente. Normally, se necesita algún proceso externo para juzgar si la acción fue correcta no. En términos matemáticos, es una función: donde tiene una entrada, y se desea que produzca la salida correcta, por lo que todo el problema es simplemente construir un modelo de esta función matemática de alguna manera automática. Para establecer una distinción con AI, si puedo escribir un programa muy inteligente que tenga un comportamiento related al humano, puede ser Inteligencia Artificial, pero a menos que sus parámetros sean aprendidos automáticamente de los datos, no es el aprendizaje automático.
En ML se pueden encontrar una gran cantidad de algoritmos que se han venido creando a lo largo de los últimos años. Los mismos se pueden agrupar principalmente en 3 grandes áreas:
Aprendizaje supervisado (Supervised Studying): en esta categoría los algoritmos reciben datos de entrenamiento que contienen larespuesta correctapara cada caso, for example, un algoritmo de aprendizaje supervisado para la detección de fraudes de tarjetas de crédito, tomaría como entrada un conjunto de transacciones registradas, para cada transacción, los datos de entrenamiento contendrían una bandera que dice si es fraudulenta no. A su vez, esta categoría se puede subdividir en three:
Regresión (Regression): resuelve problemas donde la respuesta a aprender es un valor continuo, for example, el algoritmo podría ser alimentado con un registro de casas vendidas con sus precios, y este aprende cómo fijar precios para las casas.
Clasificación (Classification): la respuesta a aprender es uno de los muchos valores posibles, por mencionar un caso, en el ejemplo de la tarjeta de crédito, el algoritmo debe aprender cómo encontrar la respuesta correcta entre ‘fraudey ‘honesto’. Cuando sólo hay dos valores posibles, se puede decir que es un problema de clasificación binaria, cuando son varios valores a predecir se la llama multi-class classification.
Forecasting: Este es el proceso de hacer predicciones sobre el futuro basadas en los datos pasados ​​y presentes. Es el más comúnmente utilizado para analizar tendencias. Un ejemplo común podría ser la estimación de las ventas del próximo año basadas en las ventas del año actual y años anteriores.
Aprendizaje no supervisado (Unsupervised Learning): los algoritmos buscan la estructura en los datos de entrenamiento, cómo encontrar qué ejemplos son similares entre sí, y agruparlos entre ellos. De igual forma, esta categoría se puede dividir en 2 subcategorías principales:
Segmentación (Clustering): Este tipo de problema se da donde la estructura de datos por aprender es un conjunto de grupos de características similares, for example, la segmentación del mercado tiene como objetivo agrupar a los clientes en grupos de personas con un comportamiento de compra similar.
Análisis de crimson: Estos algoritmos aprenden de la importancia de la información y del papel de los nodos en la pink, for example, el algoritmo de rango de página analiza la crimson de páginas web y sus hipervínculos, y encuentra cuáles son las páginas más importantes. Esto se utiliza en los motores de búsqueda internet como Google , otro problema de análisis de red incluye análisis de redes sociales.
Reinforcement learning: Analiza y optimiza el comportamiento de un agente en función al feedback del entorno. Las máquinas prueban diferentes escenarios para descubrir qué acciones producen la mayor recompensa, en lugar de que se les diga qué acciones tomar.
Algunos de estos algoritmos más usados está el Árbol de Decisión (Resolution tree), un algoritmo comúnmente utilizado en la minería de datos, el objetivo de DT es construir una estructura de árbol que predice los valores de las muestras de prueba, basadas en las muestras de entrenamiento, una estructura de árbol es una representación gráfica de muestras de entrenamiento. También está el Naïve Bayes, es un algoritmo de ML muy well-liked, que funciona bien en muchos dominios, y es uno de los algoritmos más utilizados en la clasificación de sentimientos binarios, for example, se basa en la suposición de que la probabilidad de cada término en un texto es la independencia en el contexto del término y su posición en el texto. Otro algoritmo muy usado es el Assist Vector Machine (SVM), este ha sido ampliamente utilizado en la clasificación del sentimiento binario, y los estudios han demostrado que SVM es uno de los algoritmos más precisos en la clasificación del sentimiento.
On the other hand, a pesar de los grandes resultados que se han logrado con ML, hay quienes la critican, ya no está garantizado que los algoritmos con ML siempre funcionan para cada caso, a veces ML fallará, por lo que se necesita entender el problema, para aplicar el algoritmo de la manera correcta, adicionalmente algunos algoritmos con ML requieren un montón de datos, tales como algoritmos de aprendizaje profundo, puede ser agotador adquirir esa gran cantidad de datos, afortunadamente, hay un montón de datos para fines de formación y reconocimiento de imágenes. Afortunadamente, no todo es malo, ya que el aprendizaje de las máquinas tienen una serie de ventajas como por ejemplo: las máquinas son más rápidas que las personas, por lo que ahorra tiempo; son usados en una gran cantidad de aplicaciones, como reconocimiento de voz, reconocimiento de patrones y rostros, se utiliza para capturar ladrones cualquier persona involucrada en una escena del crimen; Facebook y Google los usan para etiquetar a las personas en las fotos, hacer traducciones entre idiomas, se usan en la predicción de alguna enfermedad en los pacientes y hasta en la predicción del clima, entre otras; las máquinas van a mejorar eventualmente sus errores hasta alcanzar grandes precisiones y exactitudes en la toma de decisiones.
Deep Studying (DL)
Es un nivel más profundo y un subconjunto de ML, en el que una máquina utiliza cantidades masivas de datos y algoritmos altamente complejos para “learn” y para simular la toma de decisiones como lo hace un humano. Deep Learning es la parte más profunda del cerebro de la inteligencia artificial, conduciendo hacia el Pure Language Processing (NLP), permitiendo a la máquina aprender casi de todo y mejorar sobre sí misma para la próxima vez, tal y como lo hacen los humanos. El DL es un subconjunto de un campo más basic de AI llamado ML, que se basa en esta concept de aprender del ejemplo y adopta el enfoque de resolver problemas muy complejos con modelos complejos.
Una de las razones por lo que surge DL, es porque cuando se usan algoritmos tradicionales con ML para resolver problemas con una gran cantidad dimensional de datos (cuando se tiene muchas entradas y salidas), el rendimiento no es el esperado conforme se agregan más datos, ya que llega un punto en que este se mantiene constante. El comportamiento es completamente lo contrario cuando se usa DL, además de que esta es la tendencia deseada, esto se debe a que DL tiene la capacidad de aprender a centrarse en las características adecuadas por sí mismo, requiriendo poca orientación del programador. Básicamente, el aprendizaje profundo imita la forma en que funciona nuestro cerebro, I mean, que aprende de la experiencia, como saben, nuestro cerebro está formado por miles de millones de neuronas que nos permiten hacer cosas increíbles, incluso el cerebro de un niño de un año de edad puede resolver problemas complejos que son muy difíciles de resolver, incluso utilizando supercomputadores.
El aprendizaje profundo es un tipo de aprendizaje de máquina que es muy standard en la actualidad. Se trata de un tipo particular de modelo matemático que puede ser pensado como una composición de bloques simples (composición de funciones) de cierto tipo, y donde algunos de estos bloques se pueden ajustar para predecir mejor el resultado closing.
La palabradeepsignifica que la composición tiene muchos de estos bloques apilados unos encima de otros, es difícil ajustar los bloques que están lejos de la salida, ya que un pequeño cambio puede tener efectos muy indirectos en la salida. Esto se hace a través de algo llamado Backpropagation dentro de un proceso más grande llamado Gradient descent que le permite cambiar los parámetros de una manera que mejore su modelo.
Ahora, tomemos un ejemplo para entenderlo, supongamos que queremos hacer un sistema que pueda reconocer caras de diferentes personas en una imagen (como lo hace Facebook). Si resolvemos esto como un típico problema de ML, definiremos características faciales como ojos, nariz, oídos, and many others. y luego, el sistema identificará qué características son más importantes para cada persona por sí misma. However, con DL se va un paso más allá, ya que este descubre automáticamente las características que son importantes para la clasificación debido a redes neuronales profundas, mientras que con ML tuvimos que definir manualmente estas características.
En el primer bloque, fija los patrones de contraste local, después en el siguiente bloque es capaz de usar esos patrones de contraste native para fijarse en cosas que se asemejan a ojos, narices y bocas, and finally, en el bloque capa final es capaz de aplicar las características faciales a las plantillas de una cara, para dar los respectivos resultados.
Algoritmos de reconocimiento facial
En lo últimos años el avance en las tecnologías y con el aumento en las capacidades de los hardwares, como CPUs, GPUs y TPUs ( Tensor Processing Unit ), han permitido el surgimiento de nuevos algoritmos usando Deep Learning, aumentando sus rendimientos y tiempos de respuesta en el procesamiento de los datos, sobre todo con imágenes y movies, que contienen mucha información cuando se tiene que realizar algún reconocimiento en tiempo real.
En la actualidad existe una gran cantidad de algoritmos que usan machine studying para hacer diversos reconocimientos de patrones en las imágenes. Una de las características interesantes de determinar en las imágenes, es el género de la persona; aunque esto no es una tarea fácil, existen algoritmos y aplicaciones que realizan esta labor con una gran confianza.
Gupta, S. (2015) realizó un estudio de algunos algoritmos en esta área. El mismo describe el proceso common que se debe seguir para determinar el género de la persona en una imagen. Este consiste en convertir la imagen a una escala gris y eliminar las intensidades de luz algún efecto indeseado que se capturó cuando se tomo la foto; detectar la posición de algunas características de la cara, como los ojos, nariz y boca; usar algoritmos como Triangulación de Delaunay y calcular las distancias Euclidianas entre algunas partes de la cara y por último está, utilizar algún algoritmo de ML para clasificar la cara dentro de la imagen como masculina femenina, comparando los resultados de la distancias Euclidianas con otras imágenes en las bases de datos.
Dentro de los algoritmos para determinar el género que usó Gupta, S. (2015) estan los que se pueden encontrar en WEKA (colección de algoritmos de aprendizaje automático para tareas de minería de datos). El algoritmo que tuvo un mayor porcentaje de exactitud, alrededor de 93.eight%, son los árboles funcionales y con un valor bastante appreciable que otros algoritmos, como el Naive Bayes.
Pure Language Processing (NLP)
Esto es otra área de AI y tiene que ver con el lenguaje (generalmente escrito). Es el componente que une la brecha entre la conversación humana y la comprensión programada por un ordenador. NLP permite a la computadora interpretar el vasto y complicado lenguaje humano, entender lo que se dice, procesarlo, reflejar lo que se requiere de él y efectivamentehablar”, al igual que los humanos.
A través del proceso, la máquina tiene que entender toda la jerga que se está utilizando y desarrollar adaptarse con la capacidad de responder, no como una computadora, sino más bien como una computadora humana. Deshpande, To. (2017) menciona que NLP tiene que ver con la creación de sistemas que procesanentiendenel lenguaje para realizar ciertas tareas, como responder preguntas, analizar el sentimiento en una frase, hacer traducciones entre diferentes idiomas, entre otras.
Deshpande, To. (2017) también hacer una comparación bastante interesante, en como se hacía el NLP en su forma tradicional y como se hace ahora usando DL. Ya que por ejemplo, antes NLP implicaba mucho dominio de la propia lingüística, los términos comprensibles tales como fonemas y morfemas eran bastante estándares pues hay clases lingüísticas enteras dedicadas a su estudio, para analizar una palabra esta se debe descomponer en sus prefijos, sufijos y analizar la raíz de la misma. However, con DL, este proceso es completamente diferente, ya que usa diversas técnicas.
Una de las técnicas usadas, es tratar de representar las palabras en vectores numéricos y almacenarlos de una forma eficiente. For example, Word2Vec, la concept básica detrás de esta técnica, es que trata de almacenar tanta información como pueda en este vector de palabras, manteniendo la dimensionalidad a una escala manejable (25 a a thousand dimensiones), esta técnica opera sobre la idea de que quiere predecir las palabras circundantes de cada palabra.
Agentes cognitivos y chatbots
Los agentes cognitivos pueden definirse como entidades de software program semiautónomos que ayudan a los individuos a lidiar con las complejidades cuando trabajan en un entorno de información distribuido, también se definen como programas de software program que realizan un conjunto de tareas en nombre de un usuario u otro programa con cierto grado de independencia, adicionalmente se puede decir que los agentes de software son programas informáticos que se ejecutan en segundo plano y realizan tareas de forma autónoma. Un agente debe ser capaz de ocupar un entorno con otros agentes y procesos, y ser capaz de comunicarse y colaborar con ellos.
Los agentes pueden tener diversas características, dentro de ellas están: reactividad (capacidad de detectar y actuar selectivamente), autonomía, comportamiento colaborativo (puede trabajar en colaboración con otro agente para lograr un objetivo mutuo), capacidad de comunicación, capacidad inferencial (puede realizar en la especificación abstracta de la tarea usando conocimiento previo de metas generales y de métodos elegidos para alcanzar flexibilidad) , continuidad temporal, personalidad (la capacidad de exhibir los atributos de un personaje creíble como la emoción), adaptabilidad (ser capaz de aprender y progresar con la experiencia) y movilidad.
(Gracias a Ncubo por permitirme hacer este proyecto)
Un chatbot es un programas con inteligencia artificial que imitan el comportamiento de un humano y cuya finalidad es conversar con los clientes para dar respuesta a sus dudas y hacerle sugerencias, ofreciendo así una atención personalizada; son programas informáticos que se comunican con sus usuarios mediante el uso del lenguaje pure. Los chatbots agentes de conversación artificialmente inteligentes pueden utilizarse para automatizar la interacción entre una empresa y un cliente.
Los chatbots han existido durante años con cierto grado de inteligencia, la primera aparición fue en los años 60. Estos primeros usaron la correspondencia simple de palabras clave para generar una respuesta, desde entonces ha ocurrido muchas apariciones y muchos chatbots han sido desarrollados utilizando diferentes técnicas como la correspondencia de patrones, extracción de palabras clave, NLP, ML y DL.
Los chatbots tienen el potencial de transformar significativamente la forma en que interactuamos y comunicamos digitalmente, el objetivo ultimate de los chatbots es reemplazar las interfaces más comunes que usamos en computadoras y dispositivos conectados, los mismos proporcionan la ventaja de utilizar lenguaje natural para comunicarse con empresas y servicios a través de una interfaz acquainted.
Los chatbots ahora están cambiando a la interfaz de mensajería móvil, la aplicación de mensajería móvil de chatbots con fines comerciales se le llamacomercio conversacional”. Estos bots puede responder con mensajes, recomendaciones, actualizaciones, enlaces botones y los clientes pueden comprar productos, todo en la misma interfaz del mensajero. Los pagos futuros a través de las aplicaciones de chat permitirán que el chat se convierta en un canal de compras único, que no requiere dejar la interfaz para completar un pedido, lo que permite una experiencia de compra sencilla. El pedido, la facturación y la entrega pueden ser manejados en la aplicación de mensajería, un robotic puede eventualmente convertirse en un asistente private capaz de proporcionar una gama de servicios.
Los chatbots tiene muchos campos en los que son posibles crear aplicaciones y especialmente chatbots orientados a tareas tienen una utilidad clara en aplicaciones reales, ya que están construidos para ayudar a los usuarios a lograr algún objetivo específico, como hacer una reserva de restaurante, pedir una pizza, reservar un vuelo, entre otras. El uso de bots en lugar de asistentes humanos podría reducir el tiempo y el esfuerzo necesarios para obtener ayuda con la tarea específica. Un chatbot puede reconocer la intención del comprador y refinar las ofertas basadas en las opciones y preferencias del comprador, facilitando la venta, la orden y el proceso de entrega.
En este proceso de integración de los chatbots, es cierto que desplazarán mano de obra en algunas áreas, pero serán las más rutinarias, repetitivas y las que menos valor aportan en los procesos de trabajo. Con la integración de estos nuevos asistentes, la empresa cut back ampliamente el esfuerzo humano, lo que permite a las personas centrarse en aquellas tareas en las que puede aportar mayor valor a su trabajo. Los nuevos asistentes personales mejorarán la experiencia de usuario, haciéndola más personal, permitiendo dinamizar y optimizar las conversaciones con los clientes.
En la actualidad existen varias plataformas para crear chatbots, dentro de ellas están las más populares son LUIS de Microsoft, Dialogflow de Google y Watson de IBM. Todas ellas tienen y usan conceptos muy similares en la creación de un chatbot, ya que por ejemplo, todas usan lo que llaman intenciones y entidades, los cuales son usados para determinar lo que el usuario quiere expresar. Los mismos difieren en algunas características distintivas, una de ellas es la forma en cómo responden al usuario para desambiguar, ya que por ejemplo Watson usan un árbol de decisión, mientras que Dialogflow no, las respuestas al cliente se dan de acuerdo a las variables de contexto que tenga y permita en la entrada de cada intención.
(Gracias a Ncubo por permitirme hacer este proyecto)
La implantación de esta tecnología está aumentando considerablemente y ya no es solo cuestión de unas pocas grandes empresas como Amazon , Apple Google Hoy en día, cualquier negocio puede crear un chatbot y esto es una tendencia que ha ido en ascenso y que empezará a consolidarse definitivamente en 2018. Las empresas no tendrán más opción que integrar la automatización inteligente para mantenerse al día.
Share
Growing a tremendous Chatbot.. What’s a Chatbot? First to grasp how it works, it’s good to know the way it was originated and some algorithms like the Natural Language Processing (NLP). It is one other AI area, however it is around the language (often written), it’s the part that bridges the gap between human dialog and understanding programmed by a computer. NLP permits the computer to interpret the vast and sophisticated human language, understand it, course of it, and effectivelycommunicate”, identical to people.
Via the process, the machine has to grasp all the jargon that’s being utilizing and growing or adapting with the ability to reply, as a human laptop. NLP has to do with the creation of methods that process orunderstandthe language to carry out sure duties, comparable to answering questions, analyzing the sentiment in a sentence, making translations between different languages, and one other.
Prior to now, the NLP concerned a whole lot of mastery of …
Share
Would you want to control the TELEVISION utilizing your voice with out spend some huge cash?.. Superb right artificial intelligence?. So, in this publish, I will educate you how to do this and more.
A few of my desires always have been control things without contact them, for example: the television, attributable to tired to lift the hand to vary the channel. So.. let’s create a tool that may do this action routinely.
What issues will we need? First, I ought to understand the problem and bear in mind about it. For instance: if we want to control a TV that’s not good, how will we do this?.. a chance is to send infrared alerts (IR) to transmit the events that the individual’s desire.
Also, if I would like that the system can hear me, I might have a microphone. Moreover, it ought to have a speaker to speak with the folks.
Further, I will need a database to save all the information, APIs that can help me with the smart logic and low-cost electronic components like a Raspberry Pi , resistors, leds, wires and a protoboard. TVs Inter…
Share

0

Leave A Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.