3.3.2. База знаний системы

   Контроль текста, осуществляемый системой ЛИНАР, основывается на использовании знаний о том, что такое правильный, хороший текст. Совокупность этих знаний называется контролирующими знаниями, или К-знаниями. При формировании К-знаний учитывались результаты лингвистических, психологических работ, исследований по эргономике; принят во внимание опыт редакторов, корректоров, нормоконтролеров.
   К-знания должны обеспечить возможность оценки текста с различных сторон:
   – соответствие общеязыковым нормам;
   – соответствие "внешним" нормам, например, требованиям ГОСТов, регламентирующих форму изложения материала в научно-технических документах;
   – сложность восприятия текста потенциальным читателем;
   – семантическая корректность текста (соответствие выявляемых в тексте семантических отношений и понятийной модели предметной области).
   Часть К-знаний (процедурная составляющая) представлена программами одноаспектного контроля. Каждая программа фиксирует строго определенное свойство текста или строго определенный дефект текста (конфликтную ситуацию). Затем формируется соответствующее диагностическое сообщение, которое, в зависимости от выбранного режима работы, либо сразу предъявляется пользователю, либо включается в протокол замечаний.
   Важным компонентом информационного обеспечения системы ЛИНАР является и лингвистическая база знаний, содержащая базовые общие знания о русском языке. Кроме того, ЛИНАР использует тематический словарь и тезаурус предметной области, к которой относятся обрабатываемые тексты, и описания нормативных требований, предъявляемых к текстам. Соответствующие информационные массивы создавались разработчиками системы на основе общеязыковых и предметно-ориентированных словарей и справочников, Государственных стандартов и отраслевых инструкций по оформлению текстовых документов.
   База знаний ЛИНАР содержит также заранее формируемый - и пополняемый в ходе эксплуатации системы - банк адресатов: конкретных читателей или определенных однородных групп читателей (конкретный руководитель научно-исследовательского проекта; конкретный представитель руководства организации-заказчика; инженеры, которые будут создавать описываемый программно-аппаратный комплекс и др.). Настройка на адресата производится в начале очередного сеанса работы с ЛИНАР. При такой настройке могут меняться базовые и тематические лингвистические знания (состав словаря, совокупность грамматических правил), степень жесткости требований по соблюдению тех или иных норм и условий.
   Чтобы задать эту информацию, следует указать имя одного из известных ЛИНАР адресатов (или идентификатор известной группы адресатов) и выбрать значения дополнительных параметров программ контроля.
   С помощью такой настройки удается моделировать процесс восприятия текста разными адресатами и, следовательно, оценивать качество текста с разных точек зрения.
   Таким образом, К-знания ЛИНАР (которые служат критерием корректности текста и используются для обнаружения "дефектов" текста - отклонений от требований, предъявляемых К-знаниями) формируются динамически в каждом конкретном сеансе работы с системой и являются комплексными по своей природе. Они включают как процедурные знания об исследуемом аспекте текста (воплощенные в соответствующих программах контроля), так и декларативные знания, фильтруемые и конкретизируемые в начале каждого сеанса.
   Обнаруженные программой контроля несоответствия текста и К-знаний могут быть устранены двумя способами:
 
   путем внесения изменений в текст (это наиболее частый случай: несоответствие - суть ошибка, допущенная в тексте, которую необходимо исправить);
   путем изменения К-знаний системы.Заметим, что изменениям подвергается лишь один компонент К-знаний - лингвистические знания, причем не все, а лишь те, которые соответствуют наиболее подвижной части естественного языка - лексикону. Как правило, такие изменения заключаются в пополнении базы знаний, например, в создании новой словарной статьи для слова, впервые встретившегося в тексте и не знакомого системе. Знания, отображающие требования семантической корректности и простоты интерпретации, общеязыковые и внешние нормы, может изменять только администратор системы.
   Для внесения изменений в базу лингвистических знаний используются сервисные программы; для изменения текста - подсистема редактирования ЛИНАРа.
   Отметим, что (даже при работе с ЛИНАР в диалоговом режиме) редактирование текста обычно производится по завершении работы программ контроля. Это связано с тем, что исправление фиксируемых системой ошибок и неточностей зачастую требует переделки относительно больших фрагментов текста (разбиение длинной фразы на несколько более простых, устранение неоднозначности трактовки и т.п.). Однако некоторые - локальные - изменения можно внести в текст сразу же в момент обнаружения ошибки. Поэтому в ряде программ контроля, например, в программах орфографического уровня, предусмотрена возможность исправления фиксируемых ошибок в момент их обнаружения.

