Автоматический анализ предложения на естественном языке на основе комбинированного семантико-синтаксического подхода

УДК 004.225 А.П. Головко

Курганский государственный университет

АВТОМАТИЧЕСКИЙ АНАЛИЗ ПРЕДЛОЖЕНИЯ НА ЕСТЕСТВЕННОМ ЯЗЫКЕ НА ОСНОВЕ КОМБИНИРОВАННОГО СЕМАНТИКО-СИНТАКСИЧЕСКОГО ПОДХОДА

Аннотация

В статье описывается метод синтаксического разбора предложения на естественном (русском) языке, позволяющий разрешать ряд неоднозначностей, свойственных естественным языкам. Результатом разбора является граф, представляющий синтаксическую структуру анализируемого предложения и фрагменты синтаксической структуры.

Ключевые слова: представление знаний, продукционные системы, естественный язык.

A.P. Golovko Kurgan State University

AUTOMATIC ANALYSIS OF NATURAL LANGUAGE SENTENCE ON THE BASIS OF A COMPOSED SEMANTIC-SYNTAX APPROACH

Annotation

The paper describes a method of the natural language sentence parsing that make possible to resolve the ambiguities typical of natural languages. ^s a result of parsing is a graph representing the syntax structure and fragments of the semantic structure of an analyzed sentence.

Key words: knowledge representation, production systems, natural language.

1. Постановка задачи

Естественный язык (ЕЯ), как хорошо известно, является непревзойденным средством представления знаний: как по выразительной способности, так и по гибкости -разные предметные области и эпохи отличаются набором слов, то есть номинативных элементов, а вся структура сохраняется. Исследования естественного языка именно в этом его качестве занимают важное место в исследованиях по проблематике искусственного интеллекта.

Задача автоматического распознавания смысла текстов на естественном или искусственном языке является актуальной почти с начала использования вычислительной техники. Первыми программами, решавшими эту задачу, были трансляторы с языков программирования. Программы машинного перевода с одного естественного языка на другой также существовали уже в начале 60-х годов ХХ века. В этих программах осуществлялась замена слов и части фразеологизмов их эквивалентами в другом языке; результат по тем временам был впечатляющим. С тех пор опубликовано огромное количество теоретических работ и разработано множество программ для решения этой задачи. Первоначально для анализа текстов на естественном языке широкое применение находили методы, разработанные для трансляции с язы-

ков программирования (см., например, [1]), это был почти исключительно синтаксический анализ. Затем появились работы РШенка [2] и других авторов, где упор делался на подражание «человеческому» методу понимания смысла предложения, здесь ведущая роль принадлежала семантике. Этот подход уже совершенно явно превращал данную задачу в задачу искусственного интеллекта, причем в стиле экспертных систем: центральное место занимают знания человека о мире, позволяющие ему удовлетворительно распознавать текст, в частности, содержащий значительные неточности в синтаксисе и в лексике. Однако практически требуемый запас знаний о мире оказался слишком велик. Сейчас распространение получили статистические методы [3]. Весьма перспективным представляется подход, базирующийся на парадигме перцепции [4]. Имеется немало практических разработок [5], авторы которых декларируют возможность их продуктов, в частности, перефразировать тексты на одном языке и переводить с языка на язык. Однако все, кто пользуется программами машинного перевода, знают, что на данный момент задача распознавания смысла текста на ЕЯ в целом удовлетворительно не решена.

В данной работе рассматривается задача построения правдоподобной синтаксической структуры заданного предложения на естественном языке, конкретно -на русском. Под правдоподобной синтаксической структурой понимается структура, наиболее естественная в плане словоупотребления и выражающая смысл, который наиболее разумно подразумевать под заданным текстом. Особенность ЕЯ такова, что понять, что именно хотел сказать автор высказывания, нередко можно лишь с некоторой степенью уверенности.

2. Формальная модель подмножества грамматики

