Views
No views yet
bert-base-uncased that classifies SAP enterprise support tickets
into the correct SAP functional module. Built by Arinous AI.Arinous-0.2 (Hub revision v0.2)HeisenbergLupenix/sap-ticket-classifier-bert| ID | Label | SAP Module | Scope |
|---|---|---|---|
| 0 | FI | Finance | GL, AP, AR, asset accounting, bank reconciliation |
| 1 | MM | Materials Management | Purchasing, inventory, MRP, WM, batch management |
| 2 | SD | Sales & Distribution | Orders, delivery, billing, pricing, rebates |
| 3 | HR | Human Resources | Payroll, time management, org management, ESS/MSS |
| 4 | ABAP | ABAP / Custom Dev | Custom reports, BAPIs, user exits, SmartForms, BDC |
| 5 | BASIS | SAP Basis | System admin, transports, jobs, users, kernel, ICM |
| 6 | INTEGRATION | Integration / CPI | SAP CPI iFlows, OData, IDocs, RFC, SFTP adapters |
| 7 | OTHERS | Others / Unclassified | General SAP UI, authorisations, printing, misc |
| 8 | UNKNOWN | Unknown | Unrecognised or non-SAP tickets |
v0.2) · Source: retrain · Trained: 2026-07-14 10:23 UTC| Metric | Score |
|---|---|
| Accuracy | 96.5% |
| F1 (weighted) | 96.3% |
| Precision (weighted) | 97.1% |
| Recall (weighted) | 96.5% |
| Module | Precision | Recall | F1 |
|---|---|---|---|
| FI | 93.3% | 100.0% | 96.5% |
| MM | 100.0% | 100.0% | 100.0% |
| SD | 100.0% | 100.0% | 100.0% |
| HR | 100.0% | 100.0% | 100.0% |
| ABAP | 100.0% | 100.0% | 100.0% |
| BASIS | 100.0% | 100.0% | 100.0% |
| INTEGRATION | 100.0% | 100.0% | 100.0% |
| OTHERS | 100.0% | 66.7% | 80.0% |
| UNKNOWN | 78.6% | 100.0% | 88.0% |
1from transformers import pipeline
2
3clf = pipeline(
4 "text-classification",
5 model="HeisenbergLupenix/sap-ticket-classifier-bert",
6 revision="v0.2",
7 top_k=None,
8)
9
10result = clf("Vendor invoice not posted due to GR/IR account mismatch")
11# [{'label': 'FI', 'score': 0.93}, {'label': 'MM', 'score': 0.03}, ...]
12
13top = max(result[0], key=lambda x: x['score'])
14print(top["label"], top["score"]) # FI 0.93| Setting | Value |
|---|---|
| Base model | bert-base-uncased |
| Architecture | BertForSequenceClassification — [CLS] pooled → Linear(768 → 9) |
| Max sequence length | 128 |
| Epochs | 10 (early stopping, patience 3) |
| Batch size | 8 |
| Learning rate | 3e-5 with linear warmup (10%) |
| Optimizer | AdamW, weight decay 0.01 |
| Train / val split | 80% / 20% |
| Selection metric | Weighted F1 on validation set |
| Dataset balancing | Random oversampling to equal class counts |
| Class weighting | Inverse-frequency weighted loss |
| Model version | Arinous-0.2 (v0.2) |
data/sample_tickets.csv). Human corrections from the feedback UI are
accumulated and used for warm-start retraining via scripts/retrain.py.LABELS in
src/config.py, add labelled examples, and retrain.1# Retrain locally with accumulated feedback
2python scripts/retrain.py --push