We built a bilingual customer communication NLP platform over 11 weeks. (1) Bilingual Classification Engine: categorising communications in both languages using a unified model. The engine: processing English and French communications through the same model (unified bilingual embedding — the model represents "I want to close my account" and "je veux fermer mon compte" in the same semantic space), classifying into the 45-category taxonomy with language-independent accuracy (same classification regardless of language), detecting communication language automatically (and flagging mixed-language communications for bilingual handling), and sub-classifying within categories (a "complaint" about "fee dispute" receives both the category and sub-category assignment). Classification accuracy: 94.2% (from 78% manual). Cross-language consistency: 97.8% — the same issue receives the same classification regardless of language. (2) Intent and Sentiment Engine: understanding what the customer wants and how they feel.
The engine: extracting customer intent (what action the customer is requesting — account closure, fee reversal, product change, information request — with specificity beyond the general category), detecting sentiment (positive, neutral, frustrated, angry, distressed — calibrated for both English and French Canadian communication styles), identifying urgency indicators (imminent financial harm, time-sensitive requests, regulatory deadlines), and detecting escalation triggers (threats to switch banks, media/ombudsman mentions, legal language, references to mental health distress). Sentiment detection accuracy: 91.3%. Escalation trigger identification: 96.2% recall (missing very few genuine escalation situations). (3) Regulatory Detection Engine: identifying communications requiring regulatory-mandated handling.
The engine: detecting financial hardship indicators (communications suggesting inability to meet financial obligations — per OSFI Guideline E-13 and FCAC guidelines), identifying privacy-related communications (data access requests, privacy complaints, consent withdrawal — per PIPEDA), flagging accessibility-related requests (accommodation requests per the Accessible Canada Act), and detecting potential elder abuse indicators (communications suggesting financial exploitation of vulnerable customers). The engine used semantic understanding rather than keyword matching — detecting "my mother is in the hospital and someone is using her bank card" as a potential elder financial abuse situation, even though no keywords from a fraud or elder abuse dictionary appear. Regulatory detection accuracy: 93.8% (capturing communications the keyword-based system missed). (4) Bilingual Analytics Engine: providing cross-language analysis capability.
The engine: aggregating complaint and feedback data across both languages into language-independent categories, identifying trends that appear in one language before the other (service issues affecting specific regions often appear in one language first), comparing service experience metrics across English and French customer bases (compliance with the Official Languages Act requirement for equal service quality), and generating bilingual management reports (same report available in English and French with consistent data). (5) Routing and Priority Engine: automatically routing communications to the right team with appropriate priority. The engine: routing based on AI classification, intent, and required expertise (not manual triage), assigning priority based on: sentiment (escalated communications prioritised), regulatory sensitivity (regulatory-mandated response deadlines), customer value (high-value customer communications flagged), and issue severity (financial harm potential, service outage impact), and generating response recommendations (suggested response templates based on communication type, with bilingual options).