Docs Menu
Docs Home
/

Mitigación de delitos financieros con MongoDB Atlas

Casos de uso: Inteligencia artificial, búsqueda inteligente, vista única

Industrias: Servicios financieros

Productos: MongoDB Atlas, Búsqueda enMongoDB Atlas, Búsqueda vectorial en MongoDB Atlas, Procesamiento de flujosen MongoDB Atlas

Asociados: Antrópico, AWS

Esta solución demuestra las capacidades de MongoDB para la prevención de delitos financieros. Análisis de transacciones en tiempo real con incrustaciones vectoriales y resolución sofisticada de entidades con $rankFusion búsqueda híbrida, clasificación de riesgos y generación de casos impulsada por LLM, recorrido de red de relaciones con $graphLookup y modelos de riesgo dinámicos que se actualizan sin tiempo de inactividad del sistema.

Plataforma de mitigación de delitos financieros
haga clic para ampliar

Figura 1. Plataforma de mitigación de delitos financieros con MongoDB

La Figura 1 presenta una descripción general de alto nivel de la plataforma de mitigación de delitos financieros "ThreatSight 360", que ilustra el flujo de trabajo de resolución de entidades y mitigación de delitos financieros de extremo a extremo, que se centra en las siguientes capacidades clave:

  • Flujo de detección de fraude: Demuestra un flujo de trabajo integral en tiempo real. Un simulador de transacciones genera eventos sintéticos para simular escenarios de fraude. Posteriormente, un motor de detección de fraude enriquece cada transacción con datos del perfil del cliente, aplica reglas, realiza búsquedas vectoriales y genera incrustaciones mediante AWS Bedrock. Un motor de modelos de riesgo gestiona modelos de riesgo que se actualizan en tiempo real mediante flujos de cambios de MongoDB para garantizar que las decisiones siempre reflejen la lógica de riesgo más reciente.

  • Búsqueda y resolución de entidades: Utilice MongoDB Atlas Search para coincidencias textuales difusas (nombres, direcciones, identificadores) y MongoDB Atlas Vector Search para similitud semántica. Ejecute ambos métodos en paralelo y combine los resultados con $rankFusion para generar una lista única de candidatos clasificados para cada entidad.

  • Análisis de red y recorrido de grafos: Almacene relaciones explícitas e inferidas en una colección dedicada. Utilice $graphLookup y pipelines de agregación para recorrer redes multisalto, descubrir enlaces ocultos y enriquecer el contexto de las entidades con métricas de conectividad.

  • Evaluación de riesgos asistida por IA: Incorpore perfiles de entidades, historiales de transacciones, coincidencias de búsqueda y contexto de red en indicaciones para un LLM como AWS Bedrock Claude-3 Sonnet. El modelo evalúa los indicadores de riesgo, explica la justificación y recomienda las mejores acciones según las políticas y los umbrales de riesgo de su institución.

  • Gestión de casos e informes: Almacene archivos de casos, notas de analistas, narrativas generadas por LLM y registros de auditoría como documentos MongoDB. Esto reduce los falsos positivos, facilita el análisis y crea un registro consistente y consultable para equipos de cumplimiento, auditores internos y organismos reguladores.

Esta solución consta de cuatro módulos principales que juntos implementan un flujo de trabajo de resolución de entidades y mitigación de delitos financieros de extremo a extremo:

Propósito: Detección de patrones de fraude semántico con búsqueda vectorial

  • Utilice MongoDB Atlas Vector Search para identificar transacciones que se comportan como patrones de fraude conocidos, incluso cuando no coinciden con una regla explícita.

  • Generar incrustaciones a partir de los aspectos cualitativos y comportamentales de cada transacción, tales como:

    • Categoría y descripción del comerciante

    • Huellas digitales de canales y dispositivos

    • Rangos de IP e información de ASN

    • Patrones temporales, como secuencias de horas del día o comportamiento de la sesión

    • Campos narrativos o notas de texto libre, si corresponde

  • Almacene estas incrustaciones de 1536dimensiones en los mismos documentos de transacción que contienen sus datos operativos.

  • Mantenga las funcionalidades numéricas significativas, como el monto bruto, los cambios de saldo y los contadores de velocidad simples, fuera de las incrustaciones y evalúelos con modelos basados en reglas o modelos de scorecard. Esta separación le permite:

    • Utilice la búsqueda vectorial para descubrir comportamientos semánticamente similares que crucen umbrales o reglas simples.

    • Utilice reglas deterministas y modelos de riesgo para aplicar límites numéricos y restricciones regulatorias.

  • Al analizar una nueva transacción, genere una incrustación y consulte MongoDB Atlas con $vectorSearch.

    • El sistema devuelve transacciones semánticamente similares, incluidas aquellas que evaden reglas estáticas pero que se parecen a fraudes anteriores en su comportamiento.

    • Combine puntuaciones de similitud vectorial con puntuaciones de riesgo numérico para crear un proceso de toma de decisiones de riesgo unificado.

