Learn the "why" behind slow queries and how to fix them in our 2-Part Webinar.
Register now >
Menu Docs
Página inicial do Docs
/

Mitigação de Crimes Financeiros com o MongoDB Atlas

Casos de uso: Inteligência artificial, Pesquisa inteligente, Visualização única

Setores: Serviços financeiros

Produtos: MongoDB Atlas, MongoDB Atlas Search, MongoDB Atlas Vector Search, MongoDB Atlas Stream Processing

Parceiros: Anthropic, AWS

Esta solução demonstra as funcionalidades do MongoDB para a prevenção de crimes financeiros. Triagem de transações em tempo real com incorporações vetoriais, resolução sofisticada de entidades com pesquisa híbrida $rankFusion, classificação de risco e geração de casos com tecnologia LLM, navegação em redes de relacionamento com $graphLookup e modelos de risco dinâmicos que se atualizam sem tempo de inatividade do sistema.

Plataforma de Mitigação de Crimes Financeiros
clique para ampliar

Figura 1. Plataforma de mitigação de crimes financeiros com MongoDB

A Figura 1 apresenta uma visão geral de alto nível da plataforma de mitigação de crimes financeiros "ThreatSight 360", ilustrando o fluxo de trabalho completo de resolução de entidades e mitigação de crimes financeiros, que foca nas seguintes capacidades-chave:

  • Fluxo de detecção de fraude: demonstra um pipeline em tempo real de ponta a ponta. Um simulador de transação gera eventos sintéticos para executar cenários de fraude. Em seguida, um mecanismo de detecção de fraudes enriquece cada transação com dados de perfil de clientes, aplica regras, realiza pesquisa vetorial e gera incorporações via AWS Bedrock. Um mecanismo de modelo de risco gerencia modelos de risco que se atualizam em tempo real usando fluxos de alteração do MongoDB para garantir que as decisões sempre reflitam a lógica de risco mais recente.

  • Busca e resolução de entidades: use o MongoDB Atlas Search para correspondência difusa baseada em texto (nomes, endereços, identificadores) e o MongoDB Atlas Vector Search para similaridade semântica. Execute ambos em paralelo e mescle os resultados com $rankFusion para produzir uma única lista de candidatos ranqueada para cada entidade.

  • Análise de rede e travessia de grafos: armazene relacionamentos explícitos e inferidos em uma coleção dedicada. Use $graphLookup e pipelines de agregação para percorrer redes multi-hop, descobrir links ocultos e enriquecer o contexto da entidade com métricas de conectividade.

  • Avaliação de risco auxiliada por IA: empacote perfis de entidade, históricos de transação, correspondências de pesquisa e contexto de rede em prompts para um LLM como AWS Bedrock Claude‑3 Sonnet. O modelo avalia indicadores de risco, explica a lógica e recomenda as próximas melhores ações de acordo com as políticas e os limites de risco da sua instituição.

  • Gerenciamento de casos e relatórios: armazene arquivos de casos, notas de analistas, narrativas geradas por LLM e trilhas de auditoria como documentos do MongoDB. Isso reduz os falsos positivos, permite análises e cria um registro consistente e consultável para equipes de conformidade, auditores internos e reguladores.

Essa solução consiste em quatro módulos principais que, juntos, implementam um fluxo de trabalho de resolução de entidades e mitigação de crimes financeiros de ponta a ponta:

Objetivo: detecção de padrão de fraude semântica com pesquisa vetorial

  • Use o MongoDB Atlas Vector Search para identificar transações que se comportam como padrões de fraude conhecidos, mesmo quando não correspondem a uma regra explícita.

  • Gere incorporações a partir dos aspectos qualitativos e comportamentais de cada transação, como:

    • Categoria e descrição do comerciante

    • Impressões digitais de canais e dispositivos

    • Intervalos de IP e informações de ASN

    • Padrões temporais, como sequências de hora do dia ou comportamento da sessão

    • Campos narrativos ou notas de texto livre, se aplicável

  • Armazene essas incorporações de 1536 dimensões nos mesmos documentos de transação que contêm seus dados operacionais.

  • Mantenha os recursos numéricos de alto sinal, como quantidade bruta, alterações de saldo e contadores de velocidade simples, fora das incorporações e avalie-os com modelos baseados em regras ou scorecards. Essa separação permite que você:

    • Use a pesquisa vetorial para revelar comportamentos semanticamente semelhantes que ultrapassam limites ou regras simples.

    • Use regras determinísticas e modelos de risco para impor limites numéricos e restrições regulatórias.

  • Ao filtrar uma nova transação, gere uma incorporação e faça uma query no MongoDB Atlas com $vectorSearch.

    • O sistema retorna transações semanticamente semelhantes, incluindo aquelas que burlam regras estáticas, mas que apresentam comportamento semelhante a fraudes anteriores.

    • Combine pontuações de similaridade vetorial com pontuações numéricas de risco para criar um pipeline de decisão de risco unificado.

Objetivo: inteligência de risco em tempo real com Change Streams

