Reconocedores en diálogos adaptables

SE APLICA A: SDK v4

Los reconocedores de lenguaje permiten que el bot interprete la entrada de usuario. Los cuadros de diálogo adaptables y los reconocedores de lenguaje funcionan conjuntamente para interpretar la intención del usuario y reaccionar fluidamente a la entrada del usuario. En este artículo se describen los reconocedores integrados en Bot Framework SDK y algunas de sus propiedades clave.

Para obtener información sobre cómo se usa el reconocedor, consulte Reconocimiento del lenguaje en la documentación de Bot Framework Composer.

Conjunto de reconocedores con entrenamiento cruzado

El conjunto de reconocedores con entrenamiento cruzado compara los resultados del reconocimiento de más de un reconocedor para decidir un ganador. Dada una colección de reconocedores, el reconocedor con entrenamiento cruzado hará lo siguiente:

  • Promover el resultado del reconocimiento de uno de los reconocedores si el resto de los reconocedores aplazan el reconocimiento a un solo reconocedor. Para aplazar el reconocimiento, un reconocedor puede devolver la intención None o un DeferToRecognizer_recognizerId explícito como intención.
  • Genera un evento OnChooseIntent para que el código pueda elegir el resultado de reconocimiento que se va a usar. Los resultados de cada reconocedor se devuelven mediante la propiedad turn.recognized.candidates. Esto permite elegir el resultado más adecuado.

Reconocedor predeterminado

Nota:

Azure AI QnA Maker se retirará el 31 de marzo de 2025. A partir del 1 de octubre de 2022, no podrá crear nuevos recursos o bases de conocimiento de QnA Maker. Ya hay disponible una versión más reciente de la funcionalidad de preguntas y respuestas como parte de Lenguaje de Azure AI.

La respuesta a preguntas personalizadas, una característica de Lenguaje de Azure AI, es la versión actualizada del servicio QnA Maker. Para obtener más información sobre la compatibilidad con preguntas y respuestas en el SDK de Bot Framework, consulte Reconocimiento del lenguaje natural.

Nota:

Reconocimiento del lenguaje (LUIS) se retirará el 1 de octubre de 2025. A partir del 1 de abril de 2023, no podrá crear nuevos recursos de LUIS. Hay disponible una versión más reciente de las funcionalidades de reconocimiento del lenguaje como parte del Lenguaje de Azure AI.

Reconocimiento del lenguaje conversacional (CLU), una característica del lenguaje de Azure AI, es la versión actualizada de LUIS. Para obtener más información sobre la compatibilidad con reconocimiento del lenguaje en el SDK de Bot Framework, consulte Reconocimiento del lenguaje natural.

Se creó el reconocedor predeterminado para reemplazar los siguientes reconocedores:

  • Reconocedor LUIS: para extraer intenciones y entidades de la expresión de un usuario en función del servicio definido de Reconocimiento del lenguaje (LUIS).
  • Reconocedor de QnA Maker: para extraer intenciones de la expresión de un usuario en función del servicio QnA Maker definido.
  • El conjunto de reconocedores con entrenamiento cruzado compara los resultados del reconocimiento de más de un reconocedor para decidir un ganador.

Reconocedor de LUIS

Language Understanding (LUIS) es un servicio de API basado en la nube que aplica inteligencia de aprendizaje automático personalizado a una conversación o un texto de lenguaje natural de un usuario para predecir el significado global y extraer información pertinente y detallada. El reconocedor de LUIS permite extraer las intenciones y entidades de una expresión del usuario basándose en la aplicación de LUIS definida, que se entrena de antemano.

Sugerencia

Para más información sobre cómo incorporar reconocimiento del lenguaje en el bot mediante LUIS, consulte:

Reconocedor multilingüe

Al compilar un bot multilingüe sofisticado, normalmente tendrá un reconocedor para cada idioma y una configuración regional. El reconocedor multilingüe permite especificar fácilmente el reconocedor que se va a usar en función de la propiedad locale de la actividad entrante de un usuario.

Para obtener más información, consulte el artículo Compatibilidad multilingüe en la documentación de Composer.

Reconocedor de Orchestrator

Orchestrator es una solución de reconocimiento del lenguaje optimizada para aplicaciones de IA conversacional. Reemplaza Bot Framework Dispatcher. El reconocedor de Orchestrator le permite extraer una intención de la expresión de un usuario, que se podría usar para enrutar a una aptitud o reconocedor adecuado, como LUIS o QnA Maker.

Sugerencia

Para más información sobre cómo incorporar reconocimiento del lenguaje en el bot mediante Orchestrator, consulte:

Reconocedor QnA Maker

QnAMaker.ai es uno de los Servicios de Azure AI que permite crear pares de preguntas y respuestas enriquecidas a partir de documentos de contenido existente, direcciones URL, archivos PDF, etc. Puede integrar el reconocedor QnA Maker en el servicio.

Nota:

El reconocedor QnA Maker emitirá un evento QnAMatch que se puede controlar con un desencadenador OnQnAMatch. Toda la respuesta de QnA Maker estará disponible en la propiedad answer.

Conjunto de reconocedores

En ocasiones, es posible que tenga que ejecutar más de un reconocedor en cada turno de la conversación. El conjunto de reconocedor hace exactamente eso. Todos los reconocedores se ejecutan en cada turno de la conversación y el resultado es la unión de todos los resultados del reconocimiento.

Reconocedor de expresiones regulares (regex)

El reconocedor RegEx utiliza expresiones regulares para extraer datos de intención y entidad a partir de una expresión.

El reconocedor Regex consta principalmente de:

  • Intents. El objeto Intents contiene una lista de objetos IntentPattern, y estos objetos IntentPattern constan de una propiedad Intent, que es el nombre de la intención, y una propiedad Pattern que contiene una expresión regular que se usa para analizar la expresión con el fin de determinar la intención.
  • Entities. El objeto Entities contiene una lista de objetos EntityRecognizer. El SDK Bot Framework define varias clases EntityRecognizer para ayudarle a determinar las entidades contenidas en una expresión del usuario:
    • AgeEntityRecognizer
    • ConfirmationEntityRecognizer
    • CurrencyEntityRecognizer
    • DateTimeEntityRecognizer
    • DimensionEntityRecognizer
    • EmailEntityRecognizer
    • EntityRecognizer
    • EntityRecognizerSet
    • GuidEntityRecognizer
    • HashtagEntityRecognizer
    • IpEntityRecognizer
    • MentionEntityRecognizer
    • NumberEntityRecognizer
    • NumberRangeEntityRecognizer
    • OrdinalEntityRecognizer
    • PercentageEntityRecognizer
    • PhoneNumberEntityRecognizer
    • RegExEntityRecognizer
    • TemperatureEntityRecognizer
    • TextEntity
    • TextEntityRecognizer
    • UrlEntityRecognizer

Sugerencia

  • El reconocedor Regex emitirá una intención "Ninguno" cuando la expresión de entrada no coincida con ninguna intención definida. Puede crear un desencadenador OnIntent con Intent = "None" para controlar este escenario.
  • El reconocedor Regex es útil para pruebas y para crear prototipos rápidos. Para crear bots más sofisticados, se recomienda usar el reconocedor de reconocimiento del lenguaje (LUIS).
  • Es posible que le resulte útil la Referencia rápida del lenguaje de expresiones regulares.

Información adicional