Crear Entidades

Esta es la forma de crear una entidad.

Para crear una entidad:
  1. Haga clic en Entidades (Imagen del icono Entidades.) en la barra de navegación lateral.
  2. Haga clic en Agregar entidad y, a continuación, introduzca el nombre y seleccione el tipo. Los campos del cuadro de diálogo reflejan el tipo de entidad. Por ejemplo, para entidades de expresiones regulares, puede agregar la expresión. Para las entidades de la lista de valores, agregue los valores y los sinónimos.
    Si la aptitud soporta varios idiomas mediante el soporte de idioma nativo de Digital Assistant, debe agregar los equivalentes en idioma extranjero para los valores y sinónimos de la entidad Lista de valores.

    Como estos valores se deben asignar al valor correspondiente del idioma principal (Valor de idioma principal), debe seleccionar el valor principal antes de agregar su idioma secundario correspondiente. Por ejemplo, si ha agregado el francés como idioma secundario a una aptitud cuyo idioma principal es el inglés, primero debe seleccionar pequeño como valor de Idioma principal y, a continuación, agregar petite.

  3. Como paso opcional, introduzca una descripción. Podría utilizar la descripción para escribir la entidad, como masas de pizza para una entidad PizzaTopping. Esta descripción no se conserva al agregar la entidad a una bolsa compuesta.
  4. Puede agregar las siguientes funciones, que son opcionales. Se pueden sobrescribir si se agrega la entidad a una bolsa compuesta.
    • Si una entidad de lista de valores tiene una lista de valores larga, pero solo desea mostrar a los usuarios unas cuantas opciones cada vez, puede definir la paginación de estos valores introduciendo un número en el campo Tamaño del rango de enumeración o definiendo una expresión de Apache FreeMarker que se evalúe en este número. Por ejemplo, puede definir una expresión que devuelva valores enum basados en el canal.

      Si define esta propiedad en 0, la aptitud no mostrará una lista, sino la entrada de usuario en un valor de entidad.

      Si define este número en un valor inferior al número total de valores definidos para esta entidad, el componente Resolver entidades mostrará el botón Mostrar más para acompañar a cada juego completo de valores. Si se utiliza un componente Respuesta Común para resolver la entidad, el usuario puede configurar el botón Mostrar Más.
      Imagen del botón Mostrar más.
      Puede cambiar el texto del botón Mostrar más mediante la propiedad showMoreLabel que pertenece a los componentes Resolver entidades y Respuesta común.

    • Agregue un mensaje de error para una entrada de usuario no válida. Utilice una expresión de Apache FreeMarker que incluya la propiedad system.entityToResolve.value.userInput. Por ejemplo, ${system.entityToResolve.value.userInput!'This'}' is not a valid pizza type.
    • Para que los usuarios puedan seleccionar más de un valor de una entidad de lista de valores, active Varios valores. Al activar esta opción, los valores se muestran como una lista numerada.
      Imagen de la lista de varios valores numerada.
      Al desactivar esta opción, se muestran los valores como una lista de opciones y solo se puede elegir una.
    • Si activa Coincidencia parcial, aumentará las posibilidades de que la entrada del usuario coincida con un valor, especialmente cuando los valores no tengan muchos sinónimos. La coincidencia parcial utiliza palabra derivada para identificar coincidencias de la entrada del usuario. Si desactiva la coincidencia parcial, se aplica la coincidencia estricta, lo que significa que la entrada del usuario debe coincidir exactamente con los valores y sinónimos; "automóviles" no coincidirá con un valor denominado "automóvil", ni "directora" coincidirá con un valor "directora de desarrollo".
    • En las aptitudes configuradas con un servicio de traducción, la coincidencia de entidades se basa en la traducción de la entrada. Si activa Coincidir valor original, la entrada original también se tiene en cuenta en la coincidencia de entidades, lo que podría ser útil para buscar coincidencias de valores que no se pueden traducir.
    • Para forzar a un usuario a seleccionar un solo valor, active Petición de desambiguación y agregue una petición de desambiguación. Por defecto, este mensaje es Seleccione un valor de <nombre de elemento>, pero puede sustituirlo por uno formado únicamente por texto (Solo puede pedir una pizza cada vez. ¿Qué pizza quiere pedir?) o por una combinación de texto y expresiones de FreeMarker. Por ejemplo:
      "I found multiple dates: <#list system.entityToResolve.value.disambiguationValues.Date as date>${date.date?number_to_date}<#sep> and </#list>. Which date should I use as expense date?"
    • Defina una regla de validación mediante una expresión de FreeMarker.
      Nota

      Solo puede agregar peticiones de datos, desambiguación y validación para entidades incorporadas que pertenecen a una bolsa compuesta.
  5. Haga clic en Crear.
  6. Los siguientes pasos:
    1. Agregue la entidad a una intención. Así, se notifican a la aptitud los valores que necesita extraer de la entrada de usuario durante el procesamiento del lenguaje. Consulte Agregar entidades a intenciones.
    2. En el flujo de diálogo, declare una variable para la entidad.
    3. Acceda a los valores de variables utilizando expresiones de Apache FreeMarker. Consulte Operaciones de matriz incorporadas de FreeMarker.
    4. Haga clic en Validar y revise los mensajes de validación para ver los errores relacionados con los manejadores de eventos de entidades (si se utilizan), posibles problemas como varios valores en una entidad de lista de valores que comparten el mismo sinónimo, así como para obtener orientación sobre la aplicación de mejores prácticas, como agregar varias peticiones de datos para que la aptitud sea más atractiva.

