Counter-fitting word vectors и retro-fitting word vectors
И как подвид одного из них — attract-repel
Идея простая — заводим списки синонимов-антонимов (например, взятые из тезаурусов) и меняем разными методами либо вектора отдельных слов, либо целые пространства. То есть это в каком-то смысле синкретизм методов 1) и 2) из списка выше.
Но должен честно предупредить, что я копал эту историю пару лет назад — возможно, появились более эффективные методы
У меня тогда получалось, что counter fitting очень сильно менял исходное пространство (что, возможно, для задачи создания модели только для поиска синонимии и некритично и даже наоборот хорошо — если уже есть на входе тезаурус с синонимами, то хорошо бы поменять вектора кому-то ещё, иначе все останется как было), а retro-fitting работал недурно, но его scope наоборот был слишком локальный — вектора слов, кроме тех, что были в исходных списках синонимов-антонимов практически никак не менялись. Что, см. выше, для нашей задачи будто бы плохо на первый взгляд