Mejora de la relevancia de los resultados con entrenamiento

Las consultas de lenguaje natural se pueden mejorar en IBM Watson® Discovery con el entrenamiento.

Un modelo de relevancia determina los documentos más relevantes que se deben devolver en los resultados de la búsqueda. Sin entrenamiento de relevancia, se utiliza un mecanismo estándar para determinar la relevancia basándose en factores comunes. Cuando entrena un modelo de relevancia, ayuda a Discovery a utilizar características que son exclusivas de los documentos, ya que determinan la relevancia.

El modelo de entrenamiento de relevancia que está asociado con un proyecto se utiliza en tiempo de ejecución sólo cuando se envían consultas de lenguaje natural. El modelo no se aplica a consultas DQL (Discovery Query Language).

No puede aplicar el entrenamiento de relevancia a los tipos de proyecto de Content Mining.

Para entrenar un modelo de relevancia, proporcione consultas de lenguaje natural de ejemplo, envíelas para obtener resultados de los documentos y, a continuación, valúe esos resultados. A medida que añade más ejemplos, la información que proporciona sobre la relevancia de resultados para cada consulta se utiliza para obtener más información sobre el proyecto. El sistema utiliza las evaluaciones para asignar importancia a distintos tipos de información estructural dentro de los documentos. Por ejemplo, aprende la importancia de cuando una palabra clave de la consulta de búsqueda aparece en el título frente a la cabecera, el cuerpo o en los metadatos del documento. También aprende de la importancia de la distancia entre una palabra clave coincidente y otra. Después de una sesión de entrenamiento de relevancia satisfactoria, se crea un modelo de categorizador. El modelo lo utiliza automáticamente Discovery con la siguiente consulta de lenguaje natural. El descubrimiento reordena los resultados del documento para que los resultados más relevantes según el modelo de entrenamiento de relevancia se muestren en primer lugar.

La formación se aplica a todo un proyecto. No se puede omitir para una colección y aplicarla a otras colecciones del mismo proyecto. No habilite el uso del modelo de entrenamiento especificando un parámetro de consulta. Si está presente, el modelo se utiliza para cada consulta de lenguaje natural que se envía para el proyecto. El modelo se utiliza tanto si limita la búsqueda a una colección como a todas las colecciones. Por este motivo, es importante que los datos de entrenamiento representen las consultas que es probable que respondan todas las colecciones del proyecto. Para impedir que un proyecto utilice el modelo de entrenamiento de relevancia, puede suprimir el modelo utilizando la API.

El entrenamiento de relevancia no se ejecuta continuamente. El entrenamiento sólo se produce cuando lo inicia. Como máximo, se utiliza un modelo de relevancia entrenado a la vez por proyecto. Si vuelve a entrenar un modelo, el modelo existente se utiliza hasta que el nuevo modelo se entrena correctamente, momento en el que el nuevo modelo sustituye al modelo antiguo.

El conjunto de documentos que constituyen los datos de entrenamiento sólo se utilizan durante el proceso de entrenamiento. Si se realiza un cambio posterior en un documento que se ha utilizado para entrenar el modelo, no cambia el modelo entrenado y no desencadena una nueva sesión de entrenamiento. Tenga en cuenta que si muchos de los documentos del proyecto cambian, es posible que sea el momento de volver a entrenar el modelo para que utilice las características de los documentos actualizados.

Las palabras vacías y las expansiones de consulta que añada a una colección no afectan directamente al modelo de entrenamiento de relevancia. Sin embargo, pueden cambiar qué documentos se devuelven de una búsqueda, lo que afecta a los documentos clasificados por el modelo de relevancia. El modelo clasifica los 100 documentos principales que se devuelven para una consulta. Los cambios que realice en las palabras de detención o expansiones de consulta no inician una actualización de entrenamiento de relevancia. Si añade artefactos que cambian drásticamente los documentos devueltos por la búsqueda, considere volver a entrenar el modelo.

