Utilizar modelos de lenguaje grandes en la detección de noticias falsas

Aplicación de modelos de lenguaje avanzados en la detección de noticias falsas

Las noticias falsas, definidas como noticias que transmiten o incorporan información falsa, fabricada o deliberadamente engañosa, han existido desde los primeros tiempos de la imprenta. La rápida propagación de noticias falsas y desinformación en línea no solo engaña al público, sino que también puede tener un profundo impacto en la sociedad, la política, la economía y la cultura. Algunos ejemplos incluyen:

  • Fomentar la desconfianza en los medios de comunicación
  • Socavar el proceso democrático
  • Difusión de ciencia falsa o desacreditada (por ejemplo, el movimiento anti-vacunas)

Los avances en inteligencia artificial (IA) y aprendizaje automático (ML) han facilitado aún más el desarrollo de herramientas para crear y compartir noticias falsas. Ejemplos tempranos incluyen bots sociales avanzados y cuentas automatizadas que potencian la etapa inicial de propagación de noticias falsas. En general, no es trivial para el público determinar si tales cuentas son personas reales o bots. Además, los bots sociales no son herramientas ilegales y muchas empresas los adquieren legalmente como parte de su estrategia de marketing. Por lo tanto, no es fácil frenar el uso sistemático de los bots sociales.

Descubrimientos recientes en el campo de la IA generativa han hecho posible producir contenido textual a un ritmo sin precedentes con la ayuda de modelos de lenguaje grandes (LLMs). Los LLMs son modelos de texto de IA generativos con más de 1 mil millones de parámetros, y facilitan la síntesis de texto de alta calidad.

En esta publicación, exploraremos cómo se pueden utilizar los LLMs para abordar el problema prevalente de detectar noticias falsas. Sugerimos que los LLMs son lo suficientemente avanzados para esta tarea, especialmente si se utilizan técnicas de mejora de indicaciones como Chain-of-Thought y ReAct en conjunto con herramientas de recuperación de información.

Ilustramos esto creando una aplicación LangChain que, dada una noticia, informa al usuario si el artículo es verdadero o falso utilizando lenguaje natural. La solución también utiliza Amazon Bedrock, un servicio completamente administrado que hace que los modelos base (FMs) de Amazon y proveedores de modelos de terceros sean accesibles a través de la Consola de administración de AWS y las API.

LLMs y noticias falsas

El fenómeno de las noticias falsas comenzó a evolucionar rápidamente con la llegada de Internet y, más específicamente, de las redes sociales (Nielsen et al., 2017). En las redes sociales, las noticias falsas pueden compartirse rápidamente en la red de un usuario, llevando al público a formar una opinión colectiva errónea. Además, las personas a menudo propagan noticias falsas impulsivamente, ignorando la veracidad del contenido si las noticias resuenan con sus normas personales (Tsipursky et al. 2018). La investigación en ciencias sociales ha sugerido que el sesgo cognitivo (sesgo de confirmación, efecto de arrastre y sesgo de apoyo a la elección) es uno de los factores más cruciales para tomar decisiones irracionales en términos de la creación y consumo de noticias falsas (Kim, et al., 2021). Esto también implica que los consumidores de noticias comparten y consumen información solo para reforzar sus creencias.

