Aunque parece que en los últimos años términos con Realidad Virtual (VR), E-Healthcare o Fintech han relegado a un segundo lugar a la Inteligencia Artificial, parece que vuelve a estar de moda y que, en éste 2018 que tenemos en curso, será cuando se produzca explosión en el uso de la A.i. (Inteligencia Artificial en inglés) a través de los muy sonados Chatbots.
Pero, ¿qué es en realidad la A.I.? Estoy seguro que existen muchas definiciones y cada uno tendrá su preferida. Lo más común es recurrir a Wikipedia. Para que el bot (sin el chat) de Google no me penalice en el posicionamiento SEO, a continuación os dejo el link con la explicación sobre qué es Inteligencia Artificial según Wikipedia. Además, me gustaría añadir, si se me permite la licencia, mi propia definición de Inteligencia Artificial: dotar a una máquina o sistema de un algoritmo que simule nuestra forma de pensar para que, así, pueda tomar las mismas decisiones que tomaríamos nosotros, aprendiendo sobre la marcha y mejorando contínuamente.
El ser humano está en este mundo para aportar su pensamiento, criterio y experiencia; para las tareas repetitivas, ya tenemos a las máquinas.
Me gustaría, para conducir este artículo hacia el asunto que no atañe, hacer referencia a alguno de los cursos online a los que me he apuntado hace un tiempo. Se tratan de unos cursos cuyos programas formativos son -podríamos decir en base a la relación calidad/precio- aceptablemente buenos, pero con una serie de preguntas tipo test que, no nos vamos a engañar, poniéndonos en la piel del tutor (me ha tocado tutorizar varios cursos de LOPD y desarrollo Symfony y sé lo que es), crearlas es una laboriosa tarea, casi un incordio y, por eso, se recurren muchas veces a desarrollar una estructura similar, utilizando trozos obtenidos directamente del temario para definir las respuestas correctas y variaciones de las mismas para las incorrectas.
En el último curso de este tipo, tenía que realizar, en total, unas 13.000 preguntas tipo test, sin contar con los ejercicios prácticos. Como esta serie de preguntas tipo test son, podría afirmar casi con total seguridad, “de relleno y cubrir expediente”, decidí que no quería invertir casi 100 horas de mi tiempo en ello, así que ¿por qué no crear un sistema inteligente que responda las preguntas, tal como yo tú lo harías? En la última parte de la pregunta está el truco, el tick de la cuestión. Una máquina no puede hacer sola las cosas porque sí. Necesita que la enseñen a pensar, a aplicar unos criterios a la hora de proponer las respuestas.
Y, ¿cómo crear ese bot o máquina con Inteligencia Artificial que resuelva los ejercicios por mi? Muy sencillo, conociendo algún lenguaje de programación y escribiendo en él las secuencias de decisión que realiza nuestra mente.
Como sé que aún cuesta de creer y no me gustaría quedará en una simple divagación, intentaré demostrar cómo crear esta máquina casera para resolver exámenes, con una serie de premisas lógicas. Eso sí, debemos partir de que los exámenes son de tipo test y, cuyas respuestas se basan en los expuesto al comienzo del artículo, es decir, cuyas respuestas normalmente es de copia pega de frases o palabras que están definidas en el temario:
- Lo primero que se debe hacer es procesar la pregunta. La dividimos en cadenas de palabras y buscamos en el temario si está esa cadena.
- Si no hemos encontrado la cadena de texto de la pregunta en el temario, continuamos dividiendo la pregunta en cadenas más pequeñas hasta que la encontramos.
- Después pasamos a buscar en el temario coincidencias con las cadenas de texto de cada una de las respuestas. Intentamos obviar los adjetivos, conjunciones, etc.
- Si no encontramos la cadena, continuamos dividiendo la respuesta en subcadenas de menor tamaño.
- Si no encontramos ninguna de las cadenas (hasta llegar a cada una de las palabras) procedentes de la respuesta, contenida en el temario, la descartamos.
- Si encontramos una subcadena en el temario, calculamos la distancia que hay entre la subcadena de la pregunta y la subcadena de la respuesta (número de espacios, por ejemplo).
- Hacemos el mismo proceso con el resto de respuestas.
- Para valorar cuál es la respuesta más acertada (hasta ahora no he conseguido el 100%, por lo que simplemente es una ayuda) comparamos las distancias de las respuestas encontradas.
- La respuesta con una valor menor, es decir, la más próxima, es la que tiene más probabilidades de ser la correcta.
- Por último, sólo nos queda afinar algunas preguntas de tipos concretos
- Preguntas en las que se incluye una Respuesta tipo “todas las anteriores”. En este caso, debemos valorar si, en las premisas anteriores, se ha encontrado más de una respuesta posible
- Preguntas tipo lista, las típicas en las que se enumeran una serie de puntos y te marcan 4 respuestas similares pero cambiando alguna de las palabras. En este punto la clave es recorrer toda la lista de cada una de las respuestas y ver en cuál de ellas las palabras coinciden con las del temario.
Con estas consideraciones (y algunos detalles que seguro me dejo en el tintero, pero no son relevantes llegados a este punto), he podido crear una máquina inteligente que me aconseja cuál es la respuesta correcta. El ratio de acierto, actualmente, es del 76%.
Llegados a este punto, algunos se preguntarán si se puede hacer, si es ético, si es legal… Desde mi punto de vista es que lo único que he hecho es tener la capacidad de procesar de una forma infinitamente más rápida las decisiones que yo mismo tomo cuando me enfrento a estas situaciones. La máquina está creada por mi, piensa como yo le he dicho que ha de hacerlo, por lo que es lo mismo que si yo lo hiciera, pero de una forma mucho más efectiva.
¿Te imaginas todo lo que se puede hacer aplicando estos conceptos? ¿Hasta dónde puede alcanzar la Inteligencia Artificial para ayudar a facilitarnos nuestras tareas? Te invito a que lo descubras por tí mismo poniéndolo en práctica en alguna de las tareas repetitivas de tu vida y que lo cuentes al resto!
Comentarios recientes