spaCy temelleri

spaCy ile Natural Language Processing

Azadeh Mobasher

Principal Data Scientist

spaCy NLP boru hattı

import spacy

nlp = spacy.load("en_core_web_sm")
doc = nlp("Here's my spaCy pipeline.")
  • spaCy'yi içe aktarın
  • spacy.load() ile Language sınıfından nlp döndürün
    • Language nesnesi metin işleme boru hattıdır
  • Herhangi bir metne nlp() uygulayarak bir Doc kapsayıcısı alın
spaCy ile Natural Language Processing

spaCy NLP boru hattı

 

spaCy, Language sınıfını kullanarak bazı işlem adımlarını uygular:

spaCy Language pipeline

spaCy ile Natural Language Processing

spaCy'de kapsayıcı nesneler

  • spaCy'de metni temsil eden birden çok veri yapısı vardır:

 

Ad Açıklama
Doc Metnin dilbilimsel ek açıklamalarına erişim için bir kapsayıcı
Span Bir Doc nesnesinden bir dilim
Token Tek bir belirteç; örn. kelime, noktalama, boşluk vb.
spaCy ile Natural Language Processing

Boru hattı bileşenleri

  • spaCy dil işleme boru hattı, yüklenen modele ve yeteneklerine bağlıdır.

 

Bileşen Ad Açıklama
Tokenizer Tokenizer Metni belirteçlere böler ve Doc nesnesi oluşturur
Tagger Tagger Sözcük türü etiketleri atar
Lemmatizer Lemmatizer Kelimeleri kök biçimlerine indirger
EntityRecognizer NER Adlandırılmış varlıkları tespit eder ve etiketler
spaCy ile Natural Language Processing

Boru hattı bileşenleri

 

  • Her bileşen metni işlemede özgün özelliklere sahiptir

    • Language
    • DependencyParser
    • Sentencizer
spaCy ile Natural Language Processing

Tokenleştirme

  • Her zaman ilk işlem
  • Diğer tüm işlemler belirteçlere ihtiyaç duyar
  • Belirteçler kelime, sayı ve noktalama olabilir
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', '.']
spaCy ile Natural Language Processing

Cümle bölütleme

  • Tokenleştirmeden daha karmaşıktır
  • DependencyParser bileşeninin bir parçasıdır
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.
spaCy ile Natural Language Processing

Lemmatizasyon

  • Lemma, bir belirtecin temel biçimidir
  • eats ve ate sözcüklerinin leması eat'tir
  • Dil modeli doğruluğunu artırır
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'), ('.', '.')]
spaCy ile Natural Language Processing

Vamos praticar!

spaCy ile Natural Language Processing

Preparing Video For Download...