Search

Models

What data does Tekst store and how does the learning process work?

Tekst processes customer data using a streaming architecture: the content of emails, tickets, and cases is handled ephemerally and never stored permanently. This article explains what metadata Tekst does store, how the feedback loop works, and how models are retrained.

What Tekst stores vs. what it does not store

Tekst does not persist any PII, message content, or confidential information. All content is processed in real time and discarded after classification.

However, Tekst does store metadata that is essential for monitoring and improving model performance:

  • Prediction values: The category, tag, or assignment the model predicted.
  • Feedback signals: Whether an agent accepted or corrected the prediction (also called "relabeling").
  • Identifiers: Ticket/case IDs and integration IDs (no content).
  • Timestamps: When the prediction was made and when feedback was received.
  • Model metadata: Model version, confidence score, and accuracy metrics.

This metadata contains no message body text, attachments, customer names, or other personal data.

How the feedback loop works

The learning process relies on a real-time feedback loop between Tekst and the customer's platform (e.g., Salesforce, SAP CEC, Outlook):

Step 1: Real-time classification

When a new ticket or email arrives, the customer's platform sends an event to Tekst. Tekst reads the content via API, runs its AI models, and writes the predictions (category, assignment, priority) back to the platform. The content is processed in memory and not stored. Only the prediction metadata is persisted.

Step 2: Feedback capture

When an agent reviews the ticket and changes a field that Tekst predicted (e.g., selects a different category), the customer's platform sends an update or closure event back to Tekst. Tekst records only the final metadata values and compares them to its original prediction. This tells Tekst whether it was correct or whether the agent made a correction.

Step 3: Model retraining

The accumulated feedback metadata is used to evaluate model accuracy. Retraining is not scheduled on a fixed cadence (e.g., nightly). Instead, it is triggered by two conditions:

  1. Accumulated corrections: Enough new feedback has been collected to meaningfully improve the model.
  2. Accuracy drop: Automated monitoring detects that model performance has declined.

During the initial onboarding phase, retraining happens more frequently to rapidly build accuracy. Once the model is stable, retraining occurs only when one of the above conditions is met. Retraining typically takes between 1 and 12 hours depending on model complexity.

Why update/closure hooks are needed

The webhook or API notification that the customer's platform sends back to Tekst (e.g., "case updated" or "case closed") is critical for the learning process. Without it, Tekst would have no way to know whether its predictions were accepted or corrected by the agent. These hooks transmit only metadata (final field values, IDs, timestamps), not ticket content.

Related articles

See more
How is model accuracy calculated?

Monitoring model and tag accuracy ensures your models and, therefore, your automations are performing as well as possible.

Prerequisites

In order to view model and tag accuracy, you need first to have:

  • A classification model (model accuracy is not yet supported for entity extraction models).
  • Correct filled in feedback rules.

About the confidence level

In order to make sure the model and tag accuracy is as accurate as possible, a confidence level is used. This confidence level is based on the amount of feedback that was received for a certain tag (with feedback being the correction or verification of a tag prediction).

Confidence = Messages with feedback / All messages

Example: Tag is predicted 1000 times, and 500 times the prediction is followed with feedback. Confidence level = 50%.

Important to note is that there is also an absolute minimum of feedback that is needed:

  • For model accuracy: 100 messages with feedback.
  • For tag accuracy: 10 messages with feedback.

The time period for including feedback in the confidence calculation is the past 30 days or until the last training date if this is less than 30 days ago.


About the accuracy percentage

Accuracy percentage is calculated as an F1-score, which is a combination of Recall and Precision percentage.

Recall = Correct messages with tag / All messages with tag

“Of all messages that should have this tag, what percentage did we correctly identify?”

  • 1000 messages with feedback tag X

  • Of which 800 correctly predicted

→ 800 correct messages / 1000 messages = 0.80 (80%)

Precision = Correct predictions with tag / All predictions with tag

“Of all messages we tagged with this label, what percentage were correct?”

  • 1000 predictions tag X

  • Of which 800 have correct feedback

→ 800 correct predictions / 1000 predictions = 0.80 (80%)

