2.3. Метод семантико-синтаксичного аналізу текстів. Висновки до розділу.

2.3. Метод семантико-синтаксичного аналізу текстів

Семантичні ролі може бути додатковим джерелом інформації для синтаксичного аналізу. Вони несуть у собі знання поєднання предикатних слів з аргументами. Рольова структура предикатного слова визначає набір «обов'язкових» аргументів, які мають приєднати себе предикатне слово. Крім того, у ході встановлення семантичних ролей вирішується завдання вирішення семантичної омонімії предикатних слів (вибір словникової статті). Тому семантична інформація виявляється корисною, наприклад, у випадках неоднозначності підпорядкування іменних (або прийменникових) груп, коли за правилами граматики група може бути доповненням присудка, або бути визначенням всередині деякої іншої іменної групи. На малюнку 15 представлений випадок, у якому синтаксичний аналізатор потенційно може підпорядкувати прийменникову групу «без реформ» або до дієслова «подолати», або до іменника «криза». Важливо зрозуміти, чи можна подолати кризу без серйозних економічних реформ.

Рисунок 15 – Приклад того, як синтаксичний аналізатор може розставити синтаксичні зв'язки у реченні «Важливо зрозуміти, чи можна подолати кризу без серйозних економічних реформ»Хоча обидва варіанти граматично допустимі, тільки перший варіант синтаксичного аналізу є семантично вірним. Проте без знання рольової структурі предикатного слова «подолати», аналізатор неспроможна точно дозволити цю неоднозначність.На малюнку 16 представлений інший приклад, у якому навпаки варіант синтаксичного розбору, у якому іменна група «без наслідків» полагоджена слову «криза», є семантично вірним, а варіант, у якому ця група пов'язана з дієсловом «відобразиться», – ні. не сильно позначиться на політичній атмосферіРисунок 16 – Приклад того, як синтаксичний аналізатор може розставити синтаксичні зв'язки у пропозиції «Криза без серйозних економічних наслідків не сильно позначиться наполітичну атмосферу»У розділі наводиться метод, у якому інтегруються методи побудови синтаксичних дерев залежностей і визначення рольових структур висловлювань. За рахунок знань про рольову структуру пропозиції, отримані від семантичного аналізатора, метод коригує вихідне синтаксичне дерево залежностей. Виправлення в синтаксичному дереві, у свою чергу, дозволяють побудувати повніші рольові структури. Таким чином, метод дозволяє підвищити якість і синтаксичного, і семантичного аналізу.2.3.1. Загальний опис методу семантико-синтаксичного аналізуПередбачається, що перед семантико-синтаксичним аналізом проведена токенізація тексту, він розбитий на речення, та проведено його морфологічний аналіз, включаючи визначення морфологічних ознак слів, лематизацію та дозвіл омонімії. Семантико-синтаксичний аналіз проводиться для кожної пропозиції окремо.На першому етапі виконується початковий синтаксичний аналіз пропозиції. Він може виконуватись будь-яким аналізатором, який будує синтаксичне дерево залежностей. У проведених експериментах для побудови синтаксичного дерева використовувався аналізатор на основі машинного навчання MaltParser. Як було продемонстровано у кількох роботах [55, 56, 58], MaltParser показує хороші результати при аналізі текстів російською мовою. На змаганні синтаксичних аналізаторів RuEval-2012 він був у трійці лідерів [160]. У розділі 3.2 та у додатку 2 містяться подробиці навчання та налаштування синтаксичного аналізатора. Дерева, побудовані результаті початкового аналізу, надалі коригуються з допомогою інформації, отриманої щодо рольових структур висловлювань.На наступному кроці у реченні шукаються предикатні слова за допомогою алгоритму, поданого в розділі 2.2.2. Предикатні слова, виражені віддієслівними іменниками або дієприслівником, відкидаються.Потім кожного знайденого ПС, з синтаксичної структури пропозиції визначаються його семантичні аргументи. Пошук семантичних аргументів ПС здійснюється з допомогою аналізатора, заснованого на «сильних» правила (див. розділ 2.2.3), тобто. такого аналізатора, який шукає аргументи строго відповідно до побудованого синтаксичного дерева залежностей. Якщо в синтаксичному дереві є помилка, то аналізатор не знайде семантичний аргумент. Таким чином, набір семантичних аргументів, виділених цим аналізатором є досить точним, але може бути неповним. Далі цей набір семантичних аргументів називатимемо «основним».Потім ведеться пошук конструкцій, які можуть бути семантичними аргументами, але через потенційні помилки в синтаксичному дереві вони не були виявлені. Пошук здійснюється з допомогою аналізатора з урахуванням «слабких» правил. Цей аналізатор не накладає обмеження на синтаксичну зв'язність предикатного слова та семантичного аргументу. Він припускає, що синтаксичні зв'язки можуть бути неточними і покладаються на інші ознаки. Конструкції, виділені цим аналізатором, називатимемо «можливими» семантичними аргументами. Набір можливих семантичних аргументів досить повний, але неточний. Він, як правило, включає набір основних аргументів.Серед можливих семантичних аргументів, які не є основними, шукаються «додаткові» аргументи. Додатковими аргументами називатимемо можливі аргументи, присутність яких у реченні допускається рольовою структурою предикатного слова, і вони мають для цього відповідні ознаки (морфологічні, категоріальні та інші). Додаткові аргументи фільтруються за допомогою набору евристик.Після того, як усі додаткові аргументи всіх предикатних слів речення знайдені, для кожного додаткового аргументу визначаються виправлення синтаксичного дерева (додавання/видалення зв'язків), які необхідно зробити, щоб синтаксична структура відповідала новій семантичній структурі речення з доданими семантичними аргументами. Виправлення також проходять ряд перевірок за допомогою еристик (перевірка на проектність нових синтаксичних зв'язків, відсутність циклів та ін.).У результаті виправлене синтаксичне дерево наново подається на семантичний аналіз. Загальний алгоритм семантико-синтаксичного аналізу представлено малюнку 17. Малюнок 17 – Загальний алгоритм семантико-синтаксичного аналізу2.3.2. Пошук можливих семантичних аргументівМетод пошуку можливих семантичних аргументів схожий методом пошуку семантичних аргументів з розділу 2.2.3, однак у ньому накладаються менш жорсткі обмеження на синтаксичну структуру пропозиції і не потрібно, щоб можливі аргументи були синтаксично пов'язані з предикатними словами. Однак для того, щоб відфільтрувати найменш відповідні варіанти, в ньому вводиться ряд додаткових обмежень на аргументи.Насамперед формуються ліва та права межі пошуку додаткових аргументів для заданого предикатного слова. Кордони визначається відповідно до невеликого набору правил, які покликані відфільтрувати слова, що потрапляють в область, в якій в силу лінгвістичних міркувань аргументи, синтаксично пов'язані із заданим предикатним словом, знаходитися не можуть, або в цій галузі можуть потенційно перебувати аргументи, синтаксично пов'язані з іншими предикатними словами. Наприклад, у випадку з однорідними предикатними словами в одній клаузі, вираженими дієсловами, семантичні аргументи праворуч від правого однорідного дієслова, хоча і можуть бути семантичними аргументами лівого дієслова, синтаксично безпосередньо пов'язані тільки з правим однорідним дієсловом, тому межі розставляються так, щоб відфільтрувати ці аргументи . При побудові кордонів враховуються розділові знаки і спілки, що розділяють однорідні предикатні слова.Потім у межах побудованих кордонів виділяються всі слова, задовольняють ознаками іменних аргументів: іменники, особисті займенники, займенники «який», «що», «один», запитальні слова та інших. Відібрані слова проходять через складнішу серію перевірок. Серед найбільш значущих перевірок слід зазначити такі:• Перевірка того, що можливий семантичний аргумент за заданого ПС не є основним аргументом при іншому ПС.• Перевірка скобкової структури: можливий аргумент повинен бути на тому ж рівні скобкової структури, що й задане предикатне слово. Така перевірка здійснюється і структуру лапок.• Перевірка того, що можливий аргумент є вершиною складової іменованої сутності. Наприклад, у конструкції ПІБ,розібраною як Ф>І>О, як єдинийДодатковий аргумент буде виділено слово Ф.• Перевірка того, що можливий аргумент не є стійким виразом. У тексті виділяються вирази, що позначають час, період часу, періодичність, вартість, вартість у період часу, складові числа, вирази з відсотками, одиниці виміру та ін.• Перевірка на те, що можливий аргумент не є однорідним членом речення, яке є підлеглим іншого однорідного члена (див. особливості синтаксичної розмітки корпусу СінТагРус). Однорідні слова можуть означати один і той же семантичний аргумент, при цьому підлегле однорідне слово синтаксично не залежить від предикатного слова, тому як додатковий аргумент воно не розглядається.Після цього з безлічі можливих аргументів відсіваються ті аргументи, які входять до безлічі основних аргументів шляхом простого віднімання множин. В результаті операції різниці будується безліч можливих аргументів, які потенційно можуть бути семантичними аргументами предикатного слова, однак у початковому синтаксичному дереві відсутні необхідні для цього синтаксичні зв'язки.2.3.3. Визначення додаткових семантичних аргументівДодаткові семантичні аргументи відрізняються від можливих аргументів тим, що їх наявність підкріплюється можливістю включення в рольову структуру предикатного слова. Щоб з багатьох можливих аргументів виділити додаткові аргументи, аналізатор намагається призначити можливим аргументам семантичні ролі, які конфліктують із ролями «основних» аргументів.І тому спочатку аналізатор призначає семантичні ролі «основним» аргументів заданого предикатного слова. Потім кожен можливий аргумент по черзі додається до багатьох основних аргументів, і аналізатор намагається призначити ролі розширеного набору аргументів. Якщо доданого можливого аргументу призначити роль не вдалося, він відкидається. Якщо роль цьому аргументу призначено, то перевіряється, чи належить ця роль аргументу з основного нерозширеного набору. Якщо ні, можливий аргумент додається до багатьох додаткових аргументів, інакше можливий аргумент відкидається.Після того, як усі можливі аргументи проаналізовані, відібрані додаткові аргументи додаються до багатьох основних аргументів, і формується загальний набір семантичних аргументів. Процедура семантичного аналізу запускається цьому наборі заново. Ті додаткові аргументи, які не отримали семантичну роль, відкидаються. У такий спосіб вирішується проблема з додатковими аргументами, ролі яких дублюються.Через війну описаної процедури будується набір додаткових аргументів, їм призначено ролі, у своїй ці ролі конфліктують із ролями аргументів з основного набору. Алгоритм побудови додаткових аргументів представлений малюнку 18. аналізаторРисунок 18 – Алгоритм визначення додаткових аргументів2.3.4. Коригування синтаксичного дерева залежностейДля кожного додаткового аргументу, знайденого на попередньому етапі, намагається відкоригувати синтаксичне дерево так, щоб цей аргумент можна було б виділити одним з правил алгоритму пошуку основних аргументів з розділу 2.2.3. При цьому відкоригована синтаксична структура повинна залишатися деревом: кожен вузол має не більше одного з батьків, і відсутні цикли.Щоб виправити дерево, як правило, необхідно видалити з нього один або кілька синтаксичних зв'язків і додати один зв'язок.

 

Тут можуть виникнути такі варіанти:

• Слово, позначене як додатковий аргумент, не підпорядковане прийменнику або конструкції, що означає складовий прийменник. І тут воно підпорядковується безпосередньо предикатному слову, у своїй синтаксична зв'язок між словом та її вихідним батьком видаляється. Наприклад, семантичний аргумент – іменник підкоряється предикатному слову – дієслову (рисунок 19, А)).

• Слово, позначене як додатковий аргумент, синтаксично підпорядковане прийменнику або конструкції, що означає складовий прийменник. І тут перепідпорядковується не слово, а прийменник. У разі складового приводу перепідпорядковується його синтаксична вершина (рис. 19, б)).• Предикатне слово є дієприкметником. Тоді окремий алгоритм визначає, чи може додатковий аргумент бути визначеним словом. Він перевіряє узгодженість причастя та додаткового аргументу в роді, числі і відмінку, а також визначає чи має причастя як альтернативу узгодженого батька. Якщо аргумент узгоджений із дієприкметником, і у причастя немає альтернативного узгодженого батька, то причастя перепідпорядковується цьому аргументу (рис. 19, в)). А) … чи зміщення міжхребцевого диска, що викликає біль, Б) Справжні балетмайстри про міманс якраз пам'ятали. В) ... виділено ... на створення суперкомп'ютера, що не має аналогів ...Рисунок 19 – Приклади способів налаштування синтаксичного дерева. Пунктирна стрілка позначає синтаксичну зв'язок,помилково встановлену вихідним синтаксичним аналізатором, що видаляється системою семантико-синтаксичного аналізу;суцільна стрілка позначає новий зв'язок, доданий системоюсемантико-синтаксичного аналізуПісля того, як визначено перетворення, які необхідно застосувати до синтаксичного дерева для його коригування, перевіряється, що в результаті цих перетворення не виникає циклу, що проходить через додатковий аргумент та предикатне слово.