2.3.3. Программы контроля

   Программы контроля текста могут быть классифицированы по нескольким критериям.
   Первый критерий связан с анализируемым программой аспектом текста. В соответствии с этим критерием выделяются следующие группы программ одноаспектного контроля:
   – контроль орфографии (включая поиск ошибок в склонении и спряжении слов);
   – анализ лексического состава текста;
   – стилистический контроль;
   – проверка выполнения правил структуризации текста;
   – контроль синтаксической структуры;
   – пунктуационный контроль;
   – семантический контроль.
   По второму критерию программы одноаспектного контроля подразделяются на программы локального и глобального анализа текста. Программы первой группы обрабатывают мелкие фрагменты текста: отдельные словоформы, словосочетания, специальные символы, не исследуя их контекстные связи или ограничиваясь учетом ближайшего окружения (соседнего слова справа, например). Локальный анализ характерен для программ орфографического, лексического и (частично) стилистического контроля. Программы, осуществляющие глобальный анализ, исследуют, как правило, структуру более крупных единиц текста: фраз и иногда абзацев (синтаксический и семантический контроль), текста в целом.
   Третий критерий связан с характером результата, получаемого программой одноаспектного анализа. Основная часть программ контроля обнаруживает те или иные несоответствия текста и К-знаний, используемых в текущем сеансе. Результатом их работы является список выявленных несоответствий (нарушений). Однако некоторые программы, как уже отмечалось, определяют отдельные свойства текста, не оценивая их. Так, программа ЛЕКС1 составляет частотный словарь исследуемого текста (фрагмента текста). Оценку полученным результатам дает человек - пользователь ЛИНАР, он же принимает решение о дальнейших действиях. Его реакция может быть, например, такой - поработать над текстом пункта 4.5.1., поскольку в этом тексте (занимающем всего две страницы) 26 раз встречается слово знания(в различных формах) и 7 раз - слово соответственно.
   Только что рассмотренный пример (программа ЛЕКС1) можно использовать и для иллюстрации четвертого критерия классификации программ контроля. Эта программа, как и ряд других, выдает некоторую глобальную информацию об исследуемом фрагменте текста, не фиксируя, в каких позициях (абзацах, фразах или строках) были обнаружены в тексте формы различных слов. Другие программы, например программы проверки орфографии, локализуют обнаруживаемые ими свойства (дефекты) текста.
   И наконец, отметим еще одно (формальное) различие программ контроля. Для всех программ основным параметром является подлежащий обработке фрагмент текста. Однако для некоторых программ нужно обязательно указать дополнительные параметры, конкретизирующие задание. Например, при вызове программы ЛЕКС2 нужно указать, какие именно грамматические признаки слов интересуют пользователя.
   Некоторые программы контроля получают в качестве параметра предельно допустимые (пороговые) числовые значения количественно оцениваемых параметров текста. Отметим, что, меняя порог, можно варьировать уровень требований, предъявляемых к тексту, моделируя тем самым оценку его разными адресатами. Например, можно установить в качестве предельно допустимой длины фразы 25 слов или ограничить число придаточных предложений (в составе сложного предложения) двумя. Фразы, в которых эти пороговые значения превышены, будут классифицированы соответствующими программами контроля как недопустимые.

