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

EstrategiaDims finalesCuándo usar
MeanIgualesDefault (balanced)
WeightedIgualesImportancia variable
MaxIgualesFeatures salientes
ConcatSumaPreservar todo (costoso)

Módulo 6 - Cápsula 04