щиеся проезда по различным типам дорог или в различных погодных условиях и т.п. Кроме того, введя критерии автоматизированного выбора лингвистической БД, можно предоставлять пользователям наиболее актуальный режим работы приложения. К примеру, анализируя скорость передвижения при постоянной низкой скорости, автоматически выбрать вариант более качественного перевода, который позволит пользователю точнее отреагировать на дорожную обстановку и объехать возникшую пробку. В случае использования абстрактного интерфейса для ввода данных можно предложить вводить данные с изображениями дорожных знаков исходной страны, чтобы получить перевод значения этих знаков на свой родной язык.
Как видно из приведенного примера, реализация на основе изменяемых требований к качеству и свойствам алгоритмов решения задачи (или ее части) требует отдельного подхода. Практика показывает, что изменение требований к реализации алгоритмов на уровне ядра приводит к необходи-
мости подключения к ядру (либо к его полной замене) дополнительных компонентов, наиболее подходящих в данный момент. Наделение же ядра системы свойством расширяемости, а также следование определенным правилам при создании системы позволяют создать программный продукт, способный управлять поступающей информацией, принимая на ее основе максимально эффективные решения по управлению состоянием системы.
Литература
1. Волкова И.А Введение в компьютерную лингвистику. Практические аспекты создания лингвистических процессоров. М.: Изд-во ф-та ВМиК МГУ, 2006.
2. Norbert Bieberstein, Sanjay Bose, Marc Fiammante, Keith Jones, Rawn Shah. Service-Oriented Architecture (SOA) Compass: Business Value, Planning, and Enterprise Roadmap // IBM Press, 2006.
3. Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. Приемы объектно-ориентированного проектирования. Паттерны. СПб: «Питер», 2007.
4. Сокирко А.В. Морфологические модули на сайте www.aot.ru // Диалог'2004: тр. Междунар. конф. М.: Наука, 2004.
УДК 519.767.6, 004.415.2
ПРОГРАММНАЯ ФОРМАЛИЗАЦИЯ ЕСТЕСТВЕННОГО ЯЗЫКА СРЕДСТВАМИ ИНТЕНСИОНАЛЬНОЙ ЛОГИКИ
А.Н. Швецов, д.т.н.; В.И. Летовальцев (Вологодский государственный технический университет, [email protected], [email protected])
В статье проводится разделение фрагментов интенсиональной логики с точки зрения реализации технической системы, целью которой является работа с естественно-языковыми текстовыми данными. Рассматривается метод применения интенсиональной логики Ричарда Монтегю для формализации текстовых данных, представленных на естественном языке. Предлагается метод отображения категорий интенсиональной логики на результаты синтаксического анализа, получаемые от программного лингвистического процессора.
Ключевые слова: формальная семантика, семантический анализ, интенсиональная логика, обработка естественного языка.
В современных информационных компьютерных системах хранятся и постоянно создаются гигантские объемы информации. Эта информация часто организована средствами естественного языка, а значит, ее реальное освоение возможно при условии автоматической смысловой обработки текстов. Проблема определения смыслового содержания естественно-языковых фрагментов не нова и активно изучается со второй половины XX века [1].
Эффективное использование знаний, содержащихся в текстах, требует новых стратегий обработки информации, отличных от традиционных подходов. Такие стратегии должны учитывать семантические законы естественного языка [2].
Изучение семантики предложения тесно связано с мышлением. Поэтому исторически первые
попытки формализации методов работы с семантикой предпринимались в рамках логики. Логический подход к формализации семантического анализа до недавнего времени имел распространение лишь в среде лингвистов и логиков. Авторам представляется перспективным применение логического подхода к проблеме автоматизации обработки естественно-языковых текстов с помощью ЭВМ. Выделим основные плюсы такого подхода.
Простое распараллеливание единой задачи. Символьные формулы достаточно просто дробятся на подформулы. Выводимость отдельной подформулы чаще всего можно проверять независимо от других. Это свойство особенно важно ввиду движения современной вычислительной техники в сторону многоядерности микропроцессоров и распределенной обработки данных.
Множественность решаемьгх задач на едином наборе знаний Логическое представление позволяет на едином наборе данных/знаний производить различные операции. Так, на одной базе могут функционировать поисковые системы, вопросно-ответные системы, системы распознавания образов и т.д.
Естественное объяснение результатов операций Логика формализует правила мышления, поэтому результаты набора логических операций при достаточной дружественности пользовательского интерфейса могут легко пониматься пользователем. В логической поисковой системе можно показать цепочку умозаключений, на основе которой предлагаемый текст отнесен к релевантным результатам поиска. Большинство существующих методов не дают такой возможности объяснения результата, поскольку наборы векторных и статистических данных, с которыми они работают, гораздо сложнее представить в доступном для неподготовленного пользователя виде. Это достаточно важное обстоятельство, так как опыт использования систем поддержки принятия решений показал, что пользователь чаще всего отвергает результат работы программы, если не может уяснить, каким образом такой результат был получен.
Развитие логического подхода к изучению семантики можно проследить на основе существующих семантик неклассических логик: семантики смысла и денотата Г. Фреге, теории объектов и пропозиций Б. Рассела, теории истины А. Тар-ского, семантики возможных миров С. Крипке, логики смысла и денотата А. Черча. Наиболее перспективным с точки зрения применимости в автоматическом семантическом анализе представляется подход, предложенный Ричардом Монтегю. Он сформировал целое направление, получившее название «формальная семантика». Основная идея работ Монтегю выражена в названии одного из его основополагающих трудов «English as a formal language»» Любой естественный язык (в частности английский) предлагается понимать как формальный логический язык, который является более сложным по отношению к существующим формальным языкам. Следовательно, при описании естественного языка можно использовать те же понятия и конструкции, что и для других логических языков.
Центральный принцип формальной семантики заключается в композиционном отношении между синтаксисом и семантикой. Принцип композицио-нальности можно выразить следующим образом: значение выражения есть функция его частей и способа их синтаксической комбинации. При этом истинность определяется не абсолютно, а в пределах некоторой модели [3].
Возможны два подхода к изучению семанти-ко-синтаксических связей:
- описать синтаксис естественного языка (в нашем случае русского) и интерпретировать выражения языка в моделях;
- использовать промежуточный логический язык, для чего описать синтаксис и семантику достаточно близкого к естественному логического языка; при этом описание семантики естественного языка сводится к представлению текста в сконструированном логическом языке.
Монтегю использовал оба этих подхода. Для решения целей данной работы второй подход представляется более перспективным, так как позволяет реализовать описанные выше плюсы логического представления языков.
В работе [4] Монтегю использует пару координат - возможные миры и временные промежутки, относительно которых для каждого выражения определяются интенсионал и экстенсионал. Моделью для интенсиональной логики Монтегю является пятерка вида: М=ф, W, Т<, I), где D -множество индивидов (или несущее множество); W - множество возможных миров; Т - множество моментов; < - отношение порядка, заданное на Т; I - интерпретирующая функция, которая придает семантические значения всем константам.
Семантическая интерпретация интенсиональной логики использует множество оценок S={gi|i=1, .... п}, которые являются множеством функций, отображающих переменные всех типов в множества соответствующих значений ^ -функция приписывания значения переменной); ам§ - интенсионал выражения относительно модели М и функции приписывания g; ам'"Ав - экстенсионал выражения а относительно М, g и точки соотнесения ф, где weW, teT.
С точки зрения реализации технической системы можно выделить следующие фрагменты обработки текстовой информации средствами формальной семантики (рис. 1).
Рис. 1. Обработка текстовой информации в формальной семантике на основе интенсиональной логики Монтегю
Схема наглядно показывает, как происходит функциональное деление частей единой системы под названием «логика Монтегю». В блоке «языковая составляющая» объединены элементы, специфичные для конкретного естественного языка. Формальное представление не зависит от конкретного языка и является единым для многих реализаций языковых составляющих. Сейчас основные исследования сосредоточены в области ес-
тественно-языковой составляющей (с внесением необходимых изменений в постулаты значения). На языковую составляющую вводятся ограничения таким образом, чтобы она представляла подмножество естественного языка, минимально необходимое для представления простых языковых фраз.
На данный момент изучение формальной семантики сводится именно к определению способов перехода от естественно-языкового представления к формализованному логическому. Возможны различные способы таких переходов.
В работах Монтегю проводится различие между понятиями тип и категория. Относительно формализованных фрагментов естественного языка употребляется понятие категория. В логических построениях используется понятие тип выражения. Тип выражения задается через рекурсивное определение типов. Определим элементы множества типов TYPE:
1) eeTYPE,
2) teTYPE,
3) если aeTYPE и be TYPE, то (a, b)eTYPE,
4) если a e TYPE, то (s, a)eTYPE,
5) ничто, кроме указанного в пп. 1-4, не принадлежит множеству TYPE.
Множество TYPE не является множеством самих выражений. Это множество имен множеств выражений. Типы е и t являются элементарными. Символ е обозначает сущность (entity). Индивидные переменные и индивидные константы имеют тип е. В семантической интерпретации выражениям типа е будут соответствовать объекты из индивидной области.
Символ t используется для обозначения типа формул, то есть выражений, которые могут быть оценены как истинные или ложные. Комбинации элементарных типов образуют все иные типы выражений (бесконечный класс), которые мыслятся как функторы.
Запись <а, b> указывает на тип функции, где а - тип аргумента, b - тип значения функции. Например, одноместный предикат первого порядка есть функция типа <е, t>, аргумент которой имеет тип е, а значение - тип t.
Для связи с естественным языком применяется множество категорий. Определим функцию f для отображений категорий русского языка в логические типы следующим образом [5]:
1) f(e)=e,
2) f(t)=t,
3) f(CN)=f(IV)=<e, t>,
4) для всех категорий А и В f(A/B)=f(A//B)= =<<s,f(B)>, f(A)>.
Выражение категории функтора А/В при сочленении с категорией аргументора В дает составное выражение категории целого А. Выражения категории А/В и А//В различаются синтаксически, но не семантически, и соответствуют одно-
му и тому же логическому типу. Основные категории представлены в таблице 1.
Таблица 1
Категория Определение Гр амматический эквивалент Пример
e - Нет -
t Утв ердительные предложения Выводы сделаны верно Ветер усиливается
IV t/e Глагольные фразы Увеличивать-
(Intransitive и непереходные ся
Verb phrase) глаголы Помогать
T (Term phrase) t/IV Существительные фразы и собственные имена Леонид Вологда Он1, он2...
TV IV/T Переходные глаго- Определять
(Transitive лы Заимствовать
Verb)
CN t//e Нарицательные Двигатель
(Common Noun) существительные Семантика
IAV IV/IV Наречия Быстро
(Intransitive adverb) Медленно
t/t (Sentence Модальные опре- Необходимо,
Adverb) делители предложения чтобы Непременно
IAV/T Предлоги В, на
DET T/CN Определители Каждый, любой, всякий
IV// IV Глаголы, образующие инфинитивы Пытаться Учиться
Для перевода категориальных выражений в язык логики используются правила трансформации (ПТ). Монтегю выделяет множество основных выражений категории А, обозначая его через ВА, и множество фраз категории А, обозначая его через РА. Множество РА состоит из основных выражений и тех, которые могут быть получены с помощью синтаксических правил. Синтаксические правила PTQ задают множество РА для каждой категории A.
При рассмотрении естественного языка в качестве формального предполагают, что модели языка отражают те схемы, которые языковое сознание накладывает на мир. В идеальном случае построенная абстракция должна отражать «наивную картину мира» (терминология московской семантической школы).
В то же время в формальной семантике, как и в логике, давно рассматривались meaning postulates (постулаты значения) при описании лексических значений. Сейчас meaning postulates все чаще используются для отражения структурных особенностей лексики. С точки зрения логики meaning postulates - это аксиомы, описывающие соотношения лексических констант для описания словарных значений и наивной картины мира.
Рассмотрим схему перехода от фразы на естественном языке к ее формальному представлению (рис. 2).
1) Морфологическая и синтаксическая обработка фразы (лингвистическая обработка). Результатом этого этапа должны стать два множества значений. Первое множество, Morph, состоит из пар <слово, характеристики^ Второе множество, Syn, состоит из набора синтаксических клауз, которые выделяются данным анализатором. На втором множестве часто определяют отношения подчиненности, так как синтаксическое построение групп имеет древовидную структуру. При этом определяется функция соотнесения слов с их характеристиками и клауз, которые они составляют. К необходимым характеристикам относятся начальная (нормализованная) форма и часть речи. Возможно выделение других характеристик (род, падеж, переходность и др.). Ни построение такого дерева, ни морфологические характеристики не могут быть оторванными от набора категорий, используемых на следующем этапе.
2) Выделение синтаксических категорий и подкатегорий. Рассмотрение альтернатив. На основе результатов первого пункта рассматриваются категории, принятые к логике, в которую переводится целевое сообщение. При наличии альтернатив выбирается наиболее общий вариант. Категории объединяются в более крупные категории на основе синтаксического дерева. Кроме того, в пределах категорий могут выделяться подка-
тегории со своими особенностями формализации, постулатами значения и т.д.
3) Перевод фразы в формулу логики на основе набора категорий и правил трансформации. На основе набора категорий и правил трансформации строится формула логики, являющаяся отображением фразы естественного языка на формальном языке формул.
4) Упрощение полученной формулы. Полученная на предыдущем этапе формула чаще всего будет достаточно громоздкой. Для уменьшения избыточности, а также для удобства дальнейшей обработки и хранения возможно ее упрощение. В логике Монтегю используется лямбда-исчисление. Поэтому упрощение связано с последовательным применением различных видов редукции и сокращением взаимно уничтожающих друг друга операторов получения интенсионала и экстенсионала выражения. Возможны и другие способы.
5) Соотнесение полученной формулы с выбранной моделью. Формула должна быть соотнесена с индексом времени и миров, а также с модальными и эпистемическими контекстами, если таковые используются в данной логике. Осуществляются проверка на выполнимость полученной формулы в этой модели и выявление фактов, противоречащих данному сообщению, если это возможно. Результатом этой операции является получение знания о том, что формула не противоречит модели. В таком случае ее можно интерпретировать или добавить в общее хранилище знаний.
Рис. 2. Последовательность действий для получения формального представления формулы в логике Монтегю
и дальнейшей ее интерпретации
6) Интерпретация полученной формулы в модели. С помощью функции интерпретации формула может получить свое отражение в реальном мире. Например, сообщение на естественном языке может оказаться командой производственной линии. Тогда функция интерпретации должна быть преобразована в набор управляющих сигналов для оборудования.
Как видно из рисунка 1, начальным этапом обработки является преобразование текста на естественном языке на основе языковой составляющей логики. Этот фрагмент преобразования сильно зависит от грамматики и синтаксиса языка изложения текста.
В качестве компонента лингвистической обработки используем лингвистический процессор группы aot (www.aot.ru). Данная система лингвистических процессоров распространяется в исходных кодах на языке С++ под ОС Linux. Существует вариант и для Windows в виде набора com-объектов. В этом случае приоритетнее Linux-реализация, так как лингвистический компонент для совместного использования следует поместить на сервере, а наиболее предпочтительны для серверов UMX-подобные системы. Результатом синтаксического анализа будет являться набор групп и клауз, составляющих предложение (рис. 3).
Суждение о базовых категориях можно выдвигать на основе морфологии слова. Соотношения констант морфологического анализа и категорий логики Монтегю представлены в таблице 2.
Результаты морфологического анализа позволяют представить только атомарные категории логики. Построение составных категорий возможно на основе результатов синтаксического анализа предложения. Соотношения категорий интенсиональной логики и констант выбранного синтаксического анализатора даны в таблице 3.
Результатом приведенной последовательности преобразований является формула, удовлетворяющая синтаксису формул интенсиональной логики. При интерпретации ее в модели получаем истинностное значение предложения на основе
семантики, накладываемой функцией интерпретации.
Таблица 2
Константа
морф ологического Описание Категория
анализатора
С (фам, имя, отч, орг, лок) Существительные имена собственные (части Ф.И.О., названия организаций и местностей) T
С Нарицательное имя существительно е CN
Г Глагол IV или IV/T
Н Наречие IAV
СОЮЗ Союз ПТ
П Прилагательное, используемое в виде определителя (например любой) T/CN
МС-П Местоименное прилагательное (например всякий) T/CN
ПРЕДЛ Предлог IAV/T
Таблица 3
Синтаксическая группа анализатора Описание Категориальное определение
ПРИЛ-СУЩ Одно или несколь -ко прилагательных, согласованных по роду, числу и падежу со стоящим сразу после них существительным T/CN + СN
ГЛАГ_ИНФ Глагольная форма + контактный инфинитив IV//IV + IV
НАРЕЧ-ГЛАГОЛ Наречие + глагол IAV + IV
ПРЯМ_ДОП Глагольная форма + контактное прямое дополнение IV/T + T
Ф.И.О. Правила для построения Ф.И.О. (используются морфоло гич еские пометы о том, что данное слово может быть именем) T
ОТР_ФОРМА Отрицание + глагольная форма ПТ
ОДНОР_ИНФ Однородные инфинитивы ПТ
ОДНОР_ИГ Однородные именные группы ПТ
ПГ Предложная группа IAV/T + T
Рассмотрим пример формализации естественно-языкового предложения «Каждый ученый знает Ломоносова». Дерево программного синтаксического анализа, совмещенное с деревом кате-
Рис. 3. Древовидная структура лингвистических данных
горий, изображено на рисунке 4 (курсивом выделены морфологические константы, а подчеркиванием - константы синтаксиса).
гп пыин Р
ПРИЛ-СУШ. Рт ПРЯМ ДОП, Ри
Всякий ученый знает Ломоносова.
Рис. 4. Пример разбора предложения
Рассмотрим пошаговое преобразование выражения. При этом выражение к^п будем читать как «к переводится в п». Для выражения естественного языка 8 будем считать 8' его переводом на язык интенсиональной логики:
1) Ломоносов ^ I, где I - элемент множества констант предметной области
2) ученый ^ ученый'
3) знает ^ знает'
4) каждый ученый ^АРЬХ[ученыш'(х)^Р{к}], так как согласно правилу перевода, если ^Рач, ^^С, то «каждый (каждая, каждые) ^•»•^^•Р Ух[С (х)^Р(х)]
5) хо знает Ломоносова ^ знаает'(1)(х0)= =Лх0[знает'(1)(х0)], где х0 - индивидная переменная типа <е>
6) согласно субъектно-предикативному правилу, если аеРт, 8еР^, то F4(а, 8)еР( и перево-
дится в а' (А8'), где | Aa | Mw't'g есть функция h с областью определения WxT, такая, что для любой пары <W , t' > из WxT h((W , t' »= | a | M'w,t4 В данном случае, объединяя 4 и 5, получим ÂPVx [уче-ный'(х)—Р{х}](ЛЛх0[знает'(1)(х0)]). Для упрощения программного текстового вывода формулы сделаем следующие замещения À=lambda, V=all, ^=impl. Тогда на выходе программного преобразователя получим lambda P all х(ученый ' (x) impl P{x})(A lambda x0 (знает' (l)(x0))
7) после упрощения получим Ух(ученый'(х)— —знает'(1)(Х))).
Предлагаемый метод обработки естественноязыковых массивов может быть полезен при заполнении хранилищ знаний, которые в дальнейшем могут использоваться, например, при информационном поиске, реализации вопросно-ответных и экспертных систем.
Литература
1. Арутюнова Н.Д. Предложение и его смысл. Логико-семантические проблемы. М.: Наука, 1976. 383 с.
2. Городецкий Б.Ю. Компьютерная лингвистика: моделирование языкового общения // Новое в зарубежной лингвистике: Вып. XXIV. Компьютерная лингвистика. М.: Прогресс, 1989. 432 с.
3. Микиртумов И.Б. Теория смысла и интенсиональная логика. СПб: Изд-во СПбГУ, 2006. 351 с.
4. Montague R. The proper treatment of quantification in ordinary English // Approaches to Natural Language / Hintikka K.J.J., Moravcsik J.M.E. & Suppes P. (eds.). Reidel, 1973, pp. 221-242.
5. Герасимова И.А Формальная грамматика и интенсиональная логика. М.: Ин-т филос. РАН, 2000. 156 с.
УДК 004.912
ПРЕИМУЩЕСТВА ОБЪЕКТНОЙ ОБРАБОТКИ ТЕКСТА В СОЗДАНИИ ЭЛЕКТРОННЫХ УЧЕБНЫХ ПОСОБИЙ
М.С. Тимченко; С.А. Прохоров, д.т.н (Самарский государственный аэрокосмический университет им. академика С.П. Королева,
info@jetdraft com)
Статья посвящена технологии обработки текста, позволяющей упростить и ускорить процесс создания электронных учебных пособий. Рассмотрены основные отличия технологии от наиболее близких по назначению средств автоматизации обработки текста, приведен пример ее использования.
Ключевые слова: обучающие программы, создание электронных учебников, дистанционное обучение, объектная обработка текста.
Человек, читая текст, воспринимает отдельные символы, используя пробелы в качестве логических разделителей, и объединяет их в слова. Точки и переходы на новую строку воспринимает как предложения, предложения объединяет в абзацы, абзацы в главы, а главы в разделы.
Сложность в определении этих блоков машиной обусловлена тем, что при одинаковой логике может быть бесчисленное множество вариантов отображения этих блоков. Решением проблемы явился метод, оперирующий логическими единицами документа - текстовыми объектами, такими