Главное > DjVu

FAQ: Оцифровка и OCR-обработка дореформенных текстов, расстановка Ё и ударений

(1/238) > >>

charoplet:
Извиняюсь, если не в тот раздел. Первоначально опубликовал статью на сайте миркниг, она прошла незамеченной. Специально зарегистрировался у Вас.

Оцифровка и OCR-обработка дореформенных текстов, расстановка Ё и ударений.
Автор: Черников Павел.
charoplet@gmail.com
Статья рассчитана на уверенных пользователей ПК, которые могут самостоятельно читать справку в описываемых программах. Здесь представлен лишь общий алгоритм действий и основные программы для этой статьи - FineReader 11 и Hieroglyph 3.7

Да, можно было сделать обстоятельнее и лучше, но тогда бы я не закончил статью вовсе =).
Суть - старые тексты из графического файла переводим в файл текстовый, в современную орфографию. Как бонус - расставляем Ё (ёфикация) и ударения.
http://mirknig.com/jurnaly/gumanitarnye_jurnaly/1181454359-istoricheskiy-vestnik-inostrannaya-pechat-o-russkoy-revolyucii.html Вот пример публикации текста, обработанного таким образом.

1.   Первое, нам нужны отсканированные страницы с текстом. Сканируем с оригинала или скачиваем нужную книгу.
2.   Подготовка FineReader 11 (можно и ниже). Для этого нужно  указать язык документа. Заходим язык документа -> выбор языков -> здесь отмечаем 1) Русский и английский; 2) Русский (старая орфография).
Дополнительно можно настроить эталон распознавания, чтобы научить программу должным образом определять спорные символы. Для этого заходим сервис -> опции -> вкладка «распознать», выбираем «использовать встроенные и пользовательские эталоны» и ставим галочку «распознавание с обучением». Подробнее об эталонах читайте в справке самой программы.
Отдельно взятые фразы на немецком, французском и других языках можно потом распознать с помощью ScreenshotReader
3.   Собственно, распознавание текста. Затем, для улучшения результата, рекомендую вычитать все ошибки в самом FineReader. Добиваемся создания копии текста без ошибок. Старые буквы удобно вводить при помощи типографской раскладки Ильи Бирмана.
4.   Полученный текст копируем в программу Hieroglyph 3.7. Нажимаем (ctrl+H) или поиск -> замена по списку. Тут нужно выбрать словарик oldrus, созданный Черниковым Павлом (ака Чароплёт) на основе деятификатора с Викитеки (так как чтобы им пользоваться, нужно быть на ней зарегистрированным и быть онлайн, данный offline способ лучше). Жмём «заменить все».
5.   Далее желательно в этой же программе нажать F8 и согласиться со стандартным вариантом переформатирования.
6.   Правим текст с использованием автоматической проверки текста в WORD, Орфо, иных программ, или вручную.
7.   Можно расставить Ё в тексте, используем программу yo. Есть два варианта расстановки – слова, где Ё бесспорно и слова, где нужно выбрать вроде все-всё. Читайте справку к программе, написано доступно.
8.   Можно расставить ударения (для TTS-читалок или для себя). Используем RussAcc.
Здесь также есть выбор – автоматическая расстановка, или вручную (для идеального результата, так как по средАм (о дне недели) или по срЕдам
(щелочным) программа не разберет. Читайте справку, тоже все легко. 
<- образные ударения можно привести к любому виду с помощью словаря замен в  Hieroglyph 3.7.



Для иллюстрации:

Текст до преобразований, орфография дореформенная и Текст после преобразований, с расставленными ударениями (для создания аудиокниги)

---



Уважаемые читатели!
1. Если статья была полезна, распространяйте ее по рунету (желательно авторство мое сохранить). Покажите ее друзьям, которым она могла бы пригодится, если не пригодилась Вам.

2. Критика и замечания приветствуются. Я для Вас старался, напишите хоть пару слов, не поленитесь.

3. Уважаемые модераторы, пожалуйста закрепите эту тему, а файлы, прилагаемые к ней, залейте на свои сервера (по крайней мере, текстовый файл словаря).

http://narod.ru/disk/36634043001/oldrus.rar.html

yuree:
Уважаемый charoplet большое спасибо за статью.
Наконец-то нашёлся хоть один единомышленник :) Теперь по порядку.

