Mejora de la relevancia de los resultados mediante la adición de perfiles de puntuación
Búsqueda de Azure AI usa el algoritmo de clasificación de similitud BM25. El algoritmo puntúa los documentos en función de los términos de búsqueda utilizados.
Aquí verá cómo agregar perfiles de puntuación para modificar las puntuaciones de los documentos en función de sus propios criterios.
Procedimiento para calcular las puntuaciones de búsqueda
La puntuación es la última fase de procesamiento de una consulta de búsqueda.
El motor de búsqueda puntúa los documentos devueltos desde las tres primeras fases. La puntuación es una función del número de veces que los términos de búsqueda identificados aparecen en un documento, el tamaño del documento y la baja frecuencia de cada uno de los términos. De forma predeterminada, los resultados de la búsqueda se ordenan por su puntuación de búsqueda; primero aparecen los que tienen más puntuación. Si dos documentos tienen una puntuación de búsqueda idéntica, puede romper el empate agregando una cláusula $orderby
.
Mejora de la puntuación de los documentos más relevantes
A medida que la puntuación predeterminada funciona con la frecuencia de términos y la singularidad, la puntuación calculada final podría no devolver la puntuación más alta para el documento más relevante. Cada conjunto de datos es diferente, por lo que Búsqueda de Azure AI le permite influir en la puntuación de un documento mediante perfiles de puntuación.
El perfil de puntuación más sencillo define diferentes ponderaciones para los campos de un índice. En el ejemplo anterior, el índice Hotel tiene un perfil de puntuación que tiene el campo Descripción cinco veces más relevante que los datos de los campos Ubicación o Salas. El campo Categoría es el doble de relevante que NombreHotel.
El perfil de puntuación también puede incluir funciones, por ejemplo, distancia o actualización. Las funciones proporcionan más control que la ponderación simple, por ejemplo, puede definir la duración de aumento aplicada a los documentos más recientes antes de puntuarlos de la misma forma que los documentos anteriores.
La eficacia de los perfiles de puntuación significa que, en lugar de aumentar un término específico en una solicitud de búsqueda, puede aplicar un perfil de puntuación a un índice para que los campos se aumenten automáticamente para todas las consultas.
Adición de un perfil de puntuación ponderado
Puede agregar hasta 100 perfiles de puntuación a un índice de búsqueda. La manera más sencilla de crear un perfil de puntuación es en Azure Portal.
- Vaya al servicio de búsqueda.
- Seleccione Índices y, a continuación, seleccione el índice al que agregar un perfil de puntuación.
- Seleccione Perfiles de puntuación.
- Seleccione + Agregar perfil de puntuación.
- En Nombre de perfil, escriba un nombre único.
- Para establecer el perfil de puntuación como el valor predeterminado que aplicará a todas las búsquedas, seleccione Establecer como valor predeterminado.
- En Nombre de campo, seleccione un campo. En Peso, escriba un valor de peso.
- Seleccione Guardar.
En el ejemplo anterior, el perfil de puntuación boost-category
se ha agregado a hotels-sample-index
. La categoría tiene un peso de cinco.
El perfil también se ha establecido como perfil predeterminado. Después, puede usar esta consulta de búsqueda:
search=luxury AND Tags:'air con'*&$select=HotelId, HotelName, Category, Tags, Description&$count=true&queryType=full
Los resultados ahora coinciden con la misma consulta con un término aumentado:
search=(Description:luxury OR Category:luxury^5) AND Tags:'air con'*&$select=HotelId, HotelName, Category, Tags, Description&$count=true&queryType=full
Puede controlar qué perfil de puntuación se aplica a una consulta de búsqueda anexando el parámetro &scoringProfile=PROFILE NAME
.
Los perfiles de puntuación también se pueden agregar mediante programación con la API de REST Update Index o en los SDK de Azure, como la clase ScoringProfile del SDK de Azure para .NET.
Uso de funciones en un perfil de puntuación
Las funciones disponibles para agregar a un perfil de puntuación son:
Función | Descripción |
---|---|
Magnitud | Puntuaciones de modificación basadas en un rango de valores para un campo numérico |
Actualización | Puntuaciones de modificación basadas en la actualización de los documentos en función de un campo DateTimeOffset determinado |
Distancia | Puntuaciones de modificación basadas en la distancia entre una ubicación de referencia y un campo GeographyPoint |
Etiqueta | Puntuaciones de modificación basadas en valores de etiqueta comunes en documentos y consultas |
Por ejemplo, si se usa el índice de hotel, la función de magnitud se puede aplicar al campo Clasificación. Azure Portal le guiará por el proceso de aplicación de los parámetros de cada función.