CoolFace
Modelpublic

teguholix/BERTAUT

sourceHugging Facemitupdated 3mo agoView on Hugging Face
0likes20downloads
Model Card

BERTAUT v1

English Version

BERTAUT v1 is a BERT-based text classification model for early UTAUT-related category detection and text filtering. The model classifies user-generated text, user reviews, open-ended questionnaire responses, public comments, and other unstructured technology-related text.

Created by Teguh Arie Sandy.

Model Information

ItemValue
Model nameBERTAUT v1
Base modelgoogle-bert/bert-base-multilingual-cased
Hugging Face repositoryteguholix/BERTAUT
Revisionmain
TaskText classification
Number of labels6

Labels

LabelMeaning
PEPerformance Expectancy
EEEffort Expectancy
SISocial Influence
FCFacilitating Conditions
GRGeneric Review
SPSpam

Label Definitions

PE: Performance Expectancy

Text expressing perceived usefulness, benefits, productivity, effectiveness, or performance improvement gained from technology use.

Example: This application helps me complete my tasks faster.

EE: Effort Expectancy

Text expressing ease of use, difficulty, simplicity, complexity, or the effort required to use a technology.

Example: The application is easy to use and the menu is clear.

SI: Social Influence

Text expressing influence from friends, family, lecturers, colleagues, communities, ratings, reviews, public figures, or other users.

Example: I use this application because my friend recommended it.

FC: Facilitating Conditions

Text expressing supporting conditions such as internet access, devices, system support, infrastructure, login access, server quality, or technical assistance.

Example: The application works well because my internet connection is stable.

GR: Generic Review

Short and general review text that does not clearly indicate PE, EE, SI, or FC.

Example: Good.

SP: Spam

Spam, promotional text, advertisements, irrelevant links, gambling content, or unrelated commercial messages.

Example: Register now and get a big bonus today.

Intended Use

This model can support:

  • Early classification of technology acceptance text in Indonesian and other languages covered by mBERT, subject to validation on the target domain.
  • Analysis of user reviews and public comments.
  • Categorization of open-ended questionnaire responses.
  • Automated text labeling before manual review.
  • Identification of generic reviews and spam content.

Training Data

This seed version was trained using an early balanced BERTAUT dataset with six categories:

  • PE
  • EE
  • SI
  • FC
  • GR
  • SP

Training Procedure

Epoch-Level Training Log

EpochTraining LossValidation LossAccuracyMacro PrecisionMacro RecallMacro F1
10.9655500.3716730.8739400.8807940.8739520.873703
20.5592510.3170580.8912090.8956310.8912180.891737
30.4131230.4294130.8899530.8949240.8899460.890115
40.3348150.4255640.9070640.9085950.9070700.907074
50.2602560.6097650.8952900.9001520.8953040.894636
60.1858340.6367060.9039250.9054920.9039260.904009
70.1341530.6544710.9114600.9124660.9114610.911354
80.0841470.6620960.9119310.9132110.9119350.912069
90.0520450.7149380.9131870.9147890.9131910.913163
100.0308710.7195150.9150710.9162730.9150740.915030

Training Summary

ItemValue
Total training epochs10
Highest validation accuracy0.915071
Epoch with highest validation accuracy10
Highest validation Macro F10.915030
Epoch with highest validation Macro F110
Lowest validation loss0.317058
Epoch with lowest validation loss2
Validation accuracy at final epoch0.915071

The highest validation accuracy and Macro F1-score were observed at epoch 10. The lowest validation loss was observed at epoch 2. Training logs and final evaluation metrics represent different stages and should not be interpreted as the same measurement.

Final Holdout Test Evaluation

The following metrics were calculated on a separate holdout test set containing 6,370 texts.

MetricScore
Accuracy0.9132
Macro Precision0.9145
Macro Recall0.9132
Macro F1-score0.9131
Weighted F1-score0.9131

Per-Label Test Results

LabelPrecisionRecallF1-scoreSupport
PE0.900.940.921,062
EE0.910.920.921,061
SI0.880.920.901,062
FC0.890.940.921,062
GR0.960.920.941,062
SP0.940.840.891,061

Confusion Matrix

Rows represent true labels and columns represent predicted labels.

True label \ Predicted labelPEEESIFCGRSP
PE9952531353
EE32977182176
SI3279783906
FC41333998212
GR25223697531
SP1826474927894

How to Use

python
import torch
from transformers import AutoTokenizer, AutoModelForSequenceClassification

MODEL_ID = "teguholix/BERTAUT"

tokenizer = AutoTokenizer.from_pretrained(
    MODEL_ID,
    revision="main"
)

model = AutoModelForSequenceClassification.from_pretrained(
    MODEL_ID,
    revision="main"
)

device = "cuda" if torch.cuda.is_available() else "cpu"

model.to(device)
model.eval()

texts = [
    "This application helps me complete my tasks faster.",
    "The menu is difficult to understand.",
    "I use this application because my friend recommended it."
]

