Dasar-dasar spaCy

Pemrosesan Bahasa Alami dengan spaCy

Azadeh Mobasher

Principal Data Scientist

Pipeline NLP spaCy

import spacy

nlp = spacy.load("en_core_web_sm")
doc = nlp("Here's my spaCy pipeline.")
  • Impor spaCy
  • Gunakan spacy.load() untuk mengembalikan nlp, sebuah kelas Language
    • Objek Language adalah pipeline pemrosesan teks
  • Terapkan nlp() pada teks apa pun untuk mendapatkan kontainer Doc
Pemrosesan Bahasa Alami dengan spaCy

Pipeline NLP spaCy

 

spaCy menjalankan beberapa langkah pemrosesan menggunakan kelas Language:

Pipeline Language spaCy

Pemrosesan Bahasa Alami dengan spaCy

Objek kontainer di spaCy

  • Ada beberapa struktur data untuk merepresentasikan teks di spaCy:

 

Name Description
Doc Kontainer untuk mengakses anotasi linguistik teks
Span Potongan dari objek Doc
Token Satu token, mis. kata, tanda baca, spasi, dll.
Pemrosesan Bahasa Alami dengan spaCy

Komponen pipeline

  • Pipeline pemrosesan bahasa spaCy selalu bergantung pada model yang dimuat dan kemampuannya.

 

Component Name Description
Tokenizer Tokenizer Membagi teks menjadi token dan membuat objek Doc
Tagger Tagger Memberi tag part-of-speech
Lemmatizer Lemmatizer Mengurangi kata ke bentuk dasar
EntityRecognizer NER Mendeteksi dan memberi label entitas bernama
Pemrosesan Bahasa Alami dengan spaCy

Komponen pipeline

 

  • Tiap komponen punya fitur unik untuk memproses teks

    • Language
    • DependencyParser
    • Sentencizer
Pemrosesan Bahasa Alami dengan spaCy

Tokenization

  • Selalu operasi pertama
  • Operasi lain memerlukan token
  • Token bisa berupa kata, angka, dan tanda baca
import spacy
nlp = spacy.load("en_core_web_sm")

doc = nlp("Tokenization splits a sentence into its tokens.")

print([token.text for token in doc])
['Tokenization', 'splits', 'a', 'sentence', 'into', 'its', 'tokens', '.']
Pemrosesan Bahasa Alami dengan spaCy

Segmentasi kalimat

  • Lebih kompleks daripada tokenization
  • Merupakan bagian dari komponen DependencyParser
import spacy
nlp = spacy.load("en_core_web_sm")

text = "We are learning NLP. This course introduces spaCy."
doc = nlp(text)

for sent in doc.sents: print(sent.text)
We are learning NLP.
This course introduces spaCy.
Pemrosesan Bahasa Alami dengan spaCy

Lemmatization

  • Lemma adalah bentuk dasar sebuah token
  • Lemma dari eats dan ate adalah eat
  • Meningkatkan akurasi model bahasa
import spacy
nlp = spacy.load("en_core_web_sm")
doc = nlp("We are seeing her after one year.")

print([(token.text, token.lemma_) for token in doc])
[('We', 'we'), ('are', 'be'), ('seeing', 'see'), ('her', 'she'), 
('after', 'after'), ('one', 'one'), ('year', 'year'), ('.', '.')]
Pemrosesan Bahasa Alami dengan spaCy

Ayo berlatih!

Pemrosesan Bahasa Alami dengan spaCy

Preparing Video For Download...