Experimentando con ChatGPT para corregir gramática y ortografía en artículos periodísticos

Por: Karen De la Hoz

Recientemente participé en The Generative AI in the Newsroom Project, un proyecto promovido por el profesor e investigador Nick Diakopoulos para explorar los usos de la inteligencia artificial en la sala de redacción. El siguiente artículo, publicado originalmente aquí, resume mi exploración de ChatGPT para corregir redacción y ortografía:

La Silla Vacía, un reconocido medio nativo digital colombiano, tiene una sección llamada En Vivo. Todos los periodistas de la redacción hacen al menos un turno de 6 horas cada 15 días para actualizar esta sección. Su objetivo es narrar, a través de entradas de texto cortas y concisas, las principales noticias del momento. 

Reducir el número de errores de redacción, gramática y ortografía en el En Vivo, y en todas las secciones del sitio, es uno de los objetivos de periodistas y editores. Para facilitar esta labor comenzamos a experimentar con varios de los modelos de OpenAI (GPT-3.5 y GPT-4). 

El objetivo a mediano plazo es generar un círculo virtuoso: periodistas más conscientes de sus errores, que se editan en tiempo real y pasan menos errores a sus editores, que a su vez dedican menos horas a corregir errores sencillos y tienen más tiempo para ocuparse de labores más relevantes para el medio y para la audiencia.

Los resultados de nuestras pruebas son agridulces. El sistema identifica y corrige la mayoría de los errores. Sin embargo, en ocasiones indica haber corregido una frase, pero al revisar la frase “corregida», esta es exactamente igual a la original. Adicionalmente, como trabajamos con un sistema que no entrenamos con nuestro estilo de escritura, algunas de sus sugerencias, aunque son gramaticalmente correctas, no nos resultan relevantes. Por último, la creación y perfeccionamiento de prompts tarda más tiempo del que estimamos inicialmente.

A pesar de lo anterior, confío en que podemos alcanzar un punto en el que el sistema nos permita revisar la correcta aplicación de nuestro manual de estilo. La colaboración y la documentación compartida son clave en este proceso. En ningún escenario contemplamos publicar un texto corregido por ChatGPT sin que estas correcciones hayan sido aprobadas por un periodista o un editor humano.

A continuación describo mi proceso de experimentación con ChatGPT.

Randomness, system prompts y user prompts

Al iniciar este experimento quería lograr dos cosas: que el sistema hiciera correcciones a un texto y que el sistema me indicara en formato lista qué había corregido y por qué. Obtener una lista de errores y sugerencias me parecía la forma más óptima de sacar provecho de la AI y la forma más rápida de integrar sus sugerencias a un texto.

Este fue uno de los primeros prompts que utilicé en GPT-3.5 desde chat.openai.com: Actúa como un editor de estilo. Identifica e indícame errores gramaticales como redundancias, errores de concordancia en género y número o errores en los usos de los signos de puntuación. También indícame palabras mal escritas o typos e identifica cualquier incoherencia en el estilo del texto. Al mostrarme los resultados indícame la frase original, el error y la nueva redacción que me propones.

Empecé a notar que, aunque la instrucción era la misma, el sistema hacía cosas diferentes cada vez que interactuaba con él. Por sugerencia de Nick, comencé a hacer pruebas desde el Playground de OpenAI, una interfaz diferente la anterior, y entendí que había una variable llamada temperature a la que podía asignarle un valor de entre 0 y 2, y que entre más cerca fuera ese valor a 0 las respuestas del sistema serían más coherentes y predecibles; en otras palabras, menos aleatorias. Así entendí que podía controlar el “randomness”. 

En GPT-4 también empecé a distinguir entre “system prompts» y “user prompts”. El “system prompt» es el texto inicial que se da al modelo para establecer el contexto de la conversación. El “user prompt» se utiliza para orientar al modelo hacia el objetivo específico de la conversación.

Estas fueron algunas de las versiones de system prompt que utilicé: 

  • Actúa como un editor de estilo.
  • Actúa como un editor de estilo en un medio de comunicación. 
  • Eres un experto en gramática española y un editor en un medio de comunicación. 
  • Eres un experto en gramática española y un periodista y editor con amplia experiencia. Tienes habilidad para editar noticias, garantizar el uso correcto y preciso del lenguaje, la redacción y la ortografía. 
  • Eres un experto en gramática y un periodista y editor con amplia experiencia. Tienes excelente redacción y ortografía. (Este es mi favorito hasta ahora)

Para construir los user prompts revisé el Manual de estilo de La Silla Vacía e identifiqué una lista de errores que quería corregir usando ChatGPT. Lo que mejor me funcionó fue crear un prompt para cada norma y, cuando comprobaba que ese prompt funcionaba, intentaba construir prompts que integraran instrucciones que habían funcionado por separado. En la mayoría de los casos utilicé zero-shot prompt, aquellos en los que se da al sistema una descripción o una indicación de lo que se espera que pueda hacer, sin introducir ejemplos específicos. 

