Identify potential Money Laundering from transaction history using Graph Databases and LLMs

The Challenge

A financial institution aims to build a system to detect money laundering patterns and unusual transactions. The challenge lies in the complexity of the problem, which goes beyond a straightforward ML-based approach. Analyzing factors such as past transactions and transaction recipients to identify money laundering patterns is challenging. Tatras utilized graph networks and GenAI to build a solution. This approach improved efficiency, and scalability in detecting suspicious activities.

Hypothesis

  • Graph-based data structures can enable easy backtracking and relation finding for transactions.
  • GenAI advanced agents can generate dynamic graph queries to retrieve data.
  • Retrieved data can be used to generate inferences and answer user queries.

Execution

  • Utilized Neo4j Graph DB to store data.
  • GenAI Cypher QA agents analyze user queries in natural language and the graph schema to generate graph queries. The query is then executed.
  • REACT agent infers from fetched data and user query to provide the final answer.
  • Libraries used: Scikit-learn, Langchain, PyTorch, Llama Index Transformers, Fast-API, Neo4j

Outcomes

  • A dynamic knowledge graph displayed on the UI provides users with clear insights on money laundering patterns.
  • Improved ability to track transactions seamlessly from start to end using the graph-based representation.
  • GenAI agents capability to generate dynamic queries enhances system flexibility and generality.

Project Highlights

  • Graph-based data structure to effectively track transactions and identify patterns.
  • Dynamic knowledge graphs on the UI provide an intuitive way to analyze money laundering patterns.