El poder de la IA generativa para producir contenido textual y rico a un ritmo sin precedentes agrava el problema de las noticias falsas. Un ejemplo que vale la pena mencionar es la tecnología deepfake, que combina diversas imágenes en un video original y genera un video diferente. Además de la intención de desinformación que aportan los actores humanos, los LLMs añaden un conjunto completamente nuevo de desafíos:

  • Errores factuales: los LLMs tienen un mayor riesgo de contener errores factuales debido a la naturaleza de su entrenamiento y su capacidad para ser creativos al generar las siguientes palabras en una oración. El entrenamiento de LLM se basa en presentar repetidamente un modelo con una entrada incompleta y luego utilizar técnicas de entrenamiento de ML hasta que complete correctamente los vacíos, aprendiendo así la estructura del lenguaje y un modelo del mundo basado en el lenguaje. En consecuencia, aunque los LLMs son excelentes para encontrar patrones y recombinar información (“loros estocásticos”), fallan en una serie de tareas simples que requieren razonamiento lógico o deducción matemática, y pueden alucinar respuestas. Además, la temperatura es uno de los parámetros de entrada de los LLMs que controla el comportamiento del modelo al generar la siguiente palabra en una oración. Al seleccionar una temperatura más alta, el modelo utilizará una palabra con una probabilidad más baja, proporcionando una respuesta más aleatoria.
  • Excesiva extensión: los textos generados tienden a ser largos y carecen de una granularidad claramente definida para hechos individuales.
  • Falta de verificación de hechos: no existe una herramienta estandarizada disponible para verificar los hechos durante el proceso de generación de texto.

En general, la combinación de psicología humana y limitaciones de los sistemas de inteligencia artificial ha creado un escenario perfecto para la proliferación de noticias falsas y desinformación en línea.

Resumen de la solución

Los LLM demuestran capacidades sobresalientes en generación de lenguaje, comprensión y aprendizaje de pocas muestras. Se entrenan en un vasto corpus de texto de internet, donde la calidad y precisión del lenguaje natural extraído no están garantizadas.

En esta publicación, proporcionamos una solución para detectar noticias falsas basada en las técnicas de ingeniería de prompts Chain-of-Thought y Re-Act (Razonamiento y Actuación). Primero, discutimos estas dos técnicas de ingeniería de prompts, luego mostramos su implementación utilizando LangChain y Amazon Bedrock.

El siguiente diagrama de arquitectura describe la solución para nuestro detector de noticias falsas.

Diagrama de arquitectura para la detección de noticias falsas.

Utilizamos un subconjunto del conjunto de datos FEVER que contiene una declaración y la verdad sobre la declaración, indicando afirmaciones falsas, verdaderas o no verificables (Thorne J. et al., 2018).

El flujo de trabajo se puede desglosar en los siguientes pasos:

  1. El usuario selecciona una de las declaraciones para verificar si es falsa o verdadera.
  2. La declaración y la tarea de detección de noticias falsas se incorporan en el prompt.
  3. El prompt se pasa a LangChain, que invoca el FM en Amazon Bedrock.
  4. Amazon Bedrock devuelve una respuesta a la solicitud del usuario con la declaración Verdadera o Falsa.

En esta publicación, utilizamos el modelo Claude v2 de Anthropic (anthropic.claude-v2). Claude es un LLM generativo basado en la investigación de Anthropic para crear sistemas de IA confiables, interpretables y controlables. Creado utilizando técnicas como la IA constitucional y el entrenamiento de inofensividad, Claude destaca en el diálogo reflexivo, la creación de contenido, el razonamiento complejo, la creatividad y la programación. Sin embargo, al utilizar Amazon Bedrock y nuestra arquitectura de solución, también tenemos la flexibilidad de elegir entre otros FM proporcionados por Amazon, AI21labs, Cohere y Stability.ai.

Puedes encontrar los detalles de implementación en las siguientes secciones. El código fuente está disponible en el repositorio de GitHub.

Requisitos previos

Para este tutorial, necesitas una terminal bash con Python 3.9 o superior instalado en Linux, Mac o en un Subsistema de Windows para Linux, y una cuenta de AWS.

También recomendamos utilizar tanto un cuaderno de Amazon SageMaker Studio, una instancia de AWS Cloud9, o una instancia de Amazon Elastic Compute Cloud (Amazon EC2).

Implementar la detección de noticias falsas utilizando la API de Amazon Bedrock

La solución utiliza la API de Amazon Bedrock, que se puede acceder utilizando la Línea de comandos de AWS (AWS CLI), la AWS SDK para Python (Boto3) o un cuaderno de Amazon SageMaker. Consulta la Guía del usuario de Amazon Bedrock para obtener más información. En esta publicación, utilizamos la API de Amazon Bedrock a través del AWS SDK para Python.

Configurar el entorno de la API de Amazon Bedrock

Para configurar tu entorno de API de Amazon Bedrock, completa los siguientes pasos:

  1. Descarga la última versión de Boto3 o actualízala:

    pip install --upgrade boto3
  2. Asegúrate de configurar las credenciales de AWS utilizando el comando aws configure o pasándolas al cliente de Boto3.

  3. Instala la última versión de LangChain:

    pip install "langchain>=0.0.317" --quiet

Ahora puedes probar tu configuración utilizando el siguiente script de Python. El script instancia el cliente de Amazon Bedrock utilizando Boto3. A continuación, llamamos a la API list_foundation_models para obtener la lista de modelos fundamentales disponibles para su uso.

import boto3
import json

bedrock = boto3.client('bedrock', region_name=TU_REGION)
print(json.dumps(bedrock.list_foundation_models(), indent=4))

Después de ejecutar el comando anterior con éxito, deberías obtener la lista de FMs de Amazon Bedrock.

LangChain como solución de cadena de prompts

Para detectar noticias falsas para una determinada oración, seguimos el proceso de razonamiento de Cadena de Pensamiento sin etiquetas (Wei J. et al., 2022), que se compone de los siguientes pasos:

  1. Inicialmente, el modelo intenta crear una declaración sobre la noticia solicitada.
  2. El modelo crea una lista de puntos de viñeta de afirmaciones.
  3. Para cada afirmación, el modelo determina si la afirmación es verdadera o falsa. Hay que tener en cuenta que utilizando esta metodología, el modelo se basa exclusivamente en su conocimiento interno (pesos calculados en la fase de preentrenamiento) para llegar a un veredicto. La información no se verifica en este punto frente a ningún dato externo.
  4. Dado los hechos, el modelo responde VERDADERO o FALSO para la declaración dada en el prompt.

Para lograr estos pasos, utilizamos LangChain, una estructura para desarrollar aplicaciones impulsadas por modelos de lenguaje. Esta estructura nos permite ampliar los FMs encadenando varios componentes para crear casos de uso avanzados. En esta solución, utilizamos el SimpleSequentialChain integrado en LangChain para crear una cadena secuencial simple. Esto es muy útil, ya que podemos tomar la salida de una cadena y utilizarla como entrada de otra.

Amazon Bedrock está integrado con LangChain, por lo que solo debes instanciarlo pasando el model_id al momento de instanciar el objeto Amazon Bedrock. Si es necesario, los parámetros de inferencia del modelo se pueden proporcionar a través del argumento model_kwargs, como:

  • maxTokenCount – El número máximo de tokens en la respuesta generada
  • stopSequences – La secuencia de parada utilizada por el modelo
  • temperature – Un valor que varía entre 0 y 1, siendo 0 el más determinista y 1 el más creativo
  • top – Un valor que varía entre 0 y 1, y se utiliza para controlar las elecciones de tokens en función de la probabilidad de las opciones potenciales

Si es la primera vez que utilizas un modelo fundamental de Amazon Bedrock, asegúrate de solicitar acceso al modelo seleccionándolo de la lista de modelos en la página de Model access en la consola de Amazon Bedrock, que en nuestro caso es claude-v2 de Anthropic.

from langchain.llms.bedrock import Bedrock

bedrock_runtime = boto3.client(
    service_name='bedrock-runtime',
    region_name=TU_REGION,
)

model_kwargs = { 'max_tokens_to_sample': 8192 }

llm = Bedrock(model_id="anthropic.claude-v2",
              client=bedrock_runtime,
              model_kwargs=model_kwargs)