Si los documentos que se han utilizado anteriormente para entrenar el modelo se eliminan de una colección, debe eliminar las referencias a ellos de los datos de entrenamiento antes de empezar a volver a entrenar el modelo. El modelo espera que los documentos y las consultas de los pares de datos de entrenamiento continúen existiendo. Para eliminar estas referencias, suprima las consultas de entrenamiento que han devuelto los documentos suprimidos. Si las consultas continúan siendo relevantes, puede volver a añadirlas a los datos de entrenamiento y emparejarlas con otros documentos.

Para obtener más información sobre la API de entrenamiento de relevancia, consulte la documentación de referencia de la API.

Cuándo utilizar el entrenamiento de relevancia

El entrenamiento de relevancia es opcional. Pruebe la calidad de los resultados de la búsqueda. Si los resultados de sus consultas se ajustan a sus necesidades, no necesitará más formación.

El entrenamiento mejora la relevancia de los documentos que se devuelven en las respuestas de consulta. No mejora los pasajes o respuestas que se devuelven por documento. Si está utilizando la recuperación de pasajes y los resultados de la prueba están devolviendo buenos documentos, pero los pasajes erróneos de los documentos, el entrenamiento de relevancia no ayudará.

Para obtener más información sobre cuándo utilizar el entrenamiento de relevancia, consulte la publicación del blog Entrenamiento de relevancia para usuarios sensibles al tiempo en Medium.

Cómo se manejan los campos

Cuando entrena un proyecto desde la interfaz de usuario del producto, los resultados siempre se toman del campo text de los documentos. Si los documentos no tienen un campo text, utilice la API para entrenar el proyecto en su lugar. Es posible que los documentos no tengan un campo text si ha subido un archivo CSV que no tiene una columna denominada text, o si ha subido un archivo JSON que no tiene un objeto denominado text, o si ha utilizado la herramienta Smart Document Understanding para definir campos con otros nombres en los que ahora se almacena la mayor parte del contenido de los documentos.

Cuando entrena un proyecto desde la API, los resultados se obtienen de todos los campos de nivel raíz y se considera que todos ellos tienen la misma significación. A diferencia de las consultas de Discovery Query Language, con las consultas de lenguaje natural no puede especificar qué campos del documento le interesan o cuánta importancia debe dar a cada uno. Cuando enseña a Discovery con ejemplos, el servicio le indica cuánto peso debe dar a cada campo.

El descubrimiento crea un modelo que asigna diferentes ponderaciones a coincidencias de términos, bigramas y saltos gramo para cada uno de los campos de nivel raíz y los equilibra con las coincidencias de todos los demás campos de documento. Con suficientes ejemplos, Discovery puede devolver mejores respuestas porque sabe dónde se almacenan normalmente las mejores respuestas.

El entrenamiento de relevancia no se puede utilizar para dar más peso a los campos anidados. Los campos anidados se agrupan y se les asigna una puntuación global. No importa cuánto entrene, Discovery nunca le da a un campo anidado más peso del que le da a un campo de nivel raíz. Para obtener más información sobre los campos anidados, consulte las Preguntas más frecuentes.

Formación de un proyecto

Los datos de entrenamiento que se utilizan para entrenar el modelo de relevancia incluyen estas partes:

  • Una consulta de lenguaje natural que es representativa de una consulta que los usuarios pueden enviar
  • Resultados de la consulta devueltos por el servicio
  • La valoración que se aplica al resultado que indica si el resultado es relevant o not relevant

