Всегда воодушевляет и всегда готов учиться вместе с вами

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

В настоящее время намного лучше работать с такими приложениями, как Duolingo, которые позволяют изучать новые языки в удобном для вас темпе. Однако иногда вы просто хотели знать, как сказать определенное слово / фразу, и знать, что вы говорите это правильно. Вместо того, чтобы искать в Google перевод, а не произношение, мы можем автоматизировать процесс и в то же время получить удовольствие от создания собственного ИИ-бота.

Представляем My Sensei Bot…

Сэнсэй в переводе с японского означает учитель. Из записи в формате GIF видно, что интерфейс прост:

  1. Пользователь выбирает один из двух вариантов - «Как произносить слово (я) на японском языке» или «Как сказать (EN) на японском языке».
  2. Пользователь вводит слово / фразу, и бот отправляет аудиозапись с произношением.
  3. Если пользователь выбрал «Как сказать (EN) на японском языке», он / она может произнести слово / фразу в микрофон, и бот проверит, правильно ли пользователь сказал это.

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

Теперь мы посмотрим, как настроить бота в вашей локальной среде, а также в облаке.

Предпосылки

Для настройки необходимы два основных ингредиента.

1. Telegram Bot

Чтобы создать своего Telegram-бота, просто посетите BotFather (подробности здесь). Весь процесс занимает меньше минуты, хотя вы, возможно, потратите больше времени на то, чтобы придумать хорошее имя пользователя, которое еще не занято. Самое главное, запишите свой токен, который нам понадобится позже для управления нашим ботом.

2. Аккаунт Google Cloud

Бот использует несколько Google Cloud API, чтобы творить чудеса:

  • Text-to-Speech API для произношения слов
  • Speech-to-Text API для проверки произношения пользователя
  • Translate API для преобразования английского языка на выбранный язык

Самое замечательное в том, что у Google Cloud есть бесплатная пробная версия для новых регистраций с кредитом в 300 долларов, и вышеупомянутые API также в основном бесплатны, так что вы можете бесплатно экспериментировать.

Локальная установка

Чтобы настроить бота в вашей локальной среде для тестирования, вам потребуется всего 5 простых шагов.

1. Включите API

Включите 3 API Google Cloud (Преобразование текста в речь, Преобразование речи в текст, Перевод) после входа в консоль Google Cloud.

2. Создать сегмент

API преобразования речи в текст требуется сегмент Google Cloud Storage, из которого можно читать файл. Таким образом, чтобы создать корзину, перейдите в Google Storage и создайте ее. Не беспокойтесь о множестве опций, вы можете просто оставить настройки по умолчанию. Обратите внимание на название корзины, оно нам понадобится позже.

3. Загрузите ключ сервисного аккаунта.

Чтобы мы могли взаимодействовать с Google Cloud из нашей локальной среды, нам нужен ключ учетной записи службы.

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

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

4. Git Clone и установка необходимых пакетов.

Кодовая база находится здесь. Git clone в вашу локальную среду.

git clone https://github.com/jiahao87/sensei_bot.git

Необходимые пакеты перечислены в requirements.txt. Измените каталог на папку sensei_bot перед созданием новой среды и соответствующей установкой пакетов.

pip install -r requirements.txt

5. Настроить

Наш последний шаг - ввести наши конфигурации в файл config.py в базе кода.

Заполните поля BOT_TOKEN, GOOGLE_APPLICATION_CREDENTIALS и BUCKET_NAME соответственно.

Сделав этот последний шаг, мы можем запустить нашего бота, запустив наш основной скрипт app.py.

python app.py

Если все в порядке, вы должны увидеть сообщение, подобное приведенному ниже, и вы можете начать взаимодействовать со своим ботом в Telegram. 😄

Настройка Google Cloud

Если вы не планируете включать свой компьютер круглосуточно, вы можете разместить своего бота в облаке, выполнив 3 простых шага.

1. Настройте виртуальную машину (ВМ)

Наш первый шаг - настроить экземпляр виртуальной машины Compute Engine через консоль Google Cloud.

а) Включите Compute Engine API после входа в консоль Google Cloud.

б) Запустите Google Cloud Shell.

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

c) Создайте экземпляр виртуальной машины Compute Engine.

Скопируйте и вставьте следующее в Google Cloud Shell, чтобы создать экземпляр виртуальной машины с именем sensei-bot.

gcloud compute instances create sensei-bot \
--machine-type f1-micro \
--zone us-central1-a \
--image-family ubuntu-1804-lts \
--image-project ubuntu-os-cloud \
--scopes https://www.googleapis.com/auth/cloud-platform

2. Включите API и создайте сегмент облачного хранилища.

Выполните предыдущие шаги в разделе Локальная настройка для шага 1 и шага 2. Если вы уже сделали это, можете пропустить этот шаг.

3. Git Clone и Configure.

Давайте подключимся по SSH к нашему экземпляру sensei-bot, чтобы настроить нашу виртуальную машину.

Перейдите на страницу Compute Engine и нажмите кнопку SSH для своего экземпляра. Должен появиться терминал для вашего экземпляра виртуальной машины.

Введите следующий скрипт, чтобы установить пакеты и git клонировать нашу кодовую базу.

sudo apt update
sudo apt-get -y install python-dev build-essential
sudo apt -y install python3-pip
python3 -m pip install -U pip
export PATH="$HOME/.local/bin:$PATH"
pip3 install --upgrade setuptools
sudo apt-get -y install ffmpeg tmux
git clone https://github.com/jiahao87/sensei_bot.git
cd sensei_bot
pip3 install -r requirement.txt

Измените config.py, указав свои BOT_TOKEN и BUCKET_NAME:

nano config.py

Поскольку наш экземпляр находится в самом Google Cloud, мы предоставили инструкции в gcloud compute instances create скрипте, чтобы разрешить доступ к Cloud API, поэтому мы можем оставить GOOGLE_APPLICATION_CREDENTIALS без изменений как None.

После внесения изменений в config.py нажмите Ctrl+x y Enter, чтобы сохранить изменения и выйти из редактора.

Откройте новое окно с помощью tmux, выполнив:

tmux

Теперь вы можете запустить своего бота, запустив:

python3 app.py

Прочие конфигурации

Чтобы бот был по-настоящему личным, мы добавили параметр под названием TELEGRAM_ID в config.py, чтобы только указанный пользователь мог разговаривать с ботом. В конце концов, даже несмотря на то, что облачные API бесплатны, существует квота, и вы не захотите выходить за ее пределы, потому что с вашим ботом разговаривает кто-то другой.

Чтобы узнать свой Telegram ID, загляните в этот wikiHow.

Однако обратите внимание, что это не для обеспечения безопасности производственного уровня, хотя для наших целей этого достаточно.

Наконец, можно также изучить изменение LANGUAGE_CODE и TEXTTOSPEECH_NAME для других языков. Вы можете увидеть поддерживаемые Google языки здесь. Некоторые модификации кода могут потребоваться в зависимости от уникальных характеристик языка.

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

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

использованная литература