Автор Тема: Программа для генерации наименования и метаданных DjVu и PDF  (Прочитано 39285 раз)

monday2000

  • Администратор
  • *****
  • Сообщений: 985
    • AOL клиент - -
    • Yahoo клиент - -
    • Просмотр профиля
    • Создание книг в электронном виде из бумажных книг (в формате DjVu)
    • E-mail
kv
Цитировать
ты не принимаешь мое предложение об изменении постановки задачи, изложенное в моем первом посте. Ну что ж, это - твое право. Я правильно тебя понял?
В общем, да. Но вообще-то я на все Ваши предложения ответил, как мне кажется.

Да Вы не переживайте - в жизни нет ничего идеального. И потом - совместная выработка какого-либо стандарта - всегда вызывает определённый конфликт интересов - это нормально.

Может, Вы правы, а я ошибаюсь - но мне это пока не очень очевидно. Если я в дальнейшем на своём опыте увижу, что лучше сделать как-то иначе - я переделаю.

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

kv

  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
    • E-mail
kv
Цитировать
ты не принимаешь мое предложение об изменении постановки задачи, изложенное в моем первом посте. Ну что ж, это - твое право. Я правильно тебя понял?
В общем, да. Но вообще-то я на все Ваши предложения ответил, как мне кажется.
ок. У нас разное понимание что такое ответ. Реальные примеры ты делать не хочешь, стандарт воспринимаешь как "простое словесное описание притом краткое". Ну дык давно бы уже написал это описание, а то на форуме ого-го сколько, а простого и краткого, как не было, так и нет. И вообще, я не понимаю что здесь можно "стандартизовать". Давал тебе ссылку на хоум-либ. Там есть задание правила именования файлов, в настройках это занимает 1/3 формы. Вот оно

Ну я б еще добавил длину поля, типа %f:40 - для полной ясности, так сказать. Ну и что тебе еще надо?
Цитировать
Да Вы не переживайте - в жизни нет ничего идеального. И потом - совместная выработка какого-либо стандарта - всегда вызывает определённый конфликт интересов - это нормально.
а с чего мне переживать? Да, потратил несколько часов на треп на форуме - ну и ладно. Это время я рассматриваю как потраченное на понимание, будет с этого польза или нет. Лично мне - при моей работе с либами, в смысле. Не будет. НУ а куда гробить личное время тебе - дело хозяйское, как грится.

Цитировать
Может, Вы правы, а я ошибаюсь - но мне это пока не очень очевидно. Если я в дальнейшем на своём опыте увижу, что лучше сделать как-то иначе - я переделаю.

Я считаю, что то, что предлагаю я, является разумным компромиссом между моей и Вашей позициями. Вы же бескомпромиссно настаиваете на своей позиции - и в этом я с Вами пока не согласен. Может, в будущем и соглашусь, не знаю - но пока что не хотелось бы (соглашаться на Ваш бескомпромиссный вариант на 100%).
у нас не позиция разная, а мировоззрение. Потому как я говорю, что прежде чем что-то делать, надо УМЕТЬ это делать. Например, с моей точки зрения, прога должна помогать в вычленении в сканах метаданных, должна сама лазать в базы ИСБН и выбирать все имеющееся. А у тебя - только заклинания, что хочу чтоб лучше чем NameCreator, но простой стандарт. Ну, хоти:)

monday2000

  • Администратор
  • *****
  • Сообщений: 985
    • AOL клиент - -
    • Yahoo клиент - -
    • Просмотр профиля
    • Создание книг в электронном виде из бумажных книг (в формате DjVu)
    • E-mail
kv
Цитировать
Например, с моей точки зрения, прога должна помогать в вычленении в сканах метаданных, должна сама лазать в базы ИСБН и выбирать все имеющееся.
Хорошая мысль. Возможно, в отдалённом будущем попробую и это сделать.
Однако, это непросто. Потребовалось бы делать визуальное окошко в программе - а я пока так не умею.

