ГЛАВА 2. ІНТЕГРАЦІЯ МЕТОДІВ СИНТАКСИЧНОГО ТА СЕМАНТИЧНОГО АНАЛІЗУ ТЕКСТІВ ( 2.1-2.2)

 ГЛАВА 2. ІНТЕГРАЦІЯ МЕТОДІВ СИНТАКСИЧНОГО ТА СЕМАНТИЧНОГО АНАЛІЗУ ТЕКСТІВ 

 

 2.1. Задачі  визначення рольових структур висловлювань у текстах російською мовою Завдання визначення рольових структур висловлювань, як більшість інших завдань комп'ютерної лінгвістики, має кілька інтерпретацій. Немає єдиної думки про те, які конструкції природної мови вважати аргументами предикатних слів, які ролі мають призначатися аргументами: узагальнені, тематичні, специфічні для предикатних слів (PropBank), специфічні для фреймів (FrameNet), і тим більше немає єдиної думки з приводу семантичних інвентарів ролей. Тому, щоб сформулювати постановку завдання визначення рольових структур висловлювань, необхідно конкретизувати всі вищезгадані аспекти, а також визначити формальну структуру, яка в результаті має бути побудована аналізатором.Постановка завдання та методи її вирішення у цій дисертації значною мірою спираються на семантичний словник, розроблений в Інституті системного аналізу РАН експертами у галузі теоретичної лінгвістики [157]. Основною метою його створення були збір та формалізація знань про семантику предикатних слів та синтакс російської та англійської мов у вигляді, в якому вони могли б бути використані в комп'ютерних системах обробки текстів на ЄЯ. У семантичному словнику зберігаються словникові статті, кожна з яких відповідає певній ситуації. У словниковій статті знаходяться леми предикатних слів (дієслів і девербативів), що позначають ту саму ситуацію. Словникова стаття також містить семантичні значення, які можуть мати синтаксими при заданих предикатних словах, а також ознаки, якими повинні мати синтаксими, щоб їм були зіставлені ті чи інші значення. Як основні ознаки використовуються відмінок, прийменник, а також категорично-семантичний клас іменника. Під категоріально-семантичним класом (КСК) іменників мається на увазі їхнє узагальнене значення. Детальний опис структури семантичного словника подано у додатку 3.Деякі подібні ресурси для російської описані в [78, 158, 159]. Хоча словник створювався термінах теорії комунікативної граматики Г.А. Золотовий [100] він може бути використаний і в задачі визначення рольових структур висловлювань. Значення синтакси в цьому словнику можна розглядати як широкий набір семантичних (тематичних) ролей. Словникові статті семантичного словника певною мірою схожі з кадрами ресурсу FrameNet – вони задають перелік предикатних слів та його центральні ролі. У постановці завдання визначення рольових структур висловлювань у цій дисертаційній роботі будемо вважати, що список семантичних ролей, предикатних слів та їх рольові структури задані семантичним словником.Будемо використовувати поняття семантичного аргументу у термінах роботи [91]. У ньому завдання визначення рольових структур висловлювань формально ставиться як встановлення маркованої залежності між предикатним словом і вершиною синтаксичної групи, що є аргументом предикатного слова. Таким чином, завдання визначення аргументу зводиться до визначення слова-вершини синтаксичної конструкції, значення якої визначається, тому під аргументом можна розуміти окреме слово з прив'язкою до певної позиції в синтаксичному дереві речення. Уточнимо також, що як семантичні аргументи ми розглядатимемо лише іменники, займенники, запитальні слова та числівники.Завдання визначення рольових структур висловлювань розумітимемо у найширшому сенсі, тобто. будемо до неї включати виявлення предикатних слів, виявлення їх аргументів, а також призначення аргументів семантичних ролей.На вхід семантичного аналізатора подається дерево синтаксичних залежностей речення, морфологічні характеристики слів, а також категорично-семантичні класи слів (на малюнку 10 представлений приклад синтаксичного дерева з корпусу СінТагРус [67]). На виході має бути побудований граф семантичних залежностей пропозиції (рисунок 11). Рівно місяць тому з Москви до Петербурга столичні реставратори відправили незвичайний вантаж. Рисунок 10 – Синтаксична структура, яка подається на вхід семантичного аналізатора Малюнок 11 – Семантична структура – результат роботи семантичного аналізатора 

 

