СТ РК 34.001-2002 МЕТОДЫ ОБНАРУЖЕНИЯ ОРФОГРАФИЧЕСКИХ ОШИБОК В ТЕКСТОВЫХ ДАННЫХ
ГОСУДАРСТВЕННЫЙ СТАНДАРТ РЕСПУБЛИКИ КАЗАХСТАН Дата введения 2004.01.01 1 Область применения Настоящий стандарт является организационным документом, определяющим методы, процедуры и порядок проведения испытаний баз данных (БД) с целью оценки правильности содержащихся в них текстовых данных. Стандарт применяется ко всем видам БД, содержащим текстовую информацию, в том числе полнотекстовым, реферативным и лексикографическим БД, а также фактографическим базам данных, содержащих текстовые описания объектов и их характеристики. Стандарт рекомендуется для применения персоналом аккредитованных испытательных лабораторий при проведении испытаний БД. Он может быть использован также специалистами, осуществляющими контроль за деятельностью испытательной лаборатории и органами арбитража, рассматривающими результаты этой деятельности. Порядок использования настоящего стандарта при испытаниях конкретной БД устанавливается соответствующей Программой испытаний. 2 Общие положения Правильность текстовых данных в БД оценивается числом ошибок в текстовых полях. Ошибкой называется любое искажение данных, независимо от его характера или его возникновения. Ошибка может быть случайной (сбой технических или программных средств, ошибка оператора) или преднамеренной (умышленное искажение данных, в том числе из-за непонимания). В настоящем стандарте рассматриваются только ошибки, имеющие четкие формальные признаки. Сюда относятся только собственно орфографические ошибки (несуществующие словоформы, недопустимые сочетания символов), но не синтаксические (неправильное управление или согласование) или смысловые (неправильное употребление слов, фактические ошибки). Издание официальное Орфографической ошибкой называется любое искажение текста на естественном языке, в результате которого появляется несуществующая словоформа или недопустимое сочетание символов (букв или знаков препинания). Подразделяются следующие типы орфографических ошибок, встречающихся в текстовых полях БД: 1) пропуск, вставка, замена или перестановка букв; 2) пропуск пробела между словами или дефиса внутри слова, или, наоборот, вставка лишнего пробела или дефиса внутрь слова; 3) смешение русских и латинских букв, а также смешение букв и цифр в одном слове; 4) неправильное употребление прописных и строчных букв (строчные буквы в начале предложения, и др.); 5) повторение слов; 6) неправильное употребление знаков препинания (недопустимые сочетания знаков препинания, отсутствие пробела после знака и лишние пробелы перед знаком препинания, отсутствие точки в конце абзаца и др.). Все рассмотренные выше типы ошибок имеют четкие формальные признаки и могут быть обнаружены автоматически с помощью специальных программ проверки орфографии. Случаи, когда в результате ошибки происходит замена одной словоформы на другую, здесь не рассматриваются, поскольку не существует формального критерия, позволяющего отличить такую ошибку от синтаксической (нарушение согласования, управления) или смысловой (замена слова). Искажение нетекстовой информации (ошибки в цифрах, формулах, условных обозначениях) не относятся к орфографическим ошибкам и поэтому также не рассматриваются. Результатом испытаний конкретной БД является протокол, в котором указаны следующие данные (в отдельности по каждому полю): общая длина проанализированных текстовых данных (в знаках и словах); список выявленных орфографических ошибок (если он слишком велик, то наиболее типичные примеры) с разделением по типам; общее число выявленных ошибок; средний процент ошибок; а также итоговые данные по всем текстовым полям: общее число ошибок и средний процент ошибок в БД. 3 Методы обнаружения орфографических ошибок 3.1 Словарный метод обнаружения ошибок Словарный метод обнаружения ошибок заключается в том, что для проверки существования словоформы используется словарь, содержащий в себе представительную часть лексики, сопровождаемую сведениями о словоизменении, т.е. списками окончаний и правилами их сочетаемости. Этот метод обеспечивает высокую точность и надежность результатов, однако, требует больших затрат (на создание словаря и его актуализацию, а также на формализацию правил словоизменения), большого объема дисковой (для хранения) и оперативной (для быстрого поиска) памяти, значительного времени поиска. Для практической реализации этого метода следует использовать любую из имеющихся программ проверки орфографии. Эти программы различаются объемом и тематическим охватом словарей, числом типов обнаруживаемых ошибок, скоростью и точностью поиска вариантов исправления, степенью «интеллектуальности» при анализе текста, возможностью создания пользовательских словарей и т.д. Выбор конкретной программы проверки остается на усмотрение испытательной лаборатории. Большинство программ проверки работают в диалоговом режиме и требуют активного участия пользователя. В процессе проверки они предъявляют пользователю обнаруженные ошибки, предлагают варианты исправления и возможные варианты действий: - игнорировать ошибку;
- заменить на один из предлагаемых вариантов;
- исправить слово вручную;
- пометить ошибочное слово;
- добавить в словарь (основной или пользовательский) и др.
Лишь немногие программы могут работать в пакетном режиме, автоматически отмечая все ошибочные слова. Программа проверки орфографии должна удовлетворять следующим требованиям: - программа должна отрабатывать готовые текстовые файлы, а не только изнутри текстового редактора;
- программа должна поддерживать пакетный режим, отмечая все найденные ошибки специальным значком;
- словарь программы должен быть ориентирован на обычные общенаучные и публицистические тексты, при этом должна существовать возможность настройки на требуемую предметную область или возможность пополнения пользовательского словаря;
- словарь программы, помимо базовой лексики, должен содержать наиболее распространенные слова других категорий, в частности:
- имена собственные и географические названия, причем программа должна учитывать, что эти слова пишутся с большой буквы;
- сокращения (например км) и аббревиатуры (РК, МИД);
- наиболее распространенные специальные термины.
- необходимо предусмотреть возможность пополнения пользовательского словаря программы;
- программа должна правильно обрабатывать слова с дефисом (отличать дефис от переноса);
- программа должна адекватно обрабатывать слова, отсутствующие в словаре: неологизмы, окказионализмы, слова с отделяемыми элементами (авто-, авиа-, кино, теле-, радио-), фактически близкие к свободным словосочетаниям.
Рекомендуется использовать программы, обладающие максимальной степенью «интеллектуальности» при анализе текста, которые умеют обнаруживать не только орфографические, но и некоторые синтаксические (неправильное управление или согласование) и стилистические ошибки (неправильное употребление слов), а также правильно обрабатывать слова, отсутствующие в словаре, но легко конструируемые из имеющихся элементов. 3.2 Метод сочетаний Метод сочетаний состоит в том, что для обнаружения ошибок используются только сведения о сочетаемости букв в данном языке. Этот метод основывается на том, что практически все статистические закономерности сочетаемости букв выявляются на отрезке длиной не более 4 - 6 букв, причем, дальнейшее увеличение длин рассматриваемых отрезков существенно не меняет картины. Практически достаточно рассмотреть сочетания длиной 3 - 4 буквы (триграммы и тетраграммы), чтобы получить весьма полную картину сочетаемости букв в данном языке. Метод сочетаний чрезвычайно прост в реализации и эффективен в работе: он не требует составления словаря, таблица сочетаемости обычно размещается прямо в памяти, сама проверка осуществляется очень быстро. Правда, этот метод менее точен по сравнению со словарным и всегда оставляет возможность пропуска реально существующей ошибки: если ошибочная словоформа не нарушает правил сочетаемости, она в принципе не может быть обнаружена. Однако, практика показывает, что большинство ошибок составляют достаточные грубые опечатки, которые легко выявляются по нарушению правил сочетаемости. Поэтому фактическая точность метода сочетаний не сильно отличается от словарного. Реализация метода сочетаний требует создания таблицы сочетаемости букв для данного языка. С программной точки зрения такая таблица представляет собой 3(4)-мерный битовый массив, в котором число измерений равно длине рассматриваемых цепочек букв, а число элементов в каждом измерении равно числу букв в алфавите (32 для русского языка). Такая таблица легко может разместиться в оперативной памяти. Таблицу можно сделать более точной, если учитывать границы слов, т.е. отдельно фиксировать начальные, срединные и конечные сочетания. Таблица сочетаемости формируется путем сплошного сканирования массива текстов длиной 10 - 20 тысяч знаков, заведомо не содержащих орфографических ошибок, а также слов, резко нарушающих нормальные правила сочетаемости - редких или иностранных терминов и собственных имен (Ыйсон, Кыргызстан), консонантных сокращений и аббревиатуру (и т.д., км, РК, БД). Наиболее распространенные из таких слов могут быть вынесены в отдельный список исключений, который может использоваться как дополнительное средство для фильтрации ошибок, выявленных при помощи данного метода. При сканировании текст приводится к нормализованному виду, а именно: - все символы-разделители (пробелы, табуляции, границы строк) и знаки пунктуации заменяются на символ «граница слова» (пробел);
- удаляются все переносы, а слова приводятся к нормальному виду (здесь должен быть предусмотрен вариант с настоящим дефисом, составляющим часть слова);
- все заглавные буквы заменяются на строчные (за исключением слов, целиком состоящих из заглавных букв или начинающихся с заглавной буквы в середине предложения);
- все небуквенные символы игнорируются.
Затем каждое выделенное таким образом слово сканируется, из него последовательно извлекаются все сочетания длиной 3(4) буквы и заносятся в таблицу сочетаемости (устанавливается соответствующий бит). Если учитываются границы слов, то каждое сочетание заносится в соответствующую таблицу (начальную, срединную или конечную). Полученную таблицу рекомендуется протестировать на другом представительном массиве текстов и сравнить перечень ошибок, обнаруживаемых при помощи данного метода, с перечнем ошибок, получаемым при помощи словарного метода. Процедура поиска ошибок при помощи таблицы сочетаемости во многом аналогична процедуре формирования самой таблицы. При этом входной текст также нормализуется, слова приводятся к нормальному виду, из них последовательно извлекаются все триады (тетрады) и проверяются по соответствующей таблице. Если данного сочетания нет в таблице, то фиксируется ошибка (причем не может быть несколько подряд в одном слове). Обнаруженная ошибка заносится в файл-протокол с указанием причины (указывается запрещенное сочетание) и, по возможности, контекста (чтобы легче было выявить ложные ошибки). Метод сочетаний может быть реализован в виде автономной программы на любом языке программирования, которая должна работать с готовыми текстовыми файлами в пакетном режиме. 4 Процедура проведения испытаний 4.1 Основные этапы испытаний Процедура проведения испытаний БД с целью оценки правильности текстовых данных включает в себя следующие работы: - выбор объекта проверки и метода обнаружения ошибок;
- выгрузка объекта в текстовый файл;
- текстовый файл обрабатывается программой обнаружения ошибок, в результате работы которой формируется файл, где все ошибки отмечаются специальным значком (или файл, содержащий перечень ошибок с их адресами);
- файл с перечнем ошибок обрабатывается специальной программой и в результате формируется файл-протокол испытаний, содержащий перечень ошибок с их адресами и общую статистику ошибок.
4.2 Выбор объекта и методы проверки Процедура поиска орфографических ошибок применима только к полям, содержащим полноценную и связную текстовую информацию на данном языке. Состав этих полей зависит от тематики и структуры конкретной БД. Обязательной проверке подлежат следующие поля данных: - для реферативно-библиографических БД - название, реферат или аннотация, примечания (если есть);
- для лексикографических БД - заглавное слово, его толкования, примечания (если есть);
- для полнотекстовых БД - название, полный текст, примечания (если есть);
- для фактографических БД - название объекта и все поля, содержащие словесные описания объекта или его качественных характеристик.
Наоборот, не должны рассматриваться поля, содержащие: - цифровые данные (числа, даты, номера);
- коды или условные обозначения, которые заведомо отсутствуют в словаре и нередко нарушают обычные правила сочетаемости букв.
Не следует проверять поля, содержащие фамилии и географические названия (особенно редкие или иностранные), поскольку здесь невозможно установить правильное написание. Перечень полей, подлежащих проверке, определяется индивидуально для каждой конкретной БД и фиксируется в Программе испытаний. Каждое поле БД необходимо проверять отдельно. При выборе метода поиска ошибок следует исходить из того, что словарный метод более точен, но и более трудоемок с точки зрения реализации и применения, а метод сочетаний менее точен, но проще в реализации и работает значительно быстрее. Поэтому, в зависимости от типа проверяемого текста, имеющихся ресурсов машинного времени и требуемой точности проверки следует использовать один из этих методов или оба вместе. 4.3 Выгрузка текстовых данных из БД Поскольку все программы проверки орфографии работают только с текстовыми файлами и не работают напрямую с файлами БД, возникает необходимость выгрузки текстовых данных из БД во внешний файл. В зависимости от типа системы, поставляемой вместе с БД, и формата данных самой БД, возможны следующие варианты: - система имеет встроенные средства для выгрузки данных в текстовый файл, т.е. возможность создания отчетов требуемой формы. В этом случае нужно построить формат отчета, включающий только необходимые поля, содержащие текстовую информацию;
- система сама не имеет таких средств, однако она создана при помощи известной программы, имеющей встроенный генератор отчетов. В этом случае формат отчета строится средствами этой программы;
- для данного формата БД не существует готового генератора отчетов требуемой формы, однако сам формат данных известен или может быть легко выяснен. В этом случае потребуется написать специальную программу для выгрузки данных непосредственно из БД. Эта программа (возможно, одноразового применения) должна быть документирована и включена в архив программ испытательной лаборатории;
- формат данных неизвестен или данные специально зашифрованы так, что прямой доступ к ним оказывается невозможным. В этом случае информация берется непосредственно с экрана при помощи резидентной программы снятия копии экрана. При этом испытатель должен вручную пролистать и просмотреть каждую запись, выбрать нужные фрагменты экрана и собрать их в текстовый файл, только после этого можно использовать программу проверки.
При создании формата отчета следует исключить всю служебную информацию (имена полей, номера записей, разделители). Если это невозможно, то полученный текстовый файл нужно будет отредактировать вручную или автоматически (с помощью специальной программы). На вход программы орфографического контроля должен поступить текстовый файл, содержащий только выбранные текстовые данные из БД. 4.4 Запуск программы обнаружения ошибок Далее текстовый файл с проверенными данными поступает на вход программы проверки ошибок. Если используется стандартная программа проверки, ее желательно запустить в пакетном режиме, чтобы неправильные словоформы не исправлялись, а помечались специальным значком. Если программа не умеет работать в таком режиме, процесс проверки будет происходить в режиме диалога и потребует существенно больше времени. Если программа умеет генерировать перечень ошибок и собирать статистику ошибок, этим необходимо воспользоваться, чтобы сразу получить файл-протокол в виде, максимально близком к желаемому. Если используется собственная программа поиска ошибок (при помощи метода сочетаний), можно сделать, чтобы она сразу генерировала файл-протокол требуемого вида. 4.5 Обработка результатов проверки В результате работы программы обнаружения ошибок должен получиться файл-перечень, содержащий все обнаруженные ошибки, желательно, с указанием контекста. Поскольку никакой метод проверки не дает абсолютной точности, испытателю рекомендуется самому просмотреть полученный список ошибок, чтобы исключить оттуда ложные ошибки - существующие словоформы, почему-либо не опознанные программой проверки. Если программа не опознала редкие или специальные слова, отсутствующие в ее словаре, испытателю рекомендуется самому проверить по специальным словарям, существуют ли такие слова, или обратиться к специалисту. Если же это невозможно или слишком трудоемко, придется смириться с существованием ложных ошибок. Если программа проверки не может выдать файл-перечень требуемого вида, его потребуется отредактировать вручную при помощи текстового редактора или при помощи специальной программы-фильтра, чтобы удалить всю ненужную информацию и привести файл к требуемому виду. Например, если программа проверки не выдает список ошибок, а просто помечает ошибочные слова специальным значком, нужно будет удалить все непомеченные слова, а затем убрать сами пометы. Полученный файл-перечень ошибок необходимо подвергнуть статистической обработке, чтобы получить следующие данные (отдельно по каждому полю): - общая длина проверяемых текстовых данных в знаках и словах (определяется при выгрузке данных из БД);
- общее количество обнаруженных ошибок (относительно знаков и слов).
Затем необходимо суммировать данные по отдельным полям и получить средний процент ошибок по всей БД. Допустимые нормы ошибок различаются в зависимости от назначения БД: в БД, содержащей официальную информацию, ошибок не должно быть вообще, а в БД «Научно-технические информации» можно допустить наличие 2-5% ошибок. Приложение А (справочное) Форма протокола испытаний БД Протокол №_____ от «___»_________ _______ г. испытаний базы данных Настоящий протокол удостоверяет результаты испытаний базы данных___________________________________________________________, (наименование БД) представленной____________________________________________________ (наименование организации-заявителя) 1. Испытания проводились с целью оценки орфографической правильности текстовых данных в БД и выявления орфографических ошибок в них. 2. Испытания проводились с ________________ г. по ______________ г. в ____________________________________сотрудником испытательной (место проведения испытаний) лаборатории _______________________________________________________ (Ф.И.О. лица, проводившего испытания) на основании Программы испытаний №______ от «____»_______________г., пункт №_____. 3. Объект проверки – текстовые данные из БД (выборка из БД) объемом________ записей, ______________ Кбайт. Проверялись следующие поля данных: (список проверенных полей) 4. Проверка проводилась в соответствии с СТ РК __________________ с использованием ________________________ метода на аттестованных технических средствах_______________________________________________ (тип, марка и № технических средств) с использованием программ__________________________________________ (перечень программ) 5. В ходе испытаний были получены следующие результаты: Имя поля | Число знаков | Число слов | Число ошибок | % ошибок | | | | | | Итого: | | | | | 6. На основании полученных результатов можно сделать вывод, что данная БД имеет средний процент ошибок ________% (______ошибок на 1000 знаков). Лицо, проводившее испытания_______________ (Фамилия, инициалы) «_____»_____________________ г. Руководитель испытаний ________________ (Фамилия, инициалы) «_____»_____________________ г.
|