Як розділити PDF на окремі файли (за змістом)
Приміром, є 100500 підручників з математики... І мені дуже хочеться знати, що таке інтеграл...
В одному прочитав — наче зрозуміло... майже... на 83 %... Але ж хочеться впевненості!
Треба подивитися інше джерело... Може інший автор сформулював доступніше...
Поки відкриєш інше джерело — наполовину забув те, що в попередньому...
---------------------------------------
Звідси ідея — сгрупувати інформацію не по авторам... підручник такого-то автора... а по темам.
(для простоти — нехай підручники будуть у вигляді pdf)
---------------------------------------
Тобто спочатку треба проаналізувати pdf, знайти де починаються розділи... скажімо:
3. Інтеграл
2.5.3 Логарифм
7.4.1.3 Ще якась фігня
Проблема ось у чому.
Якби кожен розділ починався з нової сторінки — можна було б легко розділити документ програмою Acrobat.
Але так не буває...
Сучасні підручники досить ємкі, і глави чи параграфи можуть починатися і з середини сторінки... з будь-якого місця.
Тобто треба задати програмі не сторінку... а який вид має цей заголовок у тексті...
Ну там «Глава 1», «Розділ 5», «Параграф 7», «2.5.6.1 Інтеграл»... крім того можна шукати по шрифту, який відрізняється від основного тексту.
І потім розділити документ «pdf — підручник» на багато «рdf-розділ підручника тема така».
------------------------------------------
Спочатку я це все спробував пояснити ChatGPT...
Витратив пару годин... нічого не виходило... тобто виходило кожного разу щось інше... це дуже дратувало...
Згадав про інші варіанти... наче для програмування хвалили Cloude...
Зовсім інша річ... настрій покращився... якось ця модель... більше розуміє задачу... і взагалі...
Граюся... переписую, запускаю скрипт Python... переглядаю результат... уточнюю задачу...
Ще далеко не ідеально, але прогрес наче є.
-----------------------------------------
Питання:
Якщо хтось з цим стикався (розділити pdf за розділами) — пишіть у коментарях, як ви це робили )
Ну або є десь готова програма, щоб я не мучився )
13 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарівCloude
поставив йому задачу:
є pdf, треба проаналізувати зміст, автоматично створити закладки,
і розбити на окремі файли згідно закладок...
це найпростіше формулювання... я вже і сам зрозумів, поки думав )
згенерував код пайтон... загалом працює... потроху удосконалюється
Вас у гугл забанили?
Є простий сервіс www.ilovepdf.com
А також чудова програма PDFGear яка доступна в Appstore та MicrisoftStore і безкоштовна.
розділити по сторінках немає проблем...
або по закладках верхнього рівня... які іноді ще треба зробити...
цікаво, як розділити за змістом — по параграфах , коли вони знаходяться посередині сторінки...
res.cloudinary.com/.../cppir76vp9mbrdpe3n5n.png
Якщо PDF файли це скани то їх треба розпізнати в текст.
Потім все треба проіндексувати. Тобто, весь вміст файлів прочитати і зберегти в якусь базу.
Можна зробити векторну базу даних, тоді буде легше інтегрувати з ЛЛМ. А можна в щось типу Solr
Залежно від ваших потреб. Якщо лише шукати по документах до Solr підійде. По ключових словах поверне кусок вмісту і документ.
Можна ще застосувати техніки ML і розбити документи на категорії, або додати теги до кожного документу. Це саме можна зробити з допомогою LLM
Встановити LLM + RAG локально.
Я юзаю Ollama 3.2 як LLM + llama index як RAG. Скармлюєш свої ПДФки, потім можно запитувати питання, досить добре дає відповіді.
Сгенерувати код можно за допомгою Cursor
Як варіант 2 — можно використати Notebook LM от Гугла. Дуже класна АІйка для аналіза великого контекста. Можно задати багато файлів як контекст
я користуюсь NotebookLM... але там є обмеження... навіть у платній версії...10-20 джерел до 50 сторінок...
завантажити-то можна до 300 джерел до 200 Мб в один блокнот...
але реально під час обробки він бачить
я це не одразу зрозумів...
на елементарне питання -«скільки джерел я завантажив?» — він кожного разу дає різні відповіді...
тому я у СhatGPT розпитав про NotebookLM )
він радить спочатку краще підготувати інформацію
res.cloudinary.com/.../bp4j4wyelaitgpach2ft.png
ripgrep-all + tesseract-ocr для нужных языков, если pdf просто сканы картинок
просто знайти сторінку по фразі і все?
res.cloudinary.com/.../lne7o6eqhiri46o5m2vd.png
Ще можна писати конспект, від руки, занотовувати найбільш важливі для себе деталі.
Так, це довше, але інформація систематизується саме для себе, в зручній формі.
Потім легко повернутись до конспекту і швидко згадати речі які забулись, навіть після перерви
це само собою..
а застосовувати інтеграли на практиці — мабуть ще цікавіше за складання конспекту...
але спочатку треба якось вибрати джерело з багатьох ...
якщо послухати фахівців чи студентів, можна почути:
оцей підручник кращий, цей гірший...
як таке можливо, хіба математика не однакова?
звідси ідея — скласти усі підручники на одну тему докупи за допомогою сучасних засобів... а потім видалити дублі... видаляти зайве... міняти структуру під свої задачі... гратися з цією інформацією... аж поки не стане все зрозуміло...
я в них не розбираюся... це просто як приклад...
задача — навчитися розбивати pdf на окремі файли по темам:
res.cloudinary.com/.../neurwbira4itim9wl9ow.png
res.cloudinary.com/.../sv1owdagi3gvojmclw1y.png