Как стать автором
Обновить

Как сделать генератор цитат за час

Время на прочтение3 мин
Количество просмотров8.3K
Прелесть генераторов в том, что можно автоматизировать свой труд и сэкономить время. Они полезны для приложений, веб-сайтов, блогов, гороскопов. Техника будет сама напоминать вашим читателям про ваш продукт, не используя одну и ту же назойливую картинку. А «готовка» генератора займет 40-60 минут. Попробуйте, господа!

image

Создать машину, которая работает как InspiroBot.me — легко!

Впервые о InspiroBot AI написал Techcrunch в 2015 году, рассказав, что такой инструмент хорошая замена человеческого труда по созданию философских постов для социальных сетей.

InspiroBot о себе заявляет: «Я — искусственный интеллект, призванный генерировать неограниченное количество уникальных вдохновляющих цитат для бесконечного обогащения бессмысленного человеческого существования.» Другими словами, автор бота — Педер Джоргенсен (Peder Jørgensen), загрузил словарь и фоновые картинки, чтобы генерировать бесконечное количество цитат.

Вот как это работает, по рассказу автора блога в техфоруме Steemit.com:
Слова разделены на семантические группы и прописаны виды фраз по смыслу, например:

  1. ]<strive-to><time/occasion> — <стремление к> <результату> <время/событие>
    ]<as-relationship> — <причина> <объект1> <к> <глагол> <объект2> <как отношение> <описание> <сущность2> <как есть> <объект1>

    Для подбора таких грамматических структур существует разные инструменты, например: Link Grammar Parser, где есть циклические отношения между словами — правила синтаксиса. По такому же принципу работает корректор пунктуации в Word Office. Кроме того, есть словарь на английском языке — Word Net, где части речи сгруппированы в наборы синонимов.

    Однако, в большинстве случаев фразы получаются смешными или просто абсурдными.
    Например:

    image

    image

    image

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

    Инструкция по разработке бота — цитатника:

    1 — Для начала в Google Spreadsheets или Microsoft Excel строем генератор фраз из заданных фрагментов. (Такой же механизм используют маркетологи для создания ключевых фраз для SEO.) Прописываем структуру предложения, разделяя слова по смыслу. Заполняем синонимы, которые подходят под фразу в нужной форме(падеже/времени и т.д.).

    2 — После этого задаем комбинаторику выражений в виде индексов, как если бы пытались отгадать код от сейфа. Это действие не нужно делать в ручную, формулы можно подглядеть в Youtube. И вот текстовый результат — готовые мотивационные цитаты, так из 26 отдельных слов выходит 500+ уникальных выражений.

    3 — Следующий шаг — работа с Python. Для этого скачиваем редактор VS Code. Там создаем файл с расширением — example.py, редактор автоматически покажет, что вы работаете теперь в питоновском исходнике. Обновите свой Python до версии 3.8, чтобы работали все библиотеки.

    Вот весь код:

    image

    Дальше все разберем шаг за шагом:

    Для работы с Google Spreadsheets нужен — “gspread”
    Для функции рандома вводим “random”
    Для работы с графикой вводим “PIL”
    Отдельно прописав в терминале pip install

    image

    После подключаем Google API, чтобы получить данные из таблицы.

    Для этого прописываем скоп ссылок:

    image

    и подключаем креденшелы.

    Подробнее как подключить API можно ознакомиться тут.

    Далее мы указываем лист, в которой находится таблица с данными:

    image

    В моем случае я назвала лист с фразами в Google Spreadsheets — “Quotes”

    image

    Возвращаемся обратно к скрипту.

    Сперва надо создать объект, куда запишем все ранее сгенерированные фразы из наших таблиц:

    image

    Следом нужно в цикле получить все строки со склейками:

    image

    Теперь можем запустить скрипт и в консоли вы должны увидеть, что-то подобное, но уже с вашими подборками фраз:

    image

    Так, получив все необходимые данные, теперь берем изображение и кладем в ту же директорию, где лежит скрипт:

    image

    Потом берем из директории любое изображение с функцией рандома:

    image

    Нужно еще скачать шрифты с кириллицей. Быстренько идем на google fonts и скачиваем любой понравившийся шрифт и кладем рядом, выбираем позицию для изображения(250, 250 можно чуть выше, ниже, как хотите):

    image

    Берем готовую цитату и массива по рандомному индексу:

    image

    Функция draw нарисует текст в указанной позиции с нужным шрифтом:

    image

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

    image

    Запускаем и смотрим результат:

    image

    Вуаля!

    Уверена, используя инструкцию, у Вас получится создать такого бота меньше, чем за час!
    (P.S. Интересно, какую цитату вам выдаст непредсказуемый Inspirobot, делитесь в комментариях!)


    Авторы статьи: Амина Эмерсон и Фамил Гаджиев
Теги:
Хабы:
+4
Комментарии19

Публикации

Изменить настройки темы

Истории

Работа

Data Scientist
62 вакансии
Swift разработчик
32 вакансии
Python разработчик
135 вакансий
iOS разработчик
23 вакансии

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн