Всеукраїнська науково-практична конференція



Сторінка33/60
Дата конвертації11.05.2018
Розмір3.74 Mb.
1   ...   29   30   31   32   33   34   35   36   ...   60

Морозевич Ю., Руснак М.


ЧЕРНІВЕЦЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ ІМЕНІ ЮРІЯ ФЕДЬКОВИЧА (УКРАЇНА)

ПРО ПРОБЛЕМУ ПЕРЕЙМЕНУВАННЯ ФАЙЛІВ ЗА КОНТЕКСТОМ



Запропоновано методи знаходження важливої інформації у неструктурованих контейнерах та їх застосування для розв’язування деяких задач бібліографічного опису.
На сучасному етапі розвитку суспільства усе більшу роль відіграють цифрові носії інформації. У електронному вигляді зберігають кінофільми і фотографії, книги і газети, музичні твори і т.д. Як правило, ця інформація організовується у файли певного типу, файли групуються в каталоги та підкаталоги, набір каталогів утворює бібліотеку. Зростання кількості файлів у бібліотеці породжує цілий ряд задач, які вимагають якнайшвидшого розв’язання.

Однією із таких задач є задача розробки і впровадження єдиного стандарту для іменування файлів у бібліотеці. Нажаль, на даний час єдиного стандарту немає. Аналіз способів іменування файлів у популярних електронних бібліотеках (Librusec, Genesis, TRAUM Library) показує, що назва файлу повинна містити три основних характеристики книги – ПІБ автора (авторів), назву книги та рік видання. Ці характеристики мають бути відокремлені одна від одної, що дозволить застосувати засоби авторизованої обробки.

В роботі розглядається задача побудови за заданими шаблонами імені файлу із використанням інформації, яка знаходиться всередині файлу. Формування нової назви відбувається за наступним принципом: Прізвище І.П. – Назва – Рік.тип.

Для розв’язування цієї задачі розроблена програма мовою С++, яка автоматизує перейменування файлів у бібліотеках великого розміру. На даному етапі програма аналізує вмістиме файлів у форматах .txt, .pdf, .djvu та .fb2, відшуковує потрібні для формування імені характеристики та здійснює перейменування файлу. Структура каталогів та бібліотеки в цілому зберігається. Якщо неможливо виділити необхідні характеристики із файлу, його буде помічено спеціальною позначкою і користувач зможе перейменувати файл вручну.

Файл із розширенням TXT містить неформатовану інформацію (за домовленістю) і тому дані про автора, назву книги та інші потрібні можуть знаходитись у будь-якому місці та у будь-якій послідовності.

Правила, які використовуємо для пошуку автора, назви та року у неформатованому файлі із розширенням txt:



      • для знаходження автора: шукаємо перше входження великої літери, наступними має бути мала літера поки наступний символ буде не малою літерою, наступний символ перевіряємо чи це є пробіл, наступний символ перевіряємо чи це велика літера, якщо так наступний символ перевіряємо чи це крапка, якщо так наступний символ перевіряємо чи це велика літера, якщо так наступний символ перевіряємо чи це крапка, якщо так то ми знайшли автора;

      • для знаходження назви книги: шукаємо перше входження символу « і починаємо записувати вмістиме поки не знайдемо символ » – це і буде назва книги;

      • для знаходження року: шукаємо перше входження цифри 1 або 2, якщо так перевіряємо наступних три символ чи вони є числами, якщо так то ми знайшли рік.

FictionBook (fb2) – формат електронних книг у вигляді XML-документів, в яких кожен елемент книжки і її атрибут описуються зазделегіть визначеним тегом.

Правила, які використовуємо для пошуку автора, назви та року у файлі із розширенням fb2:



      • для знаходження автора: шукаємо тег first-name, якщо тег не порожній, то за-пам’ятовуємо перший символ після >, потім шукаємо тег middle-name якщо тег не порожній, то запам’ятовуємо перший символ після >, потім шукаємо тег last-name, якщо тег не порожній, то запам’ятовуємо символи починаючи після символу < і до символу >. Після цього перевіряємо, чи щось записано до поля «по батькові» – автор матиме Прізвище І.П., в інакшому випадку Прізвище І.

      • для знаходження назви книги: шукаємо тег book-title, якщо тег не порожній, то запам’ятовуємо символи починаючи після символу > і до символу <. Назва книги знайдена.

      • для знаходження року видання: шукаємо тег data, якщо тег не порожній, то запам’ятовуємо перші чотири символи після символу >, інакше шукаємо тег data value, якщо тег не порожній, то запам’ятовуємо перші чотири символи після символу >. Рік знайдено.

