.
Escena 1: Se activa un sistema RAG de unos cientos de páginas de documentos de políticas para un equipo pequeño.
Lo primero que impresiona a todos: se encarga de la paráfrasis. Alguien pregunta “¿cómo cancelo?”, el documento nunca usa la palabra cancelar, usa procedimientos de terminación y el sistema lo encuentra de todos modos. Otro usuario pregunta en francés mientras la póliza está en inglés y regresa a la página correcta. Un error tipográfico aquí, una ortografía fonética allá, no hay problema. Después de unos días, el equipo está realmente impresionado. Lo más parecido a la magia que tiene RAG es estar sentado frente a ellos, y no hizo falta ninguna tabla de sinónimos codificada a mano para que funcionara.
Escena 2: El mismo sistema, dos semanas después.
El usuario pregunta "¿cuál es la norma sobre las horas extras de los contratistas?" El sistema responde "No pude encontrar esa información". El usuario, que resulta ser el experto en negocios que escribió la mitad de este manual, frunce el ceño, abre el PDF, escribe mano de obra no empleada en Ctrl-F y llega al párrafo exacto en tres segundos. La palabra clave correcta no fueron horas extras. Era el término que realmente utiliza el documento. El experto lo sabía; la incrustación no lo hizo. Muy rápidamente, surgen más casos como este. La negación se rompe. Se rompen los números de referencia exactos del contrato. Un código de producto interno devuelve el nivel incorrecto. Nada de esto se puede solucionar cambiando el proveedor de incrustación.
La posición de la serie, expuesta desde el principio: la mayoría de las ganancias en confiabilidad empresarial provienen de un filtrado ascendente sólido (palabras clave de expertos, estructura de documentos), no de un reclasificador apilado sobre una recuperación débil.
La pila clásica clasifica las capas por costo:
similitud de incrustación barata en la parte inferior, un reordenador de codificador cruzado opcional entre ellos, el LLM de finalización de chat en la parte superior.
Ninguno de ellos es mágico; cada uno se rompe de maneras específicas.
Este artículo es una parte del más amplio Entreprise Document Intelligence vol. 1, que construye RAG empresarial ladrillo a ladrillo desde un proceso básico hasta una arquitectura a escala de corpus.
1. Qué incrustaciones de uñas
Antes de los fracasos, ¿en qué impresionan realmente las incrustaciones? Los fracasos sólo tienen sentido en contraste.
Una incrustación convierte un fragmento de texto en un vector. Los textos con términos similares terminan muy cerca en el espacio vectorial.
Una incrustación es una lista de números que captura el significado de un fragmento de texto: una lista más larga puede tener más matices. Las incrustaciones han mejorado con cada generación. Cada caso a continuación se ejecuta en los mismos cuatro modelos, del más débil al más fuerte:
Cargar cada uno es una sola línea. Los dos modelos locales provienen de transformadores de oraciones (pesos de HuggingFace colocados en el disco en la primera llamada); Los dos modelos OpenAI pasan por el cliente API. La misma forma de llamada en los cuatro, devolviendo un vector.
de Sentence_transformers import SentenceTransformer de openai import OpenAI # Modelos locales: pesos descargados de HuggingFace, ejecutados en proceso. guante = SentenceTransformer("average_word_embeddings_glove.6B.300d") # 2014, 300-dim minilm = SentenceTransformer("all-MiniLM-L6-v2") # 2021, 384-dim # Modelos OpenAI: llamados a través de la API. cliente = OpenAI() def openai_embed(texto: str, modelo: str) -> lista[flotador]: devuelve client.embeddings.create(entrada=texto, modelo=modelo).data[0].embedding # Misma forma de llamada en los cuatro; cada uno devuelve un vector de su propia dimensión. v_glove = guante.encode("renovación de política") v_minilm = minilm.encode("renovación de política") v_ada = openai_embed("renovación de política", "text-embedding-ada-002") # 2022, 1536-dim v_large = openai_embed("renovación de política", "text-embedding-3-large") # 2024, 3072-dim
Cada modelo vive en su propio espacio vectorial con su propia distribución de cosenos, por lo que las puntuaciones brutas entre columnas no son comparables. Lo que tiene sentido es la separación dentro de una columna: ¿el objetivo gana contra los señuelos y en qué medida? Ver cómo se amplía la brecha a lo largo del gradiente es la evidencia empírica de que las incrustaciones realmente mejoraron.
La primitiva que utiliza cada tabla de comparación a continuación es la misma: incrustar la consulta y cada candidato con los cuatro modelos, calificar con similitud de coseno, devolver una fila por candidato:
def _cos(u, v): """Similitud de coseno: producto escalar de dos vectores, normalizado por sus longitudes.""" return float(np.dot(u, v) / (np.linalg.norm(u) * np.linalg.norm(v))) def compare_models(consulta, candidatos, destino=Ninguno): qg = guante.encode(consulta) qm = minilm.encode(consulta) qa = openai_embed(consulta, "text-embedding-ada-002") ql = openai_embed(consulta, "text-embedding-3-large") filas =[]para c en candidatos: rows.append({ "candidate": c, "GloVe-avg": _cos(qg, guante.encode(c)), "MiniLM": _cos(qm, minilm.encode(c)), "ada-002": _cos(qa, openai_embed(c, "text-embedding-ada-002")), "3-large": _cos(ql, openai_embed(c, "text-embedding-3-large")), }) devuelve pd.DataFrame(rows).set_index("candidato")
1.1 Proximidad conceptual
car coincide con pasajes sobre vehículos, automóviles, vehículos de motor. Los daños por fuego encuentran pasajes en los daños por humo y abrasadores. La aprobación del gerente coincide con una cláusula sobre la aprobación ejecutiva. El modelo captura el campo semántico, no sólo las palabras superficiales. Esto es lo que hace que las incrustaciones parezcan poderosas: el usuario no tiene que adivinar el vocabulario del documento; la incrustación une el resto.
1.2 Sinónimos y paráfrasis
El número de teléfono coincide con el teléfono. La cancelación de la póliza coincide con una sección titulada procedimientos de terminación. La tarifa coincide con el cargo. El costo mensual coincide con la prima. El vencimiento coincide con la fecha de finalización de la póliza. El médico coincide con el médico, el abogado coincide con el abogado, el automóvil coincide con el vehículo. Tanto palabras sueltas como compuestas de varias palabras. El modelo ha aprendido que dos vocabularios dicen lo mismo, incluida la brecha entre las frases del usuario casual y el lenguaje formal en el que están escritos los documentos. Nadie codificó ese mapeo a mano.
La prueba: consultar cuál es la tarifa mensual frente a un OBJETIVO sinónimo (un cargo fijo de $9,99…), un señuelo de superposición literal (los pagos de la prima vencen mensualmente…, que comparte el token mensual literal) y dos señuelos fuera de tema.
Sólo GloVe-avg cae en el señuelo de superposición literal. El entrenamiento del codificador de oraciones (ya en MiniLM de 2021) es lo que brinda un manejo real de sinónimos. Sin él, gana el candidato que simplemente repite los tokens de la consulta en cualquier orden. Con él, el modelo puentea el cargo ↔︎ aunque las dos palabras no comparten letras. La consulta también se formula como una pregunta (cuál es la tarifa mensual) y el OBJETIVO como una afirmación (un cargo fijo de $9,99…). El manejo de sinónimos es lo que gana aquí. Pero la respuesta real (la cifra básica de $9,99 por sí sola, o Sí para una pregunta de sí/no) no necesariamente ganaría, independientemente de la solidez del modelo. La sección 2.2 lo demuestra directamente.
1.3 Errores tipográficos y ortográficos
Los seguros todavía están integrados cerca de los seguros. polciy todavía encuentra la sección de políticas. El deducible con la vocal incorrecta aún aparece en la página del deducible. Los signos diacríticos eliminados en términos franceses (resiliación sin acento) todavía coinciden con la forma canónica. Los modelos de incrustación modernos se entrenaron en una sopa de texto extraída de la web donde estos errores tipográficos son constantes y han aprendido a absorber el ruido.
Mire las brechas de puntaje, no los puntajes absolutos. GloVe-avg no tiene noción de errores tipográficos. Los tokens mal escritos están fuera del vocabulario, por lo que las incrustaciones colapsan y los cosenos se vuelven negativos. El orden es básicamente aleatorio. Los modelos OpenAI absorben los errores tipográficos limpiamente. La solidez a nivel de personaje es real y crece con la capacidad del modelo.
1.4 Coincidencia multilingüe
Las incrustaciones multilingües colocan premium, prime y Prämie en regiones cercanas del espacio. Lo mismo para deducible/franquicia/Selbstbeteiligung, para reclamación/sinistre/Schadensfall. Una palabra clave en francés recupera un pasaje en inglés sobre el mismo concepto. Para las empresas con corpus en idiomas mixtos (contratos en francés, correspondencia en inglés, cronogramas de políticas en alemán), esto es realmente útil cuando funciona, y en los modelos modernos suele hacerlo.
GloVe fracasa rotundamente: elige Límite de cobertura: 50.000 dólares al año. sobre Prima anual: $1,200. porque el francés annuelle asocia léxicamente con año en su espacio de palabras promedio, y no tiene idea de que primo significa premium. MiniLM técnicamente elige TARGET, pero los cosenos se sitúan alrededor de 0,12, básicamente ruido. ada-002 y 3-large son multilingües por formación, como BGE-M3 y multilingual-e5, y unen claramente el francés al inglés. La elección no es “vector versus palabra clave”, sino “modelo vectorial multilingüe versus uno solo en inglés”.
1.5 Polisemia compuesta
Las palabras polisémicas tienen múltiples significados que el contexto elimina la ambigüedad:
banco (institución financiera/borde del río), reclamo (evento de seguro/aseveración), tienda (verbo: guardar/sustantivo: punto de venta), tarjeta verde (documento de inmigración/una tarjeta de color verde), hot dog (comida/un perro que está caliente).
Cuando un candidato usa la palabra literal en el sentido incorrecto, una incrustación fuerte aún debería elegir la semánticamente correcta. Aquí es también donde el sesgo de token literal de los modelos débiles se muestra más claro: GloVe-avg no puede distinguir las dos lecturas de un compuesto y elige el candidato que comparte la mayor cantidad de tokens con la consulta. Los codificadores de oraciones recuperan progresivamente el sentido correcto, pero la progresión depende de qué tan conocido sea el compuesto en los datos de entrenamiento.
Probamos dos compuestos, primero el fácil y luego el difícil.
Primero, la tarjeta verde, el caso fácil. El sentido de la inmigración está tan atestiguado en los corpus de formación (noticias, textos legales, Wikipedia) que incluso MiniLM resuelve el compuesto. La prueba: consulta de tarjeta verde, tres candidatos. Una paráfrasis del documento de inmigración (TARGET, cero tokens compartidos), una oración en contexto de juego que contiene tanto verde como tarjeta en sentido literal (la trampa) y un señuelo fuera de tema.
Sólo GloVe cae en la trampa. Los modelos de promedio de palabras no tienen noción de que “tarjeta verde” como compuesto se refiere a inmigración. Ven dos tokens, buscan candidatos que compartan esos tokens y gana la trampa del juego. MiniLM ya es suficiente para darle la vuelta, porque el entrenamiento a nivel de oración captura el sentido institucional. ada-002 elige TARGET por un margen cómodo; 3-grande por uno ancho. Este es el tipo de incrustaciones de polisemia que manejan bien, porque la web pública enseña el compuesto en todas partes.
Ahora hot dog, el caso difícil. La misma configuración estructural (un compuesto que también se lee literalmente), pero la lectura literal (un perro caliente) también está fuertemente atestiguada en el texto de entrenamiento. La modelo ha visto muchas frases sobre el clima cálido y los perros. El sentido alimentario y el sentido literal compiten en pie de igualdad, y gana el sesgo simbólico literal de los modelos débiles y medios.
Este es el caso de la sección 1 donde el gradiente del modelo ayuda más. GloVe-avg, MiniLM y ada-002 caen en la trampa. Se aferran a las fichas compartidas de hot + dog a pesar del sentido equivocado. El mismo efecto ya fue visible en GloVe en la sección 1.2 (token mensual literal que supera la tarifa ↔︎ sinónimo de cargo). La polisemia compuesta es el peor de los casos: los tokens literales de la consulta aparecen en el señuelo, por lo que ni siquiera ada-002 puede distinguir los dos sentidos. 3-large es el primer modelo que se recupera: elige la paráfrasis de alimentos por un amplio margen a pesar de que TARGET no comparte tokens con la consulta.
Entonces, la pregunta práctica para su corpus no es "¿existe polisemia?" sino "¿qué tan institucional es la polisemia que tengo?". Un corpus de seguros tiene mucha polisemia compuesta que no está en la distribución de la capacitación pública (manejo de reclamos como verbo en un flujo de trabajo, pool como instrumento de riesgo compartido). En esos, incluso ada-002 se comporta como GloVe se comporta con un hot dog. El modelo clase 2024 es la solución realista; el resto de la serie va tras el estructural.
1.6 Lo que realmente muestran estas victorias y lo que no
El vocabulario de esta sección tiene una cosa en común: es público. El modelo vio tarjeta verde ↔︎ tarjeta de residente permanente, prima ↔︎ prima, póliza → póliza en millones de documentos de capacitación. Las incrustaciones los manejan bien porque la equivalencia está incorporada en los pesos. Lo que la literatura llama la memoria paramétrica del modelo (la parte que “sabe” cosas a partir del entrenamiento, sin ninguna recuperación) está haciendo la mayor parte del trabajo.
Dos consecuencias que vale la pena nombrar antes de continuar.
1. Para estos casos, es posible que no necesite RAG en absoluto. Pregúntele a GPT-4 "¿cuál es otro nombre para la tarjeta verde?" y obtienes la respuesta sin recuperación. La parte paramétrica del modelo ya la conocemos. RAG gana su lugar exactamente donde la parte paramétrica no lo hace: hechos que no están en la web pública, cláusulas contractuales que no se generalizan, códigos de producto internos que el modelo nunca vio. La sección 1 utilizó vocabulario bien conocido para que las demostraciones sean reproducibles y se lean claramente. Production RAG no se utiliza para responder a estas preguntas.
2. Las victorias de la sección 1 no se transfieren al vocabulario empresarial. Una compañía de seguros tiene ShieldPro Elite (un nivel de producto), pool (un instrumento de riesgo compartido, no un pool), mano de obra no empleada (la palabra del contrato para contratista), citas regulatorias como el Artículo 7 de Solvencia II. Nada de esto está en la distribución de capacitación del modelo. En términos empresariales, las incorporaciones fracasan de la misma manera que GloVe falla con el hot dog, porque el sentido institucional que la incorporación necesitaría recuperar no está institucionalizado en ningún lugar fuera de esa empresa.
La solución no es un modelo de integración más grande. La solución es el experto que conoce el vocabulario, codificado como un diccionario de palabras clave (la sección 3.3 desarrolla esto). La sección 2.1 concreta el fallo en el ejemplo de la piscina.
La sección 2 cataloga las fallas estructurales. Léalos teniendo esto en cuenta: cada uno de ellos es la regla, no la excepción, en los corpus empresariales.
2. Dónde se rompen y por qué
Las habilidades de la sección 1 son reales; Los fallos que aparecen a continuación son igualmente reales, igualmente reproducibles y persisten en los cuatro modelos. Un modelo más grande no mueve el ranking. La solución es arquitectónica, no “elegir una incrustación más fuerte”.
La sección 1.6 ya planteó la respuesta obvia (“para estos casos, pregúntele directamente al LLM”). A escala de corpus que no escala: un corpus de 200k documentos no puede pasar por un LLM en cada consulta. Primero debe darse algún paso de recuperación. El canal principal acumula un reranker entre las incorporaciones y el LLM; La respuesta de la serie es el filtrado ascendente a través de palabras clave expertas y estructura de documentos (artículos 6, 7, 9). De cualquier manera, las fallas catalogadas a continuación aplican para la etapa de incrustación. Ninguna de estas capas es mágica.
2.1 La ruptura más simple: el término no está en el modelo
Antes de los fallos estructurales, el más básico. La sección 1.6 lo dijo en palabras. Aquí está la demostración.
Toma piscina. En un contrato de seguro, el fondo común es un instrumento de riesgo compartido: un grupo de asegurados que colectivamente absorben pérdidas a través de primas agregadas. En inglés general, piscina es una masa de agua en la que se nada. Dos sentidos de la misma palabra, con una marcada diferencia: el sentido de natación está en todas partes en la web pública; El sentido del conjunto de riesgos está enterrado en libros de texto actuariales, presentaciones regulatorias y tratados de reaseguro que el modelo apenas vio en el momento de su formación.
La prueba refleja la configuración del hot dog de la sección 1.5, con un giro. Consulta el grupo de palabras desnudas. Tres candidatos: una paráfrasis de natación (el sentido público, sin ficha de piscina en la oración), una paráfrasis de reaseguros que utiliza la jerga real de la industria (el sentido especializado, tampoco ficha de piscina), y una oración de control aleatoria sobre la salida de un tren (sin ficha de piscina, sin conexión de seguro, sin natación).
La paráfrasis de natación gana en todos los modelos, por un amplio margen (0,353 a 0,843 coseno, según el modelo). La paráfrasis de reaseguro, escrita en un vocabulario genuino de la industria, se ubica por debajo del control aleatorio de salida de trenes en tres de los cuatro modelos. Incluso ada-002, el caballo de batalla de la mayoría de las implementaciones de RAG empresariales, sitúa el horario del tren 0,010 por delante de la sentencia del especialista. Sólo 3 grandes le dan al especialista una elevación de 0,006 sobre el control, muy por dentro del ruido de la medición.
Éste es el modo de fallo más directo que existe: el espacio de incrustación simplemente no codifica el sentido especializado de grupo. Un reranker apilado encima no ayudaría, porque las puntuaciones de los candidatos que reevaluaría son en sí mismas ruido. Un modelo de integración más grande no ayudaría, porque el modelo que vio la piscina un millón de veces y el grupo de reaseguro tal vez cien veces seguirá ponderando el sentido de la natación.
De hecho, la piscina es un caso OOV suave: el sentido de natación y el sentido de riesgo comparten un registro y 3 grandes captan alguna señal. Los casos más difíciles son términos OOV estrictos: ShieldPro Elite (un nivel de producto ficticio), Artículo 7 de Solvencia II (una cita regulatoria real), ZRX-2025 (un código de producto interno). Para estos, la incrustación no tiene ningún anclaje. El modelo los trata como cadenas de bytes aleatorias; clasificarlos frente a cualquier otro texto es un lanzamiento de moneda sesgado por peculiaridades de la tokenización.
La solución es el experto que conoce el vocabulario, codificado como un diccionario de palabras clave. La sección 3.3 desarrolla el flujo de trabajo.
El resto de la sección 2 analiza las fallas estructurales que aparecen incluso cuando el término está en el modelo. El caso del pool es el descanso más simple que viene primero.
2.2 La ruptura estructural: similitud de términos, no relevancia de respuesta
La sección 2.1 cubrió el caso en el que el término simplemente no está en el modelo. El resto de la sección 2 cubre el caso en el que el término está en el modelo y la incorporación aún da una respuesta incorrecta. Esos fracasos comparten una raíz estructural. Una incrustación ve el texto y lo clasifica según la similitud de términos. No representa en absoluto la relación pregunta-respuesta. Dos de las consultas más simples que puedes hacer hacen que esto sea concreto. No son casos extremos empresariales, son las preguntas más generales del mundo.
“Sí” es la respuesta correcta a una pregunta de sí o no. Nunca gana. La copia literal del sustantivo de la consulta sí lo hace. En todos los modelos del 2014 al 2024.
Una sutileza que vale la pena mencionar. Este fallo en particular es menos perjudicial en la práctica de lo que parece. Para una pregunta de sí o no, lo que realmente queremos de la recuperación no es la palabra literal sí. Queremos la evidencia sobre el tema: la página donde vive la regla. El LLM de la fase de respuesta produce sí/no a partir de esa evidencia. Por lo tanto, es posible que sea necesario extraer Terminación o Terminación. (los partidos de actualidad) en lugar de Sí, es posible. está más cerca del comportamiento correcto de lo que sugiere el veredicto de la demostración. El principio que sigue apareciendo en el artículo también está aquí: la fase de recuperación no es la fase de respuesta, y deben separarse y optimizarse como dos pasos distintos. Los artículos 6, 7 y 8 desarrollan la separación.
El error es más agudo en el siguiente ejemplo, donde la recuperación realmente necesita encontrar la línea que contiene la respuesta.
Ahora el dato más claro del mundo: “¿Cuál es la capital de Francia?” En Internet se ha dicho “París es la capital de Francia” millones de veces. Si el mapeo de preguntas y respuestas apareciera en cualquier lugar de cualquier espacio de incrustación, aquí es donde aparecería.
París nunca es el número uno. En tres de los cuatro modelos (GloVe, ada-002, 3-large), el ganador es Capital of Italy, el candidato que comparte la frase literal Capital of con la consulta. En MiniLM gana un señuelo diferente: Francia está en Europa, porque comparte el token Francia. Diferentes señuelos, misma causa raíz: similitud de temas, no relevancia de respuestas. Pasar de un modelo de bolsa de vectores de palabras de 2014 con 300 atenuaciones a un modelo OpenAI de 2024 con 3072 atenuaciones no cambia la trampa. Para una pregunta factoidal, la recuperación debe buscar la línea que contiene la respuesta. En cambio, cada modelo elige la línea que coincide por tema con el vocabulario de la consulta.
Un segundo matiz que vale la pena mencionar. Los modelos de incrustación modernos se entrenan en pares de preguntas y pasajes (MS MARCO, Natural Question, BEIR). Esto acerca un poco más los pasajes que contienen respuestas a las preguntas que responden. El sesgo existe. Es débil. En aspectos muy generales, a veces la decisión se invierte. En el vocabulario especializado que el modelo nunca vio en la capacitación (códigos internos de productos, terminología de expertos, jerga de contratos), el sesgo desaparece. La similitud de temas vuelve a dominar.
Las secciones siguientes catalogan esta causa raíz en cuatro formas concretas de falla (negación, magnitudes, proximidad tópica, dilución de la señal) además de un estudio de los casos obvios. Cada uno es el mismo mecanismo aplicado a un tipo de consulta diferente.
2.3 Negación
Una pregunta de negación invierte la relación lógica: el usuario quiere el candidato que es el complemento del tema, no el candidato más cercano al tema. Las incrustaciones no pueden hacer eso. Miden la proximidad actual, no la complementación lógica. Cuanto más dura sea la prueba, más claro será el fracaso.
Consulta: “¿Qué NO es una ciudad?” Cuatro candidatos: tres son entidades reales (dos ciudades específicas + la palabra literal Ciudad) y uno es Tabla, un objeto mundano que resulta ser el único candidato que responde correctamente a la pregunta.
Todos los modelos fallan de la misma manera. Los candidatos que coinciden con el tema (Ciudad, París, Nueva York) se ubican en la cima, y Table, el único candidato que realmente responde la pregunta, queda en último lugar. La palabra de consulta NOT casi no transmite ninguna señal en el espacio de incrustación: la incrustación ve una bolsa que contiene "ciudad" y clasifica todo lo relacionado con la ciudad por encima de cualquier cosa que no lo esté. La solución no es un modelo de integración más sólido. Es un paso que detecta la negación en el momento del análisis de la pregunta e invierte la recuperación (artículo 6).
"Claro, pero ningún usuario real escribe una consulta de negación". Una objeción razonable que se mantiene por un momento y luego se interrumpe en la producción. Los usuarios no plantean “¿qué NO es una ciudad?” Plantean "¿cuál es el monto de la prima de esta póliza?" El sistema devuelve el deducible por error. El usuario, frustrado, naturalmente intenta corregir: “Quiero el monto de la prima, no el deducible”. Esa segunda consulta es una negación y es exactamente el momento en que un usuario empresarial real escribe una.
El instinto es razonable: un lector humano no lo trata como una exclusión. La incrustación hace lo contrario. Al agregar deducible a la consulta, incluso con el prefijo not, la incorporación acerca las líneas que contienen deducibles, no más. La corrección del usuario hace que el error sea estrictamente peor que la consulta original.
Este es el principio más amplio que sigue surgiendo en la sección: la pregunta cruda nunca es la información correcta para el perro perdiguero. La solución es previa, en el análisis de la cuestión: la negación se detecta, se elimina de la prosa, se codifica como un filtro de exclusión estructurado y se aplica después de la recuperación, no se integra con el resto de la consulta. Las secciones 3.2 y 3.3 regresan a este punto con una versión positiva: lo que el recuperador realmente consume es una representación estructurada (palabras clave, filtros, exclusiones), no la oración de forma libre del usuario.
2.4 Magnitudes y umbrales
Comparaciones numéricas, fechas, montos de contratos, saldos de cuentas. Cualquier cosa donde la respuesta dependa del valor mismo. Tome una versión simplificada: la consulta encuentra un valor superior a 1 millón, cuatro candidatos que son cantidades básicas.
Cada modelo elige 1M, el candidato que iguala el umbral pero no lo excede estrictamente. La victoria es pura coincidencia léxica: el token literal de 1 millón se encuentra en la consulta. 3B, el único candidato que realmente responde la pregunta, aterriza en el puesto 4 (último) tanto en ada-002 como en 3-grande. La incrustación no tiene concepto de magnitud. Ve 1M al lado de 1M y eso gana.
Esto se generaliza a cualquier comparación de valores o pregunta de umbral: umbrales monetarios, fechas (“después de 2020”), duraciones (“más de 30 días”), recuentos. Las incrustaciones son malas en esto casi por diseño: comprimen el significado en vectores densos, y la señal discriminante (el valor en sí, o el operador que selecciona entre valores) es exactamente lo que la compresión destruye. La solución es bien conocida: BM25/indexación de texto completo para la coincidencia léxica, además de un paso de análisis de preguntas que elimina al operador y el umbral como campos estructurados (Artículo 6) para que un filtro posterior pueda hacer la comparación.
2.5 Proximidad temática versus relevancia de la respuesta
Pregunta del usuario: "¿Quién firmó el contrato?" El corpus tiene un pasaje que describe cómo se deben firmar los contratos (representante autorizado, requisitos de firma) y un pasaje con la firma real (“Firmado: John Smith, Director de marketing, con fecha del 15 de marzo de 2025”). El primer pasaje habla de firmar; el segundo es la firma. ¿Cuál gana?
Ésta es la falla estructural que el gradiente del modelo no soluciona. La incorporación de similitud mide la proximidad temática, no la relación entre pregunta y respuesta. Una página que habla sobre un tema a menudo obtendrá una puntuación más alta que una página que responde una pregunta sobre ese tema. Las definiciones superan a los valores. Las secciones de antecedentes superan a las conclusiones. Los procedimientos superan a los casos concretos que describen.
Tres de los cuatro modelos confirman el patrón aquí (GloVe, ada-002, 3-large). MiniLM es la excepción: su entrenamiento de pares de oraciones empuja la fraseología de respuesta concreta ligeramente más arriba que la fraseología de densidad procesal. El patrón es estable en los otros tres y se reproduce en la mayoría de los pares de factoides contra procedimientos que hemos probado.
2.6 Dilución de la señal en un contexto largo
Las pruebas anteriores utilizaron candidatos de aproximadamente la longitud de la consulta. Las páginas de corpus reales no lo son. Una página real tiene entre 300 y 500 palabras, está llena de detalles y la respuesta a una pregunta específica está oculta en una oración en algún punto intermedio. Cuando se incrusta toda la página como un único vector, la señal de esa línea que contiene la respuesta se promedia con todo lo demás, y la incrustación a nivel de página se desplaza hacia el centroide del ruido circundante.
La forma más clara de ver esto es un experimento de una variable. Mantenga fija la oración de respuesta. Antepóngalo con un número cada vez mayor de sentencias de cadena perpetua en la oficina no relacionadas (horario de oficina, reglas de estacionamiento, texto estándar de recursos humanos, nada sobre deducibles o daños por agua). Califique contra un candidato de control fijo que no comparte ningún término específico con la consulta, simplemente vive en el mismo vocabulario amplio de seguros/reclamaciones.
Consulta: deducible por reclamos por daños por agua Respuesta (variada): Para reclamos por daños por agua, el deducible estándar es de $500. precedido de N ∈ {0, 1, 2, 4, 8, 16} oraciones no relacionadas Control (constante en N): Las reclamaciones deben incluir fotografías, estimaciones de reparación e informes policiales cuando corresponda.
Cada modelo falla a su debido tiempo, pero todos fallan. GloVe colapsa inmediatamente porque el promedio de la bolsa de palabras arrastra la incrustación hacia el ruido después de una sola oración. MiniLM aguanta cuatro oraciones antes de que su representación codificadora de oraciones se dé por vencida. ada-002 y 3-large, ambos modelos OpenAI 2022+ entrenados en pares de preguntas y pasajes, son los que duran más, pero cuando el candidato tiene 144 palabras (ocho oraciones no relacionadas), la respuesta correcta se ubica por debajo de un candidato que no contiene las palabras deducible, agua o daño en absoluto. Incorporar una página de 300 palabras es la versión de producción de "respuesta + 16 oraciones ruidosas".
Esta es la razón por la que los canales de producción que se integran a nivel de página con frecuencia pierden la página correcta, incluso cuando la respuesta está realmente en ella. El vector de página tiene un promedio de 300 a 500 palabras de ruido temático alrededor de una o dos líneas con respuestas. La sección 3.1 es la solución arquitectónica: incrustar línea por línea, no página por página. Solo agregue a la página cuando la generación necesite el contexto circundante. La línea derecha en una página ruidosa vuelve a ser localizable porque su incrustación no se promedia con todo lo demás.
2.7 Los casos obvios (no se necesita demostración)
Algunos tipos de consultas rompen las incrustaciones tan claramente que una comparación de cuatro modelos simplemente repetiría el mismo resultado. Se enumeran aquí para que estén completos y para aclarar un punto más amplio: ninguna actualización integrada los rescata. La solución se realiza en sentido ascendente (análisis de preguntas, artículo 6) o en una herramienta completamente diferente (BM25, filtro de metadatos, canal de agregación).
Identificadores OOV y jerga interna: referencias de contratos (Sección 4.2.1), citas regulatorias (GDPR Art. 17.3), números de factura, ID de boletos, nombres de productos internos (ShieldPro Elite, SAP-MRP, KPI-Q4-V3). La incrustación las trata como secuencias opacas y no puede clasificarlas semánticamente. Solución: BM25 o un índice de coincidencia exacta para la búsqueda, además de un glosario que asigna alias a términos canónicos (ShieldPro Elite → plan para propietarios de viviendas de primer nivel) mantenidos como palabras clave expertas (Artículo 6). Composición booleana: “documentos revisados por Alice pero no por Bob”, “reclamaciones con daños y testigos”. El promedio de bolsa de palabras borra los operadores lógicos. Solución: analice la pregunta en un filtro estructurado (Artículo 6) y aplíquelo después de la recuperación. Conteo y agregación: “¿Cuántos contratos firmó Alice?”, “Enumere todas las reclamaciones abiertas”. Las incrustaciones devuelven un pasaje muy similar; una respuesta de conteo necesita un análisis completo o una consulta de estilo SQL sobre un índice. Solución: diríjalos a una canalización de agregación (artículos 15 a 20). Predicados temporales: “la última versión”, “reclamaciones presentadas después de 2020”, “pólizas que vencen antes de diciembre”. Las incrustaciones no representan orden temporal. Solución: extraiga el filtro temporal en el momento del análisis de preguntas y aplíquelo como filtro de metadatos en el índice. Razonamiento de saltos múltiples: "¿Quién es el gerente de la persona que firmó el contrato X?" Cada salto es una recuperación separada; la incrustación te da una oportunidad. Solución: una cadena agente o un recorrido de gráfico sobre un corpus indexado correctamente.
El patrón es consistente. Cuando una incrustación falla claramente, la respuesta rara vez es "comprar un modelo de incrustación más grande". Se trata de "sacar la consulta del carril de incrustación y colocarla en la herramienta adecuada".
2.8 Mismas grietas a escala de página (documento real)
Los cuatro fallos anteriores se demostraron en candidatos escritos a mano. Aparecen de manera idéntica cuando la recuperación se realiza página por página en un documento real. Incorporamos cada página de Attention Is All You Need (Vaswani et al. 2017; licencia de distribución no exclusiva de arXiv, declarada en la página de resumen de arXiv; 15 páginas) y ejecutamos tres preguntas; cada uno muestra una patología de clasificación diferente en la granularidad de la página.
Lo que muestra cada resultado.
Q1, apenas gana. Tres páginas con una diferencia de 0,01 entre sí; la página de la derecha (página 7, donde se encuentra la fórmula de la tasa de aprendizaje de Adam) gana por 0,007. Ese es el margen de la suerte, no el de la recuperación. Una variante de la sección 2.5 (proximidad temática) agravada por la fragilidad general de la clasificación. Q2, el top 3 nos salva. La página 8 supera a la página 9, pero la respuesta (Tabla 3, la fila d_k de la ablación) se encuentra en la página 9. Los 3 primeros son suficientes; El top 1 habría fracasado silenciosamente. Mismo estilo que la sección 2.4 (valores exactos dentro de una tabla numérica). Q3, fracaso total. La página de respuestas (página 8, ε_ls = 0,1) queda completamente fuera del top 3. En su lugar, se cuela la página 15 (con oraciones de ejemplo llenas de símbolos ε en fórmulas). Esta es la sección 1.5 (polisemia compuesta) que se activa en ε: la incrustación no puede distinguir entre ε del optimizador Adam (página 7), ε_ls del suavizado de etiquetas (página 8) y ε de fórmulas no relacionadas (página 15).
Mismas categorías de fallas, ampliadas a un documento real. La solución es la misma que se desarrolla en la sección 3.
3. Cómo utilizarlos realmente
La sección 1 mostró cómo impresionan las incrustaciones. La sección 2 mostró dónde se rompen, con dos raíces distintas: cuando el término simplemente no está en el modelo (sección 2.1) y cuando el término está en el modelo pero la similitud del término no es relevante para la respuesta (secciones 2.2 en adelante). La siguiente pregunta natural: dado esto, ¿cómo los utilizamos realmente en la producción?
Cuatro secciones. Sección 3.1: el modelo mental correcto (búsqueda tolerante a sinónimos a nivel de línea). Sección 3.2: el truco que cierra la brecha entre preguntas y respuestas no se trata realmente de incrustaciones, sino de extraer las palabras clave que contendría la respuesta. Sección 3.3: el flujo de trabajo de producción que hace que ambos funcionen, al descubrir el vocabulario del corpus con expertos, codificarlo en un diccionario de palabras clave y luego ejecutar la recuperación específica en la parte superior. Sección 3.4: el caso especial de corpus con mucho sentimiento (comentarios de recursos humanos, encuestas a clientes, tickets de soporte), donde el mismo mecanismo de descubrimiento se aplica al vocabulario emocional.
3.1 El reencuadre: búsqueda tolerante a sinónimos a nivel de línea
La forma más sencilla de comprender qué son las incrustaciones: la búsqueda vectorial es la búsqueda de palabras clave que maneja sinónimos, errores tipográficos y otros idiomas, aplicados línea por línea. No es magia. No se trata de "comprensión semántica a nivel de página". En una sola línea, el modelo trata la cancelación y la terminación como cercanas. Absorbe la política como política. Une Prime y Premium entre idiomas. Cada partido que funcionó en la sección 1 funcionó por este motivo.
Cuando incrustas una página completa en un solo vector (la sección 2.6 lo mostró directamente), la señal de una línea buena se promedia con el resto, y la línea correcta se esconde dentro de una página que principalmente habla de otras cosas. Así que incruste línea por línea. Solo agregue a la página cuando la generación necesite el contexto circundante.
La incrustación a nivel de página todavía gana su lugar en algunos casos: cuando ninguna línea contiene la palabra clave (la página trata sobre seguros de automóvil pero nunca usa esa frase), cuando el tema está implícito en el vocabulario circundante (página médica que menciona A1C / insulina / azúcar en la sangre pero nunca diabetes), cuando el estilo o el registro importan, cuando el título es genérico (“Notas”, “Sección 5”). Fuera de esos casos, el nivel de línea gana casi siempre.
La siguiente demostración lo hace concreto en un papel real. Las secciones anteriores incluyeron candidatos breves escritos a mano. Aquí incorporamos cada línea del documento La atención es todo lo que necesita (15 páginas, ~1000 líneas) y realizamos búsquedas mediante un ancla de palabra clave corta. Los resultados top-K son líneas, con su página y número de línea. Puede leer cada coincidencia y ver por qué coincide: la palabra clave del ancla o una paráfrasis clara está ahí en el texto.
Cinco operaciones además de pandas y numpy: codificar la consulta, apilar las incrustaciones de líneas en una matriz, calcular el coseno por lotes en un matmul, ordenar por similitud, devolver el top-k. Sin base de datos vectorial, sin marco, sin infraestructura. El "almacén de vectores" es una columna de DataFrame más un producto escalar numeroso.
def top_lines_for(question: str, line_df: pd.DataFrame, k: int = 10) -> pd.DataFrame: """Clasifica cada línea por similitud de coseno con `question`. Devuelve el top-k.""" q_vec = get_embedding(question, client=client) line_matrix = np.vstack(line_df["embedding"].values) sims = line_matrix @ q_vec / ( np.linalg.norm(line_matrix, axis=1) * np.linalg.norm(q_vec) ) return ( line_df.assign(similarity=sims) .nlargest(k, "similitud")[["page_num", "line_num", "similitud", "texto"]] .reset_index(drop=True) )
Dos cosas que aprender de la demostración de nivel de línea.
1. Las líneas coincidentes muestran literalmente por qué coincide cada una. Sin magia, sin opacidad en la clasificación. Cada resultado principal contiene la palabra clave del ancla o una paráfrasis clara de la misma. Esto es incrustación a nivel de línea en una frase: un Ctrl-F difuso y tolerante a sinónimos sobre el documento.
2. La línea coincidente es un ancla, no el pasaje que envías a la generación. La línea es algo pequeño que el perro perdiguero puede localizar con confianza. El pasaje que va al LLM suele ser más grande: el párrafo circundante, la sección y, a veces, la página completa. El artículo 7 desarrolla esto como un patrón de dos pasos: detectar anclajes primero (nivel de línea, nivel de palabra clave, nivel de estructura), luego elegir un pasaje alrededor de cada anclaje según lo que necesita la pregunta. Recuperación dirigida = N pequeña alrededor de un ancla afilada, no 30 páginas borrosas lanzadas al LLM.
3.2 HyDE: busca lo que contendría la respuesta, no la pregunta
La sección 2.2 mostró que las incrustaciones no ven preguntas; ven similitud de términos. La respuesta natural: dejar de formularle la pregunta al perro perdiguero. En su lugar, envíele un texto que se parezca a la respuesta. Esa es la idea detrás de HyDE (Incrustaciones de documentos hipotéticos). Escriba (o haga que un LLM escriba) una oración que responda de manera plausible a la pregunta, en el vocabulario que usaría el documento, e inclúyala. El recuperador compara el vector de respuesta hipotética con el corpus.
El punto que todos señalan sobre HyDE es el lado de la incrustación: "la consulta reescrita aterriza en el vecindario del documento en lugar del del usuario". Eso es cierto y ayuda. Pero el valor real de HyDE, especialmente en contextos empresariales, se encuentra en un nivel diferente. Escribir una respuesta hipotética también es un paso de extracción: muestra las palabras clave que contendría la respuesta. “Procedimientos de rescisión”, “derechos de rescisión”, “tarifa de cancelación”. Estas son las palabras que anclan la búsqueda, ya sea que el recuperador esté basado en vectores o en palabras clave.
Por qué HyDE funcionó aquí y qué funcionó realmente. La consulta sin formato dice cancelar. La línea de destino dice rescisión y terminación. Cero tokens de contenido compartido. Tres señuelos léxicos en el grupo de candidatos repiten cada uno la cancelación/cancelación varias veces, y juntos empujan al objetivo formal hacia abajo hasta el puesto número 4. La reescritura de HyDE es una respuesta ficticia que contiene rescisión, rescisión, notificación por escrito, renovación, el vocabulario exacto que utiliza el objetivo. Una vez que esos tokens ingresan al lado de la consulta, la clasificación cambia y el objetivo sube al puesto número 1.
El factor dominante son las palabras clave que contiene la reescritura. La coincidencia de registros (el tono declarativo formal de la reescritura se alinea con el registro del documento) y las asociaciones semánticas latentes de la formación del LLM contribuyen con efectos de segundo orden más pequeños (el artículo 6 los descompone en profundidad); en corpus empresariales delimitados por vocabulario, estos no modifican el resultado. Ejecute una búsqueda de palabras clave en el conjunto de términos {rescisión, terminación, notificación por escrito, renovación} y obtendrá el mismo objetivo sin ningún pase de incrustación.
HyDE es una expansión implícita de palabras clave dirigida a través de un paso de incrustación. El LLM escribe una respuesta hipotética completa, el sistema la incorpora y el recuperador recorre el coseno sobre el corpus. Todo ese trabajo para inyectar un puñado de palabras clave en la consulta. Dos caminos más simples hacen el mismo aumento de vocabulario, explícitamente:
Solicite al LLM las palabras clave directamente. Una pregunta: "¿Qué términos contendría la respuesta a esta pregunta en un contrato de seguro típico?" Salida: rescisión, rescisión, notificación escrita, renovación. Úselos en la búsqueda de palabras clave. Sin documento ficticio, sin incrustaciones, sin coseno. Pídale al experto que le entregue el diccionario. Los abogados, los ajustadores de reclamaciones y los funcionarios de cumplimiento ya saben que la cancelación en el vocabulario del usuario equivale a la rescisión en el vocabulario del contrato. Codificar ese mapeo una vez es duradero; pedirle al LLM que lo redescubra en cada consulta es un desperdicio.
Ambos caminos superan al oleoducto HyDE en tres frentes. Auditabilidad: las palabras clave coincidentes son visibles para el equipo y para un regulador; una puntuación de coseno de 0,83 no lo es. Latencia: una llamada LLM, sin inserción de ida y vuelta por consulta. Durabilidad: las palabras clave persisten en un diccionario y se pueden reutilizar en todas las consultas; HyDE regenera la hipótesis desde cero cada vez. El artículo 6 (Análisis de preguntas) formaliza esto como el diccionario experto explícito de palabras clave que crece con el corpus.
Consumidor versus empresa. En corpus en forma de consumidor (preguntas frecuentes sobre seguros generales, ayuda sobre comercio electrónico, formularios de servicio público), el LLM ha visto mucho texto de capacitación en el registro correcto, por lo que su suposición de palabras clave suele ser decente. HyDE funciona sin un experto en el circuito. En cuanto a los corpus empresariales (códigos internos de productos, citas regulatorias, jerga contractual, acrónimos personalizados), el LLM recurre a jerga legal genérica (“…se describirá en los términos y condiciones…”) y omite el vocabulario real del documento. El experto ya conoce ese vocabulario. Pedirle al LLM que adivine lo que el experto puede ofrecerle en cada consulta es el camino lento.
3.3 La respuesta de producción: descubre palabras clave con expertos
El consejo estándar (“usar incrustaciones para la recuperación semántica”) es demasiado vago. Una pregunta más aguda es ¿cuándo se ganan realmente su lugar en el proceso? Cuatro respuestas, cada una apuntando a un lugar diferente.
¿Ya conoces las palabras clave adecuadas? Utilice la búsqueda por palabras clave. Es más rápido, más barato, auditable y no opaco como lo es una coincidencia de vectores. Si un regulador pregunta por qué se recuperó un pasaje en particular, “la línea contiene fuerza mayor y pandemia” es una respuesta defendible. "La similitud del coseno era 0,83" no lo es.
¿Errores tipográficos en la consulta? Corrija la consulta. Una sola llamada de LLM corrige la política a la política y volverá a realizar una búsqueda limpia de palabras clave. No se requiere tubería de incrustación.
¿Errores tipográficos en los documentos? Ahora las incrustaciones realmente ganan su lugar. Contratos con OCR, formularios escaneados, notas mecanografiadas a mano. La búsqueda de palabras clave literalmente no puede coincidir con un token mal escrito, pero una incrustación a nivel de línea aún llega al vecindario correcto. Este es el caso en el que la búsqueda de vectores es estructuralmente irremplazable.
¿Corpus multilingüe? Misma respuesta, diferente mecanismo. Contratos en francés, correspondencia en inglés, anexos reglamentarios en alemán. Una incrustación multilingüe permite al usuario realizar consultas en un idioma y mostrar líneas de los demás. prime annuelle encuentra Prima anual: $1,200. (la sección 1.4 lo mostró). Mantener a mano diccionarios bilingües de palabras clave es posible pero costoso; la incorporación multilingüe une los idiomas de forma gratuita y el experto mantiene el diccionario funcionando en un idioma con incorporaciones como respaldo entre idiomas. Requiere un modelo multilingüe: ada-002, 3 grandes, trabajo BGE-M3; Los codificadores de oraciones GloVe y solo en inglés no lo hacen.
¿Sinónimos específicos de su empresa que aún no conoce? Este es el caso más relevante para la producción y donde las incorporaciones son más útiles: como mecanismo de descubrimiento, no como el recuperador en sí.
La razón importa. En los corpus legales, médicos, de seguros y financieros, los sinónimos significativos no son sinónimos del diccionario. Fuerza mayor y caso fortuito significan lo mismo en un contrato, pero el modelo de incrustación no lo sabe. No son vecinos léxicos ni vecinos de espacio de incrustación. Son equivalencias específicas de negocios que sólo los expertos (abogados, ajustadores de reclamos, funcionarios de cumplimiento) conocen.
Pares concretos entre dominios. Cómo se ven los “sinónimos de dominio” en la práctica:
Contratos de seguro: cancelación ↔︎ rescisión, extinción, caducidad de la cobertura, renuncia de la póliza. deducible ↔︎ exceso (Reino Unido), franquicia (FR). reclamación ↔︎ notificación de pérdida, informe de incidente. tomador del seguro ↔︎ asegurado, asegurado, parte nombrada. Registros médicos: azúcar en sangre ↔︎ glucemia, A1C, HbA1c, glucosa plasmática en ayunas. ataque cardíaco ↔︎ infarto de miocardio, infarto de miocardio, evento coronario agudo. presión arterial alta ↔︎ hipertensión, lectura elevada de PA. Cláusulas legales y contractuales: fuerza mayor ↔︎ caso fortuito, circunstancias fortuitas, acontecimientos fuera de control razonable. no competencia ↔︎ pacto restrictivo, cláusula de restricción de comercio. confidencialidad ↔︎ no divulgación, NDA, cláusula de información de propiedad. RRHH y empleo: despido ↔︎ cese del contrato de trabajo, separación, evento de indemnización. salario ↔︎ remuneración, salario base, remuneración bruta. Acoso ↔︎ conducta no deseada, ambiente hostil, comportamiento inapropiado.
Ninguno de estos alias son sinónimos de diccionario en el sentido habitual. Son equivalencias de dominios específicos validadas por un asegurador, un médico, un abogado contratado, un profesional de recursos humanos. La incrustación los encuentra como candidatos; el experto dice sí o no. Fuerza mayor equivale a un acto fortuito sólo si usted sabe que así es.
HyDE hace esto implícito (el LLM inventa el vocabulario probable del documento sobre la marcha, la sección 3.2 mostró dónde se queda corto). La serie lo hace explícito: un diccionario de palabras clave seleccionado y mantenido por expertos en el dominio.
# Bucle de descubrimiento. Un corpus, términos iniciales que el experto ya conoce. # La misma primitiva `top_lines_for` de la sección 3.1: no hay infraestructura nueva. SEED_TERMS = ["cancelación", "deducible", "reclamo", "titular de la póliza"] draft_aliases = { seed: top_lines_for(seed, corpus_lines, k=10) for seed in SEED_TERMS } # Cada borrador son las frases del corpus top-k más cercanas a la semilla. # Mano al experto: se quedan con los alias reales, descartan las coincidencias. validado_diccionario = { "cancelación": ["rescisión", "terminación", "lapso de cobertura", "rendición de la póliza"], "deducible": ["exceso", "franquicia"], "reclamo": ["notificación de pérdida", "informe de incidente"], "titular de la póliza": ["asegurado", "asegurado", "parte nombrada"], } # La recuperación de producción llega directamente a este diccionario. No se puede incrustar el número de llamada en la ruta activa; la incrustación solo se ejecutó una vez, en el momento del descubrimiento.
Los resultados, sobre un pequeño corpus asegurador. Ejecute la cancelación de semillas en siete líneas candidatas (cuatro alias reales, tres señuelos fuera de tema) y los cuatro alias llegarán a la cima.
El patrón es el flujo de trabajo de descubrimiento en funcionamiento. El modelo enumera candidatos clasificados por similitud. El experto los lee, mantiene la rescisión, terminación, caducidad de la cobertura, renuncia de la póliza, elimina los pagos de primas y otras líneas fuera de tema, y la entrada del diccionario para cancelación se construye en una sola pasada de revisión. A partir de ese momento, la recuperación es una búsqueda de palabras clave en el diccionario.
El flujo de trabajo es progresivo y se ejecuta con los expertos, no alrededor de ellos. Las primeras consultas sobre un nuevo corpus, ejecute las incrustaciones línea por línea como en la sección 3.1. Aparecen frases en los documentos que nadie anticipó: el contrato utiliza mano de obra no empleada donde el usuario dice contratista; el registro médico utiliza A1C donde el usuario dijo el nivel de azúcar en sangre; el manual de procedimiento utiliza la sección 4.2 donde el usuario dice regla de horas extras. Capture esas frases como alias de palabras clave en un diccionario en crecimiento, con el experto validando cada una (saben qué alias son equivalencias reales y cuáles son coincidencias).
Las consultas posteriores se realizan mediante búsqueda de palabras clave con el diccionario enriquecido, sin necesidad de realizar llamadas de inserción. Cada recuperación ahora es auditable (sabemos qué palabras clave coinciden), más rápida (sin latencia de incrustación/LLM en la ruta activa) y el diccionario en sí se convierte en un activo empresarial duradero que sobrevive a la rotación de ingeniería.
El reencuadre es más nítido que el estándar. Las incrustaciones no son el recuperador de producción. Son el arranque que construye el recuperador de producción, un alias de palabra clave a la vez, en colaboración con las personas que ya conocen el corpus. El artículo 6 (Comprender la pregunta) desarrolla la ingeniería del diccionario: sugerencias de dominio, alias de expertos, múltiples frases alternativas, el circuito de retroalimentación con resultados de recuperación. El artículo 7 (Recuperación) desarrolla la arquitectura de recuperación dirigida que consume el diccionario.
3.4 El caso de RR.HH. y la retroalimentación de los clientes
La mayoría de los documentos empresariales no contienen muchos sentimientos. Los contratos, los textos reglamentarios, los informes financieros y las especificaciones técnicas son corpus fácticos; Las secciones 3.1 a 3.3 están diseñadas para ellos. Un subconjunto de corpus empresariales es diferente: encuestas textuales de clientes, comentarios del barómetro de los empleados, mensajes de texto libre de tickets de soporte, menciones de marca en las redes sociales. El vocabulario aquí es emocional (agotado, frustrado, encantado, decepcionado) más que técnico (fuerza mayor, Solvencia II, cedente).
El flujo de trabajo de descubrimiento todavía se aplica. Un analista de recursos humanos que construye un léxico de señales de agotamiento escribe un concepto explícito que le interesa, por ejemplo, sentirse abrumado. La incrustación emerge frases del corpus en el mismo grupo emocional. La coincidencia principal a continuación no comparte palabras de contenido con la consulta; los cuatro modelos, desde GloVe hasta 3 grandes, lo clasifican como el número 1.
Aquí no hay comprensión emocional. El vocabulario emocional se agrupa en el espacio del modelo de la misma manera que lo hace el vocabulario de seguros en la sección 1.2 (tarifa ↔︎ cargo). La regresión logística TF-IDF + alcanzó aproximadamente el 88% del sentimiento de IMDB en 2010, antes de las incrustaciones contextuales, porque las palabras emocionales transmiten una señal por sí solas. Las incrustaciones amplían eso con sinonimia: abrumado, drenado, vacío, hueco, en el borde se cierran automáticamente en el espacio, por lo que una consulta en un término muestra oraciones que usan cualquiera de ellos. El mismo mecanismo que en la sección 1.2, aplicado a un vocabulario diferente.
Una división útil para la producción. Si el objetivo es la clasificación de sentimientos (calificar cada entrada de retroalimentación, agregar tendencias, detectar picos de crisis), un modelo de sentimiento dedicado supera a una integración general. El modelo dedicado está entrenado para la tarea; la incrustación está entrenada para la similitud. Para el descubrimiento de vocabulario (¿qué frases expresan angustia en nuestro corpus?), la incrustación sigue siendo la herramienta adecuada. Saca a la luz el léxico que valida el experto. Dos tareas, dos herramientas. El sarcasmo ("Oh, genial, otro lunes") rompe ambos, y la confiabilidad necesita un contexto que el texto palabra por palabra generalmente no brinda.
El patrón aquí es el más grande del artículo. Primera impresión: esto parece una comprensión emocional emergente. Mire más de cerca: es similitud de palabras clave con una noción más inteligente de "cerca". Aplique en consecuencia: use el modelo para descubrir el vocabulario que no tenía; No le pidas que comprenda la intención detrás del vocabulario.
4. Conclusión
Las incorporaciones son un componente del Volumen 1 de Enterprise Document Intelligence, que construye el RAG empresarial ladrillo a ladrillo. El diccionario de palabras clave con el que termina este artículo es lo que la recuperación de producción (Artículo 7) lee en el momento de la consulta, de forma rápida y auditable.
Las incorporaciones son poderosas y limitadas de maneras específicas y predecibles.
Sección 1: qué manejan. Los sinónimos, las paráfrasis, los errores tipográficos, las consultas multilingües y la polisemia funcionan bien, y cada generación de modelo amplía el margen de seguridad. Sección 2: donde se rompen. Dos raíces distintas. Primero, a veces el término simplemente no está en el modelo. La sección 2.1 concretó esto con el pool: una frase aleatoria sobre horarios de trenes venció a la paráfrasis de reaseguro en tres de cuatro modelos. El vocabulario empresarial vive aquí. En segundo lugar, cuando el término está en el modelo, la incorporación clasifica según la similitud del término, no según la correlación de pregunta y respuesta. La sección 2.2 mostró esto directamente en las consultas más simples. A partir de esa segunda negación de la cascada de raíces (sección 2.3), valores exactos (sección 2.4), relevancia de la respuesta de proximidad tópica (sección 2.5) y dilución de la señal en un contexto largo (sección 2.6). Todo un catálogo de fallas "obvias" (identificadores OOV, composición booleana, conteo, predicados temporales, razonamiento de múltiples saltos) no necesita demostración. Sección 3: cómo utilizarlos en producción. Utilice incrustaciones línea por línea como Ctrl-F tolerante a sinónimos (sección 3.1). Cuando necesite cerrar la brecha entre la pregunta y la respuesta, la pieza de carga son las palabras clave que contendría la respuesta, no la incorporación de la consulta reescrita (sección 3.2). La respuesta de producción es un diccionario de palabras clave seleccionado, creado por expertos y arrancado mediante descubrimiento de incrustación a nivel de línea (sección 3.3). Las incrustaciones no son el recuperador de producción; así es como se encuentran las palabras clave que el recuperador de producción utiliza, de forma rápida y auditable, en todo momento.
Un caso de proyectos reales. Un equipo creó un sistema RAG sobre contratos de seguros comerciales y pasó tres meses buscando el retiro del mercado. Comenzaron con text-embedded-3-small de OpenAI con un 71% de recuperación, compararon Voyage, Cohere, BGE-M3 (la recuperación se movió entre 69% y 73%), luego ajustaron BGE en pares sintéticos de preguntas y pasajes. El recuerdo subió al 76%. Cinco puntos después de tres meses. Luego desglosaron las 200 preguntas por tipo: 92% sobre conceptuales, 23% sobre negación, 31% sobre referencia exacta, 18% sobre acrónimo interno. El total del 76% ocultó dos categorías con un rendimiento cercano a cero; ningún ajuste podría solucionarlas. Agregar BM25 junto con la búsqueda de vectores tomó dos días, lo que elevó el recuerdo de la referencia exacta al 88 %. Agregar un paso de expansión de consultas para acrónimos a través de un glosario de la empresa tomó otro día, lo que elevó el recuerdo interno de acrónimos del 18% al 71%. Una semana de trabajo estructural superó los tres meses de ajuste fino.
Dos señales de que un equipo ha invertido demasiado en incorporaciones: la hoja de ruta presenta "ajustar el modelo de incorporación" como el siguiente hito antes de que alguien haya desglosado los casos de falla reales; Las métricas de recuperación se informan como un único número de recuperación sin desglose por tipo de pregunta, lo que oculta las categorías donde las incrustaciones son estructuralmente incorrectas.
Acabas de ver cómo las incrustaciones fallan de manera estructural y predecible. El reflejo, especialmente para los ingenieros con experiencia en ML, es arreglar el modelo: más datos de entrenamiento, ajustes, intercambio de proveedores, realizar un barrido. El artículo 3 sostiene que éste es el marco equivocado. Los fallos que acaba de ver no son errores de los que el modelo pueda aprender a salir. RAG no es aprendizaje automático, y tratarlo como tal es la forma en que los equipos pierden seis meses optimizando la parte del sistema que no estaba rota.
5. Lectura adicional
El patrón empírico de este artículo (sinónimos, errores tipográficos, trabajo de polisemia; negación, identificadores exactos, acrónimos OOV fallan) coincide con todos los estudios controlados de recuperadores densos en corpus empresariales fuera del dominio. Reimers y Gurevych (Sentence-BERT, 2019) es la referencia de lo que técnicamente significa incrustar una línea. Ravichander et al. (CONDAQA, 2022) documentan limpiamente el fracaso de la negación. El artículo reformula HyDE (Gao et al. 2023): la pieza que soporta la carga son las palabras clave que contiene la respuesta hipotética, no el paso de integración en sí; pedirle al LLM las palabras clave directamente recupera el mismo pasaje con menos infraestructura. El ajuste de las incorporaciones en los corpus empresariales está fuera de alcance aquí y se revisa en el Artículo 21 (producción).
Misma dirección que el artículo:
Reimers & Gurevych, Sentencia-BERT, EMNLP 2019 (arXiv:1908.10084). La referencia de lo que significa técnicamente incrustar una línea. Ravichander et al., CONDAQA, EMNLP 2022 (arXiv:2211.00295). Documentos que los modelos densos fallan sistemáticamente en la negación. Misma dirección que el patrón empírico de este artículo. Gao et al., HyDE: recuperación densa precisa de disparo cero sin etiquetas de relevancia, ACL 2023 (arXiv:2212.10496). La técnica HyDE que el artículo reformula: las palabras clave de la respuesta hipotética son las que funcionan. Formal y otros, SPLADE, 2021 (arXiv:2107.05720). Aprendí una recuperación escasa; un puente entre los mundos de palabras clave y de incrustación, en el mismo espíritu que la búsqueda vectorial es el marco de búsqueda de palabras clave.
Ángulo diferente, contexto diferente:
Karpukhin et al., Recuperación de pasajes densos para control de calidad de dominio abierto, EMNLP 2020 (arXiv:2004.04906). La densidad canónica supera el resultado de BM25 en los puntos de referencia de control de calidad de dominio abierto. El contexto son los datos de entrenamiento en el dominio; Este artículo analiza corpus empresariales fuera del dominio donde el resultado no se transfiere claramente. Wang et al., Incrustaciones de texto mediante preentrenamiento contrastivo débilmente supervisado (E5), 2022 (arXiv:2212.03533) y Lee et al., NV-Embed, 2024 (arXiv:2405.17428). La línea de escala que lo arregla: corpus de preentrenamiento contrastantes más grandes cierran la brecha OOV. La afirmación del artículo es que las fallas son estructurales (la compresión destruye la señal del valor exacto), no vinculadas al volumen de datos. Khattab y Zaharia, ColBERT, SIGIR 2020 (arXiv:2004.12832). Recuperación de interacción tardía como respuesta a la coincidencia exacta de tokens en el nivel de incrustación; relevante para el modo de falla “valores exactos, siglas internas”. Muennighoff et al., MTEB: Punto de referencia de incrustación de texto masivo, EACL 2023 (arXiv:2210.07316). El punto de referencia que impulsa la mentalidad de "elegir la incorporación con la puntuación más alta". Útil para modelos de compras; La afirmación del artículo es que la tabla de clasificación no es el eje relevante para el vocabulario OOD empresarial.