← Alle artikelen

Kan Jev grootschalige chatgeschiedenisanalyse praktisch maken?

24 september 2026 8 min lezen Experimenten #Jev#Typesafe#Classification

Jev is nieuw, en ik experimenteer met de vraag waar dit nieuwe modeltype werkelijk nieuwe workflows mogelijk maakt in plaats van simpelweg na te bootsen wat we al met generative LLM's doen.

Het eerste gebruiksscenario dat bij mij opkwam was analyse van chatgeschiedenis.

Producten verzamelen enorme hoeveelheden conversationele data: customer-support chats, assistant-sessies, salesgesprekken, interne copilots, communityberichten en agent traces. De vragen zijn eenvoudig: Waar praten gebruikers over? Welke topics groeien? Welk percentage gaat over billing, onboarding, fouten, cancellations of specifieke productfeatures? Hoe verandert de verdeling door de tijd?

Het probleem is schaal.

Met huidige general-purpose LLM's is het technisch mogelijk om een groot chatarchief bericht voor bericht te analyseren, maar het wordt snel een inference-probleem: veel calls, veel tokens, generation latency en kosten. Jev is juist interessant omdat TypeSafe het voor een ander computation pattern heeft ontworpen: typed probabilistic decisions, parallelle outputs en high-throughput structured classification. TypeSafe publiceert momenteel een inputprijs van $0,042 per miljoen tokens, gratis outputtokens en 70–500 ms end-to-end response times voor System One calls; in de eigen workflow benchmarks rapporteert het bedrijf tot 193,6× sneller en 444,6× goedkoper op de geëvalueerde workflows.8

Mijn vraag is daarom niet alleen of Jev tekst kan classificeren.

Kan Jev een grote chatgeschiedenis snel en goedkoop genoeg omzetten in gestructureerde topicdata om analyses praktisch te maken die met generative LLM's al snel zwaar worden?

Dit eerste experiment test die hypothese tegelijk op drie dimensies: snelheid, economics en semantische kwaliteit.

In deze run werd de volledige dataset van 231 berichten in seconden geclassificeerd. De semantische kwaliteit is meetbaar omdat ieder bericht een bekende ground-truth topic heeft. De economics zijn opvallend doordat Jev alleen inputtokens rekent en voor iedere classificatie geen kostbare tekstoutput hoeft te genereren.8

De resterende vraag is dus of die snelheid en kostenvoordelen gepaard gaan met voldoende kwaliteit om de resulterende topic distribution daadwerkelijk bruikbaar te maken.

Waarom BANKING77?

BANKING77 werd door Casanueva et al. geïntroduceerd als een uitdagende single-domain intent-dataset met 13.083 geannoteerde queries verdeeld over 77 bancaire intents.1

Juist die 77 categorieën maken de taak interessant. Veel classes liggen semantisch dicht bij elkaar. Een transfer kan pending, failed, declined of cancelled zijn; er kan een fee zijn gerekend of de ontvanger kan het geld niet hebben ontvangen. Een card payment kan reversed, duplicated, declined of unrecognized zijn.

Het probleem gaat dus verder dan keyword matching: het model moet naburige operationele betekenissen uit elkaar houden.

BANKING77 is bovendien geen perfecte ground truth. Ying en Thomas rapporteerden mogelijke label noise in de trainingssplit en lieten zien dat het verwijderen van verdachte labels de downstream classificatie beïnvloedde.2 Dat is nog een reden om onze kleine run als pilot te behandelen en niet als definitieve leaderboard-claim.

Een bewust minimale zero-shot setup

Ik wilde zo min mogelijk prompt engineering gebruiken.

De setup:

  • 77 intents
  • 3 testvoorbeelden per intent
  • 231 berichten totaal
  • zero-shot classificatie
  • geen fine-tuning
  • geen few-shot demonstrations
  • geen retrievallaag
  • alleen minimale, leesbare beschrijvingen van de intentlabels

Bijvoorbeeld: card_payment_not_recognised werd beschreven als “The user's intent is about card payment not recognised.”

De instructie was simpel: kies exact één intent en selecteer de meest specifieke categorie die bij de klantvraag past.

Dit experiment reproduceert dus niet het volledige officiële BANKING77-protocol. De volledige testsplit bevat 3.080 voorbeelden; onze gestratificeerde steekproef van 231 items is een pilot.

Resultaat: 79,65% accuracy en 77,83% Macro-F1

Jev classificeerde 184 van de 231 berichten correct.

MetricResultaat
Accuracy79,65%
Macro-F177,83%
Correcte voorspellingen184 / 231
Intent classes77

Het interessantere resultaat kwam echter uit de confidence.

Confidence geeft een tweede bruikbaar signaal

GroepAantalGemiddelde confidenceMediaan
Correct18492,03%99%
Fout4774,36%73%

De correcte voorspellingen lagen gemiddeld ongeveer 17,7 procentpunt hoger in confidence.

Dat bewijst nog niet dat de score perfect gekalibreerd is. Calibration betekent iets strikters: voorspellingen met bijvoorbeeld 90% confidence zouden over een geschikte populatie ongeveer 90% van de tijd correct moeten zijn. Uit onderzoek weten we dat neurale modellen vaak slecht gekalibreerd zijn; dit moet dus gemeten worden en mag niet simpelweg worden aangenomen.4

Wat deze pilot wel laat zien, is dat confidence bruikbare rankinginformatie bevatte: groepen met hogere confidence waren in onze sample duidelijk accurater.

Een tweede bevinding: confidence geeft controle over accuracy versus coverage

Daarom heb ik thresholds toegepast.

Minimale confidenceCoverageAccuracyGeaccepteerde voorbeelden
0,5094,81%81,74%219
0,7082,68%85,86%191
0,8076,19%88,07%176
0,9067,10%91,61%155
0,9560,61%91,43%140

Bij een threshold van 0,90 behield Jev 155 van de 231 gevallen: ongeveer 67,1% coverage, met 91,61% accuracy binnen die subset.

Dat is precies de kern van selective classification: hoeveel coverage willen we opgeven om het prediction risk op de automatisch geaccepteerde gevallen te verlagen?3

Dat 0,95 in deze kleine sample iets lager uitkomt dan 0,90 is eveneens belangrijk. Met 231 voorbeelden is lokale non-monotoniciteit niet vreemd. Een echte productiethreshold moet op een grotere held-out calibratieset worden bepaald.4

Zo wordt dit een chat-history analytics pipeline

Het interessantste production pattern is hier niet een chatbot of autonome agent, maar een semantic map-reduce pipeline over conversationele data.

  1. Deel het archief op in units: messages, turns, sessions of conversation windows.
  2. Laat Jev iedere unit aan één topic uit een vooraf gedefinieerde taxonomy koppelen.
  3. Aggregeer die typed decisions naar topic distributions, trends, cohorts en dashboards.
  4. Gebruik confidence om onzekere gevallen apart te houden in plaats van ieder bericht geforceerd mee te tellen.
  5. Stuur alleen low-confidence of strategisch belangrijke gevallen naar een sterker generative LLM of human review.

Daar worden speed en cost doorslaggevend. Als ieder bericht een relatief dure generative completion vereist, wordt exhaustive analysis steeds moeilijker naarmate het archief groeit. Een snel decision model verandert de economics omdat het dure model een exception path wordt in plaats van de default path.

Het confidence-resultaat maakt deze architectuur praktischer. Dit sluit aan bij selective classification, waarbij een model onzekere voorbeelden kan afwijzen om de betrouwbaarheid op de geaccepteerde subset te verhogen.3 Het raakt ook aan learning to defer, waarbij moeilijke gevallen naar een andere expert worden gestuurd.5

Hetzelfde economische principe zien we in LLM-cascading zoals FrugalGPT en RouteLLM: gebruik goedkope computation waar dat kan en reserveer duurdere modellen voor de gevallen die ze echt nodig hebben.67

Voor chat-history analytics is het primaire doel echter eenvoudiger: een zeer groot ongestructureerd conversationeel archief snel en goedkoop genoeg omzetten in gestructureerde, meetbare topicdata om alles te analyseren—in plaats van slechts een steekproef.

Accuracy alleen verbergt twee verschillende systemen

Systeem A: 100% van de requests classificeren met 79,65% accuracy.

Systeem B: ongeveer 67% automatisch classificeren met 91,61% accuracy en de rest escaleren.

Het onderliggende model is hetzelfde, maar het operationele risicoprofiel is totaal anders.

In low-impact workflows kan volledige coverage logisch zijn. In banking, legal, healthcare, security of andere high-impact omgevingen kan selective automation aantrekkelijker zijn omdat onzekerheid expliciet onderdeel wordt van de workflow.

Daarom horen coverage, calibration en deferral naast accuracy op een eval-dashboard.345

Wat ik hierna zou testen

1. De volledige testset van 3.080 voorbeelden.

De pilot is te klein voor sterke uitspraken per intent.

2. Calibration expliciet meten.

Reliability diagrams, Expected Calibration Error en class-conditional calibration zouden moeten aantonen of de confidence numeriek betrouwbaar is.4

