Об одном подходе к созданию электронных библиотек

Введение.

В настоящее время, по-видимому, каждый пользователь на своем компьютере имеет подборку электронных книг, которая с течением времени все увеличивается и становится все менее обозримой. Это может быть художественная литература и/или научно-техническая литература, помогающая решать бытовые или профессиональные потребности.

Как простыми средствами, доступными большинству пользователей, создать свою библиотеку электронных книг, т.е. как-то упорядочить книги, организовать поиск информации? 
В случае художественной литературы эта задача решается простыми средствами, достаточно упорядочить файлы электронных книг по тематике их содержания, разложив книги по соответствующим тематическим папкам. Если в именах файлов есть информация об авторе книги и ее названии, то, просматривая список файлов в соответствующей тематической папке, легко найти нужную книгу.

Что касается литературы научно-технической, то здесь подобное решение недостаточно, надо еще и организовать поиск информации по ключевым словам, так как интересующая пользователя информация может располагаться как в различных книгах, так в разных местах данной книги.


Когда мы приходим в библиотеку и хотим ознакомиться с литературой по какой-то теме, мы смотрим каталог библиотеки, находим соответствующий теме раздел каталога, просматриваем список литературы, представляющий данную тематику. Далее среди этого списка находим книги, которые, исходя из названия, наиболее близко соответствуют нашей теме. По аннотациям к книгам  выбираем   какую-то конкретную книгу или группу книг. Затем уточняем наш поиск непосредственным знакомством с каждой из отобранных книг. При этом знакомство с книгой выглядит следующим образом. Сначала читаем оглавление книги. Если мы не находим данной темы, возможно из-за слишком узкой темы ( научного понятия, термина и т.п.), то пытаемся заглянуть в предметный указатель книги. Если наш поиск и здесь не увенчался успехом, мы  продолжаем поиск среди других выбранных книг или вновь обращаемся к каталогу библиотеки.

Еще несколько примеров, подчеркивающих важность просмотра оглавления книги и ее предметного указателя. 
1) Книжный интернет магазин "
Amazon" в рубрике описания книги "Search inside this book" дает возможность ознакомиться оглавлением и предметным указателем книги;
2) На странице 
books.google.com для ознакомления с книгой всегда предлагают ознакомится с ее оглавлением, а иногда с ее предметным указателем;
3) Когда автор этих строк сообщает своим коллегам о появлении новой книги, то в ответ всегда слышит - "А покажите, пожалуйста, оглавление этой книги "


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

В известных нам электронных библиотеках в большинстве случаев поиск ограничивается титульной информацией книги: автор(ы), название книги, издательство, год издания.

Таким образом, описанный выше поиск по электронной библиотеке соответствует ручному поиску по каталогу библиотеки.

Как   автоматизировать просмотр оглавлений и предметных указателей каждой книги.  в случае электронной библиотеки ?

 

Что такое в данном варианте библиотека электронных книг?

Библиотека представляет собой множество пар:  файл формата djvu или pdf + папка с htm-интерфейсом.  Папку htm-интерфейса для файлов книг в формате pdf и djvu  создает программа  DJVUmark

Например, библиотека из двух книг: 
Символом "\" обозначены папки.

atomic_and_laser_spectroscopy\
Ultrafast_infrared_vibrational_spectroscopy_p\
atomic_and_laser_spectroscopy.djvu
Ultrafast_infrared_vibrational_spectroscopy.pdf


Имя папки htm-интерфейса совпадает с именем файла книги для формата djvu, в случае формата pdf к имени файла книги добавляется суффикс _p

Покажем содержание папки htm-интерфейса упомянутой выше папки atomic_and_laser_spectroscopy\


Естественно, возникает вопрос, насколько много памяти занимает папка htm-интерфейса по отношению к объему памяти файла книги. Подсчеты показывают, что в среднем объем памяти папки интерфейса составляет менее полутора процента от объема памяти книги. Эти данные получены при рассмотрении от 500 до 1000 папок. Надо отметить, что размер папки интерфейса может быть уменьшен, по крайней мере, в два раза, поскольку в этой папке кроме файлов htm имеются еще текстовые файлы, которые использовались при получении файлов htm, и эти текстовые файлы могут быть удалены без нарушений работы библиотеки.


Основу папки составляют два или три  файла формата htm.

1) файл R_<lex>_content_< имя папки htm-интерфейса.htm. Здесь и далее <lex> для файлов djvu равно d, а для pdf - p
Этот файл получен из текстового файла оглавления книги путем замены номеров страниц на гиперссылки, позволяющие открыть книгу на данной странице.


2) файл присутствует, если в книге имеется предметный указатель.
Имя файла R_<lex>_index_< имя папки htm-интерфейса>.htm.
Файл создается точно таким же образом как и файл оглавления с той лишь разницей, что берется текст Предметного указателя.


