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

4.2. Застосування семантичного та семантико-синтаксичного аналізу для запитально-відповідального пошуку
Завдання питання-відповіді пошуку полягає в тому, щоб видати користувачеві відповідь на запитання, заданий природною мовою. Існує безліч формулювань цього завдання і типів питання-відповідальних систем. Відповідь може шукатися як у структурованих базах знань, і у колекціях неструктурованих текстових документів. У цьому розділі розглядається завдання питання-відповідного пошуку в метапошуковій системі. У багатьох пошукових систем в Інтернет модуль запитання-відповідного пошуку або відсутній, або він має обмежені можливості (наприклад, відповідає тільки на запитання «Де?», «Коли?»), тому відповіді на запитання користувачів, задані природною мовою, часто виявляються у глибині пошукової видачі. Метапошукова система робить запити відразу до кількох пошукових систем, отримує від кожної з них сніпети (фрагменти тексту, які виводяться поруч із посиланням у пошуковій видачі) з топу відповідей деякої глибини, агрегує всі сніпети в єдину видачу і ранижує її так, щоб безпосередні відповіді на питання, посилання на релевантні документи та інша найбільш релевантна інформація були на початку пошукової видачі (рис. 33). ? Малюнок 33 – Архітектура метапошукової системи У цьому розділі пропонується метод ранжування сніпетів для запитання у пошуковій системі, в якому використовується інформація, отримана в результаті реляційно-ситуаційного аналізу, який включає в себе семантико-синтаксичний аналіз, а також побудова семантичної мережі (див. розділ 4.1). Метод дозволяє знаходити відповіді на категоріальні питання (тобто питання, в яких на початку присутні запитальні слова: «хто», «що», «де», «коли» та ін.), поставлені природною мовою. Описуються його експериментальні дослідження. 4.2.1. Метод ранжирування сніпетів для запитально-відповідного пошуку в метапошуковій системі
Для ранжування сніпетів, отриманих від різних пошукових систем, для кожного з них обчислюється оцінка релевантності ?????? сніппета???? (fragment) запитання. У ході обчислення цієї оцінки порівнюються лексика, семантичні ролі та семантичні відносини запиту та сніпету. Загальний алгоритм визначення оцінки релевантності сніпетів запиту Передбачається, що запит складається з однієї пропозиції, оскільки запити користувачів до пошукової системи в Інтернет, як правило, є короткими. Алгоритм легко може бути узагальнено на випадок, коли запит складається з декількох пропозицій. Сніппет розбивається пропозиції і кожної пропозиції обчислюється його оцінка релевантності пропозиції запитального запиту. Ця оцінка враховує як лексику, так і семантику речень (семантичні ролі та відносини), тому назвемо цю оцінку лексико-семантичною (ЛСоцінка). Поряд з ЛЗ-оцінкою обчислюється лексична оцінка (Л-оцінка) речення, яка враховує лише збіг лексики речень сніпету та запиту. Вона необхідна надалі з метою оцінки релевантності всього сниппета запиту по лексиці. Зазначимо, що зі зіставленні лексики, стоп-слова, і навіть запитальні слова запиту такі як «що», «де» та інших. не враховуються. Алгоритм обчислення Л-і ЛЗ-оцінок пропозиції СНІП представлений в наступному пункті. Крім цього, визначається оцінка відповідності лексики сніпету запиту за всіма пропозиціями - Л-оцінка сніпета. Вона обчислюється як відношення потужності перетину множини лем слів сніппета (????) і безлічі лем слів запиту (????) до потужності безлічі лем слів запиту: . (8) Підсумкова ЛЗ-оцінка сніпета являє собою лінійну згортку максимальної ЛЗ-оцінки пропозиції сніпету та Л-оцінки сніпета: . (9) Додавання ?????? у формулу релевантності покликане підвищити релевантність тих сніпетів, у яких є більше слів із запиту незалежно від того, як вони розподілені за пропозиціями, за інших рівних оцінок. Насправді коефіцієнт при лексико-семантичної оцінці може бути значно більше ніж коефіцієнт при лексичній оцінці ?????? > ????, Наприклад, в експериментах використовувалися емпірично підібрані коефіцієнти ?????? = 0,9; ???? = 0,1. Для кожного СНІПЕТ обчислюється також повна Л-оцінка ????????, яка представляє суму всіх Л-оцінок пропозицій СНІПЕТ: . (10) Після того як обчислені повні Л-оцінки та ЛЗ-оцінки всіх сніпетів розраховується фінальна оцінка релевантності кожного сніпета????. Вона являє собою лінійну згортку ЛС-оцінки сніпету та повної Л-оцінки сніпету нормованої на максимальну повну-оцінку серед усіх сніпетів: . (11) На практиці нормована повна Л-оцінка сніпету повинна мало впливати на релевантність сніпету запитання. Вона додається у формулу релевантності для того, щоб при інших рівних оцінках підвищити релевантність сніпетів з великою кількістю лексики, що збіглася з лексикою запиту, і великим розміром. Більші сніпети з більшою ймовірністю містять відповідь ніж короткі сніпети, що може допомогти при пошуку, якщо оцінки, що спираються на семантику, малі. Крім того, великі сніпети, як правило, містять більш розгорнуту відповідь. В експериментах використовувалися емпірично підібрані коефіцієнти ?????? = 0,95,???? = 0,05. На малюнку 34 зображено загальний алгоритм розрахунку релевантності сніпетів запитання. ? Рисунок 34 – Загальний алгоритм розрахунку релевантності сніпетів запитання Алгоритм визначення лексико-семантичної оцінки релевантності пропозиції сніппету запиту Лексико-семантична (ЛЗ) ???????? ? [0,1] оцінка релевантності пропозиції сниппета запитального запиту обчислюється як лінійна згортка трьох компонентів: • лексична оцінка (Л-оцінка) речення ?????? (lexis) - оцінює близькість запиту та пропозиції сніппету з лексики; • оцінка семантичних ролей (СР-оцінка) ???????? (semantic roles) – оцінює близькість запиту та сніпету за предикатно-аргументними структурами, використовуючи семантичні ролі аргументів; • оцінка семантичних відносин (СО-оцінка) ???????? (semantic net) - оцінює близькість запиту та сніпету по семантичних відносин семантичної мережі. (12) Тут???? ? [0,1], ?????? ? [0,1], ?????? ? [0,1] – параметри алгоритму такі, що? + ?????? + ?????? = 1. Лексична оцінка релевантності обчислюється як відношення потужності перетину множини лем запиту???? з безліччю лем пропозиції сніппета???? до потужності безлічі лем запиту. При цьому ці множини не включають леми стоп-слів: прийменників, спілок, пунктуації та ін., крім того в ці множини не входять запитання запиту. Якщо пропозиція сніпету є запитальною, то релевантність занижується, шляхом множення Л-оцінки на понижувальний коефіцієнт???? ? (0,1), який є параметр алгоритму. Це необхідно, щоб зменшити значущість запитань у порівнянні з ствердними, оскільки в сніпетах пошуковиків часто замість відповіді на питання знаходиться саме питання. Крім того, відповідь у вигляді ствердної пропозиції є кращою для користувача. Насправді релевантність запитальних пропозицій необхідно занижувати приблизно удвічі. ???? = ?? |???? ? ????| ?? = { 1, якщо s - стверджувальне предл. (13) якщо s - запитальне предл. Розглянемо метод розрахунку СР-оцінки. Нехай у запиті визначено???? ПАструктур. СР-оцінка релевантності пропозиції сніппета запиту ???????? є зваженою нормалізованою сумою оцінок близькості окремих ПА-структур запиту та пропозиції сніппета . Нехай у пропозиції Сніппет присутній???? ПА-структур. Кожна структура запиту???? (?? = 1, … ????) зіставляється з усіма ПА-структурами пропозиції Сніппет ???? (?? = 1, … ????) і кожної такої пари обчислюється оцінка подібності . Для заданої ПА-структури???? запиту вибирається структура пропозиції сніппета з максимальною оцінкою подібності, і ця оцінка стає оцінкою: . (14) Кожна оцінка подібності пари ПА-структур, у свою чергу, є сумою оцінок подібності семантичних аргументів у ПАструктурі запиту та структурі пропозиції СНІПЕТу. Нехай у ПА-структурі запиту ?? аргументів: ???? = {??1??, ??2??,… , ?????? }, а в ПА-структурі пропозиції СНІПЕТ ?? аргументів. Кожен семантичний аргумент з ПА-структури запиту, якому призначено семантичну роль 1??,?????) Порівняється з кожним семантичним аргументів ПА-структури пропозиції СНІПЕТ ?????? ? ????, (?? = 1???,?????), у результаті обчислюється оцінка подібності аргументів. Представимо семантичний аргумент у вигляді четвірки: ?? =< ????????, ????????, ??????, ?????? >. (15) Де ???????? - Семантична роль; ???????? – лема предикатного слова аргументу чи ідентифікатор словникової статті предикатного слова; ?????? – синтаксичне піддерево аргументу; ?????? - Прапор, що вказує на наявність у тексті ознак заперечення аргументу, наприклад, у уривку "папір не виготовляють з нафти" аргумент "папір" має ознаки заперечення. Нехай є семантичний аргумент запиту ???? =< ??????????, ??????????,????????, ???????? > та семантичний аргумент сніппета . Розглянемо алгоритм обчислення оцінки подібності семантичних аргументів. 1) Задамо початкове значення. 2) Якщо ?????????? ? ??????????, то оцінка , вихід. Інакше перейти до наступного кроку. 3) Якщо синтаксичною вершиною ???????? є запитальне слово, то оцінка, вихід. Інакше перейти до слідкуючого кроку. 4) Перевірити збіг за предикатним словом. Якщо ?????????? = ?????????? (збігаються леми предикатних слів або ідентифікатори словникових статей предикатних слів), то модифікувати . Вага ???? > 0. Перейдіть до наступного кроку. 5) Якщо синтаксичною вершиною ????????, є запитальне слово, то перейти до кроку 8). Інакше перейти до наступного кроку. 6) Порівняти синтаксичні піддерев'я аргументу запиту ???????? і аргументу Сніппет ????????. Оцінка подібності синтаксичних піддерев обчислюється шляхом зіставлення лем слів з урахуванням рівня слів у піддереві аргументу запиту та аргументу сніпету. Модифікувати. Вага ???? > 0. Перейдіть до наступного кроку. 7) Якщо є збіг за предикатними словами і збіг за синтаксичними піддеревами, то модифікувати . Вага ???? > 0. Вихід. 8) Якщо немає збігу за попередніми словами, то модифікувати , Вага ????1 > 0, вихід. Інакше перейти до наступний крок. 9) Якщо ???????? ? ????????, Вихід. Інакше перейти до наступного кроку. 10) Модифікувати , вага ?? 2 > 0 може бути модифікований набором евристик, наприклад, якщо аргумент Сніппет представлений займенником, то вага ????2 знижується. На цьому кроці також виділяється відповідь – синтаксичне піддерево аргументу сніпету заданої максимальної глибини. Вихід. 11) Кінець. Величини ????, ????, ????, ????1, ????2 є параметрами алгоритму, їх можна варіювати відповідно до евристичних припущень про значущість вкладу компонентів в оцінку релевантності або, наприклад, настоювати за допомогою методів оптимізації на заданій розміченій вибірці. Серед усіх оцінок пар подібності семантичних аргументів для заданого аргументу запиту та заданої ПА-структури пропозиції СНіПЕТу знаходиться максимальна, яка в кінцевому рахунку бере участь у розрахунку оцінки релевантності всієї ПА-структури: . (16) Оцінка подібності між ПА-структурами може бути більшою за одиницю. При цьому максимальна оцінка для різних за розміром та ознаками ПАструктур може відрізнятись. Структури, в яких присутні більше семантичних аргументів, яким призначені ролі, потенційно можуть отримати більшу оцінку, ніж ті, в яких семантичних аргументів менше. Це відповідає уявленню про більш високий внесок в оцінку релевантності запиту сніпету наявності подібності більших ПА-структур порівняно з наявністю подібності дрібних ПА-структур. Крім того, структури запиту, в яких є аргумент-запитуване слово, також вважаються більш важливими при оцінці релевантності за семантичними аргументами. У результаті СР-оцінка запиту та пропозиції сніпету визначається наступним чином: . (17) Тут ?????? - Коефіцієнт нормалізації, який необхідний, щоб кінцева оцінка релевантності за семантичними ролями не виходила за рамки відрізка [0,1]. ?????? обчислюється як сума всіх максимально можливих оцінок подібності ПА-структур запиту незалежно від ПА-структур пропозиції сніпету. Коефіцієнт ?????? ? [0,1) знижує СР-релевантність пропозиції відповідно до набору евристик. Ці евристики враховують різну лінгвістичну інформацію про пропозицію, наприклад, тип пропозиції: ствердну, пропозицію-умову («Якби відбулася фінансова криза у 2012 році…»), питання. Релевантність ствердної пропозиції має бути вищою, ніж пропозиції-умови, або запитальної пропозиції. СО-оцінка розраховується за схожим принципом, проте семантичні відносини не прив'язані до предикатних слів і ПА-структур, тому СОоцінка обчислюється як нормалізована сума оцінок подібності семантичного відношення у запиті з семантичним ставленням у реченні сніпету. Нехай у пропозиції запиту є ???? відносин, у реченні сніппета – ???? відносин. Уявимо ставлення у вигляді трійки: ?? =< ????????, ??????????????, ??????????????? >. (18) Тут ???????? - Тип семантичного відношення; ?????????????? - синтаксичне піддерево, у вершині якого знаходиться слово, з якого виходить семантичне ставлення; ??????????????? – синтаксичне поддерево, у вершині якого є слово, у яке веде семантична ставлення. Кожне відношення запиту???? =< ??????????, ???????????????? , ?????????????? ??? > попарно порівнюється з ставленням пропозиції сніпета. Розглянемо алгоритм порівняння відносин. 1) Задамо початкове значення. 2) Якщо ?????????? ? ??????????, то оцінка , вихід. Інакше перейти до наступного кроку. 3) Якщо синтаксичною вершиною або є запитальне слово, то оцінка . Інакше перейти до кроку, що стежить. 4) Якщо синтаксичною вершиною або є питання, то перейти до кроку 8). Інакше перейти до наступного кроку. 5) Оцінити подібність синтаксичних піддерев ??????(????????????????, ????????????????)? [0,1]. Модифікувати ??????????(????,????) ? ??????????(????,????) + ?????? ? . Вага ?????? > 0. Перейдіть до наступного кроку. 6) Оцінити подібність синтаксичних піддерев ??????(?????????????? ???, ?????????????? ???) ? [0,1]. Модифікувати ??????????(????,????) ? ??????????(????,????) + ?????? ? . Вага ?????? > 0. Перейдіть до наступного кроку. 7) Модифікувати. Коефіцієнт ?????? необхідний для того, щоб підвищити різницю між оцінками подібності, при високих сумарних оцінках подібності синтаксичних піддерев і при низьких. Вихід. 8) Нехай запитальне слово є вершиною ???????????????? . Модифікувати. Перейти до наступного кроку. 9) Оцінити подібність синтаксичних піддерев [0,1]. Модифікувати ??????(????????????????? ???, ?????????????? ???). Перейти до наступного кроку. 10) Модифікувати ??????????(????, ????) ? ?????? ? ??????????(????, ????). Вихід. 11) Кінець. Серед усіх оцінок пар подібності семантичних відносин для заданого семантичного відношення запиту знаходиться максимальна, яка, зрештою, бере участь у розрахунку СО-оцінки ??????: . (19) Тут ?????? коефіцієнт нормалізації, який необхідний, щоб кінцева оцінка релевантності по семантичних відносин не виходила за межі відрізка [0;1]. ?????? обчислюється як сума всіх максимально можливих оцінок подібності семантичних відносин пропозиції запиту незалежно від відносин пропозиції сніпету. Значення ??????, ??????, ??????, ??????, ?????? - є параметрами алгоритму.
4.2.2. Експериментальне дослідження методу ранжирування сніпетів для питання-відповідального пошуку в метапошуковій системі

