DTI Coder: XLM-RoBERTa presence model

Detects whether a sentence from an annual report (Arabic or English) describes the reporting firm using, adopting, implementing, developing or planning to use one of six digital technologies: AI/ML, Big Data, Cloud, ERP, smart accounting and RPA, XBRL. Binary output (technology / none). The technology label is assigned afterwards by a dictionary, and the commitment tier by an auditable rule; both live in the companion repository https://github.com/Ahmadalomari22/dti-coder together with the Gradio app, the codebook and the 1,880 hand-coded sentences.

Training

  • Base: xlm-roberta-base, embeddings frozen, classification head and encoder layers trained.
  • Data: 996 sentences (192 positive) hand-coded from Amman Stock Exchange XBRL annual reports, both languages, no translation; train and validation partitions of a firm-grouped split (no firm shared between partitions in either language).
  • Class-weighted cross-entropy, AdamW, lr 3e-5, batch 16, max length 128, 5 epochs, linear warm-up 10%.
  • Decision threshold 0.12 on the positive-class probability (selected on validation).

Held-out results (firms unseen in training, either language; 95% bootstrap CI, 2,000 resamples)

test set n positives model F1 hybrid F1 (dictionary screen then model) dictionary F1 LLM zero-shot F1
English, 26 firms 319 39 0.659 [0.53, 0.77] 0.691 [0.56, 0.81] 0.614 [0.50, 0.71] 0.618 [0.47, 0.74]
Arabic, 27 firms 333 28 0.787 [0.66, 0.89] 0.814 [0.69, 0.91] 0.533 [0.41, 0.65] 0.647 [0.51, 0.77]

Intended use: sentences that already passed the dictionary screen (the model was trained on that population). Applying it to arbitrary text is untested.

Use

from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
tok = AutoTokenizer.from_pretrained("ahmadomari/dti-coder-xlmr")
model = AutoModelForSequenceClassification.from_pretrained("ahmadomari/dti-coder-xlmr").eval()
s = "طبّق البنك أنظمة تعتمد الذكاء الاصطناعي في تقييم مخاطر الائتمان."
p = torch.softmax(model(**tok(s, return_tensors="pt", truncation=True, max_length=128)).logits, -1)[0, 1].item()
print("technology" if p >= 0.12 else "none", round(p, 3))

Citation

Alomari, A. and Pitchay, A. A. (2026). DTI Coder: bilingual measurement of digital technology integration in annual-report narrative. Working paper, School of Management, Universiti Sains Malaysia. https://github.com/Ahmadalomari22/dti-coder

Downloads last month
26
Safetensors
Model size
0.3B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for ahmadomari/dti-coder-xlmr

Finetuned
(4210)
this model