Синтаксис русского языка весьма сложен. Достаточно сказать, что только перечисление и весьма лаконичная характеристика синтаксических связей занимает 72 страницы в академическом справочнике (книга формата энциклопедии). Кроме того, филологические системы построения синтаксиса стремятся объединить синтаксис и семантику оставаясь в рамках синтаксического подхода, что приводит к дополнительному усложнению и затрудняет построение формальной модели, пригодной для целей автоматизации. Это приводит к необходимости построения своей модели, ориентированной на цели автоматизации, в которой синтаксис и семантика строятся каждый по своим правилам, а в необходимых случаях производится их стыковка.

Состав модели

Модель включает следующие компоненты:

К1. Структурные единицы текста. Их классификация.

К2. Основные виды связей между словами и более крупными языковыми конструкциями. Классификация связей.

К3. Правила установления синтаксических связей по результатам морфологического анализа.

К4. Правила сопоставления синтаксическим связям семантических связей в форме правил продукции.

К5. Статическая информация о предпочтительности тех или иных лексем (выраженных одинаковыми основными формами или словоформами) в виде функций принадлежности.

К6. Правила пересчета указанных функций принадлежности в зависимости от контекста.

Чисто семантическая составляющая модели строится в виде семантической сети. При этом используется специально разработанный формализм, который здесь подробно не рассматривается. По существу он близок концептуальным графам РШенка [2].

Структурные единицы уровня лексемы

1. Текстовое слово (ТС) - подстрока, состоящая из букв либо из цифр, ограниченная разделителями.

2. Текстовый атом (ТА) - знак препинания либо текстовое слово

3. Сублексема (С) - законченное сочетание слов, не образующее еще самостоятельной лексемы. Например, компонент связности составного союза.

4. Составная лексема (СЛ). Например, составной союз, предлог

5. Составная словоформа (СС): превосходная или сравнительная степень прилагательного, причастия: самый большой, более быстро; будущее время глагола: будет жить; имена числительные; мультипликативные группы числительных.

Здесь нужно иметь в виду, что (4) и (5) являются иероглифами, и их не следует трактовать дословно. «Составная» лексема или словоформа может, в частности, состоять из одного слова.

Структурные единицы уровня простого предложения

По структуре: множество существительных; группа существительного; группа прилагательного; группа глагола; группа наречия; причастный оборот; деепричастный оборот.

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

По функции: согласованное определение; несогласованное определение; обстоятельства (все виды); дополнение; уточнение.

Элементы более высоких уровней пока не рассматриваем.

Связи между словами

Связей достаточно много (22) и они достаточно прозрачно вытекают из сказанного выше. Приведем несколько примеров:

1) связи, объединяющие текстовые слова в сублексему;

22) предикативная связь (Пред) - между подлежащим и сказуемым. Различается по типам подлежащего и сказуемого. Например, один вариант: подлежащее - существительное и сказуемое - глагол. Здесь термин «предикат» понимается в филологическом, а не математико-логическом смысле.

Правила

Правила из компонента КЗ имеют вид, например,

ЕСЛИ ИПр(Х) & ИС(У) & (Пд(Х) = Пд(У)) ТО СО(УХ),

где предикаты (в математико-логическом смысле) ИПр- имя прилагательное, ИС - имя существительное, функтор Пд возвращает значение падежа своего аргумента, СО - связь «согласованное определение», направлена от объекта к свойству. Операция конъюнкции выполняется по правилам, аналогичным языку С++, то есть строго слева направо и при появлении первого ложного операнда прекращается с результатом Ложь; в противном случае возможен аварийный исход выполнения операции из-за попытки вычисления функтора за пределами его области определения.

Правила типа К5 и К6 требуются, когда необходимо оценить синтаксическую или семантическую допусти-

мость некоторой конструкции. Например, правила К5

ЕСЛИ (Ъ == СО(Х,У)) & Порядок(У,Х) ТО ФПСинт(Ъ) = 1.0;

ЕСЛИ (Ъ == СО(Х,У)) & Порядок(Х,У) ТО ФПСинт(Ъ) = 0.75.