F1 = 2 * (Recall * Precision) / (Recall + Precision)


About tag confusion

Within the side panel of a model or tag it is possible to see exactly how tags are mispredicted using the tag confusion. This shows on the left the original tag that was predicted and on the right the correct tag, together with the frequency of this confusion happening.

Note that confusion follows the same time window as confidence, the past 30 days or until the last training date if this is less than 30 days ago.

See more
Which AI models are used for real-time processing?

To maximize processing speed and minimize the risk of failures or delays, our platform uses an intelligent, dynamic method for selecting which AI models to use for real-time processing tasks.

How it works: Instead of using all available models, the system dynamically selects the most essential ones needed for a specific task. This ensures faster, more reliable performance for all real-time operations.

How model selection works

Our AI system has a comprehensive suite of models that work together in a processing block. However, not all of these models are required for every task.

  • Real-time Processing: For tasks that require an immediate response, our system intelligently selects a smaller, optimized set of models. This selection is based on the specific requirements of the task at hand, ensuring rapid and accurate results.
  • Simulations & Non-real-time tasks: For processes like simulations, analytics, or model training, the system utilizes all models within the processing block. These tasks are not subject to the same strict time constraints, allowing for more extensive, in-depth analysis.

What about the other models? Even if a model isn't selected for a real-time task, its predictions are still generated. These predictions are processed without a real-time constraint, ensuring that all data is eventually processed comprehensively.

What's next

To learn more about our AI models, you can read these related articles:

See more
How often are the AI models retrained?

The training of custom models is fully managed by Tekst. Every customer has multiple models that are constantly monitored for performance. Customers will be able to validate the accuracy of the models in the Tekst portal. Tekst has built a pipeline where accuracy and feedback trigger automatic retraining.

Frequency depends on the accuracy drops. During the start of the project, models will be continuously retrained to achieve an already high accuracy before going live as this will be crucial gain end-user's trust.

If a new open source model becomes available, Tekst will test this model internally to validate performance. Once done, we evaluate which customer could benefit from the newest model.

At Tekst it is our main goal that every customer has at all times the best available and trained model for its business case.

Monitor the model retraining status

You can monitor the progress of your model retraining to know when it's complete. This article explains how to find the status of your retraining jobs and provides information on timelines and notifications.

Prerequisites

  • You must have initiated a model retraining through support.
  • You have made changes that need to be incorporated.
  • The overall accuracy is too low and triggers a retrain.

Steps

  1. Navigate to the Models section in the Tekst platform.

  2. Select the model you want to monitor.

  3. In the top overview bar you will see the status of the retraining job. The status will indicate if the job is in progress, completed, or has failed.

Typical Timeline

Model retraining typically takes between 1 to 12 hours to complete. However, this timeline can vary depending on the complexity of the model and the amount of data being processed.

We recommend checking the status of your retraining job periodically for the most up-to-date information.

Once the retraining is complete, you can view the updated model in the "Models" section.

See more
Supported languages

Tekst supports all languages, including those with Cyrillic and Uralic alphabets such as Hungarian and Bulgarian. We have multiple successful EMEA-wide (and worldwide) deployments that cover these languages.

Tekst AI models support the following exhaustive but not extensive list of languages. If a language does not appear in this list, please contact support to verify if your language is supported.

Note that the Tekst platform itself is English-only.

