Что такое служба "Распознавание речи" (LUIS)?What is Language Understanding (LUIS)?

Важно!

TLS 1.2 теперь применяется для всех HTTP-запросов к этой службе.TLS 1.2 is now enforced for all HTTP requests to this service. Дополнительные сведения см. в статье Безопасность в Azure Cognitive Services.For more information, see Azure Cognitive Services security.

Распознавание речи (LUIS) — это облачная служба ИИ, которая применяет пользовательскую аналитику машинного обучения к тексту пользователя в разговорном стиле и на естественном языке, чтобы предсказать общий смысл и извлечь соответствующую подробную информацию.Language Understanding (LUIS) is a cloud-based conversational AI 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.

Клиентское приложение для LUIS — это любое диалоговое приложение, которое взаимодействует с пользователем на естественном языке для выполнения задачи.A client application for LUIS is any conversational application that communicates with a user in natural language to complete a task. Примеры клиентских приложений включают в себя приложения для социальных сетей, чат-боты с ИИ и классические приложения с поддержкой речи.Examples of client applications include social media apps, AI chatbots, and speech-enabled desktop applications.

Концептуальное изображение трех клиентских приложений, работающих с распознаванием речи Cognitive Services (LUIS)Conceptual image of 3 client applications working with Cognitive Services Language Understanding (LUIS)

Использование LUIS в чат-ботеUse LUIS in a chat bot

После публикации приложения Azure LUIS клиентское приложение отправляет фразы (текст) в API конечной точки обработки естественного языка LUIS и получает результаты в виде ответов JSON.Once the Azure 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. Типичное применение клиента для LUIS — чат-бот.A common client application for LUIS is a chat bot.

Концептуальные изображения службы LUIS, работающей с чат-ботом для прогнозирования пользовательского текста с помощью распознавания естественного языка (NLP)Conceptual imagery of LUIS working with Chat bot to predict user text with natural language understanding (NLP)

ШагStep ДействиеAction
11 Клиентское приложение отправляет пользовательскую фразу (другими словами — текст) "Я хочу вызвать представителя отдела кадров"The client application sends the user utterance (text in their own words), "I want to call my HR rep." в конечную точку LUIS в качестве HTTP-запроса.to the LUIS endpoint as an HTTP request.
22 LUIS позволяет создавать пользовательские языковые модели для добавления средств аналитики в приложение.LUIS enables you to craft your custom language models to add intelligence to your application. Модели языка, полученные средствами машинного обучения, принимают неструктурированный входной текст пользователя и возвращают ответ в формате JSON, где указано наиболее вероятное намерение, HRContact.Machine learned language models take the user's unstructured input text and returns a JSON-formatted response, with a top intent, HRContact. Ответ конечной точки JSON содержит по крайней мере фразу в запросе и намерение с высшим показателем.The minimum JSON endpoint response contains the query utterance, and the top scoring intent. Он также позволяет извлекать данные, такие как сущность типа контакта.It can also extract data such as the Contact Type entity.
33 Клиентское приложение использует ответ в формате JSON для принятия решений о том, как выполнять запросы пользователя.The client application uses the JSON response to make decisions about how to fulfill the user's requests. Эти решения могут включать дерево принятия решений в коде Bot Framework и вызовы к другим службам.These decisions can include decision tree in the bot framework code and calls to other services.

Приложение LUIS предоставляет аналитику, чтобы клиентское приложение могло сделать разумный выбор.The LUIS app provides intelligence so the client application can make smart choices. LUIS не предоставляет такие варианты выбора.LUIS doesn't provide those choices.

Распознавание естественного языка (NLU)Natural language understanding (NLU)

LUIS предоставляет искусственный интеллект (ИИ) в форме NLU, подмножества ИИ обработки естественного языка.LUIS provides artificial intelligence (AI) in the form of NLU, a subset of natural language processing AI.