где Порядок - предикат (логический), ФПСинт(Ъ) -значение функции принадлежности объекта Ъ к нечеткому множеству «Синтаксически естественная конструкция». В нашем случае для этой функции принимается: 1.0 - абсолютно (наиболее) естественно, 0.75 - вполне естественно, 0.5 - можно, но не принято, 0.25 - в принципе возможно, но совершенно не принято, 0.0 - невозможно.

Значения функции принадлежности в данном случае определялись экспертно, но можно (и предпочтительнее, видимо) строить эту функцию на основе статистических данных, хотя прямая трактовка принадлежности как вероятности здесь, очевидно, неприемлема. Приведенные выше значения имеют в модели статус статических (компонент модели К4), они отражают ситуацию в языке в целом. Ясно, что в тексте, например, подражающем старине, выражение типа герой народный будет предпочтительнее, чем народный герой. Именно с целью учета этих обстоятельств и вводятся в модель правила пересчета значений функции принадлежности в зависимости от контекста (компонент К6).

3. Алгоритм разбора. Примеры

Общий алгоритм

Как правило, для синтаксического разбора используют нисходящие алгоритмы. Нами взят на вооружение способ, предложенный РШенком, который отдал ему предпочтение в виду большего соответствия способу, свойственного человеку. В нашем случае он также удобнее по чисто конструктивным соображениям.

Текстовые слова вводятся по одному. Каждое из них - это словоформа какого-то слова языка (лексемы), либо части лексемы. Например, союз не ..., а напротив является одной лексемой, включающей 3 текстовых слова, распределенных на две области связности.

Программа морфологического анализа идентифицирует слово (все варианты) и для каждого варианта лексемы определяет все возможные падежи, лица и т.п.

После ввода каждого текстового слова для каждого варианта строятся возможные связи этого слова с уже введенными и (при необходимости) делаются заявки на связи с еще не введенными словами. Например, последовательность слов Петя вошел не требует обязательно продолжения, а вот Петя вошел в - требует.

Пример 1. Чисто синтаксический разбор без конфликтов

В качестве примера структурирования предложения рассмотрим пример: «Трое из самых умных студентов, весьма прилежно учившихся в течение семестра, не только удачно сдали сессию, но и хорошо отдохнули». Практически строится граф, использующий тот же формализм, что и семантическая сеть. Далее приводятся результаты разбора в восходящем порядке; используется Лисп-подобная запись. В фигурных скобках - комментарии.

Текстовые слова:

ТС1 = Трое; ТС2 = из; ТСЗ = самых; ТС4 = умных; ТС5 = студентов; ТС6 = весьма; ТС7 = прилежно; ТС8 = учившихся; ТС9 = в; ТС10 = течение; ТС 11 = семестра;

ТС12 = не; ТС13 = только ; ТС14 = удачно; ТС 15 = сдали; ТС 16 = сессию; ТС 17 = но;

ТС18 = и; ТС19 = хорошо; ТС20 = отдохнули;

Более крупные единицы уровня лексемы:

С1 = ТС9 {в}; С2 = ТС 10 {течение}; СЗ = (ТС 12, ТС 13) {не только };

С4 = (ТС17, ТС18) {но и };

СЛ1 = ТС3 {самых}; СЛ2 = ТС4 {умных}; СЛ3 = (С1, С2) {в течение};

СП4 = (С3, С4) { не только ... но и };

СС1 = ТС1; СС2 = ТС2; СС3 = (СЛ1, СЛ2) {самых умных}; СС4 = ТС5; СС5 = ТС6;

СС6 = ТС7; СС7 = ТС8; СС8 = СЛ3 {в течение}; СС9 = ТС11;

СС10 = СП4 { не только ... но и }; СС11 = ТС14; СС12 = ТС15; СС13 = ТС16;

СС14 = ТС19; СС15 = ТС20;

