автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Архитектура и технология промышленной реализации прикладных лингвистических систем
Автореферат диссертации по теме "Архитектура и технология промышленной реализации прикладных лингвистических систем"
Г I и
\ о М1Р
российская академия наук институт программных систем
На правах рукописи УДК 519.95:415.5
АШМАНОВ Игорь Станиславович
Архитектура и технология
промышленной реализации прикладных лингвистических систем (проверка правописания и электронные словари)
05.13.11 — математическое и программное обеспечение вычислительных машин, комплексов и сетей
автореферат диссертации на соискание учёной степени кандидата технических наук
Переславль-Залесский, 1995
Работа выполнена в Вычислительном Центре РАН
Научный руководитель Официальные оппоненты
Ведущая организация
Доктор технических наук Д.А.Поспелов
Доктор физико-математических наук
Э.В.Попов
Кандидат технических наук Е.В.Куршев
Всероссийский центр переводов научно-технической литературы и документации РАН
Защита состоится?? 7 Л 1995 г. в часов на заседании Диссертационного совета № Д 200.36.01 в Институте Программных Систем по адресу: 152140, Россия, г. Переславль-Залесский, ИПС РАН
С диссертацией можно ознакомиться в читальном зале библиотеки ИПС РАН
Автореферат разослан^ О \ 0 1995 года.
Учёный секретарь
Диссертационного совета, Юмагужина
кандидат физико-математических наук Валерия Николаевна
Эбщая характеристика работы Актуальность проблемы
I последние годы, одновременно с бурным развитием вычислительной ехники и программных средств, все большее внимание уделяется гашинной обработке текстов на естественном языке. Это связано, во-[ервых, с наблюдающимся во всем мире сдвигом фокуса внимания :омпьютерного сообщества от чисто вычислительных и деловых задач : решению проблем коммуникации, поиска и переработки текстовой информации, а во-вторых, с приближением компьютерных технологий : обычным пользователям, чаще всего имеющим дело именно с •екстами и документами. Всё более значительное число конечных мдивидуальных пользователей использует компьютеры для создания, "бработки, передачи или публикации текстов различных видов.
Сонечный пользователь, работающий с текстами на персональном :омпыотере (писатель, редактор издательства, переводчик, научный отрудник, секретарь, бизнесмен), обычно использует программы шнгвистической поддержки. К программам лингвистической юдцержки относятся электронные словари, программы проверки гравописания, грамматические и стилистические корректоры, •езаурусы, программы расстановки переносов. Указанные виды фограмм существуют для всех европейских языков, развиваются уже шого лет и широко представлены на западном и российском рынках. Эднако, для русского языка в настоящее время в виде законченных фограммных продуктов доступны весьма немногие лингвистические фограммы, большая часть которых появилась всего два-три года газ ад.
Общеизвестно, что модели машинной морфологии, программы фоверки правописания, электронные словари, системы стоматической индексации, поиска и аннотирования текста, системы 1ашинного перевода разрабатываются в нашей стране уже 15-20 лет тогими коллективами академических и отраслевых институтов. Достаточно назвать наиболее известные и сильные научные соллективы под руководством Ю.Д.Апресяна, Н.Н.Леонтьевой, ^.С.Нариньяни, Э.В.Попова, В.С.Файна, З.М.Шаляпиной, и др. Можно сказать, что разработка машинной морфологии, проверки фавописания и тому подобных систем для русского язьпса давно уже шляется общим местом. Следует заметить, однако, что обычно в замках научных разработок идеи, модели и алгоритмы доводятся только до стадии реализации в виде программных прототипов, программные прототипы прекрасно подходят для иллюстрации
научных идей и методов, лежащих в основе разработки, однако, как правило, непригодны для практического использования конечным пользователем. С этой точки зрения различные модели и прототипы практически неотличимы друг от друга. Например, при сравнении моделей и программных прототипов машинной морфологии и проверки правописания, разработанных в разных научных коллективах, практически невозможно установить, какая из моделей "лучше" и в каком смысле. Для целей иллюстрации построенной теории с помощью программного прототипа неважно, внесено ли в машинный словарь 60 тыс., 80 тыс. или даже 100 тыс. основ. А для проверки реальных текстов любого из указанных объёмов словаря совершенно недостаточно.
Опыт автора показывает, что доведение программного прототипа лингвистической системы до стадии промышленного продукта, способного работать у множества конечных пользователей, с реальными текстами и в реальной компьютерной среде, составляет отдельную научную и практическую задачу и требует почти такого же количества труда программистов и лингвистов, как и разработка самих моделей и алгоритмов, лежащих в основе программы. При подобной доводке должны быть решены вопросы полноты словаря и лингвистической модели, проблемы сжатия информации и быстрого доступа к ней, вопросы устойчивой работы и совместимости системы, снижения количества ложных обнаружений, должен быть разработан сложный комплекс инструментальных программ для пополнения, проверки, сборки, сжатия и подготовки словарей и так далее.
В настоящее время существует весьма немного доведённых до состояния законченного продукта программ для обработки текстов на русском языке; системы, выпущенные по руководством автора, занимают среди них достаточно видное место. Цель работы
В настоящей работе рассматриваются вопросы практической разработки программно-лингвистического обеспечения работы конечного пользователя с текстами на русском языке. Для этого решаются следующие задачи:
• разработка машинной морфологии русского языка и применение её для практической разработки прикладных лингвистических систем;
• разработка технологии и принципов промышленной реализации машинной проверки и коррекции правописания для текстов на русском языке;
• выработка методов построения и промышленной реализации грамматического и стилистического корректора текстов на русском языке;
• разработка архитектуры и технологии промышленной реализации двуязычных ашло-русских/русско-английских электронных словарей и электронного тезауруса русского языка.
Данная работа проводилась в соответствии с научным планом работ Сектора систем поддержки принятия решений в составе Отдела информационных систем ВЦ РАН по теме № 781 "Система общения на гстественном языке, основанная на формализации предметных эбластей". Научная новизна
Разработана машинная морфологическая модель русского языка, учитывающая все основные проблемы проверки правописания для реальных текстов. Выработаны принципы пополнения и тестирования морфологического словника.
Разработана формальная структура электронного двуязычного словаря и принципы поиска слов и идиом в нём. Разработан общий технологический подход, позволяющий быстро создавать 'морфологизированные" электронные словари.
Разработана технология промышленной реализации систем проверки 1рав описания.
Разработаны принципы построения и промышленной реализации грамматического и стилистического корректора для текстов на эусском языке. Разработан алгоритм построения структуры 1редложно-именных групп в предложении и проверки её на правильность. Для целей грамматической проверки и машинного теревода разработан формальный язык описания контекстных явлений \ принципы его использования в специальных словарях ошибок для выявления и замены заданных контекстов в реальном тексте.
Выработана классификация грамматических и стилистических зшибок, поддающихся формализации, принципы их формального зписания, поиска и исправления в тексте. . Практическая значимость работы
Разработки руководимого автором коллектива внедрялись и эеализовывались в виде промышленных программных продуктов в пвестной компьютерной фирме "Информатик".
В 1988 - 1990 годах автором была разработана модель машинной морфологии русского языка, а в 1989 - 1991 гг. эта модель была под руководством автора реализована на IBM PC и послужила основой для разработки целого ряда прикладных лингвистических систем при участии и под руководством автора. Под руководством автора были выпущены все последние версии популярной в России программы проверки правописания ОРФО (ОРФО 2.1, ОРФО 2.5, ОРФО 3.0 для DOS, ОРФО 1.0, ОРФО 2.0, ОРФО 2.5 для Windows), комплекс языковой поддержки ОРФО 3.5, а также все версии семейства электронных словарей КОНТЕКСТ, система подстрочного перевода ЛОГОС 1.0, система документального поиска СФИНКС 1.0 и некоторые другие лингвистические программы. Общее количество зарегистрированных пользователей (организаций и частных лиц) ОРФО и КОНТЕКСТ превышает 5000, объём же несанкционированного использования этих программ значительно больше.
В настоящее время главным результатом работы коллектива под руководством автора, состоявшего из 12 программистов и 6 лингвистов, является комплекс лингвистической поддержки ОРФО 3.5 (включающий программу проверки правописания, грамматический и стилистический корректор, электронный тезаурус и программу расстановки переносов), семейство электронных словарей КОНТЕКСТ 2.0 (включающее профессиональный англо-русский/русско-английский словарь общей лексики на 130 000 статей, специальные словари по бизнесу и информатике, словарь русских синонимов и словарь трудностей английского языка), а также система документального поиска СФИНКС 1.0.
Входящий в состав комплекса ОРФО 3.5 электронный тезаурус (на 70 000 лексем) летом 1994 года был лицензирован фирмой Microsoft Corp. и в данное время распространяется в составе русской версии текстового процессора Microsoft Word 6.0 for Windows.
Апробация работы и публикации
Основные результаты диссертации были доложены и обсуждены на ежегодном Конгрессе по машинному переводу (Тбилиси, 1990), на конференции Американской ассоциации учителей славянских и восточно-европейских языков (AATSEEL, Chicago, 1991), на рабочем семинаре по компьютерной лингвистике "Диалог-91" под рук. А.С.Нариньяни), на рабочей конференции компьютерной выставки SofTool (Москва, 1993), на регулярных семинарах Сектора систем поддержки принятия решений ВЦ РАН.
10 теме диссертации автором опубликовано 20 печатных работ. )бъсм работы
Диссертация состоит из введения, 5 глав, списка литературы и 2 филожений. Общий объём работы составляет 139 страниц, в том числе
11 рисунка, список цитированной литературы из 58 наименований и 7 траниц приложений.
Содержание работы
$о Введении обосновывается актуальность проблемы машинной >бработки текстов, подчёркивается важность решения задач фомышленной реализации систем проверки правописания и лектронных словарей. Формулируется задача диссертационной >аботы - выработка эффективной машинной лингвистической -ехнологии.
$ Главе 1 даётся краткий обзор состояния дел в области программно-шнгвистической поддержки работы с текстами на персональном :омпыотере. Даётся классификация существующих систем проверки 1рав описания.
Рассматриваются существующие программы проверки правописания, ¡ыпускаемые как для английского, так и для русского языка, вписываются стандартные наборы функций. Разбирается положение 1а рынке программ проверки правописания для русского языка, называются основные недостатки программ проверки правописания щя русского языка, разработанных за рубежом.
Рассматриваются также популярные электронные словари, ¡ыпускаемые за рубежом, описываются стандартные наборы функций 1редоставляемые электронными словарями и тезаурусами. Отмечается >азличие трактовок понятия "синоним" в русской и зарубежной шнгвистике. Разбирается положение на рынке электронных словарей и тезаурусов для русского языка.
Гакже рассматриваются основные принципы построения :уществующих грамматических и стилистических корректоров для шглийского языка, типы обнаруживаемых ими ошибок. Отмечается зтсутствие подобных корректоров для русского языка, за исключением сорректора, разработанного под руководством автора.
3 Главе 2 "Машинная морфология как основа для машинной обработки текстов" разбирается строение разработанной автором машинной морфологии русского языка, послужившей основой для всех тоследующих разработок автора и его коллег в области прикладной
лингвистики. В приложении к орфографической, грамматической и стилистической проверке, а также для поддержки систем поиска текстовой и словарной информации машинная морфология должна обеспечивать следующие возможности:
1. Морфологический анализ и синтез всех форм произвольного русского слова.
2. Получение всех грамматических характеристик (часть речи, род, число, падеж, вид, лицо, время и пр.) слова по любой заданной словоформе.
3. Корректное представление, анализ и синтез прописных букв в каждой форме имен собственных, названий, сокращений.
4. Анализ, синтез и проверку согласованности частей сложных слов с
дефисом.
5. Поддержка наиболее продуктивных и распространённых типов словообразования.
Изложенные соображения привели автора к выводу о необходимости разработки машинной морфологии русского языка, опирающейся на обширный словарь основ слов, снабжённых морфологическими индексами, а желание следовать принципу максимального разделения данных и алгоритмов - к решению описать словоизменение русских слов в виде независимых от словаря и алгоритмов морфологических таблиц различного типа, позволяющих производить поиск словоформ по словарю основ, а также синтезировать все формы нужного слова по его основе из словаря.
Основой нашей машинной морфологии послужила чрезвычайно проработанная и полная морфологическая система всемирно известного "Грамматического словаря русского языка" А.А.Зализняка. Однако, для целей машинной реализации морфологическая модель А.А.Зализняка подверглась значительной переработке. Каждое слово русского языка мы относим к одной из 12 больших групп, условно называемых частями речи. Каждая часть речи характеризуется своим набором грамматических категорий (род, лицо, число, падеж и т.п.), и своим вектором словоформ - парадигмой слов оизменения.
Принимается, что слова каждой части речи всегда имеют фиксированное число форм (например, существительные имеют двенадцать словоформ - по 6 падежных форм единственного и множественного числа). При этом некоторые формы конкретной
тексемы могут быть вырожденными (как, например, формы ущнственного числа для слова "брюки").
Каждая словоформа разбивается на три части (слева направо): 'короткая основа", "чередование" и "окончание", подобно разбиению га корень, суффикс и окончание; однако, приставка всегда относится «ми к короткой основе. Данное разбиение условно и определяется 7роизволом разработчика. Например, глагол "увидеть" в нормальной {юрме (инфинитиве) имеет короткую основу "уви", чередование "д" и жончание "ешь", а в первом лице единственного числа настоящего $ремени ("увижу") имеет короткую основу "уви", чередование "ж" и жончание "у". Каждый из указанных фрагментов слова может быть 5Ырожденньм, то есть иметь нулевую длину.
Короткая основа по определению принимается неизменной для всех словоформ слова. Короткую основу вкупе с чередованием мы называем 'длинной основой" (именно она и хранится в словаре основ системы -;м. далее). В некоторых редких случаях для слов с супплетивными формами основа слова может полностью меняться, как, например, для ;ловоформ "идти" - "шёл". В наших терминах это означает, что слово шеет вырожденную ("нулевую") короткую основу. В таком случае длинная основа совпадает с чередованием. Описание способа жлонения слов (парадигм) опирается на таблицы окончаний и юредований.
Каждому слову в рамках каждой изменяемой части речи соответствует ¡ектор окончаний (или класс окончаний) фиксированной длины равной количеству словоформ, принятому для данной части речи), 1апример: "0/а/у/ом/0/е/н/ов/ам/и/ами/ах" (класс окончаний для слова 'чайник").
принадлежность к классам окончаний фактически является отношением эквивалентности на множестве лексем, так что каждый сласс окончаний описывает некоторое множество слов, имеющих одинаковые векторы окончаний; так, например, слова "стол", "стул", 'сон", "чемодан" имеют один и тот же класс окончаний ' 0/а/у/ом/0/е/ы/ов/ам/ы/ами/ах".
Зсе классы окончаний для ]-ой части речи в нашей модели сведены в
таблицу окончаний БЪЕХ] , 0 = 1,2.....10), представляющую собой
матрицу размерности ЭД х М], где (по горизонтали) равно числу шовоформ у слов данной части речи, а ¡Ц (по вертикали) - числу типов ;ловоизменения (классов окончаний) для данной части речи. Вектор окончаний каждого конкретного слова представляет собой строку в
соответствующей таблице окончаний, например, вот как выглядит
1 / 0/а/у/0/ом/е/ы/ов/ам/ы/ами/а х/ стол
1/0/а/у/а/ом/е/ы/ов/ам/ов/ами/ах/ кузнец
1 / 0/а/у/а/ом/е/и/ей/ям/ей/ями/ях/ сосед
1/0/а/у/0/ом/е/а/ов/ам/а/ами/ах/ рукав
1/0/а/у/а/ом/е/а/ов/ам/ов/ами/ах/ мастер
1 / 0/а/у/а/ом/е/ы/0/ам// ами/ах/ солдат
1 /0/а/у//ом/е/ы/0/ам/ы/ами/ах/ волос
В таблицах окончаний указываются и классы с дефектацией некоторых форм, например, форм множественного числа для неисчисляемых существительных типа Бцщи1апа 1апиип и форм единственного числа для существительных р!игаПа (апЦии, а также для
/а/и/е/у/ейШ-1-1-1-1-1 гуща
/-/-/-/-/-/-/ы/0/ам/ы/ами/ахУ вилы
/а/и/е/у/ой/е/и/-/ам/-/ами/ахУ треска
/о/а/у/о/ом/е/а/-/ам/а/ами/ах/ иго
Классы чередований. Каждому слову определённой части речи мы сопоставляем вектор чередований (класс чередований), имеющий ту же длину, что и вектор окончаний, и включающий чередующиеся фрагменты всех словоформ данного слова. Например, слово "шофёр" имеет тривиальный вектор чередований "0/0/0/0/0/0/0/0/0/0/0/0", а слово "бобёр" принадлежит к нетривиальному классу чередований "ёр/р/р/р/р/р/р/р/р/р/р/р". Таким образом, каждый класс окончаний может быть в свою очередь разбит на более мелкие классы слов, имеющих одинаковые векторы чередований. Итак, каждой изменяемой части речи номер ] соответствует таблица чередований СЦ, устроенная аналогично таблице окончаний и имеющая такую же размерность по горизонтали. Например, вот как выглядит начало таблицы чередований для существительных:__
0/0/0/0/0/0/0/0/0/0/0/0/0 тривиальное чередование
о */*/*/о */*/*/*/*/*/*/*/*/1 сон м1*а
е*/ь */ь */е*/ь */ь */ь */ь */ь */ь */ь */ь */2 лед м 1 *а
a*/V*/a*/*/*/*/*/*/*/*/*/3 кочан м1*а
е*/*/*/е*/*/*/*/*/*/*/*/*/4 узел м1*Ь
е */й */й */е */й */й*/й */й */й */й */й */й */5 заём м1*Ь
о */*/*/*/*/*/*/*/*/*/*/*/6 свекор мо!*а
1нак "звёздочка" в строке чередований означает "любая согласная"; •аким образом, в таблице чередований некоторые строки [редставляют собой обобщённые векторы чередований.
Строение морфологического словинка. Словник состоит из юрфологических статей. Короткая основа и чередование каждого лова составляют вместе "длинную основу", хранящуюся в статье ловника. Если слово имеет несколько фрагментов чередования в •азличных своих формах, то ему соответствует несколько длинных icHOB, то есть несколько статей словника - столько, сколько различных фрагментов чередования имеет данное слово (в среднем 1 - 2 статьи). I общем случае статья морфологического словника имеет вид
CiCi... CksniNzNs,..., NS, де cic2 ... ck - длинная основа длины к, $ - разделитель поля основы и юля морфологической информации, число Ni - номер класса кончашш; N2 - номер класса чередований (векторов чередований может ibiTb несколько десятков, например, для существительных их гспользуется 70); N3 - номер словоформы - указывает, в какой первой лева форме слова впервые в списке форм встречается данная длинная 1Снова (эта информация используется алгоритмами синтеза для интеза всех словоформ слова по любой его форме), числа N4, N5, N«, Ns - дополнительные грамматические признаки и признаки [аличия прописных букв в слове. Их смысл различается для разных [астей речи. Числа N4 - Ns используются для проверки правильности потребления прописных букв у существительных и прилагательных, а акже при проверке правильности словообразования и ограничений очетаемости глаголов.
Iprniep: слово "сон" имеет короткую основу "с", а его векторы 1Кончаний и чередований имеют вид соответственно
"0/а/у/0/ом/е/ы/ов/ам/ы/ами/ах", "он/н/н/он/н/н/н/н/н/н/н/н".
5 словнике для слова "сон" имеются две статьи с длинными основами сон" и "сн", имеющие вид: сон$0 1 0 1 и сн$0 111. Здесь Ni =0 - номер :ласса окончаний, N2 -=1 - номер чередования, N3 указывает, что 1Снова "сон" встречается впервые в списке форм в им. падеже ед. числа,
а основа "сн" встречается в род. падеже ед. числа; N4 = 1 указывает род (мужской).
В словнике используются только строчные буквы; буква "ё" принудительно превращается в "е"; дефис считается просто буквой.
Общая схема морфологического анализа. Для входного слова перебираются все возможные способы деления его на длинную основу и окончание. Для этого используется список всех возможных окончаний слов всех частей речи (включая пустое окончание 0). Если конец слова совпадает с одним из окончаний, имеющемся в списка, то оставшаяся часть принимается за предполагаемую длинную основу. В частности, всякое слово всегда ищется в словнике целиком, так как может иметь пустое окончание 0. Каждая из предполагаемых длинных основ ищется в словнике (словарные статьи в словнике упорядочены алфавитно по основам). Если подходящая словарная статья найдена, проверяется, можно ли с помощью ее получить (синтезировать) правильную словоформу в соответствии с имеющимися при основе ссылками на морфологические таблицы чередований и окончаний, так, чтобы полученная словоформа совпадала с входным словом. Если да, слово считается правильным. Описанная схема значительно усложняется дополнительными шагами, позволяющими определить, не является ли данное слово косвенной формой глагольного причастия, сокращением с точкой, результатом словообразования с помощью приставок и частиц наподобие "по-", "пол-", "-ка", "-нибудь", и др., не является ли данное слово составным дефисным словом с независимо изменяющимися частями и так далее.
Общая схема морфологического синтеза. Морфологический синтез используется как для предъявления пользователю вариантов исправления ошибки в программе проверки правописания, так и для вывода переводов в электронном словаре или синонимов в тезаурусе. Описанная выше структура словарной статьи и таблиц делает задачу синтеза элементарной. Пусть задана словарная статья С1Сг...Ск$№ N2 N3 ... N8 и требуется синтезировать словоформу Тогда выполняются следующие шаги: по числу N2 определяется класс чередований; по числу N3 определяется номер словоформы, в которой впервые встречается чередующийся фрагмент аю, входящий в данную основу С1С2...Ск; по классу чередования определяется, каков именно этот фрагмент (например, а,\з = с^+ь.-Ск); он отщепляется от основы С1С2...Ск, в результате чего мы получаем короткую основу С1С2...С1-1 данного слова; из векторов окончаний и чередований выбирается окончание е} и чередование ал. Они приписываются к короткой основе, так что мы получаем искомую словоформу С1С2...С1-1 ал с^. При наличии в статье
информации о прописных буквах или точки после сокращения над полученной словоформой производятся соответствующие трансформации.
В Главе 3 "Машинная проверка правописания для русского языка" описывается решение проблем промышленной реализации системы проверки правописания. Проблема проверки реальных текстов в реальной обстановке ставит следующие задачи перед разработчиками системы.
1. Обеспечить следующие виды проверки текста:
• Обнаружение и исправление ошибочных слов (фактически, слов, которых нет в словаре).
» Поиск и исправление имен и названий, содержащих ошибки в написании прописных и строчных букв ( как в словах, которые пишутся с прописной буквы или всеми прописными ("Киев", "США"), так и в сложных словах с прописными буквами в середине ("КамАЗ", "Монте-Карло").
» Проверка слов с дефисом и двумя изменяющимися частями ("человек-невидимка") на согласованность их частей друг с другом по числу, роду, падежу и части речи.
» Обнаружение и исправление слов с дефисом, которые следует писать только слитно.
» Поиск слов, содержащих ошибки в употреблении приставок "пол-", "по-", частиц "-таки", "-либо", "-то" и тому подобных.
> Поиск и исправление сокращений, за которыми пропущена точка (наподобие "кв.", "просп.").
• Обнаружение и исправление слов, содержащих одновременно русские и латинские буквы (за исключением слов, в которых латинские буквы отделены от русских дефисом: "n-мерный", "РС-совместимый").
> Обнаружение и исправление слов, содержащих цифры, случайно набранные вместо знаков препинания, например, "очевидноб что" (за исключением слов, содержащих цифры через дефис, наподобие "Шереметъево-2').
» Обнаружение двух (или более) одинаковых слов, идущих в тексте подряд и удаление второго слова.
2. Обеспечить правильную работу системы с реальным текстом, то есть корректную проверку слов, содержащих перенос, прописные буквы, латинскую часть через дефис, пропуск при проверке слов на другом языке, чисел, специальных символов и различных видов оформления текста (таблиц, пунктов, пр.) и так далее.
3. Обеспечить достаточную полноту словаря и словообразовательных алгоритмов, позволяющую снизить уровень шума (ложных обнаружений) до десятых или даже сотых долей процента от объёма проверяемого текста.
4. Разработать принципы и инструментальные средства тестирования и пополнения словаря.
5. Создать удобные и простые средства быстрого пополнения словаря, не требующие от пользователя ввода всех словоформ нового слова.
6. Обеспечить быстрый поиск корректных вариантов замены для ошибочных слов и экономную выдачу таких вариантов (низкий уровень шума). Особая подзадача - вставка пробела в варианты замены (исправление "склеившихся слов").
7. Обеспечить небольшой дисковый объём словарей и быстрый доступ к ним.
8. Решить проблемы совместимости системы с различными текстовыми процессорами для охвата возможно большего круга пользователей.
9. Разработать пользовательскую версию системы и все инструментальные программы для её автоматической подготовки.
В Главе 3 рассматриваются принципы и методы решения указанных задач. Разработанная технология создания промышленной версии системы, машинная морфология и принципы морфологического анализа и синтеза были применены автором при разработке в руководимом им коллективе известной в нашей стране программы проверки правописания ОРФО (ОРФО 3.5 для Windows и ОРФО 3.0 для DOS), являющейся бесспорным лидером в области проверки правописания для русского языка.
В Главе 4 "Электронные словари" рассматривается строение и промышленная реализация англо-русских симметричных словарей и электронного тезауруса русского языка.
Электронные словари (двуязычные словари и тезаурусы) нужны для быстрого доступа к словарной информации в процессе чтения или перевода текста на иностранном языке. Для наилучшего решения своей
¡адачи двуязычный электронный словарь должен обладать следующим .шнимальным набором возможностей:
> работа со всеми популярными текстовыми процессорами;
> вставка перевода в нужное место текста;
> перевод отдельных слов в любой их форме (выполнение функции лемматизации при переводе);
> симметричность словаря - перевод "в обе стороны";
> перевод устойчивых словосочетаний (идиом, фразеологизмов) в любой форме;
■ выдача транскрипции, толкований, примеров, грамматических помет, информации о сочетаемости и так далее;
' достаточно большой объём словаря общеупотребительной лексики -не менее 50 тысяч статей;
| специальные словари по бизнесу, компьютерам и проч.;
> возможность пополнения словаря пользователем.
5 главе описываются разработанная под руководством автора для (анной задачи машинная морфология английского языка, формат федметных областей, обширный комплекс инструментальных фограмм, технология обработки и тестирования машинных словарей, !етоды промышленной реализации.
5 ходе разработки электронных словарей автором были получены ледующие результаты:
Разработан формат предметной области, включающий юрфологическую и словарную информацию. Разработаны принципы доступа и вывода словарной информации.
.. Под руководством автора разработана машинная морфология нглийского языка и набран словник, включающий 60 тыс. основ нглийских слов.
. Выработаны принципы обработки, тестирования и подготовки деуязычных словарей, спроектирован и под руководством автора еализован обширный комплекс инструментальных программ для борки, проверки, упаковки словарей. Технология реализации лектронного тезауруса в общем подобна технологии разработки руязычных словарей.
. Под руководством автора выпущено семейство электронных ловарей КОНТЕКСТ, представляющее собой, без сомнения, наиболее
мощную программу этого типа на отечественном программном рынке и электронный тезаурус для русского языка, лицензированный фирмой Microsoft и включённый в русскую версию текстового процессора Microsoft Word 6.0 for Windows.
В Главе 5 "Грамматическая и стилистическая проверка для русского языка" рассматриваются принципы грамматической проверки текстов на русском языке.
В редакционно-издательской деятельности для окончательной шлифовки текста недостаточно использовать программы проверки правописания, так как эти программы проверяют только отдельные слова и поэтому не могут найти оформительские, синтаксические, стилистические, пунктуационные и другие ошибки, связанные с взаимодействием слов между собой и "поведением" их в тексте. Поиск и исправление таких типов ошибок и составляет задачу грамматической и стилистической проверки.
Применение грамматического разбора предложения (parsing) не может помочь при поиске грамматических и стилистических ошибок, так как подобный разбор реальных текстов очень сложен и может выполняться только в предположении, что разбираемое предложение грамматически правильно. Кроме того, обычно отказ алгоритма разбора с большей вероятностью указывает на несовершенство алгоритма, чем на наличие ошибки, и не позволяет точно установить причину предполагаемой ошибки. Автор предлагает другой подход к поиску грамматических и стилистических ошибок, заключающийся в достаточно детальном описании типов возможных ошибок и поиска именно их в предложении.
Наиболее крупной категорией грамматических и стилистических ошибок являются различные ошибки в окончаниях слов. Ошибки этого типа часты не только у иностранцев, но и у образованных русскоязычных пользователей. Ошибки в окончаниях слов можно приблизительно разбить на две больших группы ошибок:
а) ошибки согласования имён (существительных, прилагательных и т.п.), входящих в именные и предложно-именные группы (например, "недостача строительных и отделочных материалах на складе");
б) ошибки в глагольном управлении, то есть в окончаниях имён, управляемых глаголами (например, "обвинять чем-либо" вместо "обвинять в чём-либо").
•шибки Tima б) требуют для своего обнаружения либо наличия бширного, достаточного полного и тщательно разработанного товаря глагольного управления, позволяющего проверять каждый тагол с зависимым именем "на правильность" модели управления саковой словарь до настоящего времени для русского языка не эздан), либо описания наиболее часто встречающихся ошибок этого una в специальных словарях ошибок. Автор и его коллеги пошли по горому пути; построенный автором язык описания ошибок подробно ассматривается в 4 Главе.
Iшибки типа а) являются довольно частыми в текстах на машинных осителях и особенно распространены в деловой и научной прозе. Они, апротив, могут быть обнаружены в тексте алгоритмическим путём, с омощыо проверки согласования.
1птбкп согласования. Для проверки окончаний имён существительных прилагательных, входящих в пр едложно -именные группы, еобходимо построение полной структуры предложно-именных групп предложении, позволяющее определить, в какую конкретную редложно-именную группу входит то или иное имя. Для того, чтобы ыделить предложно-именные группы в предложении, мы принимаем тедующие постулаты (неверные в общем случае, но верные со [•атлетической точки зрения и удобные для разработки алгоритма роверки).
. Все члены предложно-именной группы лежат правее предлога.
, Все члены предложно-именной группы согласованы между собой по эду, числу, падежу и одушевленности. Это означает, что в графе связей эгласования между членами предложения предложно-именная группа редставляет собой клику - полный связный подграф.
. Предложно-именные группы подчиняются правилу скобок. Это значает, что группы могут соседствовать ("на столе у окна") и кладываться друг в друга ("в синем в красную клетку плаще'), но не ересекатъся.
. Каждый предлог и каждое прилагательное в предложении должны меть согласованное с ними существительное. Здесь для единообразия ы используем фиктивное понятие "согласованность с предлогом", на iMOM деле означающее предложное управление именами . Каждое существительное или прилагательное в предложном падеже олжно иметь согласованный с ним предлог.
,ля проверки согласованности отдельных членов предложно-именной эуппы между собой используется механизм морфологических
векторов. Каждому прилагательному, существительному и предлогу в предложении сопоставляется 72-битный вектор морфологических характеристик, представляющий все возможные комбинации значений рода, числа, падежа и одушевлённости. Значение 0 для конкретного бита в векторе означает отсутствие данной комбинации перечисленных грамматических характеристик у данной словоформы, 1 - наличие такой возможности при согласовании. Для выяснения вопроса о согласованности двух словоформ, имеющихся в предложении, достаточно перемножить их морфологические векторы (взять их скалярное произведение); если произведение не равно 0, то существует комбинация грамматических характеристик, общая для данных словоформ, то есть существует логическая возможность их согласованности. Для проверки согласованности всех членов предполагаемой предложно-именной группы нужно, очевидно, перемножить соответствующие морфологические векторы. Если это произведение не равно нулю, существует "согласованная" трактовка всех омонимов, входящих в предложно-именную группу.
Введённых выше постулатов достаточно для построения эффективного алгоритма частичного разбора предложения, строящего варианты разбиения предлогов, прилагательных и существительных по предложно-именным группам. Если при переборе вариантов обнаружен непротиворечивый вариант структуры предложно-именных групп, предложение пропускается; если же ни один вариант не подходит, предложение считается ошибочным и предъявляется пользователю с соответствующим диагнозом (зависящим от того, какой именно из постулатов I - 5 нарушен и каким именно образом).
Уровень ложных тревог при проверке согласования довольно высок из-за принципиальной сложности задачи. Описанный выше алгоритм усиливается индивидуальным разбором различных исключений, среди которых, например, конструкции с изолированным прилагательным типа "любой из них", "первый из нас", "он в красных штанах, а я в белых" и так далее. Подобные уточнения алгоритма позволяют свести уровень ложных тревог (в случаях эллипсиса, особых конструкций) до 10-30%.
Ошибки сочетаемости н словари ошибок. Значительную часть грамматических и стилистических ошибок в текстах на русском языке составляют нарушения сочетаемости слов - неверное глагольное управление ("понукать мной"), искажённые фразеологизмы и устойчивые словосочетания.(¿'заплатить той же монетой", "в течение пяти дней", "не чужд логике") и тому подобные. Практически в каждом таком случае ошибка распространяется только на некоторый отрезок
федложения (далее контекст). Достаточно очевидно, что большая lacrb ошибок в знаках препинания также связана с пропуском или юверной постановкой запятой в конкретных контекстах (до или после :онкретных слов, выражений или комбинаций слов определённых [астей речи). Таким образом, многие типы грамматических ошибок югут быть просто описаны и перечислены тем или иным способом в пециальном словаре контекстов и не требуют для своего обнаружения | тексте какого-либо машинного "понимания" текста или полного интаксического разбора предложения.
Автором был разработан язык описания ошибок, позволяющий оставлять словари ошибок. Словари контекстных ошибок - это екстовые файлы; они состоят из статей; каждая статья описывает >дну обобщённую или конкретную ошибку и один или несколько ариантов её исправления.
"татья описания ошибки представляет собой набор строк. Она 1ткрывается строкой со знаком решетки "#" в начале, за которым тоит порядковый номер статьи (или ничего). В статью входят:
входной (ошибочный) раздел, состоящий из одной подсгатьи, обозначается латинской буквой Е (от "Erroneous") в начале строки,
выходной (исправляющий) раздел, может состоять из нескольких подстатей, обозначаемых буквой R (от "Right"),
один или несколько разделов толкования, обозначаемых латинской буквой Т (могут отсутствовать),
раздел примеров, обозначаемый знаком "$" (может отсутствовать),
комментарии лексикографа (разработчика словаря) к данной статье, обозначаемые знаками "//" в начале строки (могут отсутствовать).
1о входной статье лингвист может использовать для описания ошибки ак конкретные лексемы и словоформы, так и разнообразные зобразительные средства, а именно:
Списки вариантов, изображаемые фигурными скобками и косой чертой, например,
Е одеть {палъто/куртку/рубашку/штан'ы/ботинки/сапоги}!
Кванторы частей речи и более узких категорий, например, *NOUN -существительное, *ADJ -прилагательное, *PART - причастие и т.п.;
Квантор-файлы. Кроме кванторов, обобщающих грамматические категории, могут использоваться кванторы, задающие имена узких множеств слов, которые слишком велики для задания списком.
Реферируемые квантором слова помещаются в файл, имя которого совпадает с именем квантора и при компиляции словаря помещаются в общий словник. Так можно описать, например, множество всех прилагательных, с которыми нельзя употреблять наречия степени.
• Групповые кванторы, наподобие *8ЦВ8Т - член предложения в функции существительного - (подлежащего или обстоятельства) с согласованными определителями, *АТМ (согласованное определение), *1Ч'ОиР1Ш (предложно-именная группа), *МАГЧУ (любое количество слов) и т.п.
• Возможные вставки, обозначаемые квадратными скобками, наподобие
Е оплатить /"*ЛД// деньги!
• Знаки слитного и дефисного написания "=", позволяющие описывать различные случаи как ошибочного, так и правильного написания составных слов, например:
Е не~{беднее/ближе/богаче/болыие)! &
Я не {беднее/ближе/богаче/больше}! &
• Описатели разделителей, оформления, структуры предложения: наличия знаков препинания, наподобие <•>,<">, <:>, отсутствия знака <#>, начала и конца предложения *вВЕС и *8Е№), и т.д.
• Грамматические ограничители. Для фиксации словоформы конкретной лексемы или ограничения свободы изменения элемента статьи применяются знак фиксации формы "!" и грамматические ограничители наподобие +1ЧОМ - именительный падеж, +GEN -родительный падеж, +ОЕК2 - второй родительный падеж (партитивный и локативный),+БЕМ - женский род, +N£1X1 -средний род; +БШС - единственное число, +РИШ - множественное число; +АМ - одушевленное, +ШАМ - неодушевленное; +РЕИ81 -1 -е лицо, +РЕИ82 - 2-е лицо, и так далее.
• Грамматические квалификаторы. Для уточнения части речи слова, приводимого в ошибочной или исправляющей подстатье, используются квалификаторы части речи. Квалификаторы используются для разрешения омонимии при отождествлении слова по морфологическому словнику в процессе компиляции словаря; используются, например, +АВВК - сокращение, +АБЛ прилагательное, +А11Х • - служебное слово, +АБУ - наречие, +СОШШС - союз, +СЕ1ШМ) - деепричастие, +ПЧТЕЬМ -
междометие, +1ЧОШ«? - существительное, +1ЧЦМ1 - числительное количественное, +1ЧЦМ2 - числительное порядковое, и так далее.
> Уточняющие словоформы. Для разрешения омонимии, в случаях, когда омонимы относятся к одной части речи, используются уточняющие словоформы, ставящиеся после уточняемого члена статьи, и выделяемые справа и слева "знаком доллара" "$", например:
Е (взвешенная политика $политикой$)& Е (разумная политика $политикой$)& 1од руководством автора были разработаны компилятор и штерпретатор языка описания ошибок, позволяющие компилировать лопари ошибок и затем применять их при проверке текстов.
1ри подготовке набора словарей к использовашпо в промышленной !ерсии грамматического корректора каждый словарь компилируется; 1ри этом компилятор производит разбор описания ошибки, каждое лово в статье заменяется на ссылку на соответствующую ему юрфологическуго статью из морфологического словника, ключевые лова выносятся в отдельный словник ключевых слов и производится шого других технических действий - различные сортировки, сжатие упаковка) и так далее.
1ри поиске ошибок в предложении ищется реализация каждой статьи, слючевое слово которой найдено в данном предложении. При 1роверке, реализовалась ли в предложении ошибка, описанная в >чередной статье, со словами предложения сравниваются слова, (ходящие в статью (на основе морфологического анализа), поочерёдно юдставляются элементы списков, проверяется реализованность ¡озможных вставок, специальные лингвистические функции проверяют ;оответствие употреблённых в статье кванторов словам предложения и :ак далее.
} Приложениях А и Б приводятся примеры статей словарей ошибок I тестовые тексты для тестирования программ проверки правописания.
Список публикаций по теме диссертации: . Ашманов И.С. КАЛЛИГРАФ 1.0. Программа расстановки переносов в русских словах. // ИнформСвязьИздат. - Москва, 1993. С. 11
1. Ашманов И.С. Грамматический и стилистический корректор для текстов на русском языке. // Мир ПК, №1. Москва, 1995. - С. 51-61
3. Ашманов И.С. ОРФО 1.0 для Windows. ИнформСвязьИздат, -Москва, 1993.-С. 34
4. Ашманов И.С. ОРФО 2.0 - система автоматизированной проверки правописания. //ИнформСвязьИздат. Москва, 1991. - С. 61.
5. Ашманов И.С. ОРФО 2.5 для Windows // ИнформСвязьИздат. -Москва, 1994. - С. 48
6. Ашманов И.С. ОРФО 3.0 - система автоматизированной проверки правописания в текстах на русском языке // ИнформСвязьИздат, Москва, 1992. - С. 93.
7. Ашманов И.С. Электронный словарь КОНТЕКСТ 1.0 // ИнформСвязьИздат. - Москва, 1992. С. 30.
8. Ашманов И.С. Электронный словарь КОНТЕКСТ 1.5 // ИнформСвязьИздат. - Москва, 1992. - С.30.
9. Ашманов И.С. Электронный словарь КОНТЕКСТ 2.0 для Windows // ИнформСвязьИздат, Москва, 1993. - С. 45.
10. Ашманов И.С., Григорьев О.Г. Отчёт за 1990 г. по теме ГКНТ №781 // Сектор СППР ВЦ АН СССР. - Москва, 1990. - С. 4.
11. Ашманов И.С., Григорьев О.Г. Отчёт по теме ГКНТ №781 за 1989 год. // Сектор СППР ВЦ АН СССР. - Москва, 1989. С.4.
12. Ашманов И.С., Ашманов С.А. Отчёт за 1 квартал 1993 г. по теме №781 // Сектор СППР ВЦ РАН. - Москва, 1993. С. 4.
13. Ашманов Й.С., Ашманов С.А. Отчёт за 1992 г. по теме ГКНТ №781 // Сектор СППР ВЦ РАН. Москва, 1992. - С . 5.
14. Ашманов И.С., Руссова Н.В. CONTEXT 1.5 Electronic Dictionary, User's Manual // ИнформСвязьИздат. - Москва 1992. - С. 47.
15. Ашманов И.С., Руссова Н.В. ОРФО 1.0 - система автоматизированной проверки правописания // ИнформСвязьИздат. - Москва, 1990. - С. 41.
16. Ашманов И.С., Руссова Н.В. Как выбрать систему проверки правописания // КомпьютерПресс. Москва, 1992, №1. С.53-57
17. Ашманов И.С., Руссова Н.В. ORFO 3.0 - Spelling and Grammar Checker for Russian, User's Manual// ИнформСвязьИздат. - Москва, 1992. С. 85.
18. Ашманов И.С., Руссова Н.В., Рейзин H.JI. Система автоматического поиска ошибок в русском тексте // Труды международного семинара по машинному переводу, ВЦП. - Москва, 1990 - С. 27-29.
19. Ашманов И.С., Н.О.Артёмова. ОРФО 3.5 для Windows // ИнформСвязьИздат. - Москва, 1994. - С. 65.
20. Ашманов. И.С. Что такое лингвистическая поддержка работы с текстами на русском языке. // Компьютерра, №26. Москва, 1994. -С. 5 -6.
-
Похожие работы
- Этапы развития отечественного архитектуроведения, 1920 - 1990 гг.
- Архитектура Казахстана XX века
- Модели и метод поддержки построения архитектуры программно-аппаратного обеспечения распределенной информационной системы предприятия
- Российский город как феномен архитектурной коммуникации
- Методы и средства программирования софт-архитектур для реконфигурируемых вычислительных систем
-
- Системный анализ, управление и обработка информации (по отраслям)
- Теория систем, теория автоматического регулирования и управления, системный анализ
- Элементы и устройства вычислительной техники и систем управления
- Автоматизация и управление технологическими процессами и производствами (по отраслям)
- Автоматизация технологических процессов и производств (в том числе по отраслям)
- Управление в биологических и медицинских системах (включая применения вычислительной техники)
- Управление в социальных и экономических системах
- Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
- Системы автоматизации проектирования (по отраслям)
- Телекоммуникационные системы и компьютерные сети
- Системы обработки информации и управления
- Вычислительные машины и системы
- Применение вычислительной техники, математического моделирования и математических методов в научных исследованиях (по отраслям наук)
- Теоретические основы информатики
- Математическое моделирование, численные методы и комплексы программ
- Методы и системы защиты информации, информационная безопасность