Configuración de la clasificación semántica y devolución de leyendas en los resultados de la búsqueda

En este artículo, aprenderás a invocar una clasificación semántica a través de un conjunto de resultados, lo que promueve los resultados más pertinentes en términos semánticos en la parte superior de la pila. También puede obtener leyendas semánticas, con los términos y las frases más relevantes resaltados, además de respuestas semánticas.

Requisitos previos

  • Un servicio de búsqueda en nivel básico, estándar (S1, S2, S3) o un nivel optimizado para almacenamiento (L1, L2), sujeto a disponibilidad por región.

  • Clasificador semántico habilitado en el servicio de búsqueda.

  • Índice de búsqueda existente con contenido de texto enriquecido. La clasificación semántica se aplica a los campos de texto (no vectoriales) y funciona mejor en el contenido que es informativo o descriptivo.

Elija un cliente

Elige un cliente de búsqueda que admita la clasificación semántica. Estas son algunas opciones:

Adición de una configuración semántica

Una configuración semántica es una sección del índice que establece entradas de campo para la clasificación semántica. Puedes agregar o actualizar una configuración semántica en cualquier momento sin necesidad de recompilar. Si creas varias configuraciones, puedes especificar un valor predeterminado. En el momento de la consulta, especifica una configuración semántica en una solicitud de consulta o déjala en blanco para usar el valor predeterminado.

Una configuración semántica tiene un nombre y las siguientes propiedades:

Propiedad Características
Campo Título Una cadena corta, idealmente por debajo de 25 palabras. Este campo podría ser el título de un documento, el nombre de un producto o un identificador único. Si no tienes un campo adecuado, déjalo en blanco.
Campos de contenido Fragmentos más largos de texto en formato de lenguaje natural, sujeto a límites máximos de entrada de token en los modelos de Machine Learning. Algunos ejemplos comunes de contenido son el cuerpo de un documento, la descripción de un producto u otro texto de formato libre.
Campos de palabra clave Una lista de palabras clave, como las etiquetas de un documento o un término descriptivo, como la categoría de un elemento.

Solo puedes especificar un campo de título, pero puedes tener tantos campos de contenido y palabra clave como quieras. Enumera estos campos en orden de prioridad, ya que los campos de prioridad inferior pueden truncarse.

En todas las propiedades de configuración semántica, los campos que asignes deben ser:

  • Atributos como searchable y retrievable
  • Cadenas de tipo Edm.String, Collection(Edm.String), subcampos de cadena de Collection(Edm.ComplexType)
  1. Inicia sesión en Azure Portal y ve al servicio de búsqueda que tiene la clasificación semántica habilitada.

  2. En Índices en el panel de navegación izquierdo, abra un índice.

  3. Seleccione Semantic Configurations (Configuraciones semánticas) y, luego, elija Add Semantic Configuration (Agregar configuración semántica).

    Se abre la página Nueva configuración semántica con opciones para seleccionar un campo de título, campos de contenido y campos de palabra clave. Solo los campos de cadena que se pueden buscar y recuperar son aptos. Asegúrese de enumerar los campos de contenido y los campos de palabra clave en orden de prioridad.

    Screenshot that shows how to create a semantic configuration in the Azure portal.

    Seleccione Aceptar para guardar los cambios.

Migrar desde versiones preliminares

Si el código de clasificación semántica usa API en versión preliminar, en esta sección se explica cómo migrar a versiones estables. Puede comprobar los registros de cambios para comprobar la disponibilidad general:

Cambios de comportamiento:

  • A partir del 14 de julio de 2023, el clasificador semántico es independiente del lenguaje. Puede volver a generar resultados compuestos de contenido multilingüe, sin sesgo hacia un idioma específico. En las versiones preliminares, la clasificación semántica desprioritizaría los resultados que difieren del idioma especificado por el analizador de campos.

  • En 2021-04-30-Preview y todas las versiones posteriores, para la API de REST y todos los paquetes del SDK destinados a la misma versión: semanticConfiguration (en una definición de índice) define qué campos de búsqueda se usan en la clasificación semántica. Anteriormente en la API de REST 2020-06-30-Preview, se usó searchFields (en una solicitud de consulta) para la especificación y priorización de campos. Este enfoque solo funcionó en 2020-06-30-Preview y está obsoleto en todas las demás versiones.

Paso 1: Quitar queryLanguage

El motor de clasificación semántica ahora es independiente del lenguaje. Si se especifica queryLanguage en la lógica de consulta, ya no se usa para la clasificación semántica, pero todavía se aplica a la corrección ortográfica.

Mantenga queryLanguage si usa el corrector ortográfico y si el valor de idioma es compatible con el corrector ortográfico. La revisión ortográfica tiene una disponibilidad limitada entre idiomas.

De lo contrario, elimine queryLanguage.

Paso 2: Reemplazar searchFields por semanticConfiguration

Si el código llama a la API de REST 2020-06-30-Preview o a los paquetes del SDK beta destinados a esa versión de la API de REST, es posible que uses searchFields en una solicitud de consulta para especificar campos semánticos y prioridades. En las versiones beta iniciales, searchFields tenía un doble propósito, limitando la consulta inicial a los campos enumerados en searchFields y estableciendo también la prioridad de campo si se usaba la clasificación semántica. En versiones posteriores, searchFields conserva su propósito original, pero ya no se usa para la clasificación semántica.

Mantenga searchFields en las solicitudes de consulta si la usa para limitar la búsqueda de texto completo a la lista de campos con nombre.

Agregue un elemento semanticConfiguration a un esquema de índice para especificar la priorización de campos siguiendo las instrucciones de este artículo.

Pasos siguientes

Pruebe la configuración semántica mediante la ejecución de una consulta semántica.