Теперь буду разбираться с реализацией метаданных.

monday2000

  • Администратор
  • *****
  • Сообщений: 985
    • AOL клиент - -
    • Yahoo клиент - -
    • Просмотр профиля
    • Создание книг в электронном виде из бумажных книг (в формате DjVu)
    • E-mail
Я задал Леону Боту несколько вопросов насчёт DjVu-метаданных. Как известно, djvused умеет напрямую работать с ними. Для этого там используются команды print-meta и set-meta - см. http://djvu.sourceforge.net/doc/man/djvused.html . Но некоторые подробности всё же неясны.

Вот мои вопросы и ответы Леона на них:

1. Где можно увидеть полный список всех возможных тегов DjVu-метаданных? Включая "BibTex bibliography system" (что это?) и "PDF DocInfo".
Цитировать
For the PDF tags, see the file djvuchanges.txt that comes with djvulibre.
For the BibTeX tags, a full list is way too long. 
But see the wikipedia entry http://en.wikipedia.org/wiki/BibTeX
and also the http://www.kfunigraz.ac.at/~binder/texhelp/bibtx-7.html.
2. Какова максимальная разрешённая длина для значения любого тега? Это очень важно.
Цитировать
I do not believe there is a maximum.
But things won't be pretty if they are more than 1024 characters long.
3. Разве "BibTex bibliography system" поддерживается хоть одним Caminova-продуктом? Вот "PDF DocInfo" поддерживается программой "DjVu Shell Extension Pack" - поэтому с "PDF DocInfo" уже можно связываться в своей программе (а насчёт того, стОит ли реализовывать в своей программе "BibTex bibliography system", я пока не так уверен).
Цитировать
Lizardtech did not have a metadata system.
We introduced the metadata annotation and specified the bibtex tags.
Lizartech eventually adopted the metadata annotation but uses the PDF DocInfo tags.
Very few people ever used the bibtex tags.

Here is the list of tags recognized by the tool "ExifTool":
http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/DjVu.html
4. Какие могут быть шансы, что Caminova примет XMP в качестве DjVu-метаданных?
Цитировать
See again the file djvuchanges.txt and the annotations in the attached djvu_with_xmp4.djvu.
This is what we push for.  Of course they may do something different some day, but the only thing we can do is push back.

Вот ещё ссылка по теме - в самом низу страницы люди обсуждают DjVu-метаданные:
http://i.posters.ec/node/157529

И вот статья про метаданные в JRA Publish: http://www.djvu-soft.narod.ru/planetdjvu/metadata_storage_for_djvu_files.htm .

По поводу длины данных: раз уж официального ограничения нет, то я тоже не стану ограничиваться 1024 байтами. Может, и сделаю какое-нибудь ограничение, но уж точно побольше. Допустим, 8 КБ. Надо подумать. Конечно, совсем без ограничения длины как-то неуютно.
« Последнее редактирование: 14 ЅЮпСам 2010, 11:51:44 от monday2000 »

ExeN-321

  • Новичок
  • *
  • Сообщений: 8
    • ICQ клиент - 412021067
    • Просмотр профиля
    • E-mail
Предлагаю свой вариант указания качества книги в имени файла. Простую 5и бальную систему я считаю непригодной, так как она неинформативна. Вариант с шестнадцатиричным числом тоже требует определенной квалификации пользователя. Я. вот, например не могу "в уме" перевести из шестнадцатиричной системы в двоичную, то есть этот код больше подойдет для программного разбора. На мой взгляд необходимо определиться с наибоее важными параметрами качества и уже им назначать оценку по 5и бальной системе либо записывать 0 и 1 как признак наличия/отсутствия информации. (к примеру отсканирована ли книга разворотами). От остального имени файла (надеюсь, что мы придем наконец-то к общему результату) предлагаю его отделять например скобками (как это принято при обмене фильмами). Например для DPI как и прелагалось ввести систему от 1 до 5 и присвоить букву D; есть ли OCR слой 0 и 1 и присвоить букву O и аналогично (извиниите не могу процитировать).Т.Е. имя файла пример такой вид: Habibulin I.Sh. - Samouchitel XML - 2003(D4O1).pdf. Кстати информацию отсюда можно брать и для шестнадцатиричного идентификатора или же распарсить сразу этот идентификатор. В случае появления новых критериев этот идентификатор можно легко масштабировать можно легко масштабировать.

monday2000

  • Администратор
  • *****
  • Сообщений: 985
    • AOL клиент - -
    • Yahoo клиент - -
    • Просмотр профиля
    • Создание книг в электронном виде из бумажных книг (в формате DjVu)
    • E-mail
ExeN-321
Цитировать
Вариант с шестнадцатиричным числом тоже требует определенной квалификации пользователя.
Этот вариант уже и мне не нравится - 5-балльная система лучше.
Цитировать
Простую 5и бальную систему я считаю непригодной, так как она неинформативна.
А как же школы и институты, работа которых базируется на 5-бальной системе? Для них, значит, достаточно информативна. И попробуйте представить себе работу школы, где вместо оценок ставят набор конкретных формализованных признаков качества.
Цитировать
На мой взгляд необходимо определиться с наибоее важными параметрами качества
Это нереально. Совершенно никак невозможно сделать (в общем случае). Понятно, что в случае наличия сдвоенных разворотов мы можем сказать - да, это один из "наиболее важных параметров качества".

Но есть куча других случаев, когда один и тот же признак для одной книги существенен - а для другой почти неощутим. Например, DPI. Для сканов высокого качества может оказаться практически несущественным то, что они, скажем, на 300 dpi - а не на 600. А для мелкого текста - наоборот - 600 dpi или 300 - уже важно.

Кроме того, если взять поганые сканы на 150 dpi и переделать их в Scan Tailor в 600 dpi - то они лучше от этого практически не станут - хотя формально эти сканы обретут признак "600 dpi". И что, считать DPI после этого серьёзным признаком качества?

Только визуальный осмотр человека способен сказать, на какой из 5 баллов качества "тянет" данная книга.

Естественно, будет опубликована некая табличка, где основные признаки качества будут сведены по баллам - от 1 до 5-ти. Но такая табличка будет носить исключительно рекомендательный характер.

Нельзя всё многообразие мира втиснуть в малый набор формальных признаков.

Мы не в силах ЗАРАНЕЕ предугадать, какой именно признак качества окажется решающим для данной эл. книги. Например, бывает так, что сделана плохая бинаризация - отчего буквы и особенно чёрно-белые картинки выглядят как днище корабля, обросшее ракушками. Вот и попробуйте формализовать этот признак. И таких признаков наберётся много.
Цитировать
есть ли OCR слой 0 и 1
А это я бы вообще не считал как признак. Если OCR-слоя нет - никакой проблемы нет его сделать - практически в автоматическом режиме (под Windows, но, если очень постараться - то можно будет и под Linux). Можно вообще сделать такую программу, которой указываешь некую папку с книгами, и она чтобы автоматически обходила итеративно эту папку и все в неё вложенные, искала в ней DjVu-файлы, проверяла, есть ли там DjVu-файлы без OCR-слоя, и, если нет, делала бы его. И всё это полностью автоматически - на базе FineReader. И тогда пусть там хоть тысячи книг - какая разница - запустил программу и ушёл на работу - а к вечеру все DjVu в папке гарантированно обретут OCR-слой - и всё это полностью автоматически.

Вообще, книги плохого качества нужно переделывать в приемлемое качество. И тут как раз 5-ти бальная система особенно хороша. Она сразу отвечает на вопрос - "надо ли переделывать данную книгу"? и "является ли данная книга адекватной по качеству"? Чтобы получить ответ на эти вопросы, достаточно будет лишь бросить один взгляд на имя файла - чтобы увидеть оценку (от 1 до 5).

Наличие сдвоенных разворотов - это тоже не должно быть признаком качества, потому что такие книги нужно просто переделывать - в разрезанные развороты - и тогда признак "Наличие сдвоенных разворотов" утратит смысл. Сдвоенным разворотам можно просто не заморачиваясь ставить "двойку" - чтобы потом знать, что данную книгу нужно переделать.

То есть, если подразумевать возможность переделки книг низкого качества в приемлемое качество, то тогда и 5-бальной системы оценивания качества хватит за глаза - при всей её "огрублённости", она сразу проранжирует книги по общему качеству и необходимости переделки.

А ещё, даже переделка книги из плохого качества в приемлемое не всегда гарантирует достижение нормального качества данной книги. Хотя, казалось бы, тут и развороты уже порезаны, и DPI уже стало 600, и все прочие нужные манипуляции проделаны (deskew, despeckle) - а качество всё-таки не то. И тогда только человек может интуитивно сказать, какое всё-таки качество получилось в результате переделки - 3, 4 или 5.

Вопрос определения качества - это тонкий и субъективный процесс, его невозможно формализовать.
« Последнее редактирование: 21 ґХЪРСам 2010, 10:24:49 от monday2000 »

Alfizik

  • Новичок
  • *
  • Сообщений: 27
    • Просмотр профиля
Прошло не так уж и мало времени, поэтому хотелось бы узнать сдвинулось ли что либо в плане метаданных в DjVu (появились ли утвержденные спецификации и программы (желательно с графическим интерфейсом) по внедрению\редактированию метаданных в DjVu)?

monday2000

  • Администратор
  • *****
  • Сообщений: 985
    • AOL клиент - -
    • Yahoo клиент - -
    • Просмотр профиля
    • Создание книг в электронном виде из бумажных книг (в формате DjVu)
    • E-mail
Alfizik
Я ничего не делал пока в этом направлении. А Леон Боту сделал поддержку XMP-метаданных в djvused.

Не ждите от меня быстрых результатов с метаданными. С ними ещё нужно будет разбираться, как ими конкретно пользоваться, что означают конкретные поля, что туда писать, и т.п.

ExeN-321

  • Новичок
  • *
  • Сообщений: 8
    • ICQ клиент - 412021067
    • Просмотр профиля
    • E-mail
Сам сейчас вплотную столкнулся с этой проблемой. Накопилось большое количество книг, все не пойми - как названы. Для себя решил использовать следующую схему наименования:
папка библиотеки \ категория\подкатегория\ файл.
Насчет категории - ИМХО, юзер имеет полное право выбирать что угодно, хотя надо будет присмотреться к классификаторам УДК и ББК. ISBN я считаю лучше использовать в метаданных. Почему я склоняюсь к произвольному названию категории? Потому что если предположим у некоего сферического юзера в вакууме есть предположим 200 книг по Photoshop, то не есть хорошо их складировать в одну папку. Классификаторы с точки зрения пользователя для меня под вопросом, потому что как правило в домашней библиотеке хранится много файлов по нескольким отраслям из этих классификаторов.
Что касается имени файла, то я пока остановился на таком варианте:
Иванов И.И., Петров А.А. - Супер-пупер книга (2000).djvu. На мой взгляд двух авторов вполне достаточно, разделители так же могут быть автоматически распарсены на веб-сервере. Что касается имени файла, то оно может быть также сгенерировано/транслитерировано/распарсено на веб-сервере. Представляю себе процесс следующим образом (взгляд со стороны пользователя):
Он разыскивает/сканирует книгу, обрабатывает ее моей программой, тем самым получая человеко-информативное имя файла и его расположение. Расположение важно потому, что не все (личное мнение) захотят пользоваться какими - либо специальными программами для выбора файла, а обычные файловые менеджеры являются неотъемлемой частью любой ОС. На этом этапе у меня встает следующий вопрос, который уже обсуждался в данном топике, но однозначный ответ на него так и не найден:
Цитировать
как заменять спец.симовлы в названии книги?
. Также интересует следующее: в наш 21 век ко многим книгам прилагаются электорнные сопроводительные материалы (диски, дискеты с исходниками программ, например). На мой взгляд они должны также находиться в библиотеке, но вот как их именовать/сохранять?
Двигаемся дальше. Вот юзер захотел выложить книгу в электронную библиотеку. На странице загрузки необходима форма, в которой указываются основные данные книги. Далее на веб-сервере они записываются в его БД. После проверки правильности заполнения (модерации) данные записываются в метаданные файла и файл становится доступным для скачивания. Я считаю, что ответственность за книги, попадающие в сеть должны нести администраторы ресурсов, т.к. среднестатистический пользователь не будет задумываться о правильности заполнения метаданных, когда книга сделана для себя, а вот когда собирается ее выложить, то почему бы и нет?
В конце - концов если кому - либо необходима локальная БД для книг это можно реализовать программно, но на уровне ее заполнения для пользователя, то есть скажем так сделать предварительную загрузку файлов на сервер; на основании метаданных, найденных в книге заполнить поля формы, предлагая дополнить недостающие.

ExeN-321

  • Новичок
  • *
  • Сообщений: 8
    • ICQ клиент - 412021067
    • Просмотр профиля
    • E-mail
Кстати, 245 символов на имя файла ИМХО очень много, т.к. зачем навязывать пользователю ограничение на размещение каталога?. например если некий Ivanovivaninanovitsh захочет сохранить свою библиотеку в "Моих документах", то под WinXP получится примерно следующее: Диск:\Documents and Settings\Пользователь\Мои документы. На мой взгляд чем меньше символов в имени файла (при сохранении названия, понятного для человека) тем лучше. Как я писал (см.пост выше), у меня уже есть некоторые наработки (самые простейшие) "для себя". Пока сыровато получается, чтобы выкладывать, как доделаю - обязательно выложу здесь (оринтировочно на следующей неделе). Исходники тоже не жалко, но это моя первая программа, сейчас находится скажем так на стадии альфа-тестирования и опрелеления необходимого функционала.

ExeN-321

  • Новичок
  • *
  • Сообщений: 8
    • ICQ клиент - 412021067
    • Просмотр профиля
    • E-mail
 Как и обещал - выкладываю свое творчество для ознакомления всем желающим. Жду предложений по доработке.
http://ifolder.ru/30449417

ExeN-321

  • Новичок
  • *
  • Сообщений: 8
    • ICQ клиент - 412021067
    • Просмотр профиля
    • E-mail
Устранены ошибки, улучшен интерфейс, добавлены возможности версия 1.1
http://ifolder.ru/31121820

57an

  • Постоялец
  • ***
  • Сообщений: 201
    • Просмотр профиля
    • Djvu Bookmarker on SF.net

Программа без наличия папки d:\\books вообще не запускается.
Подписи у текстовых полей либо нет, либо справа, либо над, либо под - нужно один раз определиться и сделать одинаково.
Подумайте над группировкой полей - почему верхнее без названия, а нижние с названием.
Кнопка показать название лишняя - поле предпросмотра должно автоматически обновляться по мере заполнения полей.

Равномерное и симметричное распределение полей и кнопок по форме - это еще не интерфейс.

ExeN-321

  • Новичок
  • *
  • Сообщений: 8
    • ICQ клиент - 412021067
    • Просмотр профиля
    • E-mail
Спасибо, учту Ваши замечания

nau

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
    • E-mail
Здравствуйте, предлагаю свой вариант метаданных. Думаю, что для полноценного поиска и сортировки необходима некоторая избыточность информации. 
http://www.onlinedisk.ru/file/987425/