encoded = tokenizer(
    texts,
    return_tensors="pt",
    padding=True,
    truncation=True,
    max_length=128
)

encoded = {
    key: value.to(device)
    for key, value in encoded.items()
}

with torch.inference_mode():
    logits = model(**encoded).logits
    probabilities = torch.softmax(logits, dim=-1)

predicted_ids = probabilities.argmax(dim=1).tolist()
predicted_scores = probabilities.max(dim=1).values.tolist()

for text, label_id, score in zip(
    texts,
    predicted_ids,
    predicted_scores
):
    label = model.config.id2label[label_id]

    print("Text :", text)
    print("Label:", label)
    print("Score:", round(score, 4))
    print("-" * 50)

Google Colab Use Case

An end-to-end Google Colab notebook is available for automated BERTAUT labeling.

The notebook supports:

  • CSV and Excel upload.
  • Manual selection of the text column.
  • Batch prediction with progress bar.
  • Confidence score extraction.
  • Label distribution analysis.
  • Confidence visualization.
  • Wordcloud visualization by label.
  • ZIP download and Google Drive export.

Open the BERTAUT Google Colab use case

Limitations

This is a seed model. The training dataset is still limited and may be improved with additional independently labeled data in future versions. Model performance can vary across languages and domains that differ from the training data.

The BI, Behavioral Intention, label is not included in this v1 release because the seed dataset does not yet contain sufficient BI examples.

Future development may include:

  • BI: Behavioral Intention.
  • AU: Actual Use.
  • Multi-label classification.
  • Sentiment-aware UTAUT classification.
  • Larger balanced datasets.
  • More multilingual training data.

Attribution

BERTAUT v1 was created by Teguh Arie Sandy.


Versi Bahasa Indonesia

BERTAUT v1 adalah model klasifikasi teks berbasis BERT untuk mendeteksi kategori awal UTAUT dan menyaring jenis teks tertentu. Model ini mengklasifikasikan ulasan pengguna, komentar publik, respons kuesioner terbuka, dan teks tidak terstruktur lain yang berkaitan dengan penggunaan teknologi.

Dibuat oleh Teguh Arie Sandy.

Informasi Model

ItemNilai
Nama modelBERTAUT v1
Model dasargoogle-bert/bert-base-multilingual-cased
Repositori Hugging Faceteguholix/BERTAUT
Revisionmain
TugasKlasifikasi teks
Jumlah label6

Label

LabelMakna
PEPerformance Expectancy
EEEffort Expectancy
SISocial Influence
FCFacilitating Conditions
GRGeneric Review
SPSpam

Definisi Label

PE: Performance Expectancy

Teks yang menunjukkan manfaat, kegunaan, produktivitas, efektivitas, atau peningkatan kinerja setelah menggunakan teknologi.

Contoh: Aplikasi ini membantu saya menyelesaikan tugas lebih cepat.

EE: Effort Expectancy

Teks yang menunjukkan kemudahan, kesulitan, kesederhanaan, kerumitan, atau usaha pengguna saat menggunakan teknologi.

Contoh: Aplikasi ini mudah digunakan dan menunya jelas.

SI: Social Influence

Teks yang menunjukkan pengaruh dari teman, keluarga, dosen, rekan kerja, komunitas, ulasan, rating, tokoh publik, atau pengguna lain.

Contoh: Saya menggunakan aplikasi ini karena direkomendasikan teman.

FC: Facilitating Conditions

Teks yang menunjukkan kondisi pendukung, seperti akses internet, perangkat, dukungan sistem, infrastruktur, akses login, kualitas server, atau bantuan teknis.

Contoh: Aplikasi ini berjalan lancar karena jaringan internet saya stabil.

GR: Generic Review

Teks ulasan umum yang singkat dan tidak secara jelas mengarah ke PE, EE, SI, atau FC.

Contoh: Bagus.

SP: Spam

Teks spam, promosi, iklan, tautan tidak relevan, judi online, atau pesan komersial yang tidak berkaitan dengan ulasan teknologi.

Contoh: Daftar sekarang dan dapatkan bonus besar hari ini.

Tujuan Penggunaan

Model ini dapat digunakan untuk:

  • Klasifikasi awal teks penerimaan teknologi dalam bahasa Indonesia dan bahasa lain yang didukung mBERT, dengan tetap melakukan validasi pada domain target.
  • Analisis ulasan pengguna dan komentar publik.
  • Kategorisasi respons kuesioner terbuka.
  • Labeling teks otomatis sebelum pemeriksaan manual.
  • Identifikasi ulasan umum dan teks spam.

Data Pelatihan

Versi awal ini dilatih menggunakan dataset BERTAUT yang telah diseimbangkan dengan enam kategori:

  • PE
  • EE
  • SI
  • FC
  • GR
  • SP

Prosedur Pelatihan

Log Pelatihan per Epoch

