spaCy

spaCy adalah pustaka NLP modern yang dirancang untuk penggunaan produksi. spaCy menyediakan pipeline lengkap untuk pemrosesan teks dengan performa tinggi.

Mengapa spaCy?

  • Cepat - Dioptimasi untuk performa tinggi

  • Akurat - Model terlatih dengan akurasi tinggi

  • Mudah digunakan - API yang intuitif dan konsisten

  • Lengkap - Tokenisasi, POS tagging, NER, lemmatization, dan banyak lagi

  • Multibahasa - Mendukung banyak bahasa termasuk Indonesia dan Inggris

Instalasi

pip install spacy

Atau jika menggunakan uv:

uv add spacy

Mengunduh Model Bahasa

spaCy memerlukan model bahasa untuk bekerja. Berikut cara mengunduh model:

Model Bahasa Inggris:

python -m spacy download en_core_web_sm

Model Bahasa Indonesia:

python -m spacy download id_core_news_sm

Catatan

Model _sm (small) cocok untuk pembelajaran. Untuk produksi, pertimbangkan model _md (medium) atau _lg (large) yang lebih akurat.

Daftar Materi

Contoh Cepat

import spacy

# Load model bahasa Inggris
nlp = spacy.load("en_core_web_sm")

# Proses teks
doc = nlp("Apple is looking at buying U.K. startup for $1 billion")

# Lihat token dan atributnya
for token in doc:
    print(f"{token.text:12} {token.pos_:6} {token.dep_:10}")

Output:

Apple        PROPN  nsubj     
is           AUX    aux       
looking      VERB   ROOT      
at           ADP    prep      
buying       VERB   pcomp     
U.K.         PROPN  dobj      
startup      NOUN   dobj      
for          ADP    prep      
$            SYM    quantmod  
1            NUM    compound  
billion      NUM    pobj      

Contoh dengan Bahasa Indonesia

import spacy

# Load model bahasa Indonesia
nlp = spacy.load("id_core_news_sm")

# Proses teks
doc = nlp("Jakarta adalah ibu kota Indonesia yang terletak di Pulau Jawa.")

# Lihat token
for token in doc:
    print(f"{token.text:15} {token.pos_:6} {token.lemma_}")

Output:

Jakarta         PROPN  Jakarta
adalah          AUX    adalah
ibu             NOUN   ibu
kota            NOUN   kota
Indonesia       PROPN  Indonesia
yang            PRON   yang
terletak        VERB   letak
di              ADP    di
Pulau           PROPN  Pulau
Jawa            PROPN  Jawa
.               PUNCT  .

Pipeline spaCy

Ketika Anda memproses teks dengan spaCy, teks tersebut melewati serangkaian komponen pipeline:

┌────────────┐    ┌───────────┐    ┌────────┐    ┌───────┐
│  Tokenizer │ → │   Tagger  │ → │ Parser │ → │  NER  │
└────────────┘    └───────────┘    └────────┘    └───────┘
      ↓                ↓               ↓            ↓
   Token           POS Tags      Dependencies   Entities

Setiap komponen menambahkan anotasi ke dokumen yang dapat Anda akses.

Langkah Selanjutnya

Lanjutkan ke spaCy Dasar untuk mempelajari konsep dasar dan objek-objek utama dalam spaCy.