Propósito: Inteligencia de riesgos en tiempo real con flujos de cambio

Utilice los flujos de cambios de MongoDB para recibir notificaciones instantáneas cuando se modifiquen los modelos de riesgo, las reglas de cumplimiento o las listas de vigilancia. Transmita las actualizaciones directamente a sus servicios de detección de fraude y gestión de casos en lugar de sondear o depender de la invalidación de caché ad hoc.

Cuando los analistas activan un nuevo modelo de riesgo, todos los motores de análisis de transacciones reciben el cambio en cuestión de milisegundos y aplican las reglas actualizadas al tráfico entrante. Esto elimina los retrasos en los lotes que permiten que las transacciones fraudulentas se procesen antes de ser detectadas.

Abra un cursor de flujo de cambios en sus modelos de riesgo o colecciones de configuración, y MongoDB enviará cada operación de inserción, actualización o reemplazo a su aplicación. Use tokens de reanudación para reiniciar el procesamiento desde el punto exacto de la interrupción tras reinicios del servicio o fallos de red, para no perderse ninguna actualización.

Plataforma de mitigación de delitos financieros
haga clic para ampliar

Figura 2. Proceso de detección de fraude en tiempo real con flujos de cambio, búsqueda vectorial y modelos de riesgo.

Este módulo tiene dos propósitos principales:

Objetivo: Resolución de entidades impulsada por IA con búsqueda híbrida

Utilice el operador $rankFusion de MongoDB para combinar múltiples estrategias de búsqueda durante la incorporación o la investigación de entidades. Ejecute la Búsqueda Atlas para la coincidencia de texto difuso y la Búsqueda Vectorial Atlas para la similitud semántica en paralelo. $rankFusion fusiona los conjuntos de resultados y clasifica las entidades según la relevancia combinada de la similitud textual y las incrustaciones.

Para los mejores candidatos, recorra las redes de relaciones y transacciones usando $graphLookup. MongoDB devuelve el contexto de la red, incluyendo conexiones de entidades, patrones de transacciones, identificadores compartidos e indicadores de riesgo, en una única canalización de agregación. Esto evita consultar múltiples sistemas o realizar uniones costosas.

Incorpore datos de entidades, resultados de búsqueda y análisis de red a un LLM como AWS Bedrock Claude‑3 Sonnet para la clasificación de riesgos asistida por IA. El modelo evalúa indicadores de cumplimiento, patrones de relación, indicadores de comportamiento y coincidencias con listas de vigilancia para generar evaluaciones de riesgos con puntuaciones de confianza y acciones recomendadas.

Cree documentos de casos automáticamente en MongoDB con resúmenes de investigación generados por LLM. Esto reduce la redacción manual de informes y mejora la consistencia de la documentación de cumplimiento.

Propósito: Descubrimiento de red con recorrido de gráficos

Los investigadores a menudo necesitan rastrear redes de lavado de dinero y conexiones ocultas entre entidades. Utilice la etapa de agregación $graphLookup de MongoDB para realizar este análisis de red directamente en su base de datos operativa, sin necesidad de un almacén de grafos independiente.

  • Comience con una entidad sospechosa y explore recursivamente las relaciones a través de socios comerciales, direcciones compartidas, contrapartes de transacciones o estructuras corporativas. Cada exploración devuelve documentos completos de la entidad con análisis de comportamiento integrado, puntuaciones de riesgo e indicadores de cumplimiento.

  • Filtrar relaciones por puntuación de confianza, tipo de relación o umbrales de riesgo durante el recorrido.

  • Descubra redes a través de múltiples saltos en milisegundos, luego combine los resultados de los gráficos con operaciones de agregación estándar, como filtrado, clasificación y agrupación.

// Multi-hop relationship traversal with MongoDB $graphLookup
db.entities.aggregate([
{
$match: { entityId: 'ENT_12345' },
},
{
$graphLookup: {
from: 'entity_relationships',
startWith: '$entityId',
connectFromField: 'target_entity_id',
connectToField: 'source_entity_id',
as: 'relationship_network',
maxDepth: 2,
restrictSearchWithMatch: {
confidence_score: { $gte: 0.7 },
relationship_type: {
$in: [
'BUSINESS_ASSOCIATE',
'SHARED_ADDRESS',
'TRANSACTION_COUNTERPARTY',
],
},
},
},
},
{
$lookup: {
from: 'entities',
localField: 'relationship_network.target_entity_id',
foreignField: 'entityId',
as: 'connected_entities',
},
},
{
$project: {
entityId: 1,
name: 1,
riskAssessment: 1,
networkDepth: { $size: '$relationship_network' },
connectedEntities: {
$map: {
input: '$connected_entities',
as: 'entity',
in: {
id: '$$entity.entityId',
name: '$$entity.name.full',
riskLevel: '$$entity.riskAssessment.level',
},
},
},
},
},
]);
Plataforma de mitigación de delitos financieros
haga clic para ampliar