Якщо подібний цикл утворюється, він може бути розірваний двома способами:

• Якщо предикатним словом є причастя, а додатковий аргумент є визначальним словом, то циклі видаляється зв'язок, вершиною якої є предикатне слово.• Інакше у циклі видаляється зв'язок, вершиною якого є аргумент.Далі перевіряється, що доданий зв'язок у виправленому синтаксичному дереві є проективним. Ця перевірка потрібна тому, що частка непроективних зв'язків у російській мові становить лише близько 1% [161], отже, порушення якості проективності є сигналом того, що зв'язок є хибним.Перед фіксацією виправлень виконується ще одна перевірка перетворень синтаксичного дерева, покликана мінімізувати помилкові випадки коригування. Для цієї перевірки розроблено два методи: за допомогою статистико-евристичного критерію, заснованого на частоті спільної зустрічальності ознак слів; за допомогою ансамблю бінарних класифікаторів.Розглянемо перший метод перевірки виправлень за допомогою статистико-евристичного критерію. Нехай є два іменники між, якими синтаксична зв'язок встановлена безпосередньо, наприклад, «розробка додатків», або зв'язок встановлена через прийменник, наприклад, «згоду на розробку». По навчального корпусу розраховується частота спільної зустрічальності лем головного іменника з сукупністю трьох ознак залежного іменника: відмінок, прийменник і КСК. По невеликій частині навчального корпусу визначається поріг. Якщо при аналізі вихідний синтаксичний аналізатор встановив між двома іменниками синтаксичну зв'язок, і частота спільної встречаемості леми головного слова з ознаками залежного вище цього порога, то виправлення в синтаксичному дереві не проводиться.У другому методі перевірки виправлень використовується набір із трьох бінарних класифікаторів на основі машинного навчання. Перший класифікатор???? оцінює вагу віддаленого зв'язку між додатковим аргументом та його початковим батьком. Другий класифікатор???? оцінює вагу доданого зв'язку між аргументом і предикатним словом. Третій класифікатор???? отримує на вхід значення цільових функцій від перших двох і приймає остаточне рішення фіксувати чи ні зміни у синтаксичному дереві.  Нехай є слово – додатковий аргумент, головне слово, від якого синтаксично залежить аргумент у вихідному синтаксичному дереві (цей зв'язок видаляється), і предикатне слово, якому необхідно перепідпорядкувати аргумент.  Розглянемо набори ознак кожного класифікатора («+» означає конкатенацію ознак).У класифікаторі???? використовуються такі ознаки:1) Частина промови головного слова + частина промови аргументу.2) Частина мови головного слова + відмінок аргументу + рід аргументу + число аргументу + відмінок головного слова + рід головного слова + число головного слова.3) Прийменник аргументу + відмінок аргументу + частина мови головного слова.4) Морфологічні ознаки головного слова + морфологічні ознаки аргументу + частина промови головного слова.5) Якщо головне слово – іменник: лема головного слова + відмінок аргументу + прийменник аргументу + КСК аргументу.6) Якщо головне слово має батька у вихідному синтаксичному дереві: частина промови батька головного слова + частина промови аргументу + частина промови головного слова.7) Якщо батько головного слова має батька у вихідному синтаксичному дереві: частина промови головного слова + частина промови батька головного слова + частина промови батька батька головного слова.8) Якщо аргумент – не останнє слово у реченні: частина мови слова, наступного за аргументом, частина мови аргументу, частина мови головного слова.9) Позиція аргументу щодо головного слова + прийменник аргументу + частина промови головного слова.10) Відстань у токенах між головним словом та аргументом.У класифікаторі???? використовуються такі ознаки:1) Лемма предикатного слова + КСК аргументу + відмінок аргументу + прийменник аргументу + позиція аргументу щодо предикатного слова + прапор повернення предикатного слова.2) Відстань між аргументом та предикатним словом у токенах.3) Відмінка аргументу + КСК аргументу + позиція аргументу щодо предикатного слова + прийменник аргументу.4) Якщо у предикатного слова є батько: частина мови батька предикатного слова.5) Прапор, який сигналізує у тому, що аргумент і предикатное слово перебувають у однієї клаузі.Класифікатор???? використовує такі ознаки:1) Значення цільової функції класифікатора ????. 2) Значення цільової функції класифікатора ????.3) Семантичну роль аргументу.4) Вага семантичної ролі.5) Відмінок аргументу.Ознакові простори класифікаторів ???? і???? дуже великі. Тому, для швидкості семантико-синтаксичного аналізу застосовувався один із найшвидших дискримінантних алгоритмів класифікації – метод опорних векторів без ядра (з лінійним ядром). У класифікаторі???? набагато менше ознак. Проведені експерименти показали, що якість перевірки виправлень дає метод опорних векторів з радіальним ядром.Розрахунок частот спільної зустрічальності ознак для першого методу перевірки виправлень та навчання класифікаторів для другого методу проводилося на частини корпусу СінТагРус.При навчанні класифікатора???? позитивні та негативні приклади витягувалися з корпусу наступним чином:• Як позитивні приклади розглядалися пари слів, пов'язані синтаксичним зв'язком, де залежне слово має ознаки семантичного аргументу, а головне слово не виділено як предикатне слово.• Як негативні приклади розглядалися пари слів, між якими відсутній синтаксичний зв'язок, при цьому одне з них має ознаки семантичного аргументу, і зв'язок, який може бути проведений між ними, є проективним по відношенню до всіх зв'язків синтаксичного дерева за винятком того зв'язку, якою слово, що має ознаки аргументу, є залежним.При навчанні класифікатора???? позитивні та негативні приклади витягувалися з корпусу наступним чином:• Як позитивні приклади розглядалися пари слів, між якими є синтаксичний зв'язок, при цьому одне з них є предикатним словом, а інше має ознаки семантичного аргументу.• Як негативні приклади розглядалися пари слів, між якими відсутній синтаксичний зв'язок, при цьому одне з них є предикатним словом, а інше має ознаки семантичного аргументу, і зв'язок, який може бути проведений між ними, є проективним по відношенню до всіх зв'язків синтаксичного дерева за винятком того зв'язку, в якому слово, що має ознаки аргументу, є залежним.Класифікатор???? навчався тих випадках виправлення синтаксичного дерева, які пройшли всі попередні фільтри, включаючи перевірку на проектність результуючого дерева.Після того, як всі перевірки пройдені, виправлення фіксується в синтаксичному дереві та алгоритм переходить до обробки наступного додаткового аргументу.Алгоритм коригування синтаксичного дерева залежностей представлений малюнку 20. ? Рисунок 20 – Алгоритм коригування синтаксичного дерева залежностей

2.4. Висновки

 

Розроблено нові методи семантичного та семантико-синтаксичного аналізу текстів природною мовою. Метод семантичного аналізу використовує семантичний словник як основне джерело знань про предикатні слова та їх рольові структури. Для пошуку предикатних слів використовуються морфологічні шаблони. Для пошуку семантичних аргументів предикатного слова використовуються правила, що враховують морфологічні ознаки слів та синтаксичну структуру речення. Метод призначення ролей аргументів здійснює нечітке порівняння ознак аргументів із ознаками ролей із статей семантичного словника для заданого предикатного слова. Дозвіл неоднозначності розподілу ролей за аргументами здійснюється шляхом вирішення оптимізаційної задачі лінійного цілісного програмування угорським методом. Метод семантико-синтаксичного аналізу використовує інформацію, отриману внаслідок семантичного аналізу для коригування синтаксичного дерева. У цьому методі шукаються слова, які потенційно можуть бути семантичними аргументами, але через помилки у синтаксичному дереві пропозиції вони звичайним способом не виявляються, і перевіряється можливість включити їх у рольову структуру предикатного слова. Якщо рольова структура предикатного слова допускає додатковий аргумент, синтаксичне дерево коригується так, щоб воно відповідало новій рольової структурі. При коригуванні дерева виключаються потенційно виникаючі цикли, перевіряється проектність доданих зв'язків, а також здійснюється перевірка перетворення або за допомогою статистикоевристичного критерію, або за допомогою бінарних ансамблю класифікаторів на основі машинного навчання. На виправленому синтаксичному дереві знову проводиться семантичний аналіз.

Коментарі

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

Література

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

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