Для експериментальної перевірки методу ранжирування сніпетів для запитально-відповідного пошуку був створений розмічений корпус запитань запитань і відповідей. Двоє розмітників сформували перелік запитальних запитів російською мовою. Питання є категоріальними і містять запитальні слова «хто» (та ін форми «ким», «кому» тощо), «що» (та ін форми «чем», «чому» і т.д.) , "хто такий", "що таке", "навіщо", "коли", "де", "скільки", "куди", "звідки", "чому". Усього було сформульовано 195 запитів. Вони були задані чотирьом пошуковим системам в Інтернеті: Yandex, Google, Bing та Yahoo. Від кожної системи було отримано топ відповідей глибиною 20. Кожна відповідь складається з пошукового сніпету та його заголовка. Таким чином, для кожного заданого питання було отримано список, що складається з близько 50-70 відповідей без повторень: сніпетів та їх заголовків. Для кожного запиту розмітники оцінили кожну відповідь пошукової системи та визначили, чи є вона відповіддю на поставлене запитання. Оцінювався і сніпет, і його заголовок. Відповідь пошукової системи вважалася відповіддю на поставлене запитання якщо: • Сніппет або його заголовок містять пряму відповідь на запитання; Приклад: Запитання: «З чого роблять цукор?» Відповідь: Заголовок: «З чого роблять цукор? - Великий...» Сніппет: «Цукор (або сахароза) роблять в основному із соку цукрової тростини або цукрових буряків.» • якщо інформація в заголовку співвідноситься із заданим питанням, а в сніпеті міститься коротка правильна відповідь; Приклад: Запитання: «Хто написав «що робити»?» Відповідь: Заголовок: «Відповіді@Mail.Ru: хто написав твір, що робити?» Сніппет: «Микола Гаврилович Чернишевський. Подобається Поскаржитись. 3 відповіді. Майстер (2258) 4 роки тому. Чернишевський. Подобається Поскаржитися.",» • якщо в заголовку чи сніпеті відсутня пряма докладна відповідь на запитання, але міститься коректна інформація, яку людина інтуїтивно може інтерпретувати як відповідь. Приклад: Запитання: «Чим стригти газони?» Відповідь: Заголовок: «Стрижка газону – її особливості» Сніппет: «Стрижка газону за видами. Для партерних газонів можна використовувати готовий рулонний газон, який необхідно підстригати на висоту 5 см. Це в перші 2 роки. Газону хорошого в нас поки немає, ще тільки будуємось, але траву стрижемо. Найперше, що подарували мені діти після покупки сільського будинку — газонокосарку». Якість автоматичного ранжування для питання-відповідального пошуку оцінювалося за точністю ??, яка обчислювалася як відношення кількості питань, відповідь на який система дала на глибині не більше ніж ?? > 0, до кількості запитів. Точність оцінювалася при ?? = 1, ?? = 2, ?? = 3, ?? = 4. Найбільш важливим показником у запитально-відповідальному пошуку вважається точність при ?? = 1 [169, 170] - це оцінка того, як часто відповідь на задане питання знаходиться в першому сніпеті або заголовку видачі метапошукової системи. Наприклад, це важливо для завдання отримання безпосередньо відповіді на запитання. Порівнювалися чотири системи ранжирування. • система, яка ранжує відповіді випадковим чином (середнє по 5 прогонах). Позначимо її як «Случ. ранж.». • Система, яка ранжує відповіді на основі лише лексичного критерію – всі ваги та коефіцієнти при семантичних оцінках – нулі. Позначимо її як «Лексіч. ранж.». • Система, яка використовує описаний вище алгоритм обчислення релевантності з урахуванням семантичної інформації, отриманої від системи, де синтаксичний і семантичний аналіз виконуються окремо. Позначимо її як «Сім. ранж. Сім. ан.». • Система, яка використовує описаний вище алгоритм обчислення релевантності з урахуванням семантичної інформації, одержаної від системи семантико-синтаксичного аналізу. Позначимо її як «Сім. ранж. Сім.-син. ан.». Результати представлені у таблиці 8 та малюнку 35. Таблиця 8 – Точність ранжирування сніпетів для запитання-відповіді Максимальна льна глибина (d) Системи ранжування Сім. ранж. Сім. ан. Сім. ранж. Сім.-син. ан. Лексіч. ранж. Випадок. ранж. 1 53,9 58,0 46,1 26,0 2 73,1 75,1 64,8 40,1 3 79,3 79,8 71,5 52,8 4 82,9 83,4 75,6 62,3 Малюнок 35 - Залежність точності ранжування ?? від максимальної глибини видачі?? Для оцінки якості питання-відповіді часто використовують також метрику mean reciprocal rank (MRR), яка обчислюється наступним чином: . (20) Тут???? - ранг першої правильної відповіді на питання у видачі; Q – загальна кількість питань. Ця метрика враховує правильні відповіді системи на невеликій глибині видачі, які не виявилися першими, але при цьому штрафує їх, знижуючи їхній внесок у підсумкову оцінку якості. Таким чином, вона є більш м'якою оцінкою щодо точності при ?? = 1, але більш жорсткою по відношенню до точності при ?? >1. Зазвичай, максимальний ранг обмежений. У проведених експериментах використовувалася метрика MRR, яка застосовувалася на змагання TREC з питання-відповідного пошуку, в ній максимальний ранг обмежується 5 [171]. Порівнювалися три способи ранжирування «Лексіч. ранж.», «Сім. ранж. Сім. ан.», «Сім. ранж. Сім.-син. ан.». Результати представлені у таблиці 9. Таблиця 9 – Оцінки MRR систем ранжирування сніпетів для запитання у відповідь Системи ранжирування Лексіч. ранж. Сім. ранж. Сім. ан. Сім. ранж. Сім.-син. ан. 69,6 Результати показують наступне: 1) Розроблений критерій робить великий внесок у якість ранжирування відповідей пошукових систем: точність на 30-35% вище проти випадковим ранжированием. 2) Облік семантичної структури пропозиції при оцінці релевантності відповідей у запитально-відповідальному пошуку дозволяє підвищити точність на 1012% і значення MRR на більш ніж 8% порівняно з лексичним критерієм ранжирування, а також дозволяє витягувати зі СНІП саму відповідь на питання. Як ілюстрація на малюнку 36 представлений скріншот веб-інтерфейсу модуля метапошуку системи Exactus.ru, в якому реалізований описаний метод. У цьому прикладі відповіді на питання у сніпетах виділені курсивом. Рисунок 36 – Результат роботи модуля метапошуку системи Exactus.ru 3) Якість ранжирування під час використання системи семантикосинтаксического аналізу значно вище, ніж із використанні системи, у якій синтаксичний і семантичний аналіз виконуються окремо – точність вище на 4% при d = 1, значно вище значення ??????. Підвищення якості побудови синтаксичних дерев залежностей та визначення рольових структур висловлювань за рахунок використання методу семантико-синтаксичного аналізу дозволяє більш точно проводити аналіз запитань запитань, так і пошукових сніпетів. На малюнку 37 представлений приклад, у якому система семантико-синтаксичного аналізу виправила синтаксичне дерево у сніпеті відповіді питанням «звідки у Росію привезли картопля?». За рахунок цього було встановлено семантичну роль «директив» та семантичне ставлення «TRA», які допомогли підняти відповідь на запитання на перше місце у видачі. Рисунок 37 – Приклад пропозиції у сніпеті відповіді на запитання «звідки до Росії привезли картопля?», в якій система семантико-синтаксичного аналізу виправила синтаксичне дерево

Коментарі

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

Література

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