¿Qué es Language Understanding (LUIS)?What is Language Understanding (LUIS)?

Importante

TLS 1.2 ya se exige en todas las solicitudes HTTP para este servicio.TLS 1.2 is now enforced for all HTTP requests to this service. Para más información, consulte Seguridad de Azure Cognitive Services.For more information, see Azure Cognitive Services security.

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.Language Understanding (LUIS) is a cloud-based API service that applies custom machine-learning intelligence to a user's conversational, natural language text to predict overall meaning, and pull out relevant, detailed information.

Una aplicación cliente para LUIS es cualquier aplicación conversacional que se comunique con un usuario en lenguaje natural para completar una tarea.A client application for LUIS is any conversational application that communicates with a user in natural language to complete a task. Entre estas aplicaciones cliente se encuentran, por ejemplo, aplicaciones de redes sociales, bots de chat y aplicaciones de escritorio habilitadas para voz.Examples of client applications include social media apps, chat bots, and speech-enabled desktop applications.

Imagen conceptual de tres aplicaciones cliente que funcionan con Language Understanding (LUIS) de Cognitive ServicesConceptual image of 3 client applications working with Cognitive Services Language Understanding (LUIS)

Uso de LUIS en un bot de chatUse LUIS in a chat bot

Una vez que la aplicación de LUIS está publicada, la aplicación cliente envía expresiones (texto) a la API del punto de conexión de procesamiento de lenguaje natural de LUIS y recibe los resultados como respuestas en formato JSON.Once the LUIS app is published, a client application sends utterances (text) to the LUIS natural language processing endpoint API and receives the results as JSON responses. Una aplicación cliente común para LUIS es un bot de chat.A common client application for LUIS is a chat bot.

Imagen conceptual del funcionamiento de LUIS con el bot de chat para predecir el texto del usuario con la comprensión del lenguaje natural (NLP)Conceptual imagery of LUIS working with Chat bot to predict user text with natural language understanding (NLP)

PasoStep AcciónAction
11 La aplicación cliente envía la expresión del usuario (el texto en sus propias palabras), "I want to call my HR rep" ("Quiero llamar a mi representante de recursos humanos")The client application sends the user utterance (text in their own words), "I want to call my HR rep." al punto de conexión de LUIS como una solicitud HTTP.to the LUIS endpoint as an HTTP request.
22 LUIS le permite diseñar modelos de lenguaje personalizados para agregar inteligencia a su aplicación.LUIS enables you to craft your custom language models to add intelligence to your application. Los modelos de lenguaje de aprendizaje automático toman el texto de entrada no estructurado del usuario y devuelven una respuesta con formato JSON, con una intención alta, HRContact.Machine learned language models take the user's unstructured input text and returns a JSON-formatted response, with a top intent, HRContact. La respuesta en formato JSON del punto de conexión contiene como mínimo la expresión de consulta y la intención con mayor puntuación.The minimum JSON endpoint response contains the query utterance, and the top scoring intent. También puede extraer datos, como la entidad Tipo de contacto.It can also extract data such as the Contact Type entity.
33 La aplicación cliente usa la respuesta JSON para tomar decisiones acerca de cómo responder a las solicitudes del usuario.The client application uses the JSON response to make decisions about how to fulfill the user's requests. Estas decisiones pueden incluir árboles de decisión en el código de Bot Framework y llamadas a otros servicios.These decisions can include decision tree in the bot framework code and calls to other services.

La aplicación de LUIS proporciona inteligencia para que la aplicación cliente pueda tomar decisiones inteligentes.The LUIS app provides intelligence so the client application can make smart choices. LUIS no proporciona estas opciones.LUIS doesn't provide those choices.

Procesamiento de lenguaje naturalNatural language processing

La aplicación de LUIS contiene un modelo de lenguaje natural específico de un dominio.Your LUIS app contains a domain-specific natural language model. Puede iniciar la aplicación de LUIS con un modelo de dominio creado previamente, crear el suyo propio o combinar partes de un dominio creado previamente con su propia información personalizada.You can start the LUIS app with a prebuilt domain model, build your own model, or blend pieces of a prebuilt domain with your own custom information.

  • Modelo creado previamente LUIS tiene muchos modelos de dominio creados previamente, entre los que se incluyen intenciones, expresiones y entidades creadas previamente.Prebuilt model LUIS has many prebuilt domain models including intents, utterances, and prebuilt entities. Puede usar las entidades creadas previamente sin tener que utilizar las intenciones y expresiones del modelo precompilado.You can use the prebuilt entities without having to use the intents and utterances of the prebuilt model. Los modelos de dominio creados previamente incluyen todo el diseño y suponen una excelente manera de empezar a usar rápidamente LUIS.Prebuilt domain models include the entire design for you and are a great way to start using LUIS quickly.

  • Modelo personalizado: LUIS le ofrece varias maneras de identificar sus propios modelos personalizados, incluidas las intenciones y las entidades.Custom model LUIS gives you several ways to identify your own custom models including intents, and entities. Las entidades incluyen entidades de aprendizaje automático, específicas o literales, y una combinación de entidades de aprendizaje automático y literales.Entities include machine-learning entities, specific or literal entities, and a combination of machine-learning and literal.

Creación del modelo de LUISBuild the LUIS model

Cree el modelo con las API de creación o con el portal de LUIS.Build the model with the authoring APIs or with the LUIS portal.