Entidades de lista de valores para varios idiomas

Cuando tiene una aptitud dirigida a varios idiomas y que utiliza el soporte de idioma nativo de Digital Assistant, puede definir valores para cada idioma de la aptitud. Para cada valor de entidad en el idioma principal de una aptitud, debería designar un valor correspondiente en cada idioma adicional.

Consejo:

Para asegurarse de que la aptitud genera respuestas de forma coherente en el idioma detectado, incluya siempre useFullEntityMatches: true en los estados Respuesta común, Resolver entidades y Coincidir entidad. Como se describe en Adición de idiomas con soporte nativo a una aptitud, al definir esta propiedad en true (valor por defecto) se devuelve el valor de entidad como un objeto cuyas propiedades diferencian el idioma principal del idioma detectado. Cuando se hace referencia a ellas en expresiones FreeMarker de Apache, estas propiedades garantizan que se muestre el idioma adecuado en el texto y las etiquetas del mensaje de la aptitud.

Soporte de Word Stemming en coincidencia parcial

A partir de la versión 22.10, la coincidencia parcial para entidades de valor de lista se basa en la raíz de palabras, donde una coincidencia de valor se basa en la raíz léxica de la palabra. En las versiones anteriores, la coincidencia parcial se activaba mediante la coincidencia parcial y la corrección automática. Si bien este enfoque era tolerante a errores tipográficos en la entrada del usuario, incluidas las palabras transpuestas, también podría dar lugar a coincidencias con más de un valor dentro de la entidad de lista de valores. Con la derivación, esta dispersión se elimina: las coincidencias se basan en el orden de las palabras de la entrada del usuario, por lo que se realiza una sola coincidencia o ninguna. Por ejemplo, "Lovers Veggie" no daría como resultado ninguna coincidencia, pero "Veggie Lover" coincidiría con el valor de Veggie Lovers de una entidad de tipo pizza. (Tenga en cuenta que "Amor" se deriva.) Las palabras irrelevantes, como artículos y preposiciones, se ignoran en los valores extraídos, al igual que los caracteres especiales. Por ejemplo, tanto "Veggie the Lover" como "Veggie////Lover" coincidirían con el valor de Veggie Lovers.

Crear entidades de aprendizaje automático

Las entidades de aprendizaje automático son un enfoque basado en modelos para la extracción de entidades. Al igual que las intenciones, puede crear entidades de aprendizaje automático a partir de expresiones de entrenamiento, probablemente las mismas expresiones de entrenamiento que utilizó para crear las intenciones. Sin embargo, para las entidades de aprendizaje automático, anote las palabras de las expresiones de entrenamiento que corresponden a una entidad.

Para empezar, puede anotar algunos de los datos de entrenamiento usted mismo, pero como es el caso de las intenciones, puede desarrollar un entrenamiento más variado (y, por lo tanto, sólido) definido por el abastecimiento de multitudes. Como se indica en las directrices de formación, la detección sólida de entidades requiere entre 600 y 5000 incidencias de cada entidad de aprendizaje automático en todo el conjunto de formación. Además, si los datos de entrenamiento de intención ya son amplios, puede que desee obtenerlos en lugar de anotar cada expresión usted mismo. En cualquier caso, debe analizar los datos de entrenamiento para averiguar si las entidades están representadas de forma uniforme y si los valores de entidad son lo suficientemente variados. Una vez finalizadas las anotaciones, entrenará el modelo y, a continuación, lo probará. Después de revisar las entidades detectadas en las ejecuciones de prueba, puede continuar actualizando el corpus y volver a entrenar para mejorar la precisión.

