La IA aporta una búsqueda mágica a los documentos 4D Write Pro

En numerosas aplicaciones profesionales 4D, los documentos lo son todo: notas técnicas, informes, manuales, guías internas. Pero cuando los usuarios no pueden recordar el texto exacto, encontrar el correcto se vuelve lento, frustrante, o peor imposible.

Con 4D 20 R10, la búsqueda semántica alimentada por vectores de IA cambia esta situación. En lugar de coincidir con palabras claves, coincide con el significado. Los usuarios obtienen el documento correcto, incluso si buscan con palabras diferentes o en un idioma diferente. Es una forma más inteligente de hacer aflorar el conocimiento oculto en los documentos: rápida, precisa y adaptada a las búsquedas reales de los usuarios.

Veamos un ejemplo concreto: un usuario quiere localizar una nota técnica que explica cómo insertar una imagen en un documento 4D Write Pro. Sin embargo, es posible que no recuerde la frase exacta utilizada en el documento.

HDI_4DWP_AI_Vector

Cómo buscar en documentos 4D Write Pro

Buscar en documentos almacenados en una base de datos no es un concepto nuevo. Tradicionalmente, los desarrolladores 4D han confiado en la búsqueda por palabras claves para implementar esta funcionalidad. Hoy en día, sin embargo, la inteligencia artificial abre la puerta a un enfoque mucho más flexible y poderoso: la búsqueda semántica utilizando vectores.

Demos un vistazo más de cerca a ambas técnicas y veamos cómo los vectores revolucionan nuestra forma de buscar.

Métodos de búsqueda tradicionales con palabras claveS

Este método consiste en extraer las palabras claves de un documento y almacenarlas en un campo de texto. A continuación, se realiza una consulta de búsqueda comparando las palabras claves específicas introducidas por el usuario.

Este método es rápido y eficaz cuando la consulta coincide exactamente con el texto del documento. Si el texto cambia mínimamente, la búsqueda falla. Por ejemplo, una búsqueda de «insertar imagen» no encontraría documentos que contuvieran «añadir imagen».

Búsqueda semántica con vectores IA

A partir de 4D 20 R10, está disponible una nueva y poderosa funcionalidad: Soporte de vectores IA. Esto permite la búsqueda semántica, impulsada por la inteligencia artificial.

A diferencia de la búsqueda por palabras clave, la búsqueda semántica se centra en el significado, no en las palabras exactas. Permite a los usuarios encontrar documentos que expresan la misma idea de diferentes maneras. Por ejemplo, frases como «insertar imagen» o «añadir imagen» transmiten la misma idea.

Los usuarios pueden incluso introducir consultas en un idioma distinto del contenido del documento. El significado se conserva y se ajusta, algo que la indexación por palabras clave no puede hacer.

Cómo funciona

  1. Cada documento se analiza y se convierte en un vector utilizando el componente 4D AIKit. Este vector representa el significado semántico del texto.
  2. La consulta del usuario también se convierte en un vector.
  3. Se calcula la similitud entre el vector de la consulta y los vectores de los documentos.
  4. Se devuelven los documentos ordenados de mayor a menor relevancia.

Ejemplo de aplicación

Se ha creado una base de datos de demostración para mostrar esta funcionalidad. Contiene varios documentos 4D Write Pro que representan notas técnicas.

Paso 1 – Generar vectores para cada documento

La generación de vectores puede activarse cuando un documento se guarda en la base de datos. En nuestro ejemplo, se creó un método para generar todos los vectores a la vez:

var $document : cs.NoteEntity
var $documents :=ds.Note.all()
For each ($document; $documents)
$txt :=WP Get text($document.Document)
$document .Vector:=cs.AIManagement.new($apiKey).generateVector($txt)
$document .save()
End for each

Paso 2 – Generar el vector a partir de la consulta del usuario

Cuando el usuario hace clic en un botón de búsqueda, creamos un vector a partir de la consulta del usuario

var $vector:=cs.AIManagement.new($apiKey).generateVector($prompt)

Paso 3 – Comparar vectores y ordenar por similitud

Por último, devolvemos una lista de documentos ordenados por relevancia semántica con respecto a la consulta del usuario.

var $formula:=Formula(This.Vector.cosineSimilarity($vector)
$documents:=ds.Note.all().orderByFormula($formula); dk descending)

En este ejemplo, devolvemos todos los documentos ordenados de mayor a menor relevancia. También puede limitar los resultados presentados al usuario, por ejemplo, a los cinco primeros.

Acción en directo

Conclusión

La búsqueda semántica con vectores de IA marca una importante evolución en la forma en que los usuarios interactúan con los datos basados en documentos en 4D. Ofrece más flexibilidad, mayor precisión y una experiencia de usuario más intuitiva, sin depender de una estricta concordancia de palabras clave.

Ya sea para notas internas, documentación o bases de conocimiento, la búsqueda vectorial desbloquea un nuevo nivel de inteligencia en sus aplicaciones 4D.

Una próxima versión 4D (no muy lejana) introducirá un tipo de índice vectorial especial para el análisis rápido de grandes conjuntos de datos.

¿Y a usted? ¿Le ha aportado este blog ideas para sus propios proyectos? ¿Qué tipos de documentos podrían beneficiarse de la búsqueda semántica en sus aplicaciones?

Vanessa Talbot
• Propietario de producto - Vanessa Talbot llegó al equipo de 4D Program en junio de 2014. Como Propietario de producto, está a cargo de escribir las historias de los usuarios y luego traducirlas a especificaciones funcionales. Su papel es también asegurarse de que la implementación de la funcionalidad entregada cumpla con las necesidades del cliente. Desde su llegada, ha trabajado en la definición de funcionalidades claves en 4D. Ha trabajado en la mayoría de las nuevas funcionalidades de multi hilo apropiativo y también en un tema muy complejo: la nueva arquitectura para la aplicación engined. Vanessa es licenciada por Telecom Saint-Etienne. Comenzó su carrera en el Instituto de Investigación Criminal como desarrolladora del departamento audiovisual. También ha trabajado en medios de comunicación y en el ámbito médico como experta en soporte técnico, producción y documentación de nuevas funcionalidades.