CoolFace
Modelpublic

HeisenbergLupenix/sap-ticket-classifier-bert

sourceHugging Faceapache-2.0updated 2mo agoView on Hugging Face
3likes64downloads
Model Card

SAP Support Ticket Classifier — Arinous-0.2

Fine-tuned bert-base-uncased that classifies SAP enterprise support tickets into the correct SAP functional module. Built by Arinous AI.

ReleaseArinous-0.2 (Hub revision v0.2) Live DemoIntelliRoute on Hugging Face Spaces Model IDHeisenbergLupenix/sap-ticket-classifier-bert


Labels

IDLabelSAP ModuleScope
0FIFinanceGL, AP, AR, asset accounting, bank reconciliation
1MMMaterials ManagementPurchasing, inventory, MRP, WM, batch management
2SDSales & DistributionOrders, delivery, billing, pricing, rebates
3HRHuman ResourcesPayroll, time management, org management, ESS/MSS
4ABAPABAP / Custom DevCustom reports, BAPIs, user exits, SmartForms, BDC
5BASISSAP BasisSystem admin, transports, jobs, users, kernel, ICM
6INTEGRATIONIntegration / CPISAP CPI iFlows, OData, IDocs, RFC, SFTP adapters
7OTHERSOthers / UnclassifiedGeneral SAP UI, authorisations, printing, misc
8UNKNOWNUnknownUnrecognised or non-SAP tickets

Validation Metrics

Evaluated on a held-out 20% validation split (114 samples). Release: Arinous-0.2 (v0.2)  ·  Source: retrain  ·  Trained: 2026-07-14 10:23 UTC

MetricScore
Accuracy96.5%
F1 (weighted)96.3%
Precision (weighted)97.1%
Recall (weighted)96.5%

Per-class Scores

ModulePrecisionRecallF1
FI93.3%100.0%96.5%
MM100.0%100.0%100.0%
SD100.0%100.0%100.0%
HR100.0%100.0%100.0%
ABAP100.0%100.0%100.0%
BASIS100.0%100.0%100.0%
INTEGRATION100.0%100.0%100.0%
OTHERS100.0%66.7%80.0%
UNKNOWN78.6%100.0%88.0%

Train samples: 456  ·  Validation samples: 114  ·  Trained: 2026-07-14 10:23 UTC


Quick Start

python
from transformers import pipeline

clf = pipeline(
    "text-classification",
    model="HeisenbergLupenix/sap-ticket-classifier-bert",
    revision="v0.2",
    top_k=None,
)

result = clf("Vendor invoice not posted due to GR/IR account mismatch")
# [{'label': 'FI', 'score': 0.93}, {'label': 'MM', 'score': 0.03}, ...]

top = max(result[0], key=lambda x: x['score'])
print(top["label"], top["score"])   # FI  0.93

Training Details

SettingValue
Base modelbert-base-uncased
ArchitectureBertForSequenceClassification[CLS] pooled → Linear(768 → 9)
Max sequence length128
Epochs10 (early stopping, patience 3)
Batch size8
Learning rate3e-5 with linear warmup (10%)
OptimizerAdamW, weight decay 0.01
Train / val split80% / 20%
Selection metricWeighted F1 on validation set
Dataset balancingRandom oversampling to equal class counts
Class weightingInverse-frequency weighted loss
Model versionArinous-0.2 (v0.2)

Training data

Seed dataset of labelled SAP support ticket examples across 9 classes (data/sample_tickets.csv). Human corrections from the feedback UI are accumulated and used for warm-start retraining via scripts/retrain.py.


Intended Use

Route incoming SAP support tickets automatically to the correct functional team without manual triaging. Designed for enterprise SAP environments generating high volumes of support requests across Finance, Logistics, HR, Technical, and Integration workstreams.


Limitations

  • Trained on a small seed dataset. Production accuracy improves significantly with more labelled examples per class (500+ per class recommended).
  • English language tickets only.
  • Short tickets (< 10 words) may have lower confidence scores.
  • To add more SAP modules (PP, PM, PS, QM, CO): extend LABELS in src/config.py, add labelled examples, and retrain.

Human Feedback & Retraining

The live demo collects human corrections via the feedback panel. Corrections are stored in a private HF Dataset repo and merged with the original training set for warm-start retraining with double-weighted corrections.

bash
# Retrain locally with accumulated feedback
python scripts/retrain.py --push

License

Apache 2.0


Built by [Arinous AI](https://huggingface.co/HeisenbergLupenix) · Intelligence. Innovation. Impact.