Figura 3. Resolución de entidades con MongoDB Search y $graphLookup y gestión de casos con LLM.

La plataforma se centra en tres colecciones de MongoDB que aprovechan la flexibilidad del modelo de documento:

  • Recopilación de Entidades: Almacena datos de personas y organizaciones con perfiles de cliente completos y de vista única. Cada documento agrega datos de identificación, información de contacto, atributos KYC, evaluaciones de riesgo, análisis de comportamiento e incrustaciones de vectores. Los documentos anidados capturan patrones de transacciones, huellas digitales de dispositivos e historial de ubicación, lo que le ofrece una vista completa de cada cliente sin necesidad de integrar varios sistemas. Puede agregar nuevos factores de riesgo o fuentes de datos sin migrar esquemas.

  • Recopilación de Transacciones: Registra transacciones financieras con detalles del comerciante, datos de ubicación (como puntos GeoJSON), información del dispositivo y evaluaciones de riesgos integrados. Cada documento de transacción es independiente y tiene contexto completo, lo que permite realizar consultas geoespaciales y análisis de patrones sin uniones.

  • Colección de modelos de riesgo: mantiene modelos de gestión de riesgos versionados como documentos. Cada modelo incluye factores de riesgo, ponderaciones, umbrales y métricas de rendimiento. Los Change Streams de MongoDB notifican a los servicios cuando se activan o actualizan modelos, lo que permite la implementación inmediata de nuevas reglas de riesgo.

El diseño modela las relaciones a través de una combinación de referencias integradas y una colección relationships dedicada:

  • Los documentos de entidad pueden incorporar referencias a entidades relacionadas en matrices connected_entities.

  • Los documentos de transacción almacenan customer_id campos que se vinculan a entidades.

  • La colección entity_relationships almacena relaciones explícitas con puntuaciones de confianza, tipos de relaciones y registros de auditoría.

Este patrón permite un recorrido gráfico eficiente con $graphLookup y al mismo tiempo mantiene el esquema flexible a medida que surgen nuevos tipos de relaciones.

Usa los índices de búsqueda de Atlas para soportar la resolución de entidades y los flujos de trabajo investigativos:

  • Configure el autocompletado en name.full con n-gramas de borde (2–15 caracteres) para sugerencias de nombres en tiempo real.

  • Configure las facetas de cadena en entityType, nationality, residency y riskAssessment.overall.level para filtrar los resultados de búsqueda.

Utilice los índices de Búsqueda Vectorial de Atlas en los campos de incrustación para habilitar la coincidencia por similitud semántica configurando la similitud de coseno con vectores de dimensión 1536para la coincidencia de entidades y patrones de comportamiento. Puede crear incrustaciones independientes para datos de identificadores y patrones de comportamiento para casos de uso específicos.

Utilice índices estándar para cargas de trabajo operativas:

  • Utilice índices de campo único en entityId, customer_id y timestamp para búsquedas y consultas de rango.

  • Utilice índices 2dsphere en las coordenadas de ubicación para las reglas de fraude basadas en radio.

  • Utilice índices compuestos sobre el nivel de riesgo y el tipo de entidad para los filtros de investigación comunes.

{
"_id": ObjectId("674a83b654c7f1b869cb1c2"),
"customer_id": "CUST_67890",
"transaction_id": "TXN_54321",
"timestamp": ISODate("2024-11-15T14:22:36Z"),
"amount": 2500.75,
"currency": "USD",
"merchant": {
"name": "Global Electronics",
"category": "electronics",
"id": "MERCH_123"
},
"location": {
"city": "San Francisco",
"state": "California",
"country": "US",
"coordinates": {
"type": "Point",
"coordinates": [
-122.4194,
37.7749
]
}
},
"device_info": {
"device_id": "device_abc123",
"type": "desktop",
"os": "macOS",
"browser": "Chrome",
"ip": "203.0.113.45"
},
"transaction_type": "purchase",
"payment_method": "credit_card",
"status": "completed",
"risk_assessment": {
"score": 78.5,
"level": "high",
"flags": [
"unusual_amount",
"unexpected_location",
"velocity_alert"
],
"transaction_type": "suspicious",
"diagnostics": {
"customer_base_risk": 35.0,
"transaction_factors": {
"amount": 85.0,
"location": 90.0,
"device": 0,
"velocity": 75.0,
"pattern": 60.0
}
}
},
"vector_embedding": [
0.234,
-0.567,
0.890, ...
]
}