Таким образом, формально все единицы уровня лексемы - «составные словоформы», то есть функционально - слова. Все более крупные единицы строятся только из них.

Единицы уровня простого предложения:

ГПр1 = СС3 {самых умных}; МнС1 = СС4; ГС1 = (СС2, ГПр1, МнС1) { из самых умных студентов}; МнС2 = (СС1, ГС1) { трое из самых умных студентов };

ГН1 = (СС5, СС6) {весьма прилежно }; МнС3 = СС9 {семестра};

ГС3 = (СС8, МнС3) {в течение семестра};

ПрОб1 = (ГН1, СС7, ГС3) {весьма прилежно учившихся в течение семестра};

МнС4 = СС13 {сессию}; ГС4 = МнС4;

ГГл1 = (СС11, СС12, ГС4) {удачно сдали сессию}; ГН2 = СС14 {хорошо};

ГГл2 = (ГН2, СС15) {хорошо отдохнули};

ГС5 = (ПрОб1, МнС2) {трое из самых умных студентов, весьма прилежно учившихся в течение семестра};

ГГл3 = (Союз(СС10), ГГл1, ГГл2) {не только удачно сдали сессию, но и хорошо отдохнули};

Предложение в целом:

Предл1(Пред1(1, ГС5, ГГл3));

Здесь первый элемент списка (число 1) обозначает тип предикативной связи: подлежащее - группа существительного, сказуемое - группа глагола.

Пример 2. Обработка семантики. Разрешение конфликтов

Рассмотренный выше пример сам по себе не представлял бы особенного интереса: программы с такими или близкими возможностями существуют без малого лет 50. Второй пример использует методы, проиллюстрированные в первом, но богат противоречивыми моментами и служит для пояснения методов разрешения конфликтов.

Анализируется предложение «Автомобиль губернатора задавил мэра песика».

Отметим сразу, что морфологический анализатор предположит для слов губернатора, мэра и песика два падежа: родительный и винительный, это в данном случае существенно.

Рассмотрим анализ по шагам.

1. Автомобиль.

Назывное предложение, связей нет и не требуется.

2. Автомобиль губернатора.

Здесь срабатывает правило

ЕСЛИ ИС

где 'РП' - объектная константа Родительный падеж, НО - несогласованное определение, первый параметр - объект, второй - свойство.

В результате порождается единственная связь НО (Автомобиль, губернатора). То есть в использованном правиле Х = Автомобиль, У = губернатора.

3. Автомобиль губернатора задавил.

Используются следующие правила:

ЕСЛИ ИС(Х) & (Пд(Х) == 'ИП') & Гл(У) ТО

Пред(1,Х,У),

Где 'ИП' - именительный падеж, ГЛ - глагол, Пред -предикативная связь от подлежащего к сказуемому (правило несколько упрощено),

ЕСЛИ ПГ(Х) & ИС(У) & (Пд(У) == 'ВП') ТО ПД(Х,У) где предикат ПГ - переходный глагол, ПД - прямое дополнение, 'ВП' - объектная константа Винительный падеж.

Поскольку задавил - переходный глагол, то возникает заявка ПД (задавил, Х), где Х - некоторый элемент. Поскольку губернатора подходит на роль Х, возникает конкуренция с предыдущим пунктом. Так как требование законченности предложения - более приоритетное, то связь из п.2 разрушается, и теперь губернатор - объект действия, а не собственник автомобиля. Здесь следует заметить, что связь ПД (задавил, губернатора) будет вполне корректна, только если имеется семантическая сеть, из которой следует, что губернатор - живое существо или, как минимум, физический объект, что автомобиль - транспортное средство, а про действие, задаваемое глаголом задавить известно, какого рода объекты могут быть его объектами и субъектами. Эта проблема обсуждается ниже.