Ваше приложение LUIS содержит разработанную для домена модель естественного языка.Your LUIS app contains a domain-specific natural language model. Вы можете запустить приложение LUIS с моделью предварительно созданного домена, создать собственную модель или объединить части готового домена с собственными пользовательскими данными.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.

  • Предварительно созданная модель. В LUIS имеется множество предварительно созданных моделей предметной области, включая намерения, фразы и предварительно созданные сущности.Prebuilt model LUIS has many prebuilt domain models including intents, utterances, and prebuilt entities. Вы можете использовать эти сущности без намерений и фраз предварительно созданной модели.You can use the prebuilt entities without having to use the intents and utterances of the prebuilt model. Предварительно созданные модели предметной области. Включают всю структуру и являются отличным способом быстро начать использовать LUIS.Prebuilt domain models include the entire design for you and are a great way to start using LUIS quickly.

  • Настраиваемая модель LUIS предоставляет несколько способов определения собственных пользовательских моделей, в том числе намерений и сущностей.Custom model LUIS gives you several ways to identify your own custom models including intents, and entities. Сущности включают в себя сущности, полученные средствами машинного обучения, конкретные или литеральные сущности, а также сочетание сущностей машинного обучения и литеральных сущностей.Entities include machine-learning entities, specific or literal entities, and a combination of machine-learning and literal.

Ознакомьтесь с дополнительными сведениями об ИИ NLP и области NLU, относящейся к LUIS.Learn more about NLP AI, and the LUIS-specific area of NLU.

Шаг 1. Разработка и построение моделиStep 1: Design and build your model

Для разработки модели используются категории стремлений пользователей, которые называются намерениями .Design your model with categories of user intentions called intents. Каждое намерение должно иметь примеры пользовательских фраз .Each intent needs examples of user utterances. Каждая фраза может предоставить данные, которые требуется извлечь с помощью сущностей машинного обучения.Each utterance can provide data that needs to be extracted with machine-learning entities.

Пример фразы пользователяExample user utterance Блокировка с намерениемIntent Извлеченные данныеExtracted data
Book a flight to Seattle? BookFlightBookFlight SeattleSeattle
When does your store open? StoreHoursAndLocationStoreHoursAndLocation открытopen
Schedule a meeting at 1pm with Bob in Distribution ScheduleMeetingScheduleMeeting 13:00, Боб1pm, Bob

Создайте модель с помощью API разработки, портала LUIS или обоих этих средств.Build the model with the authoring APIs, or with the LUIS portal, or both. Узнайте больше о том, как выполнить сборку с помощью портала и клиентских библиотек пакета SDK.Learn more how to build with the portal and the SDK client libraries.

Шаг 2. Получение прогноза запросовStep 2: Get the query prediction

После обучения модели и ее публикации в конечной точке клиентское приложение (например, чат-бот) отправляет речевые фрагменты в API конечной точки прогнозирования.After your app's model is trained and published to the endpoint, a client application (such as a chat bot) sends utterances to the prediction endpoint API. API применяет модель к речевым фрагментам для анализа и возвращает результаты прогнозирования в формате JSON.The API applies the model to the utterance for analysis and responds with the prediction results in a JSON format.

Ответ конечной точки JSON содержит по крайней мере фразу в запросе и намерение с высшим показателем.The minimum JSON endpoint response contains the query utterance, and the top scoring intent. Он также позволяет извлекать данные, такие как сущность типа контакта и общая тональность.It can also extract data such as the following Contact Type entity and overall sentiment.

{
    "query": "I want to call my HR rep",
    "prediction": {
        "topIntent": "HRContact",
        "intents": {
            "HRContact": {
                "score": 0.8582669
            }
        },
        "entities": {
            "Contact Type": [
                "call"
            ]
        },
        "sentiment": {
            "label": "neutral",
            "score": 0.5
        }
    }
}

Шаг 3. Повышение точности прогнозирования моделиStep 3: Improve model prediction

Когда ваше приложение LUIS опубликовано и получает реальные фразы пользователей, LUIS ведет активное обучение конечных точек фразам для повышения точности прогнозов.After your LUIS app is published and receives real user utterances, LUIS provides active learning of endpoint utterances to improve prediction accuracy. Проверяйте эти предложения в рамках регулярного обслуживания в жизненном цикле разработки.Review these suggestions as part of your regular maintenance work in your development lifecycle.