Para obtener instrucciones detalladas de configuración, variables de entorno y opciones de implementación, consulte el archivo README en el repositorio de GitHub.El repositorio incluye configuraciones de Docker para implementación en contenedores e instrucciones para implementación en producción.

1
  1. Instale Python 3.10+, Node.js 18+ y Poetry para la gestión de dependencias.

  2. Cree un clúster MongoDB Atlas M10 y configure el acceso a la red.

  3. Solicite acceso a AWS Bedrock para integraciones basadas en LLM y clasificación de riesgos, o configure un proveedor de integraciones alternativo.

  4. Clonar el fsi-aml-fraud-detection repositorio desde GitHub.

2

Cree índices de Búsqueda Atlas y Búsqueda Vectorial Atlas en sus colecciones. En la pestaña Búsqueda Atlas:

  1. Crea un índice llamado entity_resolution_search en la colección entities.

  2. Configura la tokenización autocomplete en name.full con n‑gramas edge y 2–15 caracteres.

  3. Configura los campos string o stringFacet para entityType, nationality, residency y riskAssessment.overall.level.

  4. Cree índices de búsqueda vectorial denominados entity_vector_search_index y transaction_vector_index en las respectivas colecciones. Utilice 1536 dimensiones con similitud de coseno para la coincidencia por similitud semántica.

Ejemplo de definición del índice de búsqueda de Atlas

{
"mappings": {
"dynamic": false,
"fields": {
"name": {
"type": "document",
"fields": {
"full": [
{
"type": "autocomplete",
"analyzer": "lucene.standard",
"tokenization": "edgeGram",
"minGrams": 2,
"maxGrams": 15,
"foldDiacritics": true
},
{
"type": "string"
}
],
"aliases": {
"type": "string"
}
}
},
"entityType": {
"type": "stringFacet"
},
"riskAssessment": {
"type": "document",
"fields": {
"overall": {
"type": "document",
"fields": {
"level": {
"type": "stringFacet"
},
"score": {
"type": "numberFacet"
}
}
}
}
},
"addresses": {
"type": "document",
"fields": {
"full": {
"type": "string"
}
}
}
}
}
}
3
  1. Cree env archivos con su cadena de conexión MongoDB y valores de configuración.

  2. Ejecute los siguientes comandos para instalar dependencias:

    poetry install
    npm install
  3. Inicie los servicios y luego acceda a la interfaz web en http://localhost:3000.

  4. Genere datos de prueba sintéticos, como perfiles de clientes, transacciones, redes de entidades e incrustaciones de vectores, utilizando cuadernos Jupyter desde el directorio docs.

Seis capacidades clave diferencian a MongoDB para la detección de delitos financieros:

  • Elimine las migraciones de esquemas cuando las amenazas evolucionan: agregue factores de riesgo, métricas de comportamiento o indicadores de cumplimiento a los documentos sin operaciones ALTER TABLE ni tiempo de inactividad.

  • Procese transacciones en tiempo real con flujos de cambio: reciba notificaciones instantáneas cuando se actualicen los modelos de riesgo o las listas de vigilancia y aplique nuevas reglas a los motores de detección sin demoras en los lotes ni invalidación de caché.

  • Encuentre patrones de fraude sofisticados con Vector Search: utilice la similitud semántica en las incorporaciones de comportamiento para detectar transacciones que se asemejan a fraudes conocidos, incluso cuando eluden la detección basada en reglas.

  • Descubra redes ocultas: recorra relaciones de múltiples saltos entre entidades, rastree flujos de dinero y exponga redes sospechosas mediante canales de agregación nativos.

  • Combine texto difuso y búsqueda semántica: fusione los resultados de Atlas Search y Atlas Vector Search con clasificación ponderada usando $rankFusion para mostrar las coincidencias de entidades más relevantes durante la incorporación y las investigaciones.

  • Aplique LLM gobernados y estrategias de integración para automatizar el cumplimiento: Elija modelos de integración adecuados para cada dominio, separe las características numéricas de riesgo en reglas explicables y aplique las directrices de LLM (plantillas de avisos, barandillas y registro). Utilice estos patrones para generar clasificaciones de riesgos, resúmenes de investigaciones e informes de casos, a la vez que almacena todas las entradas y salidas en MongoDB para una IA transparente y auditable.

Volver

Solución al fraude con tarjetas

En esta página