La siguiente función define la cadena de prompts de Cadena de Pensamiento que mencionamos anteriormente para detectar noticias falsas. La función toma como argumentos el objeto de Amazon Bedrock (llm) y el prompt del usuario (q). Aquí se utiliza la funcionalidad de PromptTemplate de LangChain para predefinir una receta para generar prompts.

from langchain.prompts import PromptTemplate
from langchain.chains import LLMChain
from langchain.chains import SimpleSequentialChain

def generar_y_imprimir(llm, q):
    total_prompt = """"""    # se pide al modelo que cree una lista de puntos sobre las afirmaciones
    template = """Aquí hay una afirmación:
    {afirmacion}
    Haz una lista de puntos sobre las suposiciones que hiciste cuando se te dio la afirmación anterior.\n\n"""
    prompt_template = PromptTemplate(input_variables=["afirmacion"], template=template)
    cadena_suposiciones = LLMChain(llm=llm, prompt=prompt_template)
    total_prompt = total_prompt + template
    
    template = """Aquí hay una lista de puntos sobre las afirmaciones:
    {afirmaciones}
    Para cada afirmación, determina si es verdadera o falsa. Si es falsa, explícalo.\n\n"""
    prompt_template = PromptTemplate(input_variables=["afirmaciones"], template=template)
    cadena_verificador_hechos = LLMChain(llm=llm, prompt=prompt_template)
    total_prompt = total_prompt + template
    
    template = """Según las afirmaciones anteriores, la respuesta final es FALSA si una de las afirmaciones es FALSA. De lo contrario, la respuesta final es VERDADERA. Solo debes responder con VERDADERA o FALSA.'{}'""".format(q)
    template = """{hechos}\n""" + template
    prompt_template = PromptTemplate(input_variables=["hechos"], template=template)
    cadena_respuesta = LLMChain(llm=llm, prompt=prompt_template)
    total_prompt = total_prompt + template
    
    cadena_general = SimpleSequentialChain(chains=[cadena_suposiciones, cadena_verificador_hechos, cadena_respuesta], verbose=True)
    respuesta = cadena_general.run(q)
    return respuesta

El siguiente código llama a la función que definimos anteriormente y proporciona la respuesta. La afirmación es VERDADERA o FALSA. VERDADERA significa que la afirmación proporcionada contiene hechos correctos, y FALSA significa que la afirmación contiene al menos un hecho incorrecto.

from IPython.display import display, Markdown
q="La primera mujer en recibir un doctorado en ciencias de la computación fue la Dra. Barbara Liskov, quien obtuvo su grado en la Universidad de Stanford en 1968."
print(f'La afirmación es: {q}')
display(Markdown(generar_y_imprimir(llm, q)))

A continuación se muestra un ejemplo de una afirmación y la respuesta del modelo:

