- •Міністерство освіти і науки україни
- •Укладачі: Романюк а. Б., канд. Техн. Наук, ст. Викладач
- •Залежності і граматика залежностей
- •Валентність та лексикон
- •Розробка граматики
- •Treebanksта граматики
- •Неоднозначність синтаксичного аналізу
- •Зважені граматики
- •Порядок виконання роботи
- •Зміст звіту
- •Інтернет посилання
Порядок виконання роботи
Ознайомитися з теоретичними відомостями.
Виконати приклади, які використовуються в теоретичних відомостях.
Виконати наступні вправи.
Написати рекурсивну функцію для перегляду дерева, яка визначає його глибину. Дерево з одного вузла має глибину рівну нулю. (глибина піддерева це максимальна глибина його дітей плюс один)
Використовуючи графічний інтерфейсchart-parserта інформацію з Додатку А провести експерименти з різними стратегіями вибору правил при синтаксичному аналізі. Результати пояснити письмово.
chart parser додає але ніколи не видаляє дуги з chart. Чому?
Розширити граматику grammar2 з попередньої лабораторної роботи правилами які розділяють прийменники як перехідні, неперехідні та такі що вимагають PP доповнення. На основі цих правил побудуйте дерево розбору для реченняLee ran away home, використовуючи аналізатор рекурсивного спуску.
Вибрати декілька (2) загальних дієслова та напишіть програми для вирішення наступних задач:
Пошук дієслів в корпусіPrepositionalPhraseAttachmentCorpusnltk.corpus.ppattach.Пошук всіх випадків вживання дієслова з двома різними РР в яких перший іменник, або другий іменник або прийменник залишаються незмінними
Розробити правила CFG граматики для врахування цих випадків.
Написати програму порівняння ефективності top-downchartparserу порівнянні з аналізатором рекурсивного спуску.Використовувати однакову граматику і те саме речення для двох аналізаторів.Для порівняння продуктивності використовувати модуль timeit.
Використовуючи позиції в дереві побудувати список підметів перших 100речень корпусу Penntreebank;для спрощення представлення результатів підмети представляти як піддерева з глибиною не більше 2.
Здійснити аналіз корпусаPrepositionalPhraseAttachmentCorpusта спробувати знайти фактори, які впливають на місце приєднанняPP.
Написати рекурсивну функцію для побудови вкладеної структури на основі дерева, без врахування вузлів та відображувати нетермінальні символи після їх піддерев. Перше речення корпусу (про Pierre Vinken) повинно бути перетворене до наступного вигляду: [[[NNP NNP]NP , [ADJP [CD NNS]NP JJ]ADJP ,]NP-SBJ MD [VB [DT NN]NP [IN [DT JJ NN]NP]PP-CLR [NNP CD]NP-TMP]VP .]S
Модифікувати функцію init_wfst() та функцію complete_wfst() для того щоб в кожній комірці WFST зберiгалися набори нетермінальних символів а не один нетермінал.
Здійснити аналіз алгоритму на стор. 3Чому кількість дерев розбору побудованих на основі контексно-вільної граматики пропорційна до n3,де n– кількість слів вхідного речення.
Розробити програму обробки дерев корпусаTreebanknltk.corpus.treebank, яка вилучить всі правила з кожного з дерев за допомогою Tree.productions(). Правилами, які зустрічаються тільки один раз можна знехтувати. Правила з однаковими лівими частинами та подібними правими частинами об’єднати для отримання еквівалентногоале більш компактного набору правил.
Підготувати і оформити звіт.
-
Варіант
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Номери завдань
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
3
4
2
3
4
2
3
4
2
3
4
2
3
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
7
8
9
10
11
6
7
8
9
10
11
6
7
8
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
-
Варіант
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Номери завдань
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
3
4
2
3
4
2
3
4
2
3
4
2
3
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
9
10
11
6
7
8
9
10
11
6
7
8
9
10
11
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
