Doğal Dil İşleme (NLP) temel bilgileri

spaCy ile Natural Language Processing

Azadeh Mobasher

Principal Data Scientist

Doğal Dil İşleme (NLP)

 

  • Yapay Zekâ (AI)’nın bir alt alanı
  • Bilgisayarların insan dilini anlamasına yardımcı olur
  • Yapılandırılmamış veriden içgörü çıkarır
  • İstatistik, makine öğrenmesi ve derin öğrenme içerir

 

AI'nin bir alt alanı olarak NLP

spaCy ile Natural Language Processing

NLP kullanım alanları

Duygu analizi  

  • Bir metnin öznel tonunu belirlemek için bilgisayarların kullanımı

 

Duygu Analizi Örnekleri

spaCy ile Natural Language Processing

NLP kullanım alanları

Adlandırılmış varlık tanıma (NER)  

  • Yapılandırılmamış metindeki adlandırılmış varlıkları önceden tanımlı kategorilere bulma ve sınıflandırma
  • Adlandırılmış varlıklar, kişi veya konum gibi gerçek dünya nesneleridir

 

NER Örnekleri

spaCy ile Natural Language Processing

NLP kullanım alanları

 

  • Metin girdisine insan benzeri yanıtlar üretir; örn. ChatGPT

 

Sohbet botları

spaCy ile Natural Language Processing

spaCy’ye giriş

spaCy, Python için ücretsiz, açık kaynaklı bir NLP kütüphanesidir:

  • Bilgi çıkarımı sistemleri için tasarlanmıştır
  • NLP kullanım alanlarına yönelik üretim seviyesinde kod sunar
  • 64+ dili destekler
  • Dayanıklı, hızlıdır ve görselleştirme kütüphaneleri içerir

 

spaCy ve NLP

spaCy ile Natural Language Processing

spaCy’yi kurma ve içe aktarma

 

  • İlk adım olarak pip ile spaCy kurulabilir
  • spaCy eğitilmiş modelleri indirilebilir
  • İngilizce için birden çok eğitimli model spacy.io adresinde mevcuttur

 

$ python3 pip install spacy
python3 -m spacy download en_core_web_sm
import spacy
nlp = spacy.load("en_core_web_sm")
spaCy ile Natural Language Processing

spaCy ile metin okuma ve işleme

  • Yüklenen spaCy modeli en_core_web_sm = nlp nesnesi
  • nlp nesnesi metni işlenmiş metni saklayan bir Doc nesnesine dönüştürür

spaCy ile metin işleme

spaCy ile Natural Language Processing

spaCy uygulamada

  • spaCy ile bir dizeyi işleme
import spacy
nlp = spacy.load("en_core_web_sm")
text = "A spaCy pipeline object is created."
doc = nlp(text)
  • Tokenleştirme
    • Token, metnin en küçük anlamlı parçasıdır.
    • Tokenleştirme: Metni anlamlı token’lara bölme işlemi
print([token.text for token in doc])
['A', 'spaCy', 'pipeline', 'object', 'is', 'created', '.']
spaCy ile Natural Language Processing

Hadi pratik yapalım!

spaCy ile Natural Language Processing

Preparing Video For Download...