3) Файл Read_<имя файла книги>.htm При открытии этого файла на дисплее отображается   двухоконный интерфейс для чтения книги в формате djvu или pdf с использованием её оглавления и предметного указателя(индекса).

В левом окне отображается оглавление или предметный указатель книги. В правом окне отображаются страницы книги.
Для отображения нужного раздела оглавления или терма предметного указателя необходимо "кликнуть" левой клавишей по номеру страницы ( он выделен синим цветом и является гиперссылкой) . Этот номер стоит рядом с названием раздела  или терма.

 

Пример открытия файла Read_atomic_and_laser_spectroscopy.djvu.htm

а) титульная страница книги

б) открытие книги на 17-ой странице.

Инструменты плагина позволяют листать книгу и открывать ее на заданной странице. В данном случае книга открыта на второй главе.



Таким образом с помощью папки htm-интерфейса интернет браузер, оснащенный плагинами для просмотра файлов djvu и pdf, превращается в вьювер(читалку) книг с хорошей системой навигации на основе оглавления и предметного указателя.
В данном случае файлы оглавления и предметного указателя играют ту же роль, что и закладки (Bookmarks)  время чтения файла с помощью программ-вьюверов.

С помощью плагинов книжку читают, когда обращаются к ней через гиперссылку. Это было показано  выше.  При непосредственном обращении к электронной книге она открывается соответствующей программой.

Для  файла djvu при построении библиотеки предполагалось, что он будет открываться программой  WinDjView. Для открытия файлов pdf может использоваться любой вьювер, например, Adobe  Acrobat Reader.

 На  иллюстрации, представленной ниже, слева показан скриншот обращения к файлу djvu с помощью  WinDjView, справа показано обращение к этому же файлу через htm-интерфейс.  Картинка слева и картинка справа практически одинаковы. Это следствие того, что файл закладок, который внедряется файл книги, создается на основе файлов content_... и index_ ... из папки htm-интерфейса. Размер можно увеличить путем клика по картинке

А это htm-интерфейс к файлу pdf .  Здесь можно сравнить файлы интерфейса и закладок файла

 

 
Итак, пара электронная книга ( формат Djvu или Pdf ) + htm-интерфейс к этой книге - прекрасный строительный материал для библиотеки электронных  книг.

Как и для обычной библиотеки для электронной библиотеки также нужен путеводитель. Одним из них является  каталог.

Каталог библиотеки - Catalog_Library.pdf


Каталог библиотеки представляет собой  список описания  книг. Форма представления может быть разной.

 Простой формат строки описания книг:

* Автор(ы),НАЗВАНИЕ КНИГИ,Издатель, год изд.,href="имя_файла_книги.pdf(djvu)"

Расширенный формат строки описания книг:

* Автор(ы),НАЗВАНИЕ КНИГИ,Издатель, год изд.,href="имя_файла_книги.pdf(djvu)"
KEYWORD: клюевое_слово11,...,клюевое_слово1n
-------: клюевое_слово21,...,клюевое_слово2n
...........................................
-------: клюевое_словоn1,...,клюевое_словоnn.

Пример. Расширенный формат.

* Jose A. C. Broekaert, ANALYTICAL ATOMIC SPECTROMETRY WITH FLAMES AND PLASMAS, Wiley-2002., href="Analytical_Atomic_Spectrometry_with_Flames_and_Plasmas.djvu"
KEYWORDS: inductively coupled plasma (c); absorbance (i);
--- spectral line (i); band emission (i); monochromator (i); microprobe (i);
--- energy level (i); graphite furnace atomic absorption (i);
--- mass spectrum (i); transmittance (i); oscillator strength (i);
--- selection rule (i); spectral resolution (i);

* Anne Myers Kelley, CONDENSED-PHASE MOLECULAR SPECTROSCOPY AND PHOTOPHYSICS, Wiley 2013., href="Anne_Myers_Kelley-Condensed-Phase_Molecular_Spectroscopy.pdf"
KEYWORDS: oscillator strength (c); molecular vibration (c);
--- normal mode (c); selection rule (c); jablonski diagram (c);
--- quantum yield (c); depolarization ratio (c); absorbance (i);
--- stokes shift (i); magic angle (i); absorptivity (i);
--- phosphorescence (i); spectral hole burning (i); spin echo (i);
--- transmittance (i); triplet state (i); voigt profile (i);

Строки описания книг формируются программой на основе папок htm-интерфейса. Для получения расширенного формата программе представляется список ключевых слов ( понятий), описывающих научную область, к которой принадлежат книга данной библиотеки. Программа осуществляет поиск каждого ключевого слова в названии книги, в  ее оглавлении и предметном указателе. При обнаружении каждого слова оно вносится в список слов после строки описания книги. В круглых скобка помечается одной буквой, где слово найдено:
 