Para crear una entidad de aprendizaje automático:
  1. Haga clic en + Agregar entidad.
  2. Complete el cuadro de diálogo Crear entidad. Tenga en cuenta que el nombre y la descripción aparecen en las páginas de crowd worker para los trabajos de anotación de entidad.
    • Introduzca el nombre que identifica el contenido anotado. Un nombre único ayuda a los trabajadores colaborativos.
    • Introduzca una descripción. Aunque se trata de una propiedad opcional, los trabajadores colaborativos la utilizan, junto con la propiedad Name, para diferenciar entidades.
    • Seleccione Entidad de ML en la lista.
  3. Active Excluir coincidencias de entidad del sistema cuando las anotaciones de entrenamiento contengan nombres, ubicaciones, números u otro contenido que pueda chocar con los valores de entidad del sistema. La configuración de esta opción evita que el modelo extraiga los valores de entidad del sistema que están dentro de la entrada que se resuelve en esta entidad de aprendizaje automático. Aplica un límite alrededor de esta entrada para que el modelo lo reconozca solo como un valor de entidad de aprendizaje automático y no lo analice aún más para los valores de entidad del sistema. Puede definir esta opción para entidades de bolsa compuesta que hagan referencia a entidades de aprendizaje automático.
  4. Haga clic en Crear.
  5. Haga clic en +Value Entidades de lista para asociar esta entidad a hasta cinco entidades de lista de valores. Esto es opcional, pero la asociación de una entidad de ML con una entidad de lista de valores combina la extracción contextual de la entidad de ML y la extracción independiente del contexto de la entidad de lista de valores.
  6. Haga clic en el separador DataSet. Esta página muestra todas las expresiones de cada entidad de aprendizaje automático de la aptitud, que incluyen las expresiones que se ha agregado para iniciar la entidad, las enviadas desde trabajos de abastecimiento colaborativo o que se han importado como objetos JSON. Desde esta página, puede agregar expresiones de forma manual o masiva cargando un archivo JSON. También puede gestionar las expresiones de esta página editándolas (incluidas las anotaciones o las anotaciones nuevas) o suprimiéndolas, importándolas y exportándolas.
    • Agregue expresiones manualmente:
      • Haga clic en Agregar expresión. Después de agregar la expresión, haga clic en Editar anotaciones para abrir la lista de entidades.
        Nota

        Solo puede agregar una expresión a la vez. Si desea agregar expresiones en bloque, puede agregarlas mediante un trabajo de anotación de entidad o cargar un archivo JSON.
      • Resalte el texto relevante para la entidad de aprendizaje automático y, a continuación, complete el etiquetado seleccionando la entidad de aprendizaje automático en la lista de entidades. Puede eliminar una anotación haciendo clic en x en la etiqueta.
        Imagen del icono Suprimir de una anotación.

    • Agregue expresiones de un archivo JSON. Este archivo JSON contiene una lista de objetos de expresión.
      [
        {
          "Utterance": {
            "utterance": "I expensed $35.64 for group lunch at Joe's on 4/7/21",
            "languageTag": "en",
            "entities": [
              {
                "entityValue": "Joe's"   
                "entityName": "VendorName",
                "beginOffset": 37,
                "endOffset": 42
              }
            ]
          }
        },
        {
          "Utterance": {
            "utterance": "Give me my $30 for Coffee Klatch on 7/20",
            "languageTag": "en",
            "entities": [
              {
                "entityName": "VendorName",
                "beginOffset": 19,
                "endOffset": 32
              }
            ]
          }
        }
      ]
      Puede cargarla haciendo clic en Más > Importar para recuperarla del sistema local.
      El objeto entities describe las entidades de aprendizaje automático que se han identificado en la expresión. Aunque el ejemplo anterior ilustra un único objeto entities para cada expresión, una expresión puede contener varias entidades de aprendizaje automático, lo que significa varios objetos entities:
      [
        {
          "Utterance": {
            "utterance": "I want this and that",
            "languageTag": "en",
            "entities": [
              {
                "entityName": "ML_This",
                "beginOffset": 7,
                "endOffset": 11
              },
              {
                "entityName": "ML_That",
                "beginOffset": 16,
                "endOffset": 20
              }
            ]
          }
        },
        {
          "Utterance": {
            "utterance": "I want less of this and none of that",
            "languageTag": "en",
            "entities": [
              {
                "entityName": "ML_This",
                "beginOffset": 15,
                "endOffset": 19
              },
              {
                "entityName": "ML_That",
                "beginOffset": 32,
                "endOffset": 36
              }
            ]
          }
        }
      ]
      entityName identifica la propia entidad de aprendizaje automático y entityValue identifica el texto etiquetado para la entidad. entityValue es una clave opcional que puede utilizar para validar el texto etiquetado con respecto a los cambios realizados en la expresión. La etiqueta en sí se identifica mediante las propiedades beginOffset y endOffset, que representan el desplazamiento de los caracteres que comienzan y finalizan la etiqueta. Este desplazamiento está determinado por el carácter, no por la palabra, y se calcula a partir del primer carácter de la expresión (0-1).
      Nota

      No puede crear las entidades de aprendizaje automático a partir de este JSON. Deben existir antes de cargar el archivo.
      Si no desea determinar las compensaciones, puede dejar el objeto entities sin definir y, a continuación, aplicar las etiquetas después de cargar el archivo JSON.
      [
        {
          "Utterance": {
            "utterance": "I expensed $35.64 for group lunch at Joe's on 4/7/21",
            "languageTag": "en",
            "entities": []
              
            
          }
        },
        {
          "Utterance": {
            "utterance": "Give me my $30 for Coffee Klatch on 7/20",
            "languageTag": "en",
            "entities": []
            
          }
        }
      ]
      El sistema comprueba si hay duplicados para evitar entradas redundantes. Solo se aplican los cambios realizados en la definición entities en el archivo JSON. Si se ha cambiado una expresión en el archivo JSON, se considera una nueva expresión.
    • Edite una expresión anotada:
      • Haga clic en Editar Imagen del icono Editar entidad de aprendizaje automático para eliminar la anotación.
        Nota

        Una expresión modificada se considera una nueva expresión (sin anotar).
      • Haga clic en Editar anotaciones para abrir la lista de entidades.
      • Resalte el texto y, a continuación, seleccione una entidad de aprendizaje automático en la lista Entidad.
      • Si necesita eliminar una anotación, haga clic en x en la etiqueta.
  7. Cuando haya terminado de anotar las expresiones. Haga clic en Entrenar para actualizar tanto el entrenador Tm como el modelo de entidad.
  8. Pruebe el reconocimiento introduciendo una frase de prueba en el probador de expresiones, idealmente una con un valor que no se encuentra en ningún dato de entrenamiento. Compruebe los resultados para averiguar si el modelo ha detectado la entidad de aprendizaje automático correcta y si el texto se ha etiquetado correcta y completamente.
  9. Asocie la entidad de aprendizaje automático a una intención.

