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 unDeferToRecognizer_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 propiedadturn.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:
- Uso de LUIS para el reconocimiento del lenguaje
- LUIS.ai es un servicio basado en aprendizaje automático que permite crear funcionalidades de lenguaje natural en el bot.
- ¿Qué es LUIS?
- Reconocimiento del lenguaje
- Formato de archivo .lu
- Expresiones adaptadas
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 objetoIntents
contiene una lista de objetosIntentPattern
, y estos objetosIntentPattern
constan de una propiedadIntent
, que es el nombre de la intención, y una propiedadPattern
que contiene una expresión regular que se usa para analizar la expresión con el fin de determinar la intención.Entities
. El objetoEntities
contiene una lista de objetosEntityRecognizer
. El SDK Bot Framework define varias clasesEntityRecognizer
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
conIntent = "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.