t, с, i    Эти буквы  сокращение от title, content, index .

Далее предоставляется возможность обработки файла content_Catalog_Library.txt : 

1. Структурирование линейного списка строк описания книг путем их классификации по различным темам области знаний, к которой относится данная коллекция книг.

Это можно сделать путем вызова функции "Классификация строк каталога".

2. Созданные разделы книг функцией классификации можно ранжировать по годам их издания. Эту операцию осуществляет функция "Разделение книг каталога по годам издания".

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

Для поиска книг по каталогу библиотеки создается файл  Search_for_books_in_the_library_catalog в формате  doc. class="MsoNormal">Предпочтение отдано поиску с помощью файла в формате doc. Тому есть, по крайней мере, две причины.

Первая (и главная) в этом случае используются вьюверы для чтения  файлов djvu и pdf, а не плагины для броузера. Вторая причина, поиск в программе Word более богатый, чем в броузере.

Если  результаты поиска по каталоге не дали ожидаемых результатов, можно запустить поиск контекста по всем оглавлениям и предметным указателям библиотеки - это на скриншоте  текст "Запуск программы поиска"

Введение расширенного формата представления строки каталога библиотеки существенно расширило возможности поиска информации по каталогу библиотеки. При простом формате сведения при поиске извлекалась только из титульного описания книги: названия, авторов, года издания и т.п.

 

Конечно, приведенный список ключевых слов, не описывает полностью данную книгу, хотя бы потому, что

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

б) каким  бы не был большим такой список, он отражает список УСТАНОВИВШИХСЯ  понятий. Новая книга может содержать совершенно новые понятия.

ОТСТУПЛЕНИЕ: а где найти набор ключевых слов, характеризующих данную область?.  Их можно найти для многих областей науки. Формат запроса CATEGORY:  section name of science. Например, Category:  Spectroscopy , Category:Optics

Эксплуатация выявила один существенный недостаток каталогов на основе закладок к файлу формата djvu. Наличие множества ложных "кликов"  при работе с каталогом в расширенном формате.

На заре создания механизма закладок предполагалось , что каждая строка закладок есть гиперссылка.
Но с развитием приложений оказалось, что очень часто надо вставлять строки с текстом названий структурных блоков и прочую информацию, ссылки здесь не имеют смысла. Но наличие таких строк ведет к ложным "кликам". Такое явление и возникает  при расширенной форме представления строк оглавления. Ведь список ключевых слов гиперссылок не имеет.

Как выход из такой ситуации, это переход к использованию каталога на основе закладок к файлу формата pdf.

В закладках к файлам формата pdf имеется возможность цветного отображения строк закладок. Например, есть возможность с помощью цвета  выделить строки, имеющие гиперссылки, одним цветом, а строки, которые не имеют ссылок, выделить другим цветом, и таким образом исключить ложные клики.  Поэтому в последнее время перешли на этот вариант создания каталога.

 В последнее время появилось много новых версий известных ранее броузеров,  появились и много новых броузеров и вместе с этим  возникла проблема плагинов для чтения файлов djvu и pdf.  Даже опытному  пользователю не легко справиться с задачей их подключения.  Поэтому при создании каталога библиотеки в папку с библиотекой включается  папка Quick_Reference, куда  помещаются  портабельные версии программ, необходимых при работе с библиотекой, в том числе и броузер с плагинами  djvu и pdf.

  

О ПОИСКЕ КЛЮЧЕВЫХ СЛОВ и РАЗДЕЛЕНИЕ КНИГ НА КАТЕГОРИИ.

В настоящее время список книг делится на трехуровневые структуры, на языке оглавлений книг это: часть, глава, параграф.

Ниже дан пример задания на классификацию строк каталога библиотеки по обработке изображений:

Image Processing: Hyperspectral&Image;Remote Sensing;optic;video;imaging;segmentation algorithm;edge detection;
Computer Vision: Computer&Vision;visual;
Pattern Recognition: Pattern Recognition;face&Recognition;finger&Recognition;
Текст до символа ":" - это названия структур типа "часть" Далее через точку с запятой перечислены структуры типа "глава"

Если в библиотеке есть книги, которые не содержать ни одного из перечисленных ключевых слов, то создается структура типа "часть"  с названием NO KEYWORDS: Books other subjects. В этот раздел записываются все книги с данным свойством.

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

Как следует из файла keywords categorized by specific topics images.txt:  Структура Image Processing могла иметь 7 структур второго уровня.  В конкрктном случае их оказалось всего 3.

Ключевое слово ( или контекст) это : это одно слово (или его корень), или группа слов, или тоже самое, но "закавыченное", или простейшее логическое выражение.

Логическое выражение: простейшая дизъюнктивная форма или другими словами логическая сумма конъюнкций.

