8 июня

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

PythonРазработка мобильных приложенийИнтернет-маркетингПоисковая оптимизацияСоциальные сети и сообщества
Tutorial
Прелесть генераторов в том, что можно автоматизировать свой труд и сэкономить время. Они полезны для приложений, веб-сайтов, блогов, гороскопов. Техника будет сама напоминать вашим читателям про ваш продукт, не используя одну и ту же назойливую картинку. А «готовка» генератора займет 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, делитесь в комментариях!)


    Авторы статьи: Амина Эмерсон и Фамил Гаджиев
Теги:ботботыботы для социальных сетейботы в социальных сетяхискусственный интеллектприложенияpythonSEOгенераторexcelгенератор случайных чисел
Хабы: Python Разработка мобильных приложений Интернет-маркетинг Поисковая оптимизация Социальные сети и сообщества
+4
2,4k 30
Комментарии 19
Лучшие публикации за сутки