Excluir confrontaciones de entidad del sistema

La activación de Excluir coincidencias de entidad del sistema impide que el modelo sustituya los valores de entidad del sistema extraídos anteriormente por valores en competencia encontrados dentro de los límites de una entidad de aprendizaje automático. Con esta opción activada, "Crear una reunión el lunes para discutir el entregable del martes" mantiene separados los valores de la entidad DATE_TIME y ML resolviendo la entidad DATE_TIME aplicable (lunes) e ignorando "Martes" en el texto que se reconoce como la entidad ML ("discutir el entregable del martes").

Cuando esta opción está desactivada, la aptitud resuelve en su lugar dos valores de entidades DATE_TIME, lunes y martes. Los valores de choque como estos disminuyen la experiencia del usuario al actualizar un valor de entidad previamente ranurado con un valor no deseado o al interponer un mensaje de desambiguación que interrumpe el flujo de la conversación.
Nota

Puede definir la opción Excluir coincidencias de entidad del sistema para entidades de bolsa compuesta que hacen referencia a una entidad de aprendizaje automático.

Importación de entidades de lista de valores desde un archivo CSV

En lugar de crear las entidades una a una, puede crear juegos completos de entidades importando un archivo CSV que contenga las definiciones de la entidad.

Este archivo CSV contiene columnas para el nombre de entidad (entity), el valor de entidad (value) y cualquier sinónimo (synonyms). Puede crear este archivo desde cero, o puede reutilizar o rediseñar un CSV creado a partir de una exportación.

Tanto si está empezando uno nuevo como si utiliza un archivo exportado, debe tener en cuenta la versión de la aptitud a la que está importando debido a los cambios de formato y contenido del soporte de idioma nativo que se han introducido en la versión 20.12. Aunque puede importar un CSV de una versión anterior a una aptitud de la versión 20.12 sin incidentes en la mayoría de los casos, aún hay algunas incidencias de compatibilidad que puede que necesite solucionar. Pero antes de eso, veamos el formato de un archivo anterior a la versión 20.12. Este archivo está dividido en las siguientes columnas: entity, value y synonyms. Por ejemplo:
entity,value,synonyms
PizzaSize,Large,lrg:lrge:big
PizzaSize,Medium,med
PizzaSize,Small,little
Para las aptitudes creadas con la versión 20.12 o actualizadas a ella, los archivos de importación tienen etiquetas de idioma agregadas a las cabeceras de columna value y synonyms. Por ejemplo, si el idioma nativo principal de la aptitud es el inglés (en), las columnas value y synonyms son en:value y en:synonyms:
entity,en:value,en:synonyms
PizzaSize,Large,lrg:lrge:big
PizzaSize,Medium,med
PizzaSize,Small,
PizzaSize,Extra Large,XL
Los archivos CSV que soporten varios idiomas nativos requieren juegos adicionales de columnas value y synonyms para cada idioma secundario. Si el idioma secundario de una aptitud en inglés como idioma nativo es el francés (fr), el CSV tiene columnas fr:value y fr:synonyms como equivalentes a las columnas en:
entity,en:value,en:synonyms,fr:value,fr:synonyms
PizzaSize,Large,lrg:lrge:big,grande,grde:g
PizzaSize,Medium,med,moyenne,moy
PizzaSize,Small,,petite,p
PizzaSize,Extra Large,XL,pizza extra large,
A continuación, se indican algunos aspectos que debe tener en cuenta si desea importar archivos CSV en versiones:
  • Si importa un CSV anterior a la versión 20.12 en una aptitud de la versión 20.12 (incluidas las que soporten idiomas nativos o utilicen servicios de traducción), los valores y los sinónimos se importan como idiomas principales.
  • Todos los valores de entidad tanto para los idiomas principal como secundario deben ser únicos en una entidad, por lo que no puede importar un CSV si el mismo valor se ha definido más de una vez para una única entidad. Los valores duplicados se pueden producir en versiones anteriores a la 20.12, donde los valores se pueden considerar únicos debido a variaciones en las mayúsculas y minúsculas. Esto no es válido para la versión 20.12, donde las mayúsculas y minúsculas se aplican de forma más estricta. Por ejemplo, no puede importar un CSV si tiene tanto PizzaSize, Small como PizzaSize, SMALL. Si tiene previsto actualizar la versión 20.12, primero debe resolver todos los valores de entidad que sean iguales, pero diferenciados solo por mayúsculas y minúsculas antes de realizar la actualización.
  • El soporte de idioma principal se aplica a las aptitudes creadas con la versión 20.12 y posteriores, por lo que primero debe eliminar las etiquetas de idioma y cualquier entrada de idioma secundario para poder importar un CSV de la versión 20.12 a una aptitud creada con una versión anterior.
