July 15th, 2021

Небольшие эксперименты с векторными эмбеддингами предложений

В ходе экспериментов с генерацией текстов у меня опять всплыла тема разных автоэнкодеров для предложений.
Чтобы немного упорядочить результаты, я вынес код и модели в отдельный репозиторий https://github.com/Koziev/sent_embedders

Сейчас там лежит модель вариационного автоэнкодера с использованием bpe для токенизации текста, которая позволяет делать вот такие незамысловатые векторные операции над текстом:


"кошка ловит мышку" + ("собака не спит" - "собака спит") => "кошка не ловит мышку"
"кот обожает рыбу" + ("мышь ненавидит арбуз" - "мышь обожает арбуз") => "кот ненавидит рыбу"
"я ем" + ("ты ел" - "я ел") => "ты ем"

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

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

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


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