{"id":32575,"date":"2025-04-22T09:55:31","date_gmt":"2025-04-22T12:55:31","guid":{"rendered":"https:\/\/building.nubank.com\/?p=32575"},"modified":"2025-05-14T12:13:01","modified_gmt":"2025-05-14T15:13:01","slug":"definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales","status":"publish","type":"post","link":"https:\/\/building.nubank.com\/es\/definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales\/","title":{"rendered":"Definiendo una interfaz entre los datos de transacciones y los modelos fundamentales"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><em>Author:&nbsp;<a href=\"https:\/\/www.linkedin.com\/in\/daniel-braithwaite-phd-78ab58105\/\" target=\"_blank\" rel=\"noreferrer noopener\">Daniel Braithwaite<\/a>&nbsp;and&nbsp;<a href=\"https:\/\/www.linkedin.com\/in\/hiroto-udagawa\" target=\"_blank\" rel=\"noreferrer noopener\">Hiroto Udagawa<\/a><\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>El trabajo descrito aqu\u00ed es un esfuerzo colaborativo de varios ingenieros de Nubank (en orden alfab\u00e9tico): Abhishek Shivanna, Arissa Yoshida, Austin McEver, Brian Zanfelice, Cristiano Breuel, Evan Wingert, Fabio Souza, Felipe Meneses, Helder Dias, Henrique Fernandes, Liam O\u2019Neill, Marcelo Buga, Matheus Ramos, and Misael Cavalcanti. We also thank Rohan Ramanath, Daniel Silva, and Guilherme Tanure por su apoyo.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Este es el segundo art\u00edculo de una serie de publicaciones sobre c\u00f3mo modelamos las finanzas de nuestros clientes utilizando modelos fundacionales. Para una introducci\u00f3n al problema, te recomendamos leer <\/em><a href=\"https:\/\/building.nubank.com.br\/es\/entendiendo-las-finanzas-de-nuestros-clientes-a-traves-de-modelos-fundacionales\/\"><em>la primera publicaci\u00f3n de la serie<\/em><\/a><em>.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En nuestra publicaci\u00f3n anterior, \u201c<a href=\"https:\/\/building.nubank.com.br\/es\/entendiendo-las-finanzas-de-nuestros-clientes-a-traves-de-modelos-fundacionales\/\">Entendiendo las finanzas de nuestros clientes a trav\u00e9s de modelos fundacionales<\/a>\u201d, presentamos c\u00f3mo Nubank utiliza modelos <em>fundacionales<\/em> para construir representaciones de usuarios a partir de los datos de transacciones. Explicamos c\u00f3mo estos modelos, entrenados con grandes cantidades de datos no etiquetados mediante aprendizaje auto-supervisado, pueden descubrir caracter\u00edsticas generales y generar embeddings informativos del comportamiento financiero de los clientes. Esta estrategia va m\u00e1s all\u00e1 de la ingenier\u00eda de atributos tabulares tradicional y nos ayuda a comprender mejor las necesidades de nuestros usuarios.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Usamos transformers [1] como la arquitectura base para nuestros modelos de secuencia a secuencia, ya que actualmente son la opci\u00f3n predominante para resolver problemas de modelado secuencial. Adem\u00e1s, son especialmente buenos aprovechando relaciones de largo plazo dentro de las secuencias de entrada (en comparaci\u00f3n con las RNNs [2, 3]), lo cual puede ser particularmente \u00fatil en datos de transacciones, dado que los h\u00e1bitos de consumo suelen tener variaciones c\u00edclicas o estacionales (por ejemplo, durante las festividades muchas personas tienden a gastar m\u00e1s).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los transformers operan sobre secuencias de embeddings, as\u00ed que necesitamos definir un proceso que convierta las transacciones de un usuario en una forma que el modelo pueda procesar. Aqu\u00ed presentamos una manera de construir esa interfaz que, en esencia, convierte nuestro problema de modelado de transacciones en uno que puede abordarse con t\u00e9cnicas est\u00e1ndar de lenguaje natural.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"562\" height=\"382\" data-attachment-id=\"32589\" data-permalink=\"https:\/\/building.nubank.com\/es\/definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales\/screenshot-2025-04-22-at-10-01-00\/\" data-orig-file=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-22-at-10.01.00.png?fit=562%2C382&amp;ssl=1\" data-orig-size=\"562,382\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Screenshot 2025-04-22 at 10.01.00\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-22-at-10.01.00.png?fit=562%2C382&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-22-at-10.01.00.png?resize=562%2C382&#038;ssl=1\" alt=\"\" class=\"wp-image-32589\" srcset=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-22-at-10.01.00.png?w=562&amp;ssl=1 562w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-22-at-10.01.00.png?resize=300%2C204&amp;ssl=1 300w\" sizes=\"auto, (max-width: 562px) 100vw, 562px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Para este art\u00edculo, asumimos que una transacci\u00f3n tiene tres atributos: el monto (representado como un n\u00famero decimal), la fecha (como un timestamp) y una descripci\u00f3n (como texto libre). Si bien este enfoque es simplificado, en la pr\u00e1ctica podemos construir representaciones y codificadores para muchos otros atributos relevantes de una transacci\u00f3n, como el ID del comercio, la ubicaci\u00f3n, la categor\u00eda, el motivo de rechazo, etc.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"233\" data-attachment-id=\"32685\" data-permalink=\"https:\/\/building.nubank.com\/es\/definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales\/blog-post-1-transaction-content\/\" data-orig-file=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-Transaction-Content.jpg?fit=4194%2C953&amp;ssl=1\" data-orig-size=\"4194,953\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Blog Post #1 &amp;#8211; Transaction Content\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-Transaction-Content.jpg?fit=1024%2C233&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-Transaction-Content.jpg?resize=1024%2C233&#038;ssl=1\" alt=\"\" class=\"wp-image-32685\" srcset=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-Transaction-Content.jpg?resize=1024%2C233&amp;ssl=1 1024w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-Transaction-Content.jpg?resize=300%2C68&amp;ssl=1 300w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-Transaction-Content.jpg?resize=768%2C175&amp;ssl=1 768w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-Transaction-Content.jpg?resize=1536%2C349&amp;ssl=1 1536w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-Transaction-Content.jpg?resize=2048%2C465&amp;ssl=1 2048w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-Transaction-Content.jpg?resize=1200%2C273&amp;ssl=1 1200w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-Transaction-Content.jpg?w=3000&amp;ssl=1 3000w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Una opci\u00f3n simple para construir esta interfaz ser\u00eda asignar un ID a cada transacci\u00f3n \u00fanica, como se hace en literatura sobre recomendaci\u00f3n secuencial (por ejemplo, SASRec [4]). Por ejemplo, podr\u00edamos mapear cada combinaci\u00f3n de descripci\u00f3n, fecha y monto a un ID distinto, y luego convertir estos IDs en embeddings utilizando una tabla de lookup entrenada junto con el transformador. Sin embargo, este enfoque tiene dos desventajas importantes. Primero, el n\u00famero de combinaciones posibles de transacciones es extremadamente alto, lo que implicar\u00eda un espacio de IDs inmenso. Es posible reducir ese espacio usando, por ejemplo, el ID del comercio en lugar de la descripci\u00f3n, pero esto eliminar\u00eda informaci\u00f3n potencialmente valiosa y agregar\u00eda dependencias de preprocesamiento, lo que vuelve el modelo m\u00e1s fr\u00e1gil. Segundo, este enfoque sufre del problema del cold start: el modelo no puede manejar transacciones que no haya visto durante el entrenamiento.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Otra opci\u00f3n para conectar transacciones con transformers es usar el enfoque text-is-all-you-need [5], que en el caso de la recomendaci\u00f3n de productos crea cadenas de texto combinando los nombres de atributos (como descripci\u00f3n, monto, fecha) con sus valores correspondientes (por ejemplo, \u201cNETFLIX.com\u201d, $32.40, 12\/05\/2023). Esta t\u00e9cnica tambi\u00e9n puede aplicarse a datos de transacciones. Las cadenas resultantes pueden tratarse como lenguaje natural y convertirse en embeddings mediante un tokenizador y una tabla de embeddings. Esto permite que el modelo generalice a transacciones no vistas y que incluso aproveche modelos de lenguaje existentes sin modificaciones. Sin embargo, este enfoque hace que cada transacci\u00f3n se represente con muchos tokens, lo cual puede ser un problema, ya que el costo computacional del mecanismo de atenci\u00f3n crece de forma cuadr\u00e1tica con la longitud del contexto.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"292\" data-attachment-id=\"32689\" data-permalink=\"https:\/\/building.nubank.com\/es\/definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales\/blog-post-1-transaction-embedding-strategies\/\" data-orig-file=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-Transaction-Embedding-Strategies.jpg?fit=3744%2C1068&amp;ssl=1\" data-orig-size=\"3744,1068\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Blog Post #1 &amp;#8211; Transaction Embedding Strategies\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-Transaction-Embedding-Strategies.jpg?fit=1024%2C292&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-Transaction-Embedding-Strategies.jpg?resize=1024%2C292&#038;ssl=1\" alt=\"\" class=\"wp-image-32689\" srcset=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-Transaction-Embedding-Strategies.jpg?resize=1024%2C292&amp;ssl=1 1024w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-Transaction-Embedding-Strategies.jpg?resize=300%2C86&amp;ssl=1 300w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-Transaction-Embedding-Strategies.jpg?resize=768%2C219&amp;ssl=1 768w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-Transaction-Embedding-Strategies.jpg?resize=1536%2C438&amp;ssl=1 1536w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-Transaction-Embedding-Strategies.jpg?resize=2048%2C584&amp;ssl=1 2048w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-Transaction-Embedding-Strategies.jpg?resize=1200%2C342&amp;ssl=1 1200w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-Transaction-Embedding-Strategies.jpg?w=3000&amp;ssl=1 3000w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">La figura de abajo muestra un ejemplo de las dos interfaces transacci\u00f3n-embedding mencionadas. Sin embargo, para nuestros modelos fundacionales, elegimos una versi\u00f3n modificada de text-is-all-you-need, donde representamos caracter\u00edsticas num\u00e9ricas y categ\u00f3ricas usando tokens especiales (las caracter\u00edsticas num\u00e9ricas se convierten previamente en categor\u00edas discretas mediante un proceso de cuantizaci\u00f3n). En los experimentos presentados en esta publicaci\u00f3n, representamos cada transacci\u00f3n de la siguiente forma:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Signo del monto: un token que indica si el monto es positivo o negativo.<\/li>\n\n\n\n<li>Rango de monto (bucket): los valores absolutos se agrupan en intervalos, y cada intervalo recibe un token distinto.<\/li>\n\n\n\n<li>Mes, d\u00eda y d\u00eda de la semana: cada uno se representa con su propio token.<\/li>\n\n\n\n<li>Descripci\u00f3n: el texto se tokeniza como lenguaje natural usando un tokenizador est\u00e1ndar (por ejemplo, BPE).<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Este formato tambi\u00e9n facilita incluir otros atributos categ\u00f3ricos o num\u00e9ricos adicionales. Adem\u00e1s, usar tokens especiales nos permite reducir el n\u00famero total de tokens en comparaci\u00f3n con una estrategia 100% textual. A continuaci\u00f3n mostramos un ejemplo completo de esta representaci\u00f3n:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"398\" data-attachment-id=\"32699\" data-permalink=\"https:\/\/building.nubank.com\/es\/definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales\/blog-post-1-transaction-tokenization-process-2\/\" data-orig-file=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-Transaction-Tokenization-Process-1.jpg?fit=3209%2C1246&amp;ssl=1\" data-orig-size=\"3209,1246\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Blog Post #1 &amp;#8211; Transaction Tokenization Process\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-Transaction-Tokenization-Process-1.jpg?fit=1024%2C398&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-Transaction-Tokenization-Process-1.jpg?resize=1024%2C398&#038;ssl=1\" alt=\"\" class=\"wp-image-32699\" srcset=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-Transaction-Tokenization-Process-1.jpg?resize=1024%2C398&amp;ssl=1 1024w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-Transaction-Tokenization-Process-1.jpg?resize=300%2C116&amp;ssl=1 300w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-Transaction-Tokenization-Process-1.jpg?resize=768%2C298&amp;ssl=1 768w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-Transaction-Tokenization-Process-1.jpg?resize=1536%2C596&amp;ssl=1 1536w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-Transaction-Tokenization-Process-1.jpg?resize=2048%2C795&amp;ssl=1 2048w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-Transaction-Tokenization-Process-1.jpg?resize=1200%2C466&amp;ssl=1 1200w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-Transaction-Tokenization-Process-1.jpg?w=3000&amp;ssl=1 3000w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora que tenemos una forma de representar una transacci\u00f3n como una cadena y tokenizarla, podemos aplicarlo al historial de un cliente simplemente concatenando las cadenas de sus transacciones, usando tokens separadores entre ellas. Esta secuencia se trunca cuando alcanza un l\u00edmite de contexto predefinido.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"681\" data-attachment-id=\"32702\" data-permalink=\"https:\/\/building.nubank.com\/es\/definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales\/blog-post-1-user-tokenization-process-2\/\" data-orig-file=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-User-Tokenization-Process-1.jpg?fit=2451%2C1631&amp;ssl=1\" data-orig-size=\"2451,1631\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Blog Post #1 &amp;#8211; User Tokenization Process\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-User-Tokenization-Process-1.jpg?fit=1024%2C681&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-User-Tokenization-Process-1.jpg?resize=1024%2C681&#038;ssl=1\" alt=\"\" class=\"wp-image-32702\" srcset=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-User-Tokenization-Process-1.jpg?resize=1024%2C681&amp;ssl=1 1024w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-User-Tokenization-Process-1.jpg?resize=300%2C200&amp;ssl=1 300w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-User-Tokenization-Process-1.jpg?resize=768%2C511&amp;ssl=1 768w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-User-Tokenization-Process-1.jpg?resize=1536%2C1022&amp;ssl=1 1536w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-User-Tokenization-Process-1.jpg?resize=2048%2C1363&amp;ssl=1 2048w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-User-Tokenization-Process-1.jpg?resize=1200%2C799&amp;ssl=1 1200w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Finalmente, preentrenamos nuestros transformers utilizando tareas est\u00e1ndar de modelado de lenguaje. Al igual que en los modelos de lenguaje natural, los tokens de transacci\u00f3n se convierten en embeddings mediante una tabla de lookup, y entrenamos el modelo con tareas auto-supervisadas como predicci\u00f3n del siguiente token (next token prediction, NTP) o modelado de lenguaje enmascarado (masked language modeling, MLM).<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"806\" data-attachment-id=\"32706\" data-permalink=\"https:\/\/building.nubank.com\/es\/definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales\/blog-post-1-user-modeling-approach\/\" data-orig-file=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-User-Modeling-Approach.jpg?fit=2254%2C1774&amp;ssl=1\" data-orig-size=\"2254,1774\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Blog Post #1 &amp;#8211; User Modeling Approach\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-User-Modeling-Approach.jpg?fit=1024%2C806&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-User-Modeling-Approach.jpg?resize=1024%2C806&#038;ssl=1\" alt=\"\" class=\"wp-image-32706\" srcset=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-User-Modeling-Approach.jpg?resize=1024%2C806&amp;ssl=1 1024w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-User-Modeling-Approach.jpg?resize=300%2C236&amp;ssl=1 300w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-User-Modeling-Approach.jpg?resize=768%2C604&amp;ssl=1 768w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-User-Modeling-Approach.jpg?resize=1536%2C1209&amp;ssl=1 1536w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-User-Modeling-Approach.jpg?resize=2048%2C1612&amp;ssl=1 2048w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Blog-Post-1-User-Modeling-Approach.jpg?resize=1200%2C944&amp;ssl=1 1200w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Por supuesto, la familia de modelos basados en transformers es muy amplia y requiere bastante exploraci\u00f3n. La figura de abajo muestra el rendimiento promedio de los embeddings no supervisados (es decir, embeddings generados por el modelo preentrenado) en cuatro tareas de recomendaci\u00f3n est\u00e1ndar, a medida que variamos la configuraci\u00f3n del modelo. Para acelerar los experimentos (y respetar los l\u00edmites de hardware), usamos una longitud de contexto corta de 1024 tokens, que llamamos CL.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Modelo 1 (Baseline): atenci\u00f3n bidireccional con tarea de MLM.<\/li>\n\n\n\n<li>Modelo 1 fragmentado (Chunked): extiende artificialmente la longitud de contexto al ejecutar el mismo modelo sobre bloques independientes y promediar los embeddings (fragmentos de 8 \u00d7 CL tokens). Mejora de 1.64 puntos sobre el baseline.<\/li>\n\n\n\n<li>Modelo 2: utiliza atenci\u00f3n dispersa (sparse attention) para duplicar la longitud del contexto a 2 \u00d7 CL sin errores de memoria. Mejora de 1.8 puntos.<\/li>\n\n\n\n<li>Modelo 2 fragmentado: mejora relativa de 2.78 puntos.<\/li>\n\n\n\n<li>Modelo 3 SM: cambia a atenci\u00f3n causal, elimina los embeddings posicionales mediante NoPE [6] (los modelos causales aprenden su propia noci\u00f3n de posici\u00f3n) y agrega FlashAttention [7] (una implementaci\u00f3n m\u00e1s eficiente de la atenci\u00f3n, con mejor escalabilidad), permitiendo una longitud de contexto de 8 \u00d7 CL. Mejora de 3.93 puntos.<\/li>\n\n\n\n<li>Modelo 3 LG: cuadruplica el n\u00famero de par\u00e1metros y mejora 7.2 puntos en comparaci\u00f3n al baseline.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Finalmente, el modelo LG afinado (Fine-tuned LG) aplica un procedimiento de fine-tuning adicional sobre el Modelo 3 LG, entren\u00e1ndolo para predecir directamente la etiqueta objetivo. Este modelo mejora 9 puntos respecto al baseline.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"613\" data-attachment-id=\"32711\" data-permalink=\"https:\/\/building.nubank.com\/es\/definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales\/peformance_improvement_graph\/\" data-orig-file=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/peformance_improvement_graph.png?fit=2531%2C1515&amp;ssl=1\" data-orig-size=\"2531,1515\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"peformance_improvement_graph\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/peformance_improvement_graph.png?fit=1024%2C613&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/peformance_improvement_graph.png?resize=1024%2C613&#038;ssl=1\" alt=\"\" class=\"wp-image-32711\" srcset=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/peformance_improvement_graph.png?resize=1024%2C613&amp;ssl=1 1024w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/peformance_improvement_graph.png?resize=300%2C180&amp;ssl=1 300w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/peformance_improvement_graph.png?resize=768%2C460&amp;ssl=1 768w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/peformance_improvement_graph.png?resize=1536%2C919&amp;ssl=1 1536w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/peformance_improvement_graph.png?resize=2048%2C1226&amp;ssl=1 2048w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/peformance_improvement_graph.png?resize=1200%2C718&amp;ssl=1 1200w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Para ponerlo en perspectiva: una mejora relativa de apenas 1 a 1.25 puntos en estas tareas ya es lo suficientemente significativa como para justificar el lanzamiento de una nueva versi\u00f3n del modelo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En este art\u00edculo mostramos c\u00f3mo reducir el problema de modelar secuencias de transacciones a uno que puede resolverse con m\u00e9todos de lenguaje natural est\u00e1ndar. A pesar de su simplicidad, este enfoque genera embeddings \u00fatiles que aportan valor a m\u00faltiples tareas dentro de Nubank. Tambi\u00e9n vimos un adelanto del impacto que puede tener el ajuste fino (fine-tuning).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Este es el segundo art\u00edculo de nuestra serie sobre modelos fundacionales aplicados a transacciones. Estos modelos nos permiten entender mejor las finanzas de nuestros clientes y responder a sus necesidades en el momento justo. En el pr\u00f3ximo art\u00edculo hablaremos sobre nuestra estrategia de joint fusi\u00f3n, que nos permite adaptar estos modelos fundacionales a tareas espec\u00edficas e incorporar soluciones basadas en atributos tabulares. Tambi\u00e9n exploraremos otros aspectos de nuestro enfoque de modelado fundamental en futuras publicaciones.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Resumen de la serie<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Si llegaste hasta aqu\u00ed, te invitamos a revisar el resto de la serie de blogs para obtener m\u00e1s contexto y profundidad t\u00e9cnica sobre este enfoque.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><a href=\"https:\/\/building.nubank.com\/es\/entendiendo-las-finanzas-de-nuestros-clientes-a-traves-de-modelos-fundacionales\/\">En el primer blog post<\/a><\/strong>, evaluamos el potencial de los <em>foundation models<\/em> aplicados a datos transaccionales, demostrando c\u00f3mo el aprendizaje auto-supervisado puede generar <em>embeddings<\/em> generales que capturan el comportamiento del cliente sin depender de datos etiquetados.<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/building.nubank.com\/es\/definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales\/\">En el segundo blog post<\/a><\/strong>, profundizamos en la formulaci\u00f3n t\u00e9cnica de nuestros <em>foundation models<\/em>, detallando la arquitectura basada en transformadores causales y c\u00f3mo estos <em>embeddings<\/em> pueden aplicarse a distintas tareas downstream.<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/building.nubank.com\/es\/ajuste-fino-de-modelos-de-usuario-basados-en-transacciones\/\">En el tercer blog post<\/a><\/strong>, exploramos c\u00f3mo mejorar el rendimiento en tareas espec\u00edficas mediante <em>supervised fine-tuning<\/em> e introdujimos el concepto de <em>joint fusion<\/em>, un enfoque que combina datos secuenciales y tabulares en un \u00fanico proceso de entrenamiento de extremo a extremo.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Referencias<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">[1] Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., &#8230; &amp; Polosukhin, I. (2017). Attention is all you need. Advances in neural information processing systems, 30.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[2] Rumelhart, David E; Hinton, Geoffrey E, and Williams, Ronald J (Sept. 1985). Learning internal representations by error propagation. Tech. rep. ICS 8504. San Diego, California: Institute for Cognitive Science, University of California.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[3] Jordan, Michael I. (May 1986). Serial order: a parallel distributed processing approach. Tech. rep. ICS 8604. San Diego, California: Institute for Cognitive Science, University of California.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[4] Kang, W. C., &amp; McAuley, J. (2018, November). Self-attentive sequential recommendation. In 2018 IEEE international conference on data mining (ICDM) (pp. 197-206). IEEE.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[5] Li, J., Wang, M., Li, J., Fu, J., Shen, X., Shang, J., &amp; McAuley, J. (2023, August). Text is all you need: Learning language representations for sequential recommendation. In Proceedings of the 29th ACM SIGKDD Conference on Knowledge Discovery and Data Mining (pp. 1258-1267).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[6] Kazemnejad, A., Padhi, I., Natesan Ramamurthy, K., Das, P., &amp; Reddy, S. (2023). The impact of positional encoding on length generalization in transformers. Advances in Neural Information Processing Systems, 36, 24892-24928.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[7] Dao, T., Fu, D., Ermon, S., Rudra, A., &amp; R\u00e9, C. (2022). Flashattention: Fast and memory-efficient exact attention with io-awareness. Advances in neural information processing systems, 35, 16344-16359.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Exploramos c\u00f3mo en Nubank usamos modelos fundacionales basados en transformers para convertir transacciones en embeddings con t\u00e9cnicas de NLP, entendiendo mejor a nuestros clientes y mejorando su experiencia.<\/p>\n","protected":false},"author":178110103,"featured_media":32567,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_wpcom_ai_launchpad_first_post":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[778793308,2615,2533,2508,2532],"tags":[778793472,778793466,778793471,778793473,778793474,778793470,778793467,778793475,778793468,778793469],"class_list":["post-32575","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-research-es","category-awards-es","category-culture-values-es","category-data-science-machine-learning-es","category-life-at-nu-es","tag-financial-transaction-embeddings-3","tag-foundation-models-in-finance-3","tag-interface-between-structured-data-and-language-models-3","tag-nlp-applications-in-finance-3","tag-recommender-systems-in-fintech-3","tag-self-supervised-learning-for-financial-data-3","tag-transaction-data-modeling-3","tag-transformer-pretraining-and-fine-tuning-3","tag-transformers-in-fintech-3","tag-user-representation-with-ai-3"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Definiendo una interfaz entre los datos de transacciones y los modelos fundamentales - Building Nubank<\/title>\n<meta name=\"description\" content=\"Exploramos c\u00f3mo en Nubank usamos modelos foundation basados en transformers para convertir transacciones en embeddings con t\u00e9cnicas de NLP, entendiendo mejor a nuestros clientes y mejorando su experiencia.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/building.nubank.com\/es\/definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Definiendo una interfaz entre los datos de transacciones y los modelos fundamentales - Building Nubank\" \/>\n<meta property=\"og:description\" content=\"Exploramos c\u00f3mo en Nubank usamos modelos foundation basados en transformers para convertir transacciones en embeddings con t\u00e9cnicas de NLP, entendiendo mejor a nuestros clientes y mejorando su experiencia.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/building.nubank.com\/es\/definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales\/\" \/>\n<meta property=\"og:site_name\" content=\"Building Nubank\" \/>\n<meta property=\"article:published_time\" content=\"2025-04-22T12:55:31+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-05-14T15:13:01+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-17-at-11.52.19.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1180\" \/>\n\t<meta property=\"og:image:height\" content=\"780\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Nubank Editorial\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Nubank Editorial\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales\\\/\"},\"author\":{\"name\":\"Nubank Editorial\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/#\\\/schema\\\/person\\\/462f4f5a8d4ec3ccbc3d661dde00f0a4\"},\"headline\":\"Definiendo una interfaz entre los datos de transacciones y los modelos fundamentales\",\"datePublished\":\"2025-04-22T12:55:31+00:00\",\"dateModified\":\"2025-05-14T15:13:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales\\\/\"},\"wordCount\":1777,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/building.nubank.com\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/Screenshot-2025-04-17-at-11.52.19.png?fit=1180%2C780&ssl=1\",\"keywords\":[\"Financial Transaction Embeddings\",\"Foundation Models in Finance\",\"Interface Between Structured Data and Language Models\",\"NLP Applications in Finance\",\"Recommender Systems in Fintech\",\"Self-Supervised Learning for Financial Data\",\"Transaction Data Modeling\",\"Transformer Pretraining and Fine-Tuning\",\"Transformers in Fintech\",\"User Representation with AI\"],\"articleSection\":[\"AI Research\",\"Awards\",\"Culture &amp; Values\",\"Data Science &amp; Machine Learning\",\"Life at Nu\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/building.nubank.com\\\/es\\\/definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales\\\/\",\"url\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales\\\/\",\"name\":\"Definiendo una interfaz entre los datos de transacciones y los modelos fundamentales - Building Nubank\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/building.nubank.com\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/Screenshot-2025-04-17-at-11.52.19.png?fit=1180%2C780&ssl=1\",\"datePublished\":\"2025-04-22T12:55:31+00:00\",\"dateModified\":\"2025-05-14T15:13:01+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/#\\\/schema\\\/person\\\/462f4f5a8d4ec3ccbc3d661dde00f0a4\"},\"description\":\"Exploramos c\u00f3mo en Nubank usamos modelos foundation basados en transformers para convertir transacciones en embeddings con t\u00e9cnicas de NLP, entendiendo mejor a nuestros clientes y mejorando su experiencia.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/building.nubank.com\\\/es\\\/definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/building.nubank.com\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/Screenshot-2025-04-17-at-11.52.19.png?fit=1180%2C780&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/building.nubank.com\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/Screenshot-2025-04-17-at-11.52.19.png?fit=1180%2C780&ssl=1\",\"width\":1180,\"height\":780,\"caption\":\"Person working at Nu Office\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Definiendo una interfaz entre los datos de transacciones y los modelos fundamentales\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/#website\",\"url\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/\",\"name\":\"Building Nubank\",\"description\":\"We make the extraordinary happen\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/#\\\/schema\\\/person\\\/462f4f5a8d4ec3ccbc3d661dde00f0a4\",\"name\":\"Nubank Editorial\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8c056170dc75ffd365b306a0ac7bea4e51d1cdab52a0c84e6ba0a42f7e2f4633?s=96&d=identicon&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8c056170dc75ffd365b306a0ac7bea4e51d1cdab52a0c84e6ba0a42f7e2f4633?s=96&d=identicon&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8c056170dc75ffd365b306a0ac7bea4e51d1cdab52a0c84e6ba0a42f7e2f4633?s=96&d=identicon&r=g\",\"caption\":\"Nubank Editorial\"},\"url\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/author\\\/editorial\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Definiendo una interfaz entre los datos de transacciones y los modelos fundamentales - Building Nubank","description":"Exploramos c\u00f3mo en Nubank usamos modelos foundation basados en transformers para convertir transacciones en embeddings con t\u00e9cnicas de NLP, entendiendo mejor a nuestros clientes y mejorando su experiencia.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/building.nubank.com\/es\/definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales\/","og_locale":"es_ES","og_type":"article","og_title":"Definiendo una interfaz entre los datos de transacciones y los modelos fundamentales - Building Nubank","og_description":"Exploramos c\u00f3mo en Nubank usamos modelos foundation basados en transformers para convertir transacciones en embeddings con t\u00e9cnicas de NLP, entendiendo mejor a nuestros clientes y mejorando su experiencia.","og_url":"https:\/\/building.nubank.com\/es\/definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales\/","og_site_name":"Building Nubank","article_published_time":"2025-04-22T12:55:31+00:00","article_modified_time":"2025-05-14T15:13:01+00:00","og_image":[{"width":1180,"height":780,"url":"https:\/\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-17-at-11.52.19.png","type":"image\/png"}],"author":"Nubank Editorial","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Nubank Editorial","Tiempo de lectura":"9 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/building.nubank.com\/es\/definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales\/#article","isPartOf":{"@id":"https:\/\/building.nubank.com\/es\/definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales\/"},"author":{"name":"Nubank Editorial","@id":"https:\/\/building.nubank.com\/es\/#\/schema\/person\/462f4f5a8d4ec3ccbc3d661dde00f0a4"},"headline":"Definiendo una interfaz entre los datos de transacciones y los modelos fundamentales","datePublished":"2025-04-22T12:55:31+00:00","dateModified":"2025-05-14T15:13:01+00:00","mainEntityOfPage":{"@id":"https:\/\/building.nubank.com\/es\/definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales\/"},"wordCount":1777,"commentCount":0,"image":{"@id":"https:\/\/building.nubank.com\/es\/definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-17-at-11.52.19.png?fit=1180%2C780&ssl=1","keywords":["Financial Transaction Embeddings","Foundation Models in Finance","Interface Between Structured Data and Language Models","NLP Applications in Finance","Recommender Systems in Fintech","Self-Supervised Learning for Financial Data","Transaction Data Modeling","Transformer Pretraining and Fine-Tuning","Transformers in Fintech","User Representation with AI"],"articleSection":["AI Research","Awards","Culture &amp; Values","Data Science &amp; Machine Learning","Life at Nu"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/building.nubank.com\/es\/definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/building.nubank.com\/es\/definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales\/","url":"https:\/\/building.nubank.com\/es\/definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales\/","name":"Definiendo una interfaz entre los datos de transacciones y los modelos fundamentales - Building Nubank","isPartOf":{"@id":"https:\/\/building.nubank.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/building.nubank.com\/es\/definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales\/#primaryimage"},"image":{"@id":"https:\/\/building.nubank.com\/es\/definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-17-at-11.52.19.png?fit=1180%2C780&ssl=1","datePublished":"2025-04-22T12:55:31+00:00","dateModified":"2025-05-14T15:13:01+00:00","author":{"@id":"https:\/\/building.nubank.com\/es\/#\/schema\/person\/462f4f5a8d4ec3ccbc3d661dde00f0a4"},"description":"Exploramos c\u00f3mo en Nubank usamos modelos foundation basados en transformers para convertir transacciones en embeddings con t\u00e9cnicas de NLP, entendiendo mejor a nuestros clientes y mejorando su experiencia.","breadcrumb":{"@id":"https:\/\/building.nubank.com\/es\/definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/building.nubank.com\/es\/definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/building.nubank.com\/es\/definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales\/#primaryimage","url":"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-17-at-11.52.19.png?fit=1180%2C780&ssl=1","contentUrl":"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-17-at-11.52.19.png?fit=1180%2C780&ssl=1","width":1180,"height":780,"caption":"Person working at Nu Office"},{"@type":"BreadcrumbList","@id":"https:\/\/building.nubank.com\/es\/definiendo-una-interfaz-entre-los-datos-de-transacciones-y-los-modelos-fundamentales\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/building.nubank.com\/es\/"},{"@type":"ListItem","position":2,"name":"Definiendo una interfaz entre los datos de transacciones y los modelos fundamentales"}]},{"@type":"WebSite","@id":"https:\/\/building.nubank.com\/es\/#website","url":"https:\/\/building.nubank.com\/es\/","name":"Building Nubank","description":"We make the extraordinary happen","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/building.nubank.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/building.nubank.com\/es\/#\/schema\/person\/462f4f5a8d4ec3ccbc3d661dde00f0a4","name":"Nubank Editorial","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/8c056170dc75ffd365b306a0ac7bea4e51d1cdab52a0c84e6ba0a42f7e2f4633?s=96&d=identicon&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/8c056170dc75ffd365b306a0ac7bea4e51d1cdab52a0c84e6ba0a42f7e2f4633?s=96&d=identicon&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8c056170dc75ffd365b306a0ac7bea4e51d1cdab52a0c84e6ba0a42f7e2f4633?s=96&d=identicon&r=g","caption":"Nubank Editorial"},"url":"https:\/\/building.nubank.com\/es\/author\/editorial\/"}]}},"jetpack_shortlink":"https:\/\/wp.me\/pbKBB5-8tp","jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-17-at-11.52.19.png?fit=1180%2C780&ssl=1","_links":{"self":[{"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/posts\/32575","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/users\/178110103"}],"replies":[{"embeddable":true,"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/comments?post=32575"}],"version-history":[{"count":16,"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/posts\/32575\/revisions"}],"predecessor-version":[{"id":33035,"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/posts\/32575\/revisions\/33035"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/media\/32567"}],"wp:attachment":[{"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/media?parent=32575"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/categories?post=32575"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/tags?post=32575"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}