Al importar un CSV de la versión 20.12 a una aptitud de la versión 20.12:
  • Puede importar un CSV multilingüe en aptitudes que no utilizan soporte de idioma nativo, incluidos los que utilizan servicios de traducción.
  • Si importa un CSV multilingüe en una aptitud que soporte idiomas nativos o utilice servicios de traducción, solo se importan las filas que proporcionan un valor válido para el idioma principal. El resto se ignorará.
Con estas advertencias en mente, aquí se muestra cómo crear entidades mediante una importación:
  1. Haga clic en Entidades (Imagen del icono Entidades.) en la barra de navegación lateral.

  2. Haga clic en más, seleccione Importar entidades de lista de valores y, a continuación, seleccione el archivo .csv del sistema local.
    Descripción de import-entities.png
    Descripción de la ilustración import-entities.png

  3. Agregue la entidad o las entidades a una intención (o a una lista de entidades y, a continuación, a una intención).

Exportación de entidades de lista de valores a un archivo CSV

Puede exportar los valores y sinónimos de un archivo CSV para volver a utilizarlos en otra aptitud. Los CSV exportados comparten el mismo formato que los CSV utilizados para crear entidades mediante importaciones, ya que contienen columnas entity, value y synonyms. Estos CSV tienen requisitos específicos de la versión que pueden afectar a su reutilización.
  • Los CSV exportados de las aptitudes creadas con la versión 20.12, o actualizadas a ella, permiten el soporte de idioma nativo mediante las etiquetas de idioma principal (y a veces secundario) que se agregan a las columnas value y synonyms. Por ejemplo, el archivo CSV del siguiente fragmento tiene un juego de columnas value y synonyms para el idioma principal de la aptitud, inglés (en) y otro juego para su idioma secundario, francés (fr):
    entity,en:value,en:synonyms,fr:value,fr:synonyms
    Las etiquetas de idioma principal se incluyen en todos los CSV de la versión 20.12, independientemente del soporte de idioma nativo. Están presentes en aptitudes que no están diseñadas para realizar ningún tipo de traducción (nativa o a través de un servicio de traducción) y en aptitudes que utilizan servicios de traducción.
  • Los CSV exportados de aptitudes que se ejecutan en versiones anteriores a la versión 20.12 tienen las columnas de entidad, valor y sinónimos, pero no tienen etiquetas de idioma.
Para exportar entidades de lista de valores:
  1. Haga clic en Entidades (Imagen del icono Entidades.) en la barra de navegación lateral.

  2. Haga clic en Más, seleccione Exportar entidades de lista de valores y, a continuación, guarde el archivo.
    Descripción de la exportación-entities.png
    Descripción de la ilustración export-entities.png

    El nombre del archivo .csv exportado se adecúa a la actitud. Si va a utilizar este archivo como una importación, puede que necesite realizar algunas de las ediciones descritas en Importación de intenciones desde un archivo CSV si va a importarlo a o exportarlo de las aptitudes y versiones anteriores de la versión 20.12.

Creación de entidades dinámicas

Los valores de entidades dinámicas se gestionan mediante los puntos finales de la API de entidades dinámicas que se describen en API de REST para Oracle Digital Assistant. Para agregar, modificar y suprimir los valores y sinónimos de la entidad, primero debe crear una entidad dinámica para generar el valor entityId que se utiliza en las llamadas de REST.

Para crear la entidad dinámica:
  1. Haga clic en + Entidad.
  2. Seleccione Entidades dinámicas en la lista Tipo.
  3. Si el servicio de backend no está disponible o todavía no ha transferido ningún valor, o si no mantiene el servicio, haga clic en + Valor para agregar los valores ficticios que puede utilizar para realizar pruebas. Normalmente, debería agregar estos valores estáticos antes de que se aplique la infraestructura de entidad dinámica. Estos valores se pierden al clonar, versionar o exportar una aptitud. Después de aprovisionar los valores de entidad a través de la API, puede sobrescribir, o retener, estos valores (aunque en la mayoría de los casos los sobrescribirá).
  4. Haga clic en Crear.