3.2.3.1. Орфографический контроль

   Программы орфографического контроля обнаруживают (и предлагают варианты исправления) мотивированные грамматические ошибки в основах и окончаниях (флексиях) слов, записанных в словарь системы, и слов, встретившихся ей впервые (незнакомых), а также случайные, или немотивированные, ошибки.
   Основные классы учитываемых случайных ошибок таковы:
   – пропуск одной буквы ( а семблер),
   – одна лишняя буква ( авт токод),
   – замена одной буквы ( ко нпьютер),
   – перестановка двух соседних букв ( а глоритм).
   Признаком ошибки служит появление в обрабатываемом тексте формы незнакомого системе слова.
   Предпринимается попытка "свести" такое незнакомое слово к знакомому с помощью преобразований, обратных перечисленным выше (считается, что ошибка могла возникнуть в результате одного из таких "прямых" преобразований знакомого слова). Для предварительной оценки близости слов (основ слов) используется специально разработанная метрика.
   Одна из программ обнаруживает ошибки в датах, задаваемых в тексте с помощью конструкций вида ДД.ММ.ГГ. Если задан и диапазон возможных дат, проверяется также принадлежность всех представленных в исследуемом тексте дат этому диапазону.
    Примеры работы программ:
   прочитанна - ОШИБКА В СЛОВОИЗМЕНЕНИИ !
   ОЖИДАЕМОЕ СЛОВО: прочитана
   рассчета - ВОЗМОЖНА ОШИБКА ТИПА "удвоение буквы"
   ОЖИДАЕМОЕ СЛОВО : расчета
   10.25.89.
   ОШИБКА В ДАТЕ - недопустимая дата: месяц: 25

3.2.3.2. Анализ лексического состава текста

Программа ЛЕКС1
 
   Программа подсчитывает, сколько раз в тексте (области) употребляется то или иное слово. Программа формирует полный список всех различных слов текста с указанием частот их встречаемости. Можно задать диапазон частот (например, от 10 до 20 вхождений или ровно 15 вхождений) и сформировать список слов, количество употреблений которых лежит в границах этого диапазона. Если диапазон не задан, формируется полный частотный словарь текста.
 
Программа ЛЕКС2
 
   Программа формирует список слов, обладающих указанными лексико-грамматическими характеристиками, например, находит все существительные, все причастия или все аббревиатуры, встретившиеся в тексте (области). Слова упорядочиваются по алфавиту, для каждого слова подсчитывается число его вхождений в исследуемый текст. Программа предназначена для анализа словарного состава текста.
 
Программа ЛЕКС3
 
   Программа находит все вхождения в исследуемый текст (область) любых форм указанного (ключевого) слова и для каждого вхождения выдает контекст установленной длины - цепочку слов, находящихся от ключевого слова на расстоянии, не превышающем заданную длину. Программа удобна для анализа лексического состава текста и контроля используемых терминов и терминологических словосочетаний.
 
Программа ЛЕКС4
 
   Программа находит в исследуемой области текста все слова, не входящие в формируемый в начале очередного сеанса словарь системы ЛИНАР, - т.е. слова, не знакомые очередному адресату. Для исправления текста следует либо заменить обнаруженные слова синонимами, либо расширить словарь системы. Возможно, что некоторые из обнаруженных слов являются известными системе словами, введенными с ошибками.
 
Программа ЛЕКС5
 
   Программа осуществляет поиск каждой из обнаруживаемых в тексте (области) аббревиатур последовательно в трех списках: N 3 - списке аббревиатур, вводимых непосредственно в тексте (этот список формируется динамически самой программой ЛЕКС5);
 
   N 2 - формируемом в начале работы с текстом на основе перечня используемых сокращений;
   N 1 - словаре общепринятых сокращений.
   В списке N 1 поиск ведется в последнюю очередь так как он, во-первых, самый большой, и во-вторых, если, например, в списках N 3 и N 1 присутствует одно и то же сокращение, но с различными расшифровками, то приоритет имеет сокращение из списка N 3. Результатом работы является список используемых в тексте аббревиатур с указанием их локализации в тексте и типа аббревиатуры.
 
Программа ЛЕКС6
 
   Программа осуществляет контроль за переопределением известных системе аббревиатур. Если, например, в разделе 1.2. встретилась аббревиатура СВП (с расшифровкой в тексте - "схема внешних прерываний"), а в списке N 2 аббревиатура СВП сопоставлена термину "субкомплекс внешней памяти", фиксируется ошибка: недопустимое переопределение аббревиатуры из перечня.
 
Программа ЛЕКС7
 
   Программа проверяет правильность расшифровки, то есть тот факт, что аббревиатура читается в расшифровке по началам слов, причем некоторые слова расшифровки могут не участвовать в образовании аббревиатуры. Пример работы программы:
 
   Эта организация - центр переводов (ВЦП).
   НЕСООТВЕТСТВИЕ АББРЕВИАТУРЫ И РАСШИФРОВКИ:
   ВЦП - центр переводов
 
Программа ЛЕКС8
 
   Программа ЛЕКС8 (без параметров) проверяет правильность оформления списка используемых в тексте аббревиатур (для отчета по НИР - это "Перечень условных обозначений, символов, единиц и терминов"). Предполагается, что каждая пара "аббревиатура - расшифровка" в перечне представлена одной строкой. В процессе обработки перечня заполняется список замечаний. Пример работы программы:
 
   ОБРАБАТЫВАЕТСЯ ПЕРЕЧЕНЬ АББРЕВИАТУР:
   БНК - бортовой нейрокомпьютер
   БНФ - бекусовская нормальная форма
   КПД - канал прямого доступа
   ОЗУ
   МПК - микропрограммируемый контроллер
   ОРЗ - общий регистр записи
   ПНП - перейти в неустойчивое положение
   СВП - субкомплекс внешней памяти
   СПТ - субкомплекс рабочего таймера
   ЗАМЕЧАНИЯ:
   4 : ОЗУ * НЕТ РАСШИФРОВКИ
   5 : МПК * НАРУШЕНИЕ АЛФ. ПОРЯДКА
   7 : ПНП * РАСШИФРОВКА НЕ ЯВЛЯЕТСЯ ГРУППОЙ СУЩЕСТВИТЕЛЬНОГО
   9 : СПТ * НЕСООТВ: АББР.-РАСШ.

3.2.3.3. Стилистический контроль

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

3.2.3.4. Контроль структуры текста

   Данные программы контролируют правильность оформления отдельных структурных частей текстового документа с точки зрения соответствующих нормативных требований (например, требований ГОСТа 7.32-81, регламентирующего правила оформления научно-технического отчета). Проверяется оформление титульного листа, списка исполнителей, реферата и других разделов документа.

3.2.3.5. Синтаксический контроль

Программа СИНТ1
 
   Программа СИНТ1 находит в указанной области именные словосочетания вида ‹прилагательное› + ‹существительное› и ‹существительное› + ‹существительное в форме родит. падежа› и др. Программа может оказаться полезной при анализе лексического состава текста и при поиске терминологических словосочетаний, особенно в тех случаях, когда различные фрагменты текста написаны разными авторами (возможно, использующими близкие, но не совпадающие термины). Найденные программой словосочетания группируются вокруг "ключевого слова" - существительного, играющего роль синтаксической вершины словосочетания. Ряд программ синтаксического контроля обнаруживает нарушения обычного (нейтрального) порядка слов и взаимного расположения групп слов. Такие нарушения могут затруднить восприятие текста.
 
    Например: " Раздел второй посвящен описанию новых алгоритмов".или " Использует этот алгоритм всего две вспомогательные переменные."
   Отметим, что иногда нарушение нейтрального порядка слов может намеренно использоваться автором текста с целью изменения логического ударения, усиления (" Алгоритм этот очень эффективен!").
 
Программа СИНТ2
 
   Программа СИНТ2 осуществляет контроль придаточных предложений с союзным словом который , а именно, проверяет однозначность установления связи между союзным словом и его словом-хозяином из главного предложения. В случае, когда таких слов-хозяев не обнаружено или их более одного, выдается соответствующая диагностика. Пример работы программы:
 
   Рассмотрим структуру памятивычислительной машины, в которойхранятся команды.
   СЛОВО которойИМЕЕТ БОЛЕЕ ОДНОГО СЛОВА-ХОЗЯИНА В
   ГЛАВНОМ ПРЕДЛОЖЕНИИ: машины, памяти, структуру
   Каждому каналу соответствует свое устройство, которыев свою очередь связаны с главной ЭВМ.
   СЛОВО которыеНЕ ИМЕЕТ СЛОВА-ХОЗЯИНА В ГЛАВНОМ ПРЕДЛОЖЕНИИ
   Мощь языка Си - результат выявления его авторами потребностей программистов, которыевозникают при программировании на языке ассемблера.
   СЛОВО которыеИМЕЕТ БОЛЕЕ ОДНОГО СЛОВА-ХОЗЯИНА В ГЛАВНОМ ПРЕДЛОЖЕНИИ: программистов, потребностей, авторами

3.2.3.6. Пунктуационный контроль

   Пунктуационные ошибки в реальных предложениях русского языка встречаются довольно часто. Разделим их условно на две группы. Ошибки одной группы связаны с уровнем пунктуационной грамотности и появляются в основном в тех типах текстов русского языка, которые не проходят этап профессионального редактирования (например, в репликах в диалоге пользователя с ЭВМ).
   Причиной ошибок другого рода является несовершенное владение навыками клавиатурного набора. Такие ошибки принято называть «типографскими».
   Блок пунктуационного контроля системы ЛИНАР разработан на основе весьма полной пунктуационной модели русского языка. Полнота и корректность базовых знаний является основой достижения устойчивости и эффективности программных средств, реализованных на основе данной модели.
   В то же время блок пунктуационного контроля является «открытым», т.е. построен таким образом, чтобы обеспечить возможность работы средств адаптации и, при необходимости, введения новых правил пунктуации. Адаптация позволяет автоматически либо модифицировать правила анализа (чтобы новый вариант был применим к встретившейся ситуации), либо обнаружить и исправить пунктуационную ошибку в рассматриваемом предложении. Открытость блока - одна из предпосылок его устойчивости к появлению случайных и мотивированных пунктуационных ошибок, вариативных форм. Система ЛИНАР готова к возможности появления в тексте незнакомых пунктуационных ситуаций и к соответствующей адаптации своих лингвистических знаний (изменению модели) или к исправлению ошибки (изменению текста).
   При проверке пунктуации можно использовать любое количество программ контроля, выбирая их при этом по различным признакам. Например, можно осуществлять проверку только тех правил, которые выявляют лишние знаки препинания, можно только тех, которые выявляют пропущенные знаки препинания и т.д. При подобной настройке может меняться совокупность пунктуационных правил, степень жесткости требований по соблюдению каких-либо условий и т. д., что позволяет оценивать качество текста с точки зрения различных категорий пользователей. Набор желаемых для данного сеанса работы модулей формируется в начале работы пользователем.
    Пример работы программ пунктуационного контроля:
   В ПРЕДЛОЖЕНИИ:
   Только и развлечений , что кино раз в неделю
   ЗАМЕЧЕНА ПУНКТУАЦИОННАЯ ОШИБКА.
   В выделенном месте не должно быть данного знака препинания. В рассматриваемом случае запятая перед чтоне ставится .
   Необходимо пояснение ошибки? (Д/Н)
   Д
   В безглагольном предложении перед союзом чтов выражении только и ... что, за которым следует имя существительное или местоимение, запятая не ставится.
   Необходимы примеры правильного применения данного правила? (Д/Н)
   Д
   Только и денег что пятак в кармане.
   Только и разговоров что о них двоих.

3.2.3.7. Семантический контроль