4. Автомобиль губернатора задавил мэра. Здесь возникают связи ПД (задавил, мэра), НО (Автомобиль, мэра), НО (губернатора, мэра), НО (мэра, губернатора). Две первые связи противоречит связям, полученным на предыдущих шагах. Первая из них выиграет конкуренцию, а вторая проиграет по соображениям порядка слов, по аналогии с предыдущим. Что касается последних двух связей, то обе будут отвергнуты по соображениям семантики (см. следующий шаг).

5. Автомобиль губернатора задавил мэра песика. Здесь, если исходить из соображений естественности синтаксической конструкции, нужно считать, что у песика есть свой мэр (хотя мы-то знаем, что наоборот). Поэтому в таких случаях необходимо проверять и семантическую достоверность. В нашем случае речь идет о семантическом отношении, порождаемом синтаксической связью НО - несогласованное определение. Хорошо известны варианты таких отношений: материал (комод красного дерева), родственные и прочие аналогичные отношения (жена брата, начальник соседа), собственность и пр. В соответствии с этим компонент К3 модели запустит правила

ЕСЛИ НО (Х,У) ТО Материал (Х,У), ЕСЛИ НО (Х,У) ТО Собственник (Х,У) и т.д., порождая ряд семантических конструкций. Каждая в совокупности с исходным НО(Х,У) и порождает конкурирующий вариант. Для их оценки компонент К6 должен вычислить значения функции принадлежности для семантических отношений Материал (песик, мэр), Собственник (мэр, песик) и т.д., используя функцию ФПСем (), аналогичную ФПСинт (). Далее достоверность каждого конкурирующего варианта оценивается конъюнкцией его синтаксической и семантической достоверности. Конъюнкцию нечетко-логических величин следует вычислять, вообще говоря, с помощью 1-норм [6], которые в разных случаях имеют разные функции-генераторы. Но на первом этапе достаточно стандартной интерпретации - вычисления минимума операндов. Понятно, что вариант ФПСем (Собственник (песик, мэр)) = 0, ФПСем (Материал (песик, мэр)) = 0, и ему подобные - аналогично, но ФПСем (Собственник (мэр, песик)) = 1.0. Таким образом, все-таки, мэр хозяин песика. Конечно, естественнее было сказать песик мэра, а не наоборот, как в тексте.

Можно заметить, что порождаемый граф синтаксической структуры предложения содержит фактически две

взаимно дублирующие подструктуры: по структурным элементам (сублексемы и др.) и по связям типа «несогласованное определение» и т.д. Это связано с соображениями удобства перебора вариантов связей и конкурентного отбора между ними, как это показано выше. Морфологический анализатор Как уже отмечалось, для работы описанного алгоритма необходим еще один элемент - морфологический анализатор. В настоящее время имеется достаточное количество такого рода программ, поэтому нами этот вопрос не обсуждался. Практически был разработан собственный вариант анализатора. Это вызвано соображениями удобства работы с семантическим материалом; обычно такая возможность не предусматривается. 4. Заключительное обсуждение Разработана семантико-синтаксическая модель определенного подмножества грамматики русского языка, позволяющая строить синтаксическую структуру предложения, используя в конфликтных ситуациях знания по словоупотреблению и семантике. Параллельно создается фрагментарная семантическая структура предложения.

Метод разрешения конфликтов достаточно тривиально реализуется с помощью правил продукции в том, что касается грамматики. С семантикой дело обстоит несколько сложнее: здесь продукционные правила применить не сложнее, но взрывообразно возрастает объем связей между сущностями, которые должны быть отражены в правилах: это та же проблема, из-за которой не удалось в полном объеме реализовать методы РШенка. Можно, однако, отметить существенное отличие. Для построения графов с помощью теории концептуальных зависимостей [2] необходимо иметь полную семантическую модель предметной области, а в нашем случае только ту информацию, которая может понадобиться для разрешения конфликтов, что, как правило, существенно меньше.

Это ставит вопрос: где целесообразно применить изложенные результаты? Одной из областей представляются электронные учебники. Поскольку продукты этого типа посвящены относительно узким областям знаний, построение их семантической модели, во-первых, возможно, а во-вторых, в любом случае необходимо. Этот вопрос достаточно подробно рассмотрен в [7]. Наличие семантической модели предметной области позволяет напрямую применять предложенный метод.