Para aplicar el entrenamiento de relevancia a un proyecto, realice los pasos siguientes:

  1. Vaya a la página Mejorar y personalizar. En el panel Herramientas de mejora, seleccione Mejorar relevancia y, a continuación, Entrenamiento de relevancia.

  2. Introduzca una consulta en lenguaje natural en el campo Introduzca una pregunta para entrenar.

    No incluya un signo de interrogación en la consulta. Utilice la misma redacción que los usuarios. Por ejemplo, IBM Watson in healthcare. Escriba consultas que incluyan algunos de los términos que se mencionan en la respuesta de destino. El solapamiento de términos mejora los resultados iniciales cuando se evalúa la consulta en lenguaje natural.

  3. Pulse Añadir +.

  4. Pulse Valorar resultados.

  5. Una vez visualizados los resultados, evalúe cada resultado y, a continuación, seleccione Relevante o No relevante, la opción que se aplique dada la calidad del resultado.

    En la interfaz de usuario de Discovery, cuando marca un documento como Relevante, el servicio aplica una puntuación de relevancia de 10 al resultado y una puntuación de 0 cuando lo marca como No relevante. Los dos únicos valores de puntuación que puede asignar al aplicar el entrenamiento de relevancia a través de la interfaz de usuario de Discovery son 0 y 10.

    En la API Discovery, puede asignar valores de puntuación de relevancia entre 0 y cada entero entre hasta 100. En el mismo proyecto, no puede mezclar ejemplos de entrenamiento creados en la interfaz de usuario de Discovery (puntuaciones de 0 y 10) con ejemplos creados que utilizan niveles de puntuación de confianza distintos de 0 y 10. Si utiliza cualquier escala de puntuación personalizada a través de la API, debe seguir aplicando todo el entrenamiento a través de la API. No puede editar los ejemplos de entrenamiento que se aplican a través de la API en la interfaz de usuario de Discovery a menos que utilicen sólo las dos puntuaciones de 0 y 10.

    Si el resultado muestra el mensaje "No hay vista previa de contenido disponible para este documento", significa que el documento que se ha devuelto no contiene un campo text o que su campo text está vacío. Si ninguno de los documentos de la colección tiene un campo text, utilice la API para entrenar el proyecto en lugar de entrenarlo desde la interfaz de usuario del producto.

  6. Cuando haya terminado, haga clic en Volver a las consultas.

  7. Siga añadiendo consultas y evaluándolas.

    A medida que califica los resultados, se muestra su progreso. Compruebe su progreso para ver cuándo hay suficiente información de evaluación disponible para satisfacer las necesidades de umbral de entrenamiento. El progreso se divide en las tareas siguientes:

    • Añada más consultas
    • Evalúe más resultados
    • Añada más variedad a sus valoraciones

    Debe evaluar al menos 50 consultas exclusivas, quizás más, en función de la complejidad de los datos. No puede añadir más de 10.000 consultas de entrenamiento.

  8. Puede seguir añadiendo consultas y puntuando resultados una vez alcanzado el umbral. Especifique todas las consultas que cree que sus usuarios solicitarán.

    Para suprimir una consulta de entrenamiento, pulse el icono Suprimir. Para suprimir todas las consultas de entrenamiento de la colección a la vez, utilice la API. Para obtener más información, consulte Eliminar consultas de formación.

Si dos o más usuarios intentan entrenar consultas idénticas al mismo tiempo, las evaluaciones enviadas por uno de los usuarios sobrescriben las demás.

Realización de pruebas e iteración para la relevancia de resultados

Cuando haya terminado de evaluar los resultados y se haya completado el entrenamiento, pruebe si los resultados de la consulta son mejores. Para ello, ejecute consultas de prueba en lenguaje natural que estén relacionadas (pero no sean idénticas) con sus consultas de entrenamiento. Revise los resultados.

Si desea continuar mejorando los resultados después de las pruebas, puede:

  • Añadir más documentos a la recopilación.
  • Añadir más consultas de entrenamiento.
  • Valorar más resultados, asegurándose de utilizar tanto las valoraciones Relevant como Not relevant.

Puntuaciones de confianza

Discovery devuelve una puntuación de confidence para consultas de lenguaje natural de colecciones entrenadas. Esta puntuación confidence no es intercambiable con las puntuaciones confidence que devuelven las colecciones no entrenadas.

La puntuación de confidence está comprendida entre 0.0 y 1.0. Cuanto mayor es el número, mayor es la relevancia del resultado.

La puntuación de confidence se puede encontrar en los resultados de la consulta, bajo result_metadata en cada documento. Este número se calcula con base a cómo se estima de relevante un resultado en comparación con el modelo entrenado.

{
  "matching_results": 4,
  "retrieval_details": {
    "document_retrieval_strategy": "trained"
  },
  "results": [
    {
	  "id": "eea16dfd5fe6139a25324e7481a32f89_13",
	  "result_metadata": {
	    "confidence": 0.08793
	  }
    }
  ]
}

El valor de document_retrieval_strategy se encuentra bajo retrieval_details. Si consulta una colección entrenada utilizando el lenguaje de consulta Discovery, o el modelo entrenado se desactiva temporalmente, el document_retrieval_strategy es untrained.

