Módulo 6: Embedding Operations
Composition Strategies
Averaging (Mean)
def compose_mean(embeddings):
"""Promedio simple"""
return np.mean(embeddings, axis=0)
# Documento = promedio de sentences
sent_embs = [get_emb(s) for s in sentences]
doc_emb = compose_mean(sent_embs)
Weighted Average
def compose_weighted(embeddings, weights):
"""Promedio ponderado"""
weighted = [w * emb for w, emb in zip(weights, embeddings)]
return np.sum(weighted, axis=0)
# Ejemplo: Sentences importantes pesan más
weights = [0.5, 0.3, 0.2] # Primera oración más importante
doc_emb = compose_weighted(sent_embs, weights)
Max Pooling
def compose_max(embeddings):
"""Max por dimensión"""
return np.max(embeddings, axis=0)
# Captura features más salientes
doc_emb = compose_max(sent_embs)
Concatenation
def compose_concat(embeddings):
"""Concatenar vectores"""
return np.concatenate(embeddings)
# ADVERTENCIA: Aumenta dimensionalidad
# 3 embeddings de 1536 dims → 4608 dims
Resumen
| Estrategia | Dims finales | Cuándo usar |
|---|---|---|
| Mean | Iguales | Default (balanced) |
| Weighted | Iguales | Importancia variable |
| Max | Iguales | Features salientes |
| Concat | Suma | Preservar todo (costoso) |
Módulo 6 - Cápsula 04