Filtra con comprensión del lenguaje natural
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
En esta página, se explica cómo aplicar la comprensión del lenguaje natural para crear filtros automáticamente
para las consultas de búsqueda y, por lo tanto, mejorar la calidad de los
resultados que se muestran.
Puedes usar esta función con apps de búsqueda que estén conectadas a almacenes de datos estructurados.
Acerca de la comprensión de consultas en lenguaje natural
Si tienes una app de búsqueda personalizada con datos estructurados,
las consultas en lenguaje natural de tus usuarios se pueden reformatear como consultas filtradas
Esto puede generar resultados de búsqueda de mejor calidad que buscar palabras
en la cadena de consulta.
Por ejemplo, una consulta en lenguaje natural como "Find a coffee shop serving
banana bread" se puede reformular como una consulta y un filtro:
"query": "banana bread", "filter": "type": ANY(\"cafe\").
Existen dos tipos de filtros que puedes aplicar para la comprensión de consultas en lenguaje natural: estrictos
y flexibles.
Estrictos. De forma predeterminada, los filtros extraídos se aplican como
criterios obligatorios que un resultado debe satisfacer para que se muestre.
El comportamiento es similar al del filter campo en el
SearchRequest
mensaje.
Flexibles. Una alternativa al filtro estricto es aplicar un aumento a los
resultados de la búsqueda. Es más probable que se muestren los resultados aumentados, pero
también se pueden mostrar los resultados que no cumplen con el criterio de aumento.
El comportamiento es similar al del campo boost_spec en el
SearchRequest
mensaje.
Puedes experimentar con ambos tipos de filtros. Si las búsquedas no muestran
suficientes resultados, prueba el filtro flexible en lugar del estricto.
Para obtener detalles sobre cómo aplicar un filtro flexible, consulta Busca con el filtro
flexible a continuación.
Ejemplos
La mejor manera de explicar esta función es con ejemplos:
Ejemplo: Extracción de campos de consultas (filtro estricto)
Esta función de comprensión de consultas en lenguaje natural se explica a través del ejemplo de la búsqueda de un
hotel.
Considera la siguiente consulta realizada a un almacén de datos estructurados para un sitio de hoteles:
"Find me a family-friendly hotel with at least four stars that costs less
than 300 a night, lets me bring my dog, and has free Wi-Fi."
Sin la comprensión de consultas en lenguaje natural, la app de búsqueda busca documentos que contengan las palabras
de la consulta.
Con la comprensión de consultas en lenguaje natural y los datos estructurados de forma adecuada, la búsqueda se vuelve más
eficaz, ya que se reemplaza parte del lenguaje natural de la consulta por filtros.
Si los datos estructurados tienen campos para star_rating (números), price
(números) y amenities (cadenas), la consulta se puede formular para incluir
los siguientes filtros:
Ejemplo: Con un filtro de geolocalización (filtro estricto)
Este ejemplo es similar al anterior, excepto que incluye un
filtro de geolocalización, que es un tipo especial de filtro extraído.
Vertex AI Search tiene la capacidad de reconocer ubicaciones en una consulta y
crear filtros de proximidad para las ubicaciones.
Considera la siguiente consulta realizada a un sitio comercial estatal:
"Find me a chic and stylish hotel with at least 4 stars that is in San
Francisco."
Con la comprensión de consultas en lenguaje natural y el filtro de geolocalización, la búsqueda se reformula para
incluir el siguiente filtro para un hotel con al menos una calificación de 4 estrellas
y dentro de un radio de 10 km de San Francisco:
En este ejemplo, GEO_DISTANCE es una dirección, pero en otras consultas, se
puede escribir como latitud y longitud, aunque la consulta original
contenga una dirección.
Ejemplo: Extracción de campos de consultas (filtro flexible)
Esta función de comprensión de consultas en lenguaje natural se explica a través del ejemplo de la búsqueda
de un hotel, pero mostrando algunos resultados que no cumplen con todos los criterios.
Considera la siguiente consulta realizada a un sitio de viajes:
"Find me a family-friendly hotel with at least four stars that costs less
than 300 a night, and lets me bring my dog."
Con la comprensión de consultas en lenguaje natural y los datos estructurados de forma adecuada, la búsqueda se vuelve más
eficaz, ya que se reemplaza parte del lenguaje natural de la consulta por filtros flexibles. Si los datos estructurados tienen campos para star_rating (números), price
(números) y amenities (cadenas), la consulta se puede reescribir como el
siguiente aumento:
Condición de aumento extraída de la consulta en lenguaje natural:
En este caso, es posible que se muestren algunos hoteles con una calificación más baja o que no admitan mascotas.
La intensidad del aumento depende de la cantidad de filtros estructurados con los que coincide un
documento. Si se extraen tres condiciones y el documento coincide
solo con una de ellas, el documento recibe un pequeño aumento.
Como alternativa, si el documento coincide con las tres condiciones, se le otorga
un aumento fuerte.
Limitaciones
Las siguientes limitaciones se aplican a la comprensión de consultas en lenguaje natural:
La comprensión de consultas en lenguaje natural no se puede aplicar a las apps de búsqueda combinadas. Si intentas usar la comprensión de consultas en lenguaje natural con una app de búsqueda combinada, recibirás un error.
La comprensión de consultas en lenguaje natural solo funciona para las apps de búsqueda personalizadas que usan almacenes de datos estructurados.
El uso de la comprensión de consultas en lenguaje natural aumenta la latencia, por lo que puedes optar por no usarla
si la latencia es un problema.
Para la geolocalización, la ubicación debe describirse de forma explícita. No
puedes usar ubicaciones como "cerca de mí" o "casa".
El radio de geolocalización es de 10 km y no se puede configurar.
Los campos booleanos no se pueden usar en los filtros. Por ejemplo, si la consulta es "Find
me a non-smoking hotel room", un campo booleano como
"non_smoking": true no es útil, pero un campo de cadena como
"non_smoking": "YES" puede formar parte del filtro.
Antes de comenzar
Antes de comenzar a usar la comprensión de consultas en lenguaje natural, debes habilitarla para los almacenes de datos estructurados
conectados a las apps que planeas usar.
Para habilitar la comprensión de consultas en lenguaje natural, sigue estos pasos:
REST
Busca el ID del almacén de datos. Si ya tienes el ID del almacén de datos, avanza al siguiente paso.
En la consola de Google Cloud , ve a la página Aplicaciones basadas en IA y, en el menú de navegación, haz clic en Almacenes de datos.
Repite los pasos 1 y 2 para cada almacén de datos.
Espera aproximadamente 24 horas.
Si intentas usar la comprensión de consultas en lenguaje natural antes de que el almacén de datos esté listo, la respuesta
que obtendrás será la misma que si filterExtractionCondition se configurara como DISABLED.
Búsqueda, conversión de consultas en lenguaje natural en filtros
Para buscar una consulta en lenguaje natural y obtener resultados optimizados para
consultas en lenguaje natural, haz lo siguiente:
Búsqueda, conversión de ubicaciones en consultas a filtros de geolocalización
Para buscar una consulta en lenguaje natural y obtener resultados optimizados para
consultas en lenguaje natural, incluida la proximidad a las ubicaciones, haz lo siguiente:
Especifica campos para consultas en lenguaje natural
Para que un campo se use como filtro en la comprensión de consultas en lenguaje natural, debe marcarse como
indexable en el esquema. (Para obtener información general sobre cómo ver y editar un
esquema, consulta Actualiza un esquema).
Vertex AI Search determina cuáles de los campos indexables del esquema
tienen sentido usar en los filtros de comprensión de consultas en lenguaje natural. Sin embargo, si se incluyen campos que no deseas, debes crear una lista de entidades permitidas para especificar qué campos se pueden usar.
Considera un sitio de reservas de hoteles, en el que hay campos como
amenities, id, price_per_night, rating y room_types. De estos, si
el id es una cadena de caracteres y números, es probable que Vertex AI Search lo
excluya de los campos que se usan para la comprensión de consultas en lenguaje natural.
Sin embargo, si observas que Vertex AI Search muestra resultados de consultas de baja calidad
porque no excluye los campos que debería, debes
especificar qué campos se pueden usar. Por ejemplo, si el esquema del hotel tiene un
campo para renovation_status que no es útil para los clientes y podría ser
vergonzoso para la cadena hotelera, puedes excluirlo de la lista de
campos permitidos.
Ejemplo de un registro del almacén de datos estructurados de datos de hoteles.
{"title":"Miller-Jones","rating":1.7,"price_per_night":115.16,"id":2902,…],"amenities":["Spa","Parking","Restaurant"…],"renovation_status":"Restaurant and spa renovation planned for 2027"}
Una lista de entidades permitidas adecuada para los campos de este ejemplo sería ["amenities",
"price_per_night", "rating", "title"].
Falta renovation_status en la lista.
Para especificar una lista de entidades permitidas de campos que se pueden usar en una comprensión de consultas en lenguaje natural
en una búsqueda, haz lo siguiente:
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2026-01-05 (UTC)"],[],[]]