Para obtener más información sobre cómo consultar un proyecto, consulte la Visión general de la consulta.

Límites de entrenamiento de relevancia

Los siguientes límites se aplican a los modelos de formación de relevancia:

  • Un modelo por proyecto
  • 10.000 consultas por modelo
  • 40 modelos por instancia de servicio para planes Enterprise y Premium; 20 modelos para instancias de plan Plus

Ejecución de sesiones de entrenamiento óptimas

El ejemplo siguiente describe cómo ejecutar de forma óptima sesiones para el entrenamiento de relevancia en proyectos.

Tenga en cuenta que ha añadido 100 consultas de entrenamiento a un proyecto nuevo y Discovery ejecuta 100 consultas en una sesión de entrenamiento para crear un modelo de categorizador. Posteriormente, si añade otras 20 consultas, el modelo empieza a volver a entrenar y Discovery ejecuta un total de 120 consultas. Sin embargo, para añadir las últimas 20 consultas, si primero añade 10 consultas, espere una hora más o menos y, a continuación, añada las 10 consultas siguientes, Discovery entrena el modelo dos veces. En este caso, la primera sesión de entrenamiento ejecuta 110 consultas y la segunda sesión de entrenamiento ejecuta 120 consultas. Esta forma de añadir consultas, intercaladas entre intervalos de tiempo, da como resultado un mayor número de sesiones de entrenamiento y el total de consultas ejecutadas por Discovery.

En su lugar, para minimizar el número de sesiones de entrenamiento, puede utilizar la API Actualizar una consulta de entrenamiento. El método de API actualiza los datos de entrenamiento para varias recopilaciones bajo un proyecto a la vez. Para obtener más información, consulte Actualizar una consulta de entrenamiento en la referencia de API.

Para reducir la carga de proceso en Discovery, debe crear o actualizar un modelo de categorizador a través del entrenamiento de relevancia después de que todas las colecciones de un proyecto hayan completado el proceso de documentos. Además, durante el proceso de entrenamiento de modelo de categorizador, debe tener actividades de consulta bajas para que el límite de solicitudes simultáneas no se supere.

Otras formas de mejorar la relevancia

Si prefiere utilizar la API Discovery para entrenar a Discovery, consulte la Referencia de API.

También puede utilizar la API para añadir curaciones. Curations es una característica beta que puede utilizar para enseñar a Discovery a devolver un documento específico cada vez que se envía una determinada consulta. Para obtener más información, consulte Curaciones.

La adición de una lista de palabras vacías personalizadas también puede mejorar la relevancia de los resultados para las consultas de lenguaje natural. Para obtener más información, consulte Identificación de palabras a ignorar.

Visión general del entrenamiento de relevancia

Respuestas a preguntas frecuentes sobre la formación de un proyecto.

¿Cómo sé si mi sistema está capacitado?

Ejecute una consulta en lenguaje natural y compruebe document_retrieval_strategy. Consulte Puntuaciones de confianza.

Si está utilizando la API, consulte Listar consultas de entrenamiento.

¿Cuánto se tarda en entrenar un modelo?

El entrenamiento puede tardar entre 45 minutos y una hora en finalizar. La duración del entrenamiento difiere en función de la cantidad y variedad de los datos que se utilizan para entrenar el modelo de relevancia. Además, el entrenamiento se produce de forma asíncrona. Puede retrasarse si otros datos que necesita no están disponibles porque se están buscando o procesando de alguna otra forma.

¿Cómo detengo que el entrenamiento de relevancia se aplique a mi proyecto?

Utilice la API para suprimir el modelo de relevancia que está asociado con el proyecto. Para suprimir el modelo, suprima los datos de entrenamiento asociados con el modelo de categorizador. Para obtener más información, consulte Supresión de consultas de entrenamiento.

¿El entrenamiento de relevancia afecta a la búsqueda de pasajes?

Núm. El entrenamiento de relevancia se utiliza sólo para la búsqueda de documentos. No tiene ningún impacto en la búsqueda de pasajes.

¿El entrenamiento de relevancia afecta al resultado de la respuesta?

