Стандарт отрасли ОСТ 115.1.5-96
"Сертификация баз данных. Оценка орфографической правильности текстовых данных"
(принят и введен в действие постановлением Комитета при Президенте РФ по политике информатизации от 5 февраля 1996 г. N 4)
Введен впервые
1 Область применения
Настоящий стандарт является организационным документом, определяющим методы, процедуры и порядок проведения испытаний баз данных (БД) с целью оценки правильности содержащихся в них текстовых данных.
Стандарт применяется ко всем видам БД, содержащим текстовую информацию, в том числе полнотекстовым, реферативным и лексикографическим БД, а также фактографическим БД, содержащим текстовые описания объектов и их характеристик.
Стандарт предназначен для обязательного исполнения персоналом аккредитованных испытательных лабораторий при проведении испытаний БД. Он может быть использован также специалистами, осуществляющими контроль за деятельностью испытательной лаборатории и органами арбитража, рассматривающими результаты этой деятельности. Порядок использования настоящего стандарта при испытаниях конкретной БД устанавливается соответствующей Программой испытаний.
2 Общие положения
Правильность (безошибочность) данных в БД представляет собой сложный параметр, одним из компонентов которого является правильность текстовых данных. Определение правильности текстовых данных в БД фактически сводится к определению числа ошибок в текстовых полях.
Ошибкой называется любое искажение данных, независимо от его характера или причины его возникновения. Ошибка может быть случайной (сбой технических или программных средств, ошибка оператора) или преднамеренной (умышленное искажение данных, в том числе из-за непонимания).
В настоящем стандарте рассматриваются только ошибки, имеющие четкие формальные признаки. Сюда относятся только собственно орфографические ошибки (несуществующие словоформы, недопустимые сочетания символов), но не синтаксические (неправильное управление или согласование) или смысловые (неправильное употребление слов, фактические ошибки). Таким образом, текст, безупречный с точки зрения орфографии, может быть ложным или бессмысленным.
Орфографической ошибкой называется любое искажение текста на естественном языке, в результате которого появляется несуществующая словоформа или недопустимое сочетание символов (букв или знаков препинания).
Типы орфографических ошибок, встречающиеся в текстовых полях БД, таковы:
1) пропуск, вставка, замена или перестановка букв;
2) пропуск пробела между словами или дефиса внутри слова, или, наоборот, вставка лишнего пробела или дефиса внутрь слова;
3) смешение русских и латинских букв, а также смешение букв и цифр в одном слове;
4) неправильное употребление прописных и строчных букв (строчные буквы в начале предложения и др.).
5) повторение слов;
6) неправильное употребление знаков препинания (недопустимые сочетания знаков препинания, отсутствие пробела после знака и лишние пробелы перед знаком препинания, отсутствие точки в конце абзаца и др.).
Все рассмотренные выше типы ошибок имеют четкие формальные признаки и могут быть обнаружены автоматически с помощью специальных программ проверки орфографии.
Случаи, когда в результате ошибки происходит замена одной словоформы на другую, здесь не рассматриваются, поскольку не существует формального критерия, позволяющего отличить такую ошибку от синтаксической (нарушение согласования, управления) или смысловой (замена слова).
Искажения нетекстовой информации (ошибки в цифрах, формулах, условных обозначениях) не относятся к орфографическим ошибкам и поэтому также не рассматриваются.
Результатом испытаний конкретной БД является протокол, в котором указаны следующие данные (в отдельности по каждому полю): общая длина проанализированных текстовых данных (в знаках и словах); список выявленных орфографических ошибок (если он слишком велик, то наиболее типичные примеры) с разделением по типам; общее число выявленных ошибок; средний процент ошибок; а также итоговые данные по всем текстовым полям: общее число ошибок и средний процент ошибок в БД.
Форма протокола приведена в Приложении.
3 Методы обнаружения орфографических ошибок
3.1 Словарный метод обнаружения ошибок
Словарный метод обнаружения ошибок заключается в том, что для проверки существования словоформы используется словарь, содержащий в себе представительную часть лексики, сопровождаемую сведениями о словоизменении, т.е. списками окончаний и правилами их сочетаемости. Этот метод обеспечивает высокую точность и надежность результатов, однако требует больших затрат (на создание словаря и его актуализацию, а также на формализацию правил словоизменения), большого объема дисковой (для хранения) и оперативной (для быстрого поиска) памяти, значительного времени поиска.
Для практической реализации этого метода следует использовать любую из имеющихся программ проверки орфографии. Эти программы различаются объемом и тематическим охватом словарей, числом типов обнаруживаемых ошибок, скоростью и точностью поиска вариантов исправления, степенью "интеллектуальности" при анализе текста, возможностью создания пользовательских словарей и т.д. Выбор конкретной программы проверки остается на усмотрение испытательной лаборатории.
Большинство программ проверки работают в диалоговом режиме и требуют активного участия пользователя. В процессе проверки они предъявляют пользователю обнаруженные ошибки, предлагают варианты исправления и возможные варианты действий: 1) игнорировать ошибку; 2) заменить на один из предлагаемых вариантов; 3) исправить слово вручную; 4) пометить ошибочное слово; 5) добавить в словарь (основной или пользовательский) и др. Лишь немногие программы могут работать в пакетном режиме, автоматически отмечая все ошибочные слова.
Учитывая специфику решаемой задачи (поиск ошибок в текстовых данных из БД), программа проверки орфографии должна удовлетворять следующим требованиям:
1) Программа должна уметь работать с готовыми текстовыми файлами, а не только изнутри текстового редактора.
2) Программа должна уметь работать в пакетном режиме, отмечая все найденные ошибки специальным значком.
3) Словарь программы должен быть ориентирован на обычные общенаучные и публицистические тексты ("деловая проза"), при этом должна существовать возможность настройки на требуемую предметную область или возможность пополнения пользовательского словаря.
4) Словарь программы, помимо базовой лексики, должен содержать наиболее распространенные слова других категорий, в частности:
а) имена собственные и географические названия (причем программа должна учитывать, что эти слова пишутся с большой буквы);
б) сокращения (и т.д., км) и аббревиатуры (СССР, МГУ);
в) наиболее распространенные специальные термины.
5) Должна существовать возможность пополнения пользовательского словаря программы.
6) Программа должна правильно обрабатывать слова с дефисом и вообще уметь отличать дефис от переноса.
7) Программа должна адекватно обрабатывать слова, отсутствующие в словаре: неологизмы, окказионализмы, слова с отделяемыми элементами (авто-, авиа-, кино-, теле-, радио-), фактически близкие к свободным словосочетаниям.
Рекомендуется использовать программы, обладающие максимальной степенью "интеллектуальности" при анализе текста, которые умеют обнаруживать не только орфографические, но и некоторые синтаксические (неправильное управление или согласование) и стилистические ошибки (неправильное употребление слов), а также правильно обрабатывать слова, отсутствующие в словаре, но легко конструируемые из имеющихся элементов.
3.2 Метод сочетаний
Метод сочетаний состоит в том, что для обнаружения ошибок используются только сведения о сочетаемости букв в данном языке. Этот метод основывается на том, что практически все статистические закономерности сочетаемости букв выявляются на отрезках текста длиной не более 4-6 букв, причем дальнейшее увеличение длин рассматриваемых отрезков существенно не меняет картины. Практически достаточно рассмотреть сочетания длиной 3-4 буквы (триграммы и тетраграммы), чтобы получить весьма полную картину сочетаемости букв в данном языке.
Метод сочетаний чрезвычайно прост в реализации и эффективен в работе: он не требует составления словаря, таблица сочетаемости обычно размещается прямо в памяти, сама проверка осуществляется очень быстро. Правда, этот метод менее точен по сравнению со словарным и всегда оставляет возможность пропуска реально существующей ошибки: если ошибочная словоформа не нарушает правил сочетаемости, она в принципе не может быть обнаружена. Однако практика показывает, что большинство ошибок составляют достаточно грубые опечатки, которые легко выявляются по нарушению правил сочетаемости. Поэтому фактическая точность метода сочетаний не сильно отличается от словарного.
Реализация метода сочетаний требует создания таблицы сочетаемости букв для данного языка. С программной точки зрения такая таблица представляет собой 3(4)-мерный битовый массив, в котором число измерений равно длине рассматриваемых цепочек букв, а число элементов в каждом измерении равно числу букв в алфавите (32 для русского языка). Такая таблица легко может разместиться в оперативной памяти. Таблицу можно сделать более точной, если учитывать границы слов, т.е. отдельно фиксировать начальные, срединные и конечные сочетания.
Таблица сочетаемости формируется путем сплошного сканирования массива текстов длиной 10-20 тысяч знаков, заведомо не содержащих орфографических ошибок, а также слов, резко нарушающих нормальные правила сочетаемости - редких или иностранных терминов и собственных имен (Ыйсон, Кыргызстан), консонантных сокращений и аббревиатур (и т.д., км, СССР). Наиболее распространенные из таких слов могут быть вынесены в отдельный список исключений, который может использоваться как дополнительное средство для фильтрации ошибок, выявленных при помощи данного метода.
При сканировании текст приводится к нормализованному виду, а именно:
1) все символы-разделители (пробелы, табуляции, границы строк) и знаки пунктуации заменяются на символ "граница слова" (пробел);
2) удаляются все переносы, а слова приводятся к нормальному виду (здесь должен быть предусмотрен вариант с настоящим дефисом, составляющим часть слова);
3) все заглавные буквы заменяются на строчные (за исключением слов, целиком состоящих из заглавных букв или начинающихся с заглавной буквы в середине предложения);
4) все небуквенные символы игнорируются.
Затем каждое выделенное таким образом слово сканируется, из него последовательно извлекаются все сочетания длиной 3(4) буквы и заносятся в таблицу сочетаемости (устанавливается соответствующий бит). Если учитываются границы слов, то каждое сочетание заносится в соответствующую таблицу (начальную, срединную или конечную).
Полученную таблицу рекомендуется протестировать на другом представительном массиве текстов и сравнить перечень ошибок, обнаруживаемые при помощи данного метода, с перечнем ошибок, получаемым при помощи словарного метода.
Процедура поиска ошибок при помощи таблицы сочетаемости во многом аналогична процедуре формирования самой таблицы. При этом входной текст также нормализуется, слова приводятся к нормальному виду, из них последовательно извлекаются все триады (тетрады) и проверяются по соответствующей таблице. Если данного сочетания нет в таблице, то фиксируется ошибка (причем их может быть несколько подряд в одном слове). Обнаруженная ошибка заносится в файл-протокол с указанием причины (указывается запрещенное сочетание) и, по возможности, контекста (чтобы легче было выявить ложные ошибки).
Метод сочетаний может быть реализован в виде автономной программы на любом языке программирования, которая должна работать с готовыми текстовыми файлами в пакетном режиме.
4 Процедура проведения испытаний
4.0 Основные этапы испытаний
Процедура проведения испытаний БД с целью оценки правильности текстовых данных включает в себя следующие этапы:
1) Выбирается объект проверки и метод обнаружения ошибок.
2) Выбранные данные из БД выгружаются в текстовый файл.
3) Полученный текстовый файл пропускается через программу обнаружения ошибок, в результате работы которой получается файл, где все ошибки отмечены специальным значком (или сразу файл, содержащий перечень ошибок с их адресами).
4) Этот файл обрабатывается специальной программой и в результате получается файл-протокол испытаний, содержащий перечень ошибок с их адресами и общую статистику ошибок.
4.1 Выбор объекта и метода проверки
Процедура поиска орфографических ошибок применима только к полям, содержащим полноценную и связную текстовую информацию на данном языке. Состав этих полей зависит от тематики и структуры конкретной БД. Обязательной проверке подлежат следующие поля данных:
для реферативно-библиографических БД - название, реферат или аннотация, примечания (если есть);
для лексикографических БД - заглавное слово, его толкования, примечания (если есть);
для полнотекстовых БД - название, полный текст, примечания (если есть);
для фактографических БД - название объекта и все поля, содержащие словесные описания объекта или его качественных характеристик.
Наоборот, не должны рассматриваться поля, содержащие:
1) цифровые данные (числа, даты, номера);
2) коды или условные обозначения, которые заведомо отсутствуют в словаре и нередко нарушают обычные правила сочетаемости букв.
Не следует проверять поля, содержащие фамилии и географические названия (особенно редкие или иностранные), поскольку здесь невозможно установить правильное написание.
Перечень полей, подлежащих проверке, определяется индивидуально для каждой конкретной БД и фиксируется в Программе испытаний.
Каждое поле БД необходимо проверять отдельно. Лишь в тех случаях, когда несколько полей содержат практически однородную по характеру текстовую информацию, их можно объединить.
При выборе метода поиска ошибок следует исходить из того, что словарный метод более точен, но и более трудоемок с точки зрения реализации и применения, а метод сочетаний менее точен, но проще в реализации и работает значительно быстрее. Поэтому, в зависимости от типа проверяемого текста, имеющихся ресурсов машинного времени и требуемой точности проверки следует использовать один из этих методов или оба вместе.
4.2 Выгрузка текстовых данных из БД
Поскольку все программы проверки орфографии работают только с текстовыми файлами и не работают напрямую с файлами БД, возникает необходимость выгрузки текстовых данных из БД во внешний файл.
В зависимости от типа системы, поставляемой вместе с БД, и формата данных самой БД, возможны следующие варианты:
1) Система имеет встроенные средства для выгрузки данных в текстовый файл, т.е. возможность создания отчетов требуемой формы. В этом случае нужно построить формат отчета, включающий только необходимые поля, содержащие текстовую информацию.
2) Система сама не имеет таких средств, однако она создана при помощи известной программы, имеющей встроенный генератор отчетов. В этом случае формат отчета строится средствами этой программы.
3) Для данного формата БД не существует готового генератора отчетов требуемой формы, однако сам формат данных известен или может быть легко выяснен. В этом случае потребуется написать специальную программу для выгрузки данных непосредственно из БД. Эта программа (возможно, одноразового применения) должна быть документирована и включена в архив программ испытательной лаборатории.
4) Формат данных неизвестен или данные специально зашифрованы, так что прямой доступ к ним оказывается невозможным. В этом случае информация берется непосредственно с экрана при помощи резидентной программы снятия копии экрана. При этом испытатель должен вручную пролистать и просмотреть каждую запись, выбрать нужные фрагменты экрана и собрать их в текстовый файл. Только после этого можно использовать программу проверки.
При создании формата отчета следует исключить всю служебную информацию (имена полей, номера записей, разделители). Если это невозможно, то полученный текстовый файл нужно будет отредактировать вручную или автоматически (с помощью специальной программы). На вход программы орфографического контроля должен поступить текстовый файл, содержащий только выбранные текстовые данные из БД.
4.3 Запуск программы обнаружения ошибок
Далее текстовый файл с проверяемыми данными поступает на вход программы проверки ошибок. Если используется стандартная программа проверки, ее желательно запустить в пакетном режиме, чтобы неправильные словоформы не исправлялись, а помечались специальным значком. Если программа не умеет работать в таком режиме, процесс проверки будет происходить в режиме диалога и потребует существенно больше времени. Если программа умеет генерировать перечень ошибок и собирать статистику ошибок, этим необходимо воспользоваться, чтобы сразу получить файл-протокол в виде, максимально близком к желаемому.
Если используется собственная программа поиска ошибок (при помощи метода сочетаний), можно сделать, чтобы она сразу генерировала файл-протокол требуемого вида.
4.4 Обработка результатов проверки
В результате работы программы обнаружения ошибок должен получиться файл-перечень, содержащий все обнаруженные ошибки, желательно, с указанием контекста. Поскольку никакой метод проверки не дает абсолютной точности, испытателю рекомендуется самому просмотреть полученный список ошибок, чтобы исключить оттуда ложные ошибки - существующие словоформы, почему-либо не опознанные программой проверки. Если программа не опознала редкие или специальные слова, отсутствующие в ее словаре, испытателю рекомендуется самому проверить по специальным словарям, существуют ли такие слова, или обратиться к специалисту. Если же это невозможно или слишком трудоемко, придется смириться с существованием ложных ошибок.
Если программа проверки не может выдать файл-перечень требуемого вида, его потребуется отредактировать вручную при помощи текстового редактора или при помощи специальной программы-фильтра, чтобы удалить всю ненужную информацию и привести файл к требуемому виду. Например, если программа проверки не выдает список ошибок, а просто помечает ошибочные слова специальным значком, нужно будет удалить все непомеченные слова, .а затем убрать сами пометы.
Полученный файл-перечень ошибок необходимо подвергнуть статистической обработке, чтобы получить следующие данные (отдельно по каждому полю):
1) общая длина проверяемых текстовых данных в знаках и словах (определяется при выгрузке данных из БД);
2) общее количество обнаруженных ошибок и, если возможно, их список;
3) средний процент ошибок (относительно знаков и слов). Затем необходимо суммировать данные по отдельным полям и получить средний процент ошибок по всей БД.
Допустимые нормы ошибок различаются в зависимости от назначения БД: в БД, содержащей официальную информацию, ошибок не должно быть вообще, а в БД НТИ можно допустить наличие 2-5% ошибок.
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.
ОСТ 115.1.5-96 "Стандарт отрасли. Сертификация баз данных. Оценка орфографической правильности текстовых данных" (принят постановлением и введен в действие Комитета при Президенте РФ по политике информатизации N 4 от 5 февраля 1996 г.)
Текст ОСТа (отраслевого стандарта) официально опубликован не был
1 Разработан и внесен Научно-техническим центром "Информрегистр" Комитета при Президенте РФ по политике информатизации (Роскоминформа)
2 Принят и введен в действие постановлением Комитета при Президенте РФ по политике информатизации от 5 февраля 1996 г. N 4
3 Стандарт соответствует ГОСТ Р 1.5-92 в части требований к построению, изложению и оформлению стандартов и ГОСТ Р 1.4-93 в части общих положений по разработке, принятию, учетной регистрации, изданию, изменению и отмене стандартов отрасли
4 Введен впервые