El modelo de LUIS comienza con categorías de intenciones del usuario llamadas intenciones .The LUIS model begins with categories of user intentions called intents. Cada intención necesita ejemplos de expresiones del usuario.Each intent needs examples of user utterances. Cada expresión puede proporcionar datos que es necesario extraer.Each utterance can provide data that needs to be extracted.

Expresión de usuario de ejemploExample user utterance IntenciónIntent Datos extraídosExtracted data
Book a flight to Seattle? BookFlightBookFlight SeattleSeattle
When does your store open? StoreHoursAndLocationStoreHoursAndLocation abiertoopen
Schedule a meeting at 1pm with Bob in Distribution ScheduleMeetingScheduleMeeting 1 p.m., Bob1pm, Bob

Consulta de un punto de conexión de predicciónQuery prediction endpoint

Después de que la aplicación se ha entrenado y publicado en el punto de conexión, la aplicación cliente envía expresiones a la API del punto de conexión de predicción.After your app is trained and published to the endpoint, the client application sends utterances to the prediction endpoint API. La API aplica el modelo a la expresión para su análisis y responde con los resultados de la predicción en formato JSON.The API applies the model to the utterance for analysis and responds with the prediction results in a JSON format.

La respuesta en formato JSON del punto de conexión contiene como mínimo la expresión de consulta y la intención con mayor puntuación.The minimum JSON endpoint response contains the query utterance, and the top scoring intent. También puede extraer datos, como la siguiente entidad Tipo de contacto y la opinión general.It can also extract data such as the following Contact Type entity and overall sentiment.

{
    "query": "I want to call my HR rep",
    "prediction": {
        "normalizedQuery": "i want to call my hr rep",
        "topIntent": "HRContact",
        "intents": {
            "HRContact": {
                "score": 0.8582669
            }
        },
        "entities": {
            "Contact Type": [
                "call"
            ]
        },
        "sentiment": {
            "label": "negative",
            "score": 0.103343368
        }
    }
}

Mejora de la predicción del modeloImprove model prediction

Después de publicar la aplicación de LUIS y recibir expresiones de usuario reales, LUIS proporciona aprendizaje activo de las expresiones del punto de conexión para mejorar la precisión de la predicción.After your LUIS app is published and receives real user utterances, LUIS provides active learning of endpoint utterances to improve prediction accuracy.

Ciclo de vida del desarrolloDevelopment lifecycle

LUIS proporciona herramientas, control de versiones y colaboración con otros autores de LUIS para integrarse en el ciclo de vida de desarrollo completo.LUIS provides tools, versioning, and collaboration with other LUIS authors to integrate into the full development life cycle.

Implementación de LUISImplementing LUIS

Language Understanding (LUIS), como API REST, se puede usar con cualquier producto, servicio o marco con una solicitud HTTP.Language Understanding (LUIS), as a REST API, can be used with any product, service, or framework with an HTTP request. La lista siguiente contiene los principales productos y servicios de Microsoft que se utilizan con LUIS.The following list contains the top Microsoft products and services used with LUIS.

La principal aplicación cliente para LUIS es:The top client application for LUIS is:

  • Bot de aplicación web para crear rápidamente un bot de chat habilitado para LUIS para hablar con un usuario mediante entrada de texto.Web app bot quickly creates a LUIS-enabled chat bot to talk with a user via text input. Usa Bot Framework versión 4.x para una experiencia de bot completa.Uses Bot Framework version 4.x for a complete bot experience.

Herramientas para usar de forma rápida y sencilla LUIS con un bot:Tools to quickly and easily use LUIS with a bot:

  • CLI de LUIS: paquete NPM que proporciona creación y predicción mediante una herramienta independiente de la línea de comandos o como importación.LUIS CLI The NPM package provides authoring and prediction with as either a stand-alone command-line tool or as import.
  • LUISGen LUISGen es una herramienta para generar código fuente de C# y de TypeScript fuertemente tipado a partir de un modelo de LUIS exportado.LUISGen LUISGen is a tool for generating strongly typed C# and typescript source code from an exported LUIS model.
  • Dispatch permite que una aplicación primaria utilice varias aplicaciones de LUIS y QnA Maker mediante el uso de un modelo de distribuidor.Dispatch allows several LUIS and QnA Maker apps to be used from a parent app using dispatcher model.
  • LUDown LUDown es una herramienta de la línea de comandos que ayuda a administrar los modelos de lenguaje para el bot.LUDown LUDown is a command-line tool that helps manage language models for your bot.
  • Bot Framework Composer: es una herramienta de desarrollo integrado para desarrolladores y equipos multidisciplinares que permite crear bots y experiencias de conversación con Microsoft Bot Framework.Bot framework - Composer - an integrated development tool for developers and multi-disciplinary teams to build bots and conversational experiences with the Microsoft Bot Framework

Otros servicios de Cognitive Services que utilizan LUIS:Other Cognitive Services used with LUIS:

  • QnA Maker permite la combinación de varios tipos de texto en una base de conocimiento de preguntas y respuestas.QnA Maker allows several types of text to combine into a question and answer knowledge base.
  • Servicio Voz convierte solicitudes de lenguaje hablado en texto.Speech service converts spoken language requests into text.
  • Conversation Learner le permite crear conversaciones de bot más rápido con LUIS.Conversation learner allows you to build bot conversations quicker with LUIS.

Ejemplos de uso de LUIS:Samples using LUIS:

Pasos siguientesNext steps