La afirmación es: La primera mujer en recibir un doctorado en ciencias de la computación fue la Dra. Barbara Liskov, quien obtuvo su grado en la Universidad de Stanford en 1968.
    > Entrando a una nueva cadena SimpleSequentialChain... Aquí hay una lista de puntos sobre las suposiciones que hice sobre la afirmación:
    - La Dra. Barbara Liskov fue la primera mujer en obtener un doctorado en ciencias de la computación.
    - La Dra. Liskov obtuvo su doctorado en Stanford University.
    - Ella obtuvo su doctorado en 1968.
    - Ninguna otra mujer obtuvo un doctorado en ciencias de la computación antes de 1968.
    - La Universidad de Stanford tenía un programa de doctorado en ciencias de la computación en 1968.
    - La afirmación se refiere a doctorados obtenidos en los Estados Unidos.
    
    Aquí están mis evaluaciones de cada afirmación:
    - La Dra. Barbara Liskov fue la primera mujer en obtener un doctorado en ciencias de la computación. - Verdadero. La Dra. Liskov fue la primera mujer estadounidense en obtener un doctorado en ciencias de la computación, que obtuvo en Stanford University en 1968.
    - La Dra. Liskov obtuvo su doctorado de Stanford University. - Verdadero. Múltiples fuentes confirman que ella obtuvo su doctorado de Stanford en 1968.
    - Ella obtuvo su doctorado en 1968. - Verdadero. Esto es consistente en todas las fuentes.
    - Ninguna otra mujer obtuvo un doctorado en ciencias de la computación antes de 1968. - Falso. Si bien fue la primera mujer estadounidense, Mary Kenneth Keller obtuvo un doctorado en ciencias de la computación de la Universidad de Wisconsin en 1965. Sin embargo, Keller también obtuvo su grado en EE. UU.
    - La Universidad de Stanford tenía un programa de doctorado en ciencias de la computación en 1968. - Verdadero. Stanford estableció su departamento de ciencias de la computación y programa de doctorado en 1965.
    - La afirmación se refiere a doctorados obtenidos en los Estados Unidos. - Falso. La afirmación original no especifica el país. Mis suposiciones de que se refiere a los Estados Unidos son incorrectas. Keller obtuvo su doctorado en EE. UU. antes que Liskov. Falso

ReAct y herramientas

En el ejemplo anterior, el modelo identificó correctamente que la afirmación era falsa. Sin embargo, al enviar la consulta nuevamente, se demuestra la incapacidad del modelo para distinguir la veracidad de los hechos. El modelo no tiene las herramientas para verificar la veracidad de las afirmaciones más allá de su propia memoria de entrenamiento, por lo que las ejecuciones posteriores de la misma solicitud pueden llevarlo a etiquetar incorrectamente afirmaciones falsas como verdaderas. En el siguiente código, tienes otra ejecución del mismo ejemplo:

La afirmación es: La primera mujer en recibir un doctorado en ciencias de la computación fue la Dra. Barbara Liskov, quien obtuvo su título de la Universidad de Stanford en 1968.> Entrando en una nueva cadena simple y secuencial... Aquí tienes una lista de puntos sobre las suposiciones que hice sobre la afirmación: - La Dra. Barbara Liskov fue la primera mujer en obtener un doctorado en ciencias de la computación - La Dra. Liskov obtuvo su doctorado en 1968 - La Dra. Liskov obtuvo su doctorado de la Universidad de Stanford - La Universidad de Stanford otorgó doctorados en ciencias de la computación en 1968 - La Dra. Liskov era una mujer - Los doctorados existían en 1968 - La ciencia de la computación existía como campo de estudio en 1968. Aquí están mis evaluaciones de cada afirmación: - La Dra. Barbara Liskov fue la primera mujer en obtener un doctorado en ciencias de la computación    - Verdadero. La Dra. Liskov fue la primera mujer en obtener un doctorado en ciencias de la computación en 1968 en la Universidad de Stanford. - La Dra. Liskov obtuvo su doctorado en 1968    - Verdadero. Múltiples fuentes confirman que recibió su doctorado en ciencias de la computación de Stanford en 1968. - La Dra. Liskov obtuvo su doctorado de la Universidad de Stanford     - Verdadero. La Dra. Liskov obtuvo su doctorado en ciencias de la computación de la Universidad de Stanford en 1968. - La Universidad de Stanford otorgó doctorados en ciencias de la computación en 1968    - Verdadero. Stanford otorgó a Liskov un doctorado en ciencias de la computación en 1968, por lo que ofrecieron el título en ese momento. - La Dra. Liskov era una mujer    - Verdadero. Toda la información biográfica indica que la Dra. Liskov es mujer. - Los doctorados existían en 1968    - Verdadero. Los doctorados existen desde finales del siglo XIX. - La ciencia de la computación existía como campo de estudio en 1968    - Verdadero. Aunque la ciencia de la computación era un campo relativamente nuevo en la década de 1960, Stanford y otras universidades la ofrecían como campo de estudio e investigación en 1968. Verdadero