EpochTraining LossValidation LossAccuracyMacro PrecisionMacro RecallMacro F1
10.9655500.3716730.8739400.8807940.8739520.873703
20.5592510.3170580.8912090.8956310.8912180.891737
30.4131230.4294130.8899530.8949240.8899460.890115
40.3348150.4255640.9070640.9085950.9070700.907074
50.2602560.6097650.8952900.9001520.8953040.894636
60.1858340.6367060.9039250.9054920.9039260.904009
70.1341530.6544710.9114600.9124660.9114610.911354
80.0841470.6620960.9119310.9132110.9119350.912069
90.0520450.7149380.9131870.9147890.9131910.913163
100.0308710.7195150.9150710.9162730.9150740.915030

Ringkasan Pelatihan

ItemNilai
Total epoch pelatihan10
Validation accuracy tertinggi0.915071
Epoch dengan validation accuracy tertinggi10
Validation Macro F1 tertinggi0.915030
Epoch dengan validation Macro F1 tertinggi10
Validation loss terendah0.317058
Epoch dengan validation loss terendah2
Validation accuracy pada epoch terakhir0.915071

Validation accuracy dan Macro F1 tertinggi diperoleh pada epoch ke-10. Validation loss terendah diperoleh pada epoch ke-2. Log pelatihan dan metrik evaluasi akhir merupakan tahapan berbeda sehingga tidak boleh diperlakukan sebagai pengukuran yang sama.

Evaluasi Akhir pada Holdout Test Set

Metrik berikut dihitung pada holdout test set terpisah yang terdiri dari 6,370 teks.

MetrikNilai
Accuracy0.9132
Macro Precision0.9145
Macro Recall0.9132
Macro F1-score0.9131
Weighted F1-score0.9131

Hasil per Label pada Test Set

LabelPrecisionRecallF1-scoreSupport
PE0.900.940.921,062
EE0.910.920.921,061
SI0.880.920.901,062
FC0.890.940.921,062
GR0.960.920.941,062
SP0.940.840.891,061

Confusion Matrix

Baris menunjukkan label asli dan kolom menunjukkan label prediksi.

True label \ Predicted labelPEEESIFCGRSP
PE9952531353
EE32977182176
SI3279783906
FC41333998212
GR25223697531
SP1826474927894

Cara Menggunakan Model

python
import torch
from transformers import AutoTokenizer, AutoModelForSequenceClassification

MODEL_ID = "teguholix/BERTAUT"

tokenizer = AutoTokenizer.from_pretrained(
    MODEL_ID,
    revision="main"
)

model = AutoModelForSequenceClassification.from_pretrained(
    MODEL_ID,
    revision="main"
)

device = "cuda" if torch.cuda.is_available() else "cpu"

model.to(device)
model.eval()

texts = [
    "Aplikasi ini membantu saya menyelesaikan tugas lebih cepat.",
    "Menu aplikasi ini sulit dipahami.",
    "Saya memakai aplikasi ini karena direkomendasikan teman."
]

encoded = tokenizer(
    texts,
    return_tensors="pt",
    padding=True,
    truncation=True,
    max_length=128
)

encoded = {
    key: value.to(device)
    for key, value in encoded.items()
}

with torch.inference_mode():
    logits = model(**encoded).logits
    probabilities = torch.softmax(logits, dim=-1)

predicted_ids = probabilities.argmax(dim=1).tolist()
predicted_scores = probabilities.max(dim=1).values.tolist()

for text, label_id, score in zip(
    texts,
    predicted_ids,
    predicted_scores
):
    label = model.config.id2label[label_id]

    print("Teks :", text)
    print("Label:", label)
    print("Skor :", round(score, 4))
    print("-" * 50)

Use Case Google Colab

Notebook Google Colab siap pakai tersedia untuk melakukan labeling otomatis menggunakan BERTAUT.

Notebook mendukung:

  • Upload CSV dan Excel.
  • Pemilihan kolom teks secara manual.
  • Prediksi batch dengan progress bar.
  • Pengambilan confidence score.
  • Analisis distribusi label.
  • Visualisasi confidence.
  • Visualisasi wordcloud per label.
  • Download ZIP dan ekspor ke Google Drive.

Buka use case BERTAUT di Google Colab

Keterbatasan

Model ini merupakan seed model. Dataset pelatihan masih terbatas dan dapat ditingkatkan dengan penambahan data yang diberi label secara independen pada versi berikutnya. Performa model dapat berbeda pada bahasa dan domain yang tidak serupa dengan data pelatihan.

Label BI, Behavioral Intention, belum dimasukkan pada rilis v1 karena dataset seed belum memiliki contoh BI dalam jumlah cukup.

Pengembangan berikutnya dapat mencakup:

  • BI: Behavioral Intention.
  • AU: Actual Use.
  • Klasifikasi multi-label.
  • Klasifikasi UTAUT berbasis sentimen.
  • Dataset seimbang dengan jumlah data lebih besar.
  • Data pelatihan multibahasa yang lebih luas.

Atribusi

BERTAUT v1 dibuat oleh Teguh Arie Sandy.