Комп'ютерна лінгвістика та аналіз тексту

10.09.2002 Автор: А.Є. Єрмаков

Комп'ютерний аналіз тексту на природній мові активно розвивається в останні роки багатьма колективами. Доступні сьогодні обчислювальні потужності дозволяють застосовувати для обробки великих масивів документів широкий клас математичних методів, що сприяють ефективному вирішенню завдань пошуку, класифікації, кластерного аналізу, виявлення прихованих закономірностей в даних і ін. З ілюстрацією подібних додатків можна познайомитися, наприклад, на сайті http://research.metric.ru .

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

Поговоримо про проблеми комп'ютерної лінгвістики, що стосуються перш за все граматичного розбору тексту на природній мові. При цьому залишимо за рамками статті специфічні питання, пов'язані з машинним перекладом, і, спираючись на особистий досвід розробки інформаційно-пошукових систем (ІПС) в компанії «Гарант-Парк-Інтернет», розглянемо перспективи застосування лінгвістики в контексті таких систем. Створення якісного синтаксичного аналізатора дозволяє сподіватися на ефективне вирішення завдання пошуку в інформації на природній мові.

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

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

Порядок застосування правил розбору управляється його алгоритмом, який на кожному кроці перевіряє можливість застосування наступного правила до чергового фрагменту фрази (двом-трьом словами, знаків пунктуації і т. П.). У разі успіху фрагмент згортається. Зазвичай це призводить до його заміни одним головним словом, т. Е. Видаленням підлеглих слів. Після чого розбір триває. Якщо подальше застосування правил неможливо, на будь-якому з кроків відбувається відкат. При цьому останній згорнутий фрагмент відновлюється, і робиться спроба застосувати інші правила. Остаточним варіантом розбору слід вважати таку послідовність застосування правил, яка призводить до максимальної згортку пропозиції.

Так, в ході розбору фрази «втомлені гуси та качки стали знижуватися», виникають наступні варіанти:

