word vectors se spaCy
V tomto cvičení si poprvé vyzkoušíš práci s word vectors! Budeme pracovat s datasetem ATIS, který obsahuje tisíce vět od skutečných uživatelů komunikujících se systémem pro rezervaci letenek.
Promluvy uživatelů jsou dostupné v seznamu sentences a odpovídající záměry (intenty) v labels.
Tvým úkolem je vytvořit 2D pole X, které bude mít tolik řádků, kolik je vět v datasetu – přičemž každý řádek bude vektorová reprezentace dané věty.
Toto cvičení je součástí kurzu
Building Chatbots in Python
Pokyny k cvičení
- Načti anglický model
spaCyvolánímspacy.load()s argumentem'en'. - Zjisti počet vět v
sentencespomocílen()a dimenzionalitu word vectors pomocínlp.vocab.vectors_length. - Pro každou větu zavolej objekt
nlps argumentemsentencea výsledek ulož jakodoc. - Pomocí atributu
.vectorobjektudoczískej vektorovou reprezentaci každé věty a ulož ji do příslušného řádku poleX.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Load the spacy model: nlp
nlp = ____
# Calculate the length of sentences
n_sentences = ____
# Calculate the dimensionality of nlp
embedding_dim = ____
# Initialize the array with zeros: X
X = np.zeros((n_sentences, embedding_dim))
# Iterate over the sentences
for idx, sentence in enumerate(sentences):
# Pass each each sentence to the nlp object to create a document
doc = ____
# Save the document's .vector attribute to the corresponding row in X
X[idx, :] = ____