Consejo:

Si la API refresca los valores de entidad a medida que prueba la conversación, haga clic en Restablecer para reiniciar la conversación.
Un par de notas para desarrolladores de servicios:
  • Puede consultar las entidades dinámicas configuradas para una aptitud utilizando el elemento entityId generado con botId. Estos valores se incluyen en las llamadas para crear las solicitudes y los objetos push que actualizan los valores de la entidad.
  • Una entidad no puede tener más de 150.000 valores. Para reducir la probabilidad de que se exceda este límite cuando manipule grandes cantidades de datos, envíe solicitudes PATCH con sus supresiones antes de enviar solicitudes PATCH con sus adiciones.
Nota

Las entidades dinámicas solo están soportadas en instancias de Oracle Digital Assistant aprovisionadas en Oracle Cloud Infrastructure (a veces denominada infraestructura en la nube de 2ª generación). Si la instancia está provisionada en Oracle Cloud Platform (como ocurre con todas las instancias de la versión 19.4.1), no puede utilizar esta función.

Directrices para la creación de entidades de aprendizaje automático

A continuación, se muestra un enfoque general para crear una entidad de aprendizaje automático.
  1. Cree entidades de aprendizaje automático concisas. La definición de entidad de aprendizaje automático se encuentra en la base de un juego de entrenamiento útil, por lo que la claridad es clave en términos de nombre y descripción que ayudan a los trabajadores colaborativos a anotar expresiones.

    Debido a que los trabajadores colaborativos confían en las descripciones y nombres de las entidades de aprendizaje automático, debe asegurarse de que las entidades de aprendizaje automático se puedan distinguir entre sí fácilmente, especialmente cuando existe una posible superposición. Si las diferencias no son claras para usted, es probable que los trabajadores multitudinarios estén confundidos. Por ejemplo, las entidades Comerciante y Tipo de cuenta pueden ser difíciles de diferenciar en algunos casos. En "Transferir $100 de mi cuenta de ahorros a Pacific Gas and Electric", puede etiquetar claramente "ahorros" como Tipo de cuenta y Pacific Gas and Electric como comerciante. Sin embargo, el límite entre los dos puede ser borroso en frases como "Necesidad de enviar dinero a John, transferir $ 100 de mis ahorros a su cuenta corriente". ¿Es "cuenta corriente" un tipo de cuenta o un nombre de comerciante? En este caso, puede decidir que cualquier destinatario siempre debe ser un nombre de comerciante en lugar de un tipo de cuenta.

  2. Para preparar el abastecimiento colaborativo de las expresiones de entrenamiento, tenga en cuenta la entrada de usuario típica para diferentes contextos de extracción de entidades. Por ejemplo, ¿se puede extraer el valor en el mensaje inicial del usuario (contexto de expresión inicial) o se extrae de las respuestas a las peticiones de datos de la aptitud (contexto de expresión de espacio)?
    Contexto Descripción Expresiones de ejemplo (valores de entidad de aprendizaje automático detectados en negrita)
    Contexto de expresión inicial Mensaje que suele estar bien estructurado e incluye valores de entidad de aprendizaje automático. Para una aptitud de generación de informes de gastos, por ejemplo, la expresión incluiría un valor que el modelo pueda detectar para una entidad de aprendizaje automático denominada Comerciante. Cree un gasto para la cena de equipo en John's Pasta Shop por $85 el 3 de mayo
    Contexto de expresión de espacio Mensaje de usuario que proporciona la entidad de aprendizaje automático en respuesta a una petición de datos, ya sea debido al diseño de la conversación (la aptitud solicita "¿Quién es el comerciante?") o para asignar un espacio a un valor porque no ha sido proporcionado por una respuesta enviada anteriormente.

    En otras circunstancias, es posible que ya se haya proporcionado el valor Entidad de aprendizaje automático, pero que se pueda incluir en otros mensajes de usuario de la misma conversación. Por ejemplo, la aptitud puede solicitar a los usuarios que proporcionen detalles de gastos adicionales o describan la imagen de un recibo cargado.

    • El comerciante es John's Pasta Shop.
    • Cena de equipo. Importe $85. John's Pasta Shop.
    • La descripción es TurboTaxi desde casa hasta el aeropuerto de CMH.
    • Recibo del Grandiose Shack Hotel para el simposio sobre la nube
  3. Recopile sus datos de entrenamiento y pruebas.
    • Si ya tiene una recopilación suficiente de expresiones, puede que desee evaluarlas para la distribución de entidades y la diversidad de valores de entidades antes de iniciar un trabajo de anotación de entidades.
    • Si no tiene suficientes datos de entrenamiento o si está empezando desde cero, inicie un trabajo de parafraseo de intención. Para recopilar expresiones viables (y abundantes) para la formación y las pruebas, integre el contexto de la entidad en el trabajo mediante la creación de tareas para cada intención. Para recopilar diversas frases, considere desglosar cada intención por contexto de conversación.
    • Para la petición de datos de la tarea, proporcione el contexto de los trabajadores colaborativos y pregúnteles: "¿Cómo respondería?" o "¿Qué diría?" Utilice las indicaciones adjuntas para proporcionar ejemplos e ilustrar diferentes contextos. Por ejemplo:
      Petición de datos Indicación
      Está hablando con un bot de informes de gastos y desea crear un gasto. ¿Cuál sería la primera cosa que dirías? Asegúrese de que el nombre del comerciante esté en la expresión. Podrías decir algo como: "Crea un gasto para la cena de equipo en John's Pasta Shop por $85 el 3 de mayo".
      Esta tarea solicita frases que no solo inician la conversación, sino que también incluyen un nombre de comerciante. También puede que desee expresiones que reflejen las respuestas solicitadas por la aptitud cuando el usuario no proporcione un valor. Por ejemplo, "El comerciante es la tienda de pasta de John" en respuesta al indicador "¿Quién es el comerciante?" de la aptitud.
      Petición de datos Indicación
      Envió un gasto a un bot de informes de gastos, pero no proporcionó un nombre de comerciante. ¿Cómo respondería? Identifique al comerciante. Por ejemplo, "El comerciante es la tienda de pasta de John".
      Ha cargado una imagen de un recibo en un bot de informes de gastos. Ahora te pide que describas el recibo. ¿Cómo respondería? Identifique el nombre del comerciante en el recibo. Por ejemplo: "Grandiose Shack Hotel recibo para el simposio de la nube."
      Para probar falsos positivos para las pruebas, palabras y frases que el modelo no debe identificar como entidades de aprendizaje automático, también puede que desee recopilar "ejemplos negativos". Estas expresiones incluyen un valor de entidad de aprendizaje automático.
      Contexto Expresiones de ejemplo
      Contexto de expresión inicial Devuélveme la cena del martes
      Contexto de expresión de espacio
      • Cena post presentación. Importe $50. 4 personas.
      • Descripción xerox almuerzo para 5
      • Recepción de hotel para estancia de entrevista
    • Recopile un gran conjunto de entrenamiento definiendo un número adecuado de parafrases por intención. Para que el modelo se genere correctamente, el juego de datos debe contener entre 500 y 5000 incidencias para cada entidad de aprendizaje automático. Lo ideal es evitar el extremo inferior de este rango.
  4. Una vez que los trabajadores colaborativos hayan completado el trabajo (o hayan completado suficientes expresiones para poder cancelar el trabajo), puede agregar las expresiones o iniciar un trabajo de validación de intenciones para verificarlas. También puede descargar los resultados en su sistema local para una revisión adicional.
  5. Reserve alrededor del 20% de las expresiones para realizar pruebas. Para crear CSV para el comprobador de expresiones desde los CSV descargados para los trabajos de parafraseo de intenciones y validación de intenciones:
    • Para trabajos de parafraseo de intenciones: transfiera el contenido de la columna result (las expresiones proporcionadas por los trabajadores colaborativos) a la columna utterance en el CSV del comprobador de expresiones. Transfiera el contenido de la columna intentName a la columna expectedIntent en el CSV del comprobador de expresiones.
    • Para trabajos de validación de intenciones: transfiera el contenido de la columna prompt (las expresiones proporcionadas por los trabajadores colaborativos) a la columna utterance en el CSV del comprobador de expresiones. Transfiera el contenido de la columna intentName a la columna expectedIntent en el CSV del comprobador de expresiones.
  6. Agregue las expresiones restantes a un archivo CSV con una sola columna, utterance. Cree un trabajo de anotación de entidad cargando este CSV. Debido a que los trabajadores etiquetan los valores de entidad, es probable que clasifiquen las expresiones negativas como "No estoy seguro" o "No se aplica ninguna de las entidades".
  7. Una vez finalizado el trabajo de anotación de entidad, puede agregar los resultados o iniciar un trabajo de validación de entidad para verificar el etiquetado. Solo se pueden agregar al corpus las expresiones que los trabajadores consideren correctas en un trabajo de validación de entidad.

    Consejo:

    Puede agregar, eliminar o ajustar las etiquetas de anotación en el separador Juego de datos de la página Entidades.
  8. Entrene la entidad seleccionando Entidad.
  9. Ejecute casos de prueba para evaluar el reconocimiento de entidades mediante las expresiones que ha reservado del trabajo de parafraseo de intenciones. Puede dividir estas expresiones en diferentes conjuntos de pruebas para probar diferentes comportamientos (valores desconocidos, puntuación que puede no estar presente en los datos de entrenamiento, falsos positivos, etc.). Debido a que puede haber un gran número de estas expresiones, puede crear conjuntos de pruebas cargando un CSV en el comprobador de expresiones.

    Nota

    El comprobador de expresiones solo muestra etiquetas de entidad para transferir casos de prueba. Utilice una prueba rápida en su lugar para ver las etiquetas de las expresiones que se resuelven por debajo del umbral de confianza.
  10. Utilice los resultados para acotar el juego de datos. Agregue, elimine o edite de forma iterativa las expresiones de entrenamiento hasta que los resultados de la ejecución de prueba indiquen que el modelo está identificando efectivamente las entidades de aprendizaje automático.
    Nota

    Para evitar coincidencias de entidad involuntarias que degraden la experiencia del usuario, active Excluir coincidencias de entidad del sistema si los datos de entrenamiento contienen nombres, ubicaciones y números.

