Deep Learning para texto con PyTorch
Shubham Jain
Data Scientist
"
"
{{3}}"
"- Codificación one-hot: transforma las palabras en representaciones numéricas únicas
"- Asignar a cada palabra un vector distinto
"- ['gato', 'perro', 'conejo']
"`py
import torch
vocab = ['cat', 'dog', 'rabbit']
----CODE_GLUE---- ```py vocab_size = len(vocab)one_hot_vectors = torch.eye(vocab_size)one_hot_dict = {word: one_hot_vectors[i] for i, word in enumerate(vocab)}print(one_hot_dict)
out
{'cat': tensor([1., 0., 0.]),
'dog': tensor([0., 1., 0.]),
'rabbit': tensor([0., 0., 1.])}{{5}}"
"- Ejemplo: \"El gato se sentó en la alfombra\"
"- Tratar cada documento como una colección no ordenada de palabras
from sklearn.feature_extraction.text import CountVectorizervectorizer = CountVectorizer()corpus = ['Este es el primer documento.', 'Este documento es el segundo documento.', 'Y este es el tercero.', '¿Es este el primer documento?']X = vectorizer.fit_transform(corpus)print(X.toarray())print(vectorizer.get_feature_names_out())
out
[[0 1 1 1 0 0 1 0 1] [0 2 0 1 0 1 1 0 1] [1 0 0 1 1 0 1 1 1] [0 1 1 1 0 0 1 0 1]] DNT_CURLY_TAG_5 out ['and' 'document' 'first' 'is' 'one' 'second' 'the' 'third' 'this']
"- Frecuencia de término-inversa de frecuencia de documento
from sklearn.feature_extraction.text import TfidfVectorizer vectorizer = TfidfVectorizer()corpus = ['Este es el primer documento.','Este documento es el segundo documento.', 'Y este es el tercero.','¿Es este el primer documento?']X = vectorizer.fit_transform(corpus)print(X.toarray())print(vectorizer.get_feature_names_out())
[[0. 0. 0.68091856 0.51785612 0.51785612 0. ] [0. 0. 0. 0.51785612 0.51785612 0.68091856] [0.85151335 0.42575668 0. 0.32274454 0.32274454 0. ] [0. 0. 0.68091856 0.51785612 0.51785612 0. ]] ```
"
"
"Técnicas: One-hot encoding, bolsa de palabras y TF-IDF
Deep Learning para texto con PyTorch