import numpy as np from matrices import construir_matriz_Q, generar_k_transpuesta_y_v from attention import encoder_layer, calcular_pesos_proyeccion, scaled_dot_product_attention_2D def transform_word(word): significant_numbers = [] for char in word: Q = construir_matriz_Q(char) K_transpose, V = generar_k_transpuesta_y_v(Q, char) output = scaled_dot_product_attention_2D(Q, K_transpose, V) Wq, Wk, Wv = calcular_pesos_proyeccion(output) encoder_output = encoder_layer(Q, K_transpose, V, Wq, Wk, Wv) significant_number = np.sum(np.max(encoder_output, axis=1)) significant_numbers.append(significant_number) return significant_numbers