Применение графовых нейронных сетей в задаче синтаксического анализа русского языка
Лингвистика
Шамаева Елена Денисовна, 233
Курс «Нейронные сети и их применение в научных исследованиях»
Синтаксический анализ
Синтаксический анализ – этап обработки текста, на котором происходит выделение связей между словами
На вход: предложение + результаты морфологического анализа для каждого слова (начальная форма слова, часть речи, падеж, время и другие)
На выходе: дерево зависимостей (или аналогичные структуры)
Применение графовых нейронных сетей в задаче синтаксического анализа русского языка
Пример дерева зависимостей
Применение графовых нейронных сетей в задаче синтаксического анализа русского языка
В [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.
Метрики
Применение графовых нейронных сетей в задаче синтаксического анализа русского языка
Датасет SynTagRus
Предложение из датасета
Применение графовых нейронных сетей в задаче синтаксического анализа русского языка
# 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 _
Применение графовых нейронных сетей в задаче синтаксического анализа русского языка
Виды синтаксических анализаторов
Применение графовых нейронных сетей в задаче синтаксического анализа русского языка
Анализ на основе переходов
Применение графовых нейронных сетей в задаче синтаксического анализа русского языка
Переходы, изменяющие дерево
Left-Arc
Right-Arc
Применение графовых нейронных сетей в задаче синтаксического анализа русского языка
Переходы, не изменяющие дерево
Shift
Reduce
Применение графовых нейронных сетей в задаче синтаксического анализа русского языка
He said he will now consider those offers .
1 2 3 4 5 6 7 8 9
Промежуточная конфигурация
Применение графовых нейронных сетей в задаче синтаксического анализа русского языка
He said he will now consider those offers .
1 2 3 4 5 6 7 8 9
Конфигурация в виде графа
Применение графовых нейронных сетей в задаче синтаксического анализа русского языка
[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.
Реализация
Применение графовых нейронных сетей в задаче синтаксического анализа русского языка
Для хранения графа и реализации графовых нейронных сетей выбрана библиотека PyG
Детали реализации
Сверточная графовая нейронная сеть
Конфигурация
Применение графовых нейронных сетей в задаче синтаксического анализа русского языка
Визуализация конфигурации
Библиотека networkx — для автоматической визуализации конфигурации
Применение графовых нейронных сетей в задаче синтаксического анализа русского языка
Сверточный блок SAGE
Hamilton W., Ying Z., Leskovec J. Inductive representation learning on large graphs //Advances in neural information processing systems. – 2017. – Т. 30.
Применение графовых нейронных сетей в задаче синтаксического анализа русского языка
Принцип работы SAGE
Hamilton W., Ying Z., Leskovec J. Inductive representation learning on large graphs //Advances in neural information processing systems. – 2017. – Т. 30.
Применение графовых нейронных сетей в задаче синтаксического анализа русского языка
Получение перехода
Применение графовых нейронных сетей в задаче синтаксического анализа русского языка
Процесс обучения