close

Вход

Забыли?

вход по аккаунту

?

Грамматика составляющих

код для вставкиСкачать
Гибридный
синтаксический
анализ
Cергей Ливерко
Даниил Скатов
Владимир Окатьев
Прикладная лингвистика и искусственный интеллект 2013
Синтаксический анализ
Синтаксический анализ – процесс сопоставления
линейной последовательности лексем языка с его
формальной грамматикой
Результат анализа – дерево синтаксического разбора
2 основных типа грамматик:
Грамматика зависимостей
Грамматика составляющих
ООО «Диктум», 2013
2 / 20
Грамматика зависимостей
Вершинами дерева разбора являются слова, рёбрами –
подчинительные связи
Связи между словами устанавливаются по правилам
грамматики
Корневой вершиной считается сказуемое (при его
наличии)
Предлог управляет существительным
Анализ производится по алгоритму Эйснера:
1. Строятся все возможные связи с назначенными им
весами
2. Из полученного графа извлекается дерево
минимального веса, включающее как можно больше
вершин
ООО «Диктум», 2013
3 / 20
Грамматика зависимостей
Пример: Я поеду домой на машине
ООО «Диктум», 2013
4 / 20
Грамматика зависимостей
Пример: Я поеду домой на машине
поеду
я
домой
на
машине
ООО «Диктум», 2013
5 / 20
Грамматика зависимостей
Преимущества:
Приспособлена для языков со свободным порядком слов
Дерево зависимостей удобно для семантической
интерпретации
Недостатки:
Необходимо заранее расставить все потенциальные
связи между словами – появляется много шума
Трудности с учётом пунктуации и ролей запятых –
необходимо заранее знать синтаксическую структуру
предложения!
Трудности с представлением рядов из однородных
членов
ООО «Диктум», 2013
6 / 20
Грамматика составляющих
Вершинами дерева разбора являются составляющие –
группы из нескольких подряд идущих слов, связанных
между собою синтаксически
Составляющая суть есть словосочетание
Каждая составляющая состоит из нескольких (в
большинстве работ – из 2) составляющих меньшего
размера, определяемых правилами грамматики
Корневой вершиной считается составляющая,
соответствующая всему предложению
Листьями дерева являются слова (элементарные
составляющие)
Анализ производится по алгоритму свёртки, КокаЯнгера-Касами и подобным
ООО «Диктум», 2013
7 / 20
Грамматика составляющих
Пример: Я поеду домой на машине
ООО «Диктум», 2013
8 / 20
Грамматика составляющих
Пример: Я поеду домой на машине
я поеду домой на машине
я
поеду домой на машине
поеду домой
поеду
домой
ООО «Диктум», 2013
на машине
на
машине
9 / 20
Грамматика составляющих
Преимущества:
Порождаются только грамматически верные разборы
Корректный учёт пунктуации и определение ролей
запятых
Корректная сборка рядов из однородных членов
Недостатки:
Многозначность порядка сборки составляющих
порождает множество разборов, разных по структуре
дерева, но одинаковых по существу
В грамматике зависимостей всем им соответствует одно
и то же дерево!
ООО «Диктум», 2013
10 / 20
Неоднозначность разбора
Пример: Красивая спинка стула
красивая
спинка стула
красивая
спинка стула
красивая
спинка
стула
красивая
спинка
стула
спинка
стула
красивая
спинка
спинка
красивая
стула
ООО «Диктум», 2013
11 / 20
Гибридный подход
Суммируются преимущества двух подходов и
устраняются многие недостатки
ООО «Диктум», 2013
12 / 20
Гибридный подход
Суммируются преимущества двух подходов и
устраняются многие недостатки
Алгоритм
{
}
ООО «Диктум», 2013
13 / 20
Гибридный подход
Суммируются преимущества двух подходов и
устраняются многие недостатки
Алгоритм
{
Составляющие
Зависимости
}
ООО «Диктум», 2013
14 / 20
Гибридный подход
Более точное ранжирование вариантов
составляющих за счёт взвешивания
деревьев зависимостей
Сокращение перебора за счёт
отождествления одинаковых вариантов
разбора
Устраняются недостатки представления
результатов каждого из подходов
ООО «Диктум», 2013
15 / 20
Пример простого правила
// Хороший телефон
AgreeNounFullAdjCF
{
T: [ComFullAdj] [ComNoun]
C: NumberGenderAgree (LI1, LI2) &&
(LI1.Case == LI2.Case) &&
CaseAnimAgree (LI1, LI2);
Main: 2
L: 2=>Agreement=>1;
}
ООО «Диктум», 2013
16 / 20
Пример правила для ряда
// Яблоко и груша
CoordNounConj
{
T: [ComNoun] [CoordConj] [ComNoun]
C: LI1.Case == LI3.Case;
Main: 1
L: 1=>Coord=>3;
A: LI.Number = NUMBER_PL; PH.IsCoord = true;
}
ООО «Диктум», 2013
17 / 20
Пример правила для обособления
// Он шёл по улице, думая о работе
IsolAdvPartPost
{
T: [ComVerb] <,> [AdvPart] ( {,} | {.} | {?} | {!} |
<End> )
C: LI1.VerbForm != VERB_FORM_ADV_PART;
Main: 1
L: 1=>Contiguity=>2;
J: 1<=IsolBegin; 2<=IsolEnd;
A: PH.IsIsol = true;
}
ООО «Диктум», 2013
18 / 20
Пример правила для непроективности
// Дорогу должен уступить
ControlNonProjectLeft
{
T: [ComNoun] [Pred] [Inf]
C: PredicModel (LI2, LI3) && IsFreeValence (PH2, LI3) &&
PredicModel (LI3, LI1) && IsFreeValence (PH3, LI1);
Main: 2
L: 2=>Control=>3; 3=>Control=>1;
A: FillValence (PH, LI3);
}
ООО «Диктум», 2013
19 / 20
Сложность алгоритма
ООО «Диктум», 2013
20 / 20
Спасибо за внимание!
ООО «Диктум»
г. Нижний Новгород
info@dictum.ru
www.dictum.ru
ООО «Диктум», 2013
21 / 20
Документ
Категория
Презентации по информатике
Просмотров
103
Размер файла
599 Кб
Теги
1/--страниц
Пожаловаться на содержимое документа