Не так давно, в прошлом году, я взялся за оцифровку книг дореволюционного издания. Доводил гугловские сканы до ума — чистил, выравнивал сканы и т. д. но-эт-неважно. Захотелось мне распознать текст и внедрить его в DjVu книгу. Вот здесь и началось самое интересное. В FR'е "русский, старая орфография" есть, а вот не словаря не тем-более морфологии нет.  Поэтому я начал составлять словарь сам ::)
Перелопатил нэт на наличие слов и словарей, в дореволюционной орфографии, внедрял слова из таких баз как www.dorev.ru или www.lib.russportal.ru например, в свой словарик, попутно вычитывал книги в FR'e и добавлял слова в этот-же словарь. Есстно, не о какой морфологии там речи не идёт — просто тупо набор слов с "фитами" и "ятями" числом около 60 000 :o
Статья из Вики, о которой Вы говорите, мне тоже попадалась на глаза. Но регистрация и пр.
Теперь-же, я думаю, дело сдвинется с мёртвой точки. Вы сподвигли меня снова заниматься, как мне ранее казалось, никому не нужным делом :)
Книги, выпущенные до Февральской революции, не менее интересны и актуальны сегодня.

Если Вам, равно и всем остальным, интересна тема перевода дореформенных текстов, то готов поделиться своими наработками, мыслями. 

Одна из немногих книг, в которую я вшил OCR  представленна здесь —> http://rutracker.org/forum/viewtopic.php?t=3590009

С уважением — yuree

charoplet:
yuree
Очень рад, что для Вас тема актуальна. Было бы жаль, если совсем уж никому она не была интересна. Хотелось бы выработать общий алгоритм действий по оцифровке таких текстов, потому что вычитывать ~600 страниц очень долго. Ну или хотя бы найти единомышленников).
http://mirknig.com/user/charoplet/news/ Вот тут книги, которые я оцифровал, используя материалы с http://www.djvu-scan.ru. (Лично мои сканы Институциональная экономика для чайников и История СССР, учебное пособие для 7 класса, а другие книги - это почищенные сканы с гуглбукс). Причем, я не внедрял OCR слой в дореволюционные книги, а внедрял лишь в современные, и было бы неплохо получить Ваши советы и наработки).
Да, если не затруднит, можете книгу скинуть мне на почту или выложить на обменник типа рапиды или народа? Не сложилось у меня (и моего провайдера) с рутрекером.

yuree:

--- Цитата: charoplet от 06 ПЭТРам 2012, 11:30:31 ---yuree
Очень рад, что для Вас тема актуальна. Было бы жаль, если совсем уж никому она не была интересна. Хотелось бы выработать общий алгоритм действий по оцифровке таких текстов, потому что вычитывать ~600 страниц очень долго. Ну или хотя бы найти единомышленников).
--- Конец цитаты ---


Конечно долго. Вот поэтому я и решил хоть немного облегчить себе вычитку, создав словарь к FR'у.
...


--- Цитата: charoplet от 06 ПЭТРам 2012, 11:30:31 ---http://mirknig.com/user/charoplet/news/ Вот тут книги, которые я оцифровал, используя материалы с http://www.djvu-scan.ru. (Лично мои сканы Институциональная экономика для чайников и История СССР, учебное пособие для 7 класса, а другие книги - это почищенные сканы с гуглбукс). Причем, я не внедрял OCR слой в дореволюционные книги, а внедрял лишь в современные, и было бы неплохо получить Ваши советы и наработки).
--- Конец цитаты ---


...
В том архиве, который будет приведён ниже находятся, кроме всего прочего, два txt'шных файла. Это набор слов в дореформенном формате. Один сделан мной из словаря представленном на сайте www.dorev.ru , другой — драфтовый, в который включено все-что можно было включить ;D

