Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Назад к глоссарию Ultralytics

Natural Language Understanding (NLU)

Понимание естественного языка (NLU) — направление NLP, которое извлекает из текста смысл, намерения и сущности, например в голосовых помощниках и поисковых системах.

Понимание естественного языка (NLU) — это часть обработки естественного языка (NLP), которая определяет смысл текста: чего хочет автор, что он упоминает и какой смысл имеется в виду, если слова допускают несколько толкований. Система NLU преобразует фразу «Забронируй столик на двоих завтра в 7» в структурированный запрос: намерение, например reserve_table, и слоты для количества гостей, времени и даты, с которыми может работать программа. Виртуальные ассистенты, чат-боты службы поддержки и поисковые системы запускают NLU для каждого запроса, прежде чем решить, что делать или отвечать.

Почему понимать язык сложно#

Одни и те же слова могут иметь разный смысл на каждом уровне. «Bank» может означать банк или берег реки; фраза «Я увидел человека с телескопом» не уточняет, у кого телескоп; а в предложении «Трофей не помещается в коричневый чемодан, потому что он слишком большой» местоимение «он» относится к трофею, но если заменить «большой» на «маленький», оно будет относиться к чемодану. В 2011 году Гектор Левеск предложил такие схемы Винограда в качестве теста машинного понимания, поскольку для их разрешения нужны знания об окружающем мире, а не статистика слов. Ранние системы на основе правил, такие как SHRDLU Терри Винограда (1968–1970), понимали текстовые команды только в пределах симулированного мира блоков, полностью описанного правилами системы.

Основные задачи NLU#

  • Классификация намерений: Относит запрос к одной из целей приложения, например проверке баланса или блокировке карты.
  • Распознавание именованных сущностей (NER): Находит людей, места, товары, даты и суммы, упомянутые в запросе; ассистенты используют эти данные, чтобы заполнять слоты намерения.
  • Семантический разбор: Сопоставляет предложению формальное представление, которое может выполнить программа, например запрос к базе данных или вызов API.
  • Разрешение кореференции: Связывает местоимения и другие отсылки с сущностями, к которым они относятся.
  • Логический вывод на естественном языке: Определяет, следует ли одно предложение из другого, противоречит ему или нейтрально по отношению к нему.
  • Анализ тональности: Определяет мнение, выраженное в тексте.

Ассистенты обычно классифицируют намерения с помощью дообученного кодировщика на основе трансформера. Кодировщик предложений также может классифицировать намерения в режиме one-shot, используя по одному примеру для каждого: он выбирает намерение, пример которого наиболее близок по смыслу к запросу:

from sentence_transformers import SentenceTransformer

model = SentenceTransformer("sentence-transformers/all-MiniLM-L6-v2")

# One labeled example per intent, as an assistant's training data would provide
intents = {
    "check_balance": "What is my account balance?",
    "block_card": "Please freeze my debit card",
    "transfer_money": "Send money to another account",
}
utterances = ["my card was stolen", "how much cash do I have left", "pay Alex back 20 dollars"]

# Assign each utterance the intent whose example is closest in meaning
scores = model.similarity(model.encode(utterances), model.encode(list(intents.values())))
for text, row in zip(utterances, scores):
    best = int(row.argmax())
    print(f"{text!r} -> {list(intents)[best]} ({row[best]:.2f})")

Все три запроса получают верное намерение: block_card (0.42), check_balance (0.49) и transfer_money (0.28). Фразы «сколько денег у меня осталось» и «верни Алексу 20 долларов» не содержат ни одного общего слова с примерами намерений, поэтому совпадение определяется эмбеддингами, а не ключевыми словами. Запрос на перевод денег получает наибольшую оценку — всего 0.28 против 0.17 у других намерений; фреймворки, такие как Rasa, отправляют запросы с оценкой ниже порога уверенности в резервный сценарий, который просит пользователя переформулировать запрос.

Тесты и модели#

GLUE (2018) объединил девять задач с предложениями и парами предложений, включая анализ тональности, обнаружение перефразирования и логический вывод на естественном языке, в единую оценку, а BERT подняла её до 80.5 в 2018 году. Более сложный преемник GLUE, SuperGLUE (2019), добавил разрешение кореференции в стиле Винограда; в январе 2021 года DeBERTa от Microsoft и T5 + Meena от Google обе превысили человеческий базовый результат 89.8. Высокие оценки могут быть следствием обучения на поверхностных признаках: в 2018 году Сучин Гуруранган и его коллеги показали, что классификатор, анализирующий только второе предложение каждой пары для логического вывода, правильно размечал около 67% набора данных SNLI, поскольку такие признаки, как слова с отрицанием, коррелируют с меткой «противоречие». Сегодня большие языковые модели (LLM) выполняют большинство задач NLU по текстовой подсказке, а небольшие модели-кодировщики остаются востребованными там, где важны задержка и стоимость запроса.

NLU в поиске и компьютерном зрении#

Семантический поиск применяет NLU к запросам и сопоставляет их смысл, а не точные слова; векторный поиск позволяет быстро выполнять такой поиск среди миллионов объектов. Та же идея работает между разными модальностями, если текст и изображения представлены в общем пространстве эмбеддингов, как в CLIP. Вкладка Images на странице Explore платформы Ultralytics принимает описание сцены, например «кошки на диване», и возвращает изображения из общедоступных наборов данных по их содержимому, не полагаясь на имена файлов или теги.

  • NLP: Вся область вычислительной обработки человеческого языка. NLU интерпретирует входные данные, а генерация естественного языка (NLG) создаёт выходные.
  • Распознавание речи: Преобразует устную речь в текст, который затем интерпретирует NLU.
  • Оптическое распознавание символов (OCR): Извлекает символы из изображений с текстом, который NLU затем может прочитать и понять.
  • Ответы на вопросы: Даёт ответы на вопросы на естественном языке; для этого NLU должна интерпретировать и вопрос, и текст с ответом.

Изучи решения

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Превращай снимки с дронов и аэрофотоснимки в полезные данные в реальном времени для сельского хозяйства, аквакультуры, охраны природы и геопространственного анализа с Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Применяй компьютерное зрение в аэрокосмической отрасли с Ultralytics YOLO: для осмотра самолётов, обнаружения посторонних предметов на взлётно-посадочных полосах, наземного обслуживания аэропортов и выявления дефектов композитных материалов.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ повышает безопасность дорожного движения, улучшает помощь водителю и автоматизацию автомобилей, делая дороги умнее.
Подробнее
Компьютерное зрение в сельском хозяйстве

Компьютерное зрение в сельском хозяйстве

Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения