Главная arrow Логика arrow Компьютер в лингвистике
Как начинался компьютер
Компьютерная революция
Двоичный код
Разработки военных лет
Интегральные микросхемы
Микрокомпьютер
Персоны
Сеть
Язык компьютера
Развитие ПО
Гибкие системы
Средства разработки
Информатика
Вычислительная наука
Операционные системы
Искусственный интеллект
Предыстория
Поиск
Знания и рассуждения
Логика
Робототехника
 

 
Компьютер в лингвистике Печать

Средства компьютерного представления лингвистической информации

Данный обзор посвящен описанию общих понятий, лежащих в основе современных средств компьютерного представления лингвистической информации. Данный текст может служить кратким справочником, представляющим формализмы, ориентированные на обработку естественного языка (ЕЯ), и лингвистические теории с элементами подобных формализмов. В частности, среди формализмов в нем представлены ATN-ориентированные системы, категориальные грамматики, PATR, TFS, TAG, среди лингвистических теорий — генеративные грамматики, LFG, HPSG, SFG, FUG, а также подходы семантически-ориентированного анализа.

Введение

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

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

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

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

Напротив, российская лингвистическая традиция ориентирована во многом не на средства представления лингвистических феноменов, а на непосредственное описание самих феноменов. В роли метаязыка, на котором ведется это описание, выступает при этом сам естественный язык, иными словами, средство описания феноменов не изобретается, это средство выразительно более богато, но при этом оно не является формальным языком. В то же время реализованные системы, относящиеся к компьютерной лингвистике в российской традиции, чаще всего описывают языковые конструкции ad hoc и не имеют отношения к теоретическому исследованию. Это отличие можно резюмировать следующей формулой: западная традиция подчеркивает естественнонаучную сторону лингвистического исследования, российская - гуманитарную (хотя данное различие не абсолютно и существует лишь в виде тенденции).

Помимо традиционных библиографических источников (в первую очередь журнала Computational Linguistics за последние пять лет), значительная часть информации была получена в электронном виде из сети Internet, в частности, были использованы Natural Language Processing FAQ (frequently asked questions) из группы новостей USENET comp.ai.nat-lang, гипертекстовый сервер AI Repository университета Карнеги-Меллона [CMU 95], каталог работ в области ЕЯ, поддерживаемый немецким исследовательским центром по искусственному интеллекту DFKI [SR 94], библиографический сервер Стэндфордского университета (через почтовый сервер Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script ) и электронный архив по компьютерной лингвистике:

К сожалению, при подготовке обзора не был доступен обзор работ в области обработки ЕЯ в 80-е годы [Gazdar et al, 87], который, как утверждают авторы, "является практически исчерпывающим" и включает в себя более 1700 ссылок на все релевантные статьи, появлявшиеся на конференциях AAAI, ACL, AISB, COLING, ECAI, European ACL, IJCAI, TINLAP и TANLU, а также статьи в журналах "Artificial Intelligence", "Computational Intelligence" и "Computational Linguistics."

Моделирование ЕЯ-структур в компьютерной лингвистике

  • Специфические черты компьютерных представлений естественного языка
  • Основа теоретических представлений

Специфические черты компьютерных представлений естественного языка

Впервые попытка использования компьютеров для обработки ЕЯ (а именно для задачи машинного перевода) была предпринята еще в 1949 году [Weaver 49] (как отмечено в [Sabah 93] и [Winograd 83]). Видимо, этот меморандум можно рассматривать как начало компьютерной лингвистики.

В контексте компьютерных систем обработки ЕЯ естественный язык рассматривается как средство коммуникации, теоретическая и практическая значимость которого определяется тем, что он является наиболее эффективным и широко используемым способом взаимодействия внутри человеческого сообщества. Теория языка как структуры, соответствующая классификация и методы обработки формальных языков начались разрабатываться в математике (а позднее и в информатике), еще с 30-х годов. Однако прямое применение существующего аппарата описания формальных языков к естественному языку невозможно из-за того, что это объект принципиально другой природы.

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

С другой стороны, для того чтобы допускать возможность реальной компьютерной реализации, лингвистическая теория должна обладать высокой степенью формализации и полноты. Поэтому общей чертой для всех теорий, используемых в компьютерной лингвистике, является их генеративность в том смысле, что исследование ЕЯ ведется через построение полностью явных (explicit) описаний и определение общей структуры (framework) пространства этого описания [Gazdar et al, 85]. Кроме того, реализация лингвистической теории через инструментальную систему для описания ЕЯ-структур зависит также от методов программирования, использованных для ее написания. Таким образом, развитие компьютерной лингвистики стимулируется, с одной стороны, развитием теоретических средств описания ЕЯ, а с другой — прогрессом технологий программирования, в первую очередь, в области искусственного интеллекта (ИИ).

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

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

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

В этой связи кажется, что описание должно быть трехчастным: лингвистические теории, средства ИИ и описание конкретных систем, использующих изложенные концепции. Однако одной из тенденций последних десяти-пятнадцати лет является то, что теория в области компьютерной лингвистики и ИИ и практическая реализация этой теории в значительной степени переплетены, поэтому четкого разделения по этим признакам провести не удается. В частности, в [Shieber 88] обсуждаются проблемы, связанные с разделением труда между лингвистической теоией и формальными средствами ее реализации.

Более удачной кажется изображенная на рисунке 1 структура уровней абстракции описания в компьютерной лингвистике (схема основана на идеях из [Netter 96]). При движении от верхних к нижним уровням этой схемы происходит переход от описания конкретных лингвистических проблем к механизмам, на которых основывается такое описание. Так конкретный язык описывается на основе системы правил используемой для этого грамматической теории, набор категорий и методология которой задаются ее грамматической моделью, которая строится на основе грамматического формализма (т.е. математического аппарата, использующегося для описания феноменов ЕЯ). В свою очередь последнему ставится в соответствие декларативная и процедурная семантика вычислительного формализма, т.е. языка программирования, на котором реализуется грамматический формализм. Поскольку семантика языка программирования не полностью определяет способ его реализации, эта шкала завершается уровнем компьютерной реализации вычислительного формализма.

Уровень

Комментарий

Реализация грамматики

Конкретные правила и словарь для конкретного языка

Грамматическая теория

Смысл <-> Текст, Government and Binding или HPSG

Грамматическая модель

В Смысл <-> Текст: уровни СемП, ГСинтП, ПСинтП ..., наличие правил преобразования структур и фильтров

Грамматический формализм

D -грамматики, атрибутно-значная логика или ATN

Вычислительный формализм

Реализация DCG на Прологе, ЯЗЛИ в системе Этап-2, TULIPS

Компьютерная реализация

Реализация виртуальной машины, унификации, рекурсии и т.п.


Рис. 1.

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

Для классификации инструментальных систем с точки зрения их реализации можно определить следующие признаки.

1. Цель моделирования, т.е. то, для чего система предназначена. Классическое разделение по этому признаку проводится на системы, предназначенные для анализа или синтеза текста. Строгость в этой области нарушают исследования по двунаправленным (reversible) грамматикам, описывающим грамматические ресурсы, пригодные одновременно и для анализа текста, и для его синтеза. Еще одна популярная цель — машинный перевод (МП). Подробный обзор по этому вопросу см. [ИИ 90], главы 10-13. МП представляет собой не просто сочетание анализа и синтеза на разных языках, эта область обладает определенной спецификой постановки задач и сложившихся методов их решения. В данном обзоре тема МП мало затронута, поскольку системы для разработки средств машинного перевода практически отсутствуют. Пограничным звеном между системами МП и синтеза являются инструменты многоязыковой генерации, поскольку в них необходимо присутствует описание кросс-языковых соответствий, исследуются вопросы интерлингвистического представления и ведутся многоязыковые словари.

2. Уровень представления. Классическое деление здесь: морфология, синтаксис, семантика, прагматика. Чисто морфологических инструментальных систем не так уж много, поскольку задача морфологического анализа и синтеза чаще всего является лишь частью более сложной задачи. Многие синтаксические системы основываются на соответствующих синтаксических теориях. Если система содержит семантический компонент, то часто он основан на каком-либо логическом исчислении (например, исчислении предикатов первого порядка, сортных логиках и т.п.). Наличие прагматического компонента чаще всего ведет к использованию механизма представления знаний. При этом системы анализа, имеющие развитый прагматический компонент, в противовес этому часто не содержат развитого механизма синтаксического анализа, поскольку знание прагматики предметной области существенно облегчает извлечение знания из текста. Понятие уровня представления не обязательно подразумевает последовательное разворачивание лингвистической структуры через эти уровни, такое разделение может использоваться лишь как средство модуляризации лингвистического знания.

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

4. Пользователь системы. Большая часть инструментальных систем ориентирована на лингвистов, что определяет простой, но относительно бедный в выразительном отношении язык. Необходимая гибкость представления часто достигается сочетанием простого языка спецификаций и сложного механизма, использующего эти спецификации. Он создается, как правило, в виде специализированной надстройки на основе существующего высокоуровневого языка программирования (классические примеры — LISP и ПРОЛОГ). Часто этот же базовый язык используется и для описания знаний о предметной области (если экстралингвистические представления используются соответствующей системой).

5. Язык программирования, применяемый для реализации системы. Этот критерий не является таким уж техническим, как кажется на первый взгляд. Часто он определяет набор конструкций и стилистику языка инструментальной системы, а в случае языка-надстройки (см. предыдущий пункт) от языка реализации зависят и функциональные возможности системы.

6. Способ реализации. В данном случае имеются в виду два различных способа реализации языка инструментальной системы: создается новый язык или библиотека, которая реализует некоторые функции в существующем языке программирования. Последнее характерно для систем, основанных на ЛИСПе.

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