Portable Document Format (PDF) — відкритий формат файлу, створений і підтримуваний компанією Adobe Systems, для представлення двовимірних документів у незалежному від пристрою виведення та роздільної здатності вигляді. Кожен PDF файл може містити повну інформацію про 2D документ, таку як: тексти, зображення, векторні зображення, відео, інтерактивні форми та ін. В грудні 2007 року, формат PDF було затверджено в якості стандарту ISO 32000. PDF є графічним файлом.

DjVu — технологія стискання зображення зі втратами, розроблене компанією AT&T спеціально для зберігання відсканованих документів — книг, журналів, рукописів та ін., де наявна велика кількість формул, схем, рисунків та рукописних символів, котрі роблять повноцінне розпізнавання такого документа надзвичайно складним та трудомістким. Також це дуже ефективне рішення, коли необхідно передати всі особливості оформлення документа.

Для того, щоб працювати з форматами pdf та djvu, які є графічними файлами і файли pdf закодовані, було вибрано варіант коли ми конвертуємо ці файли в зображення. Тепер потрібно навчитися розпізнавати текст і записувати його у файли. Для розпізнавання тексту нами вибрано бібліотеку Tesseract. Щоб зібрати цю бібліотеку нам потрібно установити програму MinGW яка потрібна для створення власне самих бібліотек. Tesseract-ocr використовує для роботи з зображеннями бібліотеку Leptonica.



Для роботи бібліотеки Leptonica необхідно встановити такі бібліотеки:

      • libJpeg - відкрита бібліотека програм, створена Independent JPEG Group(IJG). Містить функції для роботи із зображеннями формату JPEG і використовується багатьма вільними проектами. Написана переважно мовою програмування Сі з використанням асемблера x86 (синтаксис MASM);

      • libPng - офіційна еталонна бібліотека для роботи з растровою графікою в форматі PNG (спочатку була назва pnglib). Бібліотека є кросс-платформенною і складається із функцій, написаних мовою С. Для роботи libpng потрібна бібліотека  zlib;

      • libTiff - набір бібліотек і утиліт для перегляду та редагування TIFF-файлів. LibTIFF є вільним програмним забезпеченням, написана мовою програмування C.

Після встановлення цих бібліотек нам потрібно виконати ряд дій по створенню кінцевої бібліотеки Tesseract. Далі підключаємо бібліотеку до проекту.

Вважаємо, що інформація про автора, назву та рік видання знаходиться на перших двох сторінках. Ці сторінки за допомогою Tesseract розпізнаємо і записуємо текст до тимчасового файлу у форматі txt. За правилами обробки файлів формату txt, здійснюємо його обробку, знаходимо, потрібні нам дані і, по завершенні, видаляємо його.


ПЕРЕЛІК ЛІТЕРАТУРИ

1. Описание формата ТХТ [Електронний ресурс] / - Режим доступа : www. URL: http://reeed.ru/info_txt.php/ - 14.03.2013 p.

2. С++ [Електронний ресурс] / - Режим доступа : www. URL: http://uk.wikipedia.org/wiki/C%2B%2B/ - 14.03.2013 р.

3. Управление библиотекой и универсальный конвертер электронных книг [Електронний ресурс] / - Режим доступа : www. URL: http://habrahabr.ru/post/86451/ - 14.03.2013 р.

4. Создаём приложение на С++ с использованием Tessseract-orc, MinGW [Електронний ресурс] / - Режим доступа : www. URL: http://habrahabr.ru/post/126834/ - 09.04.2013 p.
УДК 004.891: 004.82



Поділіться з Вашими друзьями:
1   ...   29   30   31   32   33   34   35   36   ...   60


База даних захищена авторським правом ©wishenko.org 2017
звернутися до адміністрації

    Головна сторінка