Kelime vektörlerine giriş

spaCy ile Natural Language Processing

Azadeh Mobasher

Principal Data Scientist

Kelime vektörleri (gömlemeler)

 

  • Kelimelerin sayısal gösterimleri
  • Kelime torbası yöntemi: {"I": 1, "got": 2, ...}

 

  • Eski yöntemler anlamı yakalayamaz:
Cümleler    I       got      covid   coronavirus
I got covid    1     2     3
I got coronavirus    1     2        4
spaCy ile Natural Language Processing

Kelime vektörleri

  • Önceden belirlenmiş boyut sayısı
  • Benzer bağlamlarda kelime sıklıklarını ve diğer kelimelerin varlığını dikkate alır

Kelime vektörü örnekleri

spaCy ile Natural Language Processing

Kelime vektörleri

  • Kelime vektörleri için birden çok yaklaşım:

    • word2vec, GloVe, fastText ve dönüştürücü tabanlı mimariler
  • Bir kelime vektörü örneği:

Kelime vektörü örneği

spaCy ile Natural Language Processing

spaCy söz varlığı

 

  • Birçok spaCy modelinin parçasıdır.
  • en_core_web_md, 20.000 kelime için 300 boyutlu vektörlere sahiptir.

 

import spacy
nlp = spacy.load("en_core_web_md")
print(nlp.meta["vectors"])
>>> {'width': 300, 'vectors': 20000, 'keys': 514157, 
'name': 'en_vectors', 'mode': 'default'}
spaCy ile Natural Language Processing

spaCy'de kelime vektörleri

  • nlp.vocab: söz varlığına erişim (Vocab sınıfı)
  • nlp.vocab.strings: söz varlığındaki kelime kimliklerine erişim
import  spacy
nlp = spacy.load("en_core_web_md")
like_id = nlp.vocab.strings["like"]
print(like_id)
>>> 18194338103975822726
  • .vocab.vectors: bir modelin ya da bir kelimenin, ilgili kimliği verilerek, kelime vektörlerine erişim
print(nlp.vocab.vectors[like_id])
>>> array([-2.3334e+00, -1.3695e+00, -1.1330e+00, -6.8461e-01, ...])
spaCy ile Natural Language Processing

Hadi pratik yapalım!

spaCy ile Natural Language Processing

Preparing Video For Download...