Use streams de alteração do MongoDB para receber notificações instantâneas quando modelos de risco, regras de compliance ou listas de observação mudarem. Transmita atualizações diretamente para seus serviços de detecção de fraudes e gerenciamento de casos, em vez de enquetes ou dependência de invalidação de cache ad hoc.

Quando os analistas ativam um novo modelo de risco, todos os mecanismos de triagem de transações recebem a alteração em milissegundos e aplicam as regras atualizadas ao tráfego de entrada. Isso remove atrasos em lote que permitem que as transações fraudulentas sejam concluídas antes da detecção.

Abra um cursor de fluxo de alterações nos seus modelos de risco ou coleções de configuração, e o MongoDB envia cada operação de inserção, atualização ou substituição para seu aplicativo. Use tokens de retomada para reiniciar o processamento exatamente no ponto de interrupção após reinícios de serviço ou falhas na rede, garantindo que nenhuma atualização seja perdida.

Plataforma de Mitigação de Crimes Financeiros
clique para ampliar

Figura 2. Pipeline de detecção de fraudes em tempo real com Change Streams, pesquisa vetorial e modelos de risco

Este módulo tem dois propósitos principais:

Objetivo: resolução de entidades com tecnologia de IA com pesquisa híbrida

Use o operador $rankFusion do MongoDB para combinar várias estratégias de pesquisa durante a integração ou investigação de entidades. Execute o Atlas Search para correspondência de texto difuso e o Atlas Vector Search para similaridade semântica em paralelo. $rankFusion mescla os conjuntos de resultados e classifica as entidades por relevância combinada de similaridade de texto e incorporações.

Para os principais candidatos, percorra as redes de relacionamento e transação usando $graphLookup. O MongoDB retorna o contexto de rede, incluindo conexões de entidades, padrões de transação, identificadores compartilhados e indicadores de risco em um único pipeline de agregação. Isso evita consultar vários sistemas ou realizar junções caras.

Alimentar dados de entidades, resultados de pesquisa e análise de rede em um LLM, como AWS Bedrock Claude —3 SONNET para classificação de risco auxiliada por IA. O modelo avalia sinalizadores de conformidade, padrões de relacionamento, indicadores de comportamento e correspondências da lista de observação para gerar avaliações de risco com pontuações de confiança e ações recomendadas.

Criar documentos de caso automaticamente no MongoDB com resumos de pesquisas gerados por LLM. Isso reduz a gravação manual de relatórios e melhora a consistência da documentação de conformidade.

Objetivo: descoberta de redes com travessia de grafos

Os investigadores frequentemente precisam rastrear redes de lavagem de dinheiro e conexões ocultas entre entidades. Use a etapa de agregação $graphLookup do MongoDB para realizar essa análise de rede diretamente no seu banco de dados operacional, sem necessidade de armazenamento de grafos separado.

  • Comece com uma entidade suspeita e percorra relacionamentos recursivamente por meio de associados comerciais, endereços compartilhados, contrapartes de transações ou estruturas corporativas. Cada passagem retorna documentos completos da entidade com análises comportamentais incorporadas, pontuações de risco e sinalizadores de conformidade.

  • Filtre relacionamentos por pontuação de confiança, tipo de relacionamento ou limites de risco durante a travessia.

  • Descubra redes em vários saltos em milissegundos e, em seguida, combine os resultados do grafo com operações de agregação padrão, como filtro, classificação e agrupamento.

// 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 Mitigação de Crimes Financeiros
clique para ampliar

Figura 3. Resolução de entidades com MongoDB Search e $graphLookup e gerenciamento de casos com LLM

A plataforma se concentra em três coleções do MongoDB que aproveitam a flexibilidade do document model:

  • Coleção de entidades: armazena dados de indivíduos e organizações com perfis completos de cliente com visualização única. Cada documento agrega dados de identificação, informações de contato, atributos KYC, avaliações de risco, análises comportamentais e incorporações vetoriais. Os documentos aninhados capturam padrões de transação, impressões digitais de dispositivos e histórico de localização, proporcionando uma visão completa de cada cliente sem a necessidade de integrar vários sistemas. Você pode adicionar novos fatores de risco ou fontes de dados sem migrações de esquema.

  • Coleção de transações: registra transações financeiras com detalhes do comerciante incorporados, dados de localização (como pontos GeoJSON), informações do dispositivo e avaliações de risco. Cada documento de transação é independente, com contexto completo, permitindo queries geoespaciais e análise de padrões sem junções.

  • Coleção de modelos de risco: mantém modelos de avaliação de risco versionados como documentos. Cada modelo inclui fatores de risco, pesos, limites e métricas de desempenho. Os fluxos de alteração do MongoDB notificam os serviços quando os modelos são ativados ou atualizados, o que permite a implantação imediata de uma nova lógica de risco.

O design modela os relacionamentos por meio de uma mistura de referências incorporadas e uma coleção relationships dedicada:

  • Documentos de entidades podem incorporar referências a entidades relacionadas em arrays connected_entities.

  • Os documentos de transação armazenam campos customer_id que se vinculam a entidades.

  • A coleção entity_relationships armazena relacionamentos explícitos com pontuações de confiança, tipos de relacionamento e trilhas de auditoria.