Para probar los prompts que había creado preparé un set de 5 textos de prueba y agregué intencionalmente los errores que quería que el sistema corrigiera. Si el sistema no corregía los errores hacía ajustes al prompt y volvía a intentarlo. En ninguno de los casos le indiqué al sistema lo que estaba haciendo mal, solo volvía a intentarlo. Cuando logré corregir los errores en los textos de prueba, hice pruebas en tiempo real con 15 artículos. Este fue uno de los prompts que utilicé:

Corrige typos, redundancias y palabras repetidas. Corrige cualquier error en el uso de signos de puntuación. Nunca separes el sujeto y el predicado por una coma. Usa comas antes y después de la información adicional. Usa comas después de expresiones de enlace. Corrige cualquier error en la conjugación de tiempos verbales. 

Como mi objetivo era tener las correcciones y sugerencias en formato lista, utilicé un segundo prompt para conseguirlo. Mi primera intuición fue crear un único user prompt que incluyera la indicación de corregir los errores y listar esos errores, pero como no obtuve buenos resultados decidí usar prompts separados. Así fue evolucionando este segundo prompt:

  • Indícame qué correcciones realizaste
  • Indícame todos los cambios que realizaste en el texto
  • Lista todos los cambios que realizaste en el texto
  • Lista, uno a uno, todos los cambios que realizaste en el texto

Nota: A finales de mayo, cuando estaba revisando la ortografía y gramática de este artículo, me di cuenta de que el prompt anterior no funcionaba tan bien como antes. El sistema comenzó a decirme «No se proporcionó ningún texto específico para corregir en la solicitud anterior. Por favor, proporcione el texto con los errores para que pueda hacer las correcciones y enumerar los cambios realizados». Hice un pequeño ajuste en el mensaje y eso solucionó el problema. Este fue el nuevo prompt:

  • Lista, uno a uno, todos los cambios que realizaste en el texto anterior.

Lo que me llamó la atención

  1. Correcciones de estilo: la sección En vivo usa un estilo cercano y mucha jerga política colombiana. Como el modelo no fue entrenado con el estilo de escritura de La Silla Vacía, en cada prueba obtuvimos sugerencias que, aunque gramaticalmente eran correctas, no nos resultaban útiles. 
  2. ¿Correcciones?: en algunos casos, el sistema presentaba como correcciones frases a las que no les había hecho ninguna modificación; es decir, la versión antes y después de la “corrección” eran exactamente iguales.   
  1. Manejo de citas directas: el sistema hacía cambios no esenciales en citas directas que se encontraban entre comillas. Entiendo que necesitaría indicaciones adicionales en el prompt para que el sistema pueda darles un tratamiento diferente a las citas directas. No hice pruebas adicionales para este tema.
  2. Sin alucinaciones ni información adicional: en ninguna de las 20 pruebas (las de errores introducidos ni las reales) el sistema agregó u omitió información diferente a la proporcionada.
  3. Gramática inglesa en las correcciones: la gramática española indica que el punto, la coma y el punto y coma se escriben siempre después de las comillas de cierre, en la gramática inglesa se escriben antes. A pesar de que todo este ejercicio se hizo todo en español (textos y prompts), al momento de listar las correcciones el sistema, en algunas ocasiones, usa gramática inglesa. 🤔
  4. Cambios de versión inesperados: este experimento y la retroalimentación de Nick me hicieron darme cuenta de la importancia de ser consciente de los cambios de versión en ChatGPT. Como usuarios, no tenemos ningún control sobre el sistema subyacente y éste podría cambiar de versión sin que nos diéramos cuenta, lo que podría afectar el funcionamiento de los prompts.

Conclusiones 

En resumen, las pruebas nos permitieron corregir errores en el uso de comas, errores en el uso de mayúsculas, errores de conjugación, errores tipográficos, eliminar palabras repetidas y mejorar la redacción de algunas frases. Por otro lado, recibimos sugerencias de estilo que no nos resultaron relevantes, y el modelo presentó como correcciones frases que no habían sido corregidas. Estos resultados se basan en pruebas con GPT-4 en modo chat; los parámetros utilizados fueron Temperature 0, Top 1, Frequency penalty 0 y Presence penalty 0. Las pruebas se realizaron entre abril y mediados de mayo de 2023. 

Finalmente, y aunque creo que la herramienta es útil, me pregunto si el Playground es la mejor interfaz para usar en el día a día en las salas de redacción para revisión de gramática y ortografía. Tal vez esto lo haría mejor otro sistema, tal vez es una interfaz más amigable con los parámetros deseados preestablecidos. Al tiempo me pregunto cuántas instrucciones diferentes puedo darle al sistema en un mismo prompt sin que esto afecte la calidad del resultado.

***
Agradecimiento: Gracias a Nick por su paciente acompañamiento y a María José Restrepo, periodista de La Silla Vacía, por su ayuda para probar los prompts. 

Deja un comentario