Козиев Илья (kelijah) wrote,
Козиев Илья
kelijah

Categories:

претрейнинг для seq2seq модели incomplete utterance restoration

В продолжение поста о модели интерпретатора.

Эксперименты с обучением seq2seq модели показывают, что имеющегося набора обучающих данных (~76 тысяч сэмплов) маловато.
Хотя по мере добавления новых сэмплов (особенно в ходе итераций active learning) качество растет.

Можно предположить, что часть проблем модели вытекает из редкости некоторых слов и n-грамм.

А что, если попробовать сначала "разогреть" сетку сырыми, невалидированными данными?

У меня есть код автогенерации сэмплов из реальных текстов. С помощью набора правил и синтаксического парсера можно для произвольного утвердительного предложения сгенерировать вопрос и ответ:

T: я живу в Тюмени
Q: я где живу?
A: в Тюмени

Качество таких сэмплов недостаточно, чтобы без модерации добавлять их в основной датасет. Но их много - пара миллионов.

Кроме того, можно взять реальные диалоги, и сымитировать неполные реплики, рандомно убирая 1-3 слова. Например, из фрагмента:

- Надеюсь, рояль вам пригодился
- Ну конечно, Я даже пригласил настройщика.

можно взять вторую реплику, замаскировать в ней "пригласил" и заставить модель восстановить полную фразу "Ну конечно, Я даже пригласил настройщика.". По сути это то, что делают MLM.

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

Tags: sequence2sequence, диалоги
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 3 comments