Una técnica para garantizar la veracidad es ReAct. ReAct (Yao S. et al., 2023) es una técnica de sugerencia que amplía el modelo de base con un espacio de acción de un agente. En esta publicación, así como en el artículo de ReAct, el espacio de acción implementa la recuperación de información mediante búsqueda, consulta y finalización de acciones desde una simple API web de Wikipedia.

La razón detrás del uso de ReAct en comparación con Chain-of-Thought es utilizar la recuperación de conocimiento externo para ampliar el modelo de base y detectar si una noticia dada es falsa o verdadera.

En esta publicación, utilizamos la implementación de ReAct de LangChain a través del agente ZERO_SHOT_REACT_DESCRIPTION. Modificamos la función anterior para implementar ReAct y usar Wikipedia mediante la función load_tools de langchain.agents.

También necesitamos instalar el paquete de Wikipedia:

!pip install Wikipedia

A continuación se muestra el nuevo código:

from langchain.agents import load_tools, initialize_agent, AgentTypedef generate_and_print(llm, q):    print(f'Dentro de generate_and_print: q = {q}')    tools = load_tools(["wikipedia"], llm=llm)    agent = initialize_agent(tools, llm,                              agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,                              verbose=True,                             handle_parsing_errors=True,                             agent_kwargs={})    input = """Aquí hay una afirmación:    {statement}    ¿Es correcta esta afirmación? Puedes usar las herramientas para buscar información si es necesario.    La respuesta final es FALSA si la afirmación es FALSA. De lo contrario, VERDADERO."""    answer = agent.run(input.format(statement=q))        return answer

A continuación se muestra la salida de la función anterior para la misma afirmación utilizada anteriormente:

