Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - charoplet

Страницы: [1]
1
pobat
Пожалуйста, рад, что хоть кому-то интересно.
yuree
Возни много, но вспомни, сколько ее было без словаря и иероглифа. Тут по большей части теоретический аспект, для перфекционистов, у которых есть время и желание сделать 1 раз и навсегда.

2
Как и обещал, нечто интересное. Решил все же написать, пусть и сбивчиво, иначе еще на пару дней затянулось бы ожидание ответа от меня. Читать желательно весь пост).

История создания словаря дореформенной орфографии dict_1006649 для FineReader, подготовил Черников Павел, на основе справок к словарям Лебедева и Виницкого.

Изначально Нил Далтон (Neal Dalton) в 1992 г составил словарь на основе найденных им в интернете текстов. Словарь Далтона содержал 52 тысячи словоформ и много ошибок (свыше 8% слов). Затем словарь Далтона взял за основу Александр Лебедев, начав вносить в него поправки в конце 1997 года.
Основным подходом, положенным в основу словаря, было использование нормализованной формы слова и правил словоизменения, отвечающих грамматике русского языка. При вычитке словаря Далтона конкретные слова были приведены к нормализованной форме и из словаря было исключено большинство неверных слов. 
На этом этапе работы использовался орфографический словарь русского языка, выпущенный Институтом русского языка АН СССР в 1991 г.  В словарь были добавлены слова из технических и литературных текстов. Затем, все имеющиеся в словаре слова были перепроверены с помощью электронного орфографического словаря "Корректор" (120 тысяч слов), а обнаруженные расхождения выверены по орфографическому словарю русского языка, справочнику Зализняка ("Грамматический словарь русского языка: словоизменение", 100 тысяч слов) и "Сводному словарю современной русской лексики" (170 тысяч слов). Все слова, добавляемые после этого, проходили проверку с помощью указанных словарей (в специальных областях - энциклопедий) и "Русского орфографического словаря" под редакцией Лопатина (160 тысяч слов).
Слова, отсутствующие в этих изданиях, добавлялись, лишь при широком использовании и при условии, что в их написании нет сомнений. Объём словаря составлял более 122.2 тысячбазовых слов, а полное число образуемых из них словоформ составляет 1.168 миллиона (против 52 тысяч в словаре Нила Далтона и 952 тысяч слов в словаре Константина Книжника (6% ошибочных слов).
Отличительной чертой данного словаря является полноценная поддержка буквы ё. Сейчас словарь Лебедева используется в OpenOffice.
На основе словаря Лебедева, Сергей Виницкий создал словарь для проверки правописания в текстах, набранных в дореформенной русской орфографии, что было первой попыткой такого рода. При работе над словарём он следовал принципу всемерно допустимого расширения допустимого набора
слов и форм, включая редкие формы, для облегчения проверки правописания. В противоположность этому, А. Лебедев придерживается точки зрения, что для облегчения проверки правописания необходимо сокращать набор слов и форм наиболее распространённых.
   Некто chaource, в UNIX скомпилировал словарик в utf8 и выложил в интернет. Черников Павел (Чароплёт), нашёл ему применение, подключив к FineReader 11 (предварительно сохранив в Юникоде).
И ещё, на заметку. Для поддержки "устаревших" букв, Виницкий предложил свою кодировку KOI8-C, которая распространения не получила. Технически возможно из этой кодировки перевести словарь к виду словарей программы MySpell, подходящих к OpenOffice. Тогда мы получим возможность проверять тексты в старой орфографии при помощи современной программы (пользователей системы UNIX об этом надо просить). Также можно попробовать скомпилировать русский словарь (современный) из словаря Лебедева и подключить его к FineReader, что, вероятно, даст лучшее качество распознавания текстов.
---
Что касается редактирования текста, пришли на ум такие мысли.
1.После подготовки сканов к непосредственной сборке (и собрав из них файл), сканы не удаляем. С помощью программы (надо найти маленькую, бесплатную и портабельную) мы проставляем в каждой из них внизу водяной знак прямо под текстом, например "{разрыв}". Делаем мы это для того, чтобы позднее не проставлять вручную (как я, 600 страниц) разрывы между страницами. В итоге, после OCR, мы получаем текст с пометками, где заканчивались оригинальные страницы. Это нам пригодится для удобного редактирования.
2. Очень важными в текстах являются цифры. Первый раз, конвертировав со словарем в современную орфографию, при конвертации можем не помечать текстом замены, а можем пометить. Затем создаем словарь с цифрами
1=1
2=2
3=3
... и т.д. И прогоняем текст с выделением цветом замен. Получим выделенные в тексте даты, + увидим, где у нас закрались буквы З вместо 3 и О вместо 0. И удобнее будет потом сверять с оригиналом.
3. Далее работаем в ворде с ОРФО, чтобы у нас цветовые пометки остались. нашу заметку из пункта 1 "{разрыв}" меняем на разрыв страницы в ворде. Т.о. получаем документ, где страницы совпадают с оригиналом.
4. При наличии колонтитулов книги, если мы ее обрабатываем, колонтитулы могут влезть между последним словом страницы А и первым словом страницы Б (где А и Б некие номера). Получится что-то вроде "Оприч-ИВАН ГРОЗНЫЙнина" Удаляем название колонтитулов из основного текста, оставляя слово полностью на 1 странице, вручную убирая перенос. А потом вручную же вставляем разрыв страницы.
5. С ссылками решил проблему так: ставим в ворде вручную концевые сноски (сноски-формат 1,2,3 ...), заключая их в [] квадратные скобки и в самом тексте, и в конце документа (куда мы будем копировать попавшую о основной текст сноску, которая тоже сбивает с толку типа "Оприч-ИВАН ГРОЗНЫЙнина"". Получим аккуратные сносочки вроде [1][2][3], которые сохранятся даже в txt. Сами сноски будут в конце документа.
6. Я вставляю еще картинки (в моем случае, портреты с подписью), в текст, тупо копируя их из djvu. При сохранении в txt они пропадут, а при сохранении в PDF лишними не будут. Парой кликов выбираем, каким будет обтекание текста.
7. В итоге мы получаем книгу, во многом похожую на оригинал, разве что ссылки будут в конце. При сохранении в PDF, подбираем величину шрифта, чтобы текст равномерно заполнял страницу, а при сохранении в .txt не забываем сделать замену разрыва страницы ворда на пробел, скажем, а потом двух пробелов - на один. И сохраняем, разрешив подставить знаки.

-----
По поводу словарей, я думал о составлении  правки словаря к Иероглифу, а не про корректировку словаря к ФР.
Вычитывая текст, отлавливаем непонятные слова и сохраняем их куда-нибудь, как есть. Потом смотрим 1) как они писались в оригинале в книге и вручную с помощью раскладки Ильи Бирмана, набираем их. Прогоняем через основной словарь в Иероглифе. Если после преобразований получается ошибка, тогда вносим эти слова в словарь правки для иероглифа (тут надо быть осторожным и вносить предельно аккуратно, иначе можно испортить весь текст).

Вот пример тех слов, часть из которых, возможно, будет внесена в словарь правки:




макиавелизмом
погречески
казацкия
сожигали
галлерея
Украйне
добраго
темнорусыми
карандашем
разсуждать
безпомощным
разсылал
ктому
разстроенным
какъто
поленица
бичем
подъячих
рожденна
аллилуя
долго-ли (вообще ли и частицы)
сожигать
посвойски
Возстание
Долгия
подъячие
понемецки
всякия
разсказывать
рассчета
Украйны
Украйна
чтб=(с ударением)
еслибы
старшйна
Поспольство
внешния
доканали
Украйну
розрухой
Малороссий
Украйной
белаго
тунгузов
металические
юговосток (и вообще направления)
панцырники
ктому ж
Разсудительный
кое-какия
белорусс

Вот о слиянии словарей правки к иероглифу я и спрашивал, как лучше.
УФ! Вроде ничего не забыл.

3
DjVu / Re: Как загнать всё в маску.
« : 16 ПЭТРам 2012, 20:44:29 »
Попробуй удалить старое выделение и заново выделить буквицу внизу или справа, причем не обязательно полностью, главное чуть-чуть коснуться конура и он "зальется" нужным цветом. Либо залить то, что должно быть черным - черным. Почему так происходит, я не знаю, но я так несколько книг обработал, главное перепроверить на выходе.

4
DjVu / Re: Как загнать всё в маску.
« : 16 ПЭТРам 2012, 18:21:34 »
Сделай изначальный нечищенный скан в градациях серого 8 или 16 grayscale. В ScanTailor кодируй в режиме "смешанный", собирай потом в режиме  вклейки иллюстраций (см. 3а этап. по приведенной ниже ссылке), а буквицы лучше раскрашивай DjVu Pal.

Если хочешь вручную картинку выделить, то тогда первое предложение данного поста игнорируй. На этапе "вывод" в СТ в правой части рабочей области (той, где ты видишь скан), есть кнопки, там выбираешь "зона картинок" и выделяешь, что считать рисунком (нужно поставить вручную минимум 3 точки и соединить их между собой. если "потянуть" любую из сторон такого выделенного треугольника, поставится еще 1 точка, которая пойдет за мышкой. Так надо выбрать границы рисунка). Нет программ под рукой, но в целом все написанное верно, хоть и сумбурно. Повторюсь, лучше буквицы и другой текст, выделенный однородным цветом, раскрашивай DjVu Pal (ссылка на программу,  инструкция в архиве http://www.djvu-soft.narod.ru/soft/djvu_pal_v1_1.rar).
А тут общая очередность действий:
http://www.djvu-soft.narod.ru/scan/diagram.htm

5
yuree
А как меня настораживает, не поверишь. Особенно, когда я только на миркниг опубликовал топик, ни одного скачивания не было за месяц. Сейчас, смешно признаться, 3 скачивания. Но не буду же я бегать по ru-board и другим сайтам, создавая везде одно и то же  :'(. Народ - жутко пассивный, за исключением тебя никто толкового не сказал. Большинство просто прочтет, не пробуя ничего, и из этого большинства 1 человек выскажет ИМХО, что мол, кому и зачем оно надо, ошибок распознавания будет больше, чем пользы. http://mirknig.com/forum/topic_5839#post-13702

Цитировать
успею, закончить распознавать, редактировать, переводить и оформлять книгу
Выложи потом словарик правки, интересно, какие косяки есть в основном. И какие у тебя есть мысли по слиянию словарей, чтобы дубли слов из них убирать?
Я все думаю, оптимально в чем выкладывать такой конвентированный текст. Меня смущают книги со ссылками внизу страниц. Может, наведешь на мысль, что делать с ссылками? С fb2 как-то мало сталкивался, читал (на ридере), но сам не делал.

6
Цитировать
По поводу включения в новый словарь то я вышел примерно таким путём. Создал, параллельно к твоему словарю — свой.
да, именно об этом я и говорил. Нужно в релизах создать файлик, в котором просить наших читателей, чтобы они сообщали об опечатках на форум/почту! Пусть составляют список вида "Украйна=Украина". Тогда мы быстрее подготовим второй словарь. Только нам, для страховки, прежде чем окончательно вносить новые слова в него, надо проверять, чтобы дореформенный вариант написания был однозначно грамотен, и ошибки не появлялсь из-за неуверенно распознанных символов.
По поводу названий и имен, можно включить самые распространенные.

-добавлено-
От макросов Rus_5.0.alfa1 решил отказаться. Там конвертация хоть и быстрее, но хуже, + там мы зависим от MS Word.

Сейчас смотрю, откуда ноги растут у нашего словаря для ФР, нашел кое-что интересное, выложу позднее.

По поводу 2 словаря для Иероглифа:
ъ-=-
+ здесь еще все новые символы-кракозябры надо убрать.

7
yuree
Нам осталось только, в идеале, отловить ошибки конвертации. Вот эти ошибочно сконвертированные слова включить в новый словарь иероглифа.


8
Протестировал. dict_1006649 делает необходимость правки минимальной (http://narod.ru/disk/37053923001/dict_old.rar.html). Так что можно получить вполне приемлемое качество и без ручной корректировки. Жду замечаний и предложений.

Общий алгоритм действий:
1. Чистим сканы до момента предварительной сборки. Если текст весь без иллюстраций, переходим к следующему пункту, если с иллюстрациями - используем st_split_v1_4 (и выше) и сканы из папки .../splitted/1

2. Один раз в FineReader 11 создаем и настраиваем новый язык (дальше уже пользуемся созданным): язык документа->Выбор языков... Откроется редактор языков, внизу слева нажимаем кнопку "Новый...", отмечаем "создать новый язык на основе существующего", выбираем в выпадающем меню "Русский (старая орфография), жмем ОК. Откроется окно свойств языка, вводим название, например "Русский (дореформенный, со словарем)". В разделе словарь выбираем "пользовательский словарь" и жмем кнопку "свойства..." В открывшимся окне жмем "импорт..." и выбираем словарь dict_1006649. Ждем, когда миллион шесть тысяч шестьсот сорок девять слов займут положенное им место. Давим кнопку "закрыть" в окне "словарь для языка", куда успешно импортирован наш словарь. в свойствах языка также жмем "ок". Затем и в редакторе языков отмечаем галочкой наш новый язык "Русский (дореформенный, со словарем)" (или как сами называли), он будет в самом низу, в пользовательских языках. Я ставил галочку также напротив языка "Русский и английский; (со словарной поддержкой). Жмем ок. Настройка языка распознавания окончена.

Жмем файл->открыть PDF/изображение (или Сtrl+O) и выбираем подготовленные нами сканы. Ждем-с.
Программа все распознает, потом можно править, а) можно так текст внедрить в DJVU (сам текст будет тоже в дореформенном написании) или б) преобразовать текст к современному виду (без внедрения в DJVU).

а) Сохраняем результат нашей работы, как "документ DjVu". Из него, используя DjvuOCR, извлекаем ОСR текст в .txt. Затем, подготовленные нами сканы самостоятельно кодируем djvu_smal или в чем привыкли. Доделываем по вкусу (DjVu Pal, djvuoutline_v1_1). и опять же с помощью DjvuOCR внедряем текст в уже правильно созданный нами DjVu. PROFIT!

