Pengantar vektor kata

Pemrosesan Bahasa Alami dengan spaCy

Azadeh Mobasher

Principal Data Scientist

Vektor kata (embedding)

 

  • Representasi numerik untuk kata
  • Metode bag of words: {"I": 1, "got": 2, ...}

 

  • Metode lama tidak menangkap makna:
Kalimat    I       got      covid   coronavirus
I got covid    1     2     3
I got coronavirus    1     2        4
Pemrosesan Bahasa Alami dengan spaCy

Vektor kata

  • Jumlah dimensi sudah ditetapkan
  • Mempertimbangkan frekuensi kata dan kehadiran kata lain dalam konteks serupa

Contoh vektor kata

Pemrosesan Bahasa Alami dengan spaCy

Vektor kata

  • Beragam pendekatan untuk membuat vektor kata:

    • word2vec, GloVe, fastText, dan arsitektur berbasis transformer
  • Contoh vektor kata:

Contoh vektor kata

Pemrosesan Bahasa Alami dengan spaCy

Kosakata spaCy

 

  • Bagian dari banyak model spaCy.
  • en_core_web_md memiliki vektor berdimensi 300 untuk 20.000 kata.

 

import spacy
nlp = spacy.load("en_core_web_md")
print(nlp.meta["vectors"])
>>> {'width': 300, 'vectors': 20000, 'keys': 514157, 
'name': 'en_vectors', 'mode': 'default'}
Pemrosesan Bahasa Alami dengan spaCy

Vektor kata di spaCy

  • nlp.vocab: akses ke kosakata (kelas Vocab)
  • nlp.vocab.strings: akses ID kata dalam kosakata
import  spacy
nlp = spacy.load("en_core_web_md")
like_id = nlp.vocab.strings["like"]
print(like_id)
>>> 18194338103975822726
  • .vocab.vectors: akses vektor kata dari model atau kata berdasarkan ID-nya
print(nlp.vocab.vectors[like_id])
>>> array([-2.3334e+00, -1.3695e+00, -1.1330e+00, -6.8461e-01, ...])
Pemrosesan Bahasa Alami dengan spaCy

Ayo berlatih!

Pemrosesan Bahasa Alami dengan spaCy

Preparing Video For Download...