You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/ru/6-consumer/lessons/4-multiple-language-support
co-op-translator[bot] 7b6699135a
🌐 Update translations via Co-op Translator (#544)
4 weeks ago
..
README.md 🌐 Update translations via Co-op Translator (#544) 4 weeks ago
assignment.md 🌐 Update translations via Co-op Translator (#544) 4 weeks ago
pi-translate-speech.md 🌐 Update translations via Co-op Translator (#544) 4 weeks ago
virtual-device-translate-speech.md 🌐 Update translations via Co-op Translator (#544) 4 weeks ago
wio-terminal-translate-speech.md 🌐 Update translations via Co-op Translator (#544) 4 weeks ago

README.md

Поддержка нескольких языков

Скетчноут с обзором этого урока

Скетчноут от Nitya Narasimhan. Нажмите на изображение, чтобы увидеть его в большем размере.

Это видео дает обзор сервисов речи Azure, охватывая преобразование речи в текст и текста в речь из предыдущих уроков, а также перевод речи — тема, рассматриваемая в этом уроке:

Распознавание речи с помощью нескольких строк кода на Python с Microsoft Build 2020

🎥 Нажмите на изображение выше, чтобы посмотреть видео

Викторина перед лекцией

Викторина перед лекцией

Введение

На последних трех уроках вы узнали о преобразовании речи в текст, понимании языка и преобразовании текста в речь, все это с использованием ИИ. Еще одна область человеческой коммуникации, где ИИ может помочь, — это перевод языков, то есть преобразование текста с одного языка на другой, например, с английского на французский.

На этом уроке вы узнаете, как использовать ИИ для перевода текста, что позволит вашему умному таймеру взаимодействовать с пользователями на нескольких языках.

В этом уроке мы рассмотрим:

🗑 Это последний урок в этом проекте, поэтому после завершения урока и выполнения задания не забудьте очистить свои облачные сервисы. Вам понадобятся эти сервисы для выполнения задания, поэтому сначала убедитесь, что задание выполнено.

При необходимости обратитесь к руководству по очистке проекта для получения инструкций.

Перевод текста

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

💁 Истоки можно проследить еще дальше, к Аль-Кинди, арабскому криптографу IX века, который разработал методы перевода языков.

Машинный перевод

Перевод текста начался с технологии, известной как машинный перевод (MT), которая позволяет переводить между различными языковыми парами. MT работает путем замены слов одного языка на слова другого, добавляя методы для выбора правильных способов перевода фраз или частей предложений, когда простой пословный перевод не имеет смысла.

🎓 Когда переводчики поддерживают перевод между двумя языками, это называется языковыми парами. Разные инструменты поддерживают разные языковые пары, и их набор может быть неполным. Например, переводчик может поддерживать английский на испанский как языковую пару и испанский на итальянский как языковую пару, но не английский на итальянский.

Например, перевод "Hello world" с английского на французский может быть выполнен с помощью замены — "Bonjour" для "Hello" и "le monde" для "world", что приводит к правильному переводу "Bonjour le monde".

Замены не работают, когда разные языки используют разные способы выражения одной и той же мысли. Например, английское предложение "My name is Jim" переводится на французский как "Je m'appelle Jim" — буквально "Я называю себя Джим". "Je" — это "я" на французском, "moi" — это "меня", но оно сокращается до "m'", так как следующий глагол начинается с гласной, "appelle" означает "называть", а "Jim" не переводится, так как это имя, а не слово. Порядок слов также становится проблемой — простая замена "Je m'appelle Jim" на английский даст "I myself call Jim", что отличается от привычного порядка слов в английском.

💁 Некоторые слова никогда не переводятся — мое имя остается Джимом, независимо от языка, на котором я представляюсь. При переводе на языки с другими алфавитами или звуками слова могут быть транслитерированы, то есть записаны с использованием букв или символов, которые передают соответствующее звучание.

Идиомы также представляют проблему для перевода. Это фразы, которые имеют понятное значение, отличное от прямого толкования слов. Например, в английском идиома "I've got ants in my pants" не означает буквально наличие муравьев в одежде, а указывает на беспокойство. Если перевести это на немецкий, слушатель может запутаться, так как немецкий эквивалент — "У меня шмели в штанах".

💁 Разные локализации добавляют свои сложности. Например, в американском английском "pants" означает верхнюю одежду, а в британском английском — нижнее белье.

Если вы говорите на нескольких языках, подумайте о фразах, которые не переводятся дословно.

Системы машинного перевода полагаются на большие базы данных правил, описывающих, как переводить определенные фразы и идиомы, а также на статистические методы для выбора наиболее подходящих переводов из возможных вариантов. Эти статистические методы используют огромные базы данных текстов, переведенных людьми на несколько языков, чтобы выбрать наиболее вероятный перевод, что называется статистическим машинным переводом. Некоторые из них используют промежуточные представления языка, позволяя переводить с одного языка на промежуточный, а затем с промежуточного на другой язык. Таким образом, добавление новых языков требует переводов только на и с промежуточного языка, а не на все остальные языки.

Нейронный перевод

Нейронный перевод использует мощь ИИ для перевода, обычно переводя целые предложения с помощью одной модели. Эти модели обучаются на огромных наборах данных, переведенных людьми, таких как веб-страницы, книги и документы ООН.

Модели нейронного перевода обычно меньше, чем модели машинного перевода, так как им не нужны огромные базы данных фраз и идиом. Современные ИИ-сервисы, предоставляющие переводы, часто комбинируют несколько техник, смешивая статистический машинный перевод и нейронный перевод.

Для любой языковой пары не существует точного 1:1 перевода. Разные модели перевода могут давать немного разные результаты в зависимости от данных, на которых они обучались. Переводы не всегда симметричны — если вы переведете предложение с одного языка на другой, а затем обратно, вы можете получить немного другое предложение.

Попробуйте разные онлайн-переводчики, такие как Bing Translate, Google Translate или приложение Apple Translate. Сравните переводы нескольких предложений. Также попробуйте перевести в одном переводчике, а затем перевести обратно в другом.

Сервисы перевода

Существует множество ИИ-сервисов, которые можно использовать в приложениях для перевода речи и текста.

Сервис речи Cognitive Services

Логотип сервиса речи

Сервис речи, который вы использовали на последних уроках, имеет возможности перевода для распознавания речи. При распознавании речи вы можете запросить не только текст речи на том же языке, но и на других языках.

💁 Это доступно только через SDK для речи, REST API не имеет встроенных возможностей перевода.

Сервис переводчика Cognitive Services

Логотип сервиса переводчика

Сервис Translator — это специализированный сервис перевода, который может переводить текст с одного языка на один или несколько целевых языков. Помимо перевода, он поддерживает широкий спектр дополнительных функций, включая фильтрацию ненормативной лексики. Он также позволяет задавать конкретный перевод для определенного слова или предложения, чтобы работать с терминами, которые не нужно переводить, или иметь определенный известный перевод.

Например, при переводе предложения "I have a Raspberry Pi", имея в виду одноплатный компьютер, на другой язык, например, французский, вы захотите оставить название "Raspberry Pi" без изменений, получив "Jai un Raspberry Pi" вместо "Jai une pi aux framboises".

Создание ресурса переводчика

Для этого урока вам понадобится ресурс Translator. Вы будете использовать REST API для перевода текста.

Задание — создание ресурса переводчика

  1. В терминале или командной строке выполните следующую команду, чтобы создать ресурс переводчика в вашей группе ресурсов smart-timer.

    az cognitiveservices account create --name smart-timer-translator \
                                        --resource-group smart-timer \
                                        --kind TextTranslation \
                                        --sku F0 \
                                        --yes \
                                        --location <location>
    

    Замените <location> на местоположение, которое вы использовали при создании группы ресурсов.

  2. Получите ключ для сервиса переводчика:

    az cognitiveservices account keys list --name smart-timer-translator \
                                           --resource-group smart-timer \
                                           --output table
    

    Скопируйте один из ключей.

Поддержка нескольких языков в приложениях с переводами

В идеальном мире ваше приложение должно понимать как можно больше языков, начиная с распознавания речи, понимания языка и заканчивая ответами с помощью речи. Это требует больших усилий, поэтому сервисы перевода могут ускорить процесс разработки вашего приложения.

Архитектура умного таймера, переводящего японский на английский, обрабатывающего данные на английском и переводящего обратно на японский

Представьте, что вы создаете умный таймер, который работает полностью на английском: распознает английскую речь, преобразует ее в текст, обрабатывает текст на английском, формирует ответы на английском и отвечает с помощью английской речи. Если вы захотите добавить поддержку японского языка, вы можете начать с перевода японской речи в английский текст, затем оставить основную часть приложения без изменений, а затем переводить текст ответа на японский перед его озвучиванием. Это позволит вам быстро добавить поддержку японского языка, а позже вы сможете расширить приложение, добавив полную поддержку японского языка.

💁 Недостатком использования машинного перевода является то, что разные языки и культуры имеют разные способы выражения одних и тех же вещей, поэтому перевод может не соответствовать ожидаемому выражению.

Машинный перевод также открывает возможности для приложений и устройств, которые могут переводить пользовательский контент в процессе его создания. Научная фантастика часто изображает "универсальные переводчики" — устройства, которые переводят с инопланетных языков на (обычно) американский английский. Такие устройства уже не фантастика, если не учитывать инопланетную часть. Уже существуют приложения и устройства, которые предоставляют перевод речи и текста в реальном времени, используя комбинации сервисов речи и перевода.

Одним из примеров является мобильное приложение Microsoft Translator, продемонстрированное в этом видео:

Функция Microsoft Translator в действии

🎥 Нажмите на изображение выше, чтобы посмотреть видео

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

Проведите исследование: Существуют ли коммерчески доступные IoT-устройства для перевода? А как насчет встроенных возможностей перевода в умных устройствах?

👽 Хотя настоящих универсальных переводчиков для общения с инопланетянами пока не существует, Microsoft Translator поддерживает клингонский язык. Qapla!

Перевод текста с использованием ИИ-сервиса

Вы можете использовать ИИ-сервис, чтобы добавить возможность перевода в ваш умный таймер.

Задание — перевод текста с использованием ИИ-сервиса

Выполните соответствующее руководство, чтобы перевести текст на вашем IoT-устройстве:


🚀 Задание

Как машинный перевод может быть полезен для других IoT-приложений, помимо умных устройств? Подумайте о различных способах, как перевод может помочь, не только с устной речью, но и с текстом.

Викторина после лекции

Викторина после лекции

Обзор и самостоятельное изучение

Задание

Создайте универсальный переводчик


Отказ от ответственности:
Этот документ был переведен с помощью сервиса автоматического перевода Co-op Translator. Хотя мы стремимся к точности, пожалуйста, учитывайте, что автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на его родном языке следует считать авторитетным источником. Для получения критически важной информации рекомендуется профессиональный перевод человеком. Мы не несем ответственности за любые недоразумения или неправильные интерпретации, возникающие в результате использования данного перевода.