(Втомлені -> гуси + качки)) ~> (стали (втомлені -> гуси) і (качки ~> стали ((втомлені -> гуси) + (качки

і ряд інших.

Тут кожна пара дужок включає слова, оброблені по деякому правилу на черговому кроці аналізу. Пряма стрілка вказує на відношення підпорядкування при згортку іменних і дієслівних груп, знак «плюс» - на згортку рівноправних однорідних членів, а хвиляста стрілка - на зв'язок підлягає з присудком. Таке уявлення відповідає дереву залежностей у фразі.

Очевидно, що тільки перший варіант відноситься до повного розбору - повнозв'язну дереву з однією вершиною, представленої дієслівної групою «стали знижуватися». Другий варіант неповний, але все встановлені синтаксичні зв'язку є правильними. Третій варіант говорить про помилку, викликаної наявністю у іменника «сталь» форми «стали» в родовому відмінку множини, і виділена іменна група «качки стали» за аналогією з «смуги стали», «кування стали».

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

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

Синтаксичні відносини в межах іменних груп можуть бути описані десятком правил контекстно-незалежної граматики, які враховують лише узгодження граматичних форм. Наприклад, якщо прикметник відноситься до наступного за ним іменник, то вони повинні бути узгоджені між собою по падежу і числу, а в однині ще і по роду.

В ході повного синтаксичного розбору фрази можливе встановлення синтаксичних ролей іменних груп в реченні. Це дозволяє ранжувати їх за ступенем значущості для автора, що відповідає розумінню ключових ідей тексту. Найбільш важливими є слова з групи підмета, потім присудка, прямого доповнення, непрямого доповнення, обставини - такі особливості російської мови.

Нижче наведено приклад розбору (як видно, поки не повного) нашим аналізатором фрази:

(клинки, (майстрами, ставали
(символами (поколінь

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

Повний список виділених іменних груп, виключаючи складаються з одного слова, наступний:

великий майстер давнини, великий майстер, майстер давнини, символ честі сьогоднішнього покоління японця, символ честі сьогоднішнього покоління, символ честі вчорашнього покоління японця, символ честі вчорашнього покоління, символ честі, символ гордості, честь сьогоднішнього покоління японця, честь вчорашнього покоління японця, честь сьогоднішнього покоління, честь вчорашнього покоління, сьогоднішнє покоління японця, вчорашнє покоління японця, сьогоднішнє покоління, вчорашнє покоління, покоління японця.

Зауважимо, що остання частина розібраної фрази допускає другий, настільки ж повний варіант розбору:

(Символами (поколінь

породжує додаткові іменні групи:

гордість майбутнього покоління японця, гордість живе покоління японця, символ гордості майбутнього покоління японця, символ гордості живе покоління японця.

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

Смислова зв'язок між поняттями пропозиції в загальному випадку може бути описана дієсловом-предикатом, аргументами якого виступають дані поняття. Встановлення таких синтактіко-семантичних зв'язків дозволяє сформувати логічну схему ситуації, описуваної у фразі.

Однак для цього потрібно словник моделей управління дієслів. У такому словнику для всіх дієслів (близько 20 тис. В російській мові) має бути зазначено, якими відмінками і з якими приводами проводиться це управління. Для кожної моделі слід позначити семантичні ролі аргументів дієслова, що дозволить диференціювати зв'язку за змістом, виявляючи, наприклад, знаряддя дії, мета, місце і т. П. Взагалі в лінгвістиці виділяють близько 30 подібних семантичних ролей.

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

В результаті аналізу просте речення тексту перетворюється в рядок таблиці реляційної бази даних. При цьому ім'я таблиці відповідає предикату-дієслова, а стовпці - семантичним ролям учасників ситуації, описуваної цим дієсловом. Після закінчення аналізу пари пропозицій в таблиці з ім'ям «орендувати» можуть з'явитися такі записи:

Після закінчення аналізу пари пропозицій в таблиці з ім'ям «орендувати» можуть з'явитися такі записи:

Таке уявлення дозволяє вирішувати задачу фактографічного пошуку, наприклад: «знайти всіх персон, які контактували з організацією X певним чином». Тобто виявити всі одухотворені іменні групи, пов'язані з X за допомогою заданих дієслів у відповідній синтаксичної ролі.

Зв'язки, що виникають між рядками таблиць при збігу значень полів, породжують семантичну мережу на безлічі цільової колекції аналізованих документів. Причому зв'язку ці диференційовані за типами, що дозволяє шукати відповіді на складні питання такого вигляду: «Знайти всіх орендодавців в Москві, у яких орендарі торгують олією». Відповідний запит до бази даних на мові SQL буде виглядати так:

SELECT Агенс FROM Орендувати WHERE Обставина = «Москва» AND Бенефактів IN (SELECT Агенс FROM Торгувати WHERE паціенс = «масло»)

Аналогічним чином питання на природній мові може бути перетворений в стандартний запит до бази даних на SQL. При цьому дієслово визначає ім'я таблиці, в якій ведеться пошук, задані в питанні аргументи дієслова представляють пошукові обмеження на значення полів в таблиці, а питальне слово ( «що, де, скільки») вказує, в якому стовпці вести пошук.

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

Клинки виготовляються японськими майстрами. Заборонено вивезення старовинних клинків. Технологія виробництва відома. Російські майстри відтворюють клинки. Клинки продаються.

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

Завдання тема-рематіческій аналізу вирішується в ході синтаксичного розбору фрази: поняття з групи підмета представляють теми; поняття-доповнення дієслова - реми, які можуть стати темами подальших фраз; обставини - лише якийсь фон, на якому розгортаються описувані події.

Загальна схема такого аналізу тексту наведена на малюнку.

На закінчення відзначимо, що, незважаючи на обмеженість синтаксичних аналізаторів, що працюють поки без залучення семантики, їх застосування вже зараз відкриває якісно нові можливості для систем комп'ютерного аналізу тексту. Це, зокрема, підтверджують і наші розробки. Синтаксичний аналізатор російської мови, який реалізує виділення іменних груп і зняття омонімії, вже впроваджується в чергову версію пошукової системи Russian Context Optimizer для СУБД Oracle. З демонстрацією аналізатора можна познайомитися на сторінці http://research.metric.ru/syntdemo/syntdemo.asp .

ПРО АВТОРА

Олександр Єрмаков - провідний розробник фірми «Гарант-Парк-Інтернет», [email protected]