Text & intent classification
Route tickets, tag documents, and triage inbound messages with classifiers trained on your own categories and labelled from your own data.
AI Development · 03 Natural Language
Classification, sentiment, entity extraction, semantic search, and translation — built as production systems that turn tickets, contracts, reviews and records into structured data your teams and software can act on.
You own the models, code and IP Weekly demos Reply within one business day
Copilot · fine-tuned on your data
Live0.94
F1 score
86ms
Inference
12k/d
Requests
OlDevs builds natural language processing (NLP) systems for organisations that need to classify, analyse, extract, search, and translate text at scale.The discipline covers text and intent classification, sentiment analysis, named entity recognition, semantic and hybrid search, and machine translation, delivered as production APIs, batch pipelines, or features embedded in your own product. It serves corporations, associations, government bodies, franchises, and startups from Vancouver, British Columbia, as part of the OlDevs AI Development practice.
Key facts
03 · Natural Language
What we deliver in Natural Language
Route tickets, tag documents, and triage inbound messages with classifiers trained on your own categories and labelled from your own data.
Ticket routing · Document tagging · Intent detection · Multi-label · Zero-shot baselines
Read tone, urgency, and aspect-level opinion across reviews, surveys, call transcripts and social posts, so you know how customers feel about each part of what you sell.
Aspect-based · Review mining · Survey analysis · Trend tracking · Alerting
Pull names, organisations, dates, amounts, clauses, and custom entities out of contracts, forms, and records into clean structured fields.
Custom entities · Contracts · Invoices & forms · PII detection · Structured output
Replace keyword matching with search that understands meaning, combining vector embeddings with keyword and metadata filters for precise, fast results.
Embeddings · Vector database · Hybrid retrieval · Reranking · Knowledge base
Domain-tuned translation with glossaries and quality checks, including English–French workflows for Canadian audiences and regulated content.
English–French · Glossaries · Quality estimation · Human-in-the-loop · Multilingual
End-to-end pipelines that ingest PDFs, emails and transcripts, clean and chunk them, and feed classification, extraction and search at production volume.
OCR ingestion · Chunking · Deduplication · Batch & streaming · Transcripts
Process
Corpus audit
We review your text sources, volumes, languages and privacy constraints, and define the labels or entities that matter to the business.
Labelling
We build a labelled gold set with your subject-matter experts, backed by written annotation guidelines your team can reuse.
Modelling
We fine-tune, prompt or train candidate models and evaluate each against the gold set before one is chosen.
Integration
We deploy as an API, batch pipeline or in-product feature, wired to your systems with a human review path where confidence is low.
Monitoring
We track accuracy, drift and latency in production and retrain as your language, products and customers change.
How we work
We start with a sample of your actual tickets, contracts or reviews and agree on a label scheme with your experts before anyone trains a model.
We test fine-tuned encoders, open-weight models and hosted large language models on your data, and pick by accuracy, latency and privacy requirements.
Every model ships with a held-out evaluation set and per-label results, so you can see exactly where it is confident and where a human should review.
Low-confidence predictions route to a review queue, and those corrections become training data for the next run.
Relevance is measured with judgements from the people who use the search, then tuned with hybrid retrieval and reranking until the top results are right.
We track drift, accuracy and latency after launch and retrain on a schedule or whenever performance moves past an agreed threshold.
Who it's for
Whether the audience is a customer, a member, a citizen, or your own team, the work has to hold up under real use.
Classify millions of tickets, contracts and reviews so operations, legal and customer-experience teams act on what the text says instead of reading all of it.
Sort public submissions, member correspondence and case files with auditable, bilingual models that respect privacy, records and data-residency rules.
Read reviews and support messages across every location in one view, spot service issues by site, and keep the brand voice consistent in every language.
Ship search, tagging or translation inside your product without hiring an NLP team, on models and data you own outright.
94%
Average F1 on client gold sets
60%
Less manual triage after launch
2014
Shipping software from Vancouver since
Works well with
Bespoke models trained on your data, taken from prototype to production-grade MLOps.
Explore02Chatbots, copilots, and RAG systems on leading language models, fine-tuned to your domain.
Explore04Image & video recognition, object detection, OCR, and automated quality inspection.
ExploreSelected work
Client names are withheld; the problem and the outcome are the point.
“Our crews stopped phoning the control centre for procedure questions, and when the copilot answers they can see exactly which bulletin it came from.”
Challenge
Operating procedures, safety bulletins and collective agreement clauses lived across SharePoint, a document management system and two decades of PDFs, so answering a straightforward question often meant asking a colleague who had been there long enough to remember. Crews in the field gave up and phoned the control centre instead. Anything an assistant said had to be traceable to the document it came from, and staff could only ever see the documents their role already permitted.
Solution
OlDevs built a retrieval system over the utility's own document set, chunked and indexed in PostgreSQL with pgvector, with answers generated by a large language model inside the utility's own tenancy so no content left their boundary. Every response cites the source document, section and revision date, and links straight to it. Permissions are read from existing Microsoft Entra ID groups at query time, so the copilot retrieves only what the person asking is already cleared to open.
6 wk
To first department live
−63%
Time spent locating policy answers
+41%
Weekly active internal users
“Nothing goes out that one of our officers has not read, but they are approving replies now instead of writing them from scratch.”
Challenge
Residents wrote to eleven different departmental inboxes, and roughly a third of what arrived was in the wrong one. Staff spent their mornings reading messages only to forward them, bylaw complaints sat unread beside pothole reports, and nobody could say how long anything actually took. Council wanted faster responses without anything consequential being decided by software.
Solution
OlDevs built an intake layer that reads every incoming enquiry, classifies it by service area and urgency, extracts the address and the specific request, and drafts a reply in English or French. Routing is automatic, but the draft reply, any service request raised in the city's work order system and every escalation waits for a named officer to approve or edit it first. Each decision the classifier makes is logged with its confidence, so the city can see where it is wrong and retrain against real cases.
11→1
Intake inboxes consolidated
−47%
First response time
3.2x
Enquiries closed without rerouting
No stories match that filter yet.
FAQ
A focused classifier or entity extractor on a well-defined corpus typically moves from corpus audit to a production API in six to ten weeks. Semantic search over a large document set, or multilingual pipelines with human review, usually run ten to sixteen weeks. The timeline depends mostly on how much labelled data already exists and how many source systems we integrate with, and we confirm a schedule at the end of the corpus audit.
A representative sample of your text — a few thousand tickets, documents or reviews is usually enough to begin — and one or two subject-matter experts who can spend a couple of hours a week reviewing labels. We also need to know where the text lives, which languages it covers, and any privacy or data-residency rules that apply. If your data is unlabelled, we run the labelling with your experts as reviewers.
We choose per task rather than per vendor. Fine-tuned transformer encoders (BERT-family and multilingual variants) handle most classification and entity extraction; embedding models with vector databases such as pgvector, Qdrant or Pinecone power semantic search; hosted or open-weight large language models cover zero-shot and translation tasks where they win on your benchmarks. We deploy on AWS, Google Cloud, Azure or your own infrastructure, including Canadian data residency where it is required.
Every model is scored against a held-out gold set. For classification and extraction we report precision, recall and F1 per label; for search we report relevance metrics such as recall@k and NDCG from your own staff's judgements; for translation we report quality-estimation scores and human review rates. In production you get a dashboard showing accuracy on reviewed samples, confidence distribution, drift alerts and latency, summarised in a monthly report.
You do. Training data, labels, fine-tuned model weights, evaluation sets and source code are delivered into your own cloud accounts and repositories. Where a third-party hosted model is used, we document the dependency and design the pipeline so it can be swapped out. Your text is never used to train models for other clients.
As one team. We run a shared project board, a weekly review of model results with your subject-matter experts, and a labelling process your staff can continue after launch. Your developers receive documented APIs, evaluation notebooks and a handover session; if you have data scientists, we pair with them from the start so the system stays maintainable in-house.
Every engagement is scoped to your corpus, languages and integration needs, so we quote rather than publish a price list. Request a quote with a short description of your text sources and what you want the system to do, and we reply within one business day with a scoped plan and estimate.
Let’s connect
Tell us what you’re building. We’ll reply within one business day with next steps and a tailored quote — no obligation.
Thanks — we’ll reply within one business day.