Cuando una IA te dice que no eres humano
Cómo funcionan los detectores de IA (y por qué no podemos confiar en ellos).
“Este texto ha sido generado por IA” fue lo que nos dijo la profesora, mientras resaltaba un par de párrafos que yo había escrito para un trabajo grupal de la universidad.
Técnicamente lo que la profesora nos estaba diciendo era que Turnitin (una herramienta de revisión académica) había marcado esos párrafos como probablemente escritos con IA.
Imagínate el shock. Estaba ahí, frente a mis compañeros, tratando de explicar por qué esos párrafos que había escrito con dedicación y cariño eran tratados como creados por una máquina. ¿Cómo demuestras que realmente sí escribiste algo?
Por suerte, sé algo sobre cómo funciona la IA 😉, y terminamos teniendo una conversación súper interesante acerca de estas herramientas de detección, cómo trabajan y por qué no son 100% confiables.
Luego me puse a pensar:
Había sido acusado por una máquina de no ser humano.
Así que me puse a investigar más a fondo cómo funcionan estos detectores, como analizan el texto y qué tan confiables son; y eso es de lo que quiero hablar hoy.
Nota: ¿Cómo es eso de la universidad?
Pues nada. Desde hace un par de años estoy estudiando la carrera de Ingeniería Económica. Qué te puedo decir, tengo 46 y no paro de aprender cosas nuevas :)
volviendo al tema:
Había sido acusado por una máquina de no ser humano.
¿Se puede detectar el texto generado por IA?
it’s complicated
Todos nuestros asistentes de IA han sido entrenados con millones y millones de textos creados por humanos para imitar la forma en que escribimos. Es es literalmente su trabajo. Encima de eso, cada nueva versión de ChatGPT, Claude, Gemini, etc, escribe cada vez de manera “más humana” y eso es lo que me deja pensando si realmente podemos detectar que algo fue escrito por una máquina o por una persona.
Hay toda una industria alrededor de esto. Universidades y empresas buscan formas de identificar contenido generado por IA, así que se han invertido muchos millones en crear soluciones que intentan detectar esto. Me puse a leer un poco y encontré cinco métodos principales que se usan para tratar de resolver este problema.
Te adelanto que ninguno de estos métodos es 100% confiable, y justo por eso es que vale la pena entender cómo funcionan.
Perplexity
No estoy hablando del buscador. Cuando digo perplejidad (perplexity), estoy hablando de una forma de medir qué tan “predecible” o “sorprendente” es un texto para un LLM. Este es el método más común para tratar de detectar si un texto ha sido escrito por una IA o por un humano.
Por ejemplo, imagina que te pido que completes la frase:
“El cielo es ________”
Seguramente lo primero que te vino a la cabeza fue “azul”, que es la continuación más común y la que un modelo de lenguaje escribiría. Es decir que tiene baja perplejidad, o en castellano, que eso “no sorprende a nadie”.
Le hice la pregunta a ChatGPT y me dio estas respuestas:
“El cielo es azul”
“El cielo es infinito”
“El cielo es hermoso”
“El cielo es el límite”
Todas estas respuestas son bastante predecibles, así que, según este método, es más probable que hayan sido escritas por una máquina.
En cambio si las respuestas fueran:
“El cielo es comer cau cau tirado en la cama mientras veo Netflix” (no me juzgues)
“El cielo es una invención del gobierno para ocultar a los extraterrestres”
Digamos que son un poquitito más difíciles de predecir, o sea, que tienen alta perplejidad.
Algunos detectores usan este método porque los textos generados con IA tienen baja perplejidad. Es decir que la IA suele escoger las palabras más “seguras” al momento de escribir y esto hace que sea predecible. Se supone que los humanos somos menos estructurados, algunos menos que otros :P, y en consecuencia menos predecibles.
El problema con este método es que usualmente los textos claros, directos y bien estructurados (como se supone que tenemos que escribir) son más predecibles, que cuando, no sé, incluyes cau cau, series de los 80s y otro tipo de cosas random en tus documentos.
Así que mientras mejor escribas más probable es que crean que eres un robot.
Pero la perplejidad no solo se trata de palabras. Estas herramientas también miden como cambia la estructura de tus oraciones, esto se llama “burtstiness”.
Los humanos escribimos oraciones variadas. Tal vez empiezas con una oración compleja, luego una sencilla, después un chiste… tú me entiendes. Los robots suelen tener una estructura más uniforme (y predecible).
Entonces, estas herramientas usan estos dos factores para tratar de decidir qué tan probable es que un texto haya sido escrito por una IA.
¿Funciona? A veces. ¿Es confiable? Nope.
Análisis de estilo
Cada uno de nosotros (incluyendo a las máquinas) tiene una forma de escribir. El análisis de estos estilos de escritura se llama stylometry. Es algo así como la huella digital de nuestros textos.
Por ejemplo, mira estas frases breves criticando a los detectores de IA, cada una de un autor diferente:
“Los detectores de IA son herramientas fundamentalmente poco fiables que a menudo penalizan injustamente la escritura humana legítima debido a sus altas tasas de falsos positivos” (Gemini)
“Los detectores de IA fallan demasiado como para considerarlos herramientas confiables”(ChatGPT)
“Los detectores de IA son notoriamente imprecisos, penalizando injustamente a estudiantes y profesionales con falsos positivos mientras los verdaderos tramposos aprenden fácilmente a eludirlos” (Claude)
“[indignado] ¡Ahora son las máquinas las que nos dicen si somos humanos o no! No les creas [/indignado]” (Germán)
Todas las frases dicen más o menos lo mismo, pero cada uno tiene su estilo, y este análisis busca patrones en la escritura. Qué tan diferentes son las oraciones en el texto, cuántas palabras comunes usa, cómo es la puntuación, etc.
Si te preguntas cómo se puede analizar el estilo, te cuento que encontré un paper muy interesante: “Distinguishing AI-Generated and Human-Written Text Through Psycholinguistic Analysis” que distingue 29 características.
Aquí las seis categorías de estas características:
Léxicas: miden el vocabulario y la variedad de palabras.
Sintácticas: analizan la estructura de las oraciones y su complejidad.
Sentimiento y subjetividad: mide la emoción y opinión del texto.
Legibilidad: mide qué tan fácil es leer y comprender el texto.
Entidades nombradas: analiza las referencias a personas, lugares, fechas, etc.
Unicidad y variedad: evalúan que tan original es el texto y si tiene diferentes estructuras.
Los detectores buscan patrones que les parezcan “sospechosos”.
Por ejemplo: unos buscan el uso de algunos signos de puntuación (¿alguien dijo em dash “—”?), otros buscan palabras muy sofisticadas o demasiado simples; también analizan si las oraciones son más o menos del mismo tamaño.
Una de las cosas que se le critica a este método es que puede ser injusto con las personas que no son nativas de un lenguaje, y que suelen escribir con un estilo más directo y simple que coincide con alguno de los “patrones sospechosos” de los detectores de IA.
Machine Learning
¿Y si usamos IA para ver si algo es IA? Gran idea, usar la IA para que nos diga si algo es humano… creo que así empezó terminator.
Para hacer esto entrenamos modelos de machine learning con miles y miles de textos, cada texto tiene una “etiqueta” que dice si lo escribió un humano o una máquina. Con ese entrenamiento, el modelo aprende a reconocer los patrones de cada uno, y cuando termina el entrenamiento el modelo está listo para tratar de clasificar cualquier texto que le des y decirte si cree que fue escrito por un humano o por una IA.
Suena bien, ¿no?
Pues la realidad es que no funciona nada tan bien. Por ejemplo, en el 2023 OpenAI lanzó un clasificador que lograba identificar correctamente el texto generado por IA sólo el 26% de las veces. Y para hacer la cosa aún más fea, le decía al 9% de los humanos de carne y hueso que sus textos eran generados por IA. A esta herramienta le fue tan mal que terminaron dándole de baja luego de pocos meses.
Hay otras herramientas, pero todas sufren de lo mismo. Necesitan una cantidad mínima (alrededor del 20%) de contenido generado por IA en un documento para poder clasificarlo correctamente. Además están configuradas para tratar de evitar acusar a un humano de ser una máquina (aunque me pasó a mi), y esto hacer que dejen pasar bastante contenido hecho por la IA.
Encima de todo esto hay un problema más profundo. Esta tecnología solo sirve para detectar el tipo de texto con el que los entrenaron. Es decir que si entrenamos a un detector con textos creados por GPT-3 nada te asegura que seguirá funcionando con GPT-4. Además si lo entrenas con contenido en inglés, puede fallar en castellano. Y (como te imaginarás) cada vez que sale un nuevo modelo, estas herramientas quedan obsoletas.
y que tal si les ponemos…
Marcas de agua
Sí, marcas de agua.. como en los billetes. ¿Aún recuerdas lo que es un billete, no?
Tal vez hoy sólo uses billeteras digitales, y los billetes sean algo del pasado. Aunque hay algo especial en cargar billetes (sobre todo cuando se te acaba la batería del celular).
En fin, resulta que para evitar que la gente falsifique estos billetes se inventó algo llamado marcas de agua. Son dibujos que se agregan al papel desde su fabricación y que sólo se ven a contraluz.
Pues eso mismo es lo que pueden hacer las empresas de IA: marcar sus textos desde la fábrica.
Es decir, que pueden incluir una “firma invisible” en el texto que generan. Para hacer esto sus modelos de lenguaje tienen que escribir de una forma específica que no pueda ser detectada por un humano cuando lee el texto, pero sí por detectores que conocen esa forma específica de escritura.
Y esto, en teoría, es una solución casi perfecta. Si tuviéramos estas marcas de agua en el texto podrías saber con certeza si fue escrito por un robot o por un humano. Sólo hay un pequeño detalle…
Para que esto funcione se necesita que todas las compañías agreguen estas marcas de agua a sus modelos de lenguaje. Me parece muy difícil que Google, OpenAI, Claude, Meta, Mistral, DeepSeek, Alibaba, etc, etc, se pongan de acuerdo y lo implementen. Y ni hablar de los modelos de lenguaje open source.
Nota: Me imagino que para muchas de estas compañías no es muy conveniente que se detecte tan fácilmente que un texto fue escrito por un LLM.
Análisis semántico
Este método es muy interesante. En sencillo, es una forma de preguntarle a una IA si ella fue la que escribió algo.
Básicamente se trata de agarrar un texto, tratar de ver qué LLM pudo haberlo escrito y luego usar ese mismo LLM para ver qué tan probable es que esa IA sea el autor.
¿Y cómo se hace eso? Te preguntarás.
Pues se generan pequeñas variaciones del texto y se ve si es más probable que la IA haya escrito alguna variación que el original. Si ChatGPT dice que todas las variaciones son menos probables que la versión original, es casi seguro que la versión original fue escrita por ChatGPT. ¿Me explico?
Déjame darte un ejemplo, digamos que quieres probar verificar si este texto es de humano o de IA.
“Me encantan los callos a la madrileña, pero prefiero el cau cau.”
Lo primero que tengo que definir es cuál de todas las IAs pudo haber generado este texto. Digamos que escojo a ChatGPT.
OK, entonces ahora tengo que hacer algunas variaciones y “preguntarle” a ChatGPT qué tan probable es que él haya escrito todas las variaciones (además del texto original).
Digamos que le paso el original y algunas variaciones y que ChatGPT me da la probabilidad de haber escrito cada una.
“Me encantan los callos a la madrileña, pero prefiero el cau cau.” (prob: 70%)
“Me fascinan los callos a la madrileña, aunque prefiero el cau cau.” (prob: 85%)
“Me entusiasman los callos a la madrileña, pero me inclino por el cau cau.” (prob: 72%)
“Me seducen los callos a la madrileña, pero conservo mayor predilección por el cau cau.” (prob: 25%)
Fíjate cómo hay variaciones que son más probables que el texto que original quiero comparar… con esto podría decir que es poco probable que este texto haya sido escrito por ChatGPT.
Peeeeeeeeeeeeero, ahora me tocaría probar con los otros cuchucientos LLMs que existen, ¿te imaginas hacer todo este proceso para cada uno de ellos? Por aquí le decimos a eso “trabajo de hormiga”. Y ni hablar de cuánto costaría hacer esas pruebas.
Nota: por supuesto, estoy sobre simplificando el proceso y la matemática detrás de esto, si quieres saber más, dale una leída al paper: “DetectGPT: Zero-Shot Machine-Generated Text Detection using Probability Curvature”
¿Y qué pasa cuando escribes en español?
Pues parece que todos los métodos que te acabo de mostrar funcionan peor en español.
Esto pasa porque todos estos detectores han sido entrenados principalmente con textos en ingles, probablemente el 80% de todo su entrenamiento. El 20% restante es para todos los otros idiomas del mundo…. así que andamos fregados.
Con decirte que cuando OpenAI lanzó su herramienta de detección dijeron literalmente “Recomendamos usar el clasificador solo para texto en inglés. Su desempeño es significativamente peor en otros idiomas.”
Yes, sir.
¿Realmente estamos haciendo que las máquinas decidan si somos humanos?
Piénsalo por un segundo. Hemos entrenado inteligencia artificial usando millones y millones de textos escritos por humanos hasta que finalmente logramos que una máquina escriba como nosotros. Ahora, ya no podemos ver la diferencia entre el texto escrito por robots y por seres humanos, y eso es un problema.
Entonces, para resolver este problema, estamos creando nuevas máquinas para que sean ellas las que analicen el texto y nos digan si fue creado por humanos o no. ¿Estás seguro que eso es lo que queremos? ¿No crees que le estamos dando demasiado poder a Skynet?
Por mi lado, espero no ser acusado de ser una IA otra vez en el futuro ;)
Abrazo,
G (el humano)