2.2. Метод визначення рольових структур висловлювань у текстах російською мовою  Основна концепція, представленого в цьому розділі методу, полягає в тому, що, маючи невеликий кінцевий набір евристик, детермінований алгоритм і семантичний словник, що розширюється, можна побудувати систему для визначення рольових структур висловлювань у текстах з будь-якої предметної області.2.2.1. Загальний алгоритм роботи семантичного аналізатораАлгоритм семантичного аналізу пропозиції можна умовно поділити на п'ять етапів:• пошук предикатних слів (ПС) та відповідних їм словникових статей;• пошук аргументів ПС;• призначення семантичних ролей знайденим аргументам відповідно до кожної знайденої словникової статті ПС незалежно від інших аргументів;• вибір найкращого розподілу семантичних ролей за аргументами для заданої словникової статті з урахуванням обмеження єдиності ролей шляхом вирішення оптимізаційної задачі призначення;• вибір найкращої словникової статті ПС та відповідного їй набору семантичних ролей.Коротко опишемо кожен етап.Для пошуку ПС у пропозиції використовуються морфосинтаксичні шаблони. В основному умови накладаються на частину мови та на положення в синтаксичному дереві. При пошуку предикатних слів-іменників у реченні тексту використовуються леми ПС із семантичного словника. Після того, як ПС знайдено, для кожного з них встановлюється список відповідних словникових статей у семантичному словнику. Він формується шляхом вибору розділу рольових структур ПС семантичного словника всіх статей, у яких є лема головного слова ПС.До кожного знайденого у реченні ПС шукаються його семантичні аргументи. Пошук ведеться відповідно до заданого набору евристик, які враховують характеристики ПС, морфологічні характеристики слів, що проглядаються в реченні, синтаксичну структуру речення. З кожним знайденим аргументом пов'язується його вага – число від 0 до 1. Вага аргументу відбиває впевненість у тому, що знайдене слово є аргументом ПС.Для кожної словникової статті ПС і для кожного семантичного аргументу ПС на основі характеристик аргументу та інформації, що міститься в словниковій статті, визначається набір семантичних ролей, якими може мати заданий аргумент незалежно від інших аргументів. У цій процедурі порівнюються відмінок, КСК та привод аргументу з відповідними ознаками в заданій словниковій статті для заданого ПС. Через війну нечіткого зіставлення цих ознак з урахуванням евристик визначається оцінка відповідності аргументу семантичної ролі – вага від 0 до 1.Після того, як кожному аргументу для заданої словникової статті призначено набір семантичних ролей та визначено їхню вагу, проводиться процедура вирішення неоднозначності розподілу ролей за аргументами. У ній семантичні ролі розподіляються між аргументами те щоб кожен семантичний аргумент мав трохи більше однієї ролі для заданого ПС, і кожна роль заданої статті використовувалася б трохи більше разу. При цьому покриття аргументів ролями має бути найкращим відповідно до ваг аргументів і ролей. Для цього використовується алгоритм оптимізації, що базується на угорському методі, який вирішує задачу про призначення (завдання лінійного цілісного програмування (ЛЦП)).Коли оптимальне розподіл семантичних ролей між аргументами знайдено кожної статті, вибирається найкраща словникова стаття для ПС. Як оцінка статті використовується значення цільової функції при оптимальному вирішенні відповідної задачі призначення. У результаті формується набір семантичних ролей, який найкраще покриває семантичні аргументи для найбільш підходящої предикатного слова словникової статті.Загальний алгоритм визначення рольової структури речення представлений малюнку 12. ?морфологічна структура Синтаксична та пропозиції,Знайти предикатні КСК слів слова в реченніПредикатні слова пропозиції Цикл 1, за всіма предикатними словамиПередикатне словоЗнайти аргументи ПС та визначити їхню вагу АргументиПСВибрати із цього. словника статті для предикатного словаСписок словниковихЦикл 2, за всіма статтями ПС обраним статтям Словниковастаття ПСПризначити семантичні роліДозвіл аргументів, визначити їх неоднозначності локальні вагипризначення ролейаргументів Розподілити ролі поаргументів оптимальнимРозв'язання способом завданняЛЦП ОптимальнеЦикл 2 розподіл ролейза аргументами для заданої статті ПС Вибрати найкращу словникову статтюдля ПС Оптимальнерозподіл ролейза аргументами для всіх статейЦикл 1Рольова структураВихід пропозиції Рисунок 12 – Загальний алгоритм визначення рольової структури речення2.2.2. Пошук предикатних слівПредикатні слова шукаються за допомогою набору морфосинтаксичних шаблонів. ПС можуть бути окремими словами, або конструкціями, що складаються з декількох слів (складове ПС). У разі визначається головне слово у цій конструкції. Розглянемо набір основних шаблонів для пошуку ПС у текстах російською мовою.• Предикатними словами можуть виступати окремі слова наступних частин мови: дієслова, віддієслівні іменники, причастя, короткі причастя, дієприслівники, прикметники та короткі прикметники. При пошуку предикатних слів-іменників їх леми в тексті порівнюються з лем ПС в семантичному словнику. • ПС можуть бути виразами з двох слів з допоміжним дієсловом виду: <допоміжне дієслово або прислівник> + <дієслово або коротке прикметник (головне слово)>.Приклад: "почав будувати"; був розбитий.• ПС можуть бути словосполученнями з двох слів виду: <предикатив> + <дієслово (головне слово)>. Приклад: «можнабудувати», «має розпочатися».• ПС можуть являти собою конструкції з трьох слів виду: <предикатив> + <допоміжне дієслово> + <дієслово або коротке прикметник (головне слово)>. Приклад: "можна було побудувати"; «мало початися»; міг бути зламаний.• Деякі конструкції з чотирьох слів також розглядаються як єдине предикатне слово: <предикатив> + <допоміжне дієслово> + <допоміжне слово> + <дієслово (головне слово)>.Приклад: можна було почати будувати.Після того, як ПС виділені, визначаються і фіксуються їх властивості, важливі для подальшого семантичного аналізу. Якщо ПС є виразом, що складається з кількох слів, то серед них вибирається головне, яке характеризує всю конструкцію, що означає ПС.Розглянемо основні властивості, що визначаються ПС.•       Частина промови.• Лемма. По лемі ведеться пошук словникових статей у семантичному словнику. Більшість ПС лема витягується з морфологічного аналізу головного слова. Але для коротких прикметників вибирається лема омонімічного дієприкметника, або короткого дієприкметника. Це зроблено тому, що семантичний словник не містить статей для коротких дієприкметників. Як правило, рольова структура дієприкметників та коротких дієприкметників збігається. Тому для них можна використовувати загальну статтю, але ознаки ролей для коротких дієприкметників мають бути спеціальним чином модифіковані (див.2.2.4).• Прапор «поворотність». У семантичному словнику опущено також багато статей для зворотної форми дієслова та статті для коротких прикметників. Для обробки цих випадків часто можна використовувати статтю для безповоротної форми дієслова. У цьому ознаки семантичних ролей у разі необхідно модифікувати (див. 2.2.4). Прапор повернення встановлюється ПС, які представлені у тексті дієсловами у зворотній формі, коротким прикметникам та дієприкметникам, а також у деяких інших випадках.По лемі предикатного слова визначається перелік його словникових статей у семантичному словнику. У цьому одній лемі часто відповідає кілька словникових статей. Це відбувається через смислову омонімію ПС. У прикладах "Вино підходить до обіду" та "Гості підійшли до ресторану", предикатне слово "підійти" має різне значення. У семантичному словнику цим двом значенням відповідають дві різні словникові статті, у яких вказані різні рольові структури.У результаті формується список предикатних слів речення, для яких зафіксовано вищезазначені характеристики та визначено списки їх можливих словникових статей.2.2.3. Пошук семантичних аргументівДля кожного знайденого предикатного слова визначається безліч його семантичних аргументів у реченні.Нехай поставлено деяку пропозицію і в ньому – предикатне слово. Усі слова у реченні проглядаються зліва направо та перевіряються на відповідність набору умов. В першу чергу перевіряється, що слово має всі морфолексичні ознаки, щоб вважатися семантичним аргументом. Відповідно до постановки завдання, семантичними аргументами можуть бути іменники, займенники, запитальні слова та числівники. Частина мови слова відома з морфологічного аналізу, перевірка на те, що слово є питанням виконується за допомогою окремого словника.Далі розглядається, яке слово займає в синтаксичної структурі речення. Було виділено ряд синтаксичних конструкцій, що вказують на те, що слово є семантичним аргументом.1) Аргумент синтаксично безпосередньо підпорядкований предикатному слову.2) Аргумент синтаксично підпорядкований прийменнику, а цей привід підпорядкований предикатному слову. Тут також враховується, що прийменники можуть бути складені з кількох слів: «в результаті», «разом з», «за рахунок» та ін. У разі коли задане слово підпорядковане одному зі слів складного прийменника, перевіряється, що вершина синтаксичної групи такого прийменника підпорядкована предикатному слову.3) У разі, коли предикатним словом є причастя, як семантичний аргумент виділяється також і слово, яке визначається причастям.4) У разі, коли предикатним словом є дієприслівник, як семантичний аргумент виділяється і підлягає простої пропозиції, обставиною якої є дієприслівниковий оборот з відповідним предикатним словом.5) У разі однорідних предикатних слів, аргументи, що знаходяться за текстом ліворуч від першого однорідного предикатного слова, стають загальними семантичними аргументами для всіх предикатних слів однорідної групи.6) Якщо предикатне слово є складовим, то ці правила застосовуються до кожного слова складеного предикатного слова.Зазначені синтаксичні конструкції відповідають формату подання синтаксичних дерев залежностей корпусу СінТагРус [67]. Проте аналізатор виділення семантичних аргументів можна налаштувати і інший формат, наприклад, AOT.ru, через включення і відключення різних перевірок. Налаштування може бути корисним для нівелювання різних помилок синтаксичного аналізатора, які неминуче виникають на реальних текстах. Наприклад, можна виділяти як аргументи як прямі нащадки предикатного слова, а й слова, що є певному рівні його поддерева. Аналізатор призначає виділеним аргументам ваги чи «ступінь впевненості» – число від 0 до 1, залежно від цього яка евристика спрацювала за її виділення, якому рівні поддерева ПС він і які морфологічними характеристиками володіє. Це дозволяє ранжувати виділені слова за рівнем впевненості у цьому, що вони є аргументами заданого ПС. Наприклад, ваги займенників та питальних слів занижуються в порівнянні з іменниками. Ваги задаються при конфігуруванні аналізатора.2.2.4. Призначення ролей семантичних аргументівНехай є ПС, безліч його семантичних аргументів, задано одну словникову статтю ПС.Процедура призначення ролей семантичних аргументів починається з призначення «основних» ролей. «Основні» («обов'язкові» або«Центральні») ролі – це ті ролі предикатного слова, які найчастіше при ньому зустрічаються і без яких опис ситуації, позначеної ПС, часто є не повним семантично. Призначення основних ролей аргументів здійснюється головним чином з урахуванням ознак, які у розділі рольових структур предикатних слів семантичного словника.Якщо будь-який семантичний аргумент є питанням, і на попередньому етапі йому роль не була призначена, то запускається окрема процедура призначення ролей запитальним словам, яка виконується на основі інформації, що міститься в розділі запитальних слів семантичного словника.Якщо роль семантичного аргументу не визначено після попередніх етапів, то запускається процедура визначення периферійних або «необов'язкових» ролей, яка виконується на основі інформації, що міститься у розділі периферійних ролей.Загальний алгоритм призначення ролей семантичних аргументів представлений малюнку 13. Рисунок 13 – Загальний алгоритм призначення семантичних ролейаргументівПризначення основних ролей аргументівНехай задано предикатне слово, одну з його словникових статей та один семантичний аргумент.Усі ролі заданої словникової статті проглядаються у циклі та його ознаки нечітко зіставляються з ознаками семантичного аргументу. Результат зіставлення - число від 0 до 1, яке назвемо вагою семантичної ролі. Вага є геометричним середнім двом коефіцієнтам (від 0 до 1): близькості за категоріально семантичним класом і близькості за граматичними ознаками. Обидва коефіцієнти визначаються за допомогою набору евристик.При визначенні коефіцієнта близькості за категоріально-семантичним класом аналізатор послідовно зіставляє всі КСК, зазначені для заданої ролі в словниковій статті, з КСК аргументу і для кожного з них визначає оцінку подібності. При цьому збіг одних КСК вважається вагомішим за збіг інших. На цю оцінку також накладається штраф, якщо роль у словниковій статті зазначено кілька КСК або роль допускає будь-який клас. Якщо значенням КСК аргументу є «не визначено», то оцінка набуває невеликого значення більшого за нуль. Як підсумковий коефіцієнт близькості КСК вибирається максимальна оцінка.Визначення коефіцієнта близькості за граматичними ознаками здійснюється шляхом зіставлення пари ознак (прийменник; відмінок) семантичного аргументу з ознаками, зазначеними для заданої ролі у словниковій статті. Як правило, у словниковій статті вказано не одну, а кілька відповідних заданої семантичної ролі пар ознак. Коефіцієнти близькості розраховуються окремо для кожної пари, а потім з них вибирається максимальний коефіцієнт і відповідна пара ознак з словника.Коефіцієнт близькості за граматичними ознаками розраховується так. Якщо привід аргументу не збігається з приводом ролі, значення коефіцієнта – 0. Інакше розраховується близькість відмінків. Перед розрахунком оцінки близькості відмінків у заданого предикатного слова перевіряється чи встановлена ознака «поворотність». Якщо ця ознака встановлено, то відмінки зі словникової статті для заданої ролі змінюються в такий спосіб. Якщо привід для заданої ролі відсутня, то називний відмінок замінюється на орудний, а знахідний - на називний. Існує також ряд менш значущих евристик перетворення відмінка, серед них, наприклад, перетворення називного відмінка в родовий у конструкціях при безособових дієсловах з запереченням (наприклад, «Відповідь не прийшла > Відповіді не прийшло»). Деякі перетворення накладаютьна коефіцієнт близькості за граматичними ознаками штраф.Через відмінкову омонімію у аргументу може бути кілька варіантів відмінка. Якщо в аргументу один варіант відмінка, який збігається з відмінком семантичної ролі, то оцінка близькості відмінків дорівнює 1. Якщо у аргументу кілька варіантів відмінка і, хоча б один з них збігається з відмінком ролі в словниковій статті, то оцінка не нуль (конкретне значення (0; 1] задається при конфігуруванні аналізатора.) Інакше оцінка близькості відмінків дорівнює нулю.Після обробки всіх ролей, присутніх у словниковій статті, формується список можливих ролей семантичного аргументу та їх ваги. На малюнку 14 представлений алгоритм призначення ролей аргументу та визначення їх ваг. ЕвристикиРисунок 14 – Алгоритм призначення семантичної ролі аргументу тавизначення її ваги

 

 

