Ребят, подскажите, может у кого-то была подобная задача:
В huggingface в generate есть bad_words_ids
, чтобы запретить генерировать конкретные слова, но нет параметра, чтобы заставить генерировать конкретные слова в предложении. Хотелось бы с помощью Natasha искать NERом слова, которые нельзя в предложении менять и скармливать их в generate, чтобы они точно были в получившемся предложении
Есть какие-нибудь более красивые решения, чем фильтр по 100500 результатам от generate? Может особая функция ошибки, которая наказывает модель за дропнутые нужные слова? Возможно какой-то небинарный (а на отрезке) attention? Заранее спасибо)
Есть ряд решений типа guided language models или generative discriminators, там скоры языковой модели для каждого слова в словаре модифицируются с использованием маленькой дополнительной модельки, и генерация происходит из такого подкостыленного распределения. Я бы использовал что-то подобное, и в качестве костыля увеличивал бы вероятности тех токенов, которые хочется иметь в предложении.