En los últimos años, las redes sociales se han convertido en un medio común para compartir y consumir noticias. Sin embargo, la difusión de información errónea y noticias falsas en estas plataformas ha planteado un gran desafío para el bienestar de las personas y las sociedades. Por lo tanto, es imperativo que desarrollemos soluciones robustas y automatizadas para la detección temprana de noticias falsas en las redes sociales. Los enfoques tradicionales se basan únicamente en el contenido de las noticias (utilizando el procesamiento del lenguaje natural) para marcar la información como real o falsa. Sin embargo, el contexto social en el que se publican y comparten las noticias puede proporcionar información adicional sobre la naturaleza de las noticias falsas en las redes sociales y mejorar las capacidades predictivas de las herramientas de detección de noticias falsas. En esta publicación, demostramos cómo usar Aprendizaje automático de Amazon Neptune para detectar noticias falsas en función del contenido y el contexto social de las noticias en las redes sociales.
Neptune ML es una nueva capacidad de Amazonas Neptuno que utiliza redes neuronales gráficas (GNN), una técnica de aprendizaje automático (ML) diseñada específicamente para gráficos, para hacer predicciones fáciles, rápidas y precisas utilizando datos gráficos. Hacer predicciones precisas en gráficos con miles de millones de relaciones requiere experiencia. Los enfoques de ML existentes, como XGBoost, no pueden operar de manera efectiva en gráficos porque están diseñados para datos tabulares. Como resultado, el uso de estos métodos en gráficos puede llevar tiempo, requerir habilidades especializadas y producir predicciones subóptimas.
Neptune ML utiliza la biblioteca de gráficos profundos (DGL), una biblioteca de código abierto a la que contribuye AWS, y Amazon SageMaker para construir y entrenar GNN, incluidas las redes convolucionales de gráficos relacionales (R-GCN) para tareas como la clasificación de nodos, la regresión de nodos, la predicción de enlaces o la clasificación de bordes.
El DGL facilita la aplicación del aprendizaje profundo a los datos de gráficos, y Neptune ML automatiza el trabajo pesado de seleccionar y entrenar el mejor modelo de ML para datos de gráficos. Proporciona primitivas de paso de mensajes rápidas y eficientes en memoria para entrenar GNN. Neptune ML usa DGL para elegir y entrenar automáticamente el mejor modelo de ML para su carga de trabajo. Esto le permite hacer predicciones basadas en ML en datos de gráficos en horas en lugar de semanas. Para más información, ver Amazon Neptune ML para aprendizaje automático en gráficos.
Amazon SageMaker es un servicio completamente administrado que brinda a todos los desarrolladores y científicos de datos la capacidad de preparar, crear, entrenar e implementar modelos de ML rápidamente.
Descripción general de las GNN
Las GNN son redes neuronales que toman gráficos como entrada. Estos modelos operan en la información relacional de los datos para producir conocimientos que no son posibles en otras arquitecturas y algoritmos de redes neuronales. Un gráfico (a veces llamado red) es una estructura de datos que resalta las relaciones entre los componentes de los datos. Consta de nodos (o vértices) y aristas (o enlaces) que actúan como conexiones entre los nodos. Tal estructura de datos tiene una ventaja cuando se trata de entidades que tienen múltiples relaciones. Las estructuras de datos gráficos han existido durante siglos, con una amplia variedad de casos de uso modernos.
Los GNN están emergiendo como una clase importante de modelos de aprendizaje profundo (DL). Los GNN aprenden incrustaciones en nodos, bordes y gráficos. Los GNN existen desde hace unos 20 años, pero el interés en ellos ha aumentado drásticamente en los últimos 5 años. En este tiempo, hemos visto emerger nuevas arquitecturas, realizar nuevas aplicaciones y entrar en escena nuevas plataformas y bibliotecas. Hay varios casos potenciales de uso de investigación e industria para GNN, incluidos los siguientes:
- Visión por computador – Generación de escenarios gráficos
- Previsiones – Predicción del volumen de tráfico
- Clasificación de nodos – Implementación de campañas dirigidas, detección de noticias falsas
- Clasificación de gráficos – Predecir las propiedades de un compuesto químico
- Predicción de enlaces – Sistemas de recomendación de edificios
- Otro – Predecir ataques adversarios
Conjunto de datos
Para esta publicación, usamos el Conjunto de datos de BuzzFeed de la versión 2018 de Red de noticias falsas. El conjunto de datos de BuzzFeed consta de una muestra de artículos de noticias compartidos en Facebook por nueve agencias de noticias durante una semana antes de las elecciones estadounidenses de 1. Cada publicación y el artículo de noticias correspondiente han sido verificados por los periodistas de BuzzFeed. La siguiente tabla resume las estadísticas clave sobre el conjunto de datos de BuzzFeed de FakeNewsNet.
Categoría | Cantidad |
Usuarios | 15,257 |
Escritores | 126 |
Publicadores | 28 |
vínculos sociales | 634,750 |
Compromisos | 25,240 |
Artículos de noticias | 182 |
Noticias falsas | 91 |
Noticias reales | 91 |
Para obtener los datos sin procesar, puede completar los siguientes pasos:
- Clona el Repositorio FakeNewsNet de GitHub.
- Echa un vistazo a la rama de la versión anterior.
- Cambie el directorio a
Data/BuzzFeed
.
Cada fila del archivo Users.txt proporciona un UUID para el usuario correspondiente.
Cada fila del archivo News.txt proporciona un nombre y una identificación para las noticias correspondientes en el conjunto de datos.
En el archivo BuzzFeedNewsUser.txt, el news_id
en la primera columna es publicado o compartido por el user_id
en la segunda columna n veces, donde n es el valor de la tercera columna.
En el archivo BuzzFeedUserUser.txt, el user_id
en la primera columna sigue el user_id
en la segunda columna.
Las funciones de usuario, como la edad, el sexo y el historial de actividades en las redes sociales (109,626 XNUMX funciones para cada usuario) están disponibles en UserFeature.mat
expediente. Los archivos de contenido de noticias de muestra, que se muestran en la siguiente captura de pantalla, contienen información como el título de la noticia, el texto de la noticia, el nombre del autor y la dirección web del editor.
Procesamos los datos sin procesar de la FakeNewsNet
repositorio y lo convirtió a formato CSV para vértices y bordes en un gráfico de propiedades heterogéneas que se puede cargar fácilmente en una base de datos de Neptune con Apache TinkerPop Gremlin. El gráfico de propiedades construido se compone de cuatro tipos de vértices y cinco tipos de aristas, como se demuestra en el siguiente esquema, que juntos describen el contexto social en el que cada uno news
el artículo se publica y se comparte. Él News
Los vértices tienen dos propiedades: news_title
y news_type
(Fake
or Real
). Los bordes que conectan News
y User
Los vértices tienen una propiedad de peso que describe cuántas veces el usuario ha compartido la noticia. Él User
los vértices tienen una propiedad de 100 dimensiones que representa las características del usuario, como la edad, el género y las actividades históricas de las redes sociales (reducidas de 109,626 100 a XNUMX mediante el análisis de coordenadas principales).
La siguiente captura de pantalla muestra las primeras 10 filas del procesado nodes.csv
archivo.
La siguiente captura de pantalla muestra las primeras 10 filas del procesado edges.csv
archivo.
Para seguir esta publicación, comience usando lo siguiente Formación en la nube de AWS Inicio rápido plantilla para activar rápidamente un clúster de Neptune asociado y un cuaderno gráfico de AWS, y establecer todas las configuraciones necesarias para trabajar con Neptune ML en un cuaderno gráfico. A continuación, debe descargar y guardar el conjunto de datos de muestra en la configuración predeterminada. Servicio de almacenamiento simple de Amazon (Amazon S3) depósito asociado con su sesión de SageMaker, o en un depósito S3 de su elección. Para una experimentación rápida y una exploración de datos inicial, puede guardar una copia del conjunto de datos en el directorio de inicio del volumen local adjunto a su instancia de notebook de SageMaker y seguir las create_graph_dataset.ipynb
cuaderno jupyter. Después de generar los archivos de nodos y bordes procesados, puede ejecutar los siguientes comandos para cargar los datos del gráfico transformado en Amazon S3:
Puede utilizar el %load
comando mágico, que está disponible como parte del cuaderno gráfico de AWS, para cargar datos de forma masiva en Neptune:
Puede utilizar el %graph_notebook_config
Comando mágico para ver información sobre el cúmulo de Neptuno asociado con su cuaderno gráfico. También puede utilizar el %status
comando mágico para ver el estado de su clúster Neptune, como se muestra en la siguiente captura de pantalla.
Resumen de la solución
Neptune ML utiliza tecnología de redes neuronales gráficas para crear, entrenar e implementar automáticamente modelos ML en sus datos gráficos. Neptune ML admite tareas comunes de predicción de gráficos, como clasificación y regresión de nodos, clasificación y regresión de bordes y predicción de enlaces. En nuestra solución, usamos la clasificación de nodos para clasificar news
nodos según el news_type
propiedad.
El siguiente diagrama ilustra el flujo del proceso de alto nivel para desarrollar el mejor modelo para la detección de noticias falsas.
Graph ML con Neptune ML implica cinco pasos principales:
- Exportar y configurar los datos – El paso de exportación de datos utiliza el servicio Neptune-Export para exportar datos de Neptune a Amazon S3 en formato CSV. Un archivo de configuración llamado
training-data-configuration.json
se genera automáticamente, lo que especifica cómo se pueden cargar los datos exportados en un gráfico entrenable. - Preprocesar los datos – El conjunto de datos exportado se preprocesa utilizando técnicas estándar para prepararlo para el entrenamiento del modelo. La normalización de funciones se puede realizar para datos numéricos y las funciones de texto se pueden codificar con word2vec. Al final de este paso, se genera un gráfico DGL a partir del conjunto de datos exportado para el paso de entrenamiento del modelo. Este paso se implementa mediante un trabajo de procesamiento de SageMaker y los datos resultantes se almacenan en una ubicación de Amazon S3 que haya especificado.
- Entrenar a la modelo – Este paso entrena el modelo de ML que se usará para las predicciones. El entrenamiento del modelo se realiza en dos etapas:
- La primera etapa usa un trabajo de procesamiento de SageMaker para generar un conjunto de configuración de estrategia de entrenamiento de modelos que especifica qué tipo de modelo y rangos de hiperparámetros de modelo se usan para el entrenamiento de modelos.
- La segunda etapa utiliza un trabajo de ajuste del modelo de SageMaker para probar diferentes configuraciones de hiperparámetros y seleccionar el trabajo de entrenamiento que produjo el modelo con mejor rendimiento. El trabajo de ajuste ejecuta una cantidad especificada previamente de pruebas de trabajo de entrenamiento del modelo en los datos procesados. Al final de esta etapa, los parámetros del modelo entrenado del mejor trabajo de entrenamiento se utilizan para generar artefactos de modelo para la inferencia.
- Crear un punto final de inferencia en SageMaker – El punto final de inferencia es una instancia de punto final de SageMaker que se inicia con los artefactos del modelo producidos por el mejor trabajo de entrenamiento. El punto final puede aceptar solicitudes entrantes de la base de datos de gráficos y devolver las predicciones del modelo para las entradas en las solicitudes.
- Consulta el modelo de ML usando Gremlin – Puede usar extensiones del lenguaje de consulta Gremlin para consultar predicciones desde el punto final de inferencia.
Antes de continuar con el primer paso del aprendizaje automático, verifiquemos que el conjunto de datos del gráfico esté cargado en el clúster de Neptune. Ejecute el siguiente recorrido de Gremlin para ver el recuento de nodos por etiqueta:
Si los nodos se cargan correctamente, el resultado es el siguiente:
- 126
author
nodos - 182
news
nodos - 28
publisher
nodos - 15,257
user
nodos
Use el siguiente código para ver los bordes de conteo por etiqueta:
Si los bordes se cargan correctamente, el resultado es el siguiente:
- 634,750
follows
bordes - 174
published
bordes - 250
wrote
bordes - 250
wrote_for
bordes
Ahora veamos el proceso de desarrollo de ML en detalle.
Exportar y configurar los datos
El proceso de exportación se activa llamando al extremo del servicio Neptune-Export. Esta llamada contiene un objeto de configuración que especifica el tipo de modelo de ML que se va a construir, en nuestro caso, la clasificación de nodos, así como las configuraciones de funciones necesarias.
Las opciones de configuración proporcionadas al servicio Neptune-Export se dividen en dos secciones principales: selección del destino y configuración de funciones. Aquí queremos clasificar los nodos de noticias según el news_type
propiedad.
La segunda sección de la configuración, la configuración de funciones, es donde especificamos los detalles sobre los tipos de datos almacenados en nuestro gráfico y cómo el modelo de ML debe interpretar esos datos. Cuando los datos se exportan desde Neptune, se incluyen todas las propiedades de todos los nodos. Cada propiedad se trata como una característica separada para el modelo ML. Neptune ML hace todo lo posible para inferir el tipo correcto de función para una propiedad, pero en muchos casos, la precisión del modelo se puede mejorar especificando información sobre la propiedad utilizada para una función. Usamos palabra2vec para codificar el news_title
propiedad de los nodos de noticias, y la numerical
tipo para user_features
propiedad de user
nodos. Ver el siguiente código:
Inicie el proceso de exportación ejecutando el siguiente comando:
Preprocesar los datos
Cuando se completa el trabajo de exportación, estamos listos para entrenar nuestro modelo ML. Hay tres pasos de aprendizaje automático en Neptune ML. El primer paso (procesamiento de datos) procesa el conjunto de datos del gráfico exportado utilizando técnicas de preprocesamiento de características estándar para prepararlo para que lo use el DGL. Este paso realiza funciones como la normalización de funciones para datos numéricos y la codificación de funciones de texto mediante word2vec. Al finalizar este paso, el conjunto de datos se formatea para el entrenamiento del modelo. Este paso se implementa mediante un trabajo de procesamiento de SageMaker y los artefactos de datos se almacenan en una ubicación de Amazon S3 especificada previamente cuando se completa el trabajo. Ejecute el siguiente código para crear la configuración de procesamiento de datos y comenzar el trabajo de procesamiento:
Entrenar a la modelo
Ahora que tiene los datos procesados en el formato deseado, este paso entrena el modelo de ML que se usa para las predicciones. El entrenamiento del modelo se realiza en dos etapas. La primera etapa utiliza un trabajo de procesamiento de SageMaker para generar una estrategia de entrenamiento de modelos. Una estrategia de entrenamiento de modelos es un conjunto de configuración que especifica qué tipo de modelo y rangos de hiperparámetros de modelo se usan para el entrenamiento de modelos. Una vez completada la primera etapa, el trabajo de procesamiento de SageMaker inicia un Trabajo de ajuste de hiperparámetros de SageMaker. El trabajo de ajuste de hiperparámetros ejecuta una cantidad especificada previamente de pruebas de trabajo de entrenamiento de modelos en los datos procesados y almacena los artefactos del modelo generados por el entrenamiento en la ubicación de salida de Amazon S3. Cuando se completan todos los trabajos de entrenamiento, el trabajo de ajuste de hiperparámetros también anota el trabajo de entrenamiento que produjo el modelo con mejor desempeño.
Utilizamos los siguientes parámetros de entrenamiento:
El ajuste de hiperparámetros encuentra la mejor versión de un modelo mediante la ejecución de muchos trabajos de entrenamiento en el conjunto de datos. Puede resumir los hiperparámetros de los cinco mejores trabajos de entrenamiento y el rendimiento de su modelo respectivo de la siguiente manera:
Podemos ver que el trabajo de entrenamiento con mejor rendimiento logró una precisión de aproximadamente el 94 %. Neptune ML seleccionará automáticamente este trabajo de entrenamiento para crear un punto final en el siguiente paso.
Crear un punto final
El paso final del aprendizaje automático es crear un punto final de inferencia, que es una instancia de punto final de SageMaker que se inicia con los artefactos del modelo producidos por el mejor trabajo de entrenamiento. Usamos este punto final en nuestras consultas de gráficos para devolver las predicciones del modelo para las entradas en la solicitud. Una vez que se crea el punto final, permanece activo hasta que se elimina manualmente. Cree el punto final con el siguiente código:
Nuestro nuevo punto final ya está en funcionamiento.
Consultar el modelo de ML
Ahora consultemos su gráfico entrenado para ver cómo predice el modelo news_type
para uno invisible news
nodo:
Si su gráfico cambia continuamente, es posible que deba actualizar las predicciones de ML con frecuencia utilizando los datos más recientes. Aunque puede hacerlo simplemente volviendo a ejecutar los pasos anteriores (desde la exportación y configuración de datos hasta la creación de su punto final de inferencia), Neptune ML admite formas más sencillas de actualizar sus predicciones de ML utilizando nuevos datos. Ver Flujos de trabajo para manejar datos de gráficos en evolución para más información.
Conclusión
En esta publicación, mostramos cómo Neptune ML y GNN pueden ayudar a detectar noticias falsas en las redes sociales mediante la clasificación de nodos en datos de gráficos mediante la combinación de información de los patrones de interacción complejos en el gráfico. Para obtener instrucciones sobre cómo implementar esta solución, consulte el Repositorio GitHub. También puede clonar y ampliar esta solución con fuentes de datos adicionales para volver a entrenar y ajustar el modelo. Lo alentamos a comunicarse y analizar sus casos de uso con los autores a través de su administrador de cuentas de AWS.
Referencias adicionales
Para obtener más información relacionada con Neptune ML y la detección de noticias falsas en las redes sociales, consulte los siguientes recursos:
- Más allá de los contenidos de las noticias: el papel del contexto social en la detección de noticias falsas
- Red de noticias falsas
- Sistema de recomendación basado en gráficos con Neptune ML: una ilustración sobre los desafíos de predicción de enlaces de redes sociales
- Análisis de feeds de redes sociales utilizando Amazon Neptune
Acerca de los autores
hasan shojaei es un científico de datos de AWS Professional Services, donde ayuda a los clientes de diferentes industrias, como deportes, seguros y servicios financieros, a resolver sus desafíos comerciales mediante el uso de big data, aprendizaje automático y tecnologías en la nube. Antes de este cargo, Hasan lideró múltiples iniciativas para desarrollar técnicas de modelado novedosas basadas en la física y basadas en datos para las principales empresas de energía. Fuera del trabajo, a Hasan le apasionan los libros, el senderismo, la fotografía y la historia antigua.
sarita joshi es gerente sénior de ciencia de datos en el equipo de inteligencia de servicios profesionales de AWS. Junto con su equipo, Sarita desempeña un papel estratégico para nuestros clientes y socios al ayudarlos a lograr sus resultados comerciales a través de soluciones de aprendizaje automático e inteligencia artificial a escala. Tiene varios años de experiencia como consultora asesorando a clientes en muchas industrias y dominios técnicos, incluidos AI, ML, análisis y SAP. Tiene una maestría en Ciencias de la Computación, Especialidad en Ciencias de Datos de la Universidad Northeastern.
- Coinsmart. El mejor intercambio de Bitcoin y criptografía de Europa.
- Platoblockchain. Inteligencia del Metaverso Web3. Conocimiento amplificado. ACCESO LIBRE.
- CriptoHawk. Radar de altcoins. Prueba gratis.
- Fuente: https://aws.amazon.com/blogs/machine-learning/detect-social-media-fake-news-using-graph-machine-learning-with-amazon-neptune-ml/
- '
- "
- 10
- 100
- 20 años
- 2016
- 28
- Nuestra Empresa
- Conforme
- Mi Cuenta
- preciso
- Lograr
- alcanzado
- a través de
- Actúe
- lector activo
- actividades
- Adicionales
- dirección
- Ventaja
- AI
- algoritmos
- Todos
- Aunque
- Amazon
- análisis
- Analytics
- aplicaciones
- Aplicá
- aproximadamente
- en torno a
- artículo
- artificial
- inteligencia artificial
- Autorzy
- auto
- Confirmación de Viaje
- automatiza
- Hoy Disponibles
- AWS
- a las que has recomendado
- a continuación
- MEJOR
- Big Data
- miles de millones
- Libros
- frontera
- build
- Construir la
- llamar al
- Campañas
- capacidades
- cases
- Reto
- retos
- químico
- manera?
- Elige
- clase
- clasificación
- clientes
- Soluciones
- código
- Columna
- Algunos
- Empresas
- integraciones
- compuesto
- computadora
- Ciencias de la Computación
- Configuración
- Conectándote
- Conexiones
- consultor
- contiene
- contenido
- contenido
- coordinar
- Correspondiente
- Para crear
- creado
- Creamos
- Clientes
- datos
- proceso de datos
- Ciencia de los datos
- científico de datos
- Base de datos
- tratar
- demostrar
- demostrado
- desplegar
- describir
- diseñado
- detalle
- detalles
- Detección
- desarrollar
- Developer
- Desarrollo
- una experiencia diferente
- Director
- discutir
- Pantalla
- dominios
- descargar
- dramáticamente
- Temprano en la
- Southern Implants
- Elección
- emergentes
- fomentar
- Punto final
- energía
- Participar
- entidades
- evolución
- existente
- experience
- Experiencia
- exploración
- ampliar
- extensiones
- falso
- noticias falsas
- RÁPIDO
- FBI
- Feature
- Caracteristicas
- financiero
- servicios financieros
- encuentra
- Nombre
- de tus señales
- seguir
- siguiendo
- siguiente
- formato
- funciones
- Género
- generar
- la generación de
- GitHub
- Manejo
- altura
- ayuda
- ayudando
- ayuda
- esta página
- histórico
- historia
- mantiene
- Inicio
- Cómo
- Como Hacer
- Sin embargo
- HTTPS
- implementado
- implementación
- importante
- mejorar
- mejorado
- En otra
- incluido
- Incluye
- aumentado
- individuos
- industrias
- energético
- información
- iniciativas
- Las opciones de entrada
- Insights
- aseguradora
- Intelligence
- interacción
- intereses
- IT
- Trabajos
- Empleo
- Periodistas.
- Clave
- claves
- idioma
- lanzado
- pone en marcha
- líder
- APRENDE:
- aprendizaje
- LED
- Biblioteca
- cirugía estética
- LINK
- enlaces
- carga
- local
- Ubicación
- máquina
- máquina de aprendizaje
- hecho
- gran
- HACE
- Realizar
- gestionado
- gerente
- a mano
- marca
- Máster
- significa
- Medios
- mediano
- métodos
- ML
- modelo
- modelos
- más,
- múltiples
- Natural
- Naturaleza
- del sistema,
- telecomunicaciones
- noticias
- nodos
- cuaderno
- Notas
- número
- funcionar
- Opciones
- Otro
- de otra manera
- parte
- socios
- Pasando (Paso)
- apasionado
- (PDF)
- actuación
- realizar
- fotografía
- Plataformas
- posible
- posible
- predicción
- Predicciones
- Preparar
- Director de la escuela
- en costes
- tratamiento
- producir
- producido
- Profesional
- Mi Perfil
- perfecta
- proporcionar
- proporciona un
- con rapidez
- Crudo
- en comunicarse
- realizado
- Relaciones
- repositorio
- que representa
- solicita
- solicitudes
- exigir
- Requisitos
- requiere
- la investigación
- Recursos
- Resultados
- volvemos
- Ejecutar
- correr
- savia
- Escala
- escena
- Ciencia:
- Científico
- seleccionado
- de coches
- Servicios
- set
- Varios
- compartido
- compartir
- mostrado
- sencillos
- habilidades
- Social
- redes sociales
- redes sociales
- sólido
- a medida
- Soluciones
- RESOLVER
- especializado
- CURSOS
- Girar
- Deportes
- propagación
- Etapa
- etapas
- estándar
- comienzo
- statistics
- Estado
- STORAGE
- tiendas
- Estratégico
- Estrategia
- soportes
- te
- Target
- afectados
- tareas
- equipo
- Técnico
- técnicas
- Tecnologías
- Tecnología
- test
- por lo tanto
- A través de esta formación, el personal docente y administrativo de escuelas y universidades estará preparado para manejar los recursos disponibles que derivan de la diversidad cultural de sus estudiantes. Además, un mejor y mayor entendimiento sobre estas diferencias y similitudes culturales permitirá alcanzar los objetivos de inclusión previstos.
- equipo
- veces
- Título
- juntos
- parte superior
- tradicional
- tráfico
- Formación
- trenes
- tipos
- único
- universidad
- Actualizar
- us
- utilizan el
- usuarios
- propuesta de
- variedad
- verificar
- versión
- volumen
- web
- semana
- ¿
- Wikipedia
- Actividades:
- años