Code Language
af Afrikaans
als Alemannic German
am Amharic
an Aragonese
ar Arabic
arz Egyptian Arabic
as Assamese
ast Asturian
av Avar
az Azerbaijani
azb South Azerbaijani
ba Bashkir
bar Bavarian
bcl Central Bikol
be Belarusian
bg Bulgarian
bh Bihari languages
bn Bengali
bo Tibetan
bpy Bishnupriya Manipuri
br Breton
bs Bosnian
bxr Buryat
ca Catalan
cbk Chavacano
ce Chechen
ceb Cebuano
ckb Central Kurdish (Sorani)
co Corsican
cs Czech
cv Chuvash
cy Welsh
da Danish
de German
diq Zazaki
dsb Lower Sorbian
dty Doteli
dv Dhivehi (Maldivian)
el Greek
eml Emilian-Romagnol
en English
eo Esperanto
es Spanish
et Estonian
eu Basque
fa Persian
fi Finnish
fr French
frr Northern Frisian
fy Western Frisian
ga Irish
gd Scottish Gaelic
gl Galician
gn Guarani
gom Goan Konkani
gu Gujarati
gv Manx
he Hebrew
hi Hindi
hif Fiji Hindi
hr Croatian
hsb Upper Sorbian
ht Haitian Creole
hu Hungarian
hy Armenian
ia Interlingua
id Indonesian
ie Interlingue
ilo Ilokano
io Ido
is Icelandic
it Italian
ja Japanese
jbo Lojban
jv Javanese
ka Georgian
kk Kazakh
km Khmer
kn Kannada
ko Korean
krc Karachay-Balkar
ku Kurdish
kv Komi
kw Cornish
ky Kyrgyz
la Latin
lb Luxembourgish
lez Lezgian
li Limburgish
lmo Lombard
lo Lao
lrc Northern Luri
lt Lithuanian
lv Latvian
mai Maithili
mg Malagasy
mhr Eastern Mari
min Minangkabau
mk Macedonian
ml Malayalam
mn Mongolian
mr Marathi
mrj Western Mari
ms Malay
mt Maltese
mwl Mirandese
my Burmese
myv Erzya
mzn Mazanderani
nah Nahuatl
nap Neapolitan
nds Low German
ne Nepali
new Newar
nl Dutch
nn Norwegian Nynorsk
no Norwegian
oc Occitan
or Odia (Oriya)
os Ossetian
pa Punjabi
pam Pampanga
pfl Palatine German
pl Polish
pms Piedmontese
pnb Western Punjabi
ps Pashto
pt Portuguese
qu Quechua
rm Romansh
ro Romanian
ru Russian
rue Rusyn
sa Sanskrit
sah Sakha (Yakut)
sc Sardinian
scn Sicilian
sco Scots
sd Sindhi
sh Serbo-Croatian
si Sinhala
sk Slovak
sl Slovenian
so Somali
sq Albanian
sr Serbian
su Sundanese
sv Swedish
sw Swahili
ta Tamil
te Telugu
tg Tajik
th Thai
tk Turkmen
tl Tagalog
tr Turkish
tt Tatar
tyv Tuvan
ug Uyghur
uk Ukrainian
ur Urdu
uz Uzbek
vec Venetian
vep Veps
vi Vietnamese
vls West Flemish
vo Volapük
wa Walloon
war Waray
wuu Wu Chinese
xal Kalmyk
xmf Mingrelian
yi Yiddish
yo Yoruba
yue Cantonese
zh Chinese
See more
Supported attachments

Tekst is capable of processing a wide variety of file types. This article provides a comprehensive list of all supported file formats and any limitations associated with them.

Supported File Types

File Type Extensions Notes
Plain Text .txt
HTML .html, .htm
PDF .pdf Tekst can often recover and process corrupted PDFs. Password-protected or encrypted PDFs cannot be processed.
CSV .csv By default, only the first 1,000 rows are processed. Please contact support if you need to process more rows.
Microsoft Word .doc, .docx Encrypted documents (except those with an empty password) will not be processed.
Microsoft Excel .xls, .xlsx, .xlsm, .xlsb By default, only the first 1,000 rows per sheet are processed. Please contact support if you need to process more rows. Encrypted workbooks (except those with an empty password) will not be processed.
Email formats .eml, .msg Attachments within these email files are also processed, subject to the same limitations. This includes recursive attachments (e.g., an .eml file attached to another .eml file).
Images .jpg, .jpeg, .png, .gif, .tiff, .bmp, .webp, .heic, .heif
JSON .json
XML .xml
ZIP Archives .zip Files within a .zip archive are extracted and processed individually. All file types listed above are supported within a .zip archive.

What's next

Getting help

If you have any questions or encounter issues with file attachments, please don't hesitate to contact our support team for assistance.

See more