Жизненный цикл средства разработкиDevelopment lifecycle and tools

LUIS предоставляет инструменты, функцию управления версиями и средства совместной работы с другими авторами LUIS для интеграции в полный жизненный цикл разработки.LUIS provides tools, versioning, and collaboration with other LUIS authors to integrate into the full development life cycle.

Так как служба распознавания речи LUIS представляет собой REST API, это решение можно использовать с любым продуктом, службой или платформой, поддерживающими HTTP-запросы.Language Understanding (LUIS), as a REST API, can be used with any product, service, or framework with an HTTP request. LUIS также предоставляет клиентские библиотеки (пакеты SDK) для нескольких основных языков программирования.LUIS also provides client libraries (SDKs) for several top programming languages. Узнайте больше о предоставленных ресурсах для разработчиков.Learn more about the developer resources provided.

Средства быстрого и простого использования LUIS с ботом:Tools to quickly and easily use LUIS with a bot:

  • LUIS CLI. Пакет NPM предоставляет средства разработки и прогнозирования как с помощью автономной программы командной строки, так и путем импорта.LUIS CLI The NPM package provides authoring and prediction with as either a stand-alone command-line tool or as import.
  • LUISGen. LUISGen — это средство для создания строго типизированного исходного кода C# и TypeScript из экспортированной модели LUIS.LUISGen LUISGen is a tool for generating strongly typed C# and typescript source code from an exported LUIS model.
  • Диспетчеризация. Позволяет использовать несколько приложений LUIS и QnA Maker из родительского приложения с помощью модели диспетчера.Dispatch allows several LUIS and QnA Maker apps to be used from a parent app using dispatcher model.
  • LUDown. Это программа командной строки, которая помогает управлять языковыми моделями для вашего бота.LUDown LUDown is a command-line tool that helps manage language models for your bot.

Интеграция с ботомIntegrate with a bot

Для создания и развертывания чат-бота воспользуйтесь службой Azure Bot с Microsoft Bot Framework.Use the Azure Bot service with the Microsoft Bot Framework to build and deploy a chat bot. Для проектирования и разработки используйте средство с графическим интерфейсом Composer или рабочие примеры ботов, предназначенные для основных сценариев использования ботов.Design and develop with the graphical interface tool, Composer, or working bot samples designed for top bot scenarios.

Интеграция с другими службами Cognitive ServicesIntegrate with other Cognitive Services

Другие службы Cognitive Services, используемые в LUIS:Other Cognitive Services used with LUIS:

  • QnA Maker позволяет объединять несколько типов текста в базу знаний вопросов и ответов.QnA Maker allows several types of text to combine into a question and answer knowledge base.
  • Служба Речь преобразует запросы на разговорном языке в текст.Speech service converts spoken language requests into text.

Служба LUIS предоставляет функциональные возможности Анализа текста в составе имеющихся ресурсов LUIS,LUIS provides functionality from Text Analytics as part of your existing LUIS resources. в том числе анализ тональности и извлечение ключевых фраз с помощью предварительно созданной сущности keyPhrase.This functionality includes sentiment analysis and key phrase extraction with the prebuilt keyPhrase entity.

Изучение по кратким руководствамLearn with the Quickstarts

Узнайте о LUIS из практичных кратких руководств, воспользовавшись порталом и клиентскими библиотеками SDK.Learn about LUIS with hands-on quickstarts using the portal and the SDK client libraries.

Развертывание в локальной среде с помощью контейнеров DockerDeploy on premises using Docker containers

Для развертывания функций API в локальной среде используйте контейнеры LUIS.Use LUIS containers to deploy API features on-premises. Эти контейнеры Docker позволяют разместить службу ближе к данным для обеспечения безопасности, соответствия требованиям и других эксплуатационных преимуществ.These Docker containers enable you to bring the service closer to your data for compliance, security or other operational reasons.

Дальнейшие шагиNext steps