<Entrando en una nueva cadena de ejecución de AgentExecutor… Aquí van mis pensamientos y acciones para determinar si la afirmación es verdadera o falsa: Pensamiento: Para verificar si esta afirmación sobre la primera mujer en recibir un doctorado en ciencias de la computación es verdadera, debería consultar una fuente de información confiable como Wikipedia. Acción: Wikipedia Acción de entrada: primera mujer en recibir un doctorado en ciencias de la computación Observación: Página: Escuela Fu Foundation de Ingeniería y Ciencias Aplicadas Resumen: La Escuela Fu Foundation de Ingeniería y Ciencias Aplicadas (popularmente conocida como SEAS o Columbia Engineering; anteriormente conocida como Escuela de Minas de Columbia) es la escuela de ingeniería y ciencias aplicadas de la Universidad de Columbia. Fue fundada como la Escuela de Minas en 1863 y luego la Escuela de Minas, Ingeniería y Química antes de convertirse en la Escuela de Ingeniería y Ciencias Aplicadas. El 1 de octubre de 1997, la escuela fue renombrada en honor al empresario chino Z.Y. Fu, quien donó $26 millones a la escuela. La Escuela Fu Foundation de Ingeniería y Ciencias Aplicadas mantiene una estrecha relación de investigación con otras instituciones, incluyendo la NASA, IBM, MIT y el Earth Institute. Las patentes propiedad de la escuela generan más de $100 millones anuales para la universidad. La facultad y los exalumnos de SEAS son responsables de logros tecnológicos, incluyendo el desarrollo de la radio FM y el MASER. Las matemáticas aplicadas, la ingeniería biomédica, la ciencia de la computación y el programa de ingeniería financiera en investigación de operaciones de SEAS son muy famosos y se ubican en posiciones altas. La facultad actual de SEAS incluye a 27 miembros de la Academia Nacional de Ingeniería y un premio Nobel. En total, la facultad y los exalumnos de Columbia Engineering han ganado 10 premios Nobel en física, química, medicina y economía. La escuela cuenta con aproximadamente 300 estudiantes en cada clase de graduados y mantiene estrechos lazos con su escuela hermana de artes liberales para estudiantes de pregrado, Columbia College, con la cual comparte alojamiento. El decano actual de la escuela es Shih-Fu Chang, quien fue nombrado en 2022. Página: Doctor en Ciencias Resumen: Doctor en Ciencias (Latin: Scientiae Doctor; comúnmente abreviado DSc o ScD) es un doctorado académico de investigación otorgado en varios países del mundo. En algunos países, el Doctor en Ciencias es el grado utilizado para el doctorado estándar en ciencias; en otros lugares, el Doctor en Ciencias es un “doctorado superior” otorgado en reconocimiento a una contribución sustancial y sostenida al conocimiento científico más allá de lo requerido para un Doctor en Filosofía (PhD). Página: Cronología de las mujeres en la ciencia Resumen: Esta es una cronología de las mujeres en la ciencia, que abarca desde la antigüedad hasta el siglo XXI. Si bien la cronología se centra principalmente en mujeres involucradas en ciencias naturales como astronomía, biología, química y física, también incluye mujeres de las ciencias sociales (por ejemplo, sociología, psicología) y de las ciencias formales (por ejemplo, matemáticas, ciencias de la computación), así como destacadas educadoras y científicas médicas. Los eventos cronológicos enumerados en la línea de tiempo se relacionan tanto con los logros científicos como con la igualdad de género en las ciencias. Pensamiento: Basado en las páginas de Wikipedia, la afirmación parece ser falsa. La página de Wikipedia Cronología de las Mujeres en la Ciencia indica que Adele Goldstine fue la primera mujer en obtener un doctorado en ciencias de la computación en 1964 en la Universidad de Michigan, no Barbara Liskov de Stanford en 1968. Por lo tanto, mi respuesta final es: Respuesta Final: FALSA<h2 id=”clean-up”>Limpieza<p>Para ahorrar costos, elimine todos los recursos implementados como parte del tutorial. Si lanzó AWS Cloud9 o una instancia de EC2, puede eliminarlo a través de la consola o usando AWS CLI. De manera similar, puede eliminar el cuaderno de SageMaker que haya creado a través de la consola de SageMaker.</p><h2 id=”limitations-and-related-work”>Limitaciones y trabajo relacionado<p>El campo de detección de noticias falsas es objeto de investigación activa en la comunidad científica. En esta publicación, utilizamos técnicas de Chain-of-Thought y ReAct para evaluar la precisión de la clasificación de las técnicas de indicación (si una afirmación dada es verdadera o falsa). Por lo tanto, no hemos considerado otros aspectos importantes como la velocidad de respuesta ni hemos ampliado la solución a fuentes de bases de conocimientos adicionales además de Wikipedia.</p><p>Aunque esta publicación se centró en dos técnicas, Chain-of-Thought y ReAct, existe un extenso cuerpo de trabajo que explora cómo los LLM (lenguaje de modelos de lenguaje) pueden detectar, eliminar o mitigar noticias falsas. Lee et al. ha propuesto el uso de un modelo codificador-decodificador utilizando el reconocimiento de entidades nombradas (NER) para enmascarar las entidades nombradas con el fin de asegurar que el token enmascarado utilice realmente el conocimiento codificado en el modelo de lenguaje. Chern et.al. desarrolló FacTool, que utiliza principios de Chain-of-Thought para extraer afirmaciones de la indicación y, en consecuencia, recopilar pruebas relevantes de las afirmaciones. Luego, el LLM juzga la veracidad de la afirmación dada la lista recuperada de pruebas. Du E. et al. presenta un enfoque complementario en el cual múltiples LLM proponen y debaten sus respuestas individuales y procesos de razonamiento a lo largo de varias rondas para llegar a una respuesta final común.</p>