Программа СЕМ1
 
   Программа обнаруживает несовпадение ожидаемых семантических признаков актантов (подлежащее, дополнения) глагола и признаков слов (групп слов), реально занимающих соответствующие позиции. Такое несовпадение мешает завершить анализ фразы, поскольку синтаксически допустимая связь не может быть установлена из-за семантических противоречий. Проверяя употребление в тексте глаголов, программа обращает внимание пользователя на "подозрительные" актантные конструкции.
    Пример работы программы:
   Все рассматриваемые программы написаны на ассемблере.
   НЕСОВПАДЕНИЕ СЕМАНТИЧЕСКИХ КЛАССОВ!
   В ОПИСАНИИ ГЛАГОЛА "написать" СЕМ.-КЛАСС АКТАНТА:
   =язык_программирования=
   РЕАЛЬНЫЙ АКТАНТ ассемблереИМЕЕТ СЕМ.-КЛАСС: =транслятор=
    Схема прерыванийподключается к магистрали.
   НЕСОВПАДЕНИЕ СЕМАНТИЧЕСКИХ КЛАССОВ!
   В ОПИСАНИИ ГЛАГОЛА "подключаться" СЕМ.-КЛАСС АКТАНТА:
   =устройство=
   РЕАЛЬНЫЙ АКТАНТ схема прерыванийИМЕЕТ СЕМ.-КЛАСС:
   =структура2=
 
Программа СЕМ2
 
   Программа проводит полный синтактико-семантический анализ фраз указанной области текста. При этом фиксируются случаи, когда фраза имеет (в контексте предметной области, к которой относится текст) более одной интерпретации, т.е. допускает неоднозначное толкование.
    Пример работы программы:
   Снижение напряжения вызвало отключение принтера.
   НЕОДНОЗНАЧНАЯ ИНТЕРПРЕТАЦИЯ!
   1 трактовка:
   =причина= : снижение напряжения
   =следствие= : отключение принтера
   2 трактовка:
   =причина= : отключение принтера
   =следствие= : снижение напряжения
 
Программа СЕМ3
 
   Программа СЕМ3 проверяет однозначность установления связи между личным местоимением и его антецедентом (словом, на которое ссылается данное местоимение). В случаях, когда такой антецедент не найден или их найдено более одного, выдается соответствующая диагностика.
    Пример работы программы:
   Каждому каналу сопоставлено определенное устройство. Они, в свою очередь, связаны с главной ЭВМ.
   ДЛЯ МЕСТОИМЕНИЯ ониВ ПРЕДШЕСТВУЮЩЕЙ ФРАЗЕ НЕ НАЙДЕНО СЛОВ,
   НА КОТОРЫЕ ЭТО МЕСТОИМЕНИЕ ССЫЛАЕТСЯ
   Рассмотрим структуру памяти ЭВМ. Она состоит из двух основных частей.
   ДЛЯ МЕСТОИМЕНИЯ онаВ ПРЕДШЕСТВУЮЩЕЙ ФРАЗЕ НАЙДЕНО БОЛЕЕ ОДНОГО СЛОВА,
   НА КОТОРОЕ ССЫЛАЕТСЯ ЭТО МЕСТОИМЕНИЕ: ЭВМ, памяти, структуру
 
Программа СЕМ4
 
   Программа проверяет, принадлежат ли значения количественно оцениваемых свойств описываемых в тексте объектов заданному диапазону. В случае, если значение свойства выходит за границы диапазона, процедура выдает соответствующую диагностику.
    Пример работы программы:
   Информация передается в сопроцессор АК-34по 16 каналу.
   ОБ'ЕКТ: сопроцессор АК-34
   ГРУППА: 16 каналу
   ВЫХОД ЗНАЧЕНИЯ ЗА ВЕРХНЮЮ ГРАНИЦУ ДИАПАЗОНА
   (СОПРОЦЕССОР АК-34 ИМЕЕТ КАНАЛЫ: 0,1,2, ... 15)