ai & machine learning · natural language processing
Stop re-reading claims notes, emails and contracts. Turn them into fields you can query.
Somewhere in your systems there's a column of free text that people still read one row at a time, usually adjuster notes, support emails or contract clauses. We turn that column into structured data you can search, count and route.
Natural language processing pulls meaning out of text.
It sorts documents, picks out entities and fields, summarizes, translates and searches by meaning. Cohash builds NLP pipelines from large language models, smaller fine-tuned models and plain rules, picking each by accuracy, cost and how sensitive the data is. Every pipeline is measured against a labeled test set, with sensitive fields redacted where needed, before results go back to your CRM or data platform.
you probably need this if
Someone still reads every inbound email or ticket by hand just to decide where it goes.
Fields from forms, claims or contracts get re-typed into a system of record. Every re-key is a chance for a typo.
Search only works if people guess the exact words in the document. Try a synonym and you often miss the document.
terms on this pageRulesdefinitionThe JavaScript snippets Auth0 used to run at login. Someone would write one to add a role to the token or block a sign-in, and each one ran after the last.explained in a field note →
From the first call to a setup your own team can run.
Here's what usually prompts a call about your Natural Language Processing, what we do about it and in which order, and where you end up.
01 · where it hurts02 · what we change03 · how it runs04 · where you end up
incident board · natural language processing3 open
openSomeone still reads every inbound email or ticket by hand just to decide where it goes.
recurringFields from forms, claims or contracts get re-typed into a system of record. Every re-key is a chance for a typo.
blockedSearch only works if people guess the exact words in the document. Try a synonym and you often miss the document.
exposure
Classification and routingField extraction to a schemaDocument processingSemantic searchSensitive data handlingThe right model for the job
startrehearsehandover
Sample and label
Baseline
Improve
Integrate and monitor
we are here
ready to hand over
Every routing decision now carries a confidence score, and an email the model isn't sure…
Renewal terms for every contract now sit in structured fields that point back to the…
Labeling guide and labeled evaluation set
Accuracy report per field or class
chapter 01 · where it hurts
Why teams reach out
Someone still reads every inbound email or ticket by hand just to decide where it goes.
Fields from forms, claims or contracts get re-typed into a system of record. Every re-key is a chance for a typo.
Search only works if people guess the exact words in the document. Try a synonym and you often miss the document.
chapter 02 · what we change
How we solve it
Classification and routing
Field extraction to a schema
Document processing
Semantic search
Sensitive data handling
The right model for the job
chapter 03 · how it runs
Our approach
Sample and label
Baseline
Improve
Integrate and monitor
chapter 04 · where you end up
What changes
Every routing decision now carries a confidence score, and an email the model isn't sure about goes to a person instead of the wrong queue.
Renewal terms for every contract now sit in structured fields that point back to the source page.
Labeling guide and labeled evaluation set
Accuracy report per field or class
what we do
Where we spend the hours
6 areas of work, each one done by an engineer who has run it in production.
We read emails, tickets and notes for intent, urgency or product and route each one to the right queue in Salesforce or Dynamics 365, with a confidence score attached, so a shaky guess doesn't look like a sure one.
We pull dates, amounts, parties, clause types and codes into a fixed schema and validate them. The output loads straight into a table, so nobody has to read a paragraph to find the number.
Scanned forms and PDFs get OCR and layout analysis before anything else. We treat tables and checkboxes as tables and checkboxes. Flatten them into text and you lose which box was ticked.
We set up embeddings plus hybrid keyword search over policies, contracts and knowledge bases. Document permissions still apply at query time, so people only find what they're allowed to open.
Personal and health data is found and redacted or tokenized before any text leaves your environment. We test the redaction itself for misses, because a step that quietly misses a format gives false comfort.
We use a large model for messy, low-volume text and a small fine-tuned model for high-volume narrow tasks, and plain rules where rules work. Then we compare all three on cost per thousand documents.
capability 01 / 06in production
Classification and routing
We read emails, tickets and notes for intent, urgency or product and route each one to the right queue in Salesforce or Dynamics 365, with a confidence score attached, so a shaky guess doesn't look like a sure one.
We pull dates, amounts, parties, clause types and codes into a fixed schema and validate them. The output loads straight into a table, so nobody has to read a paragraph to find the number.
Scanned forms and PDFs get OCR and layout analysis before anything else. We treat tables and checkboxes as tables and checkboxes. Flatten them into text and you lose which box was ticked.
We set up embeddings plus hybrid keyword search over policies, contracts and knowledge bases. Document permissions still apply at query time, so people only find what they're allowed to open.
Personal and health data is found and redacted or tokenized before any text leaves your environment. We test the redaction itself for misses, because a step that quietly misses a format gives false comfort.
We use a large model for messy, low-volume text and a small fine-tuned model for high-volume narrow tasks, and plain rules where rules work. Then we compare all three on cost per thousand documents.
We pieced these together from Natural Language Processing situations that come up a lot. They're patterns. You won't find a specific client in them.
case file 01
Support mailbox routed by keyword rules nobody will edit
composite · not a client story
Beforethe situation
Thousands of emails a week hit a shared support mailbox. Queue assignment runs on a keyword rule set someone built years ago. It misroutes often enough that agents forward messages by hand, and nobody wants to touch the rules in case something else breaks.
What we dothe work
First we label a sample of recent emails against today's queue list, misrouted ones included, and test an LLM classifier against the existing rules on that sample. Once accuracy per queue is agreed, we distill to a smaller model to cut cost. Anything below the confidence threshold lands in a triage queue.
Afterwhere you end up
Every routing decision now carries a confidence score, and an email the model isn't sure about goes to a person instead of the wrong queue. Adding a queue means labeling some examples, so nobody has to edit keyword rules again.
Procurement has roughly 8,000 supplier contracts, all scanned PDFs. Renewal dates, notice periods and liability caps live in a spreadsheet that is partly stale. Auto-renewals keep sliding past their notice windows.
What we dothe work
Legal signs off the target fields: renewal date, notice period, auto-renewal flag, liability cap. OCR runs first. An LLM then pulls each field and cites the page it came from. We measure accuracy field by field on a labeled sample, and low-confidence results go to a reviewer before anything is written to the contract system.
Afterwhere you end up
Renewal terms for every contract now sit in structured fields that point back to the source page. Notice deadlines show up in the contract system while someone can still do something about them.
Text that needs redacting gets redacted first. Then it goes to an LLM, a smaller fine-tuned model or plain rules, whichever suits the task. We check extracted fields against a schema and a labeled test set before anything reaches the CRM or data platform.
We don't start a step until the last one has produced something you can check.
step 01
Sample and label
Your experts label a few hundred real documents. We write them a short labeling guide first, so two people looking at the same email pick the same label.
step 02
Baseline
We score rules and an off-the-shelf model on the labeled set. That baseline is the number every later change has to beat.
step 03
Improve
We add prompts, fine-tuning or extra rules until each field reaches the accuracy threshold we agreed. Until then the field isn't done, however good the rest look.
step 04
Integrate and monitor
Results get written to your systems. Low-confidence cases go to a person for review, and we keep sampling them regularly so problems show up early.
you keep
What you're left with
We write these for your Natural Language Processing setup, and they're working documents. Your team should be able to keep things running from them long after we've gone.
Some clients want a project team, some want a couple of engineers on theirs. Either works. Onsite, nearshore or offshore, with handovers across time zones that keep things moving.
Onsite
Engineers at your sites in the US
Nearshore
Overlapping hours with US teams
Offshore
Overnight progress on your backlog
All time zones
Coverage handed over across time zones
24-hour coverage · US Central time
OnsiteUS business hours
Nearshoreoverlapping US hours
Offshoreovernight progress
Combinedhandover, not hand-off
00:0006:0012:0018:0000:00
roles we staff
NLP engineer
LLM application engineer
Search and retrieval engineer
Data engineer for text pipelines
Model evaluation engineer
due diligence · natural language processing
Questions to ask any partner, including us.
Put these to anyone bidding on your Natural Language Processing work. The ones who've done it answer differently from the ones who've read about it.
Q1
Will you report accuracy for each field or class, or only one overall number?
An overall score hides weak fields. A wrong liability cap matters far more than a misspelled supplier name.
Q2
If the model isn't sure about an answer, does it still get written to our system, or does someone check it first?
No NLP system is right every time. What matters is whether its mistakes get caught by a confidence threshold and a reviewer, or written straight into your systems of record.
Q3
If we send you our contracts and emails, where does the text end up, and can the provider keep it or train on it?
Contracts, claim notes and emails hold personal and confidential data. Settle the deployment route and the provider's terms before any text gets sent, not after.
Q4
How will you redact sensitive fields, and how will you show us the redaction worked?
Redaction that misses formats like international phone numbers or IDs typed into free text gives false comfort. It needs its own test set.
Q5
Once we have labeled data, would you move us off the LLM to a smaller model? What would decide it?
LLMs get you started quickly. At high volume, a fine-tuned smaller model can do the same task cheaper and faster, once you have the labeled data to train it.
01Should we use an LLM or traditional NLP?
It depends on volume, variety and cost. LLMs cope well with varied, messy text and need little training data. For one narrow task at scale, a smaller model is cheaper and faster. We often prototype with an LLM and then distill to a smaller model once there's labeled data to train it on.
02How accurate will it be?
We can't promise a number before we've seen your documents. What we do is agree a target for each field, measure against your labeled set, and send uncertain cases to a person instead of letting the model guess.
03Can the text stay inside our cloud?
Usually, yes. Many commercial models are offered through the major cloud providers' AI services, and open-weight models can run on your own infrastructure. Your data rules narrow the choice, and a test on your own text shows which option is accurate enough.
04Does it work for languages other than English?
Many languages work, though accuracy moves around by language and domain. If some of your documents aren't in English, we add them to the test set so you know how they do before go-live.
05Our files include scanned documents and handwritten forms. Can you process them?
Scanned print, yes, with an OCR step before extraction. Handwriting is less reliable. It depends heavily on scan quality and on how people write. We test a sample of your real documents before anyone agrees what can be automated and what still needs a person.
related
Often paired with
Projects on Natural Language Processing usually end up touching one of these, so they're worth a look.