Basándonos en la literatura, vemos que la efectividad de los LLMs para detectar noticias falsas aumenta cuando se les añade conocimiento externo y capacidad de conversación entre múltiples agentes. Sin embargo, estos enfoques son más complejos computacionalmente porque requieren múltiples llamadas y interacciones con modelos, frases más largas y llamadas de capa de red extensas. En última instancia, esta complejidad se traduce en un aumento del costo general. Recomendamos evaluar la relación costo-rendimiento antes de implementar soluciones similares en producción.

Conclusión

En esta publicación, analizamos cómo utilizar los LLMs para abordar el problema prevalente de las noticias falsas, uno de los desafíos principales de nuestra sociedad en la actualidad. Comenzamos describiendo los desafíos presentados por las noticias falsas, haciendo hincapié en su capacidad para influir en el sentimiento público y causar disrupciones en la sociedad.

Luego presentamos el concepto de LLMs como modelos avanzados de IA que se entrenan en una cantidad sustancial de datos. Gracias a este entrenamiento exhaustivo, estos modelos poseen una impresionante comprensión del lenguaje, lo que les permite producir texto similar al humano. Con esta capacidad, demostramos cómo se pueden aprovechar los LLMs en la lucha contra las noticias falsas utilizando dos técnicas de inicio diferentes, Chain-of-Thought y ReAct.

Destacamos cómo los LLMs pueden facilitar servicios de verificación de hechos a una escala sin precedentes, dada su capacidad para procesar y analizar grandes cantidades de texto rápidamente. Esta capacidad de análisis en tiempo real puede llevar a una detección temprana y contención de las noticias falsas. Ilustramos esto creando un script en Python que, dado un enunciado, señala al usuario si el artículo es verdadero o falso utilizando lenguaje natural.

Concluimos subrayando las limitaciones del enfoque actual y terminamos con una nota esperanzadora, enfatizando que, con las debidas precauciones y mejoras continuas, los LLMs podrían convertirse en herramientas indispensables en la lucha contra las noticias falsas.

Nos encantaría saber tu opinión. Déjanos saber qué piensas en la sección de comentarios, o utiliza el foro de problemas en el repositorio de GitHub.

Descargo de responsabilidad: El código proporcionado en esta publicación está destinado únicamente con fines educativos y experimentales. No se debe confiar en él para detectar noticias falsas o desinformación en sistemas de producción del mundo real. No se garantiza la precisión ni la completitud de la detección de noticias falsas utilizando este código. Los usuarios deben tener precaución y realizar la debida diligencia antes de utilizar estas técnicas en aplicaciones sensibles.

Para comenzar con Amazon Bedrock, visita la consola de Amazon Bedrock.

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

Rompiendo barreras en la segmentación de instancias en 3D Un enfoque de mundo abierto con mejora de pseudo-etiquetado y escenarios realistas

Al proporcionar clasificación y etiquetado semántico a nivel de instancia de objeto, la segmentación semántica de ins...

Inteligencia Artificial

Satélites Sentinel mapean superemisores de metano

Un equipo internacional de investigadores ha desarrollado un algoritmo que utiliza el aprendizaje automático para det...

Inteligencia Artificial

Conoce a PoisonGPT Un método de IA para introducir un modelo malicioso en una cadena de suministro de LLM de otra manera confiable

En medio de todo el revuelo en torno a la inteligencia artificial, las empresas están comenzando a darse cuenta de la...

Inteligencia Artificial

Innovaciones autónomas en un mundo incierto

Jonathan How y su equipo en el Laboratorio de Controles Aeroespaciales desarrollan algoritmos de planificación que pe...

Inteligencia Artificial

Uso de Computadoras Analógicas en Inteligencia Artificial (IA)

Las Computadoras Analógicas son una clase de dispositivos en los cuales las cantidades físicas como el voltaje eléctr...

Inteligencia Artificial

Los modelos base Llama 2 de Meta ahora están disponibles en Amazon SageMaker JumpStart

Hoy, nos complace anunciar que los modelos base Llama 2 desarrollados por Meta están disponibles para los clientes a ...