A Proactive AI Tool for Supervisory Technologies (SupTech)
FinGuard is a decentralized "SupTech" (Supervisory Technology) prototype designed to assist financial regulators in monitoring mis-selling risks in real-time.
Financial products often suffer from a gap between "Expectation" (marketing promises) and "Reality" (customer experience). FinGuard bridges this gap by autonomously comparing product documentation against unstructured consumer feedback.
The Goal: Move regulatory oversight from reactive (waiting for formal complaints) to proactive (flagging discrepancies as they emerge).
FinGuard operates on a Dual-Pipeline Architecture that converges into a central Gap Analyzer.
- The Expectation Engine (Pipeline A):
- Input: Product PDFs (Brochures, Scheme Information Documents).
- Tech: OCR, NLP (LLMs/LangChain).
- Function: Extracts semantic "Promises" (e.g., "Guaranteed Returns," "Zero Exit Load").
- Output: A structured JSON
Promise_Profile.
- The Reality Engine (Pipeline B):
- Input: Unstructured text (Social media, reviews, forums).
- Tech: Sentiment Analysis, Topic Modeling (BERTopic/RoBERTa).
- Function: Extracts "Lived Experiences" and maps sentiment to specific product features.
- Output: A
Customer_Dissatisfaction_Index.
- The Gap Analyzer:
- Function: Calculates vector distances and semantic discrepancies between Promises and Reality.
- Result: A
Mis-selling Risk Score(0-100).
- Automated Promise Extraction: Parses complex financial PDFs to identify key claims regarding Lock-in periods, Risk profiles, and Fees without manual entry.
- Aspect-Based Sentiment Analysis: Doesn't just tell you if a review is "sad"; it tells you why (e.g., "Positive on Returns" but "Negative on Hidden Fees").
- The Fine-Print Detector: Compares prominent marketing text against obscure footnotes to flag "visual obfuscation."
- Real-time Dashboard: A Streamlit-based UI for regulators to view Risk Scores and drill down into specific product discrepancies.
| Component | Technology | Role | | | | | | Language | Python 3.10+ | Core Application Logic | | Orchestration | LangChain | LLM Framework for Promise Extraction | | LLM Provider | OpenAI API / Local Llama | Zero-shot Entity Extraction | | NLP & Topic Modeling | BERTopic, Spacy | Clustering Customer Feedback | | Vector Store | ChromaDB / FAISS | Semantic Similarity Search | | Frontend | Streamlit | Interactive Regulatory Dashboard | | Data Processing | Pandas, PyMuPDF | Data Manipulation & PDF Parsing |
- Python 3.10 or higher
- An OpenAI API Key (or a local LLM endpoint setup)
- Clone the Repository
git clone https://github.com/yourusername/finguard.git
cd finguard
- Create Virtual Environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install Dependencies
pip install -r requirements.txt
- Configuration
Create a
.envfile in the root directory:
OPENAI_API_KEY=sk-your-key-here
DATA_SOURCE_PATH=./data
To launch the regulatory dashboard:
streamlit run app.py
finguard/
├── assets/ # Simulated PDF brochures & review datasets
├── src/
│ ├── engines/
│ │ ├── expectation.py # PDF Parsing & Extraction Logic
│ │ └── reality.py # Sentiment & Topic Modeling Logic
│ ├── analyzer/
│ │ └── gap_logic.py # Comparison Algorithms
│ └── utils/
│ └── data_loader.py
├── app.py # Main Streamlit Dashboard entry point
├── requirements.txt # Python dependencies
├── README.md # Project documentation
└── COOKBOOK.md # Developer Guide & User Flows
- [Nishit Somani] - AI Engineering and Optimization (Kaptaan Sahab)
- [Vedant Hingu] - Frontend Design and Database organization
- [Hetansh Panchal] - Database Enginnering and Optimization
- [Neel Patel] - Backend monitoring and tool control
- [Utsav Mistry] - Backend impplememntation and Architecture
Built with ❤️ and ☕ at [DA-IICT].