Чтение печатного слова открывает мир информации, воображения и творчества. Тем не менее, отсканированные книги и документы могут быть трудны для потребления людьми с нарушениями зрения и обучаемостью. Кроме того, некоторые люди предпочитают слушать текстовый контент, а не читать его. Решение для преобразования документов в речь расширяет охват цифрового контента, придавая текстовому контенту голос. Он используется в различных отраслях промышленности, таких как:
- Развлечения– Вы можете создавать свои собственные аудиокниги.
- Обучение – Студенты могут преобразовывать свои конспекты лекций в речь и получать к ним доступ где угодно.
- Уход за пациентом – Инструкции по дозировке и меры предосторожности, как правило, напечатаны мелким шрифтом и их трудно прочитать. С помощью этого решения вы могли делать снимки, преобразовывать их в речь и слушать инструкции, чтобы избежать потенциального вреда.
Решение для преобразования документов в речь автоматически преобразует отсканированные книги или документы, снятые на мобильный телефон или портативное устройство, в речь. Это решение расширяет возможности Amazon Polly. Мы извлечь текст из отсканированных документов с помощью Амазонка Текст, а затем преобразовать текст в речь с помощью Amazon Polly. Преимущества решения включают мобильность и свободу для пользователя, а также расширенные возможности обучения для начинающих читателей.
Идея возникла у Гарри Пэна, одного из любимых занятий родителей и детей автора блога — чтения книг. «Мой сын любит сборники рассказов, но слишком мал, чтобы читать самостоятельно. Я люблю читать ему, но иногда мне нужно работать или заниматься домашними делами. Это натолкнуло меня на мысль создать решение для преобразования документов в речь, которое могло бы читать ему, когда я был занят».
Обзор решения
Решение представляет собой управляемую событиями бессерверную архитектуру, в которой используются сервисы Amazon AI для преобразования отсканированных документов в речь. Amazon Textract и Amazon Polly принадлежат к самому верхнему уровню стека машинного обучения (ML) AWS. Эти сервисы позволяют разработчикам легко добавлять интеллектуальные функции в любое приложение без предварительных знаний в области машинного обучения.
Amazon Textract — это сервис машинного обучения, который автоматически извлекает текст, почерк и данные из отсканированных документов. Он выходит за рамки простого оптического распознавания символов (OCR) для идентификации, понимания и извлечения данных из форм и таблиц. Amazon Textract использует машинное обучение для чтения и обработки документов любого типа, точно извлекая текст, почерк, таблицы и другие данные без каких-либо ручных усилий.
Amazon Polly — это сервис преобразования текста в речь, который превращает текст в реалистичную речь, позволяя создавать говорящие приложения и создавать совершенно новые категории продуктов с поддержкой речи. Amazon Polly использует передовые технологии глубокого обучения для синтеза речи, похожей на человеческий голос.
Использование сервисов Amazon AI имеет значительные преимущества:
- Они требуют небольших усилий; вы можете интегрировать эти API в любое приложение
- Они предлагают масштабируемые и экономически эффективные решения.
- Ваша организация может сместить акцент с разработки пользовательских моделей на бизнес-результаты.
В решении также используется Шлюз API Amazon чтобы быстро настроить API-интерфейсы, которые веб-интерфейс может вызывать для выполнения таких операций, как загрузка документов и преобразование отсканированных документов в речь. Шлюз API предоставляет масштабируемый способ создания, публикации и обслуживания безопасных API. В этом решении мы также используем поддержку API Gateway WebSocket для установления постоянного соединения между веб-интерфейсом и серверной частью, чтобы серверная часть могла продолжать отправлять пользователю обновления о ходе работы в режиме реального времени.
МЫ ИСПОЛЬЗУЕМ AWS Lambda функции для запуска асинхронных заданий Amazon Textract и Amazon Polly. Lambda — это высокодоступная и масштабируемая вычислительная служба, которая позволяет запускать код без выделения ресурсов.
Мы используем Шаговые функции AWS конечный автомат для управления двумя параллельными функциями Lambda — одна для модерации текста, а другая для хранения текста в Простой сервис хранения Amazon (Амазон С3). Step Functions — это бессерверная служба оркестрации для определения рабочих процессов приложений как серии шагов, управляемых событиями.
Архитектура и код
Как описано в предыдущем разделе, мы используем два ключевых сервиса искусственного интеллекта, Amazon Textract и Amazon Polly, для создания решения для преобразования документов в речь. Еще одна услуга, которую мы не затронули: АМС Усиление. Amplify позволяет разработчикам интерфейсов быстро создавать расширяемые полнофункциональные веб-приложения и мобильные приложения. С Amplify вы можете легко настроить серверную часть, подключить к ней приложение за считанные минуты и легко масштабировать. Мы используем Amplify для размещения веб-интерфейса, который позволяет пользователям загружать свои отсканированные документы.
Вы также можете использовать свой собственный пользовательский интерфейс без Amplify. По мере того, как мы углубляемся в это решение, мы показываем, как вы можете использовать любое клиентское приложение для подключения к серверной части для преобразования документов в речь, если они поддерживают API REST и WebSocket. Веб-интерфейс здесь просто для демонстрации ключевых функций этого решения. На момент написания этой статьи решение поддерживает входные форматы JPEG, PNG и PDF, а также английский язык.
Следующая диаграмма иллюстрирует архитектуру решения.
Мы проходим через эту архитектуру, следуя по пути одного пользовательского запроса:
- Пользователь посещает веб-интерфейс, размещенный на Amplify. Код пользовательского интерфейса — это
index.html
подать вclient
папка репозитория кода. - Пользователь выбирает файл JPG, PDF или PNG для загрузки с помощью веб-интерфейса.
- Пользователь инициирует Конвертируйте и воспроизводите аудио процесс из веб-интерфейса, который загружает входной файл в корзину S3 через REST API, размещенный на шлюзе API.
- Когда загрузка завершена, преобразование документа в речь начинается как фоновый процесс:
- Во время преобразования веб-клиент поддерживает постоянное соединение WebSocket со шлюзом API. Это позволяет внутренним процессам (функциям Lambda) постоянно отправлять обновления о ходе выполнения веб-клиенту.
- Запрос проходит через шлюз API и запускает функцию Lambda.
convert-images-to-text
. Эта функция асинхронно вызывает Amazon Textract для преобразования документа в текст. - По завершении преобразования изображения в текст Amazon Textract отправляет уведомление на Amazon Простая служба уведомлений (Амазон СНС).
- Уведомление запускает функцию Lambda
on-textract-ready
, который запускает конечный автомат Step Functions. - Конечный автомат организует следующие шаги:
- Он запускает лямбда-функцию
retrieve-text
чтобы получить преобразованный текст из Amazon Textract. - Затем он запускает лямбда-функции
moderate-text
иstore-text
в параллели.moderate-text
останавливает дальнейшую обработку при обнаружении нежелательных слов иstore-text
сохраняет копию преобразованного текста в корзину S3. - После завершения параллельных шагов конечный автомат запускает лямбда-функцию.
convert-text-to-audio
, который асинхронно с преобразованным текстом вызывает Amazon Polly для преобразования речи. Конечный автомат завершает работу после этого шага.
- Он запускает лямбда-функцию
- Подобно Amazon Textract, Amazon Polly отправляет уведомление в Amazon SNS, когда работа выполнена. Уведомление запускает функцию Lambda
on-polly-ready
, который отправляет окончательное сообщение в веб-интерфейс вместе с расположением преобразованного аудиофайла в Amazon S3.
- Веб-интерфейс загружает окончательный преобразованный аудиофайл из Amazon S3 через REST API, а затем воспроизводит его для пользователя.
- Приложение использует Amazon DynamoDB таблицу для отслеживания информации о задании, такой как идентификатор задания Amazon Textract, идентификатор задания Amazon Polly и т. д.
Код размещен на GitHub и развертывается с помощью Комплект для разработки облачных сервисов AWS (AWS CDK), инфраструктура разработки программного обеспечения с открытым исходным кодом для определения ресурсов облачных приложений с использованием знакомых языков программирования. AWS CDK выделяет ресурсы повторяющимся образом через AWS CloudFormation.
Предпосылки
Единственным предварительным условием для развертывания этого решения является учетная запись AWS.
Разверните решение
Следующие шаги подробно описывают, как развернуть приложение:
- Войдите в свой аккаунт AWS.
- На Облако AWS9 консоли, откройте существующую среду или выберите Создать среду создать новый.
- В IDE AWS Cloud9 на Окно Меню, выберите Новый Терминал чтобы открыть терминал.
Все последующие шаги выполняются в том же терминале.
- Клонируйте репозиторий git и войдите в каталог проекта:
- Создайте виртуальную среду Python:
- После завершения процесса инициализации и создания виртуальной среды выполните следующий шаг, чтобы активировать виртуальную среду:
- После активации виртуальной среды установите необходимые зависимости:
- Теперь вы можете синтезировать шаблоны CloudFormation из кода AWS CDK:
- Разверните приложение AWS CDK и запишите выходные данные AWS CDK, которые понадобятся позже:
Вы должны подтвердить изменения, которые будут развернуты для каждого стека. Ход создания стека можно проверить в консоли AWS Cloud Formation.
- Чтобы посетить веб-клиент, выполните следующую команду и следуйте ее выводам, чтобы запустить интерфейсное развертывание и использовать веб-клиент:
Ключевые моменты, на которые следует обратить внимание:
- Ассоциация
extract-cdk-outputs.py
script распечатывает URL-адрес веб-интерфейса. Сценарий также выводит строки с именем корзины S3, конечной точкой API файла и конечной точкой API преобразования, которые необходимо установить в веб-интерфейсе перед загрузкой документа. - Вы можете задать список нежелательных слов в переменной в
moderate-text
Лямбда-функция.
Используйте приложение
Следующие шаги демонстрируют, как использовать приложение через веб-интерфейс.
- После последнего шага развертывания заполните поля для Имя сегмента S3, Конечная точка файлаи Конечная точка конверсии в веб-интерфейсе.
- Выберите Выберите Файл загрузить входной файл.
- Выберите Конвертируйте и воспроизводите аудио.
Веб-интерфейс показывает ход текущего преобразования.
Веб-интерфейс воспроизводит звук автоматически после завершения преобразования.
Убирать
Выполните следующую команду, чтобы удалить все ресурсы и избежать будущих расходов:
Заключение
В этом посте мы продемонстрировали решение для быстрого развертывания приложения для преобразования документов в речь с помощью двух мощных сервисов искусственного интеллекта: Amazon Textract и Amazon Polly. Мы показали, как работает решение, и предоставили подробное пошаговое руководство по коду и шагам развертывания. Это решение предназначено для использования в качестве эталонной архитектуры или быстрого старта, который вы можете дополнительно улучшить. Примечательно, что вы можете добавить поддержку большего количества человеческих языков, добавить очередь для буферизации входящих запросов и аутентификацию пользователей.
Как обсуждалось в этом посте, мы видим несколько вариантов использования этого решения в разных отраслевых вертикалях. Попробуйте и сообщите нам, как это решило ваш вариант использования, оставив отзыв в разделе комментариев. Вы можете получить доступ к ресурсам для решения в репозиторий документа в речь на GitHub.
Рекомендации
Более подробная информация доступна на следующих ресурсах:
- Руководство разработчика Amazon Textract
- Руководство разработчика Amazon Polly
- Работа с API веб-сокетов
- Библиотека конструкций AWS CDK
- Библиотека конструкций AWS Amplify
Об авторах
Гарри Пэн является архитектором решений ISV в Amazon Web Services, расположенной в районе залива Сан-Франциско, где он помогает компаниям-разработчикам программного обеспечения достигать своих бизнес-целей, создавая хорошо спроектированные ИТ-системы. Он любит проводить свободное время со своей семьей, а также играть в теннис, программировать на Haskell и путешествовать.
CХайтра Матур является главным архитектором решений в AWS. Она помогает партнерам и клиентам создавать масштабируемые, надежные, безопасные и экономичные решения на AWS. В свободное время она любит читать, заниматься йогой и проводить время со своими дочерьми.
- Коинсмарт. Лучшая в Европе биржа биткойнов и криптовалют.
- Платоблокчейн. Интеллект метавселенной Web3. Расширение знаний. БЕСПЛАТНЫЙ ДОСТУП.
- КриптоХок. Альткоин Радар. Бесплатная пробная версия.
- Источник: https://aws.amazon.com/blogs/machine-learning/increase-your-content-reach-with-automated-document-to-speech-conversion-using-amazon-ai-services/
- "
- &
- 10
- 100
- 7
- 9
- доступ
- Учетная запись
- через
- активно
- дополнение
- дополнительный
- продвинутый
- Преимущества
- AI
- Услуги искусственного интеллекта
- Все
- Позволяющий
- Amazon
- Amazon Web Services
- откуда угодно
- API
- API
- Применение
- Приложения
- Программы
- архитектура
- ПЛОЩАДЬ
- аудио
- Автоматизированный
- доступен
- AWS
- фон
- залив
- Преимущества
- Beyond
- Блог
- Книги
- граница
- строить
- Строительство
- бизнес
- возможности
- захватить
- случаев
- CD
- расходы
- Выберите
- облако
- код
- Кодирование
- Комментарии
- Компании
- Вычисление
- Свяжитесь
- связи
- Консоли
- потреблять
- содержание
- Конверсия
- рентабельным
- может
- Создайте
- создали
- создание
- изготовленный на заказ
- Клиенты
- данным
- демонстрировать
- убивают
- развертывание
- развернуть
- развертывание
- описано
- уничтожить
- подробность
- подробный
- обнаруженный
- Застройщик
- застройщиков
- Развитие
- устройство
- различный
- трудный
- Интернет
- Документация
- загрузок
- Рано
- легко
- усилие
- Конечная точка
- Английский
- Enter
- Окружающая среда
- установить
- существующий
- Экстракты
- семья
- Особенности
- Обратная связь
- Поля
- Фокус
- следовать
- после
- формы
- Рамки
- Франциско
- Freedom
- полный
- функция
- далее
- будущее
- идти
- GitHub
- Отдаете
- Цели
- Гиды
- помогает
- здесь
- очень
- состоялся
- домашнее хозяйство
- Как
- How To
- HTTPS
- человек
- идея
- определения
- воображение
- включают
- Увеличение
- промышленность
- информация
- вход
- устанавливать
- интегрировать
- Интеллекта
- IT
- работа
- Джобс
- Основные
- знания
- язык
- Языки
- изучение
- Список
- мало
- расположение
- Длинное
- любят
- машина
- обучение с помощью машины
- поддерживать
- способ
- руководство
- ML
- Мобильный телефон
- мобильный телефон
- мобильность
- Модели
- БОЛЕЕ
- с разными
- "обычные"
- Заметки
- уведомление
- предлагают
- постоянный
- открытый
- Откроется
- Операционный отдел
- оркестровка
- заказ
- организация
- Другое
- собственный
- партнеры
- Люди
- картина
- Играть
- игры
- потенциал
- мощный
- предыдущий
- Основной
- процесс
- Процессы
- обработка
- Продукция
- Программирование
- языки программирования
- Проект
- приводит
- публиковать
- САЙТ
- быстро
- достигать
- читатели
- Reading
- хранилище
- запросить
- Запросы
- обязательный
- Требования
- Полезные ресурсы
- ОТДЫХ
- Run
- Сан -
- Сан-Франциско
- масштабируемые
- Шкала
- Сектора юридического права
- безопасный
- Серии
- Serverless
- обслуживание
- Услуги
- набор
- сдвиг
- значительный
- просто
- небольшой
- So
- Software
- разработка программного обеспечения
- твердый
- Решение
- Решения
- некоторые
- его
- Расходы
- стек
- Начало
- начинается
- Область
- диск
- магазин
- магазины
- поддержка
- Поддержка
- системы
- Говорить
- технологии
- шаблоны
- Терминал
- Через
- время
- самый верхний
- трек
- Путешествие
- типично
- ui
- понимать
- Updates
- us
- использование
- пользователей
- Против
- Виртуальный
- видение
- Режимы
- Web
- веб-сервисы
- в
- без
- слова
- Работа
- работает
- Мир
- письмо