Ai 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