Справка:Оцифровка
Оцифровка книг в Википедии? | |
Оцифровка печатных текстов в Викиучебнике? | |
Category:Scanned Russian texts на Викискладе? | |
Проект «OCR» |
Распознавание текстов
Выбор программы
Существуют только две передовые программы распознавания: ABBYY FineReader и Tesseract. Программа FineReader — передовая, коммерческая, только под Windows. Tesseract — бесплатная, в основном рассчитана на Linux, поэтому имеются сайты, являющиеся веб-интерфейсами Tessercat.
- Tessercat, при его бесплатности, имеет много существенных недостатков — медленней, плоховато распознаёт русский, нет распознавания дореформенных букв и орфографических словарей той эпохи, а также ударения и вёрстки страниц (колонки, колонтитулы, текст на полях внизу и сбоку страниц). Tessercat v4, вышедший в последние годы, сделан на основе нейросети, его обучение основным мировым языкам длилось несколько лет, имеется поддержка только современного русского.
- Профессиональной программой вне конкуренции является коммерческий ABBYY FineReader. Начиная с версий 11 и 12 он имеет словари распознавания дореволюционной орфографии и ударений в словах. Ниже описана справка применительно к этой программе, другие программы имеют схожие функции.
- Ссылки
- Видео по настройке и использованию FineReader.
- Список других программ OCR. Обычно бесплатные OCR-программы и конверторы медленны, поскольку используют только 1 ядро процессора и плохо оптимизированы. Поэтому лучше использовать профессиональные программы.
Тип страниц в файле скана
Файлы pdf и djvu представляют собой пакет из изображений (в форматах jpeg, gif) постраничных сканов документа. В файле может присутствовать отдельный текстовый слой, который будет отображаться при публикации в Викитеке (в пространстве имён «Страница»). Если текстового слоя нет, то его необходимо сделать, в этом помогут программы распознавания текста. Реже, изображений страниц нет, а текст изначально хранится в особом формате (как в MS Word).
Выбор языков документа
Для качественного распознавания надо уточнить языки документа в настройках FineReader.
- Если в книге лишь изредка встречаются иностранные слова, лучше оставить только поддержку русского языка. Иначе, половина текста ошибочно распознается как иностранные буквы[1]. К тому же, лишние словари замедляют работу.
- По возможности не включать редкие языки, они могут распознаются некачественно[2].
Словари
FineReader использует словари, существенно улучшающие точность распознавания. Можно пополнить словарь часто используемыми в книге терминами — сокращениями, специальной терминологией.
После выбора языков и пополнения словаря можно запускать распознавание, которое займёт до часа, или несколько часов в сложных случаях.
Размер файла и форматы сжатия
На Викисклад возможно загрузить файл размером до 4 Гб. Но сделать это можно только через инструмент Chunked uploads, или сделав запрос администраторам.
В обычном загрузчике лимит — 100 Мб.
Формат изображения в файле выясняется при масштабировании текста сканированной страницы:[3]
Тип страниц в pdf | Признаки | Рекомендации по сжатию файла |
---|---|---|
Векторные шрифты | Края букв ровные при любом увеличении, без «лесенки» из пикселей | Хорошее сжатие без потери качества. |
Растровое чёрно-белое изображение | Видны точки пикселей | Можно использовать опцию сканирования «чёрно-белый режим», и попробовать сжатие |
Растровый jpg с градациями яркости | Буквы состоят из точек разных оттенков | Лучше включить «сохранить оригинальное изображение», оставить включённым «цветной» или «серый» режим, и выключить сжатие.
Примечание: |
- Формат выходного файла
Формат | Рекомендации |
---|---|
djvu | На обычном тексте даёт уменьшение размера документа без существенной потери качества. На книгах с мелким и «тонким» шрифтом может безвозвратно испортить скан, тестируйте предварительно! |
pdf с опцией сохранения MRC[4] (только в FineReader) | По сравнению с djvu сжатие и качество лучше, при этом файл может открываться почти во всех читалках. Режим заимствован из djvu. Если разница несущественная, рекомендуется эту опцию выключить. |
pdf с опцией сохранения Precise Scan[5] (FineReader) | Сжатие меньше, но сглаживаются «лесенки пикселей» присутствующие в предыдущих форматах[6]. |
Открытый и записанный в том же формате файл не идентичен оригиналу (обычно хуже). Поскольку при открытии файла он программно обрабатывается.
Большие файлы сканов книг желательно сохранять или конвертировать со сжатием, для ускорения их загрузки и упрощения использования.
Сохранение файла со сжатием обычно приводит к уменьшению его размера без существенной потери качества, поэтому в общем рекомендуется сжимать все файлы. Разрешение лучше делать до 300—400 dpi, а для текста с мелким кеглем — до 600 dpi[7]. Сохранять можно в формат djvu, или в pdf, с режимами MRC и Precise Scan программы FineReader, дающими лучше качество и/или сжатие, чем djvu (см. таблицу).
Однако, сжатие рекомендуется не для всех книг. Например, в сканах словарей могут содержаться мелкие и тонкие шрифты (греческий алфавит), мелкие иллюстрации, рукописные надписи. Сжатие необратимо повредит их, ухудшив возможное последующее OCR-распознавание. Поэтому, если существует какое-то ограничение на размер файла, то лучше добавить в файл распознанный текст оригинала, как резервный источник оригинальной информации, и в описании загруженного файла указывать ссылку на оригинал.
Время обработки
FineReader, перед ковертацией в djvu, требует распознавания текста. Итого потребуется 3 операции: 1) анализ книги — конвертация в формат FineReader, с разметкой областей текста и картинок; 2) распознавание; 3) запись в djvu.
Каждая из операций занимает примерно равное время, и в целом может занять до 1—2 часов машинного времени. В особо сложных случаях, и на старом компьютере, может потребоваться около трёх дней.
Имеются риск потратить впустую десятки часов работы, получив некачественный документ из-за неточных настроек. Поэтому предварительно стоит тестировать настройки на отдельных страницах скана. (Используйте опции «сохранить выбранные страницы как…», и в меню «Страница»). |
Сохранение только распознанного текста
Бывает, что надо опубликовать или обновить распознанный текст без загрузки файла скана. Опишем как это лучше сделать в FineReader. Также, если в файле уже есть распознанный текстовый слой хорошего качества, можно попробовать экспортировать его, например программой STDU Viewer.
Экспорт в файл
- Открыть файл скана в FineReader. (Возможно он потребует распознать текст, даже если в файле уже есть текстовый слой, распознанный другими программами.)
- Выбрать формат сохранения HTML, или FB2 (формат XML). В этих форматах сохраняется оформление текста и они имеют оптимальную структуру. Также можно выбрать простой текст (TXT), если оформление сохранять не нужно или оно отсуствует.
- Внизу окна сохранения файла есть «Опции файла». Там выбрать «Создавать один файл для всех страниц» если планируется заливка текста в основное пространство. Или «Создавать отдельный файл для каждой страницы», если текст нужен для постраничной заливки скриптом в пространство «Страница».
- Нажать «Параметры сохранения» и проверить опции:
- «Форматированный текст» — сохраняет тэги курсивного и др. выделения слов, и таблицы.
- «Сохранять css» (для html) — включить, файлы получатся короче.
- «Сохранять картинки» — если в документе они есть и хочется сделать пометки о них на страницах. Обратите внимание, что сами картинки в Викитеке таким образом не разместить.
Нажав «Ок» сохранить файл.
Викификация распознанных текстов
Теперь надо викифицировать и почистить полученные файлы.
Очистка html
Зачастую, в Викитеке можно сохранять текст и в html формате, только желательно удалить CSS оформление. Некоторые вики-гаджеты умеют конвертировать html в вики-разметку.
- Конвертер. (Выкл. в нём опцию «Replace other HTML tags if possible», иначе он некорректно убирает тэги
<p>
, не перевода стро́ки. И для таблиц с короткими значениями в ячейках можно установить «Use one-line position of cells in a row» в «yes».)
/ Скрипт для html будет добавлен позже /
Очистка fb2
Открываем файл в текстовом редакторе (текстовый процессор типа MS Word не подходит; для Windows рекомендуется редактор Notepad++, альтернативно Sublime Text). Можно просто скопировать текст в редактор Викитеки, и убирать теги в нём, но он медленный, что ощутимо на больших файлах, и сравнительно примитивный.
- Удаляем тэги заголовков (
<body>, <?xml>, <FictionBook>
и т. п.). - Заменяем тэг
emphasis
наem
(кнопка ctrl-h или в меню «Поиск» → «Замена», «Заменить всё»). - Таблицы можно оставить в формате html или конвертировать их следующими инструментами:
- Конвертер. (Выкл. в нём опцию «Replace other HTML tags if possible», иначе он некорректно убирает тэги
<p>
, не перевода стро́ки. И для таблиц с короткими значениями в ячейках можно установить «Use one-line position of cells in a row» в «yes».) - Конвертацию может делать бот Pwb скриптом table2wiki.py.
- Конвертер. (Выкл. в нём опцию «Replace other HTML tags if possible», иначе он некорректно убирает тэги
Текстовый документ (TXT)
В формате txt сохраняются лишь текстовые символы, без оформления, разметки таблиц, картинок. Настройка «Параметров сохранения»:
- «Форматированный текст» — включить.
- «Сохранять деление на строки» — выключить.
- «Разделять страницы символом конца страницы (#12)». Включить, если нужны маркеры — разделители страниц. Они могут быть необходимы при заливке текста в пространство имён «Страница», создании словника, при публикации.
- «Разделять абзацы пустыми строками» — включить.
- «Сохранять колонтитулы». Колонтитулы лишь мешают при размещении текста в основном пространстве. Однако они могут быть желательны в пространстве имён «Страница», где текст приводится в соответствие оригиналу.
- «Кодировка» — UTF-8.
Нажать «Ок». Далее выбрать одно из:
- «Создавать один файл для всех страниц».
- «Создавать отдельный файл для каждой страницы» — если нужно сохранить нумерацию страниц. При выборе этой опции документ сохранится во множестве файлов, нумерованных по порядку страниц скана. Сохраняем их в пустой папке, чтобы избежать казусов. Далее, открываем командную консоль Windows и переходим в эту папку[8], вводим команды: Это создаст файл output.lst, состоящий из склеенных страниц, разделённых маркерами с нумерацией этих страниц. (Обратите внимание, что если запустите команду дважды, то файл допишется, поэтому перед перезапуском рекомендуется удалять этот файл.)
> chcp 65001 > for %f in (*.txt) do (echo ^<newpage n="%f"/^> && type «%f») >> output.lst
Программы OCR
- w:Категория:Оптическое распознавание символов — статьи в Википедии
Распознавание
- Windows
- FineReader — коммерческий и самый качественный инструмент. Начиная с версий 11 и 12 имеет словари распознавания дореволюционной орфографии и ударений в словах.
- Linux
- Tesseract — развивается компанией Google
- Cuneiform для Linux, проект заброшен
- Cправка по программам OCR в Linux, [1], [2] — обзоры некоторых программ и онлайн-сервисов
- Online-сервисы
- FineReader-online — бесплатный «пробник» на 10 страниц
- img2txt.com и newocr.com — web-интерфейсы программы Tesseract
- Конверторы и утилиты для djvu
- Djvu-Spec Pdf 2 Djvu Converter, http://djvu-inf.narod.ru, http://djvu-info.ru - некоторые сайты с бесплатными утилитами для djvu
- Постобработка скана перед распознаванием
Извлечение текстового слоя в файл
Список программ, способных извлекать текстовый OCR-слой, если он имеется в сканированном файле. Заметьте, что при экспорте в текст теряется оформление шрифта (если оно было), и могут портится символы.
Windows: STDU Viewer, PDF-XChange Editor (экспорт в Word с частичным сохранением оформления)
Примечания
- ↑ В программе нет настройки приоритета языков. Следовательно: при выборе двух языков — русский + иностранный — приоритет 50 % (½); если русский + 2 иностранных языка → выберется русский лишь в 33 % случаев (⅓).
- ↑ Из-за их малого словаря с ограниченным числом растровых масок.
- ↑ Видео: Разъяснения автора оболочки одного из конверторов pdf в djvu
- ↑ Как технология MRC уменьшает размер PDF-документов. Блог компании ABBYY
- ↑ Сохранение в формат PDF Справка FineReader
- ↑ Обзор Abbyy FineReader 12 Professional
- ↑ Основы распознавания изображений с помощью FineReader
- ↑ http://ru.wikihow.com/соединить-текстовые-(TXT)-файлы-при-помощи-командной-строки