3. Alleen ambigue labels verrijken.

Niet alle 77 descriptions prompt-engineeren, maar eerst confusion clusters identificeren.

4. Routingarchitecturen vergelijken.

Jev-only, strong-LLM-only en Jev → LLM cascade vergelijken op accuracy, latency, tokens en cost per successful task.67

5. Human deferral toevoegen voor high-risk cases.

Dan wordt systeemfout plus workload allocation belangrijker dan modelaccuracy alleen.5

Conclusie

Ik begon dit experiment met een use-case vraag in plaats van een benchmarkvraag:

Kan Jev grootschalige chatgeschiedenis snel en goedkoop genoeg analyseren om een praktische analytics primitive te worden?

Het eerste resultaat is bemoedigend.

Op een proxy van 231 conversationele berichten verdeeld over 77 inhoudelijk nabije topics verwerkte Jev de volledige dataset in seconden en behaalde het tegelijkertijd 79,65% accuracy en 77,83% Macro-F1, met minimale category descriptions en zonder task-specific trainingsvoorbeelden.

Juist die combinatie is belangrijker dan één losse metric.

Een trager generative model kan mogelijk een hogere accuracy halen. Een goedkope classifier kan snel zijn maar semantisch zwak. Wat Jev hier interessant maakt is de combinatie van snelheid, extreem lage inferencekosten, high-cardinality structured decisions en bruikbare semantische accuracy.

Confidence voegt een tweede nuttige eigenschap toe. Correcte voorspellingen hadden gemiddeld 92,03% confidence tegenover 74,36% bij foutieve voorspellingen; met een threshold van 0,90 ontstond een subset met 91,61% accuracy bij 67,10% coverage. Onzekere classificaties kunnen daardoor apart worden behandeld in plaats van stilletjes de aggregate analytics te vervuilen.

Mijn huidige conclusie is daarom:

Jev lijkt een serieuze kandidaat om zeer grote hoeveelheden chatdata in seconden en tegen een kostenprofiel dat de economics fundamenteel verandert om te zetten in gestructureerde topic distributions.

De volgende stap is niet langer bewijzen dat het idee überhaupt werkt, maar het stress-testen op veel grotere echte chatgeschiedenissen en meten hoe throughput, totale kosten, topic-distribution error en confidence calibration zich bij toenemende schaal gedragen.

Referenties

  1. Casanueva, I., Temčinas, T., Gerz, D., Henderson, M., & Vulić, I. (2020). Efficient Intent Detection with Dual Sentence Encoders. NLP4ConvAI / ACL. Introduceert BANKING77 met 13.083 gelabelde voorbeelden verdeeld over 77 bancaire intents. Paper
  2. Ying, C., & Thomas, S. (2022). Label Errors in BANKING77. ACL Workshop on Insights from Negative Results in NLP. Onderzoekt mogelijke labelfouten in BANKING77 en hun effect op classificatieresultaten. Paper
  3. Geifman, Y., & El-Yaniv, R. (2017). Selective Classification for Deep Neural Networks. NeurIPS 2017. Formaliseert de afweging tussen coverage en prediction risk wanneer een classifier onzekere gevallen mag afwijzen. Paper
  4. Guo, C., Pleiss, G., Sun, Y., & Weinberger, K. Q. (2017). On Calibration of Modern Neural Networks. ICML 2017. Laat zien waarom confidence niet automatisch gelijkstaat aan empirische kans op correctheid. Paper
  5. Mozannar, H., & Sontag, D. (2020). Consistent Estimators for Learning to Defer to an Expert. ICML 2020. Bestudeert systemen die zelf voorspellen of een beslissing doorgeven aan een expert. Paper
  6. Chen, L., Zaharia, M., & Zou, J. (2023). FrugalGPT: How to Use Large Language Models While Reducing Cost and Improving Performance. Beschrijft LLM-cascades voor de afweging tussen kwaliteit en inferencekosten. Paper
  7. Ong, I. et al. (2024). RouteLLM: Learning to Route LLMs with Preference Data. Onderzoekt learned routing tussen sterkere en goedkopere LLM's. Paper
  8. TypeSafe AI (2026). Introducing System One Models & Jev. Officiële product-/researchaankondiging over Jev, typed probabilistic decisions, confidence en RLCD. Dit is een bedrijfsbron, geen peer-reviewed paper. Bron
  9. TypeSafe AI (2026). System One API documentation. Officiële API-referentie voor Choice, Score, Noul en Jev-modelendpoints. Dit is productdocumentatie, geen academische publicatie. Bron