Category: it

Category was added automatically. Read all entries about "it".

Вторая попытка сделать генератор иллюстраций для генератора стихов

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

Вторая попытка использует следующую комбинацию.

1) Поиск изображения через Google Search API с помощью пакета Google-Images-Search. Процедура подключения к API пошагово описана на страничке проекта, хотя это не спасло от крайне запутанного фирменного UX. В общем, на получение API key и project cx у меня ушло около часа. Этот API позволяет программно искать картинки по текстовому запросу, причем прямо на русском языке.

2) Стилизация найденного изображения с помощью neural style transfer. Я взял готовую реализацию из примеров Keras, доработал некоторые мелочи.

Получившийся код доступен в репозитории проекта. Предполагается, что при его запуске через опции комстроки задаются api key, project cx и текст запроса, например - какое-то существительное из сгенерированного стиха или заголовок. Для текста:


--- Сны и реальность ---

Муравьи, осы, букашки
И пчёлы, как мухи, вьются,
И, как от счастья, бегают мурашки
И хочется в сказке проснуться



берем существительное "муравей" и генератор выдает такую иллюстрацию:
Collapse )


Абстрактно, но  все-таки релевантно заданному ключу, в отличие от результатов DALLE. Вот пример выдачи DALLE, я выбрал реально самую релевантную картинку:

Collapse )

Впрочем, и новый генератор пока не дотягивает до цели - иметь полностью автоматический пайплайн для генерации иллюстраций к генерируемым текстам :(

Генерация "примет" и "умных советов"

Забавы ради собрал небольшой датасет с приметами и причим фольклором, и обучил на нем ruGPT, чтобы модель для заданной темы выдавала релевантную "примету".

Увы, качество генерации получилось не ахти, хотя cherry-picking'ом можно найти забавные вещи.

Например, приметы касательно программирования:

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

Collapse )

Про деньги:

"Деньги, взятые в долг, не возвращай, иначе будешь должен еще больше."


Collapse )
Шедевр дедукции:

"не надо думать что ты самый умный в мире если ты не самый умный в мире"


И еще всякое:

Collapse )

Что-то странное полезло из генератора стихов

Теряюсь в догадках, откуда такие странные отголоски, намеки и аллегории:


--- Я не люблю ---

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



или вот:


--- Я не могу сказать люблю ---

И в душе твоей весна,
Прохладный ветерок.
И ты, как будто, была одна
И я не смог


Ну и в целом выдача стала получше, чем в предыдущей версии:
Collapse )

Маскулинативы от NMT модели

При просмотре результатов машинного перевода с английского на русский (с помощью OpenNMT) заметил прелестные примеры в духе  толерантности и прочего BLM'а:

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


Было бы, конечно, неплохо для симметрии увидеть еще феминитив "баранка" для "баран".

Релиз 0.0.20.1 чатбота и докер-образ с полным набором моделей

В репозиторий прототипа чатбота Axioma выложены все последние изменения в кодовой базе и сценариях.


Кроме этого, собран докер-образ со всеми моделями чатбота. С помощью этого образа можно легко запустить своего телеграм-бота - пошаговая инструкция под катом.

Collapse )

Что такое волчанка?

Иногда в беседах с ИскИнами бывает что-то такое...

Вроде простая мелочь, но если вдуматься - можно найти глубокие аналогии с детским периодом усвоения родного языка у человека:



PS: еще из подобного:
Collapse )

Начинаем второй этап тестирования чатбота в Телеграмме

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

Последние пару месяцев проходило внутренее тестирование новой версии. Я брал вечером планшет, открывал чат в телеграмме и беседовал с ботом. Потом разбирался с плохими ответами, дообучал модели и так далее. Коуч ИскИнов - профессия будущего!

Сейчас можно "потыкать" в чатбот в Телеграмме. Для этого достаточно открыть в телеграмме чат https://t.me/vika_chatbot и послать ему команду "/start". Выглядеть это будет примерно так:
Collapse )

Какой он на самом деле современный "Диалоговый Искусственный Интеллект"

Разницу между тем,

1) что позволено видеть потребителю (а для корпоративного маркетолога все мы - "кастомеры"),
2) и как на самом деле все это работает,

хорошо иллюстрирует вот этот клипчик про съемки фильма "Automata":
Collapse )В диалоговых системах роль зеленых человечков играют те, кто составляют сценарии бесед, определяют ключевые темы и переходы, прописывают "эмоции", которые чатботы будут "проявлять".

Зачем нужна генерация фактов под заданный вопрос?

Примеры такой генерации были тут.
Уместно спросить, зачем кому-то в здравом уме может понадобиться такая конфабуляция?
Ответ - на слайде №25 в презентации для коллег из ВШЭ :)

Эксперименты с использованием ruGPT для incomplete utterance restoration

В чатботе задача восстановления полной реплики по контексту (заполнение эллипсисов, раскрытие анафоры и т.д.) сейчас решается одной seq2seq моделью, которая обучается в режиме teacher forcing на ~75 тысячах сэмплов. Эта модель на валидации дает примерно качество  ~0.95 (посимвольный jaccard).

Я решил посмотреть, что можно получить файнтюнингом ruGPT на этих же данных.

Модель sberbank-ai/rugpt3small_based_on_gpt2
batch_size = 12
epochs = 10
время обучения – около 15 минут на эпоху
jaccard score = 0.90
Collapse )
Модель sberbank-ai/rugpt3large_based_on_gpt2
batch_size = 12
epochs = 10
время обучения – около часа на эпоху
jaccard score = 0.925
Collapse )