Например: face&Recognition|finger&Recognition;

| - логическое "или",     & - логическое "и"

В конъюнкции допускается применение оператора отрицания ^

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

Структуры третьего уровня ( типа "параграф") появляются при ранжировании по годам издания списков книг структур второго уровня .

Как правило,  наиболее интересны научные книги за последние несколько лет. Поэтому перед выполнением функции ранжировки, программа запрашивает год ХХХХ , по который книги нужно разложить по годам, остальные книги перечисляются в разделе "год издания ХХХХ и старше." В программе установлено, что ХХХХ не может быть меньше, чем 1931. В ДЕМО-библиотечке в качесте ХХХХ взят 2012 год.

На скриншоте , представленном выше, видно, что в  разделе  optic есть только книги, изданные после 2012 года.

Так как осенью текущего года некоторые издательства выпускают книги по плану следующего, то если ранжерование проводить в конце года, может оказаться в библиотеке есть книги следующего года, и  этот факт учтен в программе.

В настоящее время все эти функции выполняет программа DJVUmark.

Работа с библиотекой без каталога

.
Простая коллекция таких пар в сочетании с функциями поиска текстовой информации общего назначения, например,  функции поиска в ОС Windows или функции, имеющиеся в файловых менеджерах типа Frecommader, Total Commander и т.п превращается в полноценную электронную библиотеку с эффективным поиском информации, недоступным большинству современных электронных библиотек.

Total Commander

Первый файл - второй том справочника Totzeck Michael , Gross Herbert, HANDBOOK OF OPTICAL SYSTEMS : Physical_Image_Formation,
Второй файл - первый том справочника The Infrared & Electro-Optical Systems Handbook: Vol.1: Zissis G.J. (editor), Sources of Radiation (1993)

Открываем первый результат.

Кликаем по гиперссылке 19. Получаем:

Второй результат поиска. Найден контекст в предметном указателе:::

Переходим по гиперссылке 170 и открываем

Открываем  закладки этого файла и определяем, к какой книге принадлежит данная  страница.

 Использование  команды ПОИСК  в Windows XP,

Наша цель  с помощью команды ПОИСК Windows  XP  выяснить, в папку  M:\add-mart-2012  в период с 06.2011 по 03.2013 не были случайно добавлены книги, в которых обсуждался  термин diffraction.

В меню команды ПОИСК надо заполнить информацию о цели поиска. Там имеется несколькоо
граф для заполнения.

Рассмотрим некоторые из них:

1) графа - "часть имени файла или имя целиком". В этой графе указываем:
*.cont*.htm


Можно было бы добавить еще и *.index*.htm . Но в данном случае мы ограничимся только оглавлением, поскольку, если ключевое слово упоминается в оглавлении, то это означает, что данное понятие(термин, ключевое слово) серьезно обсуждается в данном месте книги.
В предметный указатель очень часто включают и несущественное упоминание термина на данной странице.

2) графа -"слово или фраза в файле". В этой указываем текст ключевого слова, что мы хотим найте,
например, diffraction

3) графа - "Поиск в". В этой графе есть ниспадающее меню. Открываем его и выбираем "обзор"
Например, выберем папку M:\add-mart-2012, где хранятся файлы пополнения библиотеки OPTICS, созданные в период с 06.2011 по 03.2013.

Заполнение этих трех граф обязательное..


Далее рассмотрим графы, уточняющие поиск.


4) графы - "Когда были произведены последние изменения"
Здесь выберем в качестве примера графу "указать диапазон" и укажем данные для "с" и "по"
с 30.12.2012
по 28.01.2013

Итак,  в ходе поиска  выполняем следующее:

1) запускаем команду ПОИСК в меню команды ПУСК
2) заполняем информацию о поиске, как описано выше
3) нажимаем "найти"  Из него следуем, что добавлены две книги.

4) кликаем по строке результата поиска и открываем файл *.htm, например, второй файл из списка результатов.
5) в команде броузера НАЙТИ набираем diffraction
6) получаем подсвеченные строки 7 , 7.2 и 7.3, где есть текст "diffraction"
7) раздел " 7 Diffraction Effects and Their Applications 181" расположен на 181 странице файла
Introduction_to_Optics_and_Lasers_in_Engineering.djvu Это следует из текста файла R_d_content....
В данном случае текст "181" есть гиперссылка на 181 страницу книги.
8) кликаем по ссылке 181 и во всплывающем окне On-the-fly

и читаем страницу книги, где расположен текст заглавия раздела " 7 Diffraction Effects and Their Applications 181".


В данном примере первый результат представляет файл формата pdf, второй - djvu..
Отображение страниц, где найдено ключевое слово diffraction осуществлено в броузере OPERA.

Ниже отображение найденной страницы в файле Field_guide_to_lens_design.SPIE(2012).pdf