б) см. первый пост с пункта 4


в) (результат конвертации получаем быстрее, но качество хуже). Сохраняем, как документ Word. Устанавливаем приложение "Пишите по-русски", которое представляет собой набор макросов для MS Word (Rus_5.0.alfa1)(подробно все в официальной справке). В ворде появятся новые кнопочки на панели инструментов. Используем ѣ (ять) "правописание до 1917 года", "перевести в новое". Ждем и сохраняем файл в нужном формате txt/rtf или других (перед этим можно отредактировать, при желании). PROFIT!
P.S. Связка MS Word 2010 и Windows 7 приведет вас к ошибке макросов (из-за разрядности систем, что-то от 64 есть там). Насколько я понимаю, если у вас в семерке другой ворд, то будет работать, и в XP/Vista должно тоже работать с любым вордом. Я поставил Oracle VirtualBox и на виртуалке проверил в WindowsXP и MS Word 2003, там все работает.

3. Публикуем материалы. Думаю, уместно сразу делать DjVu c OCR-слоем с оригинальным текстом и txt/rtf с текстом современного вида.


9
Вот, нашел словарь в старой орфографии на миллион слов. Но есть и минус, при распаковке и использовании в ФР, он существенно тормозит систему, так как весит более 24 мб. Если подключать, то тогда делайте копию языка в ФР русский (старая орфография), пользовательский словарь - импорт.

Также нашел набор макросов для word, которые тоже переводят орфографию. (P.S. в word 2010 и windows 7 они не работают, нужен или другой ворд, или другая система. На виртуалке проверил в XP с 2003 вордом - очень шустренько переводит).
Вот, все в архиве.

http://narod.ru/disk/37053923001/dict_old.rar.html

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

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

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

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

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

Оцифровка и 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


Страницы: [1]