Призначення семантичних ролей аргументами, висловленими запитальними словамиУ цій процедурі визначаються ролі семантичних аргументів вираженими запитальними словами: «хто», «що», «коли», «де», «куди» та ін. . Семантичні ролі запитальних слів призначаються за допомогою окремого розділу семантичного словника. У цьому розділі містяться словникові статті, в яких зазначено, які ролі можуть мати запитальні слова і які морфологічні ознаки для цього вони повинні мати.По лемі запитального слова у словнику шукається стаття, що радить йому. У випадку, якщо питання питання є прислівником або спілкою, то всі ролі зі словникової статті додаються до списку можливих семантичних ролей семантичного аргументу. Якщо ні, то перевіряються морфологічні ознаки запитального слова. Морфологічні ознаки перевіряються аналогічно до того, як це робиться при призначенні аргументів основних ролей.У фінальному списку можливих семантичних ролей запитальних слів залишаються тільки ті ролі, які є в словниковій статті предикатного слова та ролі, що входять до списку периферійних семантичних ролей: локатив, темпоратив, інструментів, директив, каузатив, та ін. порівняно з вагами основних ролей інших семантичних аргументів.Призначення периферійних семантичних ролей аргументівПроцедура призначення периферійних ролей обробляє лише семантичні аргументи, яким після попередніх процедур жодна роль ще призначено. Периферійні семантичні ролі призначаються аргументами з допомогою розділу периферійних ролей семантичного словника.Для заданого семантичного аргументу формується безліч наборів ознак: трійок (КСК, відмінок, прийменник). Ці трійки шукаються розділ семантичного словника для периферійних ролей, і з нього вибираються відповідні їм семантичні ролі. Для кожної обраної ролі перевіряється присутня вона у словниковій статті предикатного слова аргументу. Якщо така роль статті предикатного слова присутня, вона відкидається. Інакше роль додає список можливих семантичних ролей аргументу, її вага занижується проти вагою основних ролей.

