Vector từ và spaCy

Xử lý ngôn ngữ tự nhiên với spaCy

Azadeh Mobasher

Principal Data Scientist

Trực quan hóa vector từ

  • Vector từ giúp hiểu cách các từ được nhóm lại

 

Ví dụ vector từ

  • Phân tích Thành phần Chính (PCA) chiếu vector từ vào không gian hai chiều

 

Trực quan hóa vector từ

Xử lý ngôn ngữ tự nhiên với spaCy

Trực quan hóa vector từ

  • Import thư viện cần thiết và một mô hình spaCy.
import matplotlib.pyplot as plt
from sklearn.decomposition import PCA
import numpy as np

nlp = spacy.load("en_core_web_md")
  • Trích xuất vector từ cho danh sách từ và xếp chồng theo hàng.
words = ["wonderful", "horrible", 
           "apple", "banana", "orange", "watermelon", 
           "dog", "cat"]
word_vectors = np.vstack([nlp.vocab.vectors[nlp.vocab.strings[w]] for w in words])
Xử lý ngôn ngữ tự nhiên với spaCy

Trực quan hóa vector từ

  • Trích xuất hai thành phần chính bằng PCA.
pca = PCA(n_components=2)
word_vectors_transformed = pca.fit_transform(word_vectors)

 

  • Vẽ biểu đồ scatter của các vector đã biến đổi.
plt.figure(figsize=(10, 8))
plt.scatter(word_vectors_transformed[:, 0], word_vectors_transformed[:, 1])

for word, coord in zip(words, word_vectors_transformed): x, y = coord plt.text(x, y, word, size=10) plt.show()
Xử lý ngôn ngữ tự nhiên với spaCy

Phép tương tự và phép toán vector

  • Quan hệ ngữ nghĩa giữa một cặp từ.
  • Word embeddings tạo phép tương tự về giới và thì:
    • queen - woman + man = king

Phép tương tự và phép toán vector

Xử lý ngôn ngữ tự nhiên với spaCy

Từ tương tự trong từ vựng

  • spaCy tìm các thuật ngữ tương đồng ngữ nghĩa với một thuật ngữ cho trước
import numpy as np
import spacy
nlp = spacy.load("en_core_web_md")

word = "covid"

most_similar_words = nlp.vocab.vectors.most_similar( np.asarray([nlp.vocab.vectors[nlp.vocab.strings[word]]]), n=5) words = [nlp.vocab.strings[w] for w in most_similar_words[0][0]] print(words)
>>> ['Covi', 'CoVid', 'Covici', 'COVID-19', 'corona']
Xử lý ngôn ngữ tự nhiên với spaCy

Ayo berlatih!

Xử lý ngôn ngữ tự nhiên với spaCy

Preparing Video For Download...