Directrices de formación de entidades de aprendizaje automático

El modelo generaliza una entidad utilizando tanto el contexto alrededor de una palabra (o palabras) como la información léxica sobre la palabra en sí. Para que el modelo se generalice de forma eficaz, recomendamos que el número de anotaciones por entidad oscile entre 500 y 5000. Puede que ya tenga un juego de entrenamiento lo suficientemente grande y que tenga la variación de los valores de entidad que esperaría de los usuarios finales. Si este es el caso, puede iniciar un trabajo de anotación de entidad y, a continuación, incorporar los resultados a los datos de entrenamiento. Sin embargo, si no tiene suficientes datos de entrenamiento o si los datos que tiene carecen de cobertura suficiente para todas las entidades de aprendizaje automático, puede recopilar expresiones de trabajos de parafraseo de intención de origen colectivo.

Cualquiera que sea la fuente, la distribución de valores de entidad debe reflejar la idea general de los valores que puede encontrar el modelo. Para entrenar adecuadamente el modelo:
  • No utilice en exceso los mismos valores de entidad en los datos de entrenamiento. Los valores de entidad repetitivos en los datos de entrenamiento impiden que el modelo se genere en valores desconocidos. Por ejemplo, espera que la entidad de aprendizaje automático reconozca una variedad de valores, pero la entidad solo está representada por entre 10 y 20 valores diferentes en el juego de entrenamiento. En este caso, el modelo no generalizará, aunque haya dos o tres mil anotaciones.
  • Cambie el número de palabras para cada valor de entidad. Si espera que los usuarios introduzcan valores de entidad de tres a cinco palabras de longitud, pero los datos de entrenamiento están anotados con valores de entidad de una o dos palabras, puede que el modelo no identifique la entidad a medida que aumenta el número de palabras. En algunos casos, solo puede identificar parcialmente la entidad. El modelo asume el límite de entidad de las expresiones que ha proporcionado. Si ha entrenado el modelo en valores con una o dos palabras, se asume que el límite de entidad solo tiene una o dos palabras. La adición de entidades con más palabras permite al modelo reconocer límites de entidad más largos.
  • La longitud de expresión debe reflejar su caso de uso y la entrada anticipada del usuario. Puede entrenar el modelo para detectar entidades para mensajes de longitud variable mediante la recopilación de expresiones cortas y largas. Las expresiones pueden incluso tener varias frases. Si espera expresiones cortas que reflejen el contexto de relleno de espacio, recopile los datos de ejemplo según corresponda. Del mismo modo, si anticipa expresiones para el escenario de contexto inicial, el juego de entrenamiento debe contener frases completas.
  • Incluya la puntuación. Si los nombres de entidad necesitan caracteres especiales, como '-' y '/', inclúyalos en los valores de entidad de los datos de entrenamiento.
  • Asegúrese de que todas las entidades de aprendizaje automático estén representadas por igual en los datos de entrenamiento. Un juego de entrenamiento desequilibrado tiene demasiadas instancias de una entidad y muy pocas de otra. Los modelos producidos a partir de conjuntos de entrenamiento desequilibrados a veces no detectan la entidad con muy pocas instancias y prevén en exceso las entidades con instancias desproporcionadamente altas. Esto conduce a falsos positivos.

Directrices de prueba de entidad de aprendizaje automático

Antes de entrenar la aptitud, debe reservar alrededor del 20 % de expresiones no anotadas para averiguar cómo se generaliza el modelo cuando se le presentan expresiones o valores de entidad que no forman parte de sus datos de entrenamiento. Puede que este juego de expresiones no sea el único juego de pruebas, según los comportamientos que desee evaluar. Por ejemplo:
  • Utilice solo expresiones de contexto de espacio para averiguar de qué manera el modelo predice las entidades con menos contexto.
  • Utilice expresiones con valores "desconocidos" para averiguar el grado de generalización del modelo con valores que no están presentes en los datos de entrenamiento.
  • Utilice expresiones sin entidades de aprendizaje automático para averiguar si el modelo detecta falsos positivos.
  • Utilice expresiones que contengan valores de entidad de aprendizaje automático con puntuación para averiguar el rendimiento del modelo con valores de entidad inusuales.