2.2.5. Дозвіл неоднозначності призначення семантичних ролей Аргументів 

 

Через війну всіх попередніх етапів кожного семантичного аргументу формується список кількох можливих семантичних ролей. Причому різні семантичні аргументи ролі у цих списках можуть повторюватися. Однак відповідно до принципів моделі семантики тексту, заснованої на рольової структурі речення, з одного боку, кожен семантичний аргумент може мати лише одну роль, а, з іншого боку, одна й та сама роль не може бути у кількох семантичних аргументів. Виникає проблема оптимально розподілити семантичні ролі за аргументами, щоб оцінка рольової структури для заданого предикатного слова була максимальною. Пропонується розглядати цю проблему як задачу про призначення, яка у свою чергу є задачею лінійного цілісного програмування. У випадку постановка завдання призначення у вигляді завдання ЛЦП виглядає так. (4)?????? = , = , … ????=1?????? ? {0,1}, ??, ?? = 1, …?? Тут ?????? - Змінні, ??(??, ??) - Функція вартості.Подамо математичну постановку задачі про призначення семантичних ролей семантичних аргументів. Нехай є впорядкована безліч ?? - Семантичні аргументи. Нехай???? - Багато можливих ролей аргументу???? ? ??. Нехай?? – упорядкована безліч усіх унікальних ролей, які можна встановити аргументами. Оскільки у випадку |??| ? |??|, поставимо ?? = max{|??|, |??|} і дві множини A? та ???, такі, що |???| = .Функцію вартості ??(??, ??) Задамо як добуток ваги аргументу ????, визначеного на етапі пошуку семантичних аргументів, на вагу відповідної аргументу семантичної ролі ????. Причому, якщо у списку можливих семантичних ролей заданого аргументу? ? ?? роль???? ? ?? відсутня (???? ? ????), то ціна дорівнює нулю ??(????, ????) = 0. Нехай всім аргументів , які входять у вихідне безліч ,функція вартості дорівнює нулю. Нехай всім ролей , які входять у вихідне безліч , функція вартості дорівнює нулю. Запишемо повний вираз для функції вартості: ?????? ? ??????, ?? ? |??|, ?? ? |??|, ???? ? ??????(????, ????) = { 0, ???? ? ????0, ?? > |??| або ?? > |??| (5)Задамо змінні?????? ? {0,1}, де ?????? = 1 означає, що аргумент ???? призначено роль ????. Оцінку семантичної структури представимо у вигляді лінійного функціоналу. Тоді завдання призначеннясемантичних ролей семантичних аргументів можна у наступному вигляді.   (6) Подана задача вирішується за допомогою угорського методу. Відповідно до отриманого рішення аргументів призначаються ролі із заданої словникової статті ПС. Отримана структура є оптимальною для обраних оцінок ролей та аргументів. Значення цільової функції визначає, наскільки добре задана словникова стаття підходить для заданого предикатного слова та його аргументів. Воно використовується для вибору оптимальної словникової статті та відповідної їй рольової структури предикатного слова.

Коментарі

Популярні дописи з цього блогу

Література

4.2. Застосування семантичного та семантико-синтаксичного аналізу для запитально-відповідального пошуку

1.3. Семантико-синтаксичний аналіз