Esse padrão permite a travessia eficiente do grafo com $graphLookup e, ao mesmo tempo, mantém o esquema flexível à medida que surgem novos tipos de relacionamento.

Use os índices de pesquisa do Atlas para suporte à resolução de entidades e fluxos de trabalho investigativos.

  • Configure o preenchimento automático em name.full com n‑gramas de borda (2–15 caracteres) para sugestões de nomes em tempo real.

  • Configure facetas de string em entityType, nationality, residency e riskAssessment.overall.level para filtrar os resultados da pesquisa.

Use os índices do Atlas Vector Search nos campos de incorporação para permitir a correspondência de similaridade semântica configurando a similaridade de cosseno com vetores com 1536 dimensões para correspondência de entidades e padrões de comportamento. Você pode criar incorporações separadas para dados de identificadores e padrões de comportamento para direcionar casos de uso específicos.

Use índices padrão para cargas de trabalho operacionais:

  • Use índices de campo único em entityId, customer_id e timestamp para pesquisas e queries de faixa.

  • Use índices 2dsphere em coordenadas de localização para regras de fraude com base em raio.

  • Use índices compostos em nível de risco e tipo de entidade para filtros exploratórios comuns.

{
"_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 obter instruções detalhadas de configuração, variáveis de ambiente e opções de implantação, consulte o arquivo README no repositório do GitHub. O repositório inclui configurações Docker para implantação em contêineres e instruções para implantação em produção.

1
  1. Instale o Python 3.10+, Node.js 18+ e Poetry para gerenciamento de dependências.

  2. Siga as etapas em Introdução ao Atlas para criar um Atlas cluster e configurar o acesso à rede.

  3. Faça a solicitação de acesso ao AWS Bedrock para incorporações baseados em LLM e classificação de risco, ou configure um provedor de incorporações alternativo.

  4. Clone o repositório fsi-aml-fraud-detection do GitHub.

2

Crie índices de Atlas pesquisa e Atlas Vector Search em suas coleções. Na aba de pesquisa Atlas:

  1. Crie um índice nomeado entity_resolution_search na coleção entities.

  2. Configure a tokenização autocomplete em name.full com n‑gramas de borda e caracteres de 2–15.

  3. Configure string ou stringFacet campos para entityType, nationality, residency e riskAssessment.overall.level.

  4. Crie índices de pesquisa vetorial nomeados entity_vector_search_index e transaction_vector_index nas respectivas coleções. Use 1536 dimensões com similaridade de cosseno para correspondência de similaridade semântica.

Exemplo de definição do índice de pesquisa do 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. Crie arquivos env com sua string de conexão do MongoDB e valores de configuração.

  2. Execute os seguintes comandos para instalar as dependências:

    poetry install
    npm install
  3. Inicie os serviços e acesse a interface da web em http://localhost:3000.

  4. Gere dados de teste sintético, como perfis de clientes, transações, redes de entidades e incorporações vetoriais usando notebooks Jupyter no diretório docs.

Seis funcionalidades principais diferenciam o MongoDB na detecção de crimes financeiros:

  • Elimine as migrações de esquema quando as ameaças evoluem: adicione fatores de risco, métricas de comportamento ou sinalizadores de conformidade a documentos sem operações ALTER TABLE ou tempo de inatividade.

  • Processe transações em tempo real com fluxos de alterações: receba notificações instantâneas quando os modelos de risco ou listas de observação forem atualizados, e aplique novas regras aos mecanismos de rastreamento sem atrasos no lote ou invalidação de cache.

  • Encontre padrões de fraude sofisticados com pesquisa vetorial: use a similaridade semântica entre representações comportamentais para detectar transações que se assemelham a fraudes conhecidas, mesmo quando elas burlam a detecção baseada em regras.

  • Descubra redes ocultas: percorra relacionamentos de múltiplos saltos entre entidades, rastreie fluxos de dinheiro e exponha redes suspeitas usando pipelines de agregação nativos.

  • Combine texto difuso e pesquisa semântica: mescle os resultados do Atlas Search e do Atlas Vector Search com classificação ponderada usando $rankFusion para apresentar as correspondências de entidade mais relevantes durante a integração e as investigações.

  • Aplique LLMs regulamentados e estratégias de incorporação para automatizar a compliance: escolha modelos de incorporação apropriados para o domínio, separe os recursos numéricos de risco em regras explicáveis e forçar as diretrizes de LLM (modelos de prompt, barreiras de proteção e registro). Use esses padrões para gerar classificações de risco, resumos de investigação e relatórios de casos, armazenando todas as entradas e saídas no MongoDB para uma IA transparente e auditável.

  • Luis Pazmino Diaz, MongoDB

  • Mehar Grewal, MongoDB

  • Andrea Alaman Calderon, MongoDB

Voltar

Solução para fraudes de cartão

Nesta página