Технология правильного извлечения и перекодировки мне представляется следующей:
1. Запихиваем книгу или скан в FR ("тогда я использовал 10-ю версию, сейчас перешёл на 11-ю").
Предварительно, в FR'е создаём свою группу или словарь ("или как он там-бишь") вообщем подключаем к нему словарь(-и) представленные ниже в архиве. Создаём проект и распознаём нашу книгу, попутно внося новые слова в наш словарь. Можно распознавать и с обучением конечно. Итак, книга распознана. Сохраняем её в необходимом формате. В данном случае я-бы сохранял в нескольких. Кроме DjVu или PDF/A, кому как нравиться, ещё и в fb2 а то и в txt, на всякий случай :)  Не забываем про кодировку. Должен быть Юникод.
2.Итак, у нас есть текст с "фитами" и "ятями". Загружаем его Иероглиф, предварительно подключив Ваш oldrus.txt. Далее действуем по Вашей схеме.
Кстати, все хотел спросить про очерёдность действий в Иероглифе.
Ваш файл я подключил, сделал все по описанию, дошёл до F8 и тут меня смутил один момент. В самом Иероглифе, в "OCR Чистка" есть две последние функции которые позволяют делать то-же что и Ваш подключенный файл-словарь. Или я заблуждаюсь? В чём отличие и каков механизм работы с программой после копирования в неё текста в д.р. формате?
3. После перевода, копируем в ОРФО 2010 и правим его дальше. Сохраняем.
Хочу ещё добавить, что при распознавании не следует брать во внимание колонтитулы, нумерацию. А то даже и сноски. Или отделять их надо, в ручном режиме в одном из текстовых редакторов дабы примечания не сливались с основным текстом.

Теперь о файлах представленных в архиве.
Залил на Narod и несколько других файлообменников два словаря, те которые можно пихать в FR, EmEditor — текстовый редактор, о нём ниже, и книгу в DjVu формате с OCR слоем.
Дабы опробовать технологию представленную выше надо правильно извлечь OCR слой из DjVu файла. Для этого я использовал DjVu OCR v. 2.4b Rus, можно версию и пониже взять.
После извлечения у нас есть два файла. Берём HTML'ку и копируем текст из неё в EmEditor (или ещё какой который поддерживает "регулярные выражения"). Так-как в тексте есть переносы, то нам необходимо их удалить, "сшить" текст в удобочитаемый, т.е. такой в котором-бы не было "- ", разрывов в слове. Потом можно заменить два пропуска "  " на один " ". В моей тексте такое тоже попадается.
Итак. Копируем текст из HTML'ки в EmEditor. Далее выделяем "- ", Ctrl+H, устанавливаем галочки в "Только слово целиком" и в "Использовать esc-последовательность". В "Найти" пишем "- \n" — "тире пробел слэш эн" ("регикс \n означает перевод каретки"), а в "Заменить на" ничего не пишем. Или можете поставить в том поле курсор и нажать "Delete". Потом меняем два пропуска на один, о чём я говорил выше. Далее, по обычному курсу, Hieroglyph 3.7 —> ОРФО 2010 —> правка, если то надо. 

И напоследок. По поводу словаря для FR'а.
Вы знаете, как вариант, дикость конечно, хотя. А можно большую группу слов, словарь по сути, например тот который используется для проверки написания, у меня в Опере такая фича стои'т, не верно написанные слова он подчёркивает, и перегнать их в старую орфографию? Хоть какое а будет начало. Так-как словари мои немного худосочны. В первом — 47094 а в другом 60724 (47094+13630) слов.


--- Цитата: charoplet от 06 ПЭТРам 2012, 11:30:31 ---Да, если не затруднит, можете книгу скинуть мне на почту или выложить на обменник типа рапиды или народа? Не сложилось у меня (и моего провайдера) с рутрекером.
--- Конец цитаты ---

Сочувствую.
Лично я-бы поменял провайдера. Если есть такая возможность конечно.

Архив с словарями+EmEditor+ ... невесёлая книга в DjVu :)
http://www.multiupload.com/TISD1JTEN6
http://narod.ru/disk/36700373001/060112.RAR.html

ORFO 2010 Maximum:
http://www.multiupload.com/JZV4XFIV6W
http://narod.ru/disk/36701337001/ORFO2010max.rar.html

charoplet:
yuree
Сейчас не могу подробно ответить, отпишу завтра.
Вкратце - нужно в ФР создать пользовательский словарь на основе существующего "русского", только символы для распознавания скопипастить из "русский (старая орфография). Тогда для проверки будут предложены русские словари, которые работают и со старым написанием слов. (и, насколько понимаю, отпадет необходимость в Ваших словарях).

А плюс моего словаря к программе иероглиф - Он редактируем, некоторые дополнительные слова заменяет и т.д.

Ладно, завтра пост исправлю/дополню.

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Перейти к полной версии