1 of 18

Применение графовых нейронных сетей в задаче синтаксического анализа русского языка

Лингвистика

Шамаева Елена Денисовна, 233

Курс «Нейронные сети и их применение в научных исследованиях»

2 of 18

Синтаксический анализ

Синтаксический анализ – этап обработки текста, на котором происходит выделение связей между словами

На вход: предложение + результаты морфологического анализа для каждого слова (начальная форма слова, часть речи, падеж, время и другие)

На выходе: дерево зависимостей (или аналогичные структуры)

Применение графовых нейронных сетей в задаче синтаксического анализа русского языка

Пример дерева зависимостей

3 of 18

Применение графовых нейронных сетей в задаче синтаксического анализа русского языка

  • UAS – процент правильно связанных слов без учета меток над ребрами
  • LAS – процент правильно связанных слов с учетом меток над ребрами

В [1] на SynTagRus: UAS = 92.96, LAS = 91.46

[1] — Straka M. UDPipe 2.0 prototype at CoNLL 2018 UD shared task //Proceedings of the CoNLL 2018 Shared Task: Multilingual Parsing from Raw Text to Universal Dependencies. — 2018. — С. 197-207.

Метрики

4 of 18

Применение графовых нейронных сетей в задаче синтаксического анализа русского языка

  • Тексты с морфосинтаксической разметкой
  • Два типа текстов:
    • статьи из журналов и интернет-изданий (с 1980 г.)
    • русская художественная проза второй половины XX в
  • 25447 предложений, 409387 слов

Датасет SynTagRus

5 of 18

Предложение из датасета

Применение графовых нейронных сетей в задаче синтаксического анализа русского языка

# sent_id = 2003Anketa.xml_213

# text = Другие тоже хотят иметь высшее образование.

1 Другие другой ADJ  _ Case=Nom|…   3 nsubj 3:nsubj|4:nsubj _

2 тоже  тоже PART _ _ 3 advmod 3:advmod  _

3 хотят хотеть VERB _ Aspect=Imp|… 0 root 0:root  _

4 иметь иметь VERB _ Aspect=Imp|… 3 xcomp 3:xcomp  _

5 высшее высший ADJ  _ Case=Acc|… 6 amod  6:amod  _

6 образование образование NOUN _ Animacy=Inan|… 4 obj 4:obj SpaceAfter=No

7 . . PUNCT _ _ 3 punct 3:punct _

6 of 18

Применение графовых нейронных сетей в задаче синтаксического анализа русского языка

Виды синтаксических анализаторов

7 of 18

Применение графовых нейронных сетей в задаче синтаксического анализа русского языка

Анализ на основе переходов

  • Конфигурация — состояние анализатора
  • В итоговой конфигурации предложение разобрано
  • Переход (transition) — функция, отображающая конфигурацию в другую конфигурацию
  • Пример набора переходов:
    • Left-Arc,
    • Right-Arc,
    • Reduce,
    • Shift
  • Оракул по конфигурации предсказывает переход
  • Оракул основан на машинном обучении

8 of 18

Применение графовых нейронных сетей в задаче синтаксического анализа русского языка

Переходы, изменяющие дерево

Left-Arc

Right-Arc

9 of 18

Применение графовых нейронных сетей в задаче синтаксического анализа русского языка

Переходы, не изменяющие дерево

Shift

Reduce

10 of 18

Применение графовых нейронных сетей в задаче синтаксического анализа русского языка

He said he will now consider those offers .

1 2 3 4 5 6 7 8 9

Промежуточная конфигурация

11 of 18

Применение графовых нейронных сетей в задаче синтаксического анализа русского языка

He said he will now consider those offers .

1 2 3 4 5 6 7 8 9

Конфигурация в виде графа

12 of 18

Применение графовых нейронных сетей в задаче синтаксического анализа русского языка

  • Основная часть кодовой базы взята из uuparser [2]
  • В реализации uuparser библиотека dynet заменена на библиотеку torch
  • Вместо MLP используется GNN
  • Изменен способ получения эмбеддинга конфигурации
    • используется представление конфигурации в виде графа

[2] — De Lhoneux M., Stymne S., Nivre J. Arc-hybrid non-projective dependency parsing with a static-dynamic oracle //15th International Conference on Parsing Technologies,(IWPT 2017), September 20-22, 2017, Pisa, Italy. – Association for Computational Linguistics, 2017. – С. 99-104.

Реализация

13 of 18

Применение графовых нейронных сетей в задаче синтаксического анализа русского языка

Для хранения графа и реализации графовых нейронных сетей выбрана библиотека PyG

Детали реализации

Сверточная графовая нейронная сеть

Конфигурация

14 of 18

Применение графовых нейронных сетей в задаче синтаксического анализа русского языка

Визуализация конфигурации

Библиотека networkx — для автоматической визуализации конфигурации

15 of 18

Применение графовых нейронных сетей в задаче синтаксического анализа русского языка

Сверточный блок SAGE

Hamilton W., Ying Z., Leskovec J. Inductive representation learning on large graphs //Advances in neural information processing systems. – 2017. – Т. 30.

16 of 18

Применение графовых нейронных сетей в задаче синтаксического анализа русского языка

Принцип работы SAGE

Hamilton W., Ying Z., Leskovec J. Inductive representation learning on large graphs //Advances in neural information processing systems. – 2017. – Т. 30.

17 of 18

Применение графовых нейронных сетей в задаче синтаксического анализа русского языка

Получение перехода

18 of 18

Применение графовых нейронных сетей в задаче синтаксического анализа русского языка

Процесс обучения