0Pricing
Learn AI with Python · Pelajaran

Klasifikasi Teks dengan BERT

Transformer HuggingFace, AutoTokenizer, AutoModelForSequenceClassification, penyetelan halus.

Klasifikasi Teks dengan BERT adalah pelajaran Learn AI with Python gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Learn AI with Python, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Learn AI with Python mencakup 4 pelajaran total.

Keterbatasan Representasi Vektor Statis

Word2Vec dan GloVe memberikan satu vektor tetap untuk setiap kata. Namun, "bank" memiliki makna berbeda dalam "tepi sungai" dan "bank tabungan". Model kontekstual seperti BERT mengatasi hal ini.

Apa Itu BERT

BERT adalah model transformer yang membaca seluruh kalimat sekaligus dan menghasilkan representasi vektor yang peka terhadap konteks. Karena telah dilatih sebelumnya menggunakan teks dalam jumlah sangat besar, model ini dapat disesuaikan untuk tugas seperti klasifikasi.

Pustaka transformers dari Hugging Face

Pustaka transformers menyediakan akses mudah ke BERT dan ribuan model pralatih, dengan kelas yang konsisten untuk pemecah token dan model.

from transformers import AutoTokenizer, AutoModelForSequenceClassification

name = "distilbert-base-uncased-finetuned-sst-2-english"
tokenizer = AutoTokenizer.from_pretrained(name)
model = AutoModelForSequenceClassification.from_pretrained(name)

AutoTokenizer

AutoTokenizer memuat pemecah token yang tepat untuk sebuah model. Komponen ini memecah teks menjadi token subkata dan memetakannya ke ID yang diharapkan model.

from transformers import AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
print(tokenizer.tokenize("unbelievable"))
# subwords like ["un", "##bel", "##ievable"]

AutoModelForSequenceClassification

AutoModelForSequenceClassification memuat BERT dengan kepala klasifikasi di atasnya, lalu menghasilkan satu skor untuk setiap kelas dalam seluruh urutan.

from transformers import AutoModelForSequenceClassification

model = AutoModelForSequenceClassification.from_pretrained(
    "distilbert-base-uncased-finetuned-sst-2-english"
)

Memecah Masukan Menjadi Token

Panggil pemecah token pada teks Anda dengan truncation, padding, dan return_tensors untuk mendapatkan tensor yang siap digunakan model. Pemotongan membatasi panjang masukan; pengisian menyelaraskan panjang setiap kelompok.

inputs = tokenizer(
    "This movie was fantastic!",
    truncation=True,
    padding=True,
    return_tensors="pt",
)
print(inputs["input_ids"].shape)

Token Khusus

BERT secara otomatis menambahkan token khusus: [CLS] di awal (keadaan tersembunyinya merangkum urutan) dan [SEP] di antara atau setelah kalimat. Pengklasifikasi membaca representasi [CLS].

Menjalankan Model

Teruskan masukan yang telah dipecah menjadi token ke model untuk mendapatkan logit, yaitu skor kelas mentah yang belum dinormalisasi.

import torch

with torch.no_grad():
    outputs = model(**inputs)
logits = outputs.logits
print(logits)

Dari Logit ke Prediksi

Terapkan softmax pada logit untuk mendapatkan probabilitas, lalu gunakan argmax untuk mendapatkan indeks kelas hasil prediksi. Petakan indeks tersebut ke sebuah label.

import torch

probs = torch.softmax(logits, dim=-1)
pred = torch.argmax(probs, dim=-1).item()
print(model.config.id2label[pred])

Menyesuaikan Model untuk Tugas Anda

Untuk kumpulan data khusus, sesuaikan BERT dengan melatih kepala klasifikasi (dan, jika diperlukan, seluruh model) menggunakan contoh berlabel Anda. API Trainer menangani siklus pelatihan.

from transformers import Trainer, TrainingArguments

args = TrainingArguments(output_dir="out", num_train_epochs=3)
trainer = Trainer(model=model, args=args, train_dataset=train_ds)
trainer.train()

Jalan Pintas Alur Pemrosesan

Untuk inferensi cepat, pembantu pipeline menggabungkan pemecahan token, menjalankan model, dan menguraikan hasil menjadi satu pemanggilan, sehingga ideal untuk pembuatan prototipe.

from transformers import pipeline

clf = pipeline("sentiment-analysis")
print(clf("I love this product!"))
# [{"label": "POSITIVE", "score": 0.99...}]

Pemeriksaan Singkat

Uji pengetahuan Anda tentang BERT.

Ringkasan

Ringkasan: BERT menghasilkan representasi vektor yang peka terhadap konteks melalui arsitektur transformer. Gunakan AutoTokenizer untuk melakukan tokenisasi dengan truncation/padding/return_tensors, dan AutoModelForSequenceClassification untuk mendapatkan logit. Ubah logit dengan softmax, lalu argmax. Lakukan penyesuaian menggunakan Trainer, atau buat prototipe dengan cepat menggunakan pipeline.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Klasifikasi Teks dengan BERT” gratis?

Ya — teks lengkap “Klasifikasi Teks dengan BERT” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Learn AI with Python, upgrade ke CoddyKit PRO. Kursus Learn AI with Python mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Klasifikasi Teks dengan BERT”?

Transformer HuggingFace, AutoTokenizer, AutoModelForSequenceClassification, penyetelan halus. Kamu berlatih Learn AI with Python dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Learn AI with Python?

Tidak diperlukan pengalaman sebelumnya. Learn AI with Python di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Klasifikasi Teks dengan BERT” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Learn AI with Python ini?

Ya. Setiap pelajaran Learn AI with Python menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Word2Vec: Skip-gram dan CBOW
  2. Embedding GloVe dan FastText
  3. Klasifikasi Teks dengan BERT
  4. Kemiripan Semantik dan Embedding Kalimat
← Kembali ke Learn AI with Python