Pengelasan Teks dengan BERT
Transformer HuggingFace, AutoTokenizer, AutoModelForSequenceClassification, penalaan halus.
Pengelasan Teks dengan BERT ialah pelajaran Pelajari AI dengan Python percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Pelajari AI dengan Python, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Pelajari AI dengan Python merangkumi sejumlah 4 pelajaran.
Had Pembenaman Statik
Word2Vec dan GloVe memberikan satu vektor tetap kepada setiap perkataan. Namun, "bank" membawa maksud yang berbeza dalam "river bank" dan "savings bank". Model berkonteks seperti BERT menyelesaikan masalah ini.
Apakah BERT
BERT ialah model transformer yang membaca seluruh ayat serentak dan menghasilkan pembenaman yang mengambil kira konteks. Model ini dilatih terlebih dahulu menggunakan teks yang sangat besar dan boleh ditala halus untuk tugas seperti pengelasan.
Pustaka transformers Hugging Face
Pustaka transformers menyediakan akses mudah kepada BERT dan ribuan model pralatih, dengan kelas yang seragam untuk alat tokenisasi 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 memuatkan alat tokenisasi yang betul untuk sesuatu model. Alat ini memecahkan teks kepada token subperkataan dan memetakannya kepada ID yang diperlukan oleh model.
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
print(tokenizer.tokenize("unbelievable"))
# subwords like ["un", "##bel", "##ievable"]AutoModelForSequenceClassification
AutoModelForSequenceClassification memuatkan BERT dengan kepala pengelasan di atasnya, lalu menghasilkan satu score bagi setiap kelas untuk keseluruhan jujukan.
from transformers import AutoModelForSequenceClassification
model = AutoModelForSequenceClassification.from_pretrained(
"distilbert-base-uncased-finetuned-sst-2-english"
)Menokenkan Masukan
Panggil alat tokenisasi pada teks anda dengan truncation, padding dan return_tensors untuk mendapatkan tensor yang sedia digunakan oleh model. Pemotongan mengehadkan masukan yang panjang; penambahan pelapik menyelaraskan panjang kelompok.
inputs = tokenizer(
"This movie was fantastic!",
truncation=True,
padding=True,
return_tensors="pt",
)
print(inputs["input_ids"].shape)Token Khas
BERT menambahkan token khas secara automatik: [CLS] pada permulaan (keadaan tersembunyinya meringkaskan jujukan) dan [SEP] antara atau selepas ayat. Pengelas membaca perwakilan [CLS].
Menjalankan Model
Berikan masukan yang telah ditokenkan kepada model untuk mendapatkan logit, iaitu score kelas mentah yang belum dinormalkan.
import torch
with torch.no_grad():
outputs = model(**inputs)
logits = outputs.logits
print(logits)Daripada Logit kepada Ramalan
Gunakan softmax pada logit untuk mendapatkan kebarangkalian, kemudian gunakan argmax untuk mendapatkan indeks kelas yang diramalkan. Petakan indeks tersebut kepada label.
import torch
probs = torch.softmax(logits, dim=-1)
pred = torch.argmax(probs, dim=-1).item()
print(model.config.id2label[pred])Penalaan Halus untuk Tugas Anda
Untuk set data tersuai, tala halus BERT dengan melatih kepala pengelasan (dan secara pilihan, seluruh model) menggunakan contoh berlabel anda. API Trainer mengendalikan gelung latihan.
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()Pintasan Alur Pemprosesan
Untuk inferens pantas, pembantu pipeline menggabungkan tokenisasi, pelaksanaan dan penyahkodan dalam satu panggilan, sesuai untuk pembinaan prototaip.
from transformers import pipeline
clf = pipeline("sentiment-analysis")
print(clf("I love this product!"))
# [{"label": "POSITIVE", "score": 0.99...}]Semakan Pantas
Uji pengetahuan anda tentang BERT.
Ringkasan
Ringkasan: BERT menghasilkan pembenaman yang mengambil kira konteks melalui transformer. Gunakan AutoTokenizer untuk melakukan tokenisasi dengan truncation/padding/return_tensors, dan AutoModelForSequenceClassification untuk mendapatkan logit. Tukarkan logit menggunakan softmax kemudian argmax. Lakukan penalaan halus dengan Trainer, atau bina prototaip dengan pantas menggunakan pipeline.
Pelajari Python dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 53
- Pelajaran
- 225
Soalan Lazim
Adakah pelajaran “Pengelasan Teks dengan BERT” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Pelajari AI dengan Python, termasuk “Pengelasan Teks dengan BERT”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Pelajari AI dengan Python merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Pengelasan Teks dengan BERT”?
Transformer HuggingFace, AutoTokenizer, AutoModelForSequenceClassification, penalaan halus. Anda berlatih Pelajari AI dengan Python menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Pelajari AI dengan Python?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Pelajari AI dengan Python di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.
Berapa lamakah pelajaran “Pengelasan Teks dengan BERT” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Pelajari AI dengan Python ini?
Ya. Setiap pelajaran Pelajari AI dengan Python menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Word2Vec: Skip-gram dan CBOW
- Benaman GloVe dan FastText
- Pengelasan Teks dengan BERT
- Keserupaan Semantik dan Benaman Ayat