No directamente. El entrenamiento de relevancia afecta indirectamente al resultado de la respuesta porque cambia el orden de los documentos de los que se recuperan las respuestas. Vuelve a poner los documentos devueltos de más a menos relevantes.

¿Cómo puedo comprobar errores y avisos?

Abra la página Gestionar colecciones. Elija su colección y abra el separador Actividad.

¿Cómo interpreto la puntuación de confianza que aparece en los resultados de las consultas en lenguaje natural después del entrenamiento?

Consulte Puntuaciones de confianza.

Interpretación de errores y avisos de entrenamiento de relevancia

La lista siguiente tiene explicaciones para algunos mensajes de error y de aviso comunes.

El mensaje Watson empezará a aprender pronto se muestra durante mucho tiempo al crear un modelo de ranker

Este problema puede producirse si el número total de modelos de clasificadores existentes ha alcanzado el límite de 40 modelos. En este caso, no se crea un nuevo modelo y el mensaje Watson empezará a aprender pronto aparece en la interfaz de usuario durante mucho tiempo.

Para resolver este problema, puede eliminar los modelos de ranker antiguos de los proyectos no utilizados o ponerse en contacto con el soporte de IBM para actualizar a una instancia Premium.

Aviso:Invalid training data found: The document was not returned in the top 100 search results for the given query, and will not be used for training

Este aviso se produce cuando el document_ids en los datos de entrenamiento no coinciden con el document_ids en una búsqueda que se realiza en la colección. Compruebe sus consultas para asegurarse de que la dirección document_id del documento que está clasificando aparece entre los 100 primeros resultados de esa consulta. Si no es así, podría comprobar dos cosas:

  • Si el documento no se devuelve en los 100 primeros, es posible que no sea un ejemplo de un resultado de alta calidad. Vuelva a evaluar si desea utilizar el documento.
  • Si el documento no se devuelve en absoluto, revise por qué no se devuelve y compruebe si algún texto del documento coincide con partes de la consulta.

Este aviso indica que podría tener una o varias consultas fallidas. Esto no significa que el entrenamiento no se pueda completar.

Error: Invalid training data found: Syntax error when parsing query

Un error de sintaxis significa que la consulta no es válida. Los errores de sintaxis se pueden producir cuando aumenta la complejidad de la consulta añadiendo un filtro a la consulta de lenguaje natural, por ejemplo. Ejecute la consulta en la colección fuera del entrenamiento de relevancia utilizando la API. Después de confirmar que la consulta es válida y devuelve resultados, puede añadirla como una consulta de entrenamiento de relevancia.

Error: Training data quality standards not met: You will need additional training queries with labeled examples. (To be considered for training, each example must appear in the top 100 search results for its query.)

Debe añadir más datos de entrenamiento para entrenar correctamente. Necesita al menos 49 consultas de entrenamiento únicas como mínimo, y cada una necesita al menos un documento valorado. Mínimo no significa óptimo; el tamaño de la colección y otros factores pueden aumentar el número de ejemplos de entrenamiento necesarios para alcanzar el mínimo.

Error: Training data quality standards not met: Insufficient number of unique training queries. Expected at least n, but found m.

Para cumplir los requisitos mínimos de formación, necesita al menos 50 consultas de formación únicas, y cada consulta debe tener al menos un documento calificado. Si tienes más consultas que el mínimo y sigues recibiendo este mensaje de error, comprueba si tus avisos contienen otros errores.

Error: Training data quality standards not met: No documents found with non-zero relevance labels.

Los datos de entrenamientos precisan de suficientes datos etiquetados que especifican los documentos de valor elevado. Por lo tanto, es necesario calificar algunos documentos con valores distintos de cero. Es necesario clasificar algunos documentos como Relevant y algunos como Not relevant. Al menos un documento debe estar valorado como Relevant.

Error: Training data quality standards not met: Training examples have no relevance label variety for X queries.

Uno de los requisitos del entrenamiento es tener suficiente diversidad en las etiquetas. Al menos el 25% de las consultas de entrenamiento deben incluir las etiquetas Relevant y Not relevant. Si utiliza la API, al menos el 25% de las consultas deben incluir dos etiquetas numéricas diferentes.