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