Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KL-LAB12(10).doc
Скачиваний:
22
Добавлен:
12.02.2016
Размер:
1.69 Mб
Скачать

Залежності і граматика залежностей

Граматики, які будуються на основі фразової структури речення, описують як слова та їх послідовності об’єднуються (поєднуються) у складники (безпосередні складники). Альтернативний, або доповнюючий підхід, який називають граматикою залежностей, полягає у встановленні взаємоз’язків між окремими словами. Між парами слів у реченні встановлюється бінарний асиметричний зв’язок, який вказує на основне слово та залежне. Основним словом в реченні звичайно вважається дієслово (присудок) і інші слова, або безпосередньо або через інші зв’язки залежать від нього.

Дерево залежностей представляється у вигляді поміченого орієнтованого графа, у якому вузлами є лексичні одиниці а помічені дуги представляють відношення залежностей між основними і та залежними словами. На рис представлено такий граф і напрям стрілок вказує на залежні слова.

Рис. 3.Графічне представлення дерева залежностей

Кожна з дуг на рис. є помічена позначеннями типу відношень, які встановлені між основним та залежним словом. Наприклад , I це SBJ (підмет), shot (основне слово речення), in - NMOD (модифікатор іменника elephant). В граматиці залежностей зв’язки міх членами речення можуть бути представлені за допомогою типів залежностей.

Наступний приклад демонструє один з способів представлення граматики залежностей в NLTKбез вказання типів залежностей:

 

>>> groucho_dep_grammar = nltk.parse_dependency_grammar("""

... 'shot' -> 'I' | 'elephant' | 'in'

... 'elephant' -> 'an' | 'in'

... 'in' -> 'pajamas'

... 'pajamas' -> 'my'

... """)

>>> print groucho_dep_grammar

Dependency grammar with 7 productions

'shot' -> 'I'

'shot' -> 'elephant'

'shot' -> 'in'

'elephant' -> 'an'

'elephant' -> 'in'

'in' -> 'pajamas'

'pajamas' -> 'my'

Граф який представляє залежності повинен бути проективним. Граф вважається проективним, якщо дуги, які зображені над словами не перетинаються. Також можна сказати що це еквівалентно до твердження, що слово і всі його нащадки (залежні від нього слова та залежні від залежних) утворюють неперервну послідовність слів речення. Граф на рис є проективний.

Наступний приклад демонструє як у граматиці groucho_dep_grammar реалізовано альтернативний підхід до врахування неоднозначності приєднання .

 

>>> pdp = nltk.ProjectiveDependencyParser(groucho_dep_grammar)

>>> sent = 'I shot an elephant in my pajamas'.split()

>>> trees = pdp.parse(sent)

>>> for tree in trees:

... print tree

(shot I (elephant an (in (pajamas my))))

(shot I (elephant an) (in (pajamas my)))

Структури залежностей у дужках також можуть бути зображені як дерева, у яких залежні слова представляються, як «діти» основних слів.

(14)

Валентність та лексикон

Розглянемо більш детально дієслова та залежні від них слова у реченні. Контекстно-вільна граматика з попередньої лабораторної роботи дозволяє генерувати наступні граматично правильні речення.

(15)

a.

The squirrel was frightened.

b.

Chatterer saw the bear.

c.

Chatterer thought Buster was angry.

d.

Joe put the fish on the log.

Генерацію цих речень забезпечують наступні правила граматики:

Таблиця 1.

Missing Caption

VP -> V Adj

was

VP -> V NP

saw

VP -> V S

thought

VP -> V NP PP

put

Таким чином,wasможе зустрічатися (вживатися) перед Adj,sawпередNP,thoughtперед Sі putперед NPтаPP.Adj,NP,PPтаSчасто називають доповненнями відповідних дієслів і існують строгі обмеження на те яке дієслово і з якими доповненнями може вживатися. На противагу до речень з попереднього прикладу наступні послідовності слів не є граматично правильними реченнями:

(16)

a.

*The squirrel was Buster was angry.

b.

*Chatterer saw frightened.

c.

*Chatterer thought the bear.

d.

*Joe put on the log.

Згідно домовленостей граматики залежностей, говорять що дієслова з таблиці 1мають різні валентності.Обмеження на основі валентностей можуть накладатися не тільки на дієслова а також і на інші класи основних слів.

Для недопущення генерації граматично неправильних в контекстно-вільну граматику потрібно ввести обмеження на правила граматики, щоб вони при формуванні VP дієслова поєднувалися тільки з відповідними (правильними) доповненнями.Найпростіший спосіб цього досягнути- це поділити клас дієслів на підкласи (підкатегорії), кожна з яких буде асоціюватися з окремим набором доповнень. Наприклад, такі перехідні дієслова, як chased та saw вимагають щоб після них слідував NP object , як доповнення. Якщо ввести нове позначення TV для нетермінальних символів, які відповідають перехідним словам, то можна отримати наступні правила:

VP -> TV NP

TV -> 'chased' | 'saw'

Тепер *Joe thought the bear є недопустима, оскільки thought не записано як TV, але Chatterer saw the bear ще допустима послідовність. В таблиці 2представлено ще декілька прикладів виділення підкатегорій в дієсловах.

Таблиця 2.

Verb Subcategories

Symbol

Meaning

Example

IV

intransitive verb

barked

TV

transitive verb

saw a man

DatV

dative verb

gave a dog to a man

SV

sentential verb

said that a dog barked

Доповнення часто протипоставляють модифікаторам,як іншому виду залежностей.Прийменникові вирази, прикметникові та прислівникові – це типові реалізації модифікаторів. На відміну від доповнень,модифікатори не є обов’язковими, можуть повторюватися, для них основне слово вибирається іншими способами ніж для доповнень. Наприклад, прислівникreallyможе додаватися, як модифікатор до всього речення:

(17)

a.

The squirrel really was frightened.

b.

Chatterer really saw the bear.

c.

Chatterer really thought Buster was angry.

d.

Joe really put the fish on the log.

.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]