Список литературы

1. Грис Д. Конструирование компиляторов для цифровых вычислитель-

ных машин. - М.Мир, 1975.

2. Шенк Р. Обработка концептуальной информации. - М.:Энергия, 1978. 3..Андреев А.М. Вероятностный синтаксический анализатор для

информационно-поисковой системы. [Электронный ресурс] Режим доступа: www.kv.by/index2004154301.htm. - Загл. с экрана. 4..Magermann D.M. Natural Language Parsing as Statistical Pattern

recognition. // A dissertation submitted to the department of computer science at the committee on graduate studies of Stanford University, 1994. // Опубликовано на сервере www.xxx. lang. gov/cmp. lg.

5. Синтаксический анализатор текстов в грамматическом движке

[Электронный ресурс] Режим доступа: http://www.solarix.ru/ for developers/exercise/syntax-analysis.shtml. - Загл. с экрана.

6. Нечеткие множества в моделях управления и искусственного

интеллекта/Под ред.. Д.А.Поспелова. - М.:Наука, 1986.

7. Головко А.П. Электронный учебник как гетерогенная экспертная

система. Концепция и подходы к реализации // Информатика. Программирование. ИКТ: Межвузовский сборник научных статей. -Шадринск: Изд-во ОГУП «Шадринский дом печати», 2007. - С.11-18.

УДК 681.3.07

А.М. Семахин, С.А. Кожевников Курганский государственный университет

МЕТОД ПОИСКОВОЙ ОПТИМИЗАЦИИ КОНТЕНТА САЙТА ИНТЕРНЕТ-МАГАЗИНА

Аннотация

В статье изложен метод поисковой оптимизации SEO-копирайтинг, оптимизирующий контент сайта, реализующий современную вычислительную технику. Описаны результаты оптимизации, позволяющие повысить конвертацию посетителей сайта в покупатели и вероятность предоставления ссылки на сайт в первых строчках поисковых систем по результатам поиска на основе запросов пользователей.

Ключевые слова: Интернет, поисковая система, сайт, контент, оптимизация, SEO-копирайтинг

A.M. Semakhin, S.A. Kozhevnikov Kurgan State University

METHOD OF SEARCH OPTIMIZATION OF ONLINE STORE SITE CONTENT

Annotation

The article considers the method of search optimization SEO-copywriting optimizing site content and realizing current computers. The results of optimization enabling to increase conversion of site visitors into buyers and probability of provision of web links in first lines of search engines according to search results based on user requests are described.

Key words: Internet, search engine, site, content, optimization, SEO-copywriting.

Введение

В настоящее время широко используются Интернет-магазины для реализации товаров и услуг. Поиск необходимых товаров и услуг в Интернете пользователь осуществляет посредством поисковых систем. Определение смысла веб-страницы в соответствии с поисковым запросом - актуальная задача. Поисковые системы осущ-ствляют поиск по текстовым совпадениям. Лексика поискового спроса отличается от лексики на сайтах. SEO-копирайтинг позволяет согласовать язык спроса и язык предложения и создать оригинальный и интересный контент сайта.

1. Цели и задачи SEO-копирайтинга

Цель коммерческого сайта - получение максимального числа посетителей и превращение их в клиентов. Текст на сайте должен быть кратким, емким, использовать приемы для выделения важных частей. Сайт должен иметь достойный дизайн и интересное, привлекательное содержание.

SEO-копирайтинг - создание уникальных, активных текстов для сайтов на основе семантического ядра с использованием HTML - форматирования. SEO-копирайтинг решает задачи: создание активных побуждающих текстов, соблюдение правил подготовки текста для сайтов, оптимизация текстов для поисковых систем. Выполнение задач позволяет достичь целей, поставленных перед SEO-копирайтингом:

- правильное поисковое продвижение сайта;