NLP Coercion Detector — SecureWealth Twin (M3)

Fine-tuned google/muril-base-cased for detecting stress and coercion language in bank AI chat messages across English, Hindi (Devanagari), and Punjabi (Gurmukhi).

Part of the SecureWealth Twin AI system — a bank-grade fraud detection and financial intelligence platform.


Model Details

Base model google/muril-base-cased
Task Binary text classification
Languages English · Hindi · Punjabi
Max sequence length 128
Training epochs 6 (early stopping, patience=2)
Learning rate 2e-5
Batch size 16
Dataset size ~490 rows

Labels

Label ID Meaning
Normal 0 Regular chat message
Coercion 1 Stress / coercion language detected

Usage

Load and run inference

from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch

model_id  = "NanG01/m3-coercion-bert"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model     = AutoModelForSequenceClassification.from_pretrained(model_id)
model.eval()

def predict_coercion(text: str) -> dict:
    enc = tokenizer(text, return_tensors="pt", truncation=True,
                    padding="max_length", max_length=128)
    with torch.no_grad():
        label = model(**enc).logits.argmax(-1).item()
    return {"chat_stress_language": label, "risk_pts": 20 if label == 1 else 0}

Examples

predict_coercion("They said I must transfer 50000 rupees urgent right now")
# → {"chat_stress_language": 1, "risk_pts": 20}

predict_coercion("Please fast, he told me this is the last warning from income tax department")
# → {"chat_stress_language": 1, "risk_pts": 20}

predict_coercion("Jaldi karo, do minute vich transfer karna hai nahi tan khat khatam ho jaavega")
# → {"chat_stress_language": 1, "risk_pts": 20}

predict_coercion("How can I increase my monthly SIP amount?")
# → {"chat_stress_language": 0, "risk_pts": 0}

predict_coercion("Mera portfolio performance dikhao")
# → {"chat_stress_language": 0, "risk_pts": 0}

Output

Field Type Description
chat_stress_language int 1 = coercion detected · 0 = normal
risk_pts int +20 if coercion detected, 0 otherwise

chat_stress_language feeds directly into M4 Coercion Risk Scorer as one of 12 binary signals (+20 risk pts).


Trigger Patterns

Common coercion indicators the model detects:

urgent · hurry · they said · he told me · please fast · last warning · account will be blocked · income tax · jaldi karo · abhi transfer karo


Training Data

~490 chat messages across 3 languages:

  • 90 English coercion/normal messages
  • 400 Hindi coercion/normal messages
  • Punjabi messages included

Dataset: SecureWealthTwin_DL_Datasets_v2.xlsx (private)

Regularisation applied:

  • Frozen BERT encoder layers 0–9 (only top 2 layers + classifier trained)
  • Dropout 0.3 on hidden, attention, and classifier layers
  • Weight decay 0.01
  • Gradient clipping (max norm 1.0)
  • Early stopping (patience=2)

Part of SecureWealth Twin

This model is M3 in a 6-model AI system:

# Model Task
M1 BehaviorDNA Behavioural anomaly detection
M2 BERT Txn Classifier Transaction categorisation
M3 NLP Coercion Detector Coercion language detection
M4 Coercion Risk Scorer Composite risk scoring
M5 Monte Carlo Simulator Wealth projection
M6 Predictive Early Warning Financial distress prediction

GitHub: BlackBox-Wealth/AI_Models_2


license: apache-2.0

Downloads last month
29
Safetensors
Model size
0.2B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support