Передача деревьев зависимостей/составных деревьев нейронному машинному переводчику

Вопрос или проблема

Я работаю над проектом в области нейронного машинного перевода с английского на ирландский. Я не являюсь экспертом и проводил все исследования самостоятельно для технологической выставки, поэтому извините, если мой вопрос простой.

Я пытаюсь проанализировать весь мой английский корпус до древьевых структур. Конечно, формат предложения при использовании парсера Стэнфорда выглядит примерно так:

(ROOT (S (NP (VBG cohabiting) (NNS partners)) (VP (MD can) (VP (VB make) (NP (NP (NNS wills)) (SBAR (WHNP (WDT that)) (S (VP (VBP favour) (NP (DT each) (JJ other)))))))) (. .)))

Конечно, при работе с простыми последовательностями используется каждое слово, это не символика, такая как NP или NNS в древьевых структурах. Сейчас я работаю с PyTorch и Fairseq для создания всех моих моделей и получил работающую модель seq2seq. Но могу ли я просто передать мой английский ввод, показанный выше, модели и ожидать, что она будет обучаться? Нужно ли мне создавать новую модель с нуля, чтобы она могла работать с древьевыми структурами? Я очень старался исследовать это, читая статьи, книги и играя с инструментами, но так как я не в классе по этому вопросу и это не очень документировано, мне сложно найти это самостоятельно.

Любая помощь будет очень признательна

Во-первых, я хотел бы вас отговорить от использования структурированного входа в NMT. В большинстве случаев лучшее, что вы можете сделать, это просто выполнить сегментацию входа и выхода на подслова и научиться простой конверсии «последовательность в последовательность».

Вы, конечно, можете передать разобранный ввод в формате, показанном выше, и худшее, на что можно рассчитывать, это на то, что модель проигнорирует разметку. Некоторые скромные улучшения от использования синтаксиса таким образом показаны в этой статье WTM19 из Эдинбурга.

Более успешными люди были при использовании графовых сверточных сетей для обработки структурированного входа, впервые использованного в 2017 году. В этом случае вам нужно добавить пользовательский энкодер в FairSeq и задать модель с этим энкодером. Существует несколько реализаций графовых сверточных сетей на PyTorch, которые вы можете использовать в FairSeq, например,

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

Ответ или решение

Конечно, работа с нейронными машинами переводчиками (Neural Machine Translation, NMT), особенно в контексте перевода с английского на ирландский, может представлять сложность, особенно при необходимости интеграции особых структур данных, таких как деревья составляющих (constituency trees). Вопрос о том, как внедрить древесные структуры, такие как результат анализа через Stanford Parser, заслуживает внимания.

Фокус на Простой Последовательной Модели

Прежде всего, стоит отметить, что использование структурированных входных данных, таких как деревья составляющих, может не всегда приносить существенные преимущества в NMT. Наиболее эффективным подходом часто оказывается использование моделей преобразования простой последовательности в последовательность (seq2seq). Специальные техники сегментации подслов могут помочь улучшить качество перевода без перегрузки модели сложными структурами.

Влияние Деревьев Составляющих на Обучение

Даже если вы передаете на вход модели деревья составляющих в формате, который вы привели, модель зачастую просто игнорирует символику, такую как NP или NNS, если этому не уделено должного внимания в архитектуре модели. Исследования, такие как опубликованные в WTM19 статье Эдинбургского университета, показывают, что улучшения от использования синтаксического анализа могут быть скромными, если не применяются специализированные подходы.

Использование Графовых Сверточных Сетей

Более успешным решением для обработки структурированных входных данных является использование графовых сверточных сетей (Graph Convolutional Networks, GCN). Эта методология позволяет автоматически извлекать сложные зависимости из деревьев. Одним из примеров такой работы является исследование, проведенное в 2017 году (ссылка на статью).

Для реализации GCN вам потребуется добавить настраиваемый энкодер в FairSeq. Существуют готовые реализации GCN на PyTorch, которые можно адаптировать для использования в FairSeq:

Настройка и Оптимизация

При изменении архитектуры модели важно обратить внимание на настройки процесса обучения, такие как расписание скорости обучения, которое стало оптимизированным для стандартных трансформеров. Этот аспект может потребовать дополнительного внимания и экспериментов для нахождения наиболее эффективной конфигурации.

В итоге, улучшение моделей перевода с использованием деревьев составляющих и GCN может быть перспективным, однако требует внимания к деталям архитектуры и процессу обучения. Работа с PyTorch и Fairseq предоставляет мощные инструменты и фреймворки, но для наиболее успешной интеграции может потребоваться адаптация и